Browse Source

regenerated language files, made ranks and roles translated

Rafał Pitoń 8 years ago
parent
commit
7ca409d816

+ 2 - 1
misago/acl/models.py

@@ -1,6 +1,7 @@
 from django.contrib.postgres.fields import JSONField
 from django.contrib.postgres.fields import JSONField
 from django.db import models
 from django.db import models
 from django.utils.encoding import python_2_unicode_compatible
 from django.utils.encoding import python_2_unicode_compatible
+from django.utils.translation import ugettext as _
 
 
 from . import version as acl_version
 from . import version as acl_version
 
 
@@ -19,7 +20,7 @@ class BaseRole(models.Model):
         abstract = True
         abstract = True
 
 
     def __str__(self):
     def __str__(self):
-        return self.name
+        return _(self.name)
 
 
     def save(self, *args, **kwargs):
     def save(self, *args, **kwargs):
         if self.pk:
         if self.pk:

+ 3 - 1
misago/categories/migrations/0003_categories_roles.py

@@ -2,7 +2,9 @@
 from __future__ import unicode_literals
 from __future__ import unicode_literals
 
 
 from django.db import migrations
 from django.db import migrations
-from django.utils.translation import ugettext as _
+
+
+_ = lambda x: x
 
 
 
 
 def create_default_categories_roles(apps, schema_editor):
 def create_default_categories_roles(apps, schema_editor):

+ 169 - 102
misago/locale/en/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-05-17 22:20+0200\n"
+"POT-Creation-Date: 2017-05-22 19:39+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -42,9 +42,9 @@ msgid "Guest"
 msgstr ""
 msgstr ""
 
 
 #: acl/migrations/0003_default_roles.py:91
 #: acl/migrations/0003_default_roles.py:91
-#: categories/migrations/0003_categories_roles.py:112
-#: categories/migrations/0003_categories_roles.py:162
-#: users/migrations/0004_default_ranks.py:28
+#: categories/migrations/0003_categories_roles.py:114
+#: categories/migrations/0003_categories_roles.py:164
+#: users/migrations/0004_default_ranks.py:34
 msgid "Moderator"
 msgid "Moderator"
 msgstr ""
 msgstr ""
 
 
@@ -57,7 +57,7 @@ msgid "Banning users"
 msgstr ""
 msgstr ""
 
 
 #: acl/migrations/0003_default_roles.py:176
 #: acl/migrations/0003_default_roles.py:176
-#: users/migrations/0004_default_ranks.py:31 users/permissions/delete.py:22
+#: users/migrations/0004_default_ranks.py:37 users/permissions/delete.py:22
 msgid "Deleting users"
 msgid "Deleting users"
 msgstr ""
 msgstr ""
 
 
@@ -68,13 +68,13 @@ msgstr ""
 #: acl/migrations/0003_default_roles.py:197
 #: acl/migrations/0003_default_roles.py:197
 #: threads/permissions/privatethreads.py:34
 #: threads/permissions/privatethreads.py:34
 #: threads/threadtypes/privatethread.py:13 threads/viewmodels/thread.py:152
 #: threads/threadtypes/privatethread.py:13 threads/viewmodels/thread.py:152
-#: users/migrations/0004_default_ranks.py:29
-#: users/migrations/0004_default_ranks.py:33
+#: users/migrations/0004_default_ranks.py:35
+#: users/migrations/0004_default_ranks.py:39
 msgid "Private threads"
 msgid "Private threads"
 msgstr ""
 msgstr ""
 
 
 #: acl/migrations/0003_default_roles.py:212
 #: acl/migrations/0003_default_roles.py:212
-#: users/migrations/0004_default_ranks.py:30
+#: users/migrations/0004_default_ranks.py:36
 msgid "Private threads moderator"
 msgid "Private threads moderator"
 msgstr ""
 msgstr ""
 
 
@@ -157,6 +157,7 @@ msgid "Failed to connect to GitHub API. Try again later."
 msgstr ""
 msgstr ""
 
 
 #: categories/admin.py:47 templates/misago/categories/base.html:7
 #: categories/admin.py:47 templates/misago/categories/base.html:7
+#: templates/misago/categories/base.html:33
 #: templates/misago/categories/header.html:12 templates/misago/navbar.html:23
 #: templates/misago/categories/header.html:12 templates/misago/navbar.html:23
 #: templates/misago/navbar.html:29
 #: templates/misago/navbar.html:29
 msgid "Categories"
 msgid "Categories"
@@ -201,16 +202,18 @@ msgstr ""
 
 
 #: categories/forms.py:75 templates/misago/admin/index.html:83
 #: categories/forms.py:75 templates/misago/admin/index.html:83
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
-#: templates/misago/navbar.html:34 templates/misago/profile/threads.html:4
-#: templates/misago/threadslist/category.html:52
+#: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
+#: templates/misago/profile/threads.html:8
+#: templates/misago/threadslist/category.html:67
 #: templates/misago/threadslist/threads.html:16
 #: templates/misago/threadslist/threads.html:16
 #: templates/misago/threadslist/threads.html:18
 #: templates/misago/threadslist/threads.html:18
 #: templates/misago/threadslist/threads.html:20
 #: templates/misago/threadslist/threads.html:20
-#: templates/misago/threadslist/threads.html:47
+#: templates/misago/threadslist/threads.html:41
+#: templates/misago/threadslist/threads.html:63
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:51 threads/permissions/threads.py:82
 #: threads/permissions/threads.py:51 threads/permissions/threads.py:82
-#: threads/search.py:17 threads/viewmodels/thread.py:122 users/apps.py:73
+#: threads/search.py:20 threads/viewmodels/thread.py:122 users/apps.py:73
 msgid "Threads"
 msgid "Threads"
 msgstr ""
 msgstr ""
 
 
@@ -330,23 +333,23 @@ msgstr ""
 msgid "First category"
 msgid "First category"
 msgstr ""
 msgstr ""
 
 
-#: categories/migrations/0003_categories_roles.py:12
+#: categories/migrations/0003_categories_roles.py:14
 msgid "See only"
 msgid "See only"
 msgstr ""
 msgstr ""
 
 
-#: categories/migrations/0003_categories_roles.py:23
+#: categories/migrations/0003_categories_roles.py:25
 msgid "Read only"
 msgid "Read only"
 msgstr ""
 msgstr ""
 
 
-#: categories/migrations/0003_categories_roles.py:42
+#: categories/migrations/0003_categories_roles.py:44
 msgid "Reply to threads"
 msgid "Reply to threads"
 msgstr ""
 msgstr ""
 
 
-#: categories/migrations/0003_categories_roles.py:64
+#: categories/migrations/0003_categories_roles.py:66
 msgid "Start and reply threads"
 msgid "Start and reply threads"
 msgstr ""
 msgstr ""
 
 
-#: categories/migrations/0003_categories_roles.py:88
+#: categories/migrations/0003_categories_roles.py:90
 msgid "Start and reply threads, make polls"
 msgid "Start and reply threads, make polls"
 msgstr ""
 msgstr ""
 
 
@@ -464,11 +467,11 @@ msgstr ""
 msgid "System"
 msgid "System"
 msgstr ""
 msgstr ""
 
 
-#: core/errorpages.py:42
+#: core/errorpages.py:46
 msgid "Permission denied."
 msgid "Permission denied."
 msgstr ""
 msgstr ""
 
 
-#: core/errorpages.py:57
+#: core/errorpages.py:61
 msgid "Request authentication is invalid."
 msgid "Request authentication is invalid."
 msgstr ""
 msgstr ""
 
 
@@ -681,7 +684,7 @@ msgid "You don't have permission to search site."
 msgstr ""
 msgstr ""
 
 
 #: search/permissions.py:10 templates/misago/navbar.html:46
 #: search/permissions.py:10 templates/misago/navbar.html:46
-#: templates/misago/search.html:15 templates/misago/search.html:26
+#: templates/misago/search.html:21 templates/misago/search.html:32
 msgid "Search"
 msgid "Search"
 msgstr ""
 msgstr ""
 
 
@@ -1093,23 +1096,27 @@ msgid "Requested page is not available."
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/admin/errorpages/403.html:21
 #: templates/misago/admin/errorpages/403.html:21
-#: templates/misago/errorpages/403.html:8
-#: templates/misago/errorpages/403.html:25
+#: templates/misago/errorpages/403.html:12
+#: templates/misago/errorpages/403.html:24
+#: templates/misago/errorpages/403.html:43
 msgid "You don't have permission to access this page."
 msgid "You don't have permission to access this page."
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/admin/errorpages/404.html:5
 #: templates/misago/admin/errorpages/404.html:5
+#: templates/misago/errorpages/403.html:17
 #: templates/misago/errorpages/404.html:5
 #: templates/misago/errorpages/404.html:5
+#: templates/misago/errorpages/404.html:13
 msgid "Page not found"
 msgid "Page not found"
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/admin/errorpages/404.html:17
 #: templates/misago/admin/errorpages/404.html:17
-#: templates/misago/errorpages/404.html:21
+#: templates/misago/errorpages/404.html:31
 msgid "Requested page could not be found."
 msgid "Requested page could not be found."
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/admin/errorpages/404.html:18
 #: templates/misago/admin/errorpages/404.html:18
-#: templates/misago/errorpages/404.html:8
+#: templates/misago/errorpages/404.html:9
+#: templates/misago/errorpages/404.html:17
 msgid ""
 msgid ""
 "The link you clicked was incorrect or the page has been moved or deleted."
 "The link you clicked was incorrect or the page has been moved or deleted."
 msgstr ""
 msgstr ""
@@ -1123,14 +1130,14 @@ msgstr ""
 
 
 #: templates/misago/admin/errorpages/csrf_failure.html:19
 #: templates/misago/admin/errorpages/csrf_failure.html:19
 #: templates/misago/admin/errorpages/csrf_failure_authenticated.html:17
 #: templates/misago/admin/errorpages/csrf_failure_authenticated.html:17
-#: templates/misago/errorpages/csrf_failure.html:21
+#: templates/misago/errorpages/csrf_failure.html:23
 #: templates/misago/errorpages/csrf_failure_authenticated.html:18
 #: templates/misago/errorpages/csrf_failure_authenticated.html:18
 msgid "Suspicious request blocked."
 msgid "Suspicious request blocked."
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/admin/errorpages/csrf_failure.html:20
 #: templates/misago/admin/errorpages/csrf_failure.html:20
 #: templates/misago/admin/errorpages/csrf_failure_authenticated.html:18
 #: templates/misago/admin/errorpages/csrf_failure_authenticated.html:18
-#: templates/misago/errorpages/csrf_failure.html:22
+#: templates/misago/errorpages/csrf_failure.html:24
 #: templates/misago/errorpages/csrf_failure_authenticated.html:19
 #: templates/misago/errorpages/csrf_failure_authenticated.html:19
 msgid ""
 msgid ""
 "This is usually caused by your browser not accepting or using outdated "
 "This is usually caused by your browser not accepting or using outdated "
@@ -1139,7 +1146,7 @@ msgstr ""
 
 
 #: templates/misago/admin/errorpages/csrf_failure.html:21
 #: templates/misago/admin/errorpages/csrf_failure.html:21
 #: templates/misago/admin/errorpages/csrf_failure_authenticated.html:19
 #: templates/misago/admin/errorpages/csrf_failure_authenticated.html:19
-#: templates/misago/errorpages/csrf_failure.html:23
+#: templates/misago/errorpages/csrf_failure.html:25
 #: templates/misago/errorpages/csrf_failure_authenticated.html:20
 #: templates/misago/errorpages/csrf_failure_authenticated.html:20
 msgid "Check your browser configuration and try again."
 msgid "Check your browser configuration and try again."
 msgstr ""
 msgstr ""
@@ -1204,14 +1211,14 @@ msgstr ""
 #: templates/misago/admin/generic/paginator.html:17
 #: templates/misago/admin/generic/paginator.html:17
 #: templates/misago/thread/paginator.html:13
 #: templates/misago/thread/paginator.html:13
 #: templates/misago/thread/paginator.html:19
 #: templates/misago/thread/paginator.html:19
-#: templates/misago/userslists/rank.html:63
-#: templates/misago/userslists/rank.html:71
+#: templates/misago/userslists/rank.html:88
+#: templates/misago/userslists/rank.html:96
 msgid "Go to previous page"
 msgid "Go to previous page"
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/admin/generic/paginator.html:26
 #: templates/misago/admin/generic/paginator.html:26
 #: templates/misago/thread/paginator.html:27
 #: templates/misago/thread/paginator.html:27
-#: templates/misago/userslists/rank.html:80
+#: templates/misago/userslists/rank.html:105
 msgid "Go to next page"
 msgid "Go to next page"
 msgstr ""
 msgstr ""
 
 
@@ -1248,7 +1255,7 @@ msgstr ""
 #: templates/misago/admin/index.html:87
 #: templates/misago/admin/index.html:87
 #: templates/misago/admin/users/delete.html:36
 #: templates/misago/admin/users/delete.html:36
 #: templates/misago/admin/users/list.html:23
 #: templates/misago/admin/users/list.html:23
-#: templates/misago/profile/posts.html:4
+#: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
 #: threads/migrations/0002_threads_settings.py:48
 #: threads/migrations/0004_update_settings.py:48 users/apps.py:67
 #: threads/migrations/0004_update_settings.py:48 users/apps.py:67
 msgid "Posts"
 msgid "Posts"
@@ -1340,8 +1347,8 @@ msgstr ""
 
 
 #: templates/misago/admin/ranks/list.html:16
 #: templates/misago/admin/ranks/list.html:16
 #: templates/misago/admin/users/list.html:21
 #: templates/misago/admin/users/list.html:21
-#: templates/misago/userslists/active_posters.html:72
-#: templates/misago/userslists/active_posters.html:83 users/forms/admin.py:205
+#: templates/misago/userslists/active_posters.html:95
+#: templates/misago/userslists/active_posters.html:106 users/forms/admin.py:205
 msgid "Rank"
 msgid "Rank"
 msgstr ""
 msgstr ""
 
 
@@ -1401,7 +1408,7 @@ msgstr ""
 #: templates/misago/admin/users/ban.html:35
 #: templates/misago/admin/users/ban.html:35
 #: templates/misago/admin/users/edit.html:103
 #: templates/misago/admin/users/edit.html:103
 #: templates/misago/admin/users/list.html:34
 #: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:43
+#: templates/misago/userslists/active_posters.html:66
 msgid "Avatar"
 msgid "Avatar"
 msgstr ""
 msgstr ""
 
 
@@ -1598,6 +1605,18 @@ msgstr ""
 msgid "Log out"
 msgid "Log out"
 msgstr ""
 msgstr ""
 
 
+#: templates/misago/categories/base.html:22
+#: templates/misago/categories/base.html:48
+#, python-format
+msgid ""
+"There is %(categories)s main category currenty available on the "
+"%(forum_name)s."
+msgid_plural ""
+"There are %(categories)s main categories currenty available on the "
+"%(forum_name)s."
+msgstr[0] ""
+msgstr[1] ""
+
 #: templates/misago/categories/body.html:15
 #: templates/misago/categories/body.html:15
 msgid "No categories exist or you don't have permission to see them."
 msgid "No categories exist or you don't have permission to see them."
 msgstr ""
 msgstr ""
@@ -1825,25 +1844,27 @@ msgid ""
 "the thread \"%(thread)s\" that you are subscribed to."
 "the thread \"%(thread)s\" that you are subscribed to."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/403.html:21
+#: templates/misago/errorpages/403.html:39
 msgid "This page is not available."
 msgid "This page is not available."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/404.html:22
+#: templates/misago/errorpages/404.html:32
 msgid ""
 msgid ""
 "The link you followed was incorrect or the page has been moved or deleted."
 "The link you followed was incorrect or the page has been moved or deleted."
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/errorpages/405.html:5
 #: templates/misago/errorpages/405.html:5
+#: templates/misago/errorpages/405.html:13
 msgid "Wrong way"
 msgid "Wrong way"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/405.html:8
-#: templates/misago/errorpages/405.html:22
+#: templates/misago/errorpages/405.html:9
+#: templates/misago/errorpages/405.html:17
+#: templates/misago/errorpages/405.html:32
 msgid "This page should be reached via form submission or pressing button."
 msgid "This page should be reached via form submission or pressing button."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/405.html:21
+#: templates/misago/errorpages/405.html:31
 msgid "Page reached in wrong way."
 msgid "Page reached in wrong way."
 msgstr ""
 msgstr ""
 
 
@@ -1851,20 +1872,20 @@ msgstr ""
 msgid "You are banned"
 msgid "You are banned"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/banned.html:8
+#: templates/misago/errorpages/banned.html:9
 msgid "You are banned from accessing this page."
 msgid "You are banned from accessing this page."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/banned.html:33
+#: templates/misago/errorpages/banned.html:35
 #, python-format
 #, python-format
 msgid "This ban expires on %(expires_on)s."
 msgid "This ban expires on %(expires_on)s."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/banned.html:37
+#: templates/misago/errorpages/banned.html:39
 msgid "This ban is permanent."
 msgid "This ban is permanent."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/errorpages/csrf_failure.html:8
+#: templates/misago/errorpages/csrf_failure.html:9
 msgid ""
 msgid ""
 "This is usually caused by your browser not accepting or using outdated "
 "This is usually caused by your browser not accepting or using outdated "
 "cookies. Check your browser configuration and try again."
 "cookies. Check your browser configuration and try again."
@@ -2017,37 +2038,52 @@ msgid "See results"
 msgstr ""
 msgstr ""
 
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:5
-#: templates/misago/profile/ban_details.html:12 users/apps.py:98
+#: templates/misago/profile/ban_details.html:8
+#: templates/misago/profile/ban_details.html:15 users/apps.py:98
 msgid "Ban details"
 msgid "Ban details"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/ban_details.html:19
+#: templates/misago/profile/ban_details.html:22
 msgid "User-shown ban message"
 msgid "User-shown ban message"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/ban_details.html:30
+#: templates/misago/profile/ban_details.html:33
 msgid "Team-shown ban message"
 msgid "Team-shown ban message"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/ban_details.html:39
+#: templates/misago/profile/ban_details.html:42
 msgid "Ban expiration"
 msgid "Ban expiration"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/ban_details.html:43
+#: templates/misago/profile/ban_details.html:46
 #, python-format
 #, python-format
 msgid "%(username)s's ban expires on %(expires_on)s."
 msgid "%(username)s's ban expires on %(expires_on)s."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/ban_details.html:47
+#: templates/misago/profile/ban_details.html:50
 #, python-format
 #, python-format
 msgid "%(username)s's ban is permanent."
 msgid "%(username)s's ban is permanent."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/base.html:7
+#: templates/misago/profile/base.html:9 templates/misago/profile/base.html:19
 #, python-format
 #, python-format
-msgid "Member since %(joined_on)s."
+msgid "%(title)s, joined on %(joined_on)s."
 msgstr ""
 msgstr ""
 
 
+#: templates/misago/profile/base.html:21
+#, python-format
+msgid "Wrote %(posts)s post."
+msgid_plural "Wrote %(posts)s posts."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/misago/profile/base.html:25
+#, python-format
+msgid "Started %(threads)s thread."
+msgid_plural "Started %(threads)s threads."
+msgstr[0] ""
+msgstr[1] ""
+
 #: templates/misago/profile/feed.html:10
 #: templates/misago/profile/feed.html:10
 msgid "See post"
 msgid "See post"
 msgstr ""
 msgstr ""
@@ -2062,56 +2098,58 @@ msgstr ""
 msgid "This error is caused by invalid post content manipulation."
 msgid "This error is caused by invalid post content manipulation."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/followers.html:4 users/apps.py:79
+#: templates/misago/profile/followers.html:5
+#: templates/misago/profile/followers.html:8 users/apps.py:79
 msgid "Followers"
 msgid "Followers"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/followers.html:13
+#: templates/misago/profile/followers.html:17
 #, python-format
 #, python-format
 msgid "You have %(users)s follower."
 msgid "You have %(users)s follower."
 msgid_plural "You have %(users)s followers."
 msgid_plural "You have %(users)s followers."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/followers.html:19
+#: templates/misago/profile/followers.html:23
 #, python-format
 #, python-format
 msgid "%(username)s has %(users)s follower."
 msgid "%(username)s has %(users)s follower."
 msgid_plural "%(username)s has %(users)s followers."
 msgid_plural "%(username)s has %(users)s followers."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/followers.html:44
+#: templates/misago/profile/followers.html:48
 msgid "You have no followers."
 msgid "You have no followers."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/followers.html:46
+#: templates/misago/profile/followers.html:50
 #, python-format
 #, python-format
 msgid "%(username)s has no followers."
 msgid "%(username)s has no followers."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/follows.html:4 users/apps.py:85
+#: templates/misago/profile/follows.html:5
+#: templates/misago/profile/follows.html:8 users/apps.py:85
 msgid "Follows"
 msgid "Follows"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/follows.html:13
+#: templates/misago/profile/follows.html:17
 #, python-format
 #, python-format
 msgid "You are following %(users)s user."
 msgid "You are following %(users)s user."
 msgid_plural "You are following %(users)s users."
 msgid_plural "You are following %(users)s users."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/follows.html:19
+#: templates/misago/profile/follows.html:23
 #, python-format
 #, python-format
 msgid "%(username)s is following %(users)s user."
 msgid "%(username)s is following %(users)s user."
 msgid_plural "%(username)s is following %(users)s users."
 msgid_plural "%(username)s is following %(users)s users."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/follows.html:44
+#: templates/misago/profile/follows.html:48
 msgid "You are not following any users."
 msgid "You are not following any users."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/follows.html:46
+#: templates/misago/profile/follows.html:50
 #, python-format
 #, python-format
 msgid "%(username)s is not following any users."
 msgid "%(username)s is not following any users."
 msgstr ""
 msgstr ""
@@ -2125,84 +2163,85 @@ msgstr ""
 msgid "Member since %(joined_on)s"
 msgid "Member since %(joined_on)s"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/posts.html:15
+#: templates/misago/profile/posts.html:19
 #, python-format
 #, python-format
 msgid "You have posted %(posts)s message."
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/posts.html:21
+#: templates/misago/profile/posts.html:25
 #, python-format
 #, python-format
 msgid "%(username)s has posted %(posts)s message."
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/posts.html:35
+#: templates/misago/profile/posts.html:39
 msgid "You have posted no messages"
 msgid "You have posted no messages"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/posts.html:37
+#: templates/misago/profile/posts.html:41
 #, python-format
 #, python-format
 msgid "%(username)s posted no messages."
 msgid "%(username)s posted no messages."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/threads.html:15
+#: templates/misago/profile/threads.html:19
 #, python-format
 #, python-format
 msgid "You have started %(threads)s thread."
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/threads.html:21
+#: templates/misago/profile/threads.html:25
 #, python-format
 #, python-format
 msgid "%(username)s has started %(threads)s thread."
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/threads.html:35
+#: templates/misago/profile/threads.html:39
 msgid "You have no started threads."
 msgid "You have no started threads."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/threads.html:37
+#: templates/misago/profile/threads.html:41
 #, python-format
 #, python-format
 msgid "%(username)s started no threads."
 msgid "%(username)s started no threads."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/username_history.html:5 users/apps.py:91
+#: templates/misago/profile/username_history.html:5
+#: templates/misago/profile/username_history.html:8 users/apps.py:91
 msgid "Username history"
 msgid "Username history"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/username_history.html:14
+#: templates/misago/profile/username_history.html:17
 #, python-format
 #, python-format
 msgid "Your username was changed %(changes)s time."
 msgid "Your username was changed %(changes)s time."
 msgid_plural "Your username was changed %(changes)s times."
 msgid_plural "Your username was changed %(changes)s times."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/username_history.html:20
+#: templates/misago/profile/username_history.html:23
 #, python-format
 #, python-format
 msgid "%(username)s's username was changed %(changes)s time."
 msgid "%(username)s's username was changed %(changes)s time."
 msgid_plural "%(username)s's username was changed %(changes)s times."
 msgid_plural "%(username)s's username was changed %(changes)s times."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/profile/username_history.html:75
+#: templates/misago/profile/username_history.html:78
 msgid "Your username was never changed."
 msgid "Your username was never changed."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/profile/username_history.html:77
+#: templates/misago/profile/username_history.html:80
 #, python-format
 #, python-format
 msgid "%(username)s's username was never changed."
 msgid "%(username)s's username was never changed."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/search.html:5
+#: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgid "Search site"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/search.html:39
+#: templates/misago/search.html:45
 msgid "Loading search..."
 msgid "Loading search..."
 msgstr ""
 msgstr ""
 
 
@@ -2405,6 +2444,18 @@ msgstr[1] ""
 msgid "last reply by %(user)s %(date)s"
 msgid "last reply by %(user)s %(date)s"
 msgstr ""
 msgstr ""
 
 
+#: templates/misago/thread/thread.html:18
+#, python-format
+msgid "Started by %(starter)s on %(started_on)s in the %(category)s category."
+msgstr ""
+
+#: templates/misago/thread/thread.html:20
+#, python-format
+msgid "%(replies)s reply, last one from %(last_post_on)s."
+msgid_plural "%(replies)s replies, last one from %(last_post_on)s."
+msgstr[0] ""
+msgstr[1] ""
+
 #: templates/misago/thread/toolbar-top.html:6
 #: templates/misago/thread/toolbar-top.html:6
 msgid "Go to first new post"
 msgid "Go to first new post"
 msgstr ""
 msgstr ""
@@ -2417,30 +2468,30 @@ msgstr ""
 msgid "Go to last post"
 msgid "Go to last post"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/threadslist/base.html:61
+#: templates/misago/threadslist/base.html:63
 msgid "There are no threads in this category."
 msgid "There are no threads in this category."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/threadslist/base.html:63
+#: templates/misago/threadslist/base.html:65
 msgid "There are no threads on this forum... yet!"
 msgid "There are no threads on this forum... yet!"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/threadslist/base.html:67
+#: templates/misago/threadslist/base.html:69
 #: templates/misago/threadslist/private_threads.html:67
 #: templates/misago/threadslist/private_threads.html:67
 msgid "Why not start one yourself?"
 msgid "Why not start one yourself?"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/threadslist/base.html:71
+#: templates/misago/threadslist/base.html:73
 #: templates/misago/threadslist/private_threads.html:70
 #: templates/misago/threadslist/private_threads.html:70
 msgid "No threads matching specified criteria were found."
 msgid "No threads matching specified criteria were found."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/threadslist/base.html:87
-#: templates/misago/threadslist/base.html:95
+#: templates/misago/threadslist/base.html:89
+#: templates/misago/threadslist/base.html:97
 msgid "Previous page"
 msgid "Previous page"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/threadslist/base.html:104
+#: templates/misago/threadslist/base.html:106
 msgid "Next page"
 msgid "Next page"
 msgstr ""
 msgstr ""
 
 
@@ -2478,34 +2529,45 @@ msgstr ""
 msgid "Poll"
 msgid "Poll"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/userslists/active_posters.html:5 users/apps.py:43
+#: templates/misago/userslists/active_posters.html:5
+#: templates/misago/userslists/active_posters.html:23 users/apps.py:43
 msgid "Active posters"
 msgid "Active posters"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/userslists/active_posters.html:8
-#: templates/misago/userslists/active_posters.html:29
+#: templates/misago/userslists/active_posters.html:10
+#: templates/misago/userslists/active_posters.html:28
+#: templates/misago/userslists/active_posters.html:52
 #, python-format
 #, python-format
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 msgstr[1] ""
 
 
-#: templates/misago/userslists/active_posters.html:14
-#: templates/misago/userslists/active_posters.html:105
+#: templates/misago/userslists/active_posters.html:16
+#: templates/misago/userslists/active_posters.html:34
+#: templates/misago/userslists/active_posters.html:128
 #, python-format
 #, python-format
 msgid "No users have posted any new messages during last %(days)s days."
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/userslists/active_posters.html:76
-#: templates/misago/userslists/active_posters.html:88
+#: templates/misago/userslists/active_posters.html:99
+#: templates/misago/userslists/active_posters.html:111
 msgid "Ranked posts"
 msgid "Ranked posts"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/userslists/active_posters.html:93
+#: templates/misago/userslists/active_posters.html:116
 msgid "Total posts"
 msgid "Total posts"
 msgstr ""
 msgstr ""
 
 
-#: templates/misago/userslists/rank.html:94
+#: templates/misago/userslists/rank.html:9
+#: templates/misago/userslists/rank.html:42
+#, python-format
+msgid "%(users)s user have this rank."
+msgid_plural "%(users)s users have this rank."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/misago/userslists/rank.html:119
 msgid "There are no users with this rank at the moment."
 msgid "There are no users with this rank at the moment."
 msgstr ""
 msgstr ""
 
 
@@ -4222,11 +4284,15 @@ msgstr ""
 msgid "Password change confirmation link was sent to your address."
 msgid "Password change confirmation link was sent to your address."
 msgstr ""
 msgstr ""
 
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:23
 msgid "New users registrations are currently closed."
 msgid "New users registrations are currently closed."
 msgstr ""
 msgstr ""
 
 
-#: users/api/userendpoints/create.py:49
+#: users/api/userendpoints/create.py:53
+msgid "Please try resubmitting the form."
+msgstr ""
+
+#: users/api/userendpoints/create.py:58
 #, python-format
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgid "Welcome on %(forum_name)s forums!"
 msgstr ""
 msgstr ""
@@ -4978,16 +5044,17 @@ msgstr ""
 msgid "Enter each answer in new line. Answers are case-insensitive."
 msgid "Enter each answer in new line. Answers are case-insensitive."
 msgstr ""
 msgstr ""
 
 
-#: users/migrations/0004_default_ranks.py:14
-#: users/migrations/0004_default_ranks.py:15 users/models/user.py:109
+#: users/migrations/0004_default_ranks.py:17
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:109
 msgid "Forum team"
 msgid "Forum team"
 msgstr ""
 msgstr ""
 
 
-#: users/migrations/0004_default_ranks.py:16
+#: users/migrations/0004_default_ranks.py:19
 msgid "Team"
 msgid "Team"
 msgstr ""
 msgstr ""
 
 
-#: users/migrations/0004_default_ranks.py:23
+#: users/migrations/0004_default_ranks.py:26
+#: users/migrations/0004_default_ranks.py:27
 msgid "Members"
 msgid "Members"
 msgstr ""
 msgstr ""
 
 
@@ -5027,19 +5094,19 @@ msgstr ""
 msgid "joined on"
 msgid "joined on"
 msgstr ""
 msgstr ""
 
 
-#: users/models/user.py:182
+#: users/models/user.py:187
 msgid "staff status"
 msgid "staff status"
 msgstr ""
 msgstr ""
 
 
-#: users/models/user.py:184
+#: users/models/user.py:189
 msgid "Designates whether the user can log into admin sites."
 msgid "Designates whether the user can log into admin sites."
 msgstr ""
 msgstr ""
 
 
-#: users/models/user.py:191
+#: users/models/user.py:196
 msgid "active"
 msgid "active"
 msgstr ""
 msgstr ""
 
 
-#: users/models/user.py:195
+#: users/models/user.py:200
 msgid ""
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
 "instead of deleting accounts."

+ 3 - 3
misago/locale/en/LC_MESSAGES/djangojs.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-05-17 22:20+0200\n"
+"POT-Creation-Date: 2017-05-22 19:39+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -297,7 +297,7 @@ msgstr ""
 msgid "Dismiss"
 msgid "Dismiss"
 msgstr ""
 msgstr ""
 
 
-#: static/misago/js/misago.js:3
+#: static/misago/js/misago.js:2
 msgid "Uploading %(filename)s... %(progress)s"
 msgid "Uploading %(filename)s... %(progress)s"
 msgstr ""
 msgstr ""
 
 
@@ -1540,7 +1540,7 @@ msgstr ""
 msgid "Delete account"
 msgid "Delete account"
 msgstr ""
 msgstr ""
 
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:11
 msgid "Username history"
 msgid "Username history"
 msgstr ""
 msgstr ""
 
 

+ 1 - 1
misago/templates/misago/admin/ranks/list.html

@@ -34,7 +34,7 @@
 </td>
 </td>
 <td>
 <td>
   {% if item.title %}
   {% if item.title %}
-  {% trans item.title %}
+    {{ item.title }}
   {% else %}
   {% else %}
   <i class="text-muted">{% trans "No title set" %}</i>
   <i class="text-muted">{% trans "No title set" %}</i>
   {% endif %}
   {% endif %}

+ 12 - 6
misago/users/migrations/0004_default_ranks.py

@@ -2,25 +2,31 @@
 from __future__ import unicode_literals
 from __future__ import unicode_literals
 
 
 from django.db import migrations
 from django.db import migrations
-from django.utils.translation import ugettext as _
+from django.utils.translation import ugettext
 
 
 from misago.core.utils import slugify
 from misago.core.utils import slugify
 
 
 
 
+_ = lambda x: x
+
+
 def create_default_ranks(apps, schema_editor):
 def create_default_ranks(apps, schema_editor):
     Rank = apps.get_model('misago_users', 'Rank')
     Rank = apps.get_model('misago_users', 'Rank')
 
 
     team = Rank.objects.create(
     team = Rank.objects.create(
-        name=_("Forum team"),
-        slug=slugify(_("Forum team")),
-        title=_("Team"),
+        name=ugettext("Forum team"),
+        slug=slugify(ugettext("Forum team")),
+        title=ugettext("Team"),
         css_class='primary',
         css_class='primary',
         is_tab=True,
         is_tab=True,
-        order=0
+        order=0,
     )
     )
 
 
     member = Rank.objects.create(
     member = Rank.objects.create(
-        name=_("Members"), slug=slugify(_("Members")), is_default=True, order=1
+        name=ugettext("Members"),
+        slug=slugify(ugettext("Members")),
+        is_default=True,
+        order=1,
     )
     )
 
 
     Role = apps.get_model('misago_acl', 'Role')
     Role = apps.get_model('misago_acl', 'Role')