Browse Source

Merge branch 'master' into 2.0.0

Alec Nikolas Reiter 7 years ago
parent
commit
b1fd918776

+ 19 - 10
.travis.yml

@@ -1,19 +1,28 @@
 language: python
 sudo: false
 python:
-  - "2.7"
-  - "3.4"
-  - "3.5"
-  - "3.6"
-# command to install dependencies
+- '2.7'
+- '3.4'
+- '3.5'
+- '3.6'
 install:
-  - "pip install -r requirements-travis.txt"
+- pip install -r requirements-travis.txt
 script:
-  - flaskbb translations compile
-  - tox
+- flaskbb translations compile
+- tox
 after_success:
-  - coverage combine tests
-  - coveralls
+- coverage combine tests
+- coveralls
 notifications:
   webhooks: https://www.travisbuddy.com/
   on_success: never
+deploy:
+  provider: pypi
+  user: sh4nks
+  password:
+    secure: l5aa7UjggBWYD4+EXTrgKVDB+0WcinC/DKJmAwfIGF54BtzuRz5dPyc3VLdZb2OKxbtK9vBSgDLghqsWh4jXS0KSuUmEzS7LgCU6XBocIoAC8VdqgLLLEEDWJNtib5R+pk8imXbGk9lD2O7fS8b6/2/pDM1yKRpzU76SOyICpyo=
+  distributions: sdist bdist_wheel
+  on:
+    tags: true
+    branch: master
+    repo: flaskbb/flaskbb

+ 5 - 5
Makefile

@@ -8,7 +8,7 @@ help:
 	@echo "  lint       check the source for style errors"
 	@echo "  isort      sort the python imports"
 	@echo "  run        run the development server with the development config"
-	@echo "  wheel      creates a wheel package of flaskbb"
+	@echo "  dist       creates distribution packages (bdist_wheel, sdist)"
 	@echo "  upload     uploads a new version of FlaskBB to PyPI"
 	@echo "  docs       build the documentation"
 
@@ -50,8 +50,8 @@ isort:check-isort
 check-isort:
 	@type isort >/dev/null 2>&1 || echo "isort is not installed. You can install it with 'pip install isort'."
 
-wheel:
-	python setup.py bdist_wheel
+dist:
+	python setup.py sdist bdist_wheel
 
-upload:wheel
-	twine upload dist/*
+upload:dist
+	twine upload --skip-existing dist/*

+ 1 - 1
README.md

@@ -1,6 +1,6 @@
 # FlaskBB
 
-[![Build Status](https://travis-ci.org/sh4nks/flaskbb.svg?branch=master)](https://travis-ci.org/sh4nks/flaskbb)
+[![Build Status](https://travis-ci.org/flaskbb/flaskbb.svg?branch=master)](https://travis-ci.org/flaskbb/flaskbb)
 [![Coverage Status](https://coveralls.io/repos/sh4nks/flaskbb/badge.png)](https://coveralls.io/r/sh4nks/flaskbb)
 [![Code Health](https://landscape.io/github/sh4nks/flaskbb/master/landscape.svg?style=flat)](https://landscape.io/github/sh4nks/flaskbb/master)
 [![License](https://img.shields.io/badge/license-BSD-blue.svg)](https://flaskbb.org)

+ 0 - 3
flaskbb/app.py

@@ -370,9 +370,6 @@ def configure_logging(app):
 
 
 def configure_default_logging(app):
-    # TODO: Remove this once Flask 0.13 is released
-    app.config["LOGGER_NAME"] = "flask.app"
-
     # Load default logging config
     logging.config.dictConfig(app.config["LOG_DEFAULT_CONF"])
 

+ 31 - 2
flaskbb/forum/models.py

@@ -520,21 +520,27 @@ class Topic(HideableCRUDMixin, db.Model):
 
         # The tracker is disabled - abort
         if read_cutoff is None:
+            logger.debug("Readtracker is disabled.")
             return False
 
         # Else the topic is still below the read_cutoff
         elif read_cutoff > self.last_post.date_created:
+            logger.debug("Topic is below the read_cutoff (too old).")
             return False
 
         # Can be None (cleared) if the user has never marked the forum as read.
         # If this condition is false - we need to update the tracker
         if forumsread and forumsread.cleared is not None and \
                 forumsread.cleared >= self.last_post.date_created:
+            logger.debug("User has marked the forum as read. No new posts "
+                         "since then.")
             return False
 
         if topicsread and topicsread.last_read >= self.last_post.date_created:
+            logger.debug("The last post in this topic has already been read.")
             return False
 
+        logger.debug("Topic is unread.")
         return True
 
     def update_read(self, user, forum, forumsread):
@@ -566,6 +572,8 @@ class Topic(HideableCRUDMixin, db.Model):
         # A new post has been submitted that the user hasn't read.
         # Updating...
         if topicsread:
+            logger.debug("Updating existing TopicsRead '{}' object."
+                         .format(topicsread))
             topicsread.last_read = time_utcnow()
             topicsread.save()
             updated = True
@@ -573,6 +581,7 @@ class Topic(HideableCRUDMixin, db.Model):
         # The user has not visited the topic before. Inserting him in
         # the TopicsRead model.
         elif not topicsread:
+            logger.debug("Creating new TopicsRead object.")
             topicsread = TopicsRead()
             topicsread.user = user
             topicsread.topic = self
@@ -955,24 +964,32 @@ class Forum(db.Model, CRUDMixin):
             filter(Topic.forum_id == self.id,
                    Topic.last_updated > read_cutoff,
                    db.or_(TopicsRead.last_read == None,  # noqa: E711
-                          TopicsRead.last_read < Topic.last_updated)).\
+                          TopicsRead.last_read < Topic.last_updated),
+                   db.or_(ForumsRead.last_read == None,  # noqa: E711
+                          ForumsRead.last_read < Topic.last_updated)).\
             count()
 
         # No unread topics available - trying to mark the forum as read
         if unread_count == 0:
+            logger.debug("No unread topics. Trying to mark the forum as read.")
 
             if forumsread and forumsread.last_read > topicsread.last_read:
+                logger.debug("forumsread.last_read is newer than "
+                             "topicsread.last_read. Everything is read.")
                 return False
 
             # ForumRead Entry exists - Updating it because a new topic/post
             # has been submitted and has read everything (obviously, else the
             # unread_count would be useless).
             elif forumsread:
+                logger.debug("Updating existing ForumsRead '{}' object."
+                             .format(forumsread))
                 forumsread.last_read = time_utcnow()
                 forumsread.save()
                 return True
 
             # No ForumRead Entry existing - creating one.
+            logger.debug("Creating new ForumsRead object.")
             forumsread = ForumsRead()
             forumsread.user = user
             forumsread.forum = self
@@ -982,6 +999,8 @@ class Forum(db.Model, CRUDMixin):
 
         # Nothing updated, because there are still more than 0 unread
         # topicsread
+        logger.debug("No ForumsRead object updated - there are still {} "
+                     "unread topics.".format(unread_count))
         return False
 
     def recalculate(self, last_post=False):
@@ -1094,19 +1113,29 @@ class Forum(db.Model, CRUDMixin):
         :param per_page: How many topics per page should be shown
         """
         if user.is_authenticated:
+            # Now thats intersting - if i don't do the add_entity(Post)
+            # the n+1 still exists when trying to access 'topic.last_post'
+            # but without it it will fire another query.
+            # This way I don't have to use the last_post object when I
+            # iterate over the result set.
             topics = Topic.query.filter_by(forum_id=forum_id).\
                 outerjoin(TopicsRead,
                           db.and_(TopicsRead.topic_id == Topic.id,
                                   TopicsRead.user_id == user.id)).\
+                outerjoin(Post, Topic.last_post_id == Post.id).\
+                add_entity(Post).\
                 add_entity(TopicsRead).\
                 order_by(Topic.important.desc(), Topic.last_updated.desc()).\
                 paginate(page, per_page, True)
         else:
             topics = Topic.query.filter_by(forum_id=forum_id).\
+                outerjoin(Post, Topic.last_post_id == Post.id).\
+                add_entity(Post).\
                 order_by(Topic.important.desc(), Topic.last_updated.desc()).\
                 paginate(page, per_page, True)
 
-            topics.items = [(topic, None) for topic in topics.items]
+            topics.items = [(topic, last_post, None)
+                            for topic, last_post, in topics.items]
 
         return topics
 

+ 20 - 9
flaskbb/forum/views.py

@@ -570,15 +570,26 @@ class TopicTracker(MethodView):
 
     def get(self):
         page = request.args.get('page', 1, type=int)
-        topics = real(current_user).tracked_topics.outerjoin(
-            TopicsRead,
-            db.and_(
-                TopicsRead.topic_id == Topic.id,
-                TopicsRead.user_id == real(current_user).id
-            )
-        ).add_entity(TopicsRead).order_by(Topic.last_updated.desc()).paginate(
-            page, flaskbb_config['TOPICS_PER_PAGE'], True
-        )
+        topics = real(current_user).tracked_topics.\
+            outerjoin(
+                TopicsRead,
+                db.and_(
+                    TopicsRead.topic_id == Topic.id,
+                    TopicsRead.user_id == real(current_user).id
+                )).\
+            outerjoin(Post, Topic.last_post_id == Post.id).\
+            outerjoin(Forum, Topic.forum_id == Forum.id).\
+            outerjoin(
+                ForumsRead,
+                db.and_(
+                    ForumsRead.forum_id == Forum.id,
+                    ForumsRead.user_id == real(current_user).id
+                )).\
+            add_entity(Post).\
+            add_entity(TopicsRead).\
+            add_entity(ForumsRead).\
+            order_by(Topic.last_updated.desc()).\
+            paginate(page, flaskbb_config['TOPICS_PER_PAGE'], True)
 
         return render_template('forum/topictracker.html', topics=topics)
 

+ 1 - 1
flaskbb/management/forms.py

@@ -81,7 +81,7 @@ class UserForm(FlaskForm):
         Optional(), URL()])
 
     signature = TextAreaField(_("Forum signature"), validators=[
-        Optional(), Length(min=0, max=250)])
+        Optional()])
 
     notes = TextAreaField(_("Notes"), validators=[
         Optional(), Length(min=0, max=5000)])

+ 5 - 5
flaskbb/templates/forum/edit_forum.html

@@ -35,7 +35,7 @@
                     <div class="col-md-1 col-sm-1 col-xs-2 topic-select-all"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
                 </div>
 
-                {% for topic, topicread in topics.items %}
+                {% for topic, last_post, topicread in topics.items %}
                 <div class="row forum-row hover clearfix">
 
                     <div class="col-md-4 col-sm-4 col-xs-6 topic-info">
@@ -85,14 +85,14 @@
                     </div>
 
                     <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
+                        <a href="{{ last_post.url }}">{{ last_post.date_created|time_since }}</a><br />
 
                         <div class="topic-author">
                             {% trans %}by{% endtrans %}
-                            {% if topic.last_post.user_id %}
-                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
+                            {% if last_post.user_id %}
+                            <a href="{{ last_post.user.url }}">{{ last_post.user.username }}</a>
                             {% else %}
-                            {{ topic.last_post.username }}
+                            {{ last_post.username }}
                             {% endif %}
                         </div>
                     </div>

+ 5 - 5
flaskbb/templates/forum/forum.html

@@ -52,7 +52,7 @@
                 <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
             </div>
 
-            {% for topic, topicread in topics.items %}
+            {% for topic, last_post, topicread in topics.items %}
             <div class="row forum-row hover clearfix">
 
                 <div class="col-md-5 col-sm-5 col-xs-8 topic-info">
@@ -109,14 +109,14 @@
                 </div>
 
                 <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                    <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
+                    <a href="{{ last_post.url }}">{{ last_post.date_created|time_since }}</a><br />
 
                     <div class="topic-author">
                         {% trans %}by{% endtrans %}
-                        {% if topic.last_post.user_id %}
-                        <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
+                        {% if last_post.user_id %}
+                        <a href="{{ last_post.user.url }}">{{ last_post.user.username }}</a>
                         {% else %}
-                        {{ topic.last_post.username }}
+                        {{ last_post.username }}
                         {% endif %}
                     </div>
                 </div>

+ 5 - 5
flaskbb/templates/forum/topictracker.html

@@ -35,7 +35,7 @@
                     <div class="col-md-1 col-sm-1 col-xs-2 topic-select-all"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
                 </div>
 
-                {% for topic, topicread in topics.items %}
+                {% for topic, last_post, topicread, forumsread in topics.items %}
                 <div class="row forum-row hover clearfix">
 
                     <div class="col-md-4 col-sm-4 col-xs-6 topic-info">
@@ -85,14 +85,14 @@
                     </div>
 
                     <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
+                        <a href="{{ last_post.url }}">{{ last_post.date_created|time_since }}</a><br />
 
                         <div class="topic-author">
                             {% trans %}by{% endtrans %}
-                            {% if topic.last_post.user_id %}
-                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
+                            {% if last_post.user_id %}
+                            <a href="{{ last_post.user.url }}">{{ last_post.user.username }}</a>
                             {% else %}
-                            {{ topic.last_post.username }}
+                            {{ last_post.username }}
                             {% endif %}
                         </div>
                     </div>

+ 420 - 547
flaskbb/translations/da/LC_MESSAGES/messages.po

@@ -1,5 +1,5 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
@@ -9,322 +9,333 @@ msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: Danish (http://www.transifex.com/flaskbb/flaskbb/language/da/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: da\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr ""
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr ""
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Du kan kun bruge bogstaver, numre eller bindestreger."
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Kodeord"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr ""
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr ""
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Log ind"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Brugernavn"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr ""
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "Kodeordene skal være ens."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr ""
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "Jeg accepterer Vilkår for Brug"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr ""
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Registrer"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr ""
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr ""
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr ""
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr ""
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Genopfrisk login"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Bestil kodeord"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr ""
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr ""
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
 msgstr ""
 
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr ""
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Tak for din registrering."
 
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
+#: flaskbb/auth/views.py:49
+msgid "Logged out"
 msgstr ""
 
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
+#: flaskbb/auth/views.py:107
+msgid "Reauthenticated."
+msgstr "Genautentificeret."
+
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
 msgstr ""
 
-#: flaskbb/auth/views.py:82
-msgid "Logged out"
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/views.py:104
+#: flaskbb/auth/views.py:196
 msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
+"You have entered an username or email address that is not linked with your "
+"account."
 msgstr ""
 
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
 msgstr ""
 
-#: flaskbb/auth/views.py:131
-msgid "Reauthenticated."
-msgstr "Genautentificeret."
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
+#: flaskbb/auth/views.py:248
+msgid "Your password has been updated."
 msgstr ""
 
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
+#: flaskbb/auth/views.py:277
+msgid "A new account activation token has been sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Tak for din registrering."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
 msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/services/authentication.py:70
 msgid ""
-"You have entered an username or email address that is not linked with your "
-"account."
+"Your account is currently locked out due to too many failed login attempts"
 msgstr ""
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
 msgstr ""
 
-#: flaskbb/auth/views.py:230
-msgid "Your password has been updated."
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
 msgstr ""
 
-#: flaskbb/auth/views.py:250
-msgid "A new account activation token has been sent to your email address."
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
 msgstr ""
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
 msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
 msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
 msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "Du kan ikke sende et svar uden indhold."
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "Svar"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "Indhold"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "Preview"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr ""
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr ""
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Indlægstitel"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Årsag"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr ""
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Søg"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Kriterie"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Indlæg"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -332,7 +343,7 @@ msgstr "Indlæg"
 msgid "Topic"
 msgstr "Emne"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -345,7 +356,7 @@ msgstr "Emne"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -358,8 +369,7 @@ msgstr "Emne"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -367,542 +377,550 @@ msgstr "Emne"
 msgid "Forum"
 msgstr "Forum"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Brugere"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr ""
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr ""
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr ""
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr ""
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr ""
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "Du har ikke rettigheder til at flytte dette emne."
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Tak for din besked."
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr ""
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "Forummet %(forum)s er markeret som læst."
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "Alle forummer markeret som læst."
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "Fødselsdag"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Køn"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Hankøn"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Hunkøn"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Placering"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "Hjemmeside"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Profilbillede"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr ""
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Noter"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr ""
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr ""
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr ""
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Gem"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr ""
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr ""
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Beskrivelse"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "Med dette valg får gruppen rettighed til administrationspanelet."
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr ""
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Kan redigere indlæg"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Kan slette indlæg"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Kan slette emner"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Kan oprette indlæg"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Kan skrive svar"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr ""
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Moderatorer kan ændre brugerprofiler"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr ""
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Moderatorer kan udelukke brugere"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Tillad moderatorer at udelukke andre brugere."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr ""
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr ""
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr ""
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr ""
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr ""
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr ""
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Position"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr ""
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Kategori"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "Kategorien der indeholder dette forum."
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr ""
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Et link til en hjemmeside eks. \"http://flaskbb.org\"."
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Moderatorer"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr ""
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "Låst?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr ""
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr ""
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr ""
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr ""
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr ""
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr ""
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr ""
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr ""
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr ""
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr ""
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr ""
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr ""
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr ""
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr ""
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr ""
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr ""
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr ""
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr ""
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr ""
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr ""
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr ""
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr ""
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr ""
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr ""
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr ""
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr ""
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr ""
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr ""
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -910,175 +928,89 @@ msgstr ""
 msgid "Add Forum"
 msgstr ""
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr ""
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr ""
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr ""
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr ""
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr ""
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr ""
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
+msgid "Plugin %(plugin)s is already disabled."
 msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr ""
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
 msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr ""
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr ""
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr ""
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr ""
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr ""
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr ""
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr ""
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr ""
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr ""
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr ""
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr ""
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr ""
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr ""
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr ""
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr ""
@@ -1099,35 +1031,23 @@ msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr ""
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr ""
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr ""
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr ""
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr ""
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1139,17 +1059,17 @@ msgstr ""
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr ""
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr ""
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Nulstil kodeord"
 
@@ -1178,7 +1098,7 @@ msgstr ""
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
+msgid "Dear %(username)s,"
 msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
@@ -1257,11 +1177,11 @@ msgstr ""
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr ""
 
@@ -1274,18 +1194,16 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr ""
 
@@ -1314,7 +1232,7 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr ""
 
@@ -1357,9 +1275,9 @@ msgid "Trivialize"
 msgstr ""
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr ""
 
@@ -1445,14 +1363,14 @@ msgstr ""
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr ""
 
@@ -1486,16 +1404,17 @@ msgid "Close"
 msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr ""
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr ""
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr ""
 
@@ -1505,7 +1424,7 @@ msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr ""
 
@@ -1524,11 +1443,12 @@ msgid "%(title)s - Topic"
 msgstr ""
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1581,7 +1501,7 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr ""
 
@@ -1589,20 +1509,20 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr ""
 
@@ -1615,7 +1535,6 @@ msgstr ""
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr ""
 
@@ -1648,8 +1567,7 @@ msgstr ""
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr ""
 
@@ -1662,99 +1580,96 @@ msgid "Delete selected Groups"
 msgstr ""
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr ""
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr ""
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr ""
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr ""
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr ""
@@ -1771,23 +1686,23 @@ msgstr ""
 msgid "Manage"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr ""
 
@@ -1819,48 +1734,14 @@ msgstr ""
 msgid "No reports."
 msgstr ""
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr ""
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr ""
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr ""
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr ""
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr ""
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr ""
@@ -1870,22 +1751,18 @@ msgid "The user has not opened any topics yet."
 msgstr ""
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr ""
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr ""
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr ""
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr ""
 
@@ -1893,11 +1770,11 @@ msgstr ""
 msgid "Info"
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr ""
 
@@ -1905,86 +1782,82 @@ msgstr ""
 msgid "Never seen"
 msgstr ""
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr ""
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr ""
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr ""
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr ""
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr ""
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "Forumsignatur"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr ""
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr ""
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr ""
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr ""

+ 428 - 555
flaskbb/translations/de/LC_MESSAGES/messages.po

@@ -1,330 +1,341 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
-# Peter Justin <peter@peterjustin.me>, 2015
+# Peter Justin, 2015
 # Toshiki Wulf <webmedia@toshiki.de>, 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: German (http://www.transifex.com/flaskbb/flaskbb/language/de/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: de\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr ""
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "Konto aktivieren"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Es sind nur Buchstaben, Zahlen und Unterstriche erlaubt."
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "Benutzername oder E-Mail-Adresse"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "Bitte Benutzernamen oder E-Mail-Adresse eingeben."
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Passwort"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "Bitte Passwort eingeben."
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "Eingeloggt bleiben"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Einloggen"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Benutzername"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "Bitte einen gültigen Benutzernamen angeben"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "E-Mail-Adresse"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "Bitte gültige E-Mail-Adresse eingeben"
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "E-Mail-Adresse ungültig"
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "Passwörter müssen übereinstimmen."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "Passwort bestätigen"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "Sprache"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "Ich aktzeptiere die Nutzungsbediengungen."
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr "Bitte Nutzungsbedingungen akzeptieren"
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Registrieren"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "Der Benutzername muss zwischen %(min)s und %(max)s Zeichen lang sein."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr ""
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "Dieser Benutzername ist bereits vergeben."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "Diese E-Mail-Adresse ist bereits einem anderen Benutzer zugeordnet."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Login erneuern"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Passwort anfordern"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "Passwort zurücksetzen"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr ""
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "Bitte einen gültigen Benutzernamen angeben"
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "Bestätigungs-E-Mail senden"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "Benutzer existiert nicht"
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr ""
 
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "Benutzer bereits aktiv"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Vielen Dank für's registrieren!"
 
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "Bestätigungscode"
+#: flaskbb/auth/views.py:49
+msgid "Logged out"
+msgstr ""
 
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "Bitte den per E-Mail versendeten Bestätigungscode eingeben."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "E-Mail-Adresse bestätigen"
+#: flaskbb/auth/views.py:107
+msgid "Reauthenticated."
+msgstr "Neuangemeldet"
 
-#: flaskbb/auth/views.py:82
-msgid "Logged out"
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
+
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/views.py:104
+#: flaskbb/auth/views.py:196
 msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
-msgstr "Das Benutzerkonto muss zuerst mit Hilfe des per E-Mail versendeten Links bestätigt werden."
+"You have entered an username or email address that is not linked with your "
+"account."
+msgstr ""
 
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
 msgstr ""
 
-#: flaskbb/auth/views.py:131
-msgid "Reauthenticated."
-msgstr "Neuangemeldet"
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
+#: flaskbb/auth/views.py:248
+msgid "Your password has been updated."
 msgstr ""
 
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
+#: flaskbb/auth/views.py:277
+msgid "A new account activation token has been sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Vielen Dank für's registrieren!"
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
 msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
 msgid ""
-"You have entered an username or email address that is not linked with your "
-"account."
+"Your account is currently locked out due to too many failed login attempts"
 msgstr ""
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
+msgstr "Das Benutzerkonto muss zuerst mit Hilfe des per E-Mail versendeten Links bestätigt werden."
+
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
 msgstr ""
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
 msgstr ""
 
-#: flaskbb/auth/views.py:230
-msgid "Your password has been updated."
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
 msgstr ""
 
-#: flaskbb/auth/views.py:250
-msgid "A new account activation token has been sent to your email address."
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
 msgstr ""
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
 msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
 msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
 msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "Du kannst keine Nachricht ohne Inhalt senden."
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "Antwort"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "Inhalt"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "Vorschau"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr ""
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr ""
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Thema abschicken"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Grund"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr ""
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Suche"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Kriterien"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Beitrag"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -332,7 +343,7 @@ msgstr "Beitrag"
 msgid "Topic"
 msgstr "Thema"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -345,7 +356,7 @@ msgstr "Thema"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -358,8 +369,7 @@ msgstr "Thema"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -367,542 +377,550 @@ msgstr "Thema"
 msgid "Forum"
 msgstr "Forum"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Benutzer"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr ""
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr ""
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr ""
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr ""
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr ""
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "Du hast nicht die Berechtigung um dieses Thema zu verschieben"
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Danke für's melden."
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr ""
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "Forum %(forum)s wurde als gelesen markiert."
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "Alle Foren wurden als gelesen markiert."
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "Geburtstag"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Geschlecht"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Männlich"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Weiblich"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Ort"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "Website"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Profilbild"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr ""
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Notizen"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr ""
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr ""
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr ""
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Speichern"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "Dieser Benutzername ist bereits vergeben."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "Diese E-Mail-Adresse ist bereits einem anderen Benutzer zugeordnet."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr ""
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr ""
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Beschreibung"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "Mit dieser Option haben alle Benutzer dieser Gruppe zugriff auf das Administrator Panel"
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr ""
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Kann Beiträge bearbeiten"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Kann Beiträge löschen"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Kann Themen löschen"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Kann Themen erstellen"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Kann Themen beantworten"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr ""
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Moderatoren können Benutzer bearbeiten"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr ""
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Moderatoren können Benutzer verbannen"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Erlaube Moderatoren das verbannen von Benutzern."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr ""
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr ""
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr ""
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr ""
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr ""
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr ""
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Position"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr ""
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Kategorie"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "Die Kategorie die das Forum beinhaltet."
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr ""
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Ein Link zu einer Website wie z.B. 'http://flaskbb.org'."
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Moderatoren"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr ""
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "Geschlossen?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "Deaktivieren neue Beiträge und Themen in diesem Forum."
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr ""
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr ""
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "Du musst auch einige Moderatoren spezifizieren."
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "%(user)s ist nicht in einer Moderatoren Gruppe."
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr ""
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr ""
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr ""
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "Einstellungen gespeichert."
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "Benutzer bearbeiten"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr ""
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr ""
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "Benutzer hinzufügen"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr ""
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "Du hast nicht die Berechtigung um diesen Benutzer zu verbannen."
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "Entbannen"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "Ein Moderator kann nicht einen Administrator verbannen."
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "Benutzer wurde gebannt."
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "Konnte den Benutzer nicht bannen, sorry."
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "Du hast nicht die Berechtigung um diesen Benutzer zu entbannen."
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "Bannen"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "Benutzer wurde entbannt."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "Konnte den Benutzer nicht entbannen, sorry."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "Gruppe hinzufügen"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr ""
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "Gruppe bearbeiten"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr ""
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr ""
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr ""
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr ""
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "Forum bearbeiten"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr ""
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -910,175 +928,89 @@ msgstr ""
 msgid "Add Forum"
 msgstr "Forum hinzufügen"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr ""
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "Kategorie hinzufügen"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr ""
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "Kategorie bearbeiten"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr ""
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr "Kategorie wurde mit allen zugehörigen Foren gelöscht."
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "Meldung %(id)s wurde bereits als gelesen markiert."
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "Meldung %(id)s wurde als gelesen markiert."
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "Alle Meldungen wurden als gelesen markiert."
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr ""
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "Plugin %(plugin)s wurde nicht gefunden."
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "Plugin deinstalliert."
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
 msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "Plugin installiert."
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr ""
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr ""
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "Betreff"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "Ein Betreff ist erforderlich."
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "Nachricht"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr ""
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "Du kannst keine Nachricht an dich selber schreiben."
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "Nachricht senden"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr ""
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "Neue Nachricht"
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "Nachricht gespeichert."
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "Nachricht gesendet"
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "Du kannst keine Nachricht bearbeiten die bereits gesendet wurde."
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "Nachricht bearbeiten"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr ""
@@ -1099,35 +1031,23 @@ msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "Benutzerliste"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "Eingang"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "Neue Nachricht"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "Thema Tracker"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "Einstellungen"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1139,17 +1059,17 @@ msgstr "Einstellungen"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "Verwaltung"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "Ausloggen"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Passwort zurücksetzen"
 
@@ -1178,8 +1098,8 @@ msgstr ""
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "Lieber %(user)s,"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1257,11 +1177,11 @@ msgstr ""
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "Themen"
 
@@ -1274,18 +1194,16 @@ msgstr "Themen"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "Beiträge"
 
@@ -1314,7 +1232,7 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "von"
 
@@ -1357,9 +1275,9 @@ msgid "Trivialize"
 msgstr ""
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "Löschen"
 
@@ -1445,14 +1363,14 @@ msgstr "Gäste aktiv"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "Registriert seit"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "Gruppe"
 
@@ -1486,16 +1404,17 @@ msgid "Close"
 msgstr "Schließen"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "Beigetreten"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "Nachricht"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "Gast"
 
@@ -1505,7 +1424,7 @@ msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "Es wurde kein Benutzer gefunden."
 
@@ -1524,11 +1443,12 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - Thema"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1581,7 +1501,7 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "Verbannte Benutzer"
 
@@ -1589,20 +1509,20 @@ msgstr "Verbannte Benutzer"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "Benutzer verwalten"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr ""
 
@@ -1615,7 +1535,6 @@ msgstr "Foren verwalten"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "Foren"
 
@@ -1648,8 +1567,7 @@ msgstr "Gruppen verwalten"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "Gruppen"
 
@@ -1662,99 +1580,96 @@ msgid "Delete selected Groups"
 msgstr ""
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "Übersicht"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "Plugins"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "Meldungen"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "Meldungen"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr ""
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "Plugins"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr ""
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr "Plugins verwalten"
@@ -1771,23 +1686,23 @@ msgstr "Information"
 msgid "Manage"
 msgstr "Verwalten"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "Version"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "Aktivieren"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "Deaktivieren"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "Installieren"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "Deinstallieren"
 
@@ -1819,48 +1734,14 @@ msgstr ""
 msgid "No reports."
 msgstr "Keine Meldungen."
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr ""
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr ""
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr ""
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "Entwurf"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "Private Nachricht"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "Gesendet"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "Papierkorb"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "Gesendete Nachrichten"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr ""
@@ -1870,22 +1751,18 @@ msgid "The user has not opened any topics yet."
 msgstr ""
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "E-Mail Adresse ändern"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "Passwort ändern"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "Benuzer Details ändern"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "Allgemeine Einstellungen"
 
@@ -1893,11 +1770,11 @@ msgstr "Allgemeine Einstellungen"
 msgid "Info"
 msgstr "Info"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "Benutzer hat keine Notizen über ihn hinzugefügt."
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr ""
 
@@ -1905,86 +1782,82 @@ msgstr ""
 msgid "Never seen"
 msgstr "Noch nie gesehe"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "Konto Einstellunge"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "Thema"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr ""
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr ""
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr ""
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "Forum Signatur"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "Einstellungen aktualisiert."
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "Passwort aktualisiert."
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr ""
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr ""

+ 437 - 565
flaskbb/translations/es/LC_MESSAGES/messages.po

@@ -1,330 +1,341 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
-# Daniel Morales <dmorales@dmoral.es>, 2017
+# Daniel Morales <inactive+GrenderG@transifex.com>, 2017
 # Ernesto Avilés Vázquez <whippiii@gmail.com>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-12 19:32-0400\n"
-"PO-Revision-Date: 2017-10-13 12:57+0000\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
 "Last-Translator: Peter Justin\n"
 "Language-Team: Spanish (http://www.transifex.com/flaskbb/flaskbb/language/es/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: es\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr "Confirmación de recuperación de la contraseña"
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "Activación de la cuenta"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Solo puedes usar letras, números o guiones."
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "Usuario o dirección de correo electrónico"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "Por favor introduce tu usuario o dirección de correo electrónico."
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Contraseña"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "Por favor introduce tu contraseña."
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "Recuérdame"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Iniciar sesión"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Nombre de usuario"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "Se necesita un nombre de usuario válido"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "Dirección de correo electrónico"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "Se necesita una dirección de correo electrónico válida"
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "Dirección de correo electrónico inválida."
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "Las contraseñas deben coincidir."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "Confirmar contraseña"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "Idioma"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "Acepto los términos del servicio"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr "Por favor acepta los términos del servicio"
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Registrar"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "El nombre de usuario debe tener entre %(min)s y %(max)s caracteres."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr "Este nombre está reservado para el sistema. Elige otro distinto."
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "Este nombre de usuario ya está en uso."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "Esta dirección de correo electrónico ya está en uso."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Actualizar inicio de sesión"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Solicitar contraseña"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "Reestablecer contraseña"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr "Dirección de correo electrónico inválida."
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "Se necesita un nombre de usuario válido."
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "Enviar correo de confirmación"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "El usuario no existe."
-
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "El usuario ya está activo."
-
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "Token de confirmación de correo electrónico"
-
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "Por favor introduce el token que te acabamos de enviar."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr "Un correo electrónico de activación de cuenta ha sido enviado a %(email)s"
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "Confirmar correo electrónico"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Gracias por registrarte."
 
-#: flaskbb/auth/views.py:82
+#: flaskbb/auth/views.py:49
 msgid "Logged out"
 msgstr "Desconectado"
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
-msgstr "Para usar tu cuenta necesitas activarla a través del enlace que te hemos enviado a tu dirección de correo electrónico."
-
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
-msgstr "Nombre de usuario o contraseña inválidos."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/views.py:131
+#: flaskbb/auth/views.py:107
 msgid "Reauthenticated."
 msgstr "Volver a autenticarse."
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
-msgstr "Contraseña inválida."
-
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
-msgstr "Un correo electrónico de activación de cuenta ha sido enviado a %(email)s"
-
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Gracias por registrarte."
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
-msgstr "Correo electrónico enviado! Por favor comprueba tu bandeja de entrada."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/views.py:196
 msgid ""
 "You have entered an username or email address that is not linked with your "
 "account."
 msgstr "Has introducido un nombre de usuario o dirección de correo electrónico que no están vinculados con tu cuenta."
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
-msgstr "El token de tu contraseña es inválido."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
+msgstr "Correo electrónico enviado! Por favor comprueba tu bandeja de entrada."
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
-msgstr "El token de tu contraseña ha caducado."
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:230
+#: flaskbb/auth/views.py:248
 msgid "Your password has been updated."
 msgstr "Tu contraseña ha sido actualizada."
 
-#: flaskbb/auth/views.py:250
+#: flaskbb/auth/views.py:277
 msgid "A new account activation token has been sent to your email address."
 msgstr "Un token de activacion de nueva cuenta ha sido enviado a tu dirección de correo electrónico."
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
-msgstr "El token de activación de tu cuenta es inválido."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
+
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
+msgstr "Para usar tu cuenta necesitas activarla a través del enlace que te hemos enviado a tu dirección de correo electrónico."
+
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
+msgstr "Nombre de usuario o contraseña inválidos."
+
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
+msgstr ""
+
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
+msgstr "Contraseña inválida."
+
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
+msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
-msgstr "El token de activación de tu cuenta ha caducado."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
-msgstr "Tu cuenta ha sido activada."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
+
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr "Respuesta rápida"
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "No puedes publicar una respuesta sin contenido."
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "Respuesta"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "Contenido"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr "Seguir este tema"
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "Vista previa"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr "Título del tema"
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr "Por favor elije un título para el tema."
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Publicar tema"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Razón"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr "¿Cuál es la razón por la que reportas esta publicación?"
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr "Reportar tema"
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Buscar"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Criterio"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Publicar"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -332,7 +343,7 @@ msgstr "Publicar"
 msgid "Topic"
 msgstr "Tema"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -345,7 +356,7 @@ msgstr "Tema"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -358,8 +369,7 @@ msgstr "Tema"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -367,543 +377,550 @@ msgstr "Tema"
 msgid "Forum"
 msgstr "Foro"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Usuarios"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr "No se puede publicar la respuesta"
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr "Para llevar a cabo esta acción necesitas seleccionar al menos un tema."
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr "%(count)s temas bloqueados."
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr "%(count)s temas desbloqueados."
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr "%(count)s temas destacados."
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr "%(count)s temas trivializados."
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr "%(count)s temas eliminados."
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr "Por favor elige un nuevo foro para los temas."
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "No tienes permisos para mover este tema."
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:327
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr "%(count)s temas ocultados."
 
-#: flaskbb/forum/views.py:334
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr "%(count)s temas mostrados de nuevo."
 
-#: flaskbb/forum/views.py:338
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr "Solicitada acción desconocida"
 
-#: flaskbb/forum/views.py:434
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Gracias por hacer el reporte."
 
-#: flaskbb/forum/views.py:515
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr "%(topic_count)s temas se han dejado de seguir."
 
-#: flaskbb/forum/views.py:635
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "Foro %(forum)s marcado como leído."
 
-#: flaskbb/forum/views.py:656
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "Todos los foros marcados como leídos."
 
-#: flaskbb/forum/views.py:697
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr "No tienes los permisos para ocultar este tema"
 
-#: flaskbb/forum/views.py:713
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr "No tienes los permisos para volver a mostrar este tema"
 
-#: flaskbb/forum/views.py:727
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr "No tienes los permisos para ocultar esta publicación"
 
-#: flaskbb/forum/views.py:731
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr "La publicación ya está oculta"
 
-#: flaskbb/forum/views.py:740
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr "Tema ocultado"
 
-#: flaskbb/forum/views.py:742
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr "Publicación ocultada"
 
-#: flaskbb/forum/views.py:756
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr "No tienes los permisos para volver a mostrar esta publicación"
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr "La publicación ya se está mostrando"
 
-#: flaskbb/forum/views.py:765
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr "Publicación mostrada de nuvo"
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "Cumpleaños"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Sexo"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Masculino"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Femenino"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Ubicación"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "Sitio web"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Avatar"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr "Firma"
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Notas"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr "¿Está activo?"
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr "Grupo primario"
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr "Grupos secundarios"
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Guardar"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "Este nombre de usuario ya está en uso."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "Esta dirección de correo electrónico ya está en uso."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr "Nombre del grupo"
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr "Por favor introduce un nombre para el grupo."
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Descripción"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr "¿Es un grupo de tipo 'Administrador'?"
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "Con esta opción el grupo tiene acceso al panel de administración."
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr "¿Es un grupo de tipo 'Super Moderador'?"
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr "Comprueba si los usuarios en este grupo tienen permiso para moderar todos los foros."
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr "¿Es un grupo con 'Moderador'?"
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr "Comprueba si los usuarios de este grupo tienen permiso para moderar foros específicos."
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr "¿Es un grupo tipo 'Inhabilitado'?"
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr "Solo se permite un grupo de tipo 'Inhabilitado'."
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr "¿Es un grupo de tipo 'Invitado'?"
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr "Solo se permite un grupo de tipo 'Invitado'."
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Puede editar publicaciones"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr "Comprueba si los usuarios en este grupo pueden editar publicaciones."
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Puede borrar publicaciones"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr "Comprueba si los usuarios en este grupo pueden borrar publicaciones."
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Puede borrar temas"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr "Comprueba si los usuarios en este grupo pueden borrar temas."
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Puede crear temas"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr "Comprueba si los usuarios en este grupo pueden crear temas."
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Puede publicar respuestas"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr "Comprueba si los usuarios en este grupo pueden publicar respuestas."
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Los moderadores pueden editar perfiles de usuario"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr "Permite a los moderadores editar los perfiles de otros usuarios incluyendo contraseñas y cambios de correos electrónicos."
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Los moderadores pueden banear usuarios"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Permite a los moderadores banear a otros usuarios."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr "Puede ver publicaciones y temas ocultos"
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr "Permite al usuario ver publicaciones y temas ocultos"
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr "Puede ocultar publicaciones y temas"
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr "Permite al usuario ocultar publicaciones y temas"
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr "Este nombre de grupo ya existe."
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr "Ya existe un grupo de tipo 'Inhabilitado'."
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr "Ya existe un grupo de tipo 'Invitado'."
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr "Título del foro"
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr "Por favor introduce un título para el foro"
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr "Puedes formatear tu descripción con Markdown."
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Posición"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr "Por favor introduce una posición en el foro."
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Categoría"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "La categoría que contiene este foro"
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr "Enlace externo"
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Un enlace a un sitio e.j.: \"http://flaskbb.org\""
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Moderadores"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr "Nombres de usuarios separados por coma. Déjalo en blanco si no quieres establecer algún moderador."
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr "Mostrar moderadores."
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr "¿Quieres mostrar los moderadores en la página principal?"
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "¿Bloqueado?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "Inhabilitar nuevas publicaciones y temas en este foro."
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr "Acceso de grupo"
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr "Selecciona los grupos que pueden acceder al foro."
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr "No puedes convertir un foro que contiene temas en un enlace externo."
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "También necesitas especificar algunos moderadores."
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "%(user)s no está en el grupo de moderadores."
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr "Título de la categoría."
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr "Por favor, seleccione un título de categoría."
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr "Por favor introduce una posición para la categoría."
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "Ajustes guardados."
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "Editar usuario"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr "Usuario actualizado."
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr "No puedes borrarte a ti mismo."
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr "Usuario eliminado."
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "Añadir usuario"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr "Usuario añadido."
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "No tienes permisos para inhabilitar a este usuario."
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "Habilitar"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "Un moderador no puede inhabilitar a un administrador."
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "El usuario ha sido inhabilitado."
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "No se puede inhabilitar al usuario."
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "No tienes los permisos para habilitar a este usuario."
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "Inhabilitar"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "El usuario ha sido habilitado."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "No se puede habilitar al usuario."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "Añadir grupo"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr "Grupo añadido."
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "Editar grupo"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr "Grupo actualizado."
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr "No puedes borrar uno de los grupos por defecto."
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr "No puedes borrar grupos por defecto. Prueba a renombrarlo."
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr "Grupo eliminado."
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr "Ningún grupo elegido."
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "Editar foro"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr "Foro actualizado."
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -911,175 +928,89 @@ msgstr "Foro actualizado."
 msgid "Add Forum"
 msgstr "Añadir foro"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr "Foro añadido."
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr "Foro eliminado."
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "Añadir categoría"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr "Categoría añadida."
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "Editar categoría"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr "Categoría actualizada."
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr "Categoría borrada junto con todos los foros asociados"
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "El reporte %(id)s ya está marcado como leído."
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "Reporte %(id)s marcado como leído."
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "Todos los reportes fueron marcados como leídos."
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr "Reporte eliminado."
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr "La extensión %(plugin)s ya está activa."
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr "Extensión %(plugin)s activada. Por favor reinicia FlaskBB ahora."
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr "Parece que FlaskBB no tiene suficientes permisos. Prueba a eliminar el archivo 'DISABLED' por ti mismo."
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "El complemento %(plugin)s no existe."
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr "Extensión %(plugin)s desactivada. Por favor reinicia FlaskBB ahora."
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr "Parece que FlaskBB no tiene suficientes permisos. Prueba a crear el archivo 'DISABLED' por ti mismo."
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "El complemento ha sido desinstalado."
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
-msgstr "No se puede desinstalar la extensión."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
+msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "La extensión ha sido instalada."
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr "No se puede instalar la extensión."
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr "Recipiente"
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "Asunto"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "Se requiere un asunto."
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "Mensaje"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr "Se requiere un mensaje."
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr "Empezar conversación"
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr "Guardar conversación"
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr "El nombre de usuario que has introducido no existe."
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "No te puedes enviar un MP a ti mismo"
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "Enviar mensaje"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr "Ya no puedes enviar más mensajes porque has alcanzado el límite."
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "Componer mensaje."
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "Mensaje guardado."
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "Mensaje enviado."
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "No puedes editar un mensaje enviado."
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "Editar mensaje"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr "¿Estás seguro?"
@@ -1100,35 +1031,23 @@ msgstr "Sí"
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "Lista de miembros"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "Bandeja de entrada"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "Nuevo mensaje"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "Seguidor de tema"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "Ajustes"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1140,17 +1059,17 @@ msgstr "Ajustes"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "Administración"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "Cerrar sesión"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Restablecer  contraseña"
 
@@ -1179,8 +1098,8 @@ msgstr "Solicitar activación de cuenta"
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "Estimado %(user)s,"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1258,11 +1177,11 @@ msgstr "Para prevenir ataques de fuerza bruta en las cuentas hemos limitado el n
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "Temas"
 
@@ -1275,18 +1194,16 @@ msgstr "Temas"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "Publicaciones"
 
@@ -1315,7 +1232,7 @@ msgstr "Enlace a"
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "por"
 
@@ -1358,9 +1275,9 @@ msgid "Trivialize"
 msgstr "Trivializar"
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "Borrar"
 
@@ -1446,14 +1363,14 @@ msgstr "Invitados conectados"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "Fecha de registro"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "Grupo"
 
@@ -1487,16 +1404,17 @@ msgid "Close"
 msgstr "Cerrar"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "Unido"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "Mensaje"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "Invitado"
 
@@ -1506,7 +1424,7 @@ msgstr "No se encontraron publicaciones que coincidan con el criterio de búsque
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "No se encontraron usuarios que coincidan con el criterio de búsqueda."
 
@@ -1525,11 +1443,12 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - Tema"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr "Este tema está oculto (%(when)s por %(who)s)"
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr "Esta publicación está oculta (%(when)s por %(who)s)"
@@ -1582,7 +1501,7 @@ msgstr "Dejar de seguir tema"
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "Usuarios baneados"
 
@@ -1590,20 +1509,20 @@ msgstr "Usuarios baneados"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "Administrar usuarios"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr "Acciones"
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr "Habilitar usuarios seleccionados"
 
@@ -1616,7 +1535,6 @@ msgstr "Administrar foros"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "Foros"
 
@@ -1649,8 +1567,7 @@ msgstr "Administrar grupos"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "Grupos"
 
@@ -1663,99 +1580,96 @@ msgid "Delete selected Groups"
 msgstr "Eliminar grupos seleccionados"
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "Editar"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr "No se encontraron grupos."
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "Reseña"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "Complementos"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "Reportes"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr "Hay un problema."
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr "Celery <strong>no</strong> está funcionando."
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr "Puedes activar celery con este comando:"
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr "Hay algo que requiere tu atención."
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr "Tienes <a href=\"%(url)s\">%(unread_reports)s reportes sin leer</a>."
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr "Todo parece correcto."
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr "No hay notificaciones nuevas."
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr "usuarios"
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr "publicaciones"
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr "temas"
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr "Estadísticas"
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr "Usuarios registrados"
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr "Usuarios conectados"
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr "Usuarios inhabilitados"
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "Reportes"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr "Componentes"
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "Complementos"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr "Hay un problema."
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr "Celery <strong>no</strong> está funcionando."
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr "Puedes activar celery con este comando:"
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr "Administrar complementos"
@@ -1772,23 +1686,23 @@ msgstr "Información"
 msgid "Manage"
 msgstr "Administrar"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "Versión"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "Habilitar"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "Inhabilitar"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "Instalar"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "Desinstalar"
 
@@ -1820,48 +1734,14 @@ msgstr "Eliminar reportes seleccionados"
 msgid "No reports."
 msgstr "Sin reportes."
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr "Inhabilitar usuarios seleccionados"
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr "Eliminar usuarios seleccionados"
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr "Eliminado"
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr "Conversaciones"
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr "No se encontraron conversaciones."
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "Borradores"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "Mensaje privado"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "Enviados"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "Papelera"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "Mensajes enviados"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr "El usuario todavía no ha escrito ninguna publicación."
@@ -1871,22 +1751,18 @@ msgid "The user has not opened any topics yet."
 msgstr "El usuario todavía no ha abierto ningún tema."
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "Cambiar dirección electrónica"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "Cambiar contraseña"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "Cambiar detalles del usuario"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "Ajustes generales"
 
@@ -1894,11 +1770,11 @@ msgstr "Ajustes generales"
 msgid "Info"
 msgstr "Información"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "El usuario no ha añadido ninguna nota suya."
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr "Firma"
 
@@ -1906,86 +1782,82 @@ msgstr "Firma"
 msgid "Never seen"
 msgstr "Nunca visto"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "Ajustes de la cuenta"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "Apariencia"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr "Antigua dirección de correo electrónico"
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr "Nueva dirección de correo electrónico"
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr "Las direcciones de correo deben coincidir."
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr "Confirmar dirección de correo electrónico"
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr "Nueva contraseña"
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr "Las nuevas contraseñas deben coincidir."
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr "Confirmar nueva contraseña"
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr "La contraseña antigua no es válida."
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "Firma del foro"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "Ajustes actualizados."
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "Contraseña actualizada."
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr "Dirección de correo electrónico actualizada."
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr "Detalles de usuario actualizados."
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr "No tienes los permisos para ejecutar esta acción."
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr "No tienes los permisos para borrar estos temas."
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr "No tienes los permisos para ocultar estos temas."
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr "No tienes los permisos para mostrar esto temas."
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr "El registro ha sido deshabilitado."
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr "Esta cuenta ya ha sido activada."

+ 415 - 542
flaskbb/translations/fr/LC_MESSAGES/messages.po

@@ -1,5 +1,5 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
@@ -7,322 +7,333 @@ msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: French (http://www.transifex.com/flaskbb/flaskbb/language/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: fr\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr ""
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr ""
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr ""
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr ""
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr ""
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr ""
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr ""
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr ""
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr ""
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr ""
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr ""
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr ""
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr ""
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/templates/auth/reauth.html:10
+msgid "Refresh Login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
+#: flaskbb/auth/forms.py:115
+msgid "Request Password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
+#: flaskbb/auth/forms.py:139
+msgid "Reset password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
+msgid "A valid username is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
-#: flaskbb/templates/auth/reauth.html:10
-msgid "Refresh Login"
+#: flaskbb/auth/forms.py:159
+msgid "Send Confirmation Mail"
 msgstr ""
 
-#: flaskbb/auth/forms.py:121
-msgid "Request Password"
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
 msgstr ""
 
-#: flaskbb/auth/forms.py:137
-msgid "Reset password"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
 msgstr ""
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
+#: flaskbb/auth/views.py:49
+msgid "Logged out"
 msgstr ""
 
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
-msgid "A valid username is required."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:154
-msgid "Send Confirmation Mail"
+#: flaskbb/auth/views.py:107
+msgid "Reauthenticated."
 msgstr ""
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
 msgstr ""
 
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
+#: flaskbb/auth/views.py:196
+msgid ""
+"You have entered an username or email address that is not linked with your "
+"account."
 msgstr ""
 
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
 msgstr ""
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
 msgstr ""
 
-#: flaskbb/auth/views.py:82
-msgid "Logged out"
+#: flaskbb/auth/views.py:248
+msgid "Your password has been updated."
 msgstr ""
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
+#: flaskbb/auth/views.py:277
+msgid "A new account activation token has been sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/views.py:131
-msgid "Reauthenticated."
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
 msgstr ""
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
 msgstr ""
 
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
 msgstr ""
 
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
 msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:197
-msgid ""
-"You have entered an username or email address that is not linked with your "
-"account."
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
 msgstr ""
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
 msgstr ""
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
 msgstr ""
 
-#: flaskbb/auth/views.py:230
-msgid "Your password has been updated."
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
 msgstr ""
 
-#: flaskbb/auth/views.py:250
-msgid "A new account activation token has been sent to your email address."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
 msgstr ""
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
 msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
+
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
 msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
 msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr ""
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr ""
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr ""
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr ""
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr ""
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr ""
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr ""
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr ""
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr ""
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -330,7 +341,7 @@ msgstr ""
 msgid "Topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -343,7 +354,7 @@ msgstr ""
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -356,8 +367,7 @@ msgstr ""
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -365,542 +375,550 @@ msgstr ""
 msgid "Forum"
 msgstr ""
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr ""
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr ""
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr ""
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr ""
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr ""
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr ""
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr ""
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr ""
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr ""
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr ""
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr ""
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr ""
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr ""
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr ""
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr ""
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr ""
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr ""
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr ""
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr ""
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr ""
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr ""
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr ""
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr ""
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr ""
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr ""
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr ""
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr ""
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr ""
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr ""
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr ""
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr ""
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr ""
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr ""
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr ""
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr ""
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr ""
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr ""
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr ""
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr ""
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr ""
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr ""
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr ""
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr ""
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr ""
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr ""
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr ""
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr ""
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr ""
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr ""
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr ""
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr ""
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr ""
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr ""
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr ""
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr ""
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr ""
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr ""
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr ""
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr ""
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr ""
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr ""
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr ""
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr ""
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr ""
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr ""
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr ""
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr ""
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr ""
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr ""
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr ""
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr ""
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr ""
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr ""
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr ""
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr ""
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr ""
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr ""
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -908,175 +926,89 @@ msgstr ""
 msgid "Add Forum"
 msgstr ""
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr ""
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr ""
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr ""
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr ""
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr ""
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr ""
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
+msgid "Plugin %(plugin)s is already disabled."
 msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr ""
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
 msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr ""
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr ""
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr ""
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr ""
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr ""
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr ""
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr ""
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr ""
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr ""
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr ""
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr ""
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr ""
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr ""
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr ""
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr ""
@@ -1097,35 +1029,23 @@ msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr ""
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr ""
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr ""
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr ""
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr ""
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1137,17 +1057,17 @@ msgstr ""
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr ""
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr ""
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr ""
 
@@ -1176,7 +1096,7 @@ msgstr ""
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
+msgid "Dear %(username)s,"
 msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
@@ -1255,11 +1175,11 @@ msgstr ""
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr ""
 
@@ -1272,18 +1192,16 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr ""
 
@@ -1312,7 +1230,7 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr ""
 
@@ -1355,9 +1273,9 @@ msgid "Trivialize"
 msgstr ""
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr ""
 
@@ -1443,14 +1361,14 @@ msgstr ""
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr ""
 
@@ -1484,16 +1402,17 @@ msgid "Close"
 msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr ""
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr ""
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr ""
 
@@ -1503,7 +1422,7 @@ msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr ""
 
@@ -1522,11 +1441,12 @@ msgid "%(title)s - Topic"
 msgstr ""
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1579,7 +1499,7 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr ""
 
@@ -1587,20 +1507,20 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr ""
 
@@ -1613,7 +1533,6 @@ msgstr ""
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr ""
 
@@ -1646,8 +1565,7 @@ msgstr ""
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr ""
 
@@ -1660,99 +1578,96 @@ msgid "Delete selected Groups"
 msgstr ""
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr ""
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr ""
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr ""
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr ""
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr ""
@@ -1769,23 +1684,23 @@ msgstr ""
 msgid "Manage"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr ""
 
@@ -1817,48 +1732,14 @@ msgstr ""
 msgid "No reports."
 msgstr ""
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr ""
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr ""
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr ""
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr ""
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr ""
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr ""
@@ -1868,22 +1749,18 @@ msgid "The user has not opened any topics yet."
 msgstr ""
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr ""
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr ""
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr ""
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr ""
 
@@ -1891,11 +1768,11 @@ msgstr ""
 msgid "Info"
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr ""
 
@@ -1903,86 +1780,82 @@ msgstr ""
 msgid "Never seen"
 msgstr ""
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr ""
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr ""
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr ""
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr ""
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr ""
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr ""
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr ""
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr ""
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr ""
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr ""

+ 412 - 540
flaskbb/translations/messages.pot

@@ -1,326 +1,336 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
 #
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-12 19:32-0400\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr ""
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr ""
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr ""
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr ""
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr ""
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr ""
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr ""
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr ""
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115 flaskbb/auth/forms.py:127
-#: flaskbb/auth/forms.py:150 flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106 flaskbb/auth/forms.py:122
+#: flaskbb/auth/forms.py:152 flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116 flaskbb/auth/forms.py:128
-#: flaskbb/auth/forms.py:151 flaskbb/management/forms.py:56
-#: flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108 flaskbb/auth/forms.py:124
+#: flaskbb/auth/forms.py:154 flaskbb/management/forms.py:60
+#: flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr ""
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr ""
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr ""
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr ""
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr ""
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/templates/auth/reauth.html:10
+msgid "Refresh Login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
+#: flaskbb/auth/forms.py:115
+msgid "Request Password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
+#: flaskbb/auth/forms.py:139
+msgid "Reset password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
+msgid "A valid username is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
-#: flaskbb/templates/auth/reauth.html:10
-msgid "Refresh Login"
+#: flaskbb/auth/forms.py:159
+msgid "Send Confirmation Mail"
 msgstr ""
 
-#: flaskbb/auth/forms.py:121
-msgid "Request Password"
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
 msgstr ""
 
-#: flaskbb/auth/forms.py:137
-msgid "Reset password"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
 msgstr ""
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
+#: flaskbb/auth/views.py:49
+msgid "Logged out"
 msgstr ""
 
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
-msgid "A valid username is required."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:154
-msgid "Send Confirmation Mail"
+#: flaskbb/auth/views.py:107
+msgid "Reauthenticated."
 msgstr ""
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
 msgstr ""
 
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
+#: flaskbb/auth/views.py:196
+msgid ""
+"You have entered an username or email address that is not linked with "
+"your account."
 msgstr ""
 
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
 msgstr ""
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
 msgstr ""
 
-#: flaskbb/auth/views.py:82
-msgid "Logged out"
+#: flaskbb/auth/views.py:248
+msgid "Your password has been updated."
 msgstr ""
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
+#: flaskbb/auth/views.py:277
+msgid "A new account activation token has been sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/views.py:131
-msgid "Reauthenticated."
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
 msgstr ""
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
 msgstr ""
 
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
 msgstr ""
 
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
+#: flaskbb/auth/services/authentication.py:70
+msgid "Your account is currently locked out due to too many failed login attempts"
 msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:197
-msgid ""
-"You have entered an username or email address that is not linked with "
-"your account."
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
 msgstr ""
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
 msgstr ""
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
 msgstr ""
 
-#: flaskbb/auth/views.py:230
-msgid "Your password has been updated."
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
 msgstr ""
 
-#: flaskbb/auth/views.py:250
-msgid "A new account activation token has been sent to your email address."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
 msgstr ""
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
 msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
 msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
 msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr ""
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr ""
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr ""
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr ""
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr ""
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr ""
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr ""
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr ""
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr ""
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -328,7 +338,7 @@ msgstr ""
 msgid "Topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -341,7 +351,7 @@ msgstr ""
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -354,8 +364,7 @@ msgstr ""
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -363,543 +372,551 @@ msgstr ""
 msgid "Forum"
 msgstr ""
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr ""
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr ""
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr ""
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr ""
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr ""
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr ""
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:327
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:334
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:338
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:434
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr ""
 
-#: flaskbb/forum/views.py:515
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr ""
 
-#: flaskbb/forum/views.py:635
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr ""
 
-#: flaskbb/forum/views.py:656
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr ""
 
-#: flaskbb/forum/views.py:697
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:713
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:727
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:731
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:740
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:742
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:756
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:765
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr ""
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr ""
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr ""
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr ""
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr ""
 
-#: flaskbb/management/forms.py:73 flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77 flaskbb/templates/forum/search_result.html:48
+#: flaskbb/user/forms.py:96
 msgid "Website"
 msgstr ""
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr ""
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr ""
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr ""
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr ""
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr ""
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr ""
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr ""
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr ""
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr ""
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr ""
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr ""
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every "
 "forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr ""
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr ""
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr ""
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr ""
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr ""
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr ""
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and "
 "email changes."
 msgstr ""
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr ""
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr ""
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr ""
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr ""
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr ""
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr ""
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr ""
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr ""
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr ""
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr ""
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr ""
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr ""
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr ""
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr ""
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr ""
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr ""
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr ""
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr ""
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr ""
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr ""
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr ""
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr ""
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr ""
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr ""
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr ""
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr ""
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr ""
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr ""
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr ""
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr ""
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr ""
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr ""
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr ""
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr ""
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr ""
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr ""
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr ""
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr ""
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr ""
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr ""
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr ""
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr ""
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr ""
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -907,175 +924,89 @@ msgstr ""
 msgid "Add Forum"
 msgstr ""
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr ""
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr ""
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr ""
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr ""
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr ""
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr ""
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr ""
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
+msgid "Plugin %(plugin)s is already disabled."
 msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr ""
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
 msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr ""
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr ""
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr ""
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr ""
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr ""
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr ""
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr ""
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr ""
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your "
-"message limit."
-msgstr ""
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr ""
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr ""
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr ""
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr ""
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr ""
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr ""
@@ -1096,35 +1027,23 @@ msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr ""
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr ""
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr ""
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr ""
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr ""
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1136,17 +1055,17 @@ msgstr ""
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr ""
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr ""
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr ""
 
@@ -1175,7 +1094,7 @@ msgstr ""
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
+msgid "Dear %(username)s,"
 msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
@@ -1254,11 +1173,11 @@ msgstr ""
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr ""
 
@@ -1271,18 +1190,16 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr ""
 
@@ -1310,7 +1227,7 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr ""
 
@@ -1353,9 +1270,9 @@ msgid "Trivialize"
 msgstr ""
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr ""
 
@@ -1441,14 +1358,14 @@ msgstr ""
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr ""
 
@@ -1482,16 +1399,17 @@ msgid "Close"
 msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr ""
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr ""
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr ""
 
@@ -1501,7 +1419,7 @@ msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr ""
 
@@ -1520,11 +1438,12 @@ msgid "%(title)s - Topic"
 msgstr ""
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1577,7 +1496,7 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr ""
 
@@ -1585,20 +1504,20 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr ""
 
@@ -1611,7 +1530,6 @@ msgstr ""
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr ""
 
@@ -1644,8 +1562,7 @@ msgstr ""
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr ""
 
@@ -1658,99 +1575,96 @@ msgid "Delete selected Groups"
 msgstr ""
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr ""
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr ""
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr ""
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr ""
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr ""
@@ -1767,23 +1681,23 @@ msgstr ""
 msgid "Manage"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr ""
 
@@ -1815,48 +1729,14 @@ msgstr ""
 msgid "No reports."
 msgstr ""
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr ""
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr ""
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr ""
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr ""
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr ""
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr ""
@@ -1866,22 +1746,18 @@ msgid "The user has not opened any topics yet."
 msgstr ""
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr ""
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr ""
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr ""
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr ""
 
@@ -1889,11 +1765,11 @@ msgstr ""
 msgid "Info"
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr ""
 
@@ -1901,87 +1777,83 @@ msgstr ""
 msgid "Never seen"
 msgstr ""
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr ""
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr ""
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr ""
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr ""
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr ""
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr ""
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr ""
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr ""
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr ""
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr ""
 

+ 440 - 566
flaskbb/translations/pl/LC_MESSAGES/messages.po

@@ -1,331 +1,344 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
 # Xender <ixendr@itogi.re>, 2015
 # Krzysztof Rygwelski <mr.rygwelski@gmail.com>, 2017
 # levi <levi@unseen.is>, 2017
+# levi <levi@unseen.is>, 2017
+# Xender <ixendr@itogi.re>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-12 19:32-0400\n"
-"PO-Revision-Date: 2017-10-13 12:57+0000\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
 "Last-Translator: Peter Justin\n"
 "Language-Team: Polish (http://www.transifex.com/flaskbb/flaskbb/language/pl/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: pl\n"
 "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr "Potwierdzenie Odzyskania Hasła"
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "Aktywacja Konta"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Możesz używać tylko liter, cyfr lub znaku myślnika."
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "Nazwa użytkownika lub adres e-mail"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "Proszę podać Nazwę użytkownika lub adres e-mail."
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Hasło"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "Proszę podać hasło."
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "Zapamiętaj mnie"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Zaloguj"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Nazwa użytkownika"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "Wymagana jest poprawna Nazwa użytkownika"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "Adres e-mail"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "Wymagany jest poprawny adres e-mail."
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "Niepoprawny adres e-mail."
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "Hasła muszą być identyczne."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "Potwierdź hasło"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "Język"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "Akceptuję regulamin"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr "Proszę zaakceptować warunki korzystania z forum."
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Zarejestruj"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "Nazwa użytkownika musi mieć od %(min)s do %(max)s liczby znaków."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr "Ta nazwa użytkownika jest nazwą zarezerwowaną przez system. Proszę wybrać inną."
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "Ta nazwa użytkownika  jest już zajęta."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "Ten adres e-mail jest już zajęty."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Odśwież sesję"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Request Password"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "Zresetuj hasło"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr "Niepoprawny adres e-mail."
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "Wymagana jest poprawna Nazwa użytkownika."
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "Wyślij potwierdzający e-mail"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "Użytkownik nie istnieje."
-
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "Użytkownik jest już aktywny."
-
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "E-mail z Token potwierdzającym"
-
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "Proszę wpisać token który ci wysłaliśmy."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr "Na adres %(email)s wysłano e-mail z linkiem aktywacji konta"
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "Potwierdź adres e-mail"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Dziękujemy za rejestrację."
 
-#: flaskbb/auth/views.py:82
+#: flaskbb/auth/views.py:49
 msgid "Logged out"
 msgstr "Wylogowany"
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
-msgstr "Aby móc korzystać z konta, musisz je aktywować za pośrednictwem linku, który wysłaliśmy na Twój adres e-mail."
-
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
-msgstr "Niepoprawna nazwa użytkownika lub hasło."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/views.py:131
+#: flaskbb/auth/views.py:107
 msgid "Reauthenticated."
 msgstr "Ponowna weryfikacja."
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
-msgstr "Niepoprawne hasło."
-
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
-msgstr "Na adres %(email)s wysłano e-mail z linkiem aktywacji konta"
-
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Dziękujemy za rejestrację."
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
-msgstr "E-mail wysłany! Proszę, sprawdź skrzynkę odbiorczą."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/views.py:196
 msgid ""
 "You have entered an username or email address that is not linked with your "
 "account."
 msgstr "Wprowadziłeś nazwę użytkownika lub adres e-mail, który nie jest związany z Twoim kontem."
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
-msgstr "Twój token hasła jest nieprawidłowy."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
+msgstr "E-mail wysłany! Proszę, sprawdź skrzynkę odbiorczą."
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
-msgstr "Twój token hasła wygasł."
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:230
+#: flaskbb/auth/views.py:248
 msgid "Your password has been updated."
 msgstr "Twoje hasło zostało zaktualizowane."
 
-#: flaskbb/auth/views.py:250
+#: flaskbb/auth/views.py:277
 msgid "A new account activation token has been sent to your email address."
 msgstr "Na twój adres  %(email)s wysłano e-mail z linkiem aktywacji konta."
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
-msgstr "Twój token aktywacji konta jest nieprawidłowy."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
+
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
-msgstr "Twój token aktywacji konta wygasł."
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
-msgstr "Twoje konto zostało aktywowane."
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
+msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
+msgstr "Aby móc korzystać z konta, musisz je aktywować za pośrednictwem linku, który wysłaliśmy na Twój adres e-mail."
+
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
+msgstr "Niepoprawna nazwa użytkownika lub hasło."
+
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
+msgstr ""
+
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
+msgstr "Niepoprawne hasło."
+
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
+
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr "Szybka odpowiedź"
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "Nie możesz opublikować odpowiedzi bez treści."
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "Odpowiedz"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "Treść"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr "Śledź ten temat"
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "Podgląd"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr "Tytuł tematu"
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr "Proszę, podaj tytuł tematu."
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Tytuł Postu"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Powód"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr "Z jakiego powodu zgłaszasz ten post?"
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr "Zgłoś post"
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Szukaj"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Kryteria wyszukiwania"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Post"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -333,7 +346,7 @@ msgstr "Post"
 msgid "Topic"
 msgstr "Temat"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -346,7 +359,7 @@ msgstr "Temat"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -359,8 +372,7 @@ msgstr "Temat"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -368,543 +380,550 @@ msgstr "Temat"
 msgid "Forum"
 msgstr "Forum"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Użytkownicy/Użytkowników"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr "Nie można odpowiadać na posty"
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr "By móc to zrobić, musisz wybrać co najmniej jeden temat."
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr "%(count)s tematów zamkniętych."
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr "%(count)s tematów odblokowanych."
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr "%(count)s tematów wyróżnionych."
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr "%(count)s tematów bez odpowiedzi."
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr "%(count)s skasowanych tematów."
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr "Proszę wybrać nowe forum dla tematów."
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "Nie masz uprawnień, by przenieść ten temat."
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
-msgstr ""
+msgstr "Tematy przeniesione."
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
-msgstr ""
+msgstr "Nie udało się przenieść tematów."
 
-#: flaskbb/forum/views.py:327
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr "%(count)s tematów ukrytych."
 
-#: flaskbb/forum/views.py:334
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr "%(count)s tematów odkrytych."
 
-#: flaskbb/forum/views.py:338
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr "Zażądano nieznaną operację"
 
-#: flaskbb/forum/views.py:434
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Dziękujemy za zgłoszenie."
 
-#: flaskbb/forum/views.py:515
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr "%(topic_count)s tematów nie śledzonych."
 
-#: flaskbb/forum/views.py:635
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "Forum \"%(forum)s\" oznaczono jako przeczytany."
 
-#: flaskbb/forum/views.py:656
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "Wszystkie fora oznaczono jako przeczytane."
 
-#: flaskbb/forum/views.py:697
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr "Nie masz uprawnień, by ukryć ten temat"
 
-#: flaskbb/forum/views.py:713
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr "Nie masz uprawnień, by wyłączyć ukrycie tych tematów"
 
-#: flaskbb/forum/views.py:727
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr "Nie masz uprawnień, by ukryć ten wpis"
 
-#: flaskbb/forum/views.py:731
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr "Wpis jest już ukryty"
 
-#: flaskbb/forum/views.py:740
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr "Temat ukryty"
 
-#: flaskbb/forum/views.py:742
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr "Wpis ukryty"
 
-#: flaskbb/forum/views.py:756
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr "Nie masz uprawnień, by wyłączyć ukrycie tego wpisu"
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr "Ukrycie tego wpisu zostało już wyłączone"
 
-#: flaskbb/forum/views.py:765
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr "Ukrycie wpisu wyłączone"
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "Urodziny"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Płeć"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Mężczyzna"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Kobieta"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Lokalizacja"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "WWW"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Avatar"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr "Podpis"
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Notka"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr "Jest aktywny?"
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr "Główna grupa"
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr "Grupy pomocnicze"
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Zapisz"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "Ta nazwa użytkownika  jest już zajęta."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "Ten adres e-mail jest już zajęty."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr "Nazwa grupy"
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr "Proszę wpisać nazwę dla grupy."
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Opis"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr "Czy posiada uprawnienia administratorskie?"
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "Dostęp do panelu administracyjnego."
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr "Czy posiada uprawnienia super moderatora?"
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą moderować wszystkie fora."
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr "Czy posiada uprawnienia moderatora?"
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą moderować wybrane fora."
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr "Czy jest w grupie zbanowanych?"
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr "Może być tylko jedna grupa zbanowanych w systemie."
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr "Czy jest w grupie Gości?"
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr "Może być tylko jedna grupa Gości w systemie."
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Może edytować posty"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą edytować posty."
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Może usuwać posty"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą usuwać posty."
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Może usuwać tematy"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą usuwać tematy."
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Może zakładać tematy"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą zakładać nowe tematy.."
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Może odpowiadać na posty"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr "Zaznacz, jeżeli użytkownicy tej grupy mogą odpowiadać na posty."
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Moderatorzy mogą edytować profile użytkowników"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr "Zezwól moderatorom edytować konta użytkowników włącznie z adresem e-mail i hasłem."
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Moderatorzy mogą banować użytkowników"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Zezwól moderatorom na banowanie innych użytkowników."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr "Może zobaczyć ukryte wpisy i tematy"
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr "Pozwól użytkownikowi zobaczyć ukryte wpisy i tematy"
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr "Może ukrywać posty i tematy"
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr "Pozwala użytkownikowi ukryć posty i tematy"
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr "Ta nazwa grupy już istnieje."
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr "Grupa zbanowanych już istnieje."
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr "Grupa gości już istnieje."
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr "Nazwa forum"
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr "Proszę wpisać nazwę forum."
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr "Możesz sformatować swój opis używając Markdown."
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Pozycja"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr "Proszę podać pozycję dla forum."
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Kategoria"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "Kategoria zawierająca to forum."
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr "Link zewnętrzny"
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Link do strony WWW, np. 'http://flaskbb.org'."
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Moderatorzy"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr "Wpisz nazwy użytkowników oddzielone przecinkami. Zostaw to puste, jeśli nie chcesz ustawić żadnych moderatorów."
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr "Pokaż moderatorów"
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr "Chcesz pokazać moderatorów na stronie głównej?"
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "Zablokowane?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "Zablokuj zakłanie tematów i pisanie postów w tym forum."
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr "Dostęp grupy"
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr "Wybierz grupy które będą mogły mieć dostęp do tego forum."
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr "Nie możesz skonwertować forum które zawiera tematy jako link zewnętrzny."
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "Musisz także określić moderatorów."
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "%(user)s nie jest w grupie moderatorów."
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr "Tytuł kategorii"
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr "Proszę wpisać nazwę dla kategorii."
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr "Proszę wpisać pozycję dla kategorii."
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "Ustawienia zapisane."
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "Edytuj Użytkownika"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr "Użytkownik zaktualizowany."
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr "Nie możesz skasować sam siebie."
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr "Użytkownik skasowany."
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "Dodaj Użytkownika"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr "Użytkownik utworzony."
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "Nie masz uprawnień, by zbanować tego użytkownika."
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "Odbanuj"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "Moderator nie może zbanować administratora."
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "Użytkownik został zbanowany."
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "Nie można zbanować użytkownika."
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "Nie masz uprawnień, by odbanować tego użytkownika."
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "Zbanuj"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "Użytkownik odbanowany."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "Nie można odbanować użytkownika."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "Nowa grupa"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr "Grupa utworzona."
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "Edytuj grupe"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr "Grupa zaktualizowana."
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr "Nie możesz skasować jednej ze standardowych grup."
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr "Nie możesz skasować standardowych grup. Spróbuj najpierw zmienić ich nazwę."
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr "Grupa skasowana."
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr "Nie wybrano Grupy."
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "Edytuj forum"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr "Forum uaktualnione."
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -912,175 +931,89 @@ msgstr "Forum uaktualnione."
 msgid "Add Forum"
 msgstr "Dodaj Forum"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr "Forum utworzone."
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr "Forum skasowane."
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "Nowa kategoria"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr "Kategoria utworzona."
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "Edytuj kategorię"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr "Kategoria skasowana."
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr "Usunięto kategorię, wraz ze wszystkimi powiązanymi forami."
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "Zgłoszenie %(id)s już zostało oznaczone jako przeczytane."
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "Zgłoszenie %(id)s zostało oznaczone jako przeczytane."
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "Wszystkie zgłoszenia oznaczono jako przeczytane."
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr "Raport usunięty."
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr "Plugin %(plugin)s jest już uruchomiony."
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr "Plugin %(plugin)s uruchomiony. Proszę teraz zrestartować FlashBB."
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr "Wygląda na to, że FlaskBB nie ma wystarczających uprawnień systemu plików. Zamiast tego spróbuj samodzielnie usunąć 'NIEDZIAŁAJĄCY' plik."
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "Nie znaleziono %(plugin)s pluginu."
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr "Plugin%(plugin)s wyłączony. Proszę teraz zrestartować FlashBB."
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr "Wygląda na to, że FlaskBB nie ma wystarczających uprawnień systemu plików. Zamiast tego spróbuj samodzielnie stworzyć 'NIEDZIAŁAJĄCY' plik."
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "Plugin został odinstalowany."
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
-msgstr "Nie można odinstalować pluginu."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
+msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "Plugin został zainstalowany."
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr "Nie można zainstalować pluginu."
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr "Odbiorca"
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "Temat"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "Temat jest wymagany."
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "Wiadomość"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr "Wiadomość jest wymagana."
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr "Rozpocznij rozmowę"
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr "Zapisz rozmowę"
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr "Nie ma użytkownika o tej nazwie."
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "Nie możesz wysłać PW do samego siebie."
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "Wyślij"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr "Nie możesz wysłać już więcej wiadomości ponieważ osiągnąłeś limit."
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "Napisz wiadomość"
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "Wiadomość została zapisana."
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "Wiadomość wysłana."
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "Nie możesz edytować już wysłanej wiadomości."
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "Edytuj wiadomość"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr "Jesteś pewien?"
@@ -1101,35 +1034,23 @@ msgstr "Tak"
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "Ludzie"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "Inbox"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "Nowa wiadomość"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "Śledzone Tematy"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "Ustawienia"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1141,17 +1062,17 @@ msgstr "Ustawienia"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "Administracja"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "Wyloguj"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Zresetuj hasło"
 
@@ -1180,8 +1101,8 @@ msgstr "Prośba o Aktywacje Konta"
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "Drogi  %(user)s,"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1259,11 +1180,11 @@ msgstr "Aby uniknąć ataków siłowych na ataków na konta, ograniczyliśmy lic
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "Tematy"
 
@@ -1276,18 +1197,16 @@ msgstr "Tematy"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "Posty"
 
@@ -1316,7 +1235,7 @@ msgstr "Link do"
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "przez"
 
@@ -1359,9 +1278,9 @@ msgid "Trivialize"
 msgstr "Usuń wyróżnienie"
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "Usuń"
 
@@ -1447,14 +1366,14 @@ msgstr "Gości online"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "Data rejestraci"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "Grupa"
 
@@ -1488,16 +1407,17 @@ msgid "Close"
 msgstr "Zamknij"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "Dołączył"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "Wiadomość"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "Gość"
 
@@ -1507,7 +1427,7 @@ msgstr "Nie znaleziono postów spełniających kryteria wyszukiwania."
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "Nie znaleziono użytkowników spełniających kryteria wyszukiwania."
 
@@ -1526,11 +1446,12 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - Temat"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr "Ten temat został ukryty o (%(when)s przez %(who)s)"
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr "Ten temat został ukryty o (%(when)s przez %(who)s)"
@@ -1583,7 +1504,7 @@ msgstr "Przestań śledzić temat"
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "Zbanowani"
 
@@ -1591,20 +1512,20 @@ msgstr "Zbanowani"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "Zarządzaj użytkownikami"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr "Akcje"
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr "Cofnij ban dla zaznaczonego użytkownika"
 
@@ -1617,7 +1538,6 @@ msgstr "Zarządzaj Forami"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "Fora"
 
@@ -1650,8 +1570,7 @@ msgstr "Zarządzaj grupami"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "Grupy"
 
@@ -1664,99 +1583,96 @@ msgid "Delete selected Groups"
 msgstr "Skasuj zaznaczone Grupy"
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "Edytuj"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr "Nie znaleziono Grup."
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "Przegląd"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "Pluginy"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "Zgłoszenia"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr "Wystąpił problem."
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr "Celery is <strong>not</strong> running."
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr "Możesz uruchomić celery tym poleceniem:"
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr "Jest coś co wymaga twojej uwagi."
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr "Masz <a href=\"%(url)s\">%(unread_reports)s nieprzeczytanych raportów </a>."
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr "Wszystko wydaje się w porządku."
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr "Brak nowych powiadomień."
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr "użytkownicy"
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr "posty"
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr "tematy"
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr "Statystyki"
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr "Zarejestrowani użytkownicy"
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr "Użytkownicy Online"
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr "Zbanowani"
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "Zgłoszenia"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr "Komponenty"
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "Pluginy"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr "Wystąpił problem."
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr "Celery is <strong>not</strong> running."
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr "Możesz uruchomić celery tym poleceniem:"
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr "Zarządzanie pluginami"
@@ -1773,23 +1689,23 @@ msgstr "Informacje"
 msgid "Manage"
 msgstr "Zarządzaj"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "Wersja"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "Włącz"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "Wyłącz"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "Zainstaluj"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "Odinstaluj"
 
@@ -1821,48 +1737,14 @@ msgstr "Skasuj zaznaczone zgłoszenia"
 msgid "No reports."
 msgstr "Brak zgoszeń."
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr "Zbanuj zaznaczonego użytkownika"
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr "Skasuj zaznaczonego użytkownika"
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr "Usunięte"
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr "Rozmowy"
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr "Nie znaleziono Rozmów."
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "Projektowanie"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "Wiadomości prywatne"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "Wyślij"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "Kosz"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "Wiadomości wysłane"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr "Użytkownik nie napisał jeszcze żadnych postów."
@@ -1872,22 +1754,18 @@ msgid "The user has not opened any topics yet."
 msgstr "Użytkownik nie otworzył jeszcze żadnych tematów."
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "Zmień adres e-mail"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "Zmień hasło"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "Zmień dane profilu"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "Ustawienia ogólne"
 
@@ -1895,11 +1773,11 @@ msgstr "Ustawienia ogólne"
 msgid "Info"
 msgstr "Informacje"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "Użytkownik nie napisał nic o sobie."
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr "Podpis"
 
@@ -1907,86 +1785,82 @@ msgstr "Podpis"
 msgid "Never seen"
 msgstr "Nigdy nie widziany"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "Ustawienia konta"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "Wygląd"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr "Stary adres e-mail"
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr "Adres adres e-mail"
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr "Adresy e-mail muszą być identyczne."
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr "Potwierdź nowy adres e-mail"
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr "Nowe hasło"
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr "Nowe hasło musi być identyczne."
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr "Potwierdź nowe hasło"
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr "Stare hasło jest niepoprawne."
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "Podpis"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "Ustawienia zostały zmienione."
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "Hasło zostało zmienione."
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr "Zaktualizowano adres e-mail."
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr "Dane użytkownika zaktualizowane."
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr "Nie masz uprawnień, by wykonać tą czynność."
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr "Nie masz uprawnień, by usunąć te tematy."
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr "Nie masz uprawnień, by ukryć te tematy.."
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr "Nie masz uprawnień, by wyłączyć ukrycie tych tematów."
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr "Rejestracja została wyłączona."
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr "Konto zostało już aktywowane."

+ 439 - 565
flaskbb/translations/pt_BR/LC_MESSAGES/messages.po

@@ -1,330 +1,342 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
-#
+# 
 # Translators:
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2017
 # Gustavo Teixeira <gusmitex@gmail.com>, 2017
 # Vinícius Ferreira <vinidotnet@hotmail.com>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: Portuguese (Brazil) (http://www.transifex.com/flaskbb/flaskbb/language/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: pt_BR\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr "Confirmação de Recuperação de Senha"
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "Ativação de Conta"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Você pode usar apenas letras, números e traços."
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "Nome de usuário ou endereço de Email"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "Por faor digite seu nome de usuário ou endereço de email."
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Senha"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "Por favor digite sua senha."
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "Mantenha-me logado"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Login"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Nome de usuário"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "Um nome de usuário válido é necessário"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "Endereço de email"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "Um endereço de email válido é necessário."
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "Endereço de email inválido."
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "As senhas precisam ser iguais."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "Confirme sua senha"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "Linguagem"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "Eu aceito os Termos de Serviço"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr "Por favor, aceite os TDS"
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Registrar"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "Nome de usuário deve ter entre %(min)s e %(max)s caracteres."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr "Esse é um nome reservado pelo sistema. Escolha um diferente."
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "Esse nome de usuário já existe."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "Esse endereço de email já está sendo usado."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Atualizar login"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Requisitar Senha"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "Redefinir senha"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr "Endereço de email inválido."
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "Um nome de usuário válido é necessário."
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "Enviar email de confirmação"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "Usuário não existe."
-
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "Usuário já está ativo."
-
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "Email de token de confirmação"
-
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "Por favor digite o toke que nós enviamos a você."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr "Um email de confirmação de conta foi enviado para %(email)s"
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "Confirme o Email"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Obrigado por se registrar."
 
-#: flaskbb/auth/views.py:82
+#: flaskbb/auth/views.py:49
 msgid "Logged out"
 msgstr "Desconectado"
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
-msgstr "Para usar sua conta você deve ativá-la através do link que nós enviamos ao seu endereço de email."
-
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
-msgstr "Nome de usuário ou senha inválidos."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/views.py:131
+#: flaskbb/auth/views.py:107
 msgid "Reauthenticated."
 msgstr "Reautenticado"
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
-msgstr "Senha inválida."
-
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
-msgstr "Um email de confirmação de conta foi enviado para %(email)s"
-
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Obrigado por se registrar."
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
-msgstr "Email enviado! Por favor verifique sua caixa de mensagens."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/views.py:196
 msgid ""
 "You have entered an username or email address that is not linked with your "
 "account."
 msgstr "Você digitou um nome de usuário ou email que não está ligado à sua conta."
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
-msgstr "Seu token é inválido."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
+msgstr "Email enviado! Por favor verifique sua caixa de mensagens."
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
-msgstr "Seu token está vencido."
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:230
+#: flaskbb/auth/views.py:248
 msgid "Your password has been updated."
 msgstr "Sua senha foi atualizada."
 
-#: flaskbb/auth/views.py:250
+#: flaskbb/auth/views.py:277
 msgid "A new account activation token has been sent to your email address."
 msgstr "Um novo token de ativação de conta foi enviado ao seu endereço de email"
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
-msgstr "Seu token de ativação de conta é inválido."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
+
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
+msgstr "Para usar sua conta você deve ativá-la através do link que nós enviamos ao seu endereço de email."
+
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
+msgstr "Nome de usuário ou senha inválidos."
+
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
+msgstr ""
+
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
+msgstr "Senha inválida."
+
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
+msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
-msgstr "Seu token de ativação de conta está vencido."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
-msgstr "Sua conta foi ativada."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
+
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr "Resposta rápida"
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "Você não pode enviar uma resposta sem conteúdo."
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "Resposta"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "Conteúdo"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr "Acompanhar esse tópico"
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "Previsualização"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr "Título do tópico"
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr "Por favor escolha um título para seu tópico."
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Postar Tópico"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Razão"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr "Qual é a razão para você reportar essa postagem?"
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr "Reportar postagem"
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Buscar"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Critérios"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Postar"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -332,7 +344,7 @@ msgstr "Postar"
 msgid "Topic"
 msgstr "Tópico"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -345,7 +357,7 @@ msgstr "Tópico"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -358,8 +370,7 @@ msgstr "Tópico"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -367,542 +378,550 @@ msgstr "Tópico"
 msgid "Forum"
 msgstr "Fórum"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Usuários"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr "Para completar essa ação você deve selecionar ao menos um tópico"
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr "%(count)s tópicos trancados."
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr "%(count)s tópicos destrancados."
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr "%(count)s tópicos destacados."
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr "%(count)s tópicos trivializados."
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr "%(count)s tópicos apagados."
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr "Por favor escolha um novo fórum para os tópicos."
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "Você não tem permissões para mover esse tópico."
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Obrigado por reportar."
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr "%(topic_count)s tópicos não mais seguidos."
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "Forum %(forum)s marcado como lido."
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "Todos fórums marcados como lidos."
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "Data de nascimento"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Sexo"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Masculino"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Feminino"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Localização"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "Website"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Avatar"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr "Assinatura do fórum"
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Notas"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr "Está ativo?"
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr "Grupo primário"
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr "Grupos secundários"
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Salvar"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "Esse nome de usuário já existe."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "Esse endereço de email já está sendo usado."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr "Nome do grupo"
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr "Por favor digite o nome para o grupo."
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Descrição"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr "É um grupo 'Admin'?"
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "Com essa opção o grupo tem acesso ao painel de administração."
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr "É um grupo 'Super Moderador'?"
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr "Marque aqui se os usuários desse grupo tem permissão de moderar todo o fórum."
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr "É um grupo 'Moderador'?"
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr "Marque aqui se os usuários desse grupo tem permissão de moderar fórums específicos."
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr "É um grupo 'Banido'?"
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr "Apenas um grupo do tipo 'Banido' é permitido."
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr "É um grupo do 'Convidado'?"
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr "Apenas um grupo do tipo 'Convidado' é permitido."
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Pode editar postagens"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr "Marque aqui se usuários nesse grupo podem editar postagens."
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Pode apagar postagens"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr "Marque aqui se usuários nesse grupo podem apagar postagens."
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Pode apagar tópicos"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr "Marque aqui se usuários nesse grupo podem apagar tópicos."
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Pode criar tópicos"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr "Marque aqui se usuários nesse grupo podem criar tópicos."
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Pode postar respostas"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr "Marque aqui se usuários nesse grupo podem postar respostas."
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Moderadores podem editar perfis de usuário"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr "Permitir que moderadores possam editar o perfil de outros usuários incluindo alterações de senha e email."
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Moderadores podem banir usuários"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Permite que moderadores possam banir outros usuários."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr "Esse nome de grupo já existe."
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr "Já existe um grupo do tipo 'Banido'."
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr "Já existe um grupo do tipo 'Convidado'."
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr "Título do fórum"
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr "Por favor digite um título para o fórum"
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr "Você pode formatar sua descrição utilizando Markdown."
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Posição"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr ""
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Categoria"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "A categoria que contém esse fórum."
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr "Link externo"
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Um link para uma página web, ex: 'http://flaskbb.org'."
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Moderadores"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr "Nomes de usuário separados por vírgula. Deixe em branco se você não quiser configurar nenhum moderador."
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr "Exibir moderadores"
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr "Você quer exibir os moderadores na página principal?"
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "Trancado?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "Desabilitar novas postagens e tópicos neste fórum."
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr "Acesso de grupo"
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr "Selecione os grupos que podem acessar esse fórum."
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr "Você não pode converter um fórum que contém tópicos em um link externo."
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "Você também precisa especificar alguns moderadores."
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "%(user)s não está em um grupo de moderadores."
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr "Título da categoria"
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr "Por favor digite o título da categoria."
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr "Por favor entre com a posição para a categoria."
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "Configurações salvas."
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "Editar Usuário"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr "Usuário atualizado."
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr "Você não pode apagar a si mesmo."
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr "Usuário apagado."
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "Adicionar Usuário"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr "Usuário adicionado."
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "Você não tem as permissões para banir esse usuário."
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "Desbanir"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "Um moderador não pode banir um administrador."
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "Usuário está banido."
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "Não foi possível banir usuário."
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "Você não tem permissões para desbanir esse usuário."
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "Banir"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "Usuário está desbanido."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "Não foi possível desbanir usuário."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "Adicionar grupo"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr "Grupo adicionado."
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "Editar grupo"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr "Grupo atualizado."
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr "Você não pode apagar um dos grupos padrão"
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr "Você não pode apagar os grupos padrão. Você pode tentar renomeá-los."
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr "Grupo apagado."
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr "Nenhum grupo escolhido."
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "Editar Fórum"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr "Fórum atualizado."
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -910,175 +929,89 @@ msgstr "Fórum atualizado."
 msgid "Add Forum"
 msgstr "Adicionar Fórum"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr "Fórum adicionado."
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr "Fórum apagado."
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "Adicionar categoria"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr "Categoria adicionada."
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "Editar categoria"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr "Categoria atualizada."
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr "Categoria com todos fórums associados apagados."
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "O relato %(id)s já está marcado como lido."
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "Relato %(id)s marcado como lido."
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "Todos os relatos foram marcados como lidos."
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr "Relato removido."
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr "O plugin %(plugin)s já foi habilitado."
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr "Plugin %(plugin)s habilitado. Por favor reinicie o FlaskBB agora."
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr "Aparentemente o FlaskBB não tem permissões de sistema de arquivo suficientes. Tente remover o arquivo 'DESABILITADO' você mesmo."
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "Plugin %(plugin)s não encontrado."
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr "Plugin %(plugin)s desabilitado. Por favor reinicie o FlaskBB agora."
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr "Aparentemente o FlaskBB não tem permissões de sistema de arquivo suficientes. Tente criar o arquivo 'DESABILITADO' você mesmo."
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "O plugin foi desinstalado."
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
-msgstr "Não foi possível desinstalar o plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
+msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "O plugin foi instalado."
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr "Não foi possível instalar plugin."
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr "Destinatário"
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "Assunto"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "Um Assunto é necessário."
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "Mensagem"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr "Uma mensagem é necessária."
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr "Iniciar conversa"
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr "Salvar conversa"
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr "O nome de usuário que você digitou não existe."
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "Você não pode enviar uma PM para você mesmo."
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "Enviar mensagem"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr "Você não pode enviar quaisquer mensagens mais porque você atingiu o seu limite de mensagens."
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "Compor mensagem"
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "Mensagem salva."
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "Mensagem enviada."
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "Você não pode editar uma mensagem enviada."
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "Editar mensagem"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr "Tem certeza?"
@@ -1099,35 +1032,23 @@ msgstr "Sim"
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "Lista de membros"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "Caixa de entrada"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "Nova mensagem"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "Seguir tópico"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "Configurações"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1139,17 +1060,17 @@ msgstr "Configurações"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "Administração"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "Sair"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Redefinir senha"
 
@@ -1178,8 +1099,8 @@ msgstr "Requisitar ativação de conta"
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "Caro %(user)s,"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1257,11 +1178,11 @@ msgstr "De forma a prevenir ataques de força bruta nas contas, nós limitamos o
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "Tópicos"
 
@@ -1274,18 +1195,16 @@ msgstr "Tópicos"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "Postagens"
 
@@ -1314,7 +1233,7 @@ msgstr "Link para"
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "por"
 
@@ -1357,9 +1276,9 @@ msgid "Trivialize"
 msgstr "Trivializar"
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "Apagar"
 
@@ -1445,14 +1364,14 @@ msgstr "Convidados online"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "Data de registro"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "Grupo"
 
@@ -1486,16 +1405,17 @@ msgid "Close"
 msgstr "Fechar"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "Unido"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "Mensagem"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "Convidado"
 
@@ -1505,7 +1425,7 @@ msgstr "Nenhuma postagem encontrada usando seus critérios de busca."
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "Nenhum usuário encontrado usando seus critérios de busca."
 
@@ -1524,11 +1444,12 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - Tópico"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1581,7 +1502,7 @@ msgstr "Deixar de seguir Tópicos"
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "Usuário banidos"
 
@@ -1589,20 +1510,20 @@ msgstr "Usuário banidos"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "Administrar usuários"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr "Ações"
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr "Desbloquear usuários selecionados"
 
@@ -1615,7 +1536,6 @@ msgstr "Administar fórums"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "Fórums"
 
@@ -1648,8 +1568,7 @@ msgstr "Administrar grupos"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "Grupos"
 
@@ -1662,99 +1581,96 @@ msgid "Delete selected Groups"
 msgstr "Apagar grupos selecionados"
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "Editar"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr "Nenhum grupo encontrado."
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "Visão geral"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "Plugins"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "Relatos"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr "Ocorreu um problema."
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr "Celery <strong>não</strong> está rodando."
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr "Você pode iniciar o celery com este comando:"
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr "Existe algo querendo sua atenção."
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr "Você tem <a href=\"%(url)s\">%(unread_reports)s relatos não lidos </a>."
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr "Tudo parece bem."
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr "Nenhuma nova notificação."
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr "usuários"
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr "postagens"
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr "tópicos"
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr "Estatísticas"
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr "Usuários registrados"
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr "Usuários online"
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr "Usuários banidos"
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "Relatos"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr "Componentes"
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "Plugins"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr "Ocorreu um problema."
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr "Celery <strong>não</strong> está rodando."
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr "Você pode iniciar o celery com este comando:"
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr "Administrar plugins"
@@ -1771,23 +1687,23 @@ msgstr "Informação"
 msgid "Manage"
 msgstr "Administrar"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "Versão"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "Habilitar"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "Desabilitar"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "Instalar"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "Desinstalar"
 
@@ -1819,48 +1735,14 @@ msgstr "Apagar os relatos selecionados"
 msgid "No reports."
 msgstr "Nenhum relato."
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr "Banir usuários selecionados"
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr "Apagar usuários selecionados"
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr "Apagados"
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr "Conversas"
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr "Nenhuma conversa encontrada."
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "Rascunhos"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "Mensagem privada"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "Enviados"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "Lixeira"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "Mensagens enviadas"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr "O usuário não escreveu nenhuma postagem ainda."
@@ -1870,22 +1752,18 @@ msgid "The user has not opened any topics yet."
 msgstr "O usuário não abriu nenhum tópico ainda."
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "Alterar endereço de E-mail"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "Alterar password"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "Alterar detales de usuário"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "Configurações gerais"
 
@@ -1893,11 +1771,11 @@ msgstr "Configurações gerais"
 msgid "Info"
 msgstr "Info"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "O usuário não adicionou nenhuma nota sobre ele."
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr "Assinatura"
 
@@ -1905,86 +1783,82 @@ msgstr "Assinatura"
 msgid "Never seen"
 msgstr "Nunca visto"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "Configurações da conta"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "Tema"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr "Antigo endereço de email"
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr "Novo endereço de email"
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr "O endereço de email deve ser igual."
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr "Confirmar endereço de email"
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr "Nova senha"
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr "Novas senhas devem ser iguais."
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr "Confirmar nova senha"
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr "Antiga senha está errada."
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "Assinatura do fórum"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "Configurações atualizadas."
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "Senha atualizada."
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr "Endereço de email atualizado."
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr "Detalhes de usuário atualizados."
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr "Você não tem permissões para executar essa ação."
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr "O registro foi desativado."
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr "Essa conta já foi ativada."

+ 434 - 560
flaskbb/translations/ru/LC_MESSAGES/messages.po

@@ -1,329 +1,341 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
 # cs50 Курс, 2017
+# cs50 Курс, 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: Russian (http://www.transifex.com/flaskbb/flaskbb/language/ru/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: ru\n"
 "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr ""
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "Активация аккаунта"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Используйте только буквы, цифры или символ подчеркивания"
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "Имя или эл. почта"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "Пожалуйста, укажите имя пользователя или эл. почту."
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Пароль"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "Пожалуйста, введите ваш пароль."
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "Запомнить меня"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Вход"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Имя"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "Требуется корректное имя"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "Адрес эл. почты"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "Требуется корректный адрес эл. почты."
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "Неверный адрес эл. почты."
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "Пароли должны совпадать."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "Подтвердите пароль"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "Язык"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "Я принимаю условия сервиса"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr "Пожалуйста, примите условия сервиса."
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Регистрация"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "Количество символов в имени пользователя должно быть между %(min)s и %(max)s."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr "Это системное имя. Выберите другого."
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "Это имя пользователя уже занято."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "Этот адрес эл. почты уже занят."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Обновить вход"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Запрос пароля"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "Сброс пароля"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr "Неверный адрес эл. почты."
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "Требуется корректное имя."
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "Отправить письмо подтверждения"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "Такого пользователя не существует."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr "Письмо с активацией отправлено на %(email)s"
+
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Спасибо за регистрацию."
+
+#: flaskbb/auth/views.py:49
+msgid "Logged out"
+msgstr "Вышел"
 
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "Пользователь уже активен."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "Идентификатор подтверждения эл. почты"
+#: flaskbb/auth/views.py:107
+msgid "Reauthenticated."
+msgstr "Повторный вход выполнен."
 
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "Пожалуйста, введите высланный вам идентификатор."
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "Подтвердите эл. почту"
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:82
-msgid "Logged out"
-msgstr "Вышел"
+#: flaskbb/auth/views.py:196
+msgid ""
+"You have entered an username or email address that is not linked with your "
+"account."
+msgstr ""
+
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
+msgstr "Письмо отправлено. Проверьте свою почту."
+
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
+
+#: flaskbb/auth/views.py:248
+msgid "Your password has been updated."
+msgstr "Ваш пароль был обновлен."
+
+#: flaskbb/auth/views.py:277
+msgid "A new account activation token has been sent to your email address."
+msgstr ""
+
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:104
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:127
 msgid ""
 "In order to use your account you have to activate it through the link we "
 "have sent to your email address."
 msgstr "Чтобы использовать свою учетную запись, вам необходимо активировать ее по ссылке, которую мы отправили на ваш адрес электронной почты."
 
-#: flaskbb/auth/views.py:112
+#: flaskbb/auth/services/authentication.py:161
 msgid "Wrong username or password."
 msgstr "Неверное имя пользователя или пароль."
 
-#: flaskbb/auth/views.py:131
-msgid "Reauthenticated."
-msgstr "Повторный вход выполнен."
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
+msgstr ""
 
-#: flaskbb/auth/views.py:134
+#: flaskbb/auth/services/reauthentication.py:74
 msgid "Wrong password."
 msgstr "Неправильный пароль."
 
-#: flaskbb/auth/views.py:167
+#: flaskbb/auth/services/registration.py:50
 #, python-format
-msgid "An account activation email has been sent to %(email)s"
-msgstr "Письмо с активацией отправлено на %(email)s"
-
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Спасибо за регистрацию."
-
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
-msgstr "Письмо отправлено. Проверьте свою почту."
-
-#: flaskbb/auth/views.py:197
-msgid ""
-"You have entered an username or email address that is not linked with your "
-"account."
+msgid "Username must be between %(min)s and %(max)s characters long"
 msgstr ""
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
-msgstr "Неверный идентификатор пароля."
-
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
-msgstr "Идентификатор пароля истек."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
 
-#: flaskbb/auth/views.py:230
-msgid "Your password has been updated."
-msgstr "Ваш пароль был обновлен."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
 
-#: flaskbb/auth/views.py:250
-msgid "A new account activation token has been sent to your email address."
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
 msgstr ""
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
 msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
 msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
 msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr ""
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr ""
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr ""
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr ""
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr ""
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Опубликовать тему"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Причина"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr "Какая причина жалобы на эту тему?"
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr "Пожаловаться"
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Поиск"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Критерий"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Опубликовать"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -331,7 +343,7 @@ msgstr "Опубликовать"
 msgid "Topic"
 msgstr "Тема"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -344,7 +356,7 @@ msgstr "Тема"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -357,8 +369,7 @@ msgstr "Тема"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -366,542 +377,550 @@ msgstr "Тема"
 msgid "Forum"
 msgstr "Форум"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Пользователи"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr "%(count)sТем закрыто. "
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr "%(count)sТем открыто. "
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr "%(count)s Тем закреплено. "
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr "%(count)s Тем откреплено."
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr "%(count)s Тем удалено."
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr "Пожалуйста, выберите новый форум для создания темы."
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "У Вас нет прав перемещать эту тему."
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Спасибо за сообщение."
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr ""
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr ""
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr ""
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "День рождения"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Пол"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Мужской"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Женский"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Местоположение"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "Сайт"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Аватар"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr ""
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Заметки"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr ""
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr "Основная группа"
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr "Вторичная группа"
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Сохранить"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "Это имя пользователя уже занято."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "Этот адрес эл. почты уже занят."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr "Название группы"
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr "Пожалуйста, укажите название группы."
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Описание"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr "'Админская' группа?"
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr ""
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr "'Супер модераторская' группа?"
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr "'Модераторская' группа?"
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr ""
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr "Группа 'Забаненных'?"
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr "'Гостевая' группа?"
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr "Дозволяется только одна 'Гостевая' группа."
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Редактировать комментарии"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Удалять темы"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Удалять темы"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Создавать темы"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Может публиковать ответы"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr ""
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Модераторы могут редактировать профили пользователей"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr "Разрешить модераторам редактировать профиль другого пользователя, включая изменения пароля и электронной почты."
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Модераторы могут блокировать пользователей"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Позволить модераторам блокировать других пользователей."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr "Данное имя группы уже занято."
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr "Уже существует группа типа 'Заблокированные'."
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr "Уже существует группа типа 'Гость'."
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr "Заголовок форума"
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr "Введите заголовок форума."
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr "Вы можете отформатировать свое описание с помощью Markdown."
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Позиция"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr "Пожалуйста, укажите позицию форума."
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Категория"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "Категория, содержащая данный форум."
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr "Внешняя ссылка"
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Ссылка на вебсайт т.е. 'http://flaskbb.org'."
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Модераторы"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr "Показать модераторов"
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr ""
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "Заблокирован?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "Отключить новые комментарии и темы на этом форуме."
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr ""
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr ""
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr ""
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr "Заголовок категории"
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr "Пожалуйста, введите заголовок категории."
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr ""
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "Настройки сохранены."
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "Редактировать пользователя"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr "Пользователь обновлен."
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr "Вы не можете удалить себя."
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr "Пользователь удален."
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "Добавить пользователя."
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr "Пользователь добавлен."
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "У Вас нет прав заблокировать этого пользователя."
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "Разблокировать."
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "Модератор не может заблокировать администратора."
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "Пользователь заблокирован."
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "Не удалось заблокировать пользователя."
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr ""
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "Заблокировать"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "Пользователь разблокирован."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "Невозможно разблокировать пользователя."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "Добавить группу"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr "Группа добавлена."
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "Редактировать группу"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr "Группа обновлена."
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr "Вы не можете удалить одну из стандартных групп."
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr "Вы не можете удалить стандартную группу. Попробуйте вместо этого переименовать ее."
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr "Группа удалена."
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr "Группа не выбрана."
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "Редактировать форум"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr "Форум обновлен."
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -909,175 +928,89 @@ msgstr "Форум обновлен."
 msgid "Add Forum"
 msgstr "Добавить форум"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr "Форум добавлен."
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr "Форум удален."
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "Добавить категорию"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr "Категория добавлена."
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "Редактировать категорию"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr "Категория обновлена."
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "Жалоба %(id)s уже отмечена как прочитанная."
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "Жалоба %(id)s отмечена как прочитанная."
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "Все жалобы уже отмечены как прочитанные."
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr "Жалоба удалена."
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr ""
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "Расширение %(plugin)s не найдено."
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "Расширение удалено."
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
-msgstr "Не могу удалить расширение."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
+msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "Плагин установлен."
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr "Не могу установить плагин."
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr ""
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "Тема"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "Тема обязательна."
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "Сообщение"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr "Введите текст сообщения."
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr "Начать переписку"
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr "Сохранить переписку"
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr ""
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr ""
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "Отправить сообщение"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr ""
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr ""
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "Сообщение сохранено."
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "Сообщение отправлено."
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr ""
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "Редактировать сообщение"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr "Вы уверены?"
@@ -1098,35 +1031,23 @@ msgstr "Да"
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "Список пользователей"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "Входящие"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "Новое сообщение"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "Трекер Тем"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "Настройки"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1138,17 +1059,17 @@ msgstr "Настройки"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "Управление"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "Выход"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Сбросить пароль"
 
@@ -1177,8 +1098,8 @@ msgstr "Запросить активацию аккаунта"
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "Дорогой(-ая) %(user)s"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1256,11 +1177,11 @@ msgstr ""
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "Темы"
 
@@ -1273,18 +1194,16 @@ msgstr "Темы"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr ""
 
@@ -1313,7 +1232,7 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr ""
 
@@ -1356,9 +1275,9 @@ msgid "Trivialize"
 msgstr "Открепить"
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "Удалить"
 
@@ -1444,14 +1363,14 @@ msgstr "Гостей Онлайн"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "Дата регистрации"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "Группа"
 
@@ -1485,16 +1404,17 @@ msgid "Close"
 msgstr "Закрыть"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "Присоединившиеся"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "Сообщение"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "Гость"
 
@@ -1504,7 +1424,7 @@ msgstr "Не найдено комментариев в соответсвии 
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "Не найдено пользователей в соответствии с этим критерием."
 
@@ -1523,11 +1443,12 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - Тема"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1580,7 +1501,7 @@ msgstr "Не отслеживать темы"
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "Заблокированные пользователи"
 
@@ -1588,20 +1509,20 @@ msgstr "Заблокированные пользователи"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "Управлять пользователями"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr "Действия"
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr "Разблокировать пользователей"
 
@@ -1614,7 +1535,6 @@ msgstr "Редактировать форумы"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "Форумы"
 
@@ -1647,8 +1567,7 @@ msgstr "Редактировать группы"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "Группы"
 
@@ -1661,99 +1580,96 @@ msgid "Delete selected Groups"
 msgstr "Удалить выбранные группы"
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "Изменить"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr "Группы не найдены."
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "Обзор"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "Расширения"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "Жалобы"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr "пользователи"
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "Жалобы"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr ""
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "Расширения"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr ""
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr ""
@@ -1770,23 +1686,23 @@ msgstr "Информация"
 msgid "Manage"
 msgstr ""
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "Версия"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "Включить"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "Выключить"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "Установить"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "Удалить"
 
@@ -1818,48 +1734,14 @@ msgstr ""
 msgid "No reports."
 msgstr ""
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr "Заблокировать выбранных Пользователей"
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr "Удалить выбранных Пользователей"
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr "Удалено"
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr ""
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "Черновики"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr ""
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "Отправлено"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr ""
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "Отправленные сообщения"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr ""
@@ -1869,22 +1751,18 @@ msgid "The user has not opened any topics yet."
 msgstr ""
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "Изменить адрес эл. почты"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "Изменить Пароль"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr ""
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "Общие настройки"
 
@@ -1892,11 +1770,11 @@ msgstr "Общие настройки"
 msgid "Info"
 msgstr "Инфо"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr ""
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr "Подпись"
 
@@ -1904,86 +1782,82 @@ msgstr "Подпись"
 msgid "Never seen"
 msgstr ""
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "Настройки Аккаунта"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "Тема"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr "Прежний адрес эл. почты"
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr "Новый адрес эл. почты"
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr "Подтвердите эл. почту"
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr "Новый пароль"
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr "Новые пароли должны совпадать."
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr "Подтвердите новый пароль"
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr ""
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr ""
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr ""
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr ""
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr ""
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr "Регистрация отключена."
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr ""

+ 549 - 675
flaskbb/translations/sv_SE/LC_MESSAGES/messages.po

@@ -1,329 +1,341 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
 # Johan Smolinski <transifex.js@crypt.se>, 2017
+# Philip Andersen <renegadevi@codeofmagi.net>, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: Swedish (Sweden) (http://www.transifex.com/flaskbb/flaskbb/language/sv_SE/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: sv_SE\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr "Återställning av lösenord"
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "Kontoaktivering"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "Endast bokstäver, siffor och bindestreck är tillåtet."
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "Användarnamn eller e-postadress"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "Ange användarnamn eller e-postadress."
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "Lösenord"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "Ange ditt lösenord."
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "Stanna inloggad"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "Logga in"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "Captcha"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "Användarnamn"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "Ange ett giltigt användarnamn"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "E-postadress"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "Ange en giltig e-postadress."
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "Ogiltig e-postadress"
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
-msgstr "Ange samma lösenord två gånger."
+msgstr "Lösenorden måste matcha."
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "Bekräfta lösenord"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "Språk"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
-msgstr "Jag godkänner villkoren"
+msgstr "Jag accepterar användarvillkoren."
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
-msgstr "Du måste godkänna villkoren."
+msgstr "Du måste godkänna användarvillkoren."
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "Registrera"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "Användarnamnet ska vara mellan %(min)s och %(max)s tecken långt."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr "Användarnamnet är reserverat. Välj ett annat."
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "Användarnamnet är upptaget."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "E-postadressen används redan."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "Uppdatera inloggning"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "Begär lösenord"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "Återställ lösenord"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr "Fel e-postadress."
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "Ange ett giltigt användarnamn."
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "Skicka bekräftelsebrev"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "Användarnamnet finns inte."
-
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "Användarnamnet är redan aktiverat."
-
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "Bekräftelsekod"
-
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "Ange din bekräftelsekod du har fått ifrån oss."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr "Vi har skickat ett bekräftelsebrev till %(email)s."
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "Bekräfta"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "Tack för registreringen!"
 
-#: flaskbb/auth/views.py:82
+#: flaskbb/auth/views.py:49
 msgid "Logged out"
 msgstr "Utloggad"
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
-msgstr "Vänligen aktivera ditt konto genom den länk vi har skickat till din e-postadress."
-
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
-msgstr "Felaktigt användarnamn eller lösenord."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/views.py:131
+#: flaskbb/auth/views.py:107
 msgid "Reauthenticated."
 msgstr "Behörighet bekräftad."
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
-msgstr "Fel lösenord."
-
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
-msgstr "Vi har skickat ett bekräftelsebrev till %(email)s."
-
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "Tack för registreringen!"
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
-msgstr "Vi har skickat dig ett brev."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/views.py:196
 msgid ""
 "You have entered an username or email address that is not linked with your "
 "account."
 msgstr "Användarnamnet eller lösenordet tillhör inte ditt konto."
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
-msgstr "Din lösenordskod är ogiltig."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
+msgstr "Vi har skickat dig ett brev."
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
-msgstr "Din lösenordskod har upphört att gälla."
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:230
+#: flaskbb/auth/views.py:248
 msgid "Your password has been updated."
 msgstr "Ditt lösenord är uppdaterat."
 
-#: flaskbb/auth/views.py:250
+#: flaskbb/auth/views.py:277
 msgid "A new account activation token has been sent to your email address."
 msgstr "Vi har skickat dig en ny aktiveringskod till din e-postadress."
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
-msgstr "Ogiltig aktiveringskod."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
+
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
+msgstr "Vänligen aktivera ditt konto genom den länk vi har skickat till din e-postadress."
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
-msgstr "Aktiveringskoden har upphört att gälla."
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
+msgstr "Felaktigt användarnamn eller lösenord."
+
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
+msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
-msgstr "Ditt konto är stängt."
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
+msgstr "Fel lösenord."
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
+
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr "Snabbsvar"
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "Skriv något!"
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "Svara"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "Innehåll"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr "Följ denna tråd"
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "Förhandsgranska"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr "Rubrik"
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr "Ange en rubrik"
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "Skapa tråd"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "Anledning"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
-msgstr "Varför vill du anmäla detta?"
+msgstr "Vad är anledningen till att du rapporterar det här inlägget?"
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
-msgstr "Anmäl"
+msgstr "Anmäl inlägg"
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "Sök"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "Kriterier"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "Inlägg"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -331,7 +343,7 @@ msgstr "Inlägg"
 msgid "Topic"
 msgstr "Tråd"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -344,7 +356,7 @@ msgstr "Tråd"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -357,726 +369,647 @@ msgstr "Tråd"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
 #: flaskbb/templates/user/settings_layout.html:6
 msgid "Forum"
-msgstr "Kategori"
+msgstr "Forumkategorier"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "Användare"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
-msgstr ""
+msgstr "Kunde inte besvara inlägg"
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr "Välj en eller flera trådar."
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr "%(count)s låsta trådar."
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr "%(count)s olåsta trådar."
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
-msgstr "%(count)s markerade trådar."
+msgstr "%(count)s stjärnmärkta trådar."
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr "%(count)s vanliga trådar."
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr "%(count)s borttagna trådar."
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr "Välj ett nytt forum."
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "Du kan inte flytta denna tråd."
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
-msgstr ""
+msgstr "Trådar flyttade."
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
-msgstr ""
+msgstr "Misslyckades att flytta trådar."
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
-msgstr ""
+msgstr "%(count)stråd dold."
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
-msgstr ""
+msgstr "%(count)strådar synliga."
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
-msgstr ""
+msgstr "Okänd åtgärd"
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "Tack för din anmälan!"
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr "%(topic_count)s ej följda trådar"
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "%(forum)s markerat som läst."
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "Alla forum markerade som lästa."
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
-msgstr ""
+msgstr "Du har inte behörighet att dölja denna tråd"
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
-msgstr ""
+msgstr "Du har inte behörighet att visa denna tråd"
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
-msgstr ""
+msgstr "Du har inte behörighet att dölja detta inlägg"
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
-msgstr ""
+msgstr "Inlägget är redan dolt"
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
-msgstr ""
+msgstr "Tråd dolt"
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
-msgstr ""
+msgstr "Inlägg dolt"
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
-msgstr ""
+msgstr "Du har inte behörighet att visa detta inlägg"
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
-msgstr ""
+msgstr "Inlägget är redan synligt"
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
-msgstr ""
+msgstr "Inlägg synligt"
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "Födelsedag"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "Kön"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "Man"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "Kvinna"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "Bostadsort"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "Hemsida"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "Avatar"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr "Signatur"
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "Anteckningar"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr "Aktiv?"
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr "Huvudgrupp"
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr "Andrahandsgrupper"
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "Spara"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "Användarnamnet är upptaget."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "E-postadressen används redan."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr "Gruppnamn"
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr "Namnge gruppen."
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "Beskrivning"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr "Administrationsgrupp?"
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "Detta val ger gruppen behörighet att använda administrationspanelen."
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr "Supermoderatorgrupp?"
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr "Detta val ger användare i gruppen behörighet att moderera samtliga forum."
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr "Moderatorgrupp?"
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr "Detta val ger användare i gruppen behörighet att moderera specifika forum."
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr "Avstängd?"
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr "Det kan endast finnas en grupp av typen \"avstängd\"."
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr "Gäst?"
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr "Det kan endast finnas en grupp av typen \"gäst\"."
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "Kan redigera inlägg"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr "Detta val ger användare i gruppen behörighet att redigera inlägg."
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "Kan ta bort inlägg"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr "Detta val ger användare i gruppen behörighet att ta bort inlägg."
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "Kan ta bort trådar"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr "Detta val ger användare i gruppen behörighet att ta bort trådar."
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "Kan skapa trådar"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr "Detta val ger användare i gruppen behörighet att skapa trådar."
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "Kan svara på inlägg"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr "Detta val ger användare i gruppen behörighet att svara på inlägg."
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "Moderatorer kan redigera användarprofiler"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr "Detta val ger moderatorer behörighet att redigera andra användares profiler, såsom lösenord och epostadress."
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "Moderatorer kan stänga av användare"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "Detta val ger moderatorer behörighet att stänga av andra användare."
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
-msgstr ""
+msgstr "Kan visa dolda inlägg och trådar"
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
-msgstr ""
+msgstr "Tillåt en användare att visa dolda inlägg och trådar"
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
-msgstr ""
+msgstr "Kan dölja inlägg och trådar"
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
-msgstr ""
+msgstr "Tillåter användare att dölja inlägg och trådar"
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr "Gruppnamnet är redan upptaget."
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr "Det finns redan en grupp av typen \"avstängd\"."
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr "Det finns redan en grupp av typen \"gäst\"."
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr "Forumrubrik"
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr "Ange en forumrubrik."
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr "Du kan använda Markdown för att formatera din text."
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "Ordning"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr "Ange en sorteringsordning för detta forum."
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "Kategori"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "Kategorin detta forum tillhör."
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr "Extern länk"
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "Länk till en webplats, exempelvis 'http://flaskbb.org'."
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "Moderatorer"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr "Kommaseparerad lista av användarnamn. Lämna fältet tomt om du inte vill ange några moderatorer."
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr "Visa moderatorer"
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr "Välj om du vill presentera moderatorerna på startsidan."
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "Låst?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "Tillåt inte några nya inlägg eller trådar i detta forum."
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr "Gruppbehörighet"
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr "Markera de grupper som ska ha behörighet till detta forum."
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr "Det går inte att konvertera ett forum med trådar till en extern länk."
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "Ange några moderatorer."
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "%(user)s är inte moderator."
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr "Kategorinamn"
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr "Ange ett namn på kategorin."
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr "Ange en sorteringsordning på kategorin."
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "Inställningarna är sparade."
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "Redigera användaren"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr "Användaren är uppdaterad."
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr "Det är inte bra att ta bort sig själv."
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr "Användaren är borttagen."
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "Lägg till användare"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr "Användaren är tillagd."
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "Du har inte behörighet att stänga av denna användare."
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "Återaktivera"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "Moderatorer har inte behörighet att stänga av administratörer."
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "Användaren är avstängd."
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
-msgstr "Kan inte stänga av användaren."
+msgstr "Kunde inte stänga av användaren."
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "Du har inte behörighet att återaktivera denna användare."
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "Stäng av"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "Användaren är återaktiverad."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "Det går inte att återaktivera användaren."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
-msgstr ""
+msgstr "Lägg till grupp"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
-msgstr ""
+msgstr "Grupp tillagd"
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
-msgstr ""
+msgstr "Redigera grupp"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
-msgstr ""
+msgstr "Grupp uppdaterad"
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
-msgstr ""
+msgstr "Du kan inte radera en av standardgrupperna."
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
-msgstr ""
+msgstr "Du kan inte radera standardgrupper. Försök att döpa om grupperna istället."
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
-msgstr ""
+msgstr "Grupp raderad."
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
-msgstr ""
+msgstr "Ingen grupp vald."
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
-msgstr ""
+msgstr "Redigera forum"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
-msgstr ""
+msgstr "Forum uppdaterat"
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
 #: flaskbb/templates/management/forums.html:43
 msgid "Add Forum"
-msgstr ""
+msgstr "Skapa forum"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
-msgstr ""
+msgstr "Forum tillagt."
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
-msgstr ""
+msgstr "Forum raderat."
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
-msgstr ""
+msgstr "Lägg till kategori"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
-msgstr ""
+msgstr "Kategori tillagd."
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
-msgstr ""
+msgstr "Redigera kategori"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
-msgstr ""
+msgstr "Kategorin uppdaterad."
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
-msgstr ""
+msgstr "Kategori med alla associerade forum raderade."
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "%(id)s är redan markerad som läst."
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
-msgstr ""
+msgstr "Markera %(id)s som läst."
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
-msgstr ""
+msgstr "Markera alla anmälningar som lästa."
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
-msgstr ""
+msgstr "Anmälning raderaad."
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
-msgstr ""
+msgstr "Tillägget %(plugin)s är redan aktiverat."
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
-msgstr ""
+msgstr "Tillägget %(plugin)s aktiverad. Vänligen starta om FlaskBB nu."
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
+msgid "Plugin %(plugin)s is already disabled."
 msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
-msgstr ""
+msgstr "Tillägget %(plugin)s är nu inaktiverat. Vänligen starta om FlaskBB nu."
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
-msgstr ""
+msgstr "Tillägget är nu avinstallerat."
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
 msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
-msgstr ""
-
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr ""
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr "Mottagare"
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "Rubrik"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "Ange en rubrik!"
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "Meddelande"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr "Skriv ett meddelande!"
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr "Inled konversation"
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr "Spara konversation"
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr "Användarnamnet finns inte."
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "Prata inte med dig själv!"
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "Skicka meddelande"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr "Du kan inte skicka fler meddelanden."
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "Skriv meddelande"
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "Meddelandet är sparat."
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "Meddelandet är skickat."
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "Ett skickat meddelande kan inte redigeras."
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "Redigera meddelande"
+msgstr "Tillägg har blivit installerat."
 
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
@@ -1098,35 +1031,23 @@ msgstr "Ja"
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "Medlemslista"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "Inkorg"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "Nytt meddelande"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "Trådar du följer"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "Inställningar"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1138,17 +1059,17 @@ msgstr "Inställningar"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
-msgstr "Ledning"
+msgstr "Administration"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "Logga ut"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "Återställ lösenord"
 
@@ -1177,8 +1098,8 @@ msgstr "Begär kontoaktivering"
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "Hej %(user)s!"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1192,7 +1113,7 @@ msgstr "Vänlig hälsning"
 #: flaskbb/templates/email/activate_account.html:10
 #: flaskbb/templates/email/reset_password.html:9
 msgid "The Administration"
-msgstr "Ledningen"
+msgstr "Administration"
 
 #: flaskbb/templates/email/reset_password.html:4
 msgid "Click the link below to reset your password:"
@@ -1256,11 +1177,11 @@ msgstr "För att skydda oss mot så kallade brute force-attacker har vi infört
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "Trådar"
 
@@ -1273,18 +1194,16 @@ msgstr "Trådar"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "Inlägg"
 
@@ -1313,7 +1232,7 @@ msgstr "Länk"
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "av"
 
@@ -1349,26 +1268,26 @@ msgstr "Lås upp"
 
 #: flaskbb/templates/forum/edit_forum.html:137
 msgid "Highlight"
-msgstr "Markera"
+msgstr "Stjärnmärk"
 
 #: flaskbb/templates/forum/edit_forum.html:140
 msgid "Trivialize"
-msgstr "Avmarkera"
+msgstr "Ta bort stjärnmärkning"
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "Ta bort"
 
 #: flaskbb/templates/forum/edit_forum.html:151
 msgid "Hide"
-msgstr ""
+msgstr "Dölj"
 
 #: flaskbb/templates/forum/edit_forum.html:154
 msgid "Unhide"
-msgstr ""
+msgstr "Visa"
 
 #: flaskbb/templates/forum/edit_forum.html:169
 msgid "Move to..."
@@ -1399,7 +1318,7 @@ msgstr "Ny tråd"
 #: flaskbb/templates/forum/forum.html:97
 #, python-format
 msgid "Hidden on %(when)s  by %(who)s"
-msgstr ""
+msgstr "Dold %(when)s av %(who)s"
 
 #: flaskbb/templates/forum/forum.html:138
 msgid "Moderation Mode"
@@ -1444,14 +1363,14 @@ msgstr "Gäster online"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "Registrerad"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "Grupp"
 
@@ -1485,16 +1404,17 @@ msgid "Close"
 msgstr "Stäng"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "Medlem sedan"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "Meddelande"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "Gäst"
 
@@ -1504,7 +1424,7 @@ msgstr "Inga inlägg matchar din sökning"
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "Inga användare matchar din sökning."
 
@@ -1523,14 +1443,15 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - tråd"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
-msgstr ""
+msgstr "Denna tråd är dold (%(when)s av %(who)s)"
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
-msgstr ""
+msgstr "Detta inlägg är dolt (%(when)s av %(who)s)"
 
 #: flaskbb/templates/forum/topic_controls.html:15
 msgid "Moderate"
@@ -1550,7 +1471,7 @@ msgstr "Lås upp tråden"
 
 #: flaskbb/templates/forum/topic_controls.html:56
 msgid "Highlight Topic"
-msgstr "Markera tråden"
+msgstr "Stjärnmärk tråd"
 
 #: flaskbb/templates/forum/topic_controls.html:65
 msgid "Trivialize Topic"
@@ -1558,11 +1479,11 @@ msgstr "Avmarkera tråden"
 
 #: flaskbb/templates/forum/topic_controls.html:77
 msgid "Unhide Topic"
-msgstr ""
+msgstr "Visa tråd"
 
 #: flaskbb/templates/forum/topic_controls.html:84
 msgid "Hide Topic"
-msgstr ""
+msgstr "Dölj tråd"
 
 #: flaskbb/templates/forum/topic_controls.html:99
 msgid "Untrack Topic"
@@ -1580,7 +1501,7 @@ msgstr "Sluta följa trådar."
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "Avstängda användare"
 
@@ -1588,277 +1509,238 @@ msgstr "Avstängda användare"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "Hantera användare"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
-msgstr ""
+msgstr "Åtgärder"
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
-msgstr ""
+msgstr "Avblockera valda medlemmar"
 
 #: flaskbb/templates/management/category_form.html:20
 #: flaskbb/templates/management/forum_form.html:20
 #: flaskbb/templates/management/forums.html:19
 #: flaskbb/templates/management/forums.html:29
 msgid "Manage Forums"
-msgstr ""
+msgstr "Hantera forum"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
-msgstr ""
+msgstr "Forum"
 
 #: flaskbb/templates/management/forums.html:51
 msgid "Delete Category"
-msgstr ""
+msgstr "Radera kategori"
 
 #: flaskbb/templates/management/forums.html:62
 msgid "Topics / Posts"
-msgstr ""
+msgstr "Trådar / Inlägg"
 
 #: flaskbb/templates/management/forums.html:99
 msgid "Edit Link"
-msgstr ""
+msgstr "Redigera länk"
 
 #: flaskbb/templates/management/forums.html:105
 msgid "Delete Link"
-msgstr ""
+msgstr "Radera länk"
 
 #: flaskbb/templates/management/forums.html:161
 msgid "Delete Forum"
-msgstr ""
+msgstr "Radera forum"
 
 #: flaskbb/templates/management/group_form.html:10
 #: flaskbb/templates/management/group_form.html:20
 #: flaskbb/templates/management/groups.html:9
 #: flaskbb/templates/management/groups.html:19
 msgid "Manage Groups"
-msgstr ""
+msgstr "Hantera grupper"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
-msgstr ""
+msgstr "Grupper"
 
 #: flaskbb/templates/management/groups.html:34
 msgid "Group Name"
-msgstr ""
+msgstr "Gruppnamn"
 
 #: flaskbb/templates/management/groups.html:44
 msgid "Delete selected Groups"
-msgstr ""
+msgstr "Radera valda grupper"
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
-msgstr ""
+msgstr "Redigera"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
-msgstr ""
+msgstr "Inga grupper hittades."
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "Översikt"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr ""
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
-msgstr ""
+msgstr "Det är något som önskar din uppmärksamhet."
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
-msgstr ""
+msgstr "Du har <a href=\"%(url)s\">%(unread_reports)s olästa anmälningar</a>"
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
-msgstr ""
+msgstr "Allt verkar bra."
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
-msgstr ""
+msgstr "Inga olästa meddelanden."
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
-msgstr ""
+msgstr "användare"
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
-msgstr ""
+msgstr "inlägg"
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
-msgstr ""
+msgstr "trådar"
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
-msgstr ""
+msgstr "Statistik"
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
-msgstr ""
+msgstr "Registrerade användare"
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
-msgstr ""
+msgstr "Aktiva användare"
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
-msgstr ""
+msgstr "Avstängda användare"
+
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "Anmälningar"
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
-msgstr ""
+msgstr "Komponenter"
+
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "Tillägg"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr "Det finns ett problem."
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr "Celery körs <strong>inte</strong>."
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr "Du kan starta Celery med det här kommandot:"
 
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
-msgstr ""
+msgstr "Hantera tillägg"
 
 #: flaskbb/templates/management/plugins.html:25
 msgid "Plugin"
-msgstr ""
+msgstr "Tillägg"
 
 #: flaskbb/templates/management/plugins.html:26
 msgid "Information"
-msgstr ""
+msgstr "Information"
 
 #: flaskbb/templates/management/plugins.html:27
 msgid "Manage"
-msgstr ""
+msgstr "Hantera"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
-msgstr ""
+msgstr "Version"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
-msgstr ""
+msgstr "Aktivera"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
-msgstr ""
+msgstr "Inaktivera"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
-msgstr ""
+msgstr "Installera"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
-msgstr ""
+msgstr "Avinstallera"
 
 #: flaskbb/templates/management/reports.html:21
 msgid "Show all Reports"
-msgstr ""
+msgstr "Visa alla anmälningar"
 
 #: flaskbb/templates/management/reports.html:22
 msgid "Show unread Reports"
-msgstr ""
+msgstr "Visa olästa anmälningar"
 
 #: flaskbb/templates/management/reports.html:37
 msgid "Poster"
-msgstr ""
+msgstr "Anmäld"
 
 #: flaskbb/templates/management/reports.html:40
 msgid "Reporter"
-msgstr ""
+msgstr "Anmäld av"
 
 #: flaskbb/templates/management/reports.html:41
 msgid "Reported"
-msgstr ""
+msgstr "Tid för anmälan"
 
 #: flaskbb/templates/management/reports.html:55
 msgid "Delete selected reports"
-msgstr ""
+msgstr "Radera markerade anmälningar"
 
 #: flaskbb/templates/management/reports.html:90
 msgid "No reports."
-msgstr ""
+msgstr "Inga anmälningar."
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
-msgstr ""
+msgstr "Stäng av vald(a) användare"
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
-msgstr ""
-
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr "Borta"
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr "Konversationer"
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr "Inga konversationer."
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "Utkast"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "Privata meddelanden"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "Skickat"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "Papperskorgen"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "Skickade meddelanden"
+msgstr "Radera vald(a) användare"
 
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
@@ -1869,22 +1751,18 @@ msgid "The user has not opened any topics yet."
 msgstr "Användaren har ännu inte skapat några trådar."
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "Ändra e-postadress"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "Byt lösenord"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "Ändra användaruppgifter"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "Generella inställningar"
 
@@ -1892,11 +1770,11 @@ msgstr "Generella inställningar"
 msgid "Info"
 msgstr "Information"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "Användaren har inte skrivit något om sig själv."
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr "Signatur"
 
@@ -1904,86 +1782,82 @@ msgstr "Signatur"
 msgid "Never seen"
 msgstr "Aldrig varit inloggad"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "Kontoinställningar"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "Tema"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr "Gammal e-postadress"
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr "Ny e-postadress"
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr "E-postadresserna stämmer inte."
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr "Bekräfta e-postadress"
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr "Nytt lösenord"
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr "Lösenorden måste vara samma."
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr "Bekräfta nytt lösenord"
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr "Det gamla lösenordet är fel."
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "Signatur"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "Uppdaterade inställningar."
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "Lösenordet har uppdaterats."
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr "E-postadressen har uppdaterats."
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr "Användardetaljer uppdaterade."
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr "Du har inte behörighet att utföra detta."
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
-msgstr ""
+msgstr "Du har inte behörighet att radera dessa trådar."
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
-msgstr ""
+msgstr "Du har inte behörighet att dölja dessa trådar."
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
-msgstr ""
+msgstr "Du har inte behörighet att visa dessa trådar."
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr "Registreringen är stängd."
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr "Kontot är redan aktiverat."

+ 467 - 593
flaskbb/translations/zh_CN/LC_MESSAGES/messages.po

@@ -1,330 +1,342 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
 # realityone <realityone@me.com>, 2015
+# realityone <realityone@me.com>, 2015
 # 一 王 <whydo1@yahoo.com>, 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: Chinese (China) (http://www.transifex.com/flaskbb/flaskbb/language/zh_CN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: zh_CN\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr "密码恢复确认"
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr "账户激活"
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "您只能使用字母、数字与短划线"
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr "用户名或邮件地址"
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr "请输入您的用户名或邮件地址"
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "密码"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr "请输入您的密码"
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr "保持登入状态"
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "登录"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "验证码"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "用户名"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr "需要有效的用户名"
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr "邮件地址"
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr "需要有效的邮件地址"
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr "无效邮件地址"
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "两次输入的密码不一致。"
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr "确认密码"
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "语言"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "我同意并遵守服务条例"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr "请接受服务协议."
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "注册"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr "用户名长度必须大于%(min)s并小于%(max)s."
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr "该名称系统保留.请选择别的名称."
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr "该用户名已被占用."
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr "该邮件地址已被使用."
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "重新登录"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "请求重置密码"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr "重置密码"
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr "错误邮件地址"
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr "需要一个有效的用户名."
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr "发送确认邮件"
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
-msgstr "用户不存在."
-
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr "用户已激活."
-
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
-msgstr "邮件确认信息"
-
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
-msgstr "请输入我们发送给您的信息."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
+msgstr "激活邮件已发送到%(email)s"
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
-msgstr "确认邮件"
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "感谢您的注册。"
 
-#: flaskbb/auth/views.py:82
+#: flaskbb/auth/views.py:49
 msgid "Logged out"
 msgstr "登出"
 
-#: flaskbb/auth/views.py:104
-msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
-msgstr "请点击我们发送到您的邮箱的链接,激活账户开始使用."
-
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
-msgstr "错误用户名或密码."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
+msgstr ""
 
-#: flaskbb/auth/views.py:131
+#: flaskbb/auth/views.py:107
 msgid "Reauthenticated."
 msgstr "重新认证身份。"
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
-msgstr "错误密码"
-
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
-msgstr "激活邮件已发送到%(email)s"
-
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "感谢您的注册。"
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
-msgstr "邮件已发送!请检查您的邮箱."
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/views.py:196
 msgid ""
 "You have entered an username or email address that is not linked with your "
 "account."
 msgstr "您输入的用户名或密码未关联到您的账户."
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
-msgstr "密码无效."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
+msgstr "邮件已发送!请检查您的邮箱."
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
-msgstr "密码过期."
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:230
+#: flaskbb/auth/views.py:248
 msgid "Your password has been updated."
 msgstr "密码已更新."
 
-#: flaskbb/auth/views.py:250
+#: flaskbb/auth/views.py:277
 msgid "A new account activation token has been sent to your email address."
 msgstr "新的账户激活信息已发送到您的邮箱."
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
-msgstr "您的账户激活信息无效."
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
+
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
-msgstr "账户激活信息过期."
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
+msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
-msgstr "账户已激活."
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
+msgid ""
+"Your account is currently locked out due to too many failed login attempts"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
+msgstr "请点击我们发送到您的邮箱的链接,激活账户开始使用."
+
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
+msgstr "错误用户名或密码."
+
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
+msgstr ""
+
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
+msgstr "错误密码"
+
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
+msgstr ""
+
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr "快速回复"
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "您不能发表一个空的回复。"
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "回复"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "内容"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr "跟踪该主题"
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "预览"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr "主题标题"
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr "请选择一个标题"
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "发表主题"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "原因"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr "为何报告该帖子?"
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr "报告该帖子"
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "搜索"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "条件"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "发帖"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -332,7 +344,7 @@ msgstr "发帖"
 msgid "Topic"
 msgstr "主题"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -345,7 +357,7 @@ msgstr "主题"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -358,8 +370,7 @@ msgstr "主题"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -367,542 +378,550 @@ msgstr "主题"
 msgid "Forum"
 msgstr "论坛"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "用户"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
-msgstr ""
+msgstr "不能回复"
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr "为了执行该动作,您必须选择至少一个主题."
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr "%(count)s主题锁定."
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr "%(count)s主题解锁."
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr "%(count)s主题高亮."
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr "%(count)s主题取消高亮."
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr "%(count)s主题删除."
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr "请为主题选择一个论坛."
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "您没有权限移动该主题。"
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
-msgstr ""
+msgstr "主题已移动."
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
-msgstr ""
+msgstr "移动主题失败."
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
-msgstr ""
+msgstr "%(count)s 主题被隐藏."
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
-msgstr ""
+msgstr "%(count)s 主题取消隐藏."
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
-msgstr ""
+msgstr "请求未知操作."
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "感谢您的报告。"
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr "%(topic_count)s主题取消跟踪."
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "论坛 %(forum)s 已被标记为已读。"
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "所有论坛已被标记为已读。"
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
-msgstr ""
+msgstr "你没有权限隐藏该主题."
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
-msgstr ""
+msgstr "你没有权限取消隐藏该主题."
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
-msgstr ""
+msgstr "你没有权限隐藏该帖子."
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
-msgstr ""
+msgstr "帖子已被隐藏."
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
-msgstr ""
+msgstr "主题被隐藏"
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
-msgstr ""
+msgstr "帖子被隐藏"
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
-msgstr ""
+msgstr "你没有权限取消隐藏该帖子"
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
-msgstr ""
+msgstr "帖子已被取消隐藏"
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
-msgstr ""
+msgstr "帖子取消隐藏"
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "生日"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "性别"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "男"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "女"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "位置"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "网站"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "头像"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr "论坛签名"
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "个人说明"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr "是否活跃?"
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr "主用户组"
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr "次要用户组"
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "保存"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr "该用户名已被占用."
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr "该邮件地址已被使用."
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr "用户组名"
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr "请为用户组输入一个名称."
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "描述"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr "管理员组?"
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "勾上本选项后本群用户能够访问管理员面板。"
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr "超级版主组?"
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr "勾上本选项后本群用户能够管理所有论坛。"
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr "版主组?"
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr "勾上本选项后本群用户能够管理特定的论坛。"
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr "禁止用户组?"
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr "只允许存在一个禁止用户组。"
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr "来宾组?"
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr "只允许存在一个来宾用户组。"
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "可编辑帖子"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr "勾上本选项后该组用户可以编辑帖子"
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "可删除帖子"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr "勾上本选项后本组用户可以删除帖子"
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "能删除主题"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr "勾上本选项后本群用户可以删除主题。"
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "能创建主题"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr "勾上本选项后本群用户可以创建主题。"
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "能创建回复"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr "勾上本选项后本组用户可以创建回复"
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "版主能够修改用户资料"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr "允许版主能够编辑其他用户的资料(包括密码和邮箱地址)"
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "版主能够禁止用户"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "允许版主能够禁止其他用户。"
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
-msgstr ""
+msgstr "可查看隐藏帖子和主题"
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
-msgstr ""
+msgstr "允许用户查看隐藏帖子和主题"
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
-msgstr ""
+msgstr "可隐藏帖子和主题"
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
-msgstr ""
+msgstr "允许用户隐藏帖子和主题"
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr "该用户组名已被使用"
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr "已存在禁止用户组了。"
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr "已存在来宾用户组。"
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr "论坛标题"
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr "请输入一个论坛标题"
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr "您可以使用 Markdown 来格式化您的描述。"
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "先后位置"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr "请为论坛输入一个位置."
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "分类"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "该论坛将位与此分类之下。"
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr "外部链接"
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "链接到外部的网站(例:’http://flaskbb.org')。"
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "版主"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr "使用逗号来分割用户。如果您不想设置版主的话留空即可。"
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr "显示版主"
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr "您是否想在主页上显示版主?"
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "加锁?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "在该论坛禁止发表新主题和帖子"
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr "用户组访问"
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr "选择可以访问该论坛的用户组."
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr "您不能改变一个主题包含外部链接的论坛。"
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "您需要指定版主。"
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "用户 %(user)s 不在版主组里。"
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr "分类标题"
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr "请输入一个分类标题."
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr "请为分类输入一个位置."
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "设置已被保存。"
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "编辑用户。"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr "用户已更新."
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr "您不能删除自己."
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr "用户已删除."
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "添加用户"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr "用户已添加."
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "您没有权限禁止该用户。"
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "解除禁止"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "一个版主无法禁止一个管理员。"
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "该用户已被禁止。"
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "无法禁止该用户。"
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "您没有权限解禁该用户。"
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "禁止"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "该用户已被解除禁止."
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "该用户无法解除禁止."
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "添加用户组"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr "用户组已添加."
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "编辑用户组"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr "用户组已更新."
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr "您不能删除标准用户组."
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr "您不能删除标准用户组.可以尝试重命名."
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr "用户组已删除."
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr "没有选择用户组."
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "编辑论坛"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr "论坛已更新."
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -910,175 +929,89 @@ msgstr "论坛已更新."
 msgid "Add Forum"
 msgstr "添加论坛"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr "论坛已添加."
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr "论坛已删除."
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "添加分类"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr "分类已添加."
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "编辑分类"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr "分类已更新."
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr "该分类与所有相关联的论坛已被删除。"
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "报告 %(id)s 已被标记为已读。"
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "报告 %(id)s 标记为已读。"
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "所有报告被标记为已读。"
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr "报告已删除."
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr "插件%(plugin)s已启用."
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr "插件%(plugin)s已启用.请重启FlaskBB."
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr "看起来FlaskBB没有足够的文件系统权限.请尝试手动移除'DISABLED'文件."
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "没有找到此插件:%(plugin)s。"
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr "插件%(plugin)s已禁用.请重启FlaskBB."
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr "看起来FlaskBB没有足够的文件系统权限.请尝试手动创建'DISABLED'文件."
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "插件已被卸载。"
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
-msgstr "无法卸载插件。"
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
+msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "插件已被安装。"
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr "无法安装插件。"
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr "收件人"
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "主题"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "请输入主题"
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "消息"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr "请输入消息。"
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr "开始会话."
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr "保存会话"
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr "您输入的用户不存在。"
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "您无法给自己发送私人消息。"
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "发送消息"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr "您的信息已达限,不能再发送任何信息."
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "撰写消息"
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "消息已被保存。"
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "消息已被发送。"
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "您无法编辑一条已被发送的消息。"
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "编辑消息"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr "您确定?"
@@ -1099,35 +1032,23 @@ msgstr "是"
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "用户列表"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "收件箱"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "新消息"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "关注的主题"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "设置"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1139,17 +1060,17 @@ msgstr "设置"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "管理"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "注销"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "重置密码"
 
@@ -1178,8 +1099,8 @@ msgstr "需要激活账户"
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "亲爱的 %(user)s,"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1257,11 +1178,11 @@ msgstr "为防止暴力攻击账户我们限制了该路由的请求数量."
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "主题"
 
@@ -1274,18 +1195,16 @@ msgstr "主题"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "帖子"
 
@@ -1314,7 +1233,7 @@ msgstr "链接到"
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "来自"
 
@@ -1357,19 +1276,19 @@ msgid "Trivialize"
 msgstr "取消高亮"
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "删除"
 
 #: flaskbb/templates/forum/edit_forum.html:151
 msgid "Hide"
-msgstr ""
+msgstr "隐藏"
 
 #: flaskbb/templates/forum/edit_forum.html:154
 msgid "Unhide"
-msgstr ""
+msgstr "取消隐藏"
 
 #: flaskbb/templates/forum/edit_forum.html:169
 msgid "Move to..."
@@ -1400,7 +1319,7 @@ msgstr "新建主题"
 #: flaskbb/templates/forum/forum.html:97
 #, python-format
 msgid "Hidden on %(when)s  by %(who)s"
-msgstr ""
+msgstr "由 %(who)s 隐藏于 %(when)s "
 
 #: flaskbb/templates/forum/forum.html:138
 msgid "Moderation Mode"
@@ -1445,14 +1364,14 @@ msgstr "在线来宾用户"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "注册日期"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "用户组"
 
@@ -1486,16 +1405,17 @@ msgid "Close"
 msgstr "关闭"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "加入于"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "消息"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "来宾用户"
 
@@ -1505,7 +1425,7 @@ msgstr "没有找到符合条件的帖子"
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "没有找到符合条件的用户。"
 
@@ -1524,14 +1444,15 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - 主题"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
-msgstr ""
+msgstr "该主题已隐藏(由%(who)s于%(when)s 执行)"
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
-msgstr ""
+msgstr "该帖子已隐藏(由%(who)s于%(when)s执行)"
 
 #: flaskbb/templates/forum/topic_controls.html:15
 msgid "Moderate"
@@ -1559,11 +1480,11 @@ msgstr "普通化主题"
 
 #: flaskbb/templates/forum/topic_controls.html:77
 msgid "Unhide Topic"
-msgstr ""
+msgstr "取消隐藏主题"
 
 #: flaskbb/templates/forum/topic_controls.html:84
 msgid "Hide Topic"
-msgstr ""
+msgstr "隐藏主题"
 
 #: flaskbb/templates/forum/topic_controls.html:99
 msgid "Untrack Topic"
@@ -1581,7 +1502,7 @@ msgstr "取消关注主题"
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "被禁止的用户"
 
@@ -1589,20 +1510,20 @@ msgstr "被禁止的用户"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "管理员"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr "操作"
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr "解禁选择的用户"
 
@@ -1615,7 +1536,6 @@ msgstr "管理论坛"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "论坛"
 
@@ -1648,8 +1568,7 @@ msgstr "管理用户组"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "用户组"
 
@@ -1662,99 +1581,96 @@ msgid "Delete selected Groups"
 msgstr "删除选择的用户组"
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "编辑"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr "未找到用户组"
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "概况"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "插件"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "报告"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr "存在一个问题."
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr "Celery <strong>没有</strong>运行."
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr "你可以这样启动celery:"
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr "有些事情你需要关注."
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr "您有<a href=\"%(url)s\">%(unread_reports)s未读报告</a>."
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr "一切正常."
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr "无新提醒"
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr "用户"
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr "帖子"
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr "主题"
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr "统计"
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr "已注册用户"
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr "在线用户"
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr "被禁止的用户"
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "报告"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr "组件"
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "插件"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr "存在一个问题."
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr "Celery <strong>没有</strong>运行."
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr "你可以这样启动celery:"
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr "管理插件"
@@ -1771,23 +1687,23 @@ msgstr "信息"
 msgid "Manage"
 msgstr "管理"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "版本"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "启用"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "禁用"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "安装"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "卸载"
 
@@ -1819,48 +1735,14 @@ msgstr "删除选择的报告"
 msgid "No reports."
 msgstr "还没有报告。"
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr "禁止选择的用户"
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr "删除选择的用户"
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr "已删除"
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr "会话"
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr "未找到会话"
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "草稿箱"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "私人消息"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "发件箱"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "废纸篓"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "发送消息"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr "用户没有发布任何帖子"
@@ -1870,22 +1752,18 @@ msgid "The user has not opened any topics yet."
 msgstr "用户没有发布任何主题"
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "修改邮箱"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "修改密码"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "修改用户信息"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "通用设置"
 
@@ -1893,11 +1771,11 @@ msgstr "通用设置"
 msgid "Info"
 msgstr "信息"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "该用户没有添加关于他的备注。"
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr "签名"
 
@@ -1905,86 +1783,82 @@ msgstr "签名"
 msgid "Never seen"
 msgstr "从未上线"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "账户设置"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "主题"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr "原邮件地址"
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr "新邮件地址"
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr "两次输入的邮箱必须一致。"
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr "确认邮箱地址"
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr "新密码"
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr "两次输入的密码不一致。"
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr "确认新密码"
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr "原密码错误"
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "签名"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "设置更新成功。"
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "密码修改成功。"
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr "邮箱更新成功。"
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr "用户信息更新成功。"
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr "你没有权限执行该操作"
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
-msgstr ""
+msgstr "你没有权限删除这些主题."
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
-msgstr ""
+msgstr "你没有权限隐藏这些主题."
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
-msgstr ""
+msgstr "你没有权限取消隐藏这些主题."
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr "注册已被禁止."
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr "账户已激活."

+ 422 - 549
flaskbb/translations/zh_TW/LC_MESSAGES/messages.po

@@ -1,5 +1,5 @@
 # Translations template for PROJECT.
-# Copyright (C) 2017 ORGANIZATION
+# Copyright (C) 2018 ORGANIZATION
 # This file is distributed under the same license as the PROJECT project.
 # 
 # Translators:
@@ -8,322 +8,333 @@ msgid ""
 msgstr ""
 "Project-Id-Version: FlaskBB\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2017-10-06 19:44+0200\n"
-"PO-Revision-Date: 2017-10-06 17:46+0000\n"
-"Last-Translator: sh4nks\n"
+"POT-Creation-Date: 2018-05-03 12:13+0200\n"
+"PO-Revision-Date: 2018-05-03 10:17+0000\n"
+"Last-Translator: Peter Justin\n"
 "Language-Team: Chinese (Taiwan) (http://www.transifex.com/flaskbb/flaskbb/language/zh_TW/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.4.0\n"
+"Generated-By: Babel 2.5.3\n"
 "Language: zh_TW\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: flaskbb/email.py:27
+#: flaskbb/email.py:31
 msgid "Password Recovery Confirmation"
 msgstr ""
 
-#: flaskbb/email.py:50 flaskbb/templates/auth/account_activation.html:1
+#: flaskbb/email.py:55 flaskbb/templates/auth/account_activation.html:1
 #: flaskbb/templates/auth/account_activation.html:10
 msgid "Account Activation"
 msgstr ""
 
-#: flaskbb/auth/forms.py:25 flaskbb/management/forms.py:31
+#: flaskbb/auth/forms.py:26 flaskbb/management/forms.py:35
 msgid "You can only use letters, numbers or dashes."
 msgstr "你只可以使用英文字母、數字或短橫線"
 
-#: flaskbb/auth/forms.py:30
+#: flaskbb/auth/forms.py:32
 msgid "Username or Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:31
+#: flaskbb/auth/forms.py:35
 msgid "Please enter your username or email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:34 flaskbb/auth/forms.py:56 flaskbb/auth/forms.py:108
-#: flaskbb/auth/forms.py:131 flaskbb/user/forms.py:63
+#: flaskbb/auth/forms.py:41 flaskbb/auth/forms.py:73 flaskbb/auth/forms.py:97
+#: flaskbb/auth/forms.py:130 flaskbb/user/forms.py:67
 msgid "Password"
 msgstr "密碼"
 
-#: flaskbb/auth/forms.py:35 flaskbb/auth/forms.py:109 flaskbb/user/forms.py:64
+#: flaskbb/auth/forms.py:42 flaskbb/auth/forms.py:98 flaskbb/user/forms.py:68
 msgid "Please enter your password."
 msgstr ""
 
-#: flaskbb/auth/forms.py:37
+#: flaskbb/auth/forms.py:45
 msgid "Remember me"
 msgstr ""
 
-#: flaskbb/auth/forms.py:39 flaskbb/templates/auth/login.html:1
-#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:141
+#: flaskbb/auth/forms.py:47 flaskbb/templates/auth/login.html:1
+#: flaskbb/templates/auth/login.html:10 flaskbb/templates/layout.html:118
 msgid "Login"
 msgstr "登入"
 
-#: flaskbb/auth/forms.py:40 flaskbb/auth/forms.py:44 flaskbb/auth/forms.py:62
-#: flaskbb/auth/forms.py:119
+#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:82
+#: flaskbb/auth/forms.py:113
 msgid "Captcha"
 msgstr "驗證碼"
 
-#: flaskbb/auth/forms.py:48 flaskbb/auth/forms.py:146
-#: flaskbb/management/forms.py:51 flaskbb/templates/forum/memberlist.html:45
+#: flaskbb/auth/forms.py:57 flaskbb/auth/forms.py:144
+#: flaskbb/management/forms.py:55 flaskbb/templates/forum/memberlist.html:45
 #: flaskbb/templates/forum/search_result.html:104
 #: flaskbb/templates/management/banned_users.html:62
-#: flaskbb/templates/management/users.html:62
+#: flaskbb/templates/management/users.html:61
 msgid "Username"
 msgstr "使用者名稱"
 
-#: flaskbb/auth/forms.py:49
+#: flaskbb/auth/forms.py:59
 msgid "A valid username is required"
 msgstr ""
 
-#: flaskbb/auth/forms.py:52 flaskbb/auth/forms.py:115
-#: flaskbb/auth/forms.py:127 flaskbb/auth/forms.py:150
-#: flaskbb/management/forms.py:55
+#: flaskbb/auth/forms.py:65 flaskbb/auth/forms.py:106
+#: flaskbb/auth/forms.py:122 flaskbb/auth/forms.py:152
+#: flaskbb/management/forms.py:59
 msgid "Email address"
 msgstr ""
 
-#: flaskbb/auth/forms.py:53 flaskbb/auth/forms.py:116
-#: flaskbb/auth/forms.py:128 flaskbb/auth/forms.py:151
-#: flaskbb/management/forms.py:56 flaskbb/user/forms.py:36
+#: flaskbb/auth/forms.py:67 flaskbb/auth/forms.py:108
+#: flaskbb/auth/forms.py:124 flaskbb/auth/forms.py:154
+#: flaskbb/management/forms.py:60 flaskbb/user/forms.py:40
 msgid "A valid email address is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:54 flaskbb/auth/forms.py:152
-#: flaskbb/management/forms.py:57 flaskbb/user/forms.py:37
-#: flaskbb/user/forms.py:42 flaskbb/user/forms.py:45
+#: flaskbb/auth/forms.py:68 flaskbb/auth/forms.py:155
+#: flaskbb/management/forms.py:61 flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:46 flaskbb/user/forms.py:49
 msgid "Invalid email address."
 msgstr ""
 
-#: flaskbb/auth/forms.py:58 flaskbb/auth/forms.py:133
+#: flaskbb/auth/forms.py:76 flaskbb/auth/forms.py:133
 msgid "Passwords must match."
 msgstr "輸入的密碼不一致"
 
-#: flaskbb/auth/forms.py:60 flaskbb/auth/forms.py:135
+#: flaskbb/auth/forms.py:80 flaskbb/auth/forms.py:137
 msgid "Confirm password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:64 flaskbb/user/forms.py:28
+#: flaskbb/auth/forms.py:84 flaskbb/user/forms.py:32
 msgid "Language"
 msgstr "語言"
 
-#: flaskbb/auth/forms.py:66
+#: flaskbb/auth/forms.py:87
 msgid "I accept the Terms of Service"
 msgstr "我接受服務條款"
 
-#: flaskbb/auth/forms.py:67
+#: flaskbb/auth/forms.py:88
 msgid "Please accept the TOS."
 msgstr ""
 
-#: flaskbb/auth/forms.py:69 flaskbb/templates/auth/register.html:1
-#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:146
+#: flaskbb/auth/forms.py:92 flaskbb/templates/auth/register.html:1
+#: flaskbb/templates/auth/register.html:10 flaskbb/templates/layout.html:123
 msgid "Register"
 msgstr "註冊"
 
-#: flaskbb/auth/forms.py:79
-#, python-format
-msgid "Username must be between %(min)s and %(max)s characters long."
-msgstr ""
-
-#: flaskbb/auth/forms.py:85
-msgid "This is a system reserved name. Choose a different one."
-msgstr ""
-
-#: flaskbb/auth/forms.py:90 flaskbb/management/forms.py:116
-msgid "This username is already taken."
-msgstr ""
-
-#: flaskbb/auth/forms.py:95 flaskbb/management/forms.py:132
-#: flaskbb/user/forms.py:59
-msgid "This email address is already taken."
-msgstr ""
-
-#: flaskbb/auth/forms.py:111 flaskbb/templates/auth/reauth.html:1
+#: flaskbb/auth/forms.py:101 flaskbb/templates/auth/reauth.html:1
 #: flaskbb/templates/auth/reauth.html:10
 msgid "Refresh Login"
 msgstr "重新登入"
 
-#: flaskbb/auth/forms.py:121
+#: flaskbb/auth/forms.py:115
 msgid "Request Password"
 msgstr "取得密碼"
 
-#: flaskbb/auth/forms.py:137
+#: flaskbb/auth/forms.py:139
 msgid "Reset password"
 msgstr ""
 
-#: flaskbb/auth/forms.py:142
-msgid "Wrong email address."
-msgstr ""
-
-#: flaskbb/auth/forms.py:147 flaskbb/management/forms.py:52
-#: flaskbb/message/forms.py:23
+#: flaskbb/auth/forms.py:146 flaskbb/management/forms.py:56
 msgid "A valid username is required."
 msgstr ""
 
-#: flaskbb/auth/forms.py:154
+#: flaskbb/auth/forms.py:159
 msgid "Send Confirmation Mail"
 msgstr ""
 
-#: flaskbb/auth/forms.py:160
-msgid "User does not exist."
+#: flaskbb/auth/plugins.py:35
+#, python-format
+msgid "An account activation email has been sent to %(email)s"
 msgstr ""
 
-#: flaskbb/auth/forms.py:163
-msgid "User is already active."
-msgstr ""
+#: flaskbb/auth/plugins.py:43
+msgid "Thanks for registering."
+msgstr "感謝註冊"
 
-#: flaskbb/auth/forms.py:167
-msgid "Email confirmation token"
+#: flaskbb/auth/views.py:49
+msgid "Logged out"
 msgstr ""
 
-#: flaskbb/auth/forms.py:168
-msgid "Please enter the token that we have sent to you."
+#: flaskbb/auth/views.py:80
+msgid "Unrecoverable error while handling login"
 msgstr ""
 
-#: flaskbb/auth/forms.py:172
-msgid "Confirm Email"
+#: flaskbb/auth/views.py:107
+msgid "Reauthenticated."
+msgstr "已重新驗證"
+
+#: flaskbb/auth/views.py:112
+msgid "Unrecoverable error while handling reauthentication"
 msgstr ""
 
-#: flaskbb/auth/views.py:82
-msgid "Logged out"
+#: flaskbb/auth/views.py:161
+msgid "Could not process registration dueto an unrecoverable error"
 msgstr ""
 
-#: flaskbb/auth/views.py:104
+#: flaskbb/auth/views.py:196
 msgid ""
-"In order to use your account you have to activate it through the link we "
-"have sent to your email address."
+"You have entered an username or email address that is not linked with your "
+"account."
 msgstr ""
 
-#: flaskbb/auth/views.py:112
-msgid "Wrong username or password."
+#: flaskbb/auth/views.py:202
+msgid "Email sent! Please check your inbox."
 msgstr ""
 
-#: flaskbb/auth/views.py:131
-msgid "Reauthenticated."
-msgstr "已重新驗證"
+#: flaskbb/auth/views.py:237
+msgid "Error when resetting password"
+msgstr ""
 
-#: flaskbb/auth/views.py:134
-msgid "Wrong password."
+#: flaskbb/auth/views.py:248
+msgid "Your password has been updated."
 msgstr ""
 
-#: flaskbb/auth/views.py:167
-#, python-format
-msgid "An account activation email has been sent to %(email)s"
+#: flaskbb/auth/views.py:277
+msgid "A new account activation token has been sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:172
-msgid "Thanks for registering."
-msgstr "感謝註冊"
+#: flaskbb/auth/views.py:312
+msgid "Could not activate account due to an unrecoverable error"
+msgstr ""
 
-#: flaskbb/auth/views.py:193
-msgid "Email sent! Please check your inbox."
+#: flaskbb/auth/views.py:320
+msgid "Your account has been activated and you can now login."
+msgstr ""
+
+#: flaskbb/auth/services/activation.py:33
+msgid "Entered email doesn't exist"
 msgstr ""
 
-#: flaskbb/auth/views.py:197
+#: flaskbb/auth/services/activation.py:36
+#: flaskbb/auth/services/activation.py:53
+msgid "Account is already activated"
+msgstr ""
+
+#: flaskbb/auth/services/authentication.py:70
 msgid ""
-"You have entered an username or email address that is not linked with your "
-"account."
+"Your account is currently locked out due to too many failed login attempts"
 msgstr ""
 
-#: flaskbb/auth/views.py:220
-msgid "Your password token is invalid."
+#: flaskbb/auth/services/authentication.py:127
+msgid ""
+"In order to use your account you have to activate it through the link we "
+"have sent to your email address."
 msgstr ""
 
-#: flaskbb/auth/views.py:224
-msgid "Your password token is expired."
+#: flaskbb/auth/services/authentication.py:161
+msgid "Wrong username or password."
 msgstr ""
 
-#: flaskbb/auth/views.py:230
-msgid "Your password has been updated."
+#: flaskbb/auth/services/password.py:35
+msgid "Invalid email"
 msgstr ""
 
-#: flaskbb/auth/views.py:250
-msgid "A new account activation token has been sent to your email address."
+#: flaskbb/auth/services/reauthentication.py:74
+msgid "Wrong password."
 msgstr ""
 
-#: flaskbb/auth/views.py:268 flaskbb/auth/views.py:299
-msgid "Your account activation token is invalid."
+#: flaskbb/auth/services/registration.py:50
+#, python-format
+msgid "Username must be between %(min)s and %(max)s characters long"
 msgstr ""
 
-#: flaskbb/auth/views.py:272 flaskbb/auth/views.py:303
-msgid "Your account activation token is expired."
+#: flaskbb/auth/services/registration.py:61
+#, python-format
+msgid "%(username)s is a forbidden username"
 msgstr ""
 
-#: flaskbb/auth/views.py:283 flaskbb/auth/views.py:314
-msgid "Your account has been activated."
+#: flaskbb/auth/services/registration.py:83
+#, python-format
+msgid "%(username)s is already registered"
 msgstr ""
 
-#: flaskbb/forum/forms.py:22
+#: flaskbb/auth/services/registration.py:105
+#, python-format
+msgid "%(email)s is already registered"
+msgstr ""
+
+#: flaskbb/core/tokens.py:41
+msgid "Token is invalid"
+msgstr ""
+
+#: flaskbb/core/tokens.py:49
+msgid "Token is expired"
+msgstr ""
+
+#: flaskbb/core/tokens.py:56
+msgid "Token cannot be processed"
+msgstr ""
+
+#: flaskbb/forum/forms.py:28
 msgid "Quick reply"
 msgstr ""
 
-#: flaskbb/forum/forms.py:23 flaskbb/forum/forms.py:34
-#: flaskbb/forum/forms.py:55
+#: flaskbb/forum/forms.py:29 flaskbb/forum/forms.py:40
+#: flaskbb/forum/forms.py:63
 msgid "You cannot post a reply without content."
 msgstr "您不能發表空白的回文"
 
-#: flaskbb/forum/forms.py:25 flaskbb/forum/forms.py:39
+#: flaskbb/forum/forms.py:31 flaskbb/forum/forms.py:45
 #: flaskbb/templates/forum/topic_controls.html:113
 msgid "Reply"
 msgstr "回文"
 
-#: flaskbb/forum/forms.py:33 flaskbb/forum/forms.py:54
-#: flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:39 flaskbb/forum/forms.py:62
+#: flaskbb/forum/forms.py:111
 msgid "Content"
 msgstr "內容"
 
-#: flaskbb/forum/forms.py:36 flaskbb/forum/forms.py:57
+#: flaskbb/forum/forms.py:42 flaskbb/forum/forms.py:65
 msgid "Track this topic"
 msgstr ""
 
-#: flaskbb/forum/forms.py:40 flaskbb/forum/forms.py:61
+#: flaskbb/forum/forms.py:46 flaskbb/forum/forms.py:69
 msgid "Preview"
 msgstr "預覽"
 
-#: flaskbb/forum/forms.py:51
+#: flaskbb/forum/forms.py:59
 msgid "Topic title"
 msgstr ""
 
-#: flaskbb/forum/forms.py:52
+#: flaskbb/forum/forms.py:60
 msgid "Please choose a title for your topic."
 msgstr ""
 
-#: flaskbb/forum/forms.py:60
+#: flaskbb/forum/forms.py:68
 msgid "Post Topic"
 msgstr "發表文章"
 
-#: flaskbb/forum/forms.py:73 flaskbb/templates/management/reports.html:39
+#: flaskbb/forum/forms.py:84 flaskbb/templates/management/reports.html:39
 msgid "Reason"
 msgstr "原因"
 
-#: flaskbb/forum/forms.py:74
+#: flaskbb/forum/forms.py:85
 msgid "What is the reason for reporting this post?"
 msgstr ""
 
-#: flaskbb/forum/forms.py:77
+#: flaskbb/forum/forms.py:88
 msgid "Report post"
 msgstr ""
 
-#: flaskbb/forum/forms.py:85 flaskbb/forum/forms.py:89
-#: flaskbb/forum/forms.py:104 flaskbb/templates/forum/memberlist.html:29
+#: flaskbb/forum/forms.py:96 flaskbb/forum/forms.py:100
+#: flaskbb/forum/forms.py:115 flaskbb/templates/forum/memberlist.html:29
 #: flaskbb/templates/forum/search_form.html:1
 #: flaskbb/templates/forum/search_form.html:10
 #: flaskbb/templates/forum/search_form.html:15
 #: flaskbb/templates/forum/search_result.html:1
 #: flaskbb/templates/forum/search_result.html:10
-#: flaskbb/templates/layout.html:77
+#: flaskbb/templates/layout.html:79
 #: flaskbb/templates/management/banned_users.html:39
-#: flaskbb/templates/management/users.html:39
+#: flaskbb/templates/management/users.html:38
 msgid "Search"
 msgstr "搜尋"
 
-#: flaskbb/forum/forms.py:97
+#: flaskbb/forum/forms.py:108
 msgid "Criteria"
 msgstr "搜尋條件"
 
-#: flaskbb/forum/forms.py:101
+#: flaskbb/forum/forms.py:112
 msgid "Post"
 msgstr "文章"
 
-#: flaskbb/forum/forms.py:101 flaskbb/templates/forum/edit_forum.html:31
+#: flaskbb/forum/forms.py:112 flaskbb/templates/forum/edit_forum.html:31
 #: flaskbb/templates/forum/forum.html:49
 #: flaskbb/templates/forum/search_result.html:134
 #: flaskbb/templates/forum/topictracker.html:31
@@ -331,7 +342,7 @@ msgstr "文章"
 msgid "Topic"
 msgstr "主題"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/category.html:9
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/category.html:9
 #: flaskbb/templates/forum/category_layout.html:8
 #: flaskbb/templates/forum/edit_forum.html:13
 #: flaskbb/templates/forum/forum.html:10
@@ -344,7 +355,7 @@ msgstr "主題"
 #: flaskbb/templates/forum/topic.html:10
 #: flaskbb/templates/forum/topic_horizontal.html:10
 #: flaskbb/templates/forum/topictracker.html:14
-#: flaskbb/templates/layout.html:75
+#: flaskbb/templates/layout.html:77
 #: flaskbb/templates/management/banned_users.html:8
 #: flaskbb/templates/management/category_form.html:8
 #: flaskbb/templates/management/forum_form.html:8
@@ -357,8 +368,7 @@ msgstr "主題"
 #: flaskbb/templates/management/reports.html:8
 #: flaskbb/templates/management/settings.html:7
 #: flaskbb/templates/management/user_form.html:8
-#: flaskbb/templates/management/users.html:8
-#: flaskbb/templates/message/message_layout.html:6
+#: flaskbb/templates/management/users.html:7
 #: flaskbb/templates/user/all_posts.html:6
 #: flaskbb/templates/user/all_topics.html:6
 #: flaskbb/templates/user/profile.html:5
@@ -366,542 +376,550 @@ msgstr "主題"
 msgid "Forum"
 msgstr "論壇"
 
-#: flaskbb/forum/forms.py:102 flaskbb/templates/forum/search_result.html:99
-#: flaskbb/templates/management/management_layout.html:21
+#: flaskbb/forum/forms.py:113 flaskbb/templates/forum/search_result.html:99
 #: flaskbb/templates/management/users.html:1
-#: flaskbb/templates/management/users.html:34
+#: flaskbb/templates/management/users.html:33
 msgid "Users"
 msgstr "使用者"
 
-#: flaskbb/forum/views.py:173
+#: flaskbb/forum/views.py:194
 msgid "Cannot post reply"
 msgstr ""
 
-#: flaskbb/forum/views.py:255
+#: flaskbb/forum/views.py:294
 msgid "In order to perform this action you have to select at least one topic."
 msgstr ""
 
-#: flaskbb/forum/views.py:266
+#: flaskbb/forum/views.py:310
 #, python-format
 msgid "%(count)s topics locked."
 msgstr ""
 
-#: flaskbb/forum/views.py:273
+#: flaskbb/forum/views.py:320
 #, python-format
 msgid "%(count)s topics unlocked."
 msgstr ""
 
-#: flaskbb/forum/views.py:281
+#: flaskbb/forum/views.py:331
 #, python-format
 msgid "%(count)s topics highlighted."
 msgstr ""
 
-#: flaskbb/forum/views.py:288
+#: flaskbb/forum/views.py:341
 #, python-format
 msgid "%(count)s topics trivialized."
 msgstr ""
 
-#: flaskbb/forum/views.py:296
+#: flaskbb/forum/views.py:352
 #, python-format
 msgid "%(count)s topics deleted."
 msgstr ""
 
-#: flaskbb/forum/views.py:304
+#: flaskbb/forum/views.py:360
 msgid "Please choose a new forum for the topics."
 msgstr ""
 
-#: flaskbb/forum/views.py:312
+#: flaskbb/forum/views.py:370
 msgid "You do not have the permissions to move this topic."
 msgstr "您沒有權限移動這個主題"
 
-#: flaskbb/forum/views.py:316
+#: flaskbb/forum/views.py:376
 msgid "Topics moved."
 msgstr ""
 
-#: flaskbb/forum/views.py:318
+#: flaskbb/forum/views.py:378
 msgid "Failed to move topics."
 msgstr ""
 
+#: flaskbb/forum/views.py:390
 #, python-format
 msgid "%(count)s topics hidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:329
+#: flaskbb/forum/views.py:400
 #, python-format
 msgid "%(count)s topics unhidden."
 msgstr ""
 
-#: flaskbb/forum/views.py:333
+#: flaskbb/forum/views.py:404
 msgid "Unknown action requested"
 msgstr ""
 
-#: flaskbb/forum/views.py:429
+#: flaskbb/forum/views.py:502
 msgid "Thanks for reporting."
 msgstr "謝謝您的舉報"
 
-#: flaskbb/forum/views.py:510
+#: flaskbb/forum/views.py:598
 #, python-format
 msgid "%(topic_count)s topics untracked."
 msgstr ""
 
-#: flaskbb/forum/views.py:630
+#: flaskbb/forum/views.py:724
 #, python-format
 msgid "Forum %(forum)s marked as read."
 msgstr "%(forum)s 論壇已經標記為已讀"
 
-#: flaskbb/forum/views.py:651
+#: flaskbb/forum/views.py:749
 msgid "All forums marked as read."
 msgstr "全部論壇已標記為已讀"
 
-#: flaskbb/forum/views.py:692
+#: flaskbb/forum/views.py:793
 msgid "You do not have permission to hide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:708
+#: flaskbb/forum/views.py:811
 msgid "You do not have permission to unhide this topic"
 msgstr ""
 
-#: flaskbb/forum/views.py:722
+#: flaskbb/forum/views.py:827
 msgid "You do not have permission to hide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:726
+#: flaskbb/forum/views.py:831
 msgid "Post is already hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:735
+#: flaskbb/forum/views.py:840
 msgid "Topic hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:737
+#: flaskbb/forum/views.py:842
 msgid "Post hidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:751
+#: flaskbb/forum/views.py:857
 msgid "You do not have permission to unhide this post"
 msgstr ""
 
-#: flaskbb/forum/views.py:755
+#: flaskbb/forum/views.py:861
 msgid "Post is already unhidden"
 msgstr ""
 
-#: flaskbb/forum/views.py:760
+#: flaskbb/forum/views.py:866
 msgid "Post unhidden"
 msgstr ""
 
-#: flaskbb/management/forms.py:62 flaskbb/user/forms.py:81
+#: flaskbb/management/forms.py:66 flaskbb/user/forms.py:85
 msgid "Birthday"
 msgstr "生日"
 
-#: flaskbb/management/forms.py:65 flaskbb/user/forms.py:84
+#: flaskbb/management/forms.py:69 flaskbb/user/forms.py:88
 msgid "Gender"
 msgstr "性別"
 
-#: flaskbb/management/forms.py:67 flaskbb/user/forms.py:86
+#: flaskbb/management/forms.py:71 flaskbb/user/forms.py:90
 msgid "Male"
 msgstr "男"
 
-#: flaskbb/management/forms.py:68 flaskbb/user/forms.py:87
+#: flaskbb/management/forms.py:72 flaskbb/user/forms.py:91
 msgid "Female"
 msgstr "女"
 
-#: flaskbb/management/forms.py:70 flaskbb/user/forms.py:89
+#: flaskbb/management/forms.py:74 flaskbb/user/forms.py:93
 msgid "Location"
 msgstr "位置"
 
-#: flaskbb/management/forms.py:73
-#: flaskbb/templates/forum/search_result.html:48
-#: flaskbb/templates/forum/topic.html:59
-#: flaskbb/templates/forum/topic_horizontal.html:59
-#: flaskbb/templates/message/conversation.html:43
-#: flaskbb/templates/message/conversation.html:97 flaskbb/user/forms.py:92
+#: flaskbb/management/forms.py:77
+#: flaskbb/templates/forum/search_result.html:48 flaskbb/user/forms.py:96
 msgid "Website"
 msgstr "網站"
 
-#: flaskbb/management/forms.py:76 flaskbb/user/forms.py:95
+#: flaskbb/management/forms.py:80 flaskbb/user/forms.py:99
 msgid "Avatar"
 msgstr "頭像"
 
-#: flaskbb/management/forms.py:79
+#: flaskbb/management/forms.py:83
 msgid "Forum signature"
 msgstr ""
 
-#: flaskbb/management/forms.py:82 flaskbb/user/forms.py:101
+#: flaskbb/management/forms.py:86 flaskbb/user/forms.py:105
 msgid "Notes"
 msgstr "說明"
 
-#: flaskbb/management/forms.py:85
+#: flaskbb/management/forms.py:89
 msgid "Is active?"
 msgstr ""
 
-#: flaskbb/management/forms.py:89
+#: flaskbb/management/forms.py:93
 msgid "Primary group"
 msgstr ""
 
-#: flaskbb/management/forms.py:94
+#: flaskbb/management/forms.py:98
 msgid "Secondary groups"
 msgstr ""
 
-#: flaskbb/management/forms.py:100 flaskbb/management/forms.py:232
-#: flaskbb/management/forms.py:355 flaskbb/management/forms.py:437
-#: flaskbb/templates/management/settings.html:59 flaskbb/user/forms.py:31
-#: flaskbb/user/forms.py:47 flaskbb/user/forms.py:73 flaskbb/user/forms.py:104
+#: flaskbb/management/forms.py:104 flaskbb/management/forms.py:235
+#: flaskbb/management/forms.py:395 flaskbb/management/forms.py:477
+#: flaskbb/templates/management/settings.html:70 flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:51 flaskbb/user/forms.py:77 flaskbb/user/forms.py:108
 msgid "Save"
 msgstr "儲存"
 
-#: flaskbb/management/forms.py:156
+#: flaskbb/management/forms.py:120
+msgid "This username is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:136 flaskbb/user/forms.py:63
+msgid "This email address is already taken."
+msgstr ""
+
+#: flaskbb/management/forms.py:160
 msgid "Group name"
 msgstr ""
 
-#: flaskbb/management/forms.py:157
+#: flaskbb/management/forms.py:161
 msgid "Please enter a name for the group."
 msgstr ""
 
-#: flaskbb/management/forms.py:159 flaskbb/management/forms.py:306
-#: flaskbb/management/forms.py:425 flaskbb/templates/management/groups.html:35
+#: flaskbb/management/forms.py:163 flaskbb/management/forms.py:346
+#: flaskbb/management/forms.py:465 flaskbb/templates/management/groups.html:35
 msgid "Description"
 msgstr "說明"
 
-#: flaskbb/management/forms.py:163
+#: flaskbb/management/forms.py:167
 msgid "Is 'Admin' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:164
+#: flaskbb/management/forms.py:168
 msgid "With this option the group has access to the admin panel."
 msgstr "選擇這個選項讓這個群組可使用管理者功能"
 
-#: flaskbb/management/forms.py:168
+#: flaskbb/management/forms.py:172
 msgid "Is 'Super Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:169
+#: flaskbb/management/forms.py:173
 msgid ""
 "Check this, if the users in this group are allowed to moderate every forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:173
+#: flaskbb/management/forms.py:177
 msgid "Is 'Moderator' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:174
+#: flaskbb/management/forms.py:178
 msgid ""
 "Check this, if the users in this group are allowed to moderate specified "
 "forums."
 msgstr ""
 
-#: flaskbb/management/forms.py:178
+#: flaskbb/management/forms.py:182
 msgid "Is 'Banned' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:179
+#: flaskbb/management/forms.py:183
 msgid "Only one group of type 'Banned' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:182
+#: flaskbb/management/forms.py:186
 msgid "Is 'Guest' group?"
 msgstr ""
 
-#: flaskbb/management/forms.py:183
+#: flaskbb/management/forms.py:187
 msgid "Only one group of type 'Guest' is allowed."
 msgstr ""
 
-#: flaskbb/management/forms.py:186
+#: flaskbb/management/forms.py:190
 msgid "Can edit posts"
 msgstr "可編輯文章"
 
-#: flaskbb/management/forms.py:187
+#: flaskbb/management/forms.py:191
 msgid "Check this, if the users in this group can edit posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:190
+#: flaskbb/management/forms.py:194
 msgid "Can delete posts"
 msgstr "可刪除文章"
 
-#: flaskbb/management/forms.py:191
+#: flaskbb/management/forms.py:195
 msgid "Check this, if the users in this group can delete posts."
 msgstr ""
 
-#: flaskbb/management/forms.py:195
+#: flaskbb/management/forms.py:199
 msgid "Can delete topics"
 msgstr "可刪除主題"
 
-#: flaskbb/management/forms.py:196
+#: flaskbb/management/forms.py:200
 msgid "Check this, if the users in this group can delete topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:200
+#: flaskbb/management/forms.py:204
 msgid "Can create topics"
 msgstr "可新增主題"
 
-#: flaskbb/management/forms.py:201
+#: flaskbb/management/forms.py:205
 msgid "Check this, if the users in this group can create topics."
 msgstr ""
 
-#: flaskbb/management/forms.py:205
+#: flaskbb/management/forms.py:209
 msgid "Can post replies"
 msgstr "可發表回覆"
 
-#: flaskbb/management/forms.py:206
+#: flaskbb/management/forms.py:210
 msgid "Check this, if the users in this group can post replies."
 msgstr ""
 
-#: flaskbb/management/forms.py:211
+#: flaskbb/management/forms.py:215
 msgid "Moderators can edit user profiles"
 msgstr "協調者可編輯使用者檔案"
 
-#: flaskbb/management/forms.py:212
+#: flaskbb/management/forms.py:216
 msgid ""
 "Allow moderators to edit another user's profile including password and email"
 " changes."
 msgstr ""
 
-#: flaskbb/management/forms.py:217
+#: flaskbb/management/forms.py:221
 msgid "Moderators can ban users"
 msgstr "協調者可禁止使用者"
 
-#: flaskbb/management/forms.py:218
+#: flaskbb/management/forms.py:222
 msgid "Allow moderators to ban other users."
 msgstr "允許協調者可禁止其他使用者"
 
-#: flaskbb/management/forms.py:222
+#: flaskbb/management/forms.py:226
 msgid "Can view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:223
+#: flaskbb/management/forms.py:227
 msgid "Allows a user to view hidden posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:227
+#: flaskbb/management/forms.py:231
 msgid "Can hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:228
+#: flaskbb/management/forms.py:232
 msgid "Allows a user to hide posts and topics"
 msgstr ""
 
-#: flaskbb/management/forms.py:248
+#: flaskbb/management/forms.py:251
 msgid "This group name is already taken."
 msgstr ""
 
-#: flaskbb/management/forms.py:262
+#: flaskbb/management/forms.py:265
 msgid "There is already a group of type 'Banned'."
 msgstr ""
 
-#: flaskbb/management/forms.py:277
+#: flaskbb/management/forms.py:280
 msgid "There is already a group of type 'Guest'."
 msgstr ""
 
-#: flaskbb/management/forms.py:301
+#: flaskbb/management/forms.py:303
+msgid "Can't assign any permissions to this group."
+msgstr ""
+
+#: flaskbb/management/forms.py:341
 msgid "Forum title"
 msgstr ""
 
-#: flaskbb/management/forms.py:302
+#: flaskbb/management/forms.py:342
 msgid "Please enter a forum title."
 msgstr ""
 
-#: flaskbb/management/forms.py:308 flaskbb/management/forms.py:427
+#: flaskbb/management/forms.py:348 flaskbb/management/forms.py:467
 msgid "You can format your description with Markdown."
 msgstr ""
 
-#: flaskbb/management/forms.py:312 flaskbb/management/forms.py:431
+#: flaskbb/management/forms.py:352 flaskbb/management/forms.py:471
 msgid "Position"
 msgstr "位置"
 
-#: flaskbb/management/forms.py:314
+#: flaskbb/management/forms.py:354
 msgid "Please enter a position for theforum."
 msgstr ""
 
-#: flaskbb/management/forms.py:319
+#: flaskbb/management/forms.py:359
 msgid "Category"
 msgstr "類別"
 
-#: flaskbb/management/forms.py:323
+#: flaskbb/management/forms.py:363
 msgid "The category that contains this forum."
 msgstr "論壇的類別"
 
-#: flaskbb/management/forms.py:327
+#: flaskbb/management/forms.py:367
 msgid "External link"
 msgstr ""
 
-#: flaskbb/management/forms.py:329
+#: flaskbb/management/forms.py:369
 msgid "A link to a website i.e. 'http://flaskbb.org'."
 msgstr "網站連結 如:'http://flaskbb.org'"
 
-#: flaskbb/management/forms.py:333
+#: flaskbb/management/forms.py:373
 #: flaskbb/templates/forum/category_layout.html:80
 #: flaskbb/templates/forum/search_result.html:283
 #: flaskbb/templates/management/forums.html:136
 msgid "Moderators"
 msgstr "協調者"
 
-#: flaskbb/management/forms.py:334
+#: flaskbb/management/forms.py:374
 msgid ""
 "Comma separated usernames. Leave it blank if you do not want to set any "
 "moderators."
 msgstr ""
 
-#: flaskbb/management/forms.py:339
+#: flaskbb/management/forms.py:379
 msgid "Show moderators"
 msgstr ""
 
-#: flaskbb/management/forms.py:340
+#: flaskbb/management/forms.py:380
 msgid "Do you want to show the moderators on the index page?"
 msgstr ""
 
-#: flaskbb/management/forms.py:344
+#: flaskbb/management/forms.py:384
 msgid "Locked?"
 msgstr "鎖定?"
 
-#: flaskbb/management/forms.py:345
+#: flaskbb/management/forms.py:385
 msgid "Disable new posts and topics in this forum."
 msgstr "此論壇禁止所有新文章與主題"
 
-#: flaskbb/management/forms.py:349
+#: flaskbb/management/forms.py:389
 msgid "Group access"
 msgstr ""
 
-#: flaskbb/management/forms.py:352
+#: flaskbb/management/forms.py:392
 msgid "Select the groups that can access this forum."
 msgstr ""
 
-#: flaskbb/management/forms.py:360
+#: flaskbb/management/forms.py:400
 msgid "You cannot convert a forum that contains topics into an external link."
 msgstr ""
 
-#: flaskbb/management/forms.py:366
+#: flaskbb/management/forms.py:406
 msgid "You also need to specify some moderators."
 msgstr "您需要指定幾位協調者"
 
-#: flaskbb/management/forms.py:378
+#: flaskbb/management/forms.py:418
 #, python-format
 msgid "%(user)s is not in a moderators group."
 msgstr "%(user)s 不屬於協調者群組"
 
-#: flaskbb/management/forms.py:421
+#: flaskbb/management/forms.py:461
 msgid "Category title"
 msgstr ""
 
-#: flaskbb/management/forms.py:422
+#: flaskbb/management/forms.py:462
 msgid "Please enter a category title."
 msgstr ""
 
-#: flaskbb/management/forms.py:433
+#: flaskbb/management/forms.py:473
 msgid "Please enter a position for the category."
 msgstr ""
 
-#: flaskbb/management/views.py:106
+#: flaskbb/management/views.py:117
 msgid "Settings saved."
 msgstr "設定已儲存"
 
-#: flaskbb/management/views.py:182 flaskbb/management/views.py:223
+#: flaskbb/management/views.py:197 flaskbb/management/views.py:242
 msgid "Edit User"
 msgstr "編輯使用者"
 
-#: flaskbb/management/views.py:220
+#: flaskbb/management/views.py:238
 msgid "User updated."
 msgstr ""
 
-#: flaskbb/management/views.py:260
+#: flaskbb/management/views.py:280
 msgid "You cannot delete yourself."
 msgstr ""
 
-#: flaskbb/management/views.py:264
+#: flaskbb/management/views.py:284
 msgid "User deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:273 flaskbb/management/views.py:282
+#: flaskbb/management/views.py:294 flaskbb/management/views.py:305
 #: flaskbb/templates/management/banned_users.html:24
 #: flaskbb/templates/management/user_form.html:24
-#: flaskbb/templates/management/users.html:24
+#: flaskbb/templates/management/users.html:23
 msgid "Add User"
 msgstr "新增使用者"
 
-#: flaskbb/management/views.py:279
+#: flaskbb/management/views.py:301
 msgid "User added."
 msgstr ""
 
-#: flaskbb/management/views.py:325
+#: flaskbb/management/views.py:358
 msgid "You do not have the permissions to ban this user."
 msgstr "您沒有權限禁止此使用者"
 
-#: flaskbb/management/views.py:347
+#: flaskbb/management/views.py:387
 #: flaskbb/templates/management/banned_users.html:95
-#: flaskbb/templates/management/users.html:122
+#: flaskbb/templates/management/users.html:121
 msgid "Unban"
 msgstr "取消禁止"
 
-#: flaskbb/management/views.py:362
+#: flaskbb/management/views.py:404
 msgid "A moderator cannot ban an admin user."
 msgstr "協調者不能禁止管理者"
 
-#: flaskbb/management/views.py:366
+#: flaskbb/management/views.py:408
 msgid "User is now banned."
 msgstr "已禁止此使用者"
 
-#: flaskbb/management/views.py:368
+#: flaskbb/management/views.py:410
 msgid "Could not ban user."
 msgstr "不能禁止此使用者"
 
-#: flaskbb/management/views.py:378
+#: flaskbb/management/views.py:421
 msgid "You do not have the permissions to unban this user."
 msgstr "您沒有權限取消禁止此使用者"
 
-#: flaskbb/management/views.py:393 flaskbb/templates/management/users.html:111
+#: flaskbb/management/views.py:438 flaskbb/templates/management/users.html:110
 msgid "Ban"
 msgstr "禁止"
 
-#: flaskbb/management/views.py:408
+#: flaskbb/management/views.py:454
 msgid "User is now unbanned."
 msgstr "已取消禁止此使用者"
 
-#: flaskbb/management/views.py:410
+#: flaskbb/management/views.py:456
 msgid "Could not unban user."
 msgstr "不能取消禁止此使用者"
 
-#: flaskbb/management/views.py:435 flaskbb/management/views.py:445
+#: flaskbb/management/views.py:483 flaskbb/management/views.py:494
 #: flaskbb/templates/management/group_form.html:21
 #: flaskbb/templates/management/groups.html:20
 msgid "Add Group"
 msgstr "新增群組"
 
-#: flaskbb/management/views.py:442
+#: flaskbb/management/views.py:490
 msgid "Group added."
 msgstr ""
 
-#: flaskbb/management/views.py:455 flaskbb/management/views.py:471
+#: flaskbb/management/views.py:506 flaskbb/management/views.py:524
 msgid "Edit Group"
 msgstr "編輯群組"
 
-#: flaskbb/management/views.py:468
+#: flaskbb/management/views.py:520
 msgid "Group updated."
 msgstr ""
 
-#: flaskbb/management/views.py:501
+#: flaskbb/management/views.py:556
 msgid "You cannot delete one of the standard groups."
 msgstr ""
 
-#: flaskbb/management/views.py:510
+#: flaskbb/management/views.py:565
 msgid "You cannot delete the standard groups. Try renaming it instead."
 msgstr ""
 
-#: flaskbb/management/views.py:519
+#: flaskbb/management/views.py:574
 msgid "Group deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:522
+#: flaskbb/management/views.py:577
 msgid "No group chosen."
 msgstr ""
 
-#: flaskbb/management/views.py:548 flaskbb/management/views.py:564
+#: flaskbb/management/views.py:606 flaskbb/management/views.py:627
 #: flaskbb/templates/management/forums.html:155
 msgid "Edit Forum"
 msgstr "編輯論壇"
 
-#: flaskbb/management/views.py:556
+#: flaskbb/management/views.py:615
 msgid "Forum updated."
 msgstr ""
 
-#: flaskbb/management/views.py:580 flaskbb/management/views.py:595
+#: flaskbb/management/views.py:645 flaskbb/management/views.py:662
 #: flaskbb/templates/management/category_form.html:21
 #: flaskbb/templates/management/forum_form.html:21
 #: flaskbb/templates/management/forums.html:20
@@ -909,175 +927,89 @@ msgstr ""
 msgid "Add Forum"
 msgstr "新增論壇"
 
-#: flaskbb/management/views.py:587
+#: flaskbb/management/views.py:653
 msgid "Forum added."
 msgstr ""
 
-#: flaskbb/management/views.py:609
+#: flaskbb/management/views.py:678
 msgid "Forum deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:619 flaskbb/management/views.py:630
+#: flaskbb/management/views.py:690 flaskbb/management/views.py:702
 #: flaskbb/templates/management/category_form.html:22
 #: flaskbb/templates/management/forum_form.html:22
 #: flaskbb/templates/management/forums.html:21
 msgid "Add Category"
 msgstr "新增類別"
 
-#: flaskbb/management/views.py:627
+#: flaskbb/management/views.py:698
 msgid "Category added."
 msgstr ""
 
-#: flaskbb/management/views.py:643 flaskbb/management/views.py:657
+#: flaskbb/management/views.py:718 flaskbb/management/views.py:734
 #: flaskbb/templates/management/forums.html:46
 msgid "Edit Category"
 msgstr "編輯類別"
 
-#: flaskbb/management/views.py:653
+#: flaskbb/management/views.py:728
 msgid "Category updated."
 msgstr ""
 
-#: flaskbb/management/views.py:672
+#: flaskbb/management/views.py:750
 msgid "Category with all associated forums deleted."
 msgstr "已刪除類別與所有相關論壇"
 
-#: flaskbb/management/views.py:736
+#: flaskbb/management/views.py:815
 #, python-format
 msgid "Report %(id)s is already marked as read."
 msgstr "舉報 %(id)s 已標記為已讀"
 
-#: flaskbb/management/views.py:742
+#: flaskbb/management/views.py:823
 #, python-format
 msgid "Report %(id)s marked as read."
 msgstr "舉報 %(id)s 標記為已讀"
 
-#: flaskbb/management/views.py:756
+#: flaskbb/management/views.py:837
 msgid "All reports were marked as read."
 msgstr "全部舉報已標記為已讀"
 
-#: flaskbb/management/views.py:790
+#: flaskbb/management/views.py:871
 msgid "Report deleted."
 msgstr ""
 
-#: flaskbb/management/views.py:863
+#: flaskbb/management/views.py:954
 #, python-format
 msgid "Plugin %(plugin)s is already enabled."
 msgstr ""
 
-#: flaskbb/management/views.py:869
+#: flaskbb/management/views.py:963
 #, python-format
 msgid "Plugin %(plugin)s enabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:874
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"removing the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:891
+#: flaskbb/management/views.py:980
 #, python-format
-msgid "Plugin %(plugin)s not found."
-msgstr "外掛 %(plugin)s 不存在"
+msgid "Plugin %(plugin)s is already disabled."
+msgstr ""
 
-#: flaskbb/management/views.py:897
+#: flaskbb/management/views.py:988
 #, python-format
 msgid "Plugin %(plugin)s disabled. Please restart FlaskBB now."
 msgstr ""
 
-#: flaskbb/management/views.py:902
-msgid ""
-"It seems that FlaskBB does not have enough filesystem permissions. Try "
-"creating the 'DISABLED' file by yourself instead."
-msgstr ""
-
-#: flaskbb/management/views.py:921
+#: flaskbb/management/views.py:1004
 msgid "Plugin has been uninstalled."
 msgstr "外掛已移除"
 
-#: flaskbb/management/views.py:923
-msgid "Cannot uninstall plugin."
+#: flaskbb/management/views.py:1017
+#, python-format
+msgid "Can't install plugin. Enable '%(plugin)s' plugin first."
 msgstr ""
 
-#: flaskbb/management/views.py:937
+#: flaskbb/management/views.py:1025
 msgid "Plugin has been installed."
 msgstr "外掛已安裝"
 
-#: flaskbb/management/views.py:939
-msgid "Cannot install plugin."
-msgstr ""
-
-#: flaskbb/message/forms.py:22
-msgid "Recipient"
-msgstr ""
-
-#: flaskbb/message/forms.py:25
-msgid "Subject"
-msgstr "主題"
-
-#: flaskbb/message/forms.py:26
-msgid "A Subject is required."
-msgstr "請輸入主題"
-
-#: flaskbb/message/forms.py:28 flaskbb/message/forms.py:59
-#: flaskbb/templates/forum/search_result.html:43
-#: flaskbb/templates/forum/topic.html:54
-#: flaskbb/templates/forum/topic_horizontal.html:54
-#: flaskbb/templates/message/conversation.html:93
-#: flaskbb/templates/user/profile_layout.html:47
-msgid "Message"
-msgstr "訊息"
-
-#: flaskbb/message/forms.py:29 flaskbb/message/forms.py:60
-msgid "A message is required."
-msgstr ""
-
-#: flaskbb/message/forms.py:31
-msgid "Start Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:32
-msgid "Save Conversation"
-msgstr ""
-
-#: flaskbb/message/forms.py:37
-msgid "The username you entered does not exist."
-msgstr ""
-
-#: flaskbb/message/forms.py:40
-msgid "You cannot send a PM to yourself."
-msgstr "您無法發送訊息給自己"
-
-#: flaskbb/message/forms.py:61
-msgid "Send Message"
-msgstr "發送訊息"
-
-#: flaskbb/message/views.py:38
-msgid ""
-"You cannot send any messages anymore because you have reached your message "
-"limit."
-msgstr ""
-
-#: flaskbb/message/views.py:142 flaskbb/message/views.py:192
-msgid "Compose Message"
-msgstr "編寫訊息"
-
-#: flaskbb/message/views.py:160 flaskbb/message/views.py:235
-msgid "Message saved."
-msgstr "訊息已儲存"
-
-#: flaskbb/message/views.py:189 flaskbb/message/views.py:255
-msgid "Message sent."
-msgstr "訊息已送出"
-
-#: flaskbb/message/views.py:205 flaskbb/message/views.py:221
-msgid "You cannot edit a sent message."
-msgstr "您無法編輯一個已送出的訊息"
-
-#: flaskbb/message/views.py:213 flaskbb/message/views.py:262
-msgid "Edit Message"
-msgstr "編輯訊息"
-
 #: flaskbb/templates/confirm_dialog.html:6
 msgid "Are you sure?"
 msgstr ""
@@ -1098,35 +1030,23 @@ msgstr ""
 
 #: flaskbb/templates/forum/memberlist.html:1
 #: flaskbb/templates/forum/memberlist.html:13
-#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:76
+#: flaskbb/templates/forum/memberlist.html:39 flaskbb/templates/layout.html:78
 msgid "Memberlist"
 msgstr "使用者列表"
 
-#: flaskbb/templates/layout.html:89 flaskbb/templates/layout.html:110
-#: flaskbb/templates/message/inbox.html:1
-#: flaskbb/templates/message/message_layout.html:18
-msgid "Inbox"
-msgstr "收件箱"
-
-#: flaskbb/templates/layout.html:111
-#: flaskbb/templates/message/message_layout.html:16
-msgid "New Message"
-msgstr "新訊息"
-
 #: flaskbb/templates/forum/topictracker.html:1
 #: flaskbb/templates/forum/topictracker.html:15
 #: flaskbb/templates/forum/topictracker.html:26
-#: flaskbb/templates/layout.html:123
+#: flaskbb/templates/layout.html:97
 msgid "Topic Tracker"
 msgstr "追蹤的主題"
 
-#: flaskbb/templates/layout.html:126
-#: flaskbb/templates/management/management_layout.html:15
+#: flaskbb/templates/layout.html:100
 #: flaskbb/templates/user/settings_layout.html:8
 msgid "Settings"
 msgstr "設定"
 
-#: flaskbb/templates/layout.html:128
+#: flaskbb/templates/layout.html:102
 #: flaskbb/templates/management/banned_users.html:9
 #: flaskbb/templates/management/category_form.html:9
 #: flaskbb/templates/management/forum_form.html:9
@@ -1138,17 +1058,17 @@ msgstr "設定"
 #: flaskbb/templates/management/reports.html:9
 #: flaskbb/templates/management/settings.html:8
 #: flaskbb/templates/management/user_form.html:9
-#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:8
 msgid "Management"
 msgstr "管理"
 
-#: flaskbb/templates/layout.html:132
+#: flaskbb/templates/layout.html:106
 msgid "Logout"
 msgstr "登出"
 
 #: flaskbb/templates/auth/reset_password.html:1
 #: flaskbb/templates/auth/reset_password.html:10
-#: flaskbb/templates/layout.html:148
+#: flaskbb/templates/layout.html:125
 msgid "Reset Password"
 msgstr "重置密碼"
 
@@ -1177,8 +1097,8 @@ msgstr ""
 #: flaskbb/templates/email/activate_account.html:3
 #: flaskbb/templates/email/reset_password.html:2
 #, python-format
-msgid "Dear %(user)s,"
-msgstr "親愛的 %(user)s,"
+msgid "Dear %(username)s,"
+msgstr ""
 
 #: flaskbb/templates/email/activate_account.html:5
 msgid "Click the link below to activate your account:"
@@ -1256,11 +1176,11 @@ msgstr ""
 #: flaskbb/templates/forum/category_layout.html:9
 #: flaskbb/templates/forum/search_result.html:129
 #: flaskbb/templates/forum/search_result.html:214
-#: flaskbb/templates/management/overview.html:99
+#: flaskbb/templates/management/overview.html:91
 #: flaskbb/templates/user/all_posts.html:28
 #: flaskbb/templates/user/all_topics.html:8
 #: flaskbb/templates/user/all_topics.html:28
-#: flaskbb/templates/user/profile_layout.html:69
+#: flaskbb/templates/user/profile_layout.html:63
 msgid "Topics"
 msgstr "主題數"
 
@@ -1273,18 +1193,16 @@ msgstr "主題數"
 #: flaskbb/templates/forum/search_result.html:105
 #: flaskbb/templates/forum/search_result.html:135
 #: flaskbb/templates/forum/search_result.html:215
-#: flaskbb/templates/forum/topic.html:51
-#: flaskbb/templates/forum/topic_horizontal.html:51
+#: flaskbb/templates/forum/topic.html:53
+#: flaskbb/templates/forum/topic_horizontal.html:60
 #: flaskbb/templates/forum/topictracker.html:32
 #: flaskbb/templates/management/banned_users.html:63
-#: flaskbb/templates/management/overview.html:102
-#: flaskbb/templates/management/users.html:63
-#: flaskbb/templates/message/conversation.html:40
-#: flaskbb/templates/message/conversation.html:91
+#: flaskbb/templates/management/overview.html:94
+#: flaskbb/templates/management/users.html:62
 #: flaskbb/templates/user/all_posts.html:8
 #: flaskbb/templates/user/all_posts.html:34
 #: flaskbb/templates/user/all_topics.html:34
-#: flaskbb/templates/user/profile_layout.html:75
+#: flaskbb/templates/user/profile_layout.html:69
 msgid "Posts"
 msgstr "文章數"
 
@@ -1313,7 +1231,7 @@ msgstr ""
 #: flaskbb/templates/forum/search_result.html:317
 #: flaskbb/templates/forum/topictracker.html:68
 #: flaskbb/templates/forum/topictracker.html:91
-#: flaskbb/templates/management/plugins.html:51
+#: flaskbb/templates/management/plugins.html:46
 msgid "by"
 msgstr "由"
 
@@ -1356,9 +1274,9 @@ msgid "Trivialize"
 msgstr ""
 
 #: flaskbb/templates/forum/edit_forum.html:145
-#: flaskbb/templates/management/groups.html:63
+#: flaskbb/templates/management/groups.html:65
 #: flaskbb/templates/management/reports.html:82
-#: flaskbb/templates/management/users.html:131
+#: flaskbb/templates/management/users.html:130
 msgid "Delete"
 msgstr "刪除"
 
@@ -1444,14 +1362,14 @@ msgstr "線上遊客"
 #: flaskbb/templates/forum/memberlist.html:48
 #: flaskbb/templates/forum/search_result.html:106
 #: flaskbb/templates/management/banned_users.html:64
-#: flaskbb/templates/management/users.html:64
+#: flaskbb/templates/management/users.html:63
 msgid "Date registered"
 msgstr "註冊日期"
 
 #: flaskbb/templates/forum/memberlist.html:50
 #: flaskbb/templates/forum/search_result.html:107
 #: flaskbb/templates/management/banned_users.html:65
-#: flaskbb/templates/management/users.html:65
+#: flaskbb/templates/management/users.html:64
 msgid "Group"
 msgstr "群組"
 
@@ -1485,16 +1403,17 @@ msgid "Close"
 msgstr "關閉"
 
 #: flaskbb/templates/forum/search_result.html:39
-#: flaskbb/templates/forum/topic.html:50
-#: flaskbb/templates/forum/topic_horizontal.html:50
-#: flaskbb/templates/message/conversation.html:39
-#: flaskbb/templates/message/conversation.html:90
+#: flaskbb/templates/forum/topic.html:52
+#: flaskbb/templates/forum/topic_horizontal.html:59
 msgid "Joined"
 msgstr "加入於"
 
+#: flaskbb/templates/forum/search_result.html:43
+msgid "Message"
+msgstr "訊息"
+
 #: flaskbb/templates/forum/search_result.html:54
-#: flaskbb/templates/forum/topic.html:65
-#: flaskbb/templates/message/conversation.html:102
+#: flaskbb/templates/forum/topic.html:60
 msgid "Guest"
 msgstr "遊客"
 
@@ -1504,7 +1423,7 @@ msgstr ""
 
 #: flaskbb/templates/forum/search_result.html:119
 #: flaskbb/templates/management/banned_users.html:104
-#: flaskbb/templates/management/users.html:140
+#: flaskbb/templates/management/users.html:139
 msgid "No users found matching your search criteria."
 msgstr "您輸入的搜尋條件未發現符合使用者"
 
@@ -1523,11 +1442,12 @@ msgid "%(title)s - Topic"
 msgstr "%(title)s - 主題"
 
 #: flaskbb/templates/forum/topic.html:20
+#: flaskbb/templates/forum/topic_horizontal.html:20
 #, python-format
 msgid "This topic is hidden (%(when)s  by %(who)s)"
 msgstr ""
 
-#: flaskbb/templates/forum/topic.html:96
+#: flaskbb/templates/forum/topic.html:91
 #, python-format
 msgid "This post is hidden (%(when)s  by %(who)s)"
 msgstr ""
@@ -1580,7 +1500,7 @@ msgstr ""
 #: flaskbb/templates/management/banned_users.html:21
 #: flaskbb/templates/management/banned_users.html:34
 #: flaskbb/templates/management/user_form.html:21
-#: flaskbb/templates/management/users.html:21
+#: flaskbb/templates/management/users.html:20
 msgid "Banned Users"
 msgstr "禁止的使用者"
 
@@ -1588,20 +1508,20 @@ msgstr "禁止的使用者"
 #: flaskbb/templates/management/banned_users.html:20
 #: flaskbb/templates/management/user_form.html:10
 #: flaskbb/templates/management/user_form.html:20
-#: flaskbb/templates/management/users.html:10
-#: flaskbb/templates/management/users.html:20
+#: flaskbb/templates/management/users.html:9
+#: flaskbb/templates/management/users.html:19
 msgid "Manage Users"
 msgstr "管理使用者"
 
 #: flaskbb/templates/management/banned_users.html:70
 #: flaskbb/templates/management/groups.html:39
 #: flaskbb/templates/management/reports.html:45
-#: flaskbb/templates/management/users.html:69
+#: flaskbb/templates/management/users.html:68
 msgid "Actions"
 msgstr ""
 
 #: flaskbb/templates/management/banned_users.html:75
-#: flaskbb/templates/management/users.html:80
+#: flaskbb/templates/management/users.html:79
 msgid "Unban selected Users"
 msgstr ""
 
@@ -1614,7 +1534,6 @@ msgstr "管理論壇"
 
 #: flaskbb/templates/management/forums.html:1
 #: flaskbb/templates/management/forums.html:9
-#: flaskbb/templates/management/management_layout.html:16
 msgid "Forums"
 msgstr "論壇"
 
@@ -1647,8 +1566,7 @@ msgstr "管理群組"
 
 #: flaskbb/templates/management/groups.html:1
 #: flaskbb/templates/management/groups.html:28
-#: flaskbb/templates/management/management_layout.html:18
-#: flaskbb/templates/management/overview.html:96
+#: flaskbb/templates/management/overview.html:88
 msgid "Groups"
 msgstr "群組"
 
@@ -1661,99 +1579,96 @@ msgid "Delete selected Groups"
 msgstr ""
 
 #: flaskbb/templates/management/groups.html:59
-#: flaskbb/templates/management/users.html:103
+#: flaskbb/templates/management/users.html:102
 msgid "Edit"
 msgstr "編輯"
 
-#: flaskbb/templates/management/groups.html:71
+#: flaskbb/templates/management/groups.html:74
 msgid "No groups found."
 msgstr ""
 
-#: flaskbb/templates/management/management_layout.html:12
 #: flaskbb/templates/management/overview.html:1
 #: flaskbb/templates/management/overview.html:16
 #: flaskbb/templates/user/all_posts.html:16
 #: flaskbb/templates/user/all_topics.html:16
-#: flaskbb/templates/user/profile_layout.html:57
+#: flaskbb/templates/user/profile_layout.html:51
 msgid "Overview"
 msgstr "概況"
 
-#: flaskbb/templates/management/management_layout.html:17
-#: flaskbb/templates/management/overview.html:139
-#: flaskbb/templates/management/plugins.html:1
-#: flaskbb/templates/management/plugins.html:9
-msgid "Plugins"
-msgstr "外掛"
-
-#: flaskbb/templates/management/management_layout.html:22
-#: flaskbb/templates/management/overview.html:105
-#: flaskbb/templates/management/reports.html:1
-#: flaskbb/templates/management/reports.html:10
-#: flaskbb/templates/management/reports.html:31
-msgid "Reports"
-msgstr "舉報"
-
-#: flaskbb/templates/management/overview.html:26
-msgid "There is a problem."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:27
-msgid "Celery is <strong>not</strong> running."
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:28
-msgid "You can start celery with this command:"
-msgstr ""
-
-#: flaskbb/templates/management/overview.html:33
+#: flaskbb/templates/management/overview.html:25
 msgid "There is something that wants your attention."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:34
+#: flaskbb/templates/management/overview.html:26
 #, python-format
 msgid "You have <a href=\"%(url)s\">%(unread_reports)s unread reports</a>."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:38
+#: flaskbb/templates/management/overview.html:30
 msgid "Everything seems alright."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:39
+#: flaskbb/templates/management/overview.html:31
 msgid "No new notifications."
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:52
+#: flaskbb/templates/management/overview.html:44
 msgid "users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:64
+#: flaskbb/templates/management/overview.html:56
 msgid "posts"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:76
+#: flaskbb/templates/management/overview.html:68
 msgid "topics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:84
+#: flaskbb/templates/management/overview.html:76
 msgid "Statistics"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:87
+#: flaskbb/templates/management/overview.html:79
 msgid "Registered users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:90
+#: flaskbb/templates/management/overview.html:82
 msgid "Online users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:93
+#: flaskbb/templates/management/overview.html:85
 msgid "Banned users"
 msgstr ""
 
-#: flaskbb/templates/management/overview.html:110
+#: flaskbb/templates/management/overview.html:97
+#: flaskbb/templates/management/reports.html:1
+#: flaskbb/templates/management/reports.html:10
+#: flaskbb/templates/management/reports.html:31
+msgid "Reports"
+msgstr "舉報"
+
+#: flaskbb/templates/management/overview.html:102
 msgid "Components"
 msgstr ""
 
+#: flaskbb/templates/management/overview.html:128
+#: flaskbb/templates/management/plugins.html:1
+#: flaskbb/templates/management/plugins.html:9
+msgid "Plugins"
+msgstr "外掛"
+
+#: flaskbb/templates/management/overview.html:169
+msgid "There is a problem."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:170
+msgid "Celery is <strong>not</strong> running."
+msgstr ""
+
+#: flaskbb/templates/management/overview.html:171
+msgid "You can start celery with this command:"
+msgstr ""
+
 #: flaskbb/templates/management/plugins.html:19
 msgid "Manage Plugins"
 msgstr "管理外掛"
@@ -1770,23 +1685,23 @@ msgstr "資訊"
 msgid "Manage"
 msgstr "管理"
 
-#: flaskbb/templates/management/plugins.html:49
+#: flaskbb/templates/management/plugins.html:44
 msgid "Version"
 msgstr "版本"
 
-#: flaskbb/templates/management/plugins.html:57
+#: flaskbb/templates/management/plugins.html:52
 msgid "Enable"
 msgstr "啟用"
 
-#: flaskbb/templates/management/plugins.html:62
+#: flaskbb/templates/management/plugins.html:57
 msgid "Disable"
 msgstr "取消"
 
-#: flaskbb/templates/management/plugins.html:69
+#: flaskbb/templates/management/plugins.html:65
 msgid "Install"
 msgstr "安裝"
 
-#: flaskbb/templates/management/plugins.html:75
+#: flaskbb/templates/management/plugins.html:72
 msgid "Uninstall"
 msgstr "移除"
 
@@ -1818,48 +1733,14 @@ msgstr ""
 msgid "No reports."
 msgstr "無舉報"
 
-#: flaskbb/templates/management/users.html:74
+#: flaskbb/templates/management/users.html:73
 msgid "Ban selected Users"
 msgstr ""
 
-#: flaskbb/templates/management/users.html:86
+#: flaskbb/templates/management/users.html:85
 msgid "Delete selected Users"
 msgstr ""
 
-#: flaskbb/templates/message/conversation.html:101
-msgid "Deleted"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:7
-msgid "Conversations"
-msgstr ""
-
-#: flaskbb/templates/message/conversation_list.html:92
-msgid "No conversations found."
-msgstr ""
-
-#: flaskbb/templates/message/drafts.html:1
-#: flaskbb/templates/message/message_layout.html:20
-msgid "Drafts"
-msgstr "草稿"
-
-#: flaskbb/templates/message/message_layout.html:8
-msgid "Private Message"
-msgstr "訊息"
-
-#: flaskbb/templates/message/message_layout.html:19
-msgid "Sent"
-msgstr "已送出"
-
-#: flaskbb/templates/message/message_layout.html:21
-#: flaskbb/templates/message/trash.html:1
-msgid "Trash"
-msgstr "垃圾"
-
-#: flaskbb/templates/message/sent.html:1
-msgid "Sent Messages"
-msgstr "已送出訊息"
-
 #: flaskbb/templates/user/all_posts.html:65
 msgid "The user has not written any posts yet."
 msgstr ""
@@ -1869,22 +1750,18 @@ msgid "The user has not opened any topics yet."
 msgstr ""
 
 #: flaskbb/templates/user/change_email.html:7
-#: flaskbb/templates/user/settings_layout.html:18
 msgid "Change E-Mail Address"
 msgstr "變更電子郵件"
 
 #: flaskbb/templates/user/change_password.html:7
-#: flaskbb/templates/user/settings_layout.html:19
 msgid "Change Password"
 msgstr "變更密碼"
 
 #: flaskbb/templates/user/change_user_details.html:8
-#: flaskbb/templates/user/settings_layout.html:17
 msgid "Change User Details"
 msgstr "變更使用者內容"
 
 #: flaskbb/templates/user/general_settings.html:7
-#: flaskbb/templates/user/settings_layout.html:16
 msgid "General Settings"
 msgstr "一般設定"
 
@@ -1892,11 +1769,11 @@ msgstr "一般設定"
 msgid "Info"
 msgstr "資訊"
 
-#: flaskbb/templates/user/profile.html:25
+#: flaskbb/templates/user/profile.html:30
 msgid "User has not added any notes about him."
 msgstr "使用者未新增說明"
 
-#: flaskbb/templates/user/profile.html:34
+#: flaskbb/templates/user/profile.html:38
 msgid "Signature"
 msgstr ""
 
@@ -1904,86 +1781,82 @@ msgstr ""
 msgid "Never seen"
 msgstr "從未登入"
 
-#: flaskbb/templates/user/settings_layout.html:15
-msgid "Account Settings"
-msgstr "帳號設定"
-
-#: flaskbb/user/forms.py:29
+#: flaskbb/user/forms.py:33
 msgid "Theme"
 msgstr "主題"
 
-#: flaskbb/user/forms.py:35
+#: flaskbb/user/forms.py:39
 msgid "Old email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:39
+#: flaskbb/user/forms.py:43
 msgid "New email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:41
+#: flaskbb/user/forms.py:45
 msgid "Email addresses must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:44
+#: flaskbb/user/forms.py:48
 msgid "Confirm email address"
 msgstr ""
 
-#: flaskbb/user/forms.py:66
+#: flaskbb/user/forms.py:70
 msgid "New password"
 msgstr ""
 
-#: flaskbb/user/forms.py:68
+#: flaskbb/user/forms.py:72
 msgid "New passwords must match."
 msgstr ""
 
-#: flaskbb/user/forms.py:71
+#: flaskbb/user/forms.py:75
 msgid "Confirm new password"
 msgstr ""
 
-#: flaskbb/user/forms.py:77
+#: flaskbb/user/forms.py:81
 msgid "Old password is wrong."
 msgstr ""
 
-#: flaskbb/user/forms.py:98
+#: flaskbb/user/forms.py:102
 msgid "Forum Signature"
 msgstr "簽名檔"
 
-#: flaskbb/user/views.py:52
+#: flaskbb/user/views.py:59
 msgid "Settings updated."
 msgstr "已更新設定"
 
-#: flaskbb/user/views.py:73
+#: flaskbb/user/views.py:80
 msgid "Password updated."
 msgstr "已更新密碼"
 
-#: flaskbb/user/views.py:90
+#: flaskbb/user/views.py:99
 msgid "Email address updated."
 msgstr ""
 
-#: flaskbb/user/views.py:108
+#: flaskbb/user/views.py:119
 msgid "User details updated."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:99
+#: flaskbb/utils/helpers.py:109
 msgid "You do not have the permissions to execute this action."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:115
+#: flaskbb/utils/helpers.py:125
 msgid "You do not have the permissions to delete these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:124
+#: flaskbb/utils/helpers.py:134
 msgid "You do not have the permissions to hide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:135
+#: flaskbb/utils/helpers.py:145
 msgid "You do not have the permissions to unhide these topics."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:680
+#: flaskbb/utils/helpers.py:741
 msgid "The registration has been disabled."
 msgstr ""
 
-#: flaskbb/utils/helpers.py:692
+#: flaskbb/utils/helpers.py:753
 msgid "This account is already activated."
 msgstr ""

+ 0 - 1
flaskbb/user/models.py

@@ -156,7 +156,6 @@ class User(db.Model, UserMixin, CRUDMixin):
         primaryjoin=(topictracker.c.user_id == id),
         backref=db.backref("topicstracked", lazy="dynamic"),
         lazy="dynamic",
-        cascade="all, delete-orphan",
         single_parent=True
     )
 

+ 3 - 3
flaskbb/utils/helpers.py

@@ -298,7 +298,7 @@ def topic_is_unread(topic, topicsread, user, forumsread=None):
         return False
 
     # check read_cutoff
-    if topic.last_post.date_created < read_cutoff:
+    if topic.last_updated < read_cutoff:
         return False
 
     # topicsread is none if the user has marked the forum as read
@@ -306,14 +306,14 @@ def topic_is_unread(topic, topicsread, user, forumsread=None):
     if topicsread is None:
         # user has cleared the forum - check if there is a new post
         if forumsread and forumsread.cleared is not None:
-            return forumsread.cleared < topic.last_post.date_created
+            return forumsread.cleared < topic.last_updated
 
         # user hasn't read the topic yet, or there is a new post since the user
         # has marked the forum as read
         return True
 
     # check if there is a new post since the user's last topic visit
-    return topicsread.last_read < topic.last_post.date_created
+    return topicsread.last_read < topic.last_updated
 
 
 def mark_online(user_id, guest=False):  # pragma: no cover

+ 7 - 7
requirements.txt

@@ -5,16 +5,16 @@ Babel==2.5.3
 billiard==3.5.0.2
 blinker==1.4
 celery==4.0.2
-certifi==2018.1.18
+certifi==2018.4.16
 chardet==3.0.4
 click==6.7
 click-log==0.2.1
 enum34==1.1.6
-Flask==0.12.2
+Flask==1.0.2
 Flask-Alembic==2.0.1
-flask-allows==0.4
+flask-allows==0.4.0
 Flask-BabelPlus==2.1.1
-Flask-Caching==1.3.3
+Flask-Caching==1.4.0
 Flask-DebugToolbar==0.10.1
 Flask-Limiter==1.0.1
 Flask-Login==0.4.1
@@ -43,11 +43,11 @@ python-editor==1.0.3
 pytz==2018.4
 redis==2.10.6
 requests==2.18.4
-simplejson==3.13.2
+simplejson==3.14.0
 six==1.11.0
 speaklater==1.3
-SQLAlchemy==1.2.6
-SQLAlchemy-Utils==0.33.2
+SQLAlchemy==1.2.7
+SQLAlchemy-Utils==0.33.3
 Unidecode==1.0.22
 urllib3==1.22
 vine==1.1.4

+ 14 - 38
setup.py

@@ -1,39 +1,7 @@
-"""
-FlaskBB
-=======
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
 
-FlaskBB is a Forum Software written in Python using the micro framework Flask.
-
-
-Quickstart
-----------
-
-.. code:: bash
-
-    # Install the FlaskBB package and it's dependencies
-    $ pip install -e .
-
-    # Generate a configuration
-    $ flaskbb makeconfig
-
-    # Install FlaskBB
-    $ flaskbb install
-
-    # Run the development server
-    $ flaskbb run
-     * Running on http://localhost:8080/
-
-
-Resources
----------
-
-* `website <https://flaskbb.org>`_
-* `source <https://github.com/sh4nks/flaskbb>`_
-* `issues <https://github.com/sh4nks/flaskbb/issues>`_
-"""
-import ast
 import os
-import re
 import sys
 
 from setuptools import find_packages, setup
@@ -71,28 +39,35 @@ def get_requirements(e=None):
             if not x.startswith('#') and not x.startswith("-e")]
 
 
+long_description = read("README.md")
 install_requires = get_requirements()
 
 
 setup(
     name='FlaskBB',
     version="2.0.0.dev0",
-    url='https://github.com/sh4nks/flaskbb/',
+    url='https://flaskbb.org',
+    project_urls={
+        'Documentation': 'https://flaskbb.readthedocs.io/en/latest/',
+        'Code': 'https://github.com/flaskbb/flaskbb',
+        'Issue Tracker': 'https://github.com/flaskbb/flaskbb',
+    },
     license='BSD',
     author='Peter Justin',
     author_email='peter.justin@outlook.com',
     description='A classic Forum Software in Python using Flask.',
-    long_description=__doc__,
+    long_description=long_description,
+    long_description_content_type='text/markdown',
     packages=find_packages(),
     include_package_data=True,
     zip_safe=False,
     platforms='any',
-    install_requires=install_requires,
     entry_points='''
         [console_scripts]
         flaskbb=flaskbb.cli:flaskbb
     ''',
-    test_suite='tests',
+    python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
+    install_requires=install_requires,
     tests_require=[
         'py',
         'pytest',
@@ -100,6 +75,7 @@ setup(
         'cov-core',
         'coverage'
     ],
+    test_suite='tests',
     classifiers=[
         'Development Status :: 4 - Beta',
         'Environment :: Web Environment',

+ 19 - 2
tests/unit/test_forum_models.py

@@ -281,14 +281,14 @@ def test_forum_get_topics(topic, user):
 
         topics = Forum.get_topics(forum_id=forum.id, user=current_user)
 
-        assert topics.items == [(topic, None)]
+        assert topics.items == [(topic, topic.last_post, None)]
 
         # Test with logged out user
         logout_user()
 
         topics = Forum.get_topics(forum_id=forum.id, user=current_user)
 
-        assert topics.items == [(topic, None)]
+        assert topics.items == [(topic, topic.last_post, None)]
 
 
 def test_topic_save(forum, user):
@@ -401,6 +401,23 @@ def test_topic_tracker_needs_update(database, user, topic):
         assert topic.tracker_needs_update(forumsread, topicsread)
 
 
+def test_untracking_topic_does_not_delete_it(database, user, topic):
+    user.track_topic(topic)
+    user.save()
+    user.untrack_topic(topic)
+
+    # Note that instead of returning None from the query below, the
+    # unpatched verson will actually raise a DetachedInstanceError here,
+    # due to the fact that some relationships don't get configured in
+    # tests correctly and deleting would break them or something.  The
+    # test still fails for the same reason, however: the topic gets
+    # (albeit unsuccessfully) deleted when it is removed from
+    # topictracker, when it clearly shouldn't be.
+    user.save()
+
+    assert Topic.query.filter(Topic.id == topic.id).first()
+
+
 def test_topic_tracker_needs_update_cleared(database, user, topic):
     """Tests if the topicsread needs an update if the forum has been marked
     as cleared.

+ 1 - 0
tests/unit/utils/test_helpers.py

@@ -85,6 +85,7 @@ def test_topic_is_unread(guest, user, forum, topic, topicsread, forumsread):
     time_posted = time_utcnow() - dt.timedelta(days=2)
     flaskbb_config["TRACKER_LENGTH"] = 1
     topic.last_post.date_created = time_posted
+    topic.last_updated = time_posted
     topic.save()
     assert not topic_is_unread(topic, None, user, None)