Browse Source

Merge pull request #1055 from rafalp/update-locale

Update translation files
Rafał Pitoń 6 years ago
parent
commit
86f6fb82c4

BIN
misago/locale/en/LC_MESSAGES/django.mo


+ 719 - 292
misago/locale/en/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\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"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Permissions"
 msgstr ""
 
-#: acl/admin.py:33 users/forms/admin.py:414
+#: acl/admin.py:33 users/forms/admin.py:416
 msgid "User roles"
 msgstr ""
 
@@ -142,17 +142,17 @@ msgstr ""
 msgid "Action is not allowed."
 msgstr ""
 
-#: admin/views/index.py:70
+#: admin/views/index.py:83
 #, python-format
 msgid "Outdated: %(current)s! (latest: %(latest)s)"
 msgstr ""
 
-#: admin/views/index.py:78
+#: admin/views/index.py:91
 #, python-format
 msgid "Up to date! (%(current)s)"
 msgstr ""
 
-#: admin/views/index.py:87
+#: admin/views/index.py:100
 msgid "Failed to connect to GitHub API. Try again later."
 msgstr ""
 
@@ -171,11 +171,11 @@ msgstr ""
 msgid "Category roles"
 msgstr ""
 
-#: categories/forms.py:47 users/forms/admin.py:388
+#: categories/forms.py:47 users/forms/admin.py:390
 msgid "Name"
 msgstr ""
 
-#: categories/forms.py:49 users/forms/admin.py:404
+#: categories/forms.py:49 users/forms/admin.py:406
 msgid "Description"
 msgstr ""
 
@@ -183,7 +183,7 @@ msgstr ""
 msgid "Optional description explaining category intented purpose."
 msgstr ""
 
-#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:421
+#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:423
 msgid "CSS class"
 msgstr ""
 
@@ -200,7 +200,7 @@ msgstr ""
 msgid "Only members with valid permissions can post in closed categories."
 msgstr ""
 
-#: categories/forms.py:75 templates/misago/admin/index.html:83
+#: categories/forms.py:75 templates/misago/admin/index.html:110
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
 #: templates/misago/profile/threads.html:8
@@ -213,7 +213,7 @@ msgstr ""
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:72 threads/permissions/threads.py:103
-#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:89
+#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:97
 msgid "Threads"
 msgstr ""
 
@@ -321,8 +321,7 @@ msgid "Move child categories to"
 msgstr ""
 
 #: categories/forms.py:247 categories/forms.py:262
-#: templates/misago/acl_debug.html:15
-#: templates/misago/admin/roles/list.html:16
+#: templates/misago/acl_debug.html:15 templates/misago/admin/roles/list.html:16
 msgid "Role"
 msgstr ""
 
@@ -511,7 +510,7 @@ msgstr ""
 
 #: core/forms.py:43 templates/misago/admin/users/edit.html:61
 #: templates/misago/admin/users/edit.html:78
-#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:590
+#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:604
 msgid "Yes"
 msgstr ""
 
@@ -525,7 +524,7 @@ msgstr ""
 #: threads/permissions/threads.py:164 threads/permissions/threads.py:178
 #: threads/permissions/threads.py:189 threads/permissions/threads.py:205
 #: threads/permissions/threads.py:216 threads/permissions/threads.py:247
-#: users/forms/admin.py:591 users/models/user.py:145
+#: users/forms/admin.py:605 users/models/user.py:147
 msgid "No"
 msgstr ""
 
@@ -623,7 +622,72 @@ msgstr ""
 msgid "Value is too long."
 msgstr ""
 
+#: legal/admin.py:25 templates/misago/admin/users/edit.html:216
+msgid "Agreements"
+msgstr ""
+
+#: legal/api.py:18
+msgid "You have already accepted this agreement."
+msgstr ""
+
+#: legal/api.py:27
+msgid "You need to submit a valid choice."
+msgstr ""
+
+#: legal/forms.py:10 legal/forms.py:60
+#: templates/misago/admin/agreements/list.html:18
+#: templates/misago/admin/attachmenttypes/list.html:16
+#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:589
+msgid "Type"
+msgstr ""
+
+#: legal/forms.py:12 templates/misago/admin/agreements/list.html:16
+#: templates/misago/admin/ranks/list.html:17
+msgid "Title"
+msgstr ""
+
+#: legal/forms.py:13
+msgid "Optional, leave empty for agreement to be named after its type."
+msgstr ""
+
+#: legal/forms.py:17
+msgid "Set as active for its type"
+msgstr ""
+
+#: legal/forms.py:19
+msgid ""
+"If other agreement is already active for this type, it will be unset and "
+"replaced with this one. Misago will ask users who didn't accept this "
+"agreement to do so before allowing them to continue using the site's "
+"features."
+msgstr ""
+
+#: legal/forms.py:27
+msgid "Link"
+msgstr ""
+
+#: legal/forms.py:28
+msgid "If your agreement is located on other page, enter here a link to it."
+msgstr ""
+
+#: legal/forms.py:32
+msgid "Text"
+msgstr ""
+
+#: legal/forms.py:33
+msgid "You can use Markdown syntax for rich text elements."
+msgstr ""
+
+#: legal/forms.py:46
+msgid "Please fill in agreement link or text."
+msgstr ""
+
+#: legal/forms.py:65
+msgid "Content"
+msgstr ""
+
 #: legal/migrations/0001_initial.py:16
+#: legal/migrations/0003_create_agreements_from_settings.py:57
 msgid "Legal information"
 msgstr ""
 
@@ -666,7 +730,7 @@ msgstr ""
 msgid "Policy title"
 msgstr ""
 
-#: legal/migrations/0001_initial.py:64 legal/views.py:46
+#: legal/migrations/0001_initial.py:64 legal/models.py:43
 #: templates/misago/footer.html:27
 msgid "Privacy policy"
 msgstr ""
@@ -690,21 +754,85 @@ msgid ""
 msgstr ""
 
 #: legal/migrations/0001_initial.py:105
+#: legal/migrations/0003_create_agreements_from_settings.py:62
 msgid "Footnote"
 msgstr ""
 
 #: legal/migrations/0001_initial.py:106
+#: legal/migrations/0003_create_agreements_from_settings.py:63
 msgid "Short message displayed in forum footer."
 msgstr ""
 
 #: legal/migrations/0001_initial.py:107
+#: legal/migrations/0003_create_agreements_from_settings.py:64
 msgid "Forum footer"
 msgstr ""
 
-#: legal/views.py:65 templates/misago/footer.html:22
+#: legal/migrations/0003_create_agreements_from_settings.py:58
+msgid ""
+"Those settings allow you to set additional legal information for your forum."
+msgstr ""
+
+#: legal/models.py:42 templates/misago/footer.html:22
 msgid "Terms of service"
 msgstr ""
 
+#: legal/views/admin.py:17
+msgid "Requested agreement does not exist."
+msgstr ""
+
+#: legal/views/admin.py:29 threads/views/admin/attachments.py:24
+#: users/views/admin/bans.py:24 users/views/admin/datadownloads.py:20
+#: users/views/admin/users.py:56
+msgid "From newest"
+msgstr ""
+
+#: legal/views/admin.py:30 threads/views/admin/attachments.py:25
+#: users/views/admin/bans.py:25 users/views/admin/datadownloads.py:21
+#: users/views/admin/users.py:57
+msgid "From oldest"
+msgstr ""
+
+#: legal/views/admin.py:33
+msgid "With agreements: 0"
+msgstr ""
+
+#: legal/views/admin.py:34
+msgid "Select agreements"
+msgstr ""
+
+#: legal/views/admin.py:38
+msgid "Delete agreements"
+msgstr ""
+
+#: legal/views/admin.py:39
+msgid "Are you sure you want to delete those agreements?"
+msgstr ""
+
+#: legal/views/admin.py:49
+msgid "Selected agreements have been deleted."
+msgstr ""
+
+#: legal/views/admin.py:53
+#, python-format
+msgid "New agreement \"%(title)s\" has been saved."
+msgstr ""
+
+#: legal/views/admin.py:63
+#, python-format
+msgid "Agreement \"%(title)s\" has been edited."
+msgstr ""
+
+#: legal/views/admin.py:77
+#, python-format
+msgid "Agreement \"%(title)s\" has been deleted."
+msgstr ""
+
+#: legal/views/admin.py:85
+#, python-format
+msgid "Agreement \"%(title)s\" has been set as active for type \"%(type)s\"."
+msgstr ""
+
 #: markup/finalise.py:22
 #, python-format
 msgid "%(title)s has written:"
@@ -714,15 +842,15 @@ msgstr ""
 msgid "Quoted message:"
 msgstr ""
 
-#: project_template/project_name/settings.py:388
+#: project_template/project_name/settings.py:424
 msgid "Personal"
 msgstr ""
 
-#: project_template/project_name/settings.py:397
+#: project_template/project_name/settings.py:433
 msgid "Contact"
 msgstr ""
 
-#: project_template/project_name/settings.py:405 users/models/ban.py:76
+#: project_template/project_name/settings.py:441 users/models/ban.py:76
 msgid "IP address"
 msgstr ""
 
@@ -818,6 +946,98 @@ msgstr ""
 msgid "Your account can't be activated at this time."
 msgstr ""
 
+#: templates/misago/admin/agreements/form.html:9
+#: templates/misago/admin/agreements/form.html:18
+#: templates/misago/admin/agreements/form.html:28
+#: templates/misago/admin/agreements/list.html:9
+msgid "New agreement"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:43
+#: templates/misago/admin/categoryroles/form.html:43
+#: templates/misago/admin/roles/form.html:43
+msgid "Basic settings"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:51
+msgid "Agreement contents"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:54
+msgid "Fill in one of the fields."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:19
+msgid "Created"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:20
+msgid "Modified"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:33
+#, python-format
+msgid "Active %(type)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:52
+#, python-format
+msgid "%(created_on)s by %(created_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:68
+#, python-format
+msgid "%(last_modified_on)s by %(last_modified_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:72
+msgid "never"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:78
+msgid "Set as active"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:88
+#: templates/misago/admin/attachmenttypes/list.html:54
+#: templates/misago/admin/bans/list.html:55
+#: templates/misago/admin/categories/list.html:66
+#: templates/misago/admin/categoryroles/list.html:27
+#: templates/misago/admin/ranks/list.html:99
+#: templates/misago/admin/roles/list.html:43
+#: templates/misago/admin/warnings/list.html:109
+#: templates/misago/poll/results.html:69
+#: templates/misago/profile/details.html:24
+#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
+msgid "Edit"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:94
+#: templates/misago/admin/bans/list.html:61
+msgid "Remove"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:106
+msgid "No agreements matching search criteria have been found"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:108
+msgid "No agreements are currently set."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:119
+msgid "Are you sure you want to set this agreement as active for its type?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:124
+msgid "Are you sure you want to delete this agreement?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:133
+#: templates/misago/admin/bans/list.html:95
+msgid "Search bans"
+msgstr ""
+
 #: templates/misago/admin/attachments/list.html:7
 msgid "Attachment"
 msgstr ""
@@ -828,9 +1048,7 @@ msgstr ""
 
 #: templates/misago/admin/attachments/list.html:42
 #, python-format
-msgid ""
-"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s from "
-"%(uploader_ip)s."
+msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s."
 msgstr ""
 
 #: templates/misago/admin/attachments/list.html:53
@@ -881,11 +1099,6 @@ msgstr ""
 msgid "Availability"
 msgstr ""
 
-#: templates/misago/admin/attachmenttypes/list.html:16
-#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:575
-msgid "Type"
-msgstr ""
-
 #: templates/misago/admin/attachmenttypes/list.html:17
 msgid "Extensions"
 msgstr ""
@@ -898,19 +1111,6 @@ msgstr ""
 msgid "Files"
 msgstr ""
 
-#: templates/misago/admin/attachmenttypes/list.html:54
-#: templates/misago/admin/bans/list.html:55
-#: templates/misago/admin/categories/list.html:66
-#: templates/misago/admin/categoryroles/list.html:27
-#: templates/misago/admin/ranks/list.html:99
-#: templates/misago/admin/roles/list.html:43
-#: templates/misago/admin/warnings/list.html:109
-#: templates/misago/poll/results.html:69
-#: templates/misago/profile/details.html:24
-#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
-msgid "Edit"
-msgstr ""
-
 #: templates/misago/admin/attachmenttypes/list.html:71
 msgid "No attachment types are currently defined."
 msgstr ""
@@ -927,12 +1127,12 @@ msgid "New ban"
 msgstr ""
 
 #: templates/misago/admin/bans/form.html:43
-#: templates/misago/admin/users/ban.html:53
+#: templates/misago/admin/users/ban.html:57
 msgid "Ban settings"
 msgstr ""
 
 #: templates/misago/admin/bans/form.html:52
-#: templates/misago/admin/users/ban.html:60
+#: templates/misago/admin/users/ban.html:64
 msgid "Messages"
 msgstr ""
 
@@ -940,8 +1140,8 @@ msgstr ""
 msgid "Ban"
 msgstr ""
 
-#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:493
-#: users/forms/admin.py:546
+#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:488
+#: users/forms/admin.py:560
 msgid "Expires on"
 msgstr ""
 
@@ -954,10 +1154,6 @@ msgstr ""
 msgid "Never"
 msgstr ""
 
-#: templates/misago/admin/bans/list.html:61
-msgid "Remove"
-msgstr ""
-
 #: templates/misago/admin/bans/list.html:73
 msgid "No bans matching search criteria have been found"
 msgstr ""
@@ -970,10 +1166,6 @@ msgstr ""
 msgid "Are you sure you want to remove this ban?"
 msgstr ""
 
-#: templates/misago/admin/bans/list.html:95
-msgid "Search bans"
-msgstr ""
-
 #: templates/misago/admin/base_thin.html:8
 msgid "Misago Administration"
 msgstr ""
@@ -1097,11 +1289,6 @@ msgstr ""
 msgid "New role"
 msgstr ""
 
-#: templates/misago/admin/categoryroles/form.html:43
-#: templates/misago/admin/roles/form.html:43
-msgid "Basic settings"
-msgstr ""
-
 #: templates/misago/admin/categoryroles/list.html:16
 msgid "Category role"
 msgstr ""
@@ -1134,6 +1321,61 @@ msgstr ""
 msgid "Change settings"
 msgstr ""
 
+#: templates/misago/admin/datadownloads/form.html:6
+#: templates/misago/admin/datadownloads/form.html:11
+#: templates/misago/admin/datadownloads/form.html:17
+msgid "Request new data downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:9
+msgid "Request new downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:17
+#: templates/misago/admin/users/list.html:17 users/forms/admin.py:696
+msgid "User"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:18 threads/forms.py:56
+#: users/forms/admin.py:691
+msgid "Status"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:19
+msgid "Requested on"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:21 users/forms/admin.py:700
+msgid "Requested by"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:32
+#: templates/misago/admin/datadownloads/list.html:49
+#: templates/misago/admin/datadownloads/list.html:52
+#: templates/misago/admin/users/ban.html:35
+#: templates/misago/admin/users/edit.html:113
+#: templates/misago/admin/users/list.html:35
+#: templates/misago/userslists/active_posters.html:66
+msgid "Avatar"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:73
+#: templates/misago/emails/data_download.html:11 users/apps.py:50
+msgid "Download data"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:84
+msgid "No data downloads matching search criteria have been found."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:86
+msgid "No data downloads exist at the moment."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:93
+msgid "Search data downloads"
+msgstr ""
+
 #: templates/misago/admin/errorpages/403.html:5
 #: templates/misago/errorpages/403.html:5
 msgid "Page not available"
@@ -1284,44 +1526,73 @@ msgstr ""
 msgid "Administration Home"
 msgstr ""
 
-#: templates/misago/admin/index.html:33
+#: templates/misago/admin/index.html:22
+msgid "System checks"
+msgstr ""
+
+#: templates/misago/admin/index.html:26
+msgid "MISAGO_ADDRESS setting appears to be correct."
+msgstr ""
+
+#: templates/misago/admin/index.html:30
+msgid "The settings.py value for MISAGO_ADDRESS appears to be incorrect."
+msgstr ""
+
+#: templates/misago/admin/index.html:38
+#, python-format
+msgid ""
+"Your MISAGO_ADDRESS is set to %(configured_address)s while correct value "
+"appears to be %(correct_address)s."
+msgstr ""
+
+#: templates/misago/admin/index.html:42 templates/misago/admin/index.html:47
+msgid ""
+"Misago uses this setting to build correct links in e-mails sent to site "
+"users."
+msgstr ""
+
+#: templates/misago/admin/index.html:46
+msgid "The settings.py is missing MISAGO_ADDRESS value."
+msgstr ""
+
+#: templates/misago/admin/index.html:60
 msgid "Misago version"
 msgstr ""
 
-#: templates/misago/admin/index.html:56
+#: templates/misago/admin/index.html:83
 msgid "Check version"
 msgstr ""
 
-#: templates/misago/admin/index.html:62
+#: templates/misago/admin/index.html:89
 msgid "This feature requires \"packaging\" python module."
 msgstr ""
 
-#: templates/misago/admin/index.html:76
+#: templates/misago/admin/index.html:103
 msgid "DB Contents"
 msgstr ""
 
-#: templates/misago/admin/index.html:87
+#: templates/misago/admin/index.html:114
 #: templates/misago/admin/users/delete.html:36
-#: templates/misago/admin/users/list.html:23
+#: templates/misago/admin/users/list.html:24
 #: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
-#: threads/migrations/0004_update_settings.py:48 users/apps.py:83
+#: threads/migrations/0004_update_settings.py:48 users/apps.py:91
 msgid "Posts"
 msgstr ""
 
-#: templates/misago/admin/index.html:91 templates/misago/navbar.html:40
+#: templates/misago/admin/index.html:118 templates/misago/navbar.html:40
 #: templates/misago/userslists/base.html:5
-#: templates/misago/userslists/base.html:14 users/admin.py:70
+#: templates/misago/userslists/base.html:14 users/admin.py:80
 #: users/migrations/0002_users_settings.py:16
 #: users/migrations/0006_update_settings.py:17 users/search.py:18
 msgid "Users"
 msgstr ""
 
-#: templates/misago/admin/index.html:96
+#: templates/misago/admin/index.html:123
 msgid "Inactive users"
 msgstr ""
 
-#: templates/misago/admin/index.html:122
+#: templates/misago/admin/index.html:149
 msgid "Checking..."
 msgstr ""
 
@@ -1349,7 +1620,7 @@ msgstr ""
 msgid "Username or e-mail"
 msgstr ""
 
-#: templates/misago/admin/login.html:62 users/forms/admin.py:60
+#: templates/misago/admin/login.html:62 users/forms/admin.py:62
 #: users/forms/auth.py:59
 msgid "Password"
 msgstr ""
@@ -1394,17 +1665,12 @@ msgid "Display and visibility"
 msgstr ""
 
 #: templates/misago/admin/ranks/list.html:16
-#: templates/misago/admin/users/list.html:21
+#: templates/misago/admin/users/list.html:22
 #: templates/misago/userslists/active_posters.html:95
-#: templates/misago/userslists/active_posters.html:106
-#: users/forms/admin.py:236
+#: templates/misago/userslists/active_posters.html:106 users/forms/admin.py:238
 msgid "Rank"
 msgstr ""
 
-#: templates/misago/admin/ranks/list.html:17
-msgid "Title"
-msgstr ""
-
 #: templates/misago/admin/ranks/list.html:18
 msgid "Special"
 msgstr ""
@@ -1446,7 +1712,7 @@ msgid "No user roles are currently defined."
 msgstr ""
 
 #: templates/misago/admin/users/ban.html:6
-#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:72
+#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:73
 msgid "Ban users"
 msgstr ""
 
@@ -1454,14 +1720,11 @@ msgstr ""
 msgid "Ban selected users:"
 msgstr ""
 
-#: templates/misago/admin/users/ban.html:35
-#: templates/misago/admin/users/edit.html:113
-#: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:66
-msgid "Avatar"
+#: templates/misago/admin/users/ban.html:48
+msgid "IP not available"
 msgstr ""
 
-#: templates/misago/admin/users/ban.html:72
+#: templates/misago/admin/users/ban.html:76
 msgid "Set bans"
 msgstr ""
 
@@ -1555,6 +1818,18 @@ msgstr ""
 msgid "No staff message is available."
 msgstr ""
 
+#: templates/misago/admin/users/edit.html:220
+msgid "Agreement"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:221
+msgid "Accepted on"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:239
+msgid "This user didn't accept any agreements."
+msgstr ""
+
 #: templates/misago/admin/users/list.html:9
 #: templates/misago/admin/users/new.html:6
 #: templates/misago/admin/users/new.html:11
@@ -1562,51 +1837,55 @@ msgstr ""
 msgid "New user"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:17
-msgid "User"
+#: templates/misago/admin/users/list.html:20 users/signals.py:30
+msgid "E-mail"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:20
-msgid "E-mail"
+#: templates/misago/admin/users/list.html:21
+msgid "IP Address"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:22
+#: templates/misago/admin/users/list.html:23
 msgid "Joined"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:39
+#: templates/misago/admin/users/list.html:40
 msgid "Is deleting their account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:43
+#: templates/misago/admin/users/list.html:44
 msgid "Is disabled by administrator"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:54
+#: templates/misago/admin/users/list.html:55
 msgid "Requires activation by administrator"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:56
+#: templates/misago/admin/users/list.html:57
 msgid "Has to activate account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:63
+#: templates/misago/admin/users/list.html:64
 msgid "Super administrator"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:65
+#: templates/misago/admin/users/list.html:66
 msgid "Administrator"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:90
+#: templates/misago/admin/users/list.html:78
+msgid "IP removed"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:98
 msgid "Edit user"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:99
+#: templates/misago/admin/users/list.html:107
 msgid "No users matching search criteria have been found."
 msgstr ""
 
-#: templates/misago/admin/users/list.html:105
+#: templates/misago/admin/users/list.html:113
 msgid "Search users"
 msgstr ""
 
@@ -1813,6 +2092,30 @@ msgstr ""
 msgid "Set new password"
 msgstr ""
 
+#: templates/misago/emails/data_download.html:6
+#: templates/misago/emails/data_download.txt:6
+#, python-format
+msgid ""
+"%(user)s, you are receiving this message because your data is ready for "
+"download."
+msgstr ""
+
+#: templates/misago/emails/data_download.html:14
+#: templates/misago/emails/data_download.txt:15
+#, python-format
+msgid ""
+"This link will remain active for %(expires_in)s hour from the time this "
+"message has been sent."
+msgid_plural ""
+"This link will remain active for %(expires_in)s hours from the time this "
+"message has been sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/misago/emails/data_download.txt:10
+msgid "To download your data, click the following link:"
+msgstr ""
+
 #: templates/misago/emails/privatethread/added.html:9
 #, python-format
 msgid ""
@@ -1898,7 +2201,7 @@ msgstr ""
 #: templates/misago/emails/thread/reply.html:9
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread %(thread)s that you are subscribed to."
 msgstr ""
 
@@ -1914,7 +2217,7 @@ msgstr ""
 #: templates/misago/emails/thread/reply.txt:6
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread \"%(thread)s\" that you are subscribed to."
 msgstr ""
 
@@ -2145,7 +2448,7 @@ msgstr ""
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:8
-#: templates/misago/profile/ban_details.html:15 users/apps.py:120
+#: templates/misago/profile/ban_details.html:15 users/apps.py:128
 msgid "Ban details"
 msgstr ""
 
@@ -2192,7 +2495,7 @@ msgstr[1] ""
 
 #: templates/misago/profile/details.html:5
 #: templates/misago/profile/details.html:8
-#: templates/misago/profile/details.html:18 users/apps.py:107
+#: templates/misago/profile/details.html:18 users/apps.py:115
 msgid "Details"
 msgstr ""
 
@@ -2220,7 +2523,7 @@ msgid "This error is caused by invalid post content manipulation."
 msgstr ""
 
 #: templates/misago/profile/followers.html:5
-#: templates/misago/profile/followers.html:8 users/apps.py:95
+#: templates/misago/profile/followers.html:8 users/apps.py:103
 msgid "Followers"
 msgstr ""
 
@@ -2248,7 +2551,7 @@ msgid "%(username)s has no followers."
 msgstr ""
 
 #: templates/misago/profile/follows.html:5
-#: templates/misago/profile/follows.html:8 users/apps.py:101
+#: templates/misago/profile/follows.html:8 users/apps.py:109
 msgid "Follows"
 msgstr ""
 
@@ -2335,7 +2638,7 @@ msgid "%(username)s started no threads."
 msgstr ""
 
 #: templates/misago/profile/username_history.html:5
-#: templates/misago/profile/username_history.html:8 users/apps.py:113
+#: templates/misago/profile/username_history.html:8 users/apps.py:121
 msgid "Username history"
 msgstr ""
 
@@ -2362,6 +2665,20 @@ msgstr ""
 msgid "%(username)s's username was never changed."
 msgstr ""
 
+#: templates/misago/required_agreement.html:9
+#, python-format
+msgid "Please review the updated %(agreement)s:"
+msgstr ""
+
+#: templates/misago/required_agreement.html:19
+msgid "here"
+msgstr ""
+
+#: templates/misago/required_agreement.html:21
+#, python-format
+msgid "Please review the updated %(agreement)s available %(link)s."
+msgstr ""
+
 #: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgstr ""
@@ -2478,10 +2795,6 @@ msgstr ""
 msgid "By %(event_by)s on %(event_on)s."
 msgstr ""
 
-#: templates/misago/thread/posts/event/info.html:34
-msgid "IP recorded"
-msgstr ""
-
 #: templates/misago/thread/posts/post/attachments.html:33
 #, python-format
 msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s on %(uploaded_on)s."
@@ -2760,11 +3073,11 @@ msgstr ""
 msgid "Attachment types"
 msgstr ""
 
-#: threads/api/attachments.py:19
+#: threads/api/attachments.py:20
 msgid "You don't have permission to upload new files."
 msgstr ""
 
-#: threads/api/attachments.py:29
+#: threads/api/attachments.py:30
 msgid "No file has been uploaded."
 msgstr ""
 
@@ -2772,24 +3085,24 @@ msgstr ""
 msgid "Uploaded image was corrupted or invalid."
 msgstr ""
 
-#: threads/api/attachments.py:81
+#: threads/api/attachments.py:83
 msgid "You can't upload files of this type."
 msgstr ""
 
-#: threads/api/attachments.py:86
+#: threads/api/attachments.py:88
 #, python-format
 msgid ""
 "You can't upload files larger than %(limit)s (your file has %(upload)s)."
 msgstr ""
 
-#: threads/api/attachments.py:96
+#: threads/api/attachments.py:98
 #, python-format
 msgid ""
 "You can't upload files of this type larger than %(limit)s (your file has "
 "%(upload)s)."
 msgstr ""
 
-#: threads/api/postendpoints/edits.py:89
+#: threads/api/postendpoints/edits.py:88
 msgid "Edits record is unavailable for this post."
 msgstr ""
 
@@ -2805,12 +3118,12 @@ msgstr ""
 msgid "You can't like posts in this category."
 msgstr ""
 
-#: threads/api/postendpoints/patch_post.py:108
+#: threads/api/postendpoints/patch_post.py:107
 #: threads/api/threadendpoints/patch.py:130
 msgid "Content approval can't be reversed."
 msgstr ""
 
-#: threads/api/postendpoints/patch_post.py:186
+#: threads/api/postendpoints/patch_post.py:185
 msgid "One or more posts to update could not be found."
 msgstr ""
 
@@ -2823,7 +3136,7 @@ msgstr ""
 msgid "You don't have permission to remove \"%(attachment)s\" attachment."
 msgstr ""
 
-#: threads/api/postingendpoint/attachments.py:128
+#: threads/api/postingendpoint/attachments.py:127
 #, python-format
 msgid ""
 "You can't attach more than %(limit_value)s file to single post (added "
@@ -2895,11 +3208,11 @@ msgstr[1] ""
 msgid "One or more users could not be found: %(usernames)s"
 msgstr ""
 
-#: threads/api/postingendpoint/reply.py:81 threads/validators.py:80
+#: threads/api/postingendpoint/reply.py:83 threads/validators.py:80
 msgid "You have to enter a message."
 msgstr ""
 
-#: threads/api/postingendpoint/reply.py:103 threads/validators.py:41
+#: threads/api/postingendpoint/reply.py:105 threads/validators.py:41
 msgid "You have to enter thread title."
 msgstr ""
 
@@ -2977,7 +3290,7 @@ msgstr ""
 msgid "One or more threads to update could not be found."
 msgstr ""
 
-#: threads/api/threadpoll.py:53
+#: threads/api/threadpoll.py:54
 msgid "There's already a poll in this thread."
 msgstr ""
 
@@ -3013,7 +3326,7 @@ msgstr ""
 msgid "File type"
 msgstr ""
 
-#: threads/forms.py:24 users/forms/admin.py:595
+#: threads/forms.py:24 users/forms/admin.py:609
 msgid "State"
 msgstr ""
 
@@ -3037,10 +3350,6 @@ msgstr ""
 msgid "Maximum allowed uploaded file size"
 msgstr ""
 
-#: threads/forms.py:56
-msgid "Status"
-msgstr ""
-
 #: threads/forms.py:57
 msgid "Limit uploads to"
 msgstr ""
@@ -3647,7 +3956,7 @@ msgstr ""
 msgid "Can see threads"
 msgstr ""
 
-#: threads/permissions/threads.py:110 users/forms/admin.py:166
+#: threads/permissions/threads.py:110 users/forms/admin.py:168
 #: users/migrations/0002_users_settings.py:144
 #: users/migrations/0006_update_settings.py:130
 msgid "Started threads"
@@ -4539,6 +4848,14 @@ msgstr ""
 msgid "You have to make a choice."
 msgstr ""
 
+#: threads/signals.py:177
+msgid "Question"
+msgstr ""
+
+#: threads/signals.py:178
+msgid "Choices"
+msgstr ""
+
 #: threads/templatetags/misago_poststags.py:20
 #, python-format
 msgid "%(user)s likes this."
@@ -4673,23 +4990,13 @@ msgstr ""
 msgid "Requested attachment could not be found."
 msgstr ""
 
-#: threads/views/admin/attachments.py:24 users/views/admin/bans.py:24
-#: users/views/admin/users.py:55
-msgid "From newest"
-msgstr ""
-
-#: threads/views/admin/attachments.py:25 users/views/admin/bans.py:25
-#: users/views/admin/users.py:56
-msgid "From oldest"
-msgstr ""
-
 #: threads/views/admin/attachments.py:26 users/views/admin/bans.py:26
-#: users/views/admin/users.py:57
+#: users/views/admin/users.py:58
 msgid "A to z"
 msgstr ""
 
 #: threads/views/admin/attachments.py:27 users/views/admin/bans.py:27
-#: users/views/admin/users.py:58
+#: users/views/admin/users.py:59
 msgid "Z to a"
 msgstr ""
 
@@ -4757,33 +5064,37 @@ msgid ""
 "post."
 msgstr ""
 
-#: users/admin.py:79
+#: users/admin.py:89
 msgid "User Accounts"
 msgstr ""
 
-#: users/admin.py:87
+#: users/admin.py:97
 msgid "Ranks"
 msgstr ""
 
-#: users/admin.py:96
+#: users/admin.py:106
 msgid "Bans"
 msgstr ""
 
+#: users/admin.py:115
+msgid "Data downloads"
+msgstr ""
+
 #: users/api/auth.py:100
 #, python-format
 msgid "Activate %(user)s account on %(forum_name)s forums"
 msgstr ""
 
-#: users/api/auth.py:139
+#: users/api/auth.py:138
 #, python-format
 msgid "Change %(user)s password on %(forum_name)s forums"
 msgstr ""
 
-#: users/api/auth.py:180
+#: users/api/auth.py:178
 msgid "Form link is invalid. Please try again."
 msgstr ""
 
-#: users/api/auth.py:181
+#: users/api/auth.py:179
 msgid "Your link has expired. Please request new one."
 msgstr ""
 
@@ -4853,15 +5164,15 @@ msgstr ""
 msgid "Confirm password change on %(forum_name)s forums"
 msgstr ""
 
-#: users/api/userendpoints/changepassword.py:31
+#: users/api/userendpoints/changepassword.py:32
 msgid "Password change confirmation link was sent to your address."
 msgstr ""
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:25
 msgid "New users registrations are currently closed."
 msgstr ""
 
-#: users/api/userendpoints/create.py:53 users/social/pipeline.py:205
+#: users/api/userendpoints/create.py:61 users/social/pipeline.py:215
 msgid "Please try resubmitting the form."
 msgstr ""
 
@@ -4886,38 +5197,54 @@ msgstr ""
 msgid "You don't have permission to see other users name history."
 msgstr ""
 
-#: users/api/users.py:54
+#: users/api/users.py:57
 msgid "You have to sign in to perform this action."
 msgstr ""
 
-#: users/api/users.py:100
+#: users/api/users.py:103
 msgid "You can't change other users avatars."
 msgstr ""
 
-#: users/api/users.py:107
+#: users/api/users.py:110
 msgid "You can't change other users options."
 msgstr ""
 
-#: users/api/users.py:112
+#: users/api/users.py:115
 msgid "Your forum options have been changed."
 msgstr ""
 
-#: users/api/users.py:119
+#: users/api/users.py:122
 msgid "You can't change other users names."
 msgstr ""
 
-#: users/api/users.py:126
+#: users/api/users.py:129
 msgid "You can't change other users signatures."
 msgstr ""
 
-#: users/api/users.py:133
+#: users/api/users.py:136
 msgid "You can't change other users passwords."
 msgstr ""
 
-#: users/api/users.py:140
+#: users/api/users.py:143
 msgid "You can't change other users e-mail addresses."
 msgstr ""
 
+#: users/api/users.py:225
+msgid "You can't request data downloads for other users."
+msgstr ""
+
+#: users/api/users.py:228
+msgid "You can't download your data."
+msgstr ""
+
+#: users/api/users.py:232
+msgid "You can't have more than one data download request at single time."
+msgstr ""
+
+#: users/api/users.py:278
+msgid "You can't see other users data downloads."
+msgstr ""
+
 #: users/apps.py:30
 msgid "Edit details"
 msgstr ""
@@ -4930,11 +5257,11 @@ msgstr ""
 msgid "Change email or password"
 msgstr ""
 
-#: users/apps.py:50
+#: users/apps.py:58
 msgid "Delete account"
 msgstr ""
 
-#: users/apps.py:59
+#: users/apps.py:67
 msgid "Active poster"
 msgstr ""
 
@@ -4991,295 +5318,295 @@ msgstr ""
 msgid "Edit the user from Misago admin panel"
 msgstr ""
 
-#: users/forms/admin.py:21 users/models/ban.py:74
+#: users/forms/admin.py:23 users/models/ban.py:74 users/signals.py:29
 msgid "Username"
 msgstr ""
 
-#: users/forms/admin.py:22
+#: users/forms/admin.py:24
 msgid "Custom title"
 msgstr ""
 
-#: users/forms/admin.py:23 users/models/ban.py:75
+#: users/forms/admin.py:25 users/models/ban.py:75
 msgid "E-mail address"
 msgstr ""
 
-#: users/forms/admin.py:52
+#: users/forms/admin.py:54
 msgid "All registered members must have \"Member\" role."
 msgstr ""
 
-#: users/forms/admin.py:71
+#: users/forms/admin.py:73
 msgid "Is administrator"
 msgstr ""
 
-#: users/forms/admin.py:73
+#: users/forms/admin.py:75
 msgid ""
 "Designates whether the user can log into admin sites. If Django admin site "
 "is enabled, this user will need additional permissions assigned within it to "
 "admin Django modules."
 msgstr ""
 
-#: users/forms/admin.py:79
+#: users/forms/admin.py:81
 msgid "Is superuser"
 msgstr ""
 
-#: users/forms/admin.py:81
+#: users/forms/admin.py:83
 msgid ""
 "Only administrators can access admin sites. In addition to admin site "
 "access, superadmins can also change other members admin levels."
 msgstr ""
 
-#: users/forms/admin.py:86
+#: users/forms/admin.py:88
 msgid "Is active"
 msgstr ""
 
-#: users/forms/admin.py:88
+#: users/forms/admin.py:90
 msgid ""
 "Designates whether this user should be treated as active. Turning this off "
 "is non-destructible way to remove user accounts."
 msgstr ""
 
-#: users/forms/admin.py:92 users/forms/admin.py:123 users/forms/admin.py:151
+#: users/forms/admin.py:94 users/forms/admin.py:125 users/forms/admin.py:153
 msgid "Staff message"
 msgstr ""
 
-#: users/forms/admin.py:94
+#: users/forms/admin.py:96
 msgid ""
 "Optional message for forum team members explaining why user's account has "
 "been disabled."
 msgstr ""
 
-#: users/forms/admin.py:99
+#: users/forms/admin.py:101
 msgid "Change password to"
 msgstr ""
 
-#: users/forms/admin.py:106
+#: users/forms/admin.py:108
 msgid "Lock avatar"
 msgstr ""
 
-#: users/forms/admin.py:108
+#: users/forms/admin.py:110
 msgid ""
 "Setting this to yes will stop user from changing his/her avatar, and will "
 "reset his/her avatar to procedurally generated one."
 msgstr ""
 
-#: users/forms/admin.py:114 users/forms/admin.py:145 users/forms/admin.py:473
-#: users/forms/admin.py:526
+#: users/forms/admin.py:116 users/forms/admin.py:147 users/forms/admin.py:468
+#: users/forms/admin.py:540
 msgid "User message"
 msgstr ""
 
-#: users/forms/admin.py:116
+#: users/forms/admin.py:118
 msgid ""
 "Optional message for user explaining why he/she is banned form changing "
 "avatar."
 msgstr ""
 
-#: users/forms/admin.py:125
+#: users/forms/admin.py:127
 msgid ""
 "Optional message for forum team members explaining why user is banned form "
 "changing avatar."
 msgstr ""
 
-#: users/forms/admin.py:133
+#: users/forms/admin.py:135
 msgid "Signature contents"
 msgstr ""
 
-#: users/forms/admin.py:138
+#: users/forms/admin.py:140
 msgid "Lock signature"
 msgstr ""
 
-#: users/forms/admin.py:140
+#: users/forms/admin.py:142
 msgid ""
 "Setting this to yes will stop user from making changes to his/her signature."
 msgstr ""
 
-#: users/forms/admin.py:146
+#: users/forms/admin.py:148
 msgid "Optional message to user explaining why his/hers signature is locked."
 msgstr ""
 
-#: users/forms/admin.py:152
+#: users/forms/admin.py:154
 msgid ""
 "Optional message to team members explaining why user signature is locked."
 msgstr ""
 
-#: users/forms/admin.py:157
+#: users/forms/admin.py:159
 msgid "Hides presence"
 msgstr ""
 
-#: users/forms/admin.py:160
+#: users/forms/admin.py:162
 msgid "Who can add user to private threads"
 msgstr ""
 
-#: users/forms/admin.py:169
+#: users/forms/admin.py:171
 msgid "Replid threads"
 msgstr ""
 
-#: users/forms/admin.py:219 users/serializers/moderation.py:42
+#: users/forms/admin.py:221 users/serializers/moderation.py:42
 #, python-format
 msgid "Signature can't be longer than %(limit)s character."
 msgid_plural "Signature can't be longer than %(limit)s characters."
 msgstr[0] ""
 msgstr[1] ""
 
-#: users/forms/admin.py:238
+#: users/forms/admin.py:240
 msgid ""
 "Ranks are used to group and distinguish users. They are also used to add "
 "permissions to groups of users."
 msgstr ""
 
-#: users/forms/admin.py:248
+#: users/forms/admin.py:250
 msgid "Roles"
 msgstr ""
 
-#: users/forms/admin.py:249
+#: users/forms/admin.py:251
 msgid "Individual roles of this user. All users must have \"member\" role."
 msgstr ""
 
-#: users/forms/admin.py:307
+#: users/forms/admin.py:309
 msgid "Username starts with"
 msgstr ""
 
-#: users/forms/admin.py:308
+#: users/forms/admin.py:310
 msgid "E-mail starts with"
 msgstr ""
 
-#: users/forms/admin.py:309
+#: users/forms/admin.py:311
 msgid "Profile fields contain"
 msgstr ""
 
-#: users/forms/admin.py:310
+#: users/forms/admin.py:312
 msgid "Inactive only"
 msgstr ""
 
-#: users/forms/admin.py:311
+#: users/forms/admin.py:313
 msgid "Disabled only"
 msgstr ""
 
-#: users/forms/admin.py:312
+#: users/forms/admin.py:314
 msgid "Admins only"
 msgstr ""
 
-#: users/forms/admin.py:313
+#: users/forms/admin.py:315
 msgid "Deleting their accounts"
 msgstr ""
 
-#: users/forms/admin.py:355
+#: users/forms/admin.py:357
 msgid "All ranks"
 msgstr ""
 
-#: users/forms/admin.py:362
+#: users/forms/admin.py:364
 msgid "All roles"
 msgstr ""
 
-#: users/forms/admin.py:369
+#: users/forms/admin.py:371
 msgid "Has rank"
 msgstr ""
 
-#: users/forms/admin.py:375
+#: users/forms/admin.py:377
 msgid "Has role"
 msgstr ""
 
-#: users/forms/admin.py:391
+#: users/forms/admin.py:393
 msgid ""
 "Short and descriptive name of all users with this rank. \"The Team\" or "
 "\"Game Masters\" are good examples."
 msgstr ""
 
-#: users/forms/admin.py:396
+#: users/forms/admin.py:398
 msgid "User title"
 msgstr ""
 
-#: users/forms/admin.py:399
+#: users/forms/admin.py:401
 msgid ""
 "Optional, singular version of rank name displayed by user names. For example "
 "\"GM\" or \"Dev\"."
 msgstr ""
 
-#: users/forms/admin.py:409
+#: users/forms/admin.py:411
 msgid ""
 "Optional description explaining function or status of members distincted "
 "with this rank."
 msgstr ""
 
-#: users/forms/admin.py:418
+#: users/forms/admin.py:420
 msgid "Rank can give additional roles to users with it."
 msgstr ""
 
-#: users/forms/admin.py:423
+#: users/forms/admin.py:425
 msgid "Optional css class added to content belonging to this rank owner."
 msgstr ""
 
-#: users/forms/admin.py:426
+#: users/forms/admin.py:428
 msgid "Give rank dedicated tab on users list"
 msgstr ""
 
-#: users/forms/admin.py:429
+#: users/forms/admin.py:431
 msgid ""
 "Selecting this option will make users with this rank easily discoverable by "
 "others through dedicated page on forum users list."
 msgstr ""
 
-#: users/forms/admin.py:454
+#: users/forms/admin.py:456
 msgid "This name collides with other rank."
 msgstr ""
 
-#: users/forms/admin.py:461
+#: users/forms/admin.py:463
 msgid "Values to ban"
 msgstr ""
 
-#: users/forms/admin.py:464 users/forms/admin.py:579
-msgid "Usernames"
+#: users/forms/admin.py:471
+msgid "Optional message displayed to users instead of default one."
 msgstr ""
 
-#: users/forms/admin.py:465 users/forms/admin.py:580
-msgid "E-mails"
+#: users/forms/admin.py:474 users/forms/admin.py:484 users/forms/admin.py:546
+#: users/forms/admin.py:556
+msgid "Message can't be longer than 1000 characters."
 msgstr ""
 
-#: users/forms/admin.py:466
-msgid "E-mail domains"
+#: users/forms/admin.py:478 users/forms/admin.py:550
+msgid "Team message"
 msgstr ""
 
-#: users/forms/admin.py:467
-msgid "IP addresses"
+#: users/forms/admin.py:481 users/forms/admin.py:553
+msgid "Optional ban message for moderators and administrators."
 msgstr ""
 
-#: users/forms/admin.py:468
-msgid "First segment of IP addresses"
+#: users/forms/admin.py:490
+msgid "Leave this field empty for set bans to never expire."
 msgstr ""
 
-#: users/forms/admin.py:469
-msgid "First two segments of IP addresses"
+#: users/forms/admin.py:499 users/forms/admin.py:593
+msgid "Usernames"
 msgstr ""
 
-#: users/forms/admin.py:476
-msgid "Optional message displayed to users instead of default one."
+#: users/forms/admin.py:500 users/forms/admin.py:594
+msgid "E-mails"
 msgstr ""
 
-#: users/forms/admin.py:479 users/forms/admin.py:489 users/forms/admin.py:532
-#: users/forms/admin.py:542
-msgid "Message can't be longer than 1000 characters."
+#: users/forms/admin.py:501
+msgid "E-mail domains"
 msgstr ""
 
-#: users/forms/admin.py:483 users/forms/admin.py:536
-msgid "Team message"
+#: users/forms/admin.py:507
+msgid "IP addresses"
 msgstr ""
 
-#: users/forms/admin.py:486 users/forms/admin.py:539
-msgid "Optional ban message for moderators and administrators."
+#: users/forms/admin.py:508
+msgid "First segment of IP addresses"
 msgstr ""
 
-#: users/forms/admin.py:495
-msgid "Leave this field empty for set bans to never expire."
+#: users/forms/admin.py:509
+msgid "First two segments of IP addresses"
 msgstr ""
 
-#: users/forms/admin.py:501
+#: users/forms/admin.py:515
 msgid "Check type"
 msgstr ""
 
-#: users/forms/admin.py:506
+#: users/forms/admin.py:520
 msgid "Restrict this ban to registrations"
 msgstr ""
 
-#: users/forms/admin.py:508
+#: users/forms/admin.py:522
 msgid ""
 "Changing this to yes will make this ban check be only performed on "
 "registration step. This is good if you want to block certain registrations "
@@ -5287,61 +5614,84 @@ msgid ""
 "existing users."
 msgstr ""
 
-#: users/forms/admin.py:514
+#: users/forms/admin.py:528
 msgid "Banned value"
 msgstr ""
 
-#: users/forms/admin.py:517
+#: users/forms/admin.py:531
 msgid ""
 "This value is case-insensitive and accepts asterisk (*) for rought matches. "
 "For example, making IP ban for value \"83.*\" will ban all IP addresses "
 "beginning with \"83.\"."
 msgstr ""
 
-#: users/forms/admin.py:522
+#: users/forms/admin.py:536
 msgid "Banned value can't be longer than 250 characters."
 msgstr ""
 
-#: users/forms/admin.py:529
+#: users/forms/admin.py:543
 msgid "Optional message displayed to user instead of default one."
 msgstr ""
 
-#: users/forms/admin.py:548
+#: users/forms/admin.py:562
 msgid "Leave this field empty for this ban to never expire."
 msgstr ""
 
-#: users/forms/admin.py:568
+#: users/forms/admin.py:582
 msgid "Banned value is too vague."
 msgstr ""
 
-#: users/forms/admin.py:578
+#: users/forms/admin.py:592
 msgid "All bans"
 msgstr ""
 
-#: users/forms/admin.py:581
+#: users/forms/admin.py:595
 msgid "IPs"
 msgstr ""
 
-#: users/forms/admin.py:584
+#: users/forms/admin.py:598
 msgid "Banned value begins with"
 msgstr ""
 
-#: users/forms/admin.py:586
+#: users/forms/admin.py:600
 msgid "Registration only"
 msgstr ""
 
-#: users/forms/admin.py:589 users/forms/admin.py:598
+#: users/forms/admin.py:603 users/forms/admin.py:612
 msgid "Any"
 msgstr ""
 
-#: users/forms/admin.py:599
+#: users/forms/admin.py:613
 msgid "Active"
 msgstr ""
 
-#: users/forms/admin.py:600
+#: users/forms/admin.py:614 users/models/datadownload.py:26
 msgid "Expired"
 msgstr ""
 
+#: users/forms/admin.py:649
+msgid "Usernames or emails"
+msgstr ""
+
+#: users/forms/admin.py:651
+msgid ""
+"Enter every item in new line. Duplicates will be ignored. This field is case "
+"insensitive. Depending on site configuration and amount of data to archive "
+"it may take up to few days for requests to complete. E-mail will "
+"notification will be sent to every user once their download is ready."
+msgstr ""
+
+#: users/forms/admin.py:667
+#, python-format
+msgid ""
+"You may not enter more than 20 items at single time (You have entered "
+"%(show_value)s)."
+msgstr ""
+
+#: users/forms/admin.py:684
+msgid "One or more specified users could not be found."
+msgstr ""
+
 #: users/forms/auth.py:16
 msgid "Fill out both fields."
 msgstr ""
@@ -5398,18 +5748,27 @@ msgid ""
 "request new password."
 msgstr ""
 
-#: users/forms/register.py:27
+#: users/forms/register.py:34
 msgid "This usernane is not allowed."
 msgstr ""
 
-#: users/forms/register.py:38 users/validators.py:41
+#: users/forms/register.py:45 users/validators.py:41
 msgid "This e-mail address is not allowed."
 msgstr ""
 
-#: users/forms/register.py:47
+#: users/forms/register.py:51
+msgid "This agreement is required."
+msgstr ""
+
+#: users/forms/register.py:60
 msgid "New registrations from this IP address are not allowed."
 msgstr ""
 
+#: users/management/commands/prepareuserdatadownloads.py:34
+#, python-format
+msgid "%(user)s, your data download is ready"
+msgstr ""
+
 #: users/migrations/0002_users_settings.py:18
 #: users/migrations/0006_update_settings.py:19
 msgid ""
@@ -5633,7 +5992,7 @@ msgid "Enter each answer in new line. Answers are case-insensitive."
 msgstr ""
 
 #: users/migrations/0004_default_ranks.py:17
-#: users/migrations/0004_default_ranks.py:18 users/models/user.py:111
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:113
 msgid "Forum team"
 msgstr ""
 
@@ -5646,47 +6005,59 @@ msgstr ""
 msgid "Members"
 msgstr ""
 
-#: users/models/user.py:37
+#: users/models/datadownload.py:23
+msgid "Pending"
+msgstr ""
+
+#: users/models/datadownload.py:24
+msgid "Processing"
+msgstr ""
+
+#: users/models/datadownload.py:25
+msgid "Ready"
+msgstr ""
+
+#: users/models/user.py:38
 msgid "User must have an email address."
 msgstr ""
 
-#: users/models/user.py:146
+#: users/models/user.py:148
 msgid "Notify"
 msgstr ""
 
-#: users/models/user.py:147
+#: users/models/user.py:149
 msgid "Notify with e-mail"
 msgstr ""
 
-#: users/models/user.py:155
+#: users/models/user.py:157
 msgid "Everybody"
 msgstr ""
 
-#: users/models/user.py:156
+#: users/models/user.py:158
 msgid "Users I follow"
 msgstr ""
 
-#: users/models/user.py:157
+#: users/models/user.py:159
 msgid "Nobody"
 msgstr ""
 
-#: users/models/user.py:175
+#: users/models/user.py:177
 msgid "joined on"
 msgstr ""
 
-#: users/models/user.py:190
+#: users/models/user.py:191
 msgid "staff status"
 msgstr ""
 
-#: users/models/user.py:192
+#: users/models/user.py:193
 msgid "Designates whether the user can log into admin sites."
 msgstr ""
 
-#: users/models/user.py:199
+#: users/models/user.py:200
 msgid "active"
 msgstr ""
 
-#: users/models/user.py:203
+#: users/models/user.py:204
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
@@ -6038,11 +6409,7 @@ msgstr ""
 msgid "Join IP"
 msgstr ""
 
-#: users/profilefields/default.py:99
-msgid "Last IP"
-msgstr ""
-
-#: users/registration.py:9
+#: users/registration.py:11
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgstr ""
@@ -6084,14 +6451,30 @@ msgstr ""
 msgid "New e-mail is same as current one."
 msgstr ""
 
-#: users/social/pipeline.py:74
+#: users/signals.py:31
+msgid "Joined on"
+msgstr ""
+
+#: users/signals.py:32
+msgid "Joined from ip"
+msgstr ""
+
+#: users/signals.py:72
+msgid "New username"
+msgstr ""
+
+#: users/signals.py:73
+msgid "Old username"
+msgstr ""
+
+#: users/social/pipeline.py:77
 #, python-format
 msgid ""
 "The e-mail address associated with your %(backend)s account is not available "
 "for use on this site."
 msgstr ""
 
-#: users/social/pipeline.py:83
+#: users/social/pipeline.py:86
 #, python-format
 msgid ""
 "Your account has to be activated by site administrator before you will be "
@@ -6187,6 +6570,42 @@ msgstr ""
 msgid "Ban \"%(name)s\" has been removed."
 msgstr ""
 
+#: users/views/admin/datadownloads.py:23
+msgid "With data downloads: 0"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:24
+msgid "Select data downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:28
+msgid "Expire downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:30
+msgid "Are you sure you want to set selected data downloads as expired?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:34
+msgid "Delete downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:36
+msgid "Are you sure you want to delete selected data downloads?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:51
+msgid "Selected data downloads have been set as expired."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:57
+msgid "Selected data downloads have been deleted."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:68
+msgid "Data downloads have been requested for specified users."
+msgstr ""
+
 #: users/views/admin/ranks.py:16
 msgid "Requested rank does not exist."
 msgstr ""
@@ -6236,92 +6655,100 @@ msgstr ""
 msgid "Rank \"%(name)s\" has been made default."
 msgstr ""
 
-#: users/views/admin/users.py:59
+#: users/views/admin/users.py:60
 msgid "Biggest posters"
 msgstr ""
 
-#: users/views/admin/users.py:60
+#: users/views/admin/users.py:61
 msgid "Smallest posters"
 msgstr ""
 
-#: users/views/admin/users.py:62
+#: users/views/admin/users.py:63
 msgid "With users: 0"
 msgstr ""
 
-#: users/views/admin/users.py:63
+#: users/views/admin/users.py:64
 msgid "Select users"
 msgstr ""
 
-#: users/views/admin/users.py:67
+#: users/views/admin/users.py:68
 msgid "Activate accounts"
 msgstr ""
 
-#: users/views/admin/users.py:77
+#: users/views/admin/users.py:78
+msgid "Request data download"
+msgstr ""
+
+#: users/views/admin/users.py:83
 msgid "Delete accounts"
 msgstr ""
 
-#: users/views/admin/users.py:79
+#: users/views/admin/users.py:85
 msgid "Are you sure you want to delete selected users?"
 msgstr ""
 
-#: users/views/admin/users.py:83
+#: users/views/admin/users.py:89
 msgid "Delete all"
 msgstr ""
 
-#: users/views/admin/users.py:86
+#: users/views/admin/users.py:92
 msgid ""
 "Are you sure you want to delete selected users? This will also delete all "
 "content associated with their accounts."
 msgstr ""
 
-#: users/views/admin/users.py:107
+#: users/views/admin/users.py:113
 msgid "You have to select inactive users."
 msgstr ""
 
-#: users/views/admin/users.py:114
+#: users/views/admin/users.py:120
 #, python-format
 msgid "Your account on %(forum_name)s forums has been activated"
 msgstr ""
 
-#: users/views/admin/users.py:119
+#: users/views/admin/users.py:125
 msgid "Selected users accounts have been activated."
 msgstr ""
 
-#: users/views/admin/users.py:125
+#: users/views/admin/users.py:131
 #, python-format
 msgid "%(user)s is super admin and can't be banned."
 msgstr ""
 
-#: users/views/admin/users.py:186
+#: users/views/admin/users.py:194
 msgid "Selected users have been banned."
 msgstr ""
 
-#: users/views/admin/users.py:201 users/views/admin/users.py:215
-#: users/views/admin/users.py:331
+#: users/views/admin/users.py:212
+msgid "Data download requests have been placed for selected users."
+msgstr ""
+
+#: users/views/admin/users.py:217 users/views/admin/users.py:230
+#: users/views/admin/users.py:346
 msgid "You can't delete yourself."
 msgstr ""
 
-#: users/views/admin/users.py:203 users/views/admin/users.py:217
-#: users/views/admin/users.py:334
+#: users/views/admin/users.py:219 users/views/admin/users.py:232
+#: users/views/admin/users.py:349
 #, python-format
 msgid "%(user)s is admin and can't be deleted."
 msgstr ""
 
-#: users/views/admin/users.py:209
+#: users/views/admin/users.py:225
 msgid "Selected users have been deleted."
 msgstr ""
 
-#: users/views/admin/users.py:232
+#: users/views/admin/users.py:247
 #, python-format
 msgid "New user \"%(user)s\" has been registered."
 msgstr ""
 
-#: users/views/admin/users.py:261
+#: users/views/admin/users.py:276
 #, python-format
 msgid "User \"%(user)s\" has been edited."
 msgstr ""
 
-#: users/views/admin/users.py:328
+#: users/views/admin/users.py:343
 msgid "This action can't be accessed directly."
 msgstr ""
 

BIN
misago/locale/en/LC_MESSAGES/djangojs.mo


+ 285 - 206
misago/locale/en/LC_MESSAGES/djangojs.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\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"
@@ -39,7 +39,29 @@ msgid "Promise can't be resolved itself"
 msgstr ""
 
 #: static/misago/js/misago.js:1
-msgid "By registering you agree to site's terms and conditions."
+msgid "the terms of service"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "the privacy policy"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "I have read and accept %(agreement)s."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid ""
+"Declining will result in immediate deactivation and deletion of your "
+"account. This action is not reversible."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Decline"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Accept and continue"
 msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
@@ -48,11 +70,12 @@ msgstr ""
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:12
 #: static/misago/js/misago.js:13 static/misago/js/misago.js:14
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Close"
 msgstr ""
 
-#: static/misago/js/misago.js:1 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:1 static/misago/js/misago.js:6
 msgid "Add participant"
 msgstr ""
 
@@ -70,9 +93,10 @@ msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:6 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:6 static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Cancel"
 msgstr ""
 
@@ -194,8 +218,8 @@ msgid "Generate my individual avatar"
 msgstr ""
 
 #: static/misago/js/misago.js:2 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "Ok"
 msgstr ""
 
@@ -263,39 +287,39 @@ msgstr ""
 msgid "Emphase selection"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert horizontal ruler"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link to image"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter image label (optional)"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert image"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link address"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link label (optional)"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert link"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter quote autor, prefix usernames with @"
 msgstr ""
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert quote"
 msgstr ""
 
@@ -327,7 +351,7 @@ msgstr ""
 msgid "Error uploading %(filename)s"
 msgstr ""
 
-#: static/misago/js/misago.js:3 static/misago/js/misago.js:8
+#: static/misago/js/misago.js:3 static/misago/js/misago.js:9
 msgid "Dismiss"
 msgstr ""
 
@@ -344,7 +368,7 @@ msgid "Protected"
 msgstr ""
 
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Protect"
 msgstr ""
 
@@ -379,7 +403,7 @@ msgid ""
 "deleted during the merge."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:18
 msgid "Poll"
 msgstr ""
 
@@ -394,6 +418,7 @@ msgid "Are you sure you want to delete all polls?"
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Merge threads"
 msgstr ""
 
@@ -419,8 +444,7 @@ msgstr ""
 msgid "%(title)s, joined on %(joined_on)s"
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "Change username"
 msgstr ""
 
@@ -453,7 +477,7 @@ msgstr[1] ""
 msgid "Your new username is same as current one."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "New username"
 msgstr ""
 
@@ -462,15 +486,15 @@ msgid "Your username has been changed successfully."
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change your options"
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5
 msgid "Enter your password to confirm account deletion."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:13
 msgid "Delete account"
 msgstr ""
 
@@ -506,7 +530,54 @@ msgstr ""
 msgid "Delete my account"
 msgstr ""
 
-#: static/misago/js/misago.js:5 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:5
+msgid "Your request for data download has been registered."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download your data"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"To download your data from the site, click the \"Request data download\" "
+"button. Depending on amount of data to be archived and number of users "
+"wanting to download their data at same time it may take up to few days for "
+"your download to be prepared. An e-mail with notification will be sent to "
+"you when your data is ready to be downloaded."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"The download will only be available for limited amount of time, after which "
+"it will be deleted from the site and marked as expired."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Requested on"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "You have no data downloads."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Request data download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is being prepared"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is expired"
+msgstr ""
+
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:12
 msgid "Your details have been updated."
 msgstr ""
 
@@ -589,7 +660,7 @@ msgstr ""
 msgid "Threads I reply to"
 msgstr ""
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:6
 msgid "Change email or password"
 msgstr ""
 
@@ -639,7 +710,7 @@ msgstr ""
 msgid "Repeat password"
 msgstr ""
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change forgotten password"
 msgstr ""
 
@@ -821,21 +892,21 @@ msgid_plural "%(votes)s votes."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Votes are public."
 msgstr ""
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s vote, %(proc)s% of total."
 msgid_plural "%(votes)s votes, %(proc)s% of total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Your choice."
 msgstr ""
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s user has voted for this choice."
 msgid_plural "%(votes)s users have voted for this choice."
 msgstr[0] ""
@@ -853,9 +924,8 @@ msgstr ""
 msgid "See votes"
 msgstr ""
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:15
 msgid "Edit"
 msgstr ""
 
@@ -865,8 +935,7 @@ msgid ""
 msgstr ""
 
 #: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Delete"
 msgstr ""
 
@@ -929,27 +998,27 @@ msgstr ""
 msgid "See previous change"
 msgstr ""
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "By %(edited_by)s %(edited_on)s."
 msgstr ""
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This post's contents cannot be displayed."
 msgstr ""
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This error is caused by invalid post content manipulation."
 msgstr ""
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "posted %(posted_on)s"
 msgstr ""
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "Removed user"
 msgstr ""
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "See post"
 msgstr ""
 
@@ -971,7 +1040,7 @@ msgstr ""
 msgid "Are you sure you want to discard changes?"
 msgstr ""
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "You have to enter a message."
 msgstr ""
 
@@ -1003,11 +1072,12 @@ msgstr ""
 msgid "You have to enter at least one recipient."
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:15
 msgid "You have to enter thread title."
 msgstr ""
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Your thread has been posted."
 msgstr ""
 
@@ -1015,12 +1085,13 @@ msgstr ""
 msgid "Comma separated list of user names, eg.: Danny, Lisa"
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:19
 msgid "Thread title"
 msgstr ""
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Post thread"
 msgstr ""
 
@@ -1028,35 +1099,35 @@ msgstr ""
 msgid "Are you sure you want to discard thread?"
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18
 msgid "Closed"
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:16
 msgid "Open"
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:21
 msgid "Hidden"
 msgstr ""
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Not hidden"
 msgstr ""
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Unpinned"
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned locally"
 msgstr ""
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned globally"
@@ -1103,12 +1174,12 @@ msgstr[0] ""
 msgstr[1] ""
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Hide"
 msgstr ""
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Unhide"
 msgstr ""
 
@@ -1130,10 +1201,6 @@ msgid "By %(event_by)s %(event_on)s."
 msgstr ""
 
 #: static/misago/js/misago.js:9
-msgid "IP recorded"
-msgstr ""
-
-#: static/misago/js/misago.js:9
 msgid "Thread title has been changed from %(old_title)s."
 msgstr ""
 
@@ -1222,23 +1289,23 @@ msgstr ""
 msgid "Post has been deleted."
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link to this post:"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Mark as best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Unmark best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
 msgid "This post was edited %(edits)s time."
 msgid_plural "This post was edited %(edits)s times."
 msgstr[0] ""
@@ -1248,17 +1315,15 @@ msgstr[1] ""
 msgid "Changes history"
 msgstr ""
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Approve"
 msgstr ""
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Move"
 msgstr ""
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Split"
 msgstr ""
 
@@ -1271,6 +1336,7 @@ msgid "Move post"
 msgstr ""
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You have to enter link to the other thread."
 msgstr ""
 
@@ -1320,7 +1386,7 @@ msgid "Close thread"
 msgstr ""
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19
 msgid "Category"
 msgstr ""
 
@@ -1368,32 +1434,32 @@ msgid_plural "%(users)s and %(likes)s other users like this."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Liked"
 msgstr ""
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Like"
 msgstr ""
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
 msgid "Reply"
 msgstr ""
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "New post"
 msgstr ""
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:20
 msgid "New"
 msgstr ""
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "This post is protected and may not be edited."
 msgstr ""
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "protected"
 msgstr ""
 
@@ -1441,69 +1507,68 @@ msgstr ""
 msgid "%(username)s is not sharing any details with others."
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
 msgid "Details"
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s's details have been updated."
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have no started threads."
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s started no threads."
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:13
 msgid "Loading..."
 msgstr ""
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:19
 #: static/misago/js/misago.js:20
 msgid "Threads"
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted no messages."
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s posted no messages."
 msgstr ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "Posts"
 msgstr ""
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:12
 msgid "Show more (%(more)s)"
 msgstr ""
 
@@ -1594,6 +1659,7 @@ msgid "Joined %(joined_on)s"
 msgstr ""
 
 #: static/misago/js/misago.js:12 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Moderation"
 msgstr ""
 
@@ -1647,41 +1713,41 @@ msgstr ""
 msgid "Avatar controls"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Username has been changed."
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account, threads, posts and other content has been deleted."
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account has been deleted and other content has been hidden."
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete %(username)s"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Please wait... (%(countdown)ss)"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "User content"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete together with user's account"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Hide after deleting user's account"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Return to users list"
 msgstr ""
 
@@ -1747,75 +1813,74 @@ msgstr ""
 msgid "Register"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Join with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Or create forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Username"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:17
 #: static/misago/js/misago.js:18
 msgid "E-mail"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Password"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Register account"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but you need to activate it "
 "before you will be able to sign in."
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but board administrator will "
 "have to activate it before you will be able to sign in."
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid ""
 "We have sent an e-mail to %(email)s with link that you have to click to "
 "activate your account."
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "We will send an e-mail to %(email)s when this takes place."
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Registration complete"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:25
 msgid "Enter a valid email address."
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Your e-mail address"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Send link"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Activation link was sent to %(email)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Request another link"
 msgstr ""
 
@@ -1880,40 +1945,41 @@ msgstr ""
 msgid "Enter at least two characters to search users."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Fill out both fields."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Activate account"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Sign in with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Or use your forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Username or e-mail"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Forgot password?"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid ""
-"%(username)s, your account has been created and you has been signed in to it."
+"%(username)s, your account has been created and you have been signed in to "
+"it."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Registration completed!"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Return to forum index"
 msgstr ""
 
@@ -1922,6 +1988,10 @@ msgid "Sign in with %(backend)s"
 msgstr ""
 
 #: static/misago/js/misago.js:15
+msgid "You need to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:15
 msgid "Your e-mail address has been verified by %(backend)s."
 msgstr ""
 
@@ -1942,7 +2012,7 @@ msgid "Edit title"
 msgstr ""
 
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:20
 msgid "Unapproved"
 msgstr ""
 
@@ -1950,7 +2020,7 @@ msgstr ""
 msgid "Unapproved posts"
 msgstr ""
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:15 static/misago/js/misago.js:18
 msgid "%(replies)s reply"
 msgid_plural "%(replies)s replies"
 msgstr[0] ""
@@ -1971,19 +2041,19 @@ msgid ""
 "reversible!"
 msgstr ""
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Merge"
 msgstr ""
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Unprotect"
 msgstr ""
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "%(username)s on %(posted_on)s"
 msgstr ""
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "One or more posts could not be changed:"
 msgstr ""
 
@@ -2043,37 +2113,37 @@ msgstr ""
 msgid "Unpin"
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Merge thread"
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been merged with other one."
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Link to thread you want to merge with"
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid ""
 "Merge will delete current thread and move its contents to the thread "
 "specified here."
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Move thread"
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You can't move this thread at the moment."
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been moved."
 msgstr ""
 
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "New category"
 msgstr ""
 
@@ -2111,15 +2181,15 @@ msgstr ""
 msgid "Disabled"
 msgstr ""
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Unsubscribe"
 msgstr ""
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe"
 msgstr ""
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe with e-mail"
 msgstr ""
 
@@ -2151,11 +2221,11 @@ msgstr ""
 msgid "Options"
 msgstr ""
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid "Add poll"
 msgstr ""
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid ""
 "There is %(threads)s new or updated thread. Click this message to show it."
 msgid_plural ""
@@ -2176,7 +2246,7 @@ msgstr ""
 msgid "Change subscription"
 msgstr ""
 
-#: static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19
 msgid "Start thread"
 msgstr ""
 
@@ -2256,7 +2326,7 @@ msgstr ""
 msgid "Unpin threads"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Move threads"
 msgstr ""
 
@@ -2292,7 +2362,7 @@ msgstr ""
 msgid "One or more threads could not be deleted:"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid ""
 "You can't move threads because there are no categories you are allowed to "
 "move them to."
@@ -2304,61 +2374,61 @@ msgid ""
 "to it."
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Selected threads were moved."
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid ""
 "You need permission to start threads in category to be able to move threads "
 "to it."
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select all"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select none"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All threads"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My threads"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "New threads"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread threads"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed threads"
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unapproved content"
 msgstr ""
 
@@ -2374,7 +2444,8 @@ msgstr ""
 msgid "You have unread private threads!"
 msgstr ""
 
-#: static/misago/js/misago.js:20 static/misago/js/misago.js:22
+#: static/misago/js/misago.js:20 static/misago/js/misago.js:21
+#: static/misago/js/misago.js:23
 msgid "Private threads"
 msgstr ""
 
@@ -2382,67 +2453,67 @@ msgstr ""
 msgid "Are you sure you want to sign out?"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "See your profile"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change options"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change avatar"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Log out"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned until %(ban_expires)s"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is hiding presence"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online (hidden)"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s (hidden)"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Banned"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online (hidden)"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline (hidden)"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline"
 msgstr ""
 
@@ -2456,19 +2527,19 @@ msgstr[1] ""
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr ""
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Rank"
 msgstr ""
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Ranked posts"
 msgstr ""
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "Total posts"
 msgstr ""
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] ""
@@ -2500,25 +2571,25 @@ msgstr ""
 msgid "no"
 msgstr ""
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid ""
 "Private threads are threads which only those that started them and those "
 "they have invited may see and participate in."
 msgstr ""
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid "You aren't participating in any private threads."
 msgstr ""
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Lost connection with application."
 msgstr ""
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Action link is invalid."
 msgstr ""
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Unknown error has occured."
 msgstr ""
 
@@ -2554,15 +2625,23 @@ msgstr ""
 msgid "You don't have permission to perform this action."
 msgstr ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "You are banned"
 msgstr ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "This field is required."
 msgstr ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
+msgid "You have to accept the terms of service."
+msgstr ""
+
+#: static/misago/js/misago.js:25
+msgid "You have to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at least %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2572,7 +2651,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at most %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2582,23 +2661,23 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username must be at least %(limit_value)s character long."
 msgid_plural "Username must be at least %(limit_value)s characters long."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username cannot be longer than %(limit_value)s character."
 msgid_plural "Username cannot be longer than %(limit_value)s characters."
 msgstr[0] ""
 msgstr[1] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username can only contain latin alphabet letters and digits."
 msgstr ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Valid password must be at least %(limit_value)s character long."
 msgid_plural "Valid password must be at least %(limit_value)s characters long."
 msgstr[0] ""

BIN
misago/locale/es/LC_MESSAGES/django.mo


+ 726 - 303
misago/locale/es/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Carlos López <carlos@vocalaze.com>, 2017\n"
 "Language-Team: Spanish (https://www.transifex.com/misago/teams/65369/es/)\n"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Permissions"
 msgstr "Permisos"
 
-#: acl/admin.py:33 users/forms/admin.py:414
+#: acl/admin.py:33 users/forms/admin.py:416
 msgid "User roles"
 msgstr "Roles de usuario"
 
@@ -142,17 +142,17 @@ msgstr "Debes seleccionar uno o más artículos."
 msgid "Action is not allowed."
 msgstr "La acción no está permitida"
 
-#: admin/views/index.py:70
+#: admin/views/index.py:83
 #, python-format
 msgid "Outdated: %(current)s! (latest: %(latest)s)"
 msgstr "Anticuado %(current)s! (último: %(latest)s)"
 
-#: admin/views/index.py:78
+#: admin/views/index.py:91
 #, python-format
 msgid "Up to date! (%(current)s)"
 msgstr "¡Actualizado! (%(current)s)"
 
-#: admin/views/index.py:87
+#: admin/views/index.py:100
 msgid "Failed to connect to GitHub API. Try again later."
 msgstr "Error al conectarse a la API de GitHub. Inténtalo más tarde."
 
@@ -171,11 +171,11 @@ msgstr "Jerarquía de categorías"
 msgid "Category roles"
 msgstr "Roles de categoría"
 
-#: categories/forms.py:47 users/forms/admin.py:388
+#: categories/forms.py:47 users/forms/admin.py:390
 msgid "Name"
 msgstr "Nombre"
 
-#: categories/forms.py:49 users/forms/admin.py:404
+#: categories/forms.py:49 users/forms/admin.py:406
 msgid "Description"
 msgstr "Descripción"
 
@@ -183,7 +183,7 @@ msgstr "Descripción"
 msgid "Optional description explaining category intented purpose."
 msgstr "Descripción opcional que explica el propósito de la categoría."
 
-#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:421
+#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:423
 msgid "CSS class"
 msgstr "Clase CSS"
 
@@ -205,7 +205,7 @@ msgstr ""
 "Solo los miembros con permisos válidos pueden publicar en categorías "
 "cerradas."
 
-#: categories/forms.py:75 templates/misago/admin/index.html:83
+#: categories/forms.py:75 templates/misago/admin/index.html:110
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
 #: templates/misago/profile/threads.html:8
@@ -218,7 +218,7 @@ msgstr ""
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:72 threads/permissions/threads.py:103
-#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:89
+#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:97
 msgid "Threads"
 msgstr "Hilos"
 
@@ -533,7 +533,7 @@ msgstr "La autenticación de solicitud no es válida."
 
 #: core/forms.py:43 templates/misago/admin/users/edit.html:61
 #: templates/misago/admin/users/edit.html:78
-#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:590
+#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:604
 msgid "Yes"
 msgstr "Sí"
 
@@ -547,7 +547,7 @@ msgstr "Sí"
 #: threads/permissions/threads.py:164 threads/permissions/threads.py:178
 #: threads/permissions/threads.py:189 threads/permissions/threads.py:205
 #: threads/permissions/threads.py:216 threads/permissions/threads.py:247
-#: users/forms/admin.py:591 users/models/user.py:145
+#: users/forms/admin.py:605 users/models/user.py:147
 msgid "No"
 msgstr "No"
 
@@ -652,7 +652,72 @@ msgstr "El valor debe contener caracteres alfanuméricos."
 msgid "Value is too long."
 msgstr "El valor es demasiado largo."
 
+#: legal/admin.py:25 templates/misago/admin/users/edit.html:216
+msgid "Agreements"
+msgstr ""
+
+#: legal/api.py:18
+msgid "You have already accepted this agreement."
+msgstr ""
+
+#: legal/api.py:27
+msgid "You need to submit a valid choice."
+msgstr ""
+
+#: legal/forms.py:10 legal/forms.py:60
+#: templates/misago/admin/agreements/list.html:18
+#: templates/misago/admin/attachmenttypes/list.html:16
+#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:589
+msgid "Type"
+msgstr "Tipo"
+
+#: legal/forms.py:12 templates/misago/admin/agreements/list.html:16
+#: templates/misago/admin/ranks/list.html:17
+msgid "Title"
+msgstr "Título"
+
+#: legal/forms.py:13
+msgid "Optional, leave empty for agreement to be named after its type."
+msgstr ""
+
+#: legal/forms.py:17
+msgid "Set as active for its type"
+msgstr ""
+
+#: legal/forms.py:19
+msgid ""
+"If other agreement is already active for this type, it will be unset and "
+"replaced with this one. Misago will ask users who didn't accept this "
+"agreement to do so before allowing them to continue using the site's "
+"features."
+msgstr ""
+
+#: legal/forms.py:27
+msgid "Link"
+msgstr ""
+
+#: legal/forms.py:28
+msgid "If your agreement is located on other page, enter here a link to it."
+msgstr ""
+
+#: legal/forms.py:32
+msgid "Text"
+msgstr ""
+
+#: legal/forms.py:33
+msgid "You can use Markdown syntax for rich text elements."
+msgstr ""
+
+#: legal/forms.py:46
+msgid "Please fill in agreement link or text."
+msgstr ""
+
+#: legal/forms.py:65
+msgid "Content"
+msgstr ""
+
 #: legal/migrations/0001_initial.py:16
+#: legal/migrations/0003_create_agreements_from_settings.py:57
 msgid "Legal information"
 msgstr "INFORMACIÓN LEGAL"
 
@@ -702,7 +767,7 @@ msgstr ""
 msgid "Policy title"
 msgstr "Título de la política"
 
-#: legal/migrations/0001_initial.py:64 legal/views.py:46
+#: legal/migrations/0001_initial.py:64 legal/models.py:43
 #: templates/misago/footer.html:27
 msgid "Privacy policy"
 msgstr "Política de privacidad"
@@ -731,21 +796,85 @@ msgstr ""
 "Misago está disponible para formatear."
 
 #: legal/migrations/0001_initial.py:105
+#: legal/migrations/0003_create_agreements_from_settings.py:62
 msgid "Footnote"
 msgstr "Nota"
 
 #: legal/migrations/0001_initial.py:106
+#: legal/migrations/0003_create_agreements_from_settings.py:63
 msgid "Short message displayed in forum footer."
 msgstr "Se muestra un mensaje corto en el pie de página del foro."
 
 #: legal/migrations/0001_initial.py:107
+#: legal/migrations/0003_create_agreements_from_settings.py:64
 msgid "Forum footer"
 msgstr "Pie de página del foro"
 
-#: legal/views.py:65 templates/misago/footer.html:22
+#: legal/migrations/0003_create_agreements_from_settings.py:58
+msgid ""
+"Those settings allow you to set additional legal information for your forum."
+msgstr ""
+
+#: legal/models.py:42 templates/misago/footer.html:22
 msgid "Terms of service"
 msgstr "Términos del servicio"
 
+#: legal/views/admin.py:17
+msgid "Requested agreement does not exist."
+msgstr ""
+
+#: legal/views/admin.py:29 threads/views/admin/attachments.py:24
+#: users/views/admin/bans.py:24 users/views/admin/datadownloads.py:20
+#: users/views/admin/users.py:56
+msgid "From newest"
+msgstr "Desde el más nuevo"
+
+#: legal/views/admin.py:30 threads/views/admin/attachments.py:25
+#: users/views/admin/bans.py:25 users/views/admin/datadownloads.py:21
+#: users/views/admin/users.py:57
+msgid "From oldest"
+msgstr "Desde el más antiguo"
+
+#: legal/views/admin.py:33
+msgid "With agreements: 0"
+msgstr ""
+
+#: legal/views/admin.py:34
+msgid "Select agreements"
+msgstr ""
+
+#: legal/views/admin.py:38
+msgid "Delete agreements"
+msgstr ""
+
+#: legal/views/admin.py:39
+msgid "Are you sure you want to delete those agreements?"
+msgstr ""
+
+#: legal/views/admin.py:49
+msgid "Selected agreements have been deleted."
+msgstr ""
+
+#: legal/views/admin.py:53
+#, python-format
+msgid "New agreement \"%(title)s\" has been saved."
+msgstr ""
+
+#: legal/views/admin.py:63
+#, python-format
+msgid "Agreement \"%(title)s\" has been edited."
+msgstr ""
+
+#: legal/views/admin.py:77
+#, python-format
+msgid "Agreement \"%(title)s\" has been deleted."
+msgstr ""
+
+#: legal/views/admin.py:85
+#, python-format
+msgid "Agreement \"%(title)s\" has been set as active for type \"%(type)s\"."
+msgstr ""
+
 #: markup/finalise.py:22
 #, python-format
 msgid "%(title)s has written:"
@@ -755,15 +884,15 @@ msgstr "%(title)s ha escrito:"
 msgid "Quoted message:"
 msgstr "Mensaje citado:"
 
-#: project_template/project_name/settings.py:388
+#: project_template/project_name/settings.py:424
 msgid "Personal"
 msgstr "Personal"
 
-#: project_template/project_name/settings.py:397
+#: project_template/project_name/settings.py:433
 msgid "Contact"
 msgstr "Contacto"
 
-#: project_template/project_name/settings.py:405 users/models/ban.py:76
+#: project_template/project_name/settings.py:441 users/models/ban.py:76
 msgid "IP address"
 msgstr "Dirección IP"
 
@@ -872,6 +1001,98 @@ msgstr "Activación fallida"
 msgid "Your account can't be activated at this time."
 msgstr "Tu cuenta no puede ser activada en este momento."
 
+#: templates/misago/admin/agreements/form.html:9
+#: templates/misago/admin/agreements/form.html:18
+#: templates/misago/admin/agreements/form.html:28
+#: templates/misago/admin/agreements/list.html:9
+msgid "New agreement"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:43
+#: templates/misago/admin/categoryroles/form.html:43
+#: templates/misago/admin/roles/form.html:43
+msgid "Basic settings"
+msgstr "Configuración básica"
+
+#: templates/misago/admin/agreements/form.html:51
+msgid "Agreement contents"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:54
+msgid "Fill in one of the fields."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:19
+msgid "Created"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:20
+msgid "Modified"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:33
+#, python-format
+msgid "Active %(type)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:52
+#, python-format
+msgid "%(created_on)s by %(created_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:68
+#, python-format
+msgid "%(last_modified_on)s by %(last_modified_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:72
+msgid "never"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:78
+msgid "Set as active"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:88
+#: templates/misago/admin/attachmenttypes/list.html:54
+#: templates/misago/admin/bans/list.html:55
+#: templates/misago/admin/categories/list.html:66
+#: templates/misago/admin/categoryroles/list.html:27
+#: templates/misago/admin/ranks/list.html:99
+#: templates/misago/admin/roles/list.html:43
+#: templates/misago/admin/warnings/list.html:109
+#: templates/misago/poll/results.html:69
+#: templates/misago/profile/details.html:24
+#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
+msgid "Edit"
+msgstr "Editar"
+
+#: templates/misago/admin/agreements/list.html:94
+#: templates/misago/admin/bans/list.html:61
+msgid "Remove"
+msgstr "Eliminar"
+
+#: templates/misago/admin/agreements/list.html:106
+msgid "No agreements matching search criteria have been found"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:108
+msgid "No agreements are currently set."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:119
+msgid "Are you sure you want to set this agreement as active for its type?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:124
+msgid "Are you sure you want to delete this agreement?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:133
+#: templates/misago/admin/bans/list.html:95
+msgid "Search bans"
+msgstr "Prohibiciones de búsqueda"
+
 #: templates/misago/admin/attachments/list.html:7
 msgid "Attachment"
 msgstr "Adjuntar archivo"
@@ -882,12 +1103,8 @@ msgstr "Hilo"
 
 #: templates/misago/admin/attachments/list.html:42
 #, python-format
-msgid ""
-"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s from "
-"%(uploader_ip)s."
+msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s."
 msgstr ""
-"%(filetype)s, %(size)s, subido por %(uploader)s %(uploaded_on)s desde "
-"%(uploader_ip)s."
 
 #: templates/misago/admin/attachments/list.html:53
 #: templates/misago/admin/attachmenttypes/list.html:47
@@ -938,11 +1155,6 @@ msgstr "Opciones Básicas"
 msgid "Availability"
 msgstr "Disponibilidad"
 
-#: templates/misago/admin/attachmenttypes/list.html:16
-#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:575
-msgid "Type"
-msgstr "Tipo"
-
 #: templates/misago/admin/attachmenttypes/list.html:17
 msgid "Extensions"
 msgstr "Extensiones"
@@ -955,19 +1167,6 @@ msgstr "Mimetypes"
 msgid "Files"
 msgstr "Archivos"
 
-#: templates/misago/admin/attachmenttypes/list.html:54
-#: templates/misago/admin/bans/list.html:55
-#: templates/misago/admin/categories/list.html:66
-#: templates/misago/admin/categoryroles/list.html:27
-#: templates/misago/admin/ranks/list.html:99
-#: templates/misago/admin/roles/list.html:43
-#: templates/misago/admin/warnings/list.html:109
-#: templates/misago/poll/results.html:69
-#: templates/misago/profile/details.html:24
-#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
-msgid "Edit"
-msgstr "Editar"
-
 #: templates/misago/admin/attachmenttypes/list.html:71
 msgid "No attachment types are currently defined."
 msgstr "No hay tipos de archivos adjuntos actualmente definidos."
@@ -984,12 +1183,12 @@ msgid "New ban"
 msgstr "Nueva prohibición"
 
 #: templates/misago/admin/bans/form.html:43
-#: templates/misago/admin/users/ban.html:53
+#: templates/misago/admin/users/ban.html:57
 msgid "Ban settings"
 msgstr "Configuración de prohibición"
 
 #: templates/misago/admin/bans/form.html:52
-#: templates/misago/admin/users/ban.html:60
+#: templates/misago/admin/users/ban.html:64
 msgid "Messages"
 msgstr "Mensaje"
 
@@ -997,8 +1196,8 @@ msgstr "Mensaje"
 msgid "Ban"
 msgstr "Ban"
 
-#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:493
-#: users/forms/admin.py:546
+#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:488
+#: users/forms/admin.py:560
 msgid "Expires on"
 msgstr "Expira el"
 
@@ -1011,10 +1210,6 @@ msgstr "%(check_type)s, sólo registro"
 msgid "Never"
 msgstr "Nunca"
 
-#: templates/misago/admin/bans/list.html:61
-msgid "Remove"
-msgstr "Eliminar"
-
 #: templates/misago/admin/bans/list.html:73
 msgid "No bans matching search criteria have been found"
 msgstr ""
@@ -1029,10 +1224,6 @@ msgstr "No hay prohibiciones establecidas actualmente."
 msgid "Are you sure you want to remove this ban?"
 msgstr "¿Seguro que desea eliminar este ticket?"
 
-#: templates/misago/admin/bans/list.html:95
-msgid "Search bans"
-msgstr "Prohibiciones de búsqueda"
-
 #: templates/misago/admin/base_thin.html:8
 msgid "Misago Administration"
 msgstr "Administración de Misago"
@@ -1165,11 +1356,6 @@ msgstr "¿Estás seguro de que quieres abandonar los cambios?"
 msgid "New role"
 msgstr "Nuevo rol"
 
-#: templates/misago/admin/categoryroles/form.html:43
-#: templates/misago/admin/roles/form.html:43
-msgid "Basic settings"
-msgstr "Configuración básica"
-
 #: templates/misago/admin/categoryroles/list.html:16
 msgid "Category role"
 msgstr "Papel de categoría"
@@ -1207,6 +1393,61 @@ msgstr ""
 msgid "Change settings"
 msgstr "Cambiar ajustes"
 
+#: templates/misago/admin/datadownloads/form.html:6
+#: templates/misago/admin/datadownloads/form.html:11
+#: templates/misago/admin/datadownloads/form.html:17
+msgid "Request new data downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:9
+msgid "Request new downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:17
+#: templates/misago/admin/users/list.html:17 users/forms/admin.py:696
+msgid "User"
+msgstr "Usuario"
+
+#: templates/misago/admin/datadownloads/list.html:18 threads/forms.py:56
+#: users/forms/admin.py:691
+msgid "Status"
+msgstr "Estado"
+
+#: templates/misago/admin/datadownloads/list.html:19
+msgid "Requested on"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:21 users/forms/admin.py:700
+msgid "Requested by"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:32
+#: templates/misago/admin/datadownloads/list.html:49
+#: templates/misago/admin/datadownloads/list.html:52
+#: templates/misago/admin/users/ban.html:35
+#: templates/misago/admin/users/edit.html:113
+#: templates/misago/admin/users/list.html:35
+#: templates/misago/userslists/active_posters.html:66
+msgid "Avatar"
+msgstr "Avatar"
+
+#: templates/misago/admin/datadownloads/list.html:73
+#: templates/misago/emails/data_download.html:11 users/apps.py:50
+msgid "Download data"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:84
+msgid "No data downloads matching search criteria have been found."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:86
+msgid "No data downloads exist at the moment."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:93
+msgid "Search data downloads"
+msgstr ""
+
 #: templates/misago/admin/errorpages/403.html:5
 #: templates/misago/errorpages/403.html:5
 msgid "Page not available"
@@ -1363,44 +1604,73 @@ msgstr "Último"
 msgid "Administration Home"
 msgstr "Administración Inicio"
 
-#: templates/misago/admin/index.html:33
+#: templates/misago/admin/index.html:22
+msgid "System checks"
+msgstr ""
+
+#: templates/misago/admin/index.html:26
+msgid "MISAGO_ADDRESS setting appears to be correct."
+msgstr ""
+
+#: templates/misago/admin/index.html:30
+msgid "The settings.py value for MISAGO_ADDRESS appears to be incorrect."
+msgstr ""
+
+#: templates/misago/admin/index.html:38
+#, python-format
+msgid ""
+"Your MISAGO_ADDRESS is set to %(configured_address)s while correct value "
+"appears to be %(correct_address)s."
+msgstr ""
+
+#: templates/misago/admin/index.html:42 templates/misago/admin/index.html:47
+msgid ""
+"Misago uses this setting to build correct links in e-mails sent to site "
+"users."
+msgstr ""
+
+#: templates/misago/admin/index.html:46
+msgid "The settings.py is missing MISAGO_ADDRESS value."
+msgstr ""
+
+#: templates/misago/admin/index.html:60
 msgid "Misago version"
 msgstr "Versión de Misago"
 
-#: templates/misago/admin/index.html:56
+#: templates/misago/admin/index.html:83
 msgid "Check version"
 msgstr "Comprobar Versión"
 
-#: templates/misago/admin/index.html:62
+#: templates/misago/admin/index.html:89
 msgid "This feature requires \"packaging\" python module."
 msgstr "Esta característica requiere el módulo \"paquete\" de python."
 
-#: templates/misago/admin/index.html:76
+#: templates/misago/admin/index.html:103
 msgid "DB Contents"
 msgstr "Contenido de BD"
 
-#: templates/misago/admin/index.html:87
+#: templates/misago/admin/index.html:114
 #: templates/misago/admin/users/delete.html:36
-#: templates/misago/admin/users/list.html:23
+#: templates/misago/admin/users/list.html:24
 #: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
-#: threads/migrations/0004_update_settings.py:48 users/apps.py:83
+#: threads/migrations/0004_update_settings.py:48 users/apps.py:91
 msgid "Posts"
 msgstr "Mensajes"
 
-#: templates/misago/admin/index.html:91 templates/misago/navbar.html:40
+#: templates/misago/admin/index.html:118 templates/misago/navbar.html:40
 #: templates/misago/userslists/base.html:5
-#: templates/misago/userslists/base.html:14 users/admin.py:70
+#: templates/misago/userslists/base.html:14 users/admin.py:80
 #: users/migrations/0002_users_settings.py:16
 #: users/migrations/0006_update_settings.py:17 users/search.py:18
 msgid "Users"
 msgstr "Usuarios"
 
-#: templates/misago/admin/index.html:96
+#: templates/misago/admin/index.html:123
 msgid "Inactive users"
 msgstr "Usuarios inactivos"
 
-#: templates/misago/admin/index.html:122
+#: templates/misago/admin/index.html:149
 msgid "Checking..."
 msgstr "Comprobando..."
 
@@ -1428,7 +1698,7 @@ msgstr "Vuelve a intentarlo."
 msgid "Username or e-mail"
 msgstr "Nombre de usuario o e-mail"
 
-#: templates/misago/admin/login.html:62 users/forms/admin.py:60
+#: templates/misago/admin/login.html:62 users/forms/admin.py:62
 #: users/forms/auth.py:59
 msgid "Password"
 msgstr "Contraseña"
@@ -1473,17 +1743,13 @@ msgid "Display and visibility"
 msgstr "Pantalla y visibilidad"
 
 #: templates/misago/admin/ranks/list.html:16
-#: templates/misago/admin/users/list.html:21
+#: templates/misago/admin/users/list.html:22
 #: templates/misago/userslists/active_posters.html:95
 #: templates/misago/userslists/active_posters.html:106
-#: users/forms/admin.py:236
+#: users/forms/admin.py:238
 msgid "Rank"
 msgstr "Rango"
 
-#: templates/misago/admin/ranks/list.html:17
-msgid "Title"
-msgstr "Título"
-
 #: templates/misago/admin/ranks/list.html:18
 msgid "Special"
 msgstr "Especial"
@@ -1525,7 +1791,7 @@ msgid "No user roles are currently defined."
 msgstr "No hay roles de usuario actualmente definidos."
 
 #: templates/misago/admin/users/ban.html:6
-#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:72
+#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:73
 msgid "Ban users"
 msgstr "Usuarios de prohibición"
 
@@ -1533,14 +1799,11 @@ msgstr "Usuarios de prohibición"
 msgid "Ban selected users:"
 msgstr "Prohibir usuarios seleccionados:"
 
-#: templates/misago/admin/users/ban.html:35
-#: templates/misago/admin/users/edit.html:113
-#: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:66
-msgid "Avatar"
-msgstr "Avatar"
+#: templates/misago/admin/users/ban.html:48
+msgid "IP not available"
+msgstr ""
 
-#: templates/misago/admin/users/ban.html:72
+#: templates/misago/admin/users/ban.html:76
 msgid "Set bans"
 msgstr "Establecer prohibiciones"
 
@@ -1637,6 +1900,18 @@ msgstr ""
 msgid "No staff message is available."
 msgstr "No hay mensaje de personal disponible."
 
+#: templates/misago/admin/users/edit.html:220
+msgid "Agreement"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:221
+msgid "Accepted on"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:239
+msgid "This user didn't accept any agreements."
+msgstr ""
+
 #: templates/misago/admin/users/list.html:9
 #: templates/misago/admin/users/new.html:6
 #: templates/misago/admin/users/new.html:11
@@ -1644,52 +1919,56 @@ msgstr "No hay mensaje de personal disponible."
 msgid "New user"
 msgstr "Nuevo usuario"
 
-#: templates/misago/admin/users/list.html:17
-msgid "User"
-msgstr "Usuario"
-
-#: templates/misago/admin/users/list.html:20
+#: templates/misago/admin/users/list.html:20 users/signals.py:30
 msgid "E-mail"
 msgstr "E-mail"
 
-#: templates/misago/admin/users/list.html:22
+#: templates/misago/admin/users/list.html:21
+msgid "IP Address"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:23
 msgid "Joined"
 msgstr "Unido"
 
-#: templates/misago/admin/users/list.html:39
+#: templates/misago/admin/users/list.html:40
 msgid "Is deleting their account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:43
+#: templates/misago/admin/users/list.html:44
 msgid "Is disabled by administrator"
 msgstr "Está deshabilitado por el administrador"
 
-#: templates/misago/admin/users/list.html:54
+#: templates/misago/admin/users/list.html:55
 msgid "Requires activation by administrator"
 msgstr "Requiere activación por parte del administrador"
 
-#: templates/misago/admin/users/list.html:56
+#: templates/misago/admin/users/list.html:57
 msgid "Has to activate account"
 msgstr "Tiene que activar la cuenta"
 
-#: templates/misago/admin/users/list.html:63
+#: templates/misago/admin/users/list.html:64
 msgid "Super administrator"
 msgstr "Súper administrador"
 
-#: templates/misago/admin/users/list.html:65
+#: templates/misago/admin/users/list.html:66
 msgid "Administrator"
 msgstr "Administrador"
 
-#: templates/misago/admin/users/list.html:90
+#: templates/misago/admin/users/list.html:78
+msgid "IP removed"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:98
 msgid "Edit user"
 msgstr "Editar usuario"
 
-#: templates/misago/admin/users/list.html:99
+#: templates/misago/admin/users/list.html:107
 msgid "No users matching search criteria have been found."
 msgstr ""
 "No se han encontrado usuarios que coincidan con los criterios de búsqueda."
 
-#: templates/misago/admin/users/list.html:105
+#: templates/misago/admin/users/list.html:113
 msgid "Search users"
 msgstr "Búqueda de Usuarios"
 
@@ -1905,6 +2184,30 @@ msgstr "Para cambiar la contraseña haz click aquí:"
 msgid "Set new password"
 msgstr "Establece la nueva contraseña"
 
+#: templates/misago/emails/data_download.html:6
+#: templates/misago/emails/data_download.txt:6
+#, python-format
+msgid ""
+"%(user)s, you are receiving this message because your data is ready for "
+"download."
+msgstr ""
+
+#: templates/misago/emails/data_download.html:14
+#: templates/misago/emails/data_download.txt:15
+#, python-format
+msgid ""
+"This link will remain active for %(expires_in)s hour from the time this "
+"message has been sent."
+msgid_plural ""
+"This link will remain active for %(expires_in)s hours from the time this "
+"message has been sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/misago/emails/data_download.txt:10
+msgid "To download your data, click the following link:"
+msgstr ""
+
 #: templates/misago/emails/privatethread/added.html:9
 #, python-format
 msgid ""
@@ -2002,11 +2305,9 @@ msgstr ""
 #: templates/misago/emails/thread/reply.html:9
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread %(thread)s that you are subscribed to."
 msgstr ""
-"%(user)s, estás recibiendo este mensaje porque %(poster)s ha respondido a un"
-" hilo %(thread)s al que estás suscrito."
 
 #: templates/misago/emails/thread/reply.html:14
 #: templates/misago/emails/thread/reply.txt:10
@@ -2020,11 +2321,9 @@ msgstr "Ir a la respuesta"
 #: templates/misago/emails/thread/reply.txt:6
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread \"%(thread)s\" that you are subscribed to."
 msgstr ""
-"%(user)s, estás recibiendo este mensaje porque %(poster)s ha respondido a un"
-" hilo \"%(thread)s\" al que estás suscrito."
 
 #: templates/misago/errorpages/403.html:40
 msgid "This page is not available."
@@ -2269,7 +2568,7 @@ msgstr "Ver resultados"
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:8
-#: templates/misago/profile/ban_details.html:15 users/apps.py:120
+#: templates/misago/profile/ban_details.html:15 users/apps.py:128
 msgid "Ban details"
 msgstr "Detalles del baneo"
 
@@ -2316,7 +2615,7 @@ msgstr[1] "Empezó %(threads)s hilos."
 
 #: templates/misago/profile/details.html:5
 #: templates/misago/profile/details.html:8
-#: templates/misago/profile/details.html:18 users/apps.py:107
+#: templates/misago/profile/details.html:18 users/apps.py:115
 msgid "Details"
 msgstr "Detalles"
 
@@ -2346,7 +2645,7 @@ msgstr ""
 "mensaje."
 
 #: templates/misago/profile/followers.html:5
-#: templates/misago/profile/followers.html:8 users/apps.py:95
+#: templates/misago/profile/followers.html:8 users/apps.py:103
 msgid "Followers"
 msgstr "Seguidores"
 
@@ -2374,7 +2673,7 @@ msgid "%(username)s has no followers."
 msgstr "%(username)s no tiene seguidores."
 
 #: templates/misago/profile/follows.html:5
-#: templates/misago/profile/follows.html:8 users/apps.py:101
+#: templates/misago/profile/follows.html:8 users/apps.py:109
 msgid "Follows"
 msgstr "Seguidos"
 
@@ -2461,7 +2760,7 @@ msgid "%(username)s started no threads."
 msgstr "%(username)s no ha iniciado ningún hilo."
 
 #: templates/misago/profile/username_history.html:5
-#: templates/misago/profile/username_history.html:8 users/apps.py:113
+#: templates/misago/profile/username_history.html:8 users/apps.py:121
 msgid "Username history"
 msgstr "Historial de nombres de usuario"
 
@@ -2488,6 +2787,20 @@ msgstr "Tu nombre de usuario nunca fue cambiado."
 msgid "%(username)s's username was never changed."
 msgstr "%(username)s no ha cambiado nunca su nombre de usuario."
 
+#: templates/misago/required_agreement.html:9
+#, python-format
+msgid "Please review the updated %(agreement)s:"
+msgstr ""
+
+#: templates/misago/required_agreement.html:19
+msgid "here"
+msgstr ""
+
+#: templates/misago/required_agreement.html:21
+#, python-format
+msgid "Please review the updated %(agreement)s available %(link)s."
+msgstr ""
+
 #: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgstr "Buscar sitio"
@@ -2604,10 +2917,6 @@ msgstr "Oculto por%(hidden_by)s en %(hidden_on)s."
 msgid "By %(event_by)s on %(event_on)s."
 msgstr "Por %(event_by)s en %(event_on)s."
 
-#: templates/misago/thread/posts/event/info.html:34
-msgid "IP recorded"
-msgstr "IP guardada"
-
 #: templates/misago/thread/posts/post/attachments.html:33
 #, python-format
 msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s on %(uploaded_on)s."
@@ -2892,11 +3201,11 @@ msgstr "Adjuntos"
 msgid "Attachment types"
 msgstr "tipos de archivos adjuntos"
 
-#: threads/api/attachments.py:19
+#: threads/api/attachments.py:20
 msgid "You don't have permission to upload new files."
 msgstr "No tienes permiso para subir nuevos archivos."
 
-#: threads/api/attachments.py:29
+#: threads/api/attachments.py:30
 msgid "No file has been uploaded."
 msgstr "No se ha subido ningún archivo"
 
@@ -2904,11 +3213,11 @@ msgstr "No se ha subido ningún archivo"
 msgid "Uploaded image was corrupted or invalid."
 msgstr "La imagen cargada estaba dañada o no es válida."
 
-#: threads/api/attachments.py:81
+#: threads/api/attachments.py:83
 msgid "You can't upload files of this type."
 msgstr "No puedes subir archivos de este tipo."
 
-#: threads/api/attachments.py:86
+#: threads/api/attachments.py:88
 #, python-format
 msgid ""
 "You can't upload files larger than %(limit)s (your file has %(upload)s)."
@@ -2916,7 +3225,7 @@ msgstr ""
 "No puede cargar archivos mayores que %(limit)s (su archivo tiene "
 "%(upload)s)."
 
-#: threads/api/attachments.py:96
+#: threads/api/attachments.py:98
 #, python-format
 msgid ""
 "You can't upload files of this type larger than %(limit)s (your file has "
@@ -2925,7 +3234,7 @@ msgstr ""
 "No puede cargar archivos de este tipo mayores que %(limit)s (su archivo "
 "tiene %(upload)s)."
 
-#: threads/api/postendpoints/edits.py:89
+#: threads/api/postendpoints/edits.py:88
 msgid "Edits record is unavailable for this post."
 msgstr "El registro de ediciones no está disponible para esta publicación."
 
@@ -2941,12 +3250,12 @@ msgstr "No puedes mover publicaciones en este hilo."
 msgid "You can't like posts in this category."
 msgstr "No te pueden gustar las publicaciones en esta categoría."
 
-#: threads/api/postendpoints/patch_post.py:108
+#: threads/api/postendpoints/patch_post.py:107
 #: threads/api/threadendpoints/patch.py:130
 msgid "Content approval can't be reversed."
 msgstr "La aprobación del contenido no se puede revertir."
 
-#: threads/api/postendpoints/patch_post.py:186
+#: threads/api/postendpoints/patch_post.py:185
 msgid "One or more posts to update could not be found."
 msgstr "No se encontraron una o más publicaciones para actualizar."
 
@@ -2959,7 +3268,7 @@ msgstr "No puedes dividir publicaciones de este hilo."
 msgid "You don't have permission to remove \"%(attachment)s\" attachment."
 msgstr "No tienes permiso para eliminar el archivo adjunto \"%(attachment)s\"."
 
-#: threads/api/postingendpoint/attachments.py:128
+#: threads/api/postingendpoint/attachments.py:127
 #, python-format
 msgid ""
 "You can't attach more than %(limit_value)s file to single post (added "
@@ -3041,11 +3350,11 @@ msgstr[1] ""
 msgid "One or more users could not be found: %(usernames)s"
 msgstr "Uno o más usuarios no pudieron ser encontrados: %(usernames)s"
 
-#: threads/api/postingendpoint/reply.py:81 threads/validators.py:80
+#: threads/api/postingendpoint/reply.py:83 threads/validators.py:80
 msgid "You have to enter a message."
 msgstr "Debes introducir un mensaje."
 
-#: threads/api/postingendpoint/reply.py:103 threads/validators.py:41
+#: threads/api/postingendpoint/reply.py:105 threads/validators.py:41
 msgid "You have to enter thread title."
 msgstr "Debes darle un título al hilo."
 
@@ -3128,7 +3437,7 @@ msgstr "Este usuario ya es propietario del hilo."
 msgid "One or more threads to update could not be found."
 msgstr "Uno o más hilos para actualizar no se pudieron encontrar."
 
-#: threads/api/threadpoll.py:53
+#: threads/api/threadpoll.py:54
 msgid "There's already a poll in this thread."
 msgstr "Ya hay una encuesta en este hilo."
 
@@ -3164,7 +3473,7 @@ msgstr "Nombre de archivo contiene"
 msgid "File type"
 msgstr "Tipo de archivo"
 
-#: threads/forms.py:24 users/forms/admin.py:595
+#: threads/forms.py:24 users/forms/admin.py:609
 msgid "State"
 msgstr "Estado"
 
@@ -3188,10 +3497,6 @@ msgstr "Extensiones de archivo"
 msgid "Maximum allowed uploaded file size"
 msgstr "Tamaño de archivo máximo permitido"
 
-#: threads/forms.py:56
-msgid "Status"
-msgstr "Estado"
-
 #: threads/forms.py:57
 msgid "Limit uploads to"
 msgstr "Limitar las cargas a"
@@ -3844,7 +4149,7 @@ msgstr "Permite publicar con más frecuencia que la protección contra flood."
 msgid "Can see threads"
 msgstr "Puede ver hilos"
 
-#: threads/permissions/threads.py:110 users/forms/admin.py:166
+#: threads/permissions/threads.py:110 users/forms/admin.py:168
 #: users/migrations/0002_users_settings.py:144
 #: users/migrations/0006_update_settings.py:130
 msgid "Started threads"
@@ -4764,6 +5069,14 @@ msgstr "Una o más de las elecciones de encuesta no fueron válidas."
 msgid "You have to make a choice."
 msgstr "Tienes que hacer una elección."
 
+#: threads/signals.py:177
+msgid "Question"
+msgstr ""
+
+#: threads/signals.py:178
+msgid "Choices"
+msgstr ""
+
 #: threads/templatetags/misago_poststags.py:20
 #, python-format
 msgid "%(user)s likes this."
@@ -4918,23 +5231,13 @@ msgstr "No tienes permiso para ver listas de contenido no aprobadas."
 msgid "Requested attachment could not be found."
 msgstr "No se pudo encontrar el archivo adjunto solicitado."
 
-#: threads/views/admin/attachments.py:24 users/views/admin/bans.py:24
-#: users/views/admin/users.py:55
-msgid "From newest"
-msgstr "Desde el más nuevo"
-
-#: threads/views/admin/attachments.py:25 users/views/admin/bans.py:25
-#: users/views/admin/users.py:56
-msgid "From oldest"
-msgstr "Desde el más antiguo"
-
 #: threads/views/admin/attachments.py:26 users/views/admin/bans.py:26
-#: users/views/admin/users.py:57
+#: users/views/admin/users.py:58
 msgid "A to z"
 msgstr "De la A a la Z"
 
 #: threads/views/admin/attachments.py:27 users/views/admin/bans.py:27
-#: users/views/admin/users.py:58
+#: users/views/admin/users.py:59
 msgid "Z to a"
 msgstr "Z a a"
 
@@ -5007,33 +5310,37 @@ msgstr ""
 "Necesita permiso para aprobar el contenido para poder acceder a la primera "
 "publicación no aprobada."
 
-#: users/admin.py:79
+#: users/admin.py:89
 msgid "User Accounts"
 msgstr "Cuentas de usuario"
 
-#: users/admin.py:87
+#: users/admin.py:97
 msgid "Ranks"
 msgstr "Rangos"
 
-#: users/admin.py:96
+#: users/admin.py:106
 msgid "Bans"
 msgstr "Prohibiciones"
 
+#: users/admin.py:115
+msgid "Data downloads"
+msgstr ""
+
 #: users/api/auth.py:100
 #, python-format
 msgid "Activate %(user)s account on %(forum_name)s forums"
 msgstr "Activa la cuenta %(user)s de %(forum_name)s"
 
-#: users/api/auth.py:139
+#: users/api/auth.py:138
 #, python-format
 msgid "Change %(user)s password on %(forum_name)s forums"
 msgstr "Cambiar la contraseña de %(user)s en %(forum_name)s"
 
-#: users/api/auth.py:180
+#: users/api/auth.py:178
 msgid "Form link is invalid. Please try again."
 msgstr "El enlace del formulario no es válido. Por favor inténtalo de nuevo"
 
-#: users/api/auth.py:181
+#: users/api/auth.py:179
 msgid "Your link has expired. Please request new one."
 msgstr "Tu enlace ha expirado Por favor, solicita uno nuevo."
 
@@ -5105,17 +5412,17 @@ msgstr ""
 msgid "Confirm password change on %(forum_name)s forums"
 msgstr "Confirmar el cambio de contraseña de %(forum_name)s"
 
-#: users/api/userendpoints/changepassword.py:31
+#: users/api/userendpoints/changepassword.py:32
 msgid "Password change confirmation link was sent to your address."
 msgstr ""
 "El enlace de confirmación de cambio de contraseña fue enviado a tu "
 "dirección."
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:25
 msgid "New users registrations are currently closed."
 msgstr "Los nuevos registros de usuarios están actualmente cerrados."
 
-#: users/api/userendpoints/create.py:53 users/social/pipeline.py:205
+#: users/api/userendpoints/create.py:61 users/social/pipeline.py:215
 msgid "Please try resubmitting the form."
 msgstr "Intenta volver a enviar el formulario."
 
@@ -5140,39 +5447,55 @@ msgstr "Error al cambiar el nombre de usuario. Por favor inténtalo de nuevo"
 msgid "You don't have permission to see other users name history."
 msgstr "No tienes permiso para ver el historial de nombres de otros usuarios."
 
-#: users/api/users.py:54
+#: users/api/users.py:57
 msgid "You have to sign in to perform this action."
 msgstr "Debes iniciar sesión para realizar esta acción."
 
-#: users/api/users.py:100
+#: users/api/users.py:103
 msgid "You can't change other users avatars."
 msgstr "No puedes cambiar avatares de otros usuarios."
 
-#: users/api/users.py:107
+#: users/api/users.py:110
 msgid "You can't change other users options."
 msgstr "No puede cambiar opciones de otros usuarios."
 
-#: users/api/users.py:112
+#: users/api/users.py:115
 msgid "Your forum options have been changed."
 msgstr "Tus opciones de foro han sido cambiadas."
 
-#: users/api/users.py:119
+#: users/api/users.py:122
 msgid "You can't change other users names."
 msgstr "No puedes cambiar otros nombres de usuarios."
 
-#: users/api/users.py:126
+#: users/api/users.py:129
 msgid "You can't change other users signatures."
 msgstr "No puedes cambiar las firmas de otros usuarios."
 
-#: users/api/users.py:133
+#: users/api/users.py:136
 msgid "You can't change other users passwords."
 msgstr "No puedes cambiar las contraseñas de otros usuarios."
 
-#: users/api/users.py:140
+#: users/api/users.py:143
 msgid "You can't change other users e-mail addresses."
 msgstr ""
 "No puedes cambiar las direcciones de correo electrónico de otros usuarios."
 
+#: users/api/users.py:225
+msgid "You can't request data downloads for other users."
+msgstr ""
+
+#: users/api/users.py:228
+msgid "You can't download your data."
+msgstr ""
+
+#: users/api/users.py:232
+msgid "You can't have more than one data download request at single time."
+msgstr ""
+
+#: users/api/users.py:278
+msgid "You can't see other users data downloads."
+msgstr ""
+
 #: users/apps.py:30
 msgid "Edit details"
 msgstr "Editar detalles"
@@ -5185,11 +5508,11 @@ msgstr "Cambiar nombre de usuario"
 msgid "Change email or password"
 msgstr "Cambiar e-mail o contraseña"
 
-#: users/apps.py:50
+#: users/apps.py:58
 msgid "Delete account"
 msgstr ""
 
-#: users/apps.py:59
+#: users/apps.py:67
 msgid "Active poster"
 msgstr ""
 
@@ -5247,27 +5570,27 @@ msgstr "Editar permisos y grupos"
 msgid "Edit the user from Misago admin panel"
 msgstr "Edita al usuario desde el panel de administración de Misago"
 
-#: users/forms/admin.py:21 users/models/ban.py:74
+#: users/forms/admin.py:23 users/models/ban.py:74 users/signals.py:29
 msgid "Username"
 msgstr "Nombre de usuario"
 
-#: users/forms/admin.py:22
+#: users/forms/admin.py:24
 msgid "Custom title"
 msgstr "Título personalizado"
 
-#: users/forms/admin.py:23 users/models/ban.py:75
+#: users/forms/admin.py:25 users/models/ban.py:75
 msgid "E-mail address"
 msgstr "Dirección de correo electrónico"
 
-#: users/forms/admin.py:52
+#: users/forms/admin.py:54
 msgid "All registered members must have \"Member\" role."
 msgstr "Todos los miembros registrados deben tener el rol \"Miembro \"."
 
-#: users/forms/admin.py:71
+#: users/forms/admin.py:73
 msgid "Is administrator"
 msgstr "Es administrador"
 
-#: users/forms/admin.py:73
+#: users/forms/admin.py:75
 msgid ""
 "Designates whether the user can log into admin sites. If Django admin site "
 "is enabled, this user will need additional permissions assigned within it to"
@@ -5278,11 +5601,11 @@ msgstr ""
 "necesitará permisos adicionales asignados para administrar los módulos de "
 "Django."
 
-#: users/forms/admin.py:79
+#: users/forms/admin.py:81
 msgid "Is superuser"
 msgstr "Es superusuario"
 
-#: users/forms/admin.py:81
+#: users/forms/admin.py:83
 msgid ""
 "Only administrators can access admin sites. In addition to admin site "
 "access, superadmins can also change other members admin levels."
@@ -5291,11 +5614,11 @@ msgstr ""
 "Además del acceso del sitio de administración, las superadminas también "
 "pueden cambiar los niveles de administración de otros miembros."
 
-#: users/forms/admin.py:86
+#: users/forms/admin.py:88
 msgid "Is active"
 msgstr "Está activo"
 
-#: users/forms/admin.py:88
+#: users/forms/admin.py:90
 msgid ""
 "Designates whether this user should be treated as active. Turning this off "
 "is non-destructible way to remove user accounts."
@@ -5303,11 +5626,11 @@ msgstr ""
 "Designa si este usuario debe tratarse como activo. Desactivar esto es una "
 "forma no destructiva de eliminar cuentas de usuario."
 
-#: users/forms/admin.py:92 users/forms/admin.py:123 users/forms/admin.py:151
+#: users/forms/admin.py:94 users/forms/admin.py:125 users/forms/admin.py:153
 msgid "Staff message"
 msgstr "Mensaje del staff"
 
-#: users/forms/admin.py:94
+#: users/forms/admin.py:96
 msgid ""
 "Optional message for forum team members explaining why user's account has "
 "been disabled."
@@ -5315,15 +5638,15 @@ msgstr ""
 "Mensaje opcional para los miembros del equipo del foro que explica por qué "
 "se ha inhabilitado la cuenta del usuario."
 
-#: users/forms/admin.py:99
+#: users/forms/admin.py:101
 msgid "Change password to"
 msgstr "Cambiar la contraseña a"
 
-#: users/forms/admin.py:106
+#: users/forms/admin.py:108
 msgid "Lock avatar"
 msgstr "Bloquear avatar"
 
-#: users/forms/admin.py:108
+#: users/forms/admin.py:110
 msgid ""
 "Setting this to yes will stop user from changing his/her avatar, and will "
 "reset his/her avatar to procedurally generated one."
@@ -5331,12 +5654,12 @@ msgstr ""
 "Establecer esto evitará que el usuario cambie su avatar, y restablecerá su "
 "avatar a uno generado por procedimiento."
 
-#: users/forms/admin.py:114 users/forms/admin.py:145 users/forms/admin.py:473
-#: users/forms/admin.py:526
+#: users/forms/admin.py:116 users/forms/admin.py:147 users/forms/admin.py:468
+#: users/forms/admin.py:540
 msgid "User message"
 msgstr "Mensaje de usuario"
 
-#: users/forms/admin.py:116
+#: users/forms/admin.py:118
 msgid ""
 "Optional message for user explaining why he/she is banned form changing "
 "avatar."
@@ -5344,7 +5667,7 @@ msgstr ""
 "Mensaje opcional para el usuario que explica por qué está prohibido cambiar "
 "el avatar."
 
-#: users/forms/admin.py:125
+#: users/forms/admin.py:127
 msgid ""
 "Optional message for forum team members explaining why user is banned form "
 "changing avatar."
@@ -5352,52 +5675,52 @@ msgstr ""
 "Mensaje opcional para los miembros del equipo del foro explicando por qué el"
 " usuario está prohibido para cambiar el avatar."
 
-#: users/forms/admin.py:133
+#: users/forms/admin.py:135
 msgid "Signature contents"
 msgstr "Contenido de la firma"
 
-#: users/forms/admin.py:138
+#: users/forms/admin.py:140
 msgid "Lock signature"
 msgstr "Bloquear firma"
 
-#: users/forms/admin.py:140
+#: users/forms/admin.py:142
 msgid ""
 "Setting this to yes will stop user from making changes to his/her signature."
 msgstr "Establecer esto evitará que el usuario realice cambios en su firma."
 
-#: users/forms/admin.py:146
+#: users/forms/admin.py:148
 msgid "Optional message to user explaining why his/hers signature is locked."
 msgstr ""
 "Mensaje opcional para el usuario explicando por qué su firma de está "
 "bloqueada."
 
-#: users/forms/admin.py:152
+#: users/forms/admin.py:154
 msgid ""
 "Optional message to team members explaining why user signature is locked."
 msgstr ""
 "Mensaje opcional para los miembros del equipo explicando por qué la firma "
 "del usuario está bloqueada."
 
-#: users/forms/admin.py:157
+#: users/forms/admin.py:159
 msgid "Hides presence"
 msgstr "Oculta la presencia"
 
-#: users/forms/admin.py:160
+#: users/forms/admin.py:162
 msgid "Who can add user to private threads"
 msgstr "¿Quién puede agregar usuarios a hilos privados?"
 
-#: users/forms/admin.py:169
+#: users/forms/admin.py:171
 msgid "Replid threads"
 msgstr "Hilos repetidos"
 
-#: users/forms/admin.py:219 users/serializers/moderation.py:42
+#: users/forms/admin.py:221 users/serializers/moderation.py:42
 #, python-format
 msgid "Signature can't be longer than %(limit)s character."
 msgid_plural "Signature can't be longer than %(limit)s characters."
 msgstr[0] "La firma no puede ser más larga que el %(limit)s caracter."
 msgstr[1] "La firma no puede ser más larga que el %(limit)s caracteres."
 
-#: users/forms/admin.py:238
+#: users/forms/admin.py:240
 msgid ""
 "Ranks are used to group and distinguish users. They are also used to add "
 "permissions to groups of users."
@@ -5405,61 +5728,61 @@ msgstr ""
 "Los rangos se usan para agrupar y distinguir usuarios. También se usan para "
 "agregar permisos a grupos de usuarios."
 
-#: users/forms/admin.py:248
+#: users/forms/admin.py:250
 msgid "Roles"
 msgstr "Roles"
 
-#: users/forms/admin.py:249
+#: users/forms/admin.py:251
 msgid "Individual roles of this user. All users must have \"member\" role."
 msgstr ""
 "Roles individuales de este usuario Todos los usuarios deben tener el rol "
 "\"miembro\"."
 
-#: users/forms/admin.py:307
+#: users/forms/admin.py:309
 msgid "Username starts with"
 msgstr "El nombre de usuario comienza con"
 
-#: users/forms/admin.py:308
+#: users/forms/admin.py:310
 msgid "E-mail starts with"
 msgstr "El correo electrónico comienza con"
 
-#: users/forms/admin.py:309
+#: users/forms/admin.py:311
 msgid "Profile fields contain"
 msgstr "Los campos de perfil contienen"
 
-#: users/forms/admin.py:310
+#: users/forms/admin.py:312
 msgid "Inactive only"
 msgstr "Solo inactivo"
 
-#: users/forms/admin.py:311
+#: users/forms/admin.py:313
 msgid "Disabled only"
 msgstr "Deshabilitado solo"
 
-#: users/forms/admin.py:312
+#: users/forms/admin.py:314
 msgid "Admins only"
 msgstr "Admins solo"
 
-#: users/forms/admin.py:313
+#: users/forms/admin.py:315
 msgid "Deleting their accounts"
 msgstr ""
 
-#: users/forms/admin.py:355
+#: users/forms/admin.py:357
 msgid "All ranks"
 msgstr "Todos los rangos"
 
-#: users/forms/admin.py:362
+#: users/forms/admin.py:364
 msgid "All roles"
 msgstr "Todos los roles"
 
-#: users/forms/admin.py:369
+#: users/forms/admin.py:371
 msgid "Has rank"
 msgstr "Tiene rango"
 
-#: users/forms/admin.py:375
+#: users/forms/admin.py:377
 msgid "Has role"
 msgstr "Tiene un rol"
 
-#: users/forms/admin.py:391
+#: users/forms/admin.py:393
 msgid ""
 "Short and descriptive name of all users with this rank. \"The Team\" or "
 "\"Game Masters\" are good examples."
@@ -5467,11 +5790,11 @@ msgstr ""
 "Nombre breve y descriptivo de todos los usuarios con este rango. \"The "
 "Team\" o \"Game Masters\" son buenos ejemplos."
 
-#: users/forms/admin.py:396
+#: users/forms/admin.py:398
 msgid "User title"
 msgstr "Título del usuario"
 
-#: users/forms/admin.py:399
+#: users/forms/admin.py:401
 msgid ""
 "Optional, singular version of rank name displayed by user names. For example"
 " \"GM\" or \"Dev\"."
@@ -5479,7 +5802,7 @@ msgstr ""
 "Versión opcional y singular del nombre de rango mostrado por los nombres de "
 "usuario. Por ejemplo \"GM\" o \"Dev\"."
 
-#: users/forms/admin.py:409
+#: users/forms/admin.py:411
 msgid ""
 "Optional description explaining function or status of members distincted "
 "with this rank."
@@ -5487,21 +5810,21 @@ msgstr ""
 "Descripción opcional que explica la función o el estado de los miembros "
 "distinguidos con este rango."
 
-#: users/forms/admin.py:418
+#: users/forms/admin.py:420
 msgid "Rank can give additional roles to users with it."
 msgstr "Rank puede otorgar roles adicionales a los usuarios que lo utilizan."
 
-#: users/forms/admin.py:423
+#: users/forms/admin.py:425
 msgid "Optional css class added to content belonging to this rank owner."
 msgstr ""
 "Clase css opcional agregada al contenido que pertenece al propietario del "
 "rango."
 
-#: users/forms/admin.py:426
+#: users/forms/admin.py:428
 msgid "Give rank dedicated tab on users list"
 msgstr "Dar una pestaña de rango dedicada en la lista de usuarios"
 
-#: users/forms/admin.py:429
+#: users/forms/admin.py:431
 msgid ""
 "Selecting this option will make users with this rank easily discoverable by "
 "others through dedicated page on forum users list."
@@ -5510,71 +5833,71 @@ msgstr ""
 " detectables por otros a través de la página dedicada en la lista de "
 "usuarios del foro."
 
-#: users/forms/admin.py:454
+#: users/forms/admin.py:456
 msgid "This name collides with other rank."
 msgstr "Este nombre colisiona con otro rango."
 
-#: users/forms/admin.py:461
+#: users/forms/admin.py:463
 msgid "Values to ban"
 msgstr "Valores para prohibir"
 
-#: users/forms/admin.py:464 users/forms/admin.py:579
-msgid "Usernames"
-msgstr "Nombres de Usuario"
-
-#: users/forms/admin.py:465 users/forms/admin.py:580
-msgid "E-mails"
-msgstr "Correos electrónicos"
-
-#: users/forms/admin.py:466
-msgid "E-mail domains"
-msgstr "Dominios de correo electrónico"
-
-#: users/forms/admin.py:467
-msgid "IP addresses"
-msgstr "Dirección(es) IP "
-
-#: users/forms/admin.py:468
-msgid "First segment of IP addresses"
-msgstr "Primer segmento de direcciones IP"
-
-#: users/forms/admin.py:469
-msgid "First two segments of IP addresses"
-msgstr "Primeros dos segmentos de direcciones IP"
-
-#: users/forms/admin.py:476
+#: users/forms/admin.py:471
 msgid "Optional message displayed to users instead of default one."
 msgstr ""
 "Mensaje opcional que se muestra a los usuarios en lugar de uno "
 "predeterminado."
 
-#: users/forms/admin.py:479 users/forms/admin.py:489 users/forms/admin.py:532
-#: users/forms/admin.py:542
+#: users/forms/admin.py:474 users/forms/admin.py:484 users/forms/admin.py:546
+#: users/forms/admin.py:556
 msgid "Message can't be longer than 1000 characters."
 msgstr "El mensaje no puede tener más de 1000 caracteres."
 
-#: users/forms/admin.py:483 users/forms/admin.py:536
+#: users/forms/admin.py:478 users/forms/admin.py:550
 msgid "Team message"
 msgstr "Mensaje de equipo"
 
-#: users/forms/admin.py:486 users/forms/admin.py:539
+#: users/forms/admin.py:481 users/forms/admin.py:553
 msgid "Optional ban message for moderators and administrators."
 msgstr "Mensaje de prohibición opcional para moderadores y administradores."
 
-#: users/forms/admin.py:495
+#: users/forms/admin.py:490
 msgid "Leave this field empty for set bans to never expire."
 msgstr ""
 "Deja este campo vacío para que las prohibiciones establecidas nunca expiren."
 
+#: users/forms/admin.py:499 users/forms/admin.py:593
+msgid "Usernames"
+msgstr "Nombres de Usuario"
+
+#: users/forms/admin.py:500 users/forms/admin.py:594
+msgid "E-mails"
+msgstr "Correos electrónicos"
+
 #: users/forms/admin.py:501
+msgid "E-mail domains"
+msgstr "Dominios de correo electrónico"
+
+#: users/forms/admin.py:507
+msgid "IP addresses"
+msgstr "Dirección(es) IP "
+
+#: users/forms/admin.py:508
+msgid "First segment of IP addresses"
+msgstr "Primer segmento de direcciones IP"
+
+#: users/forms/admin.py:509
+msgid "First two segments of IP addresses"
+msgstr "Primeros dos segmentos de direcciones IP"
+
+#: users/forms/admin.py:515
 msgid "Check type"
 msgstr "Tipo de cheque"
 
-#: users/forms/admin.py:506
+#: users/forms/admin.py:520
 msgid "Restrict this ban to registrations"
 msgstr "Restringe esta prohibición a los registros"
 
-#: users/forms/admin.py:508
+#: users/forms/admin.py:522
 msgid ""
 "Changing this to yes will make this ban check be only performed on "
 "registration step. This is good if you want to block certain registrations "
@@ -5586,11 +5909,11 @@ msgstr ""
 "como los de proveedores de correo electrónico recientemente comprometidos, "
 "sin dañar a los usuarios existentes."
 
-#: users/forms/admin.py:514
+#: users/forms/admin.py:528
 msgid "Banned value"
 msgstr "Valor prohibido"
 
-#: users/forms/admin.py:517
+#: users/forms/admin.py:531
 msgid ""
 "This value is case-insensitive and accepts asterisk (*) for rought matches. "
 "For example, making IP ban for value \"83.*\" will ban all IP addresses "
@@ -5601,51 +5924,74 @@ msgstr ""
 "prohíba el valor \"83. * \" Prohibirá todas las direcciones IP que comiencen"
 " con \"83. \"."
 
-#: users/forms/admin.py:522
+#: users/forms/admin.py:536
 msgid "Banned value can't be longer than 250 characters."
 msgstr "El valor prohibido no puede tener más de 250 caracteres."
 
-#: users/forms/admin.py:529
+#: users/forms/admin.py:543
 msgid "Optional message displayed to user instead of default one."
 msgstr ""
 "Mensaje opcional que se muestra al usuario en lugar del predeterminado."
 
-#: users/forms/admin.py:548
+#: users/forms/admin.py:562
 msgid "Leave this field empty for this ban to never expire."
 msgstr "Deje este campo vacío para que esta prohibición nunca expire."
 
-#: users/forms/admin.py:568
+#: users/forms/admin.py:582
 msgid "Banned value is too vague."
 msgstr "El valor prohibido es demasiado vago."
 
-#: users/forms/admin.py:578
+#: users/forms/admin.py:592
 msgid "All bans"
 msgstr "Todas las prohibiciones"
 
-#: users/forms/admin.py:581
+#: users/forms/admin.py:595
 msgid "IPs"
 msgstr "IPs"
 
-#: users/forms/admin.py:584
+#: users/forms/admin.py:598
 msgid "Banned value begins with"
 msgstr "El valor prohibido comienza con"
 
-#: users/forms/admin.py:586
+#: users/forms/admin.py:600
 msgid "Registration only"
 msgstr "Sólo registro"
 
-#: users/forms/admin.py:589 users/forms/admin.py:598
+#: users/forms/admin.py:603 users/forms/admin.py:612
 msgid "Any"
 msgstr "Todos"
 
-#: users/forms/admin.py:599
+#: users/forms/admin.py:613
 msgid "Active"
 msgstr "Activo"
 
-#: users/forms/admin.py:600
+#: users/forms/admin.py:614 users/models/datadownload.py:26
 msgid "Expired"
 msgstr "Expirado"
 
+#: users/forms/admin.py:649
+msgid "Usernames or emails"
+msgstr ""
+
+#: users/forms/admin.py:651
+msgid ""
+"Enter every item in new line. Duplicates will be ignored. This field is case"
+" insensitive. Depending on site configuration and amount of data to archive "
+"it may take up to few days for requests to complete. E-mail will "
+"notification will be sent to every user once their download is ready."
+msgstr ""
+
+#: users/forms/admin.py:667
+#, python-format
+msgid ""
+"You may not enter more than 20 items at single time (You have entered "
+"%(show_value)s)."
+msgstr ""
+
+#: users/forms/admin.py:684
+msgid "One or more specified users could not be found."
+msgstr ""
+
 #: users/forms/auth.py:16
 msgid "Fill out both fields."
 msgstr "Rellena ambos campos."
@@ -5705,18 +6051,27 @@ msgstr ""
 "El administrador debe activar tu cuenta antes de que pueda solicitar una "
 "nueva contraseña."
 
-#: users/forms/register.py:27
+#: users/forms/register.py:34
 msgid "This usernane is not allowed."
 msgstr "Este usuario no está permitido."
 
-#: users/forms/register.py:38 users/validators.py:41
+#: users/forms/register.py:45 users/validators.py:41
 msgid "This e-mail address is not allowed."
 msgstr "Esta dirección de correo electrónico no está permitida."
 
-#: users/forms/register.py:47
+#: users/forms/register.py:51
+msgid "This agreement is required."
+msgstr ""
+
+#: users/forms/register.py:60
 msgid "New registrations from this IP address are not allowed."
 msgstr "No se permiten nuevos registros desde esta dirección IP."
 
+#: users/management/commands/prepareuserdatadownloads.py:34
+#, python-format
+msgid "%(user)s, your data download is ready"
+msgstr ""
+
 #: users/migrations/0002_users_settings.py:18
 #: users/migrations/0006_update_settings.py:19
 msgid ""
@@ -5953,7 +6308,7 @@ msgstr ""
 "entre mayúsculas y minúsculas."
 
 #: users/migrations/0004_default_ranks.py:17
-#: users/migrations/0004_default_ranks.py:18 users/models/user.py:111
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:113
 msgid "Forum team"
 msgstr "Equipo del foro"
 
@@ -5966,48 +6321,60 @@ msgstr "Equipo"
 msgid "Members"
 msgstr "Miembros"
 
-#: users/models/user.py:37
+#: users/models/datadownload.py:23
+msgid "Pending"
+msgstr ""
+
+#: users/models/datadownload.py:24
+msgid "Processing"
+msgstr ""
+
+#: users/models/datadownload.py:25
+msgid "Ready"
+msgstr ""
+
+#: users/models/user.py:38
 msgid "User must have an email address."
 msgstr "El usuario debe tener una dirección de correo electrónico."
 
-#: users/models/user.py:146
+#: users/models/user.py:148
 msgid "Notify"
 msgstr "Notificar"
 
-#: users/models/user.py:147
+#: users/models/user.py:149
 msgid "Notify with e-mail"
 msgstr "Notificar mediante e-mail"
 
-#: users/models/user.py:155
+#: users/models/user.py:157
 msgid "Everybody"
 msgstr "Todos"
 
-#: users/models/user.py:156
+#: users/models/user.py:158
 msgid "Users I follow"
 msgstr "Usuarios que sigo"
 
-#: users/models/user.py:157
+#: users/models/user.py:159
 msgid "Nobody"
 msgstr "Nadie"
 
-#: users/models/user.py:175
+#: users/models/user.py:177
 msgid "joined on"
 msgstr "se unió a"
 
-#: users/models/user.py:190
+#: users/models/user.py:191
 msgid "staff status"
 msgstr "estado del personal"
 
-#: users/models/user.py:192
+#: users/models/user.py:193
 msgid "Designates whether the user can log into admin sites."
 msgstr ""
 "Designa si el usuario puede iniciar sesión en sitios de administración."
 
-#: users/models/user.py:199
+#: users/models/user.py:200
 msgid "active"
 msgstr "activo"
 
-#: users/models/user.py:203
+#: users/models/user.py:204
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
@@ -6385,11 +6752,7 @@ msgstr "Este no es un identificador de Twitter válido."
 msgid "Join IP"
 msgstr "IP de sesión"
 
-#: users/profilefields/default.py:99
-msgid "Last IP"
-msgstr "Última IP"
-
-#: users/registration.py:9
+#: users/registration.py:11
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgstr "¡Bienvenido a %(forum_name)s!"
@@ -6431,14 +6794,30 @@ msgstr "Debes ingresar una nueva dirección de correo electrónico."
 msgid "New e-mail is same as current one."
 msgstr "El nuevo correo electrónico es el mismo que el actual."
 
-#: users/social/pipeline.py:74
+#: users/signals.py:31
+msgid "Joined on"
+msgstr ""
+
+#: users/signals.py:32
+msgid "Joined from ip"
+msgstr ""
+
+#: users/signals.py:72
+msgid "New username"
+msgstr ""
+
+#: users/signals.py:73
+msgid "Old username"
+msgstr ""
+
+#: users/social/pipeline.py:77
 #, python-format
 msgid ""
 "The e-mail address associated with your %(backend)s account is not available"
 " for use on this site."
 msgstr ""
 
-#: users/social/pipeline.py:83
+#: users/social/pipeline.py:86
 #, python-format
 msgid ""
 "Your account has to be activated by site administrator before you will be "
@@ -6542,6 +6921,42 @@ msgstr "Prohibir \"%(name)s\" ha sido editado."
 msgid "Ban \"%(name)s\" has been removed."
 msgstr "Prohibir \"%(name)s\" ha sido eliminado."
 
+#: users/views/admin/datadownloads.py:23
+msgid "With data downloads: 0"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:24
+msgid "Select data downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:28
+msgid "Expire downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:30
+msgid "Are you sure you want to set selected data downloads as expired?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:34
+msgid "Delete downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:36
+msgid "Are you sure you want to delete selected data downloads?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:51
+msgid "Selected data downloads have been set as expired."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:57
+msgid "Selected data downloads have been deleted."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:68
+msgid "Data downloads have been requested for specified users."
+msgstr ""
+
 #: users/views/admin/ranks.py:16
 msgid "Requested rank does not exist."
 msgstr "El rango solicitado no existe."
@@ -6591,39 +7006,43 @@ msgstr "El rango \"%(name)s\" ya está predeterminado."
 msgid "Rank \"%(name)s\" has been made default."
 msgstr "El rango \"%(name)s\" se ha establecido de manera predeterminada."
 
-#: users/views/admin/users.py:59
+#: users/views/admin/users.py:60
 msgid "Biggest posters"
 msgstr "Los carteles más grandes"
 
-#: users/views/admin/users.py:60
+#: users/views/admin/users.py:61
 msgid "Smallest posters"
 msgstr "Los carteles más pequeños"
 
-#: users/views/admin/users.py:62
+#: users/views/admin/users.py:63
 msgid "With users: 0"
 msgstr "Con los usuarios: 0"
 
-#: users/views/admin/users.py:63
+#: users/views/admin/users.py:64
 msgid "Select users"
 msgstr "Seleccionar usuarios"
 
-#: users/views/admin/users.py:67
+#: users/views/admin/users.py:68
 msgid "Activate accounts"
 msgstr "Activar cuentas"
 
-#: users/views/admin/users.py:77
+#: users/views/admin/users.py:78
+msgid "Request data download"
+msgstr ""
+
+#: users/views/admin/users.py:83
 msgid "Delete accounts"
 msgstr "Eliminar cuentas"
 
-#: users/views/admin/users.py:79
+#: users/views/admin/users.py:85
 msgid "Are you sure you want to delete selected users?"
 msgstr "¿Seguro que quieres eliminar los usuarios seleccionados?"
 
-#: users/views/admin/users.py:83
+#: users/views/admin/users.py:89
 msgid "Delete all"
 msgstr "Borrar todo"
 
-#: users/views/admin/users.py:86
+#: users/views/admin/users.py:92
 msgid ""
 "Are you sure you want to delete selected users? This will also delete all "
 "content associated with their accounts."
@@ -6631,54 +7050,58 @@ msgstr ""
 "¿Seguro que quieres eliminar los usuarios seleccionados? Esto también "
 "eliminará todo el contenido asociado a sus cuentas."
 
-#: users/views/admin/users.py:107
+#: users/views/admin/users.py:113
 msgid "You have to select inactive users."
 msgstr "Debes seleccionar usuarios inactivos."
 
-#: users/views/admin/users.py:114
+#: users/views/admin/users.py:120
 #, python-format
 msgid "Your account on %(forum_name)s forums has been activated"
 msgstr "Tu cuenta en %(forum_name)s ha sido activada"
 
-#: users/views/admin/users.py:119
+#: users/views/admin/users.py:125
 msgid "Selected users accounts have been activated."
 msgstr "Las cuentas de los usuarios seleccionados se han activado."
 
-#: users/views/admin/users.py:125
+#: users/views/admin/users.py:131
 #, python-format
 msgid "%(user)s is super admin and can't be banned."
 msgstr "%(user)s es super administrador y no puede ser baneado."
 
-#: users/views/admin/users.py:186
+#: users/views/admin/users.py:194
 msgid "Selected users have been banned."
 msgstr "Los usuarios seleccionados han sido baneados."
 
-#: users/views/admin/users.py:201 users/views/admin/users.py:215
-#: users/views/admin/users.py:331
+#: users/views/admin/users.py:212
+msgid "Data download requests have been placed for selected users."
+msgstr ""
+
+#: users/views/admin/users.py:217 users/views/admin/users.py:230
+#: users/views/admin/users.py:346
 msgid "You can't delete yourself."
 msgstr "No puedes borrarte a ti mismo."
 
-#: users/views/admin/users.py:203 users/views/admin/users.py:217
-#: users/views/admin/users.py:334
+#: users/views/admin/users.py:219 users/views/admin/users.py:232
+#: users/views/admin/users.py:349
 #, python-format
 msgid "%(user)s is admin and can't be deleted."
 msgstr "%(user)s es admin y no se puede eliminar."
 
-#: users/views/admin/users.py:209
+#: users/views/admin/users.py:225
 msgid "Selected users have been deleted."
 msgstr "Los usuarios seleccionados han sido eliminados."
 
-#: users/views/admin/users.py:232
+#: users/views/admin/users.py:247
 #, python-format
 msgid "New user \"%(user)s\" has been registered."
 msgstr "Nuevo usuario \"%(user)s\" ha sido registrado."
 
-#: users/views/admin/users.py:261
+#: users/views/admin/users.py:276
 #, python-format
 msgid "User \"%(user)s\" has been edited."
 msgstr "Usuario \"%(user)s\" ha sido editado."
 
-#: users/views/admin/users.py:328
+#: users/views/admin/users.py:343
 msgid "This action can't be accessed directly."
 msgstr "No se puede acceder a esta acción directamente."
 

BIN
misago/locale/es/LC_MESSAGES/djangojs.mo


+ 285 - 207
misago/locale/es/LC_MESSAGES/djangojs.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-20 21:20+0200\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Javier Lorenzo <javichio@gmail.com>, 2017\n"
 "Language-Team: Spanish (https://www.transifex.com/misago/teams/65369/es/)\n"
@@ -39,8 +39,30 @@ msgid "Promise can't be resolved itself"
 msgstr ""
 
 #: static/misago/js/misago.js:1
-msgid "By registering you agree to site's terms and conditions."
-msgstr "Registrándote, aceptas los términos y condiciones de uso."
+msgid "the terms of service"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "the privacy policy"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "I have read and accept %(agreement)s."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid ""
+"Declining will result in immediate deactivation and deletion of your "
+"account. This action is not reversible."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Decline"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Accept and continue"
+msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
@@ -48,11 +70,12 @@ msgstr "Registrándote, aceptas los términos y condiciones de uso."
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:12
 #: static/misago/js/misago.js:13 static/misago/js/misago.js:14
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Close"
 msgstr "Cerrar"
 
-#: static/misago/js/misago.js:1 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:1 static/misago/js/misago.js:6
 msgid "Add participant"
 msgstr "Añadir participante"
 
@@ -70,9 +93,10 @@ msgstr "Usuario a añadir"
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:6 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:6 static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Cancel"
 msgstr "Cancelar"
 
@@ -199,8 +223,8 @@ msgid "Generate my individual avatar"
 msgstr "Generar avatar con tu inicial"
 
 #: static/misago/js/misago.js:2 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "Ok"
 msgstr "Ok"
 
@@ -268,39 +292,39 @@ msgstr "Insertar código"
 msgid "Emphase selection"
 msgstr "Añadir énfasis a la selección"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert horizontal ruler"
 msgstr "Insertar regla horizontal"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link to image"
 msgstr "Añadir enlace a la imagen"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter image label (optional)"
 msgstr "Añadir etiqueta de imagen (opcional)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert image"
 msgstr "Insertar imagen"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link address"
 msgstr "Añadir dirección de enlace"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link label (optional)"
 msgstr "Añadir etiqueta de enlace (opcional)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert link"
 msgstr "Insertar enlace"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter quote autor, prefix usernames with @"
 msgstr "Añadir autor de la cita, utiliza @ para mencionar"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert quote"
 msgstr "Añadir cita"
 
@@ -332,7 +356,7 @@ msgstr "Deshacer eliminar"
 msgid "Error uploading %(filename)s"
 msgstr "Error subiendo %(filename)s"
 
-#: static/misago/js/misago.js:3 static/misago/js/misago.js:8
+#: static/misago/js/misago.js:3 static/misago/js/misago.js:9
 msgid "Dismiss"
 msgstr "Descartar"
 
@@ -349,7 +373,7 @@ msgid "Protected"
 msgstr "Protegido"
 
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Protect"
 msgstr "Proteger"
 
@@ -384,7 +408,7 @@ msgid ""
 " deleted during the merge."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:18
 msgid "Poll"
 msgstr "Encuesta"
 
@@ -399,6 +423,7 @@ msgid "Are you sure you want to delete all polls?"
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Merge threads"
 msgstr "Mezclar hilos"
 
@@ -426,8 +451,7 @@ msgstr "Escrito por %(poster)s en %(posted_on)s en %(category)s."
 msgid "%(title)s, joined on %(joined_on)s"
 msgstr "%(title)s, ha entrado en %(joined_on)s"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "Change username"
 msgstr "Cambiar nombre de usuario"
 
@@ -463,7 +487,7 @@ msgstr[1] ""
 msgid "Your new username is same as current one."
 msgstr "El nombre propuesto es igual al anterior."
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "New username"
 msgstr "Nuevo nombre de usuario"
 
@@ -472,15 +496,15 @@ msgid "Your username has been changed successfully."
 msgstr "Tu nombre de usuario se ha cambiado correctamente."
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change your options"
 msgstr "Cambia tus opciones"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5
 msgid "Enter your password to confirm account deletion."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:13
 msgid "Delete account"
 msgstr "Eliminar cuenta"
 
@@ -516,7 +540,54 @@ msgstr ""
 msgid "Delete my account"
 msgstr ""
 
-#: static/misago/js/misago.js:5 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:5
+msgid "Your request for data download has been registered."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download your data"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"To download your data from the site, click the \"Request data download\" "
+"button. Depending on amount of data to be archived and number of users "
+"wanting to download their data at same time it may take up to few days for "
+"your download to be prepared. An e-mail with notification will be sent to "
+"you when your data is ready to be downloaded."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"The download will only be available for limited amount of time, after which "
+"it will be deleted from the site and marked as expired."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Requested on"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "You have no data downloads."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Request data download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is being prepared"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is expired"
+msgstr ""
+
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:12
 msgid "Your details have been updated."
 msgstr "Tus detalles han sido actualizados."
 
@@ -601,7 +672,7 @@ msgstr "Hilos que he creado"
 msgid "Threads I reply to"
 msgstr "Hilos en los que he contestado"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:6
 msgid "Change email or password"
 msgstr "Cambiar e-mail o contraseña"
 
@@ -651,7 +722,7 @@ msgstr "Nueva contraseña"
 msgid "Repeat password"
 msgstr "Repetir contraseña"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change forgotten password"
 msgstr "Cambiar contraseña olvidada"
 
@@ -840,21 +911,21 @@ msgid_plural "%(votes)s votes."
 msgstr[0] "%(votes)s voto"
 msgstr[1] "%(votes)s votos"
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Votes are public."
 msgstr "Los votos son públicos."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s vote, %(proc)s% of total."
 msgid_plural "%(votes)s votes, %(proc)s% of total."
 msgstr[0] "%(votes)s voto, %(proc)s% del total."
 msgstr[1] "%(votes)s votos, %(proc)s% del total."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Your choice."
 msgstr "Tu elección."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s user has voted for this choice."
 msgid_plural "%(votes)s users have voted for this choice."
 msgstr[0] "%(votes)s vez que el usuario votó por esta opción."
@@ -872,9 +943,8 @@ msgstr "Vota"
 msgid "See votes"
 msgstr "Ver votos"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:15
 msgid "Edit"
 msgstr "Editar"
 
@@ -886,8 +956,7 @@ msgstr ""
 "deshacer."
 
 #: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Delete"
 msgstr "Eliminar"
 
@@ -953,29 +1022,29 @@ msgstr "El mensaje ha sido revertido al estado anterior."
 msgid "See previous change"
 msgstr "Ver cambio anterior"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "By %(edited_by)s %(edited_on)s."
 msgstr "Por %(edited_by)s %(edited_on)s."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This post's contents cannot be displayed."
 msgstr "El contenido de este mensaje no puede ser mostrado."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This error is caused by invalid post content manipulation."
 msgstr ""
 "Este error está causado por una manipulación inválida del contenido del "
 "post."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "posted %(posted_on)s"
 msgstr "posteado %(posted_on)s"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "Removed user"
 msgstr "Usuario eliminado"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "See post"
 msgstr "Ver mensaje"
 
@@ -997,7 +1066,7 @@ msgstr "Ningún usuario ha enlazado este mensaje."
 msgid "Are you sure you want to discard changes?"
 msgstr "¿Estás seguro de querer descartar los cambios?"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "You have to enter a message."
 msgstr "Debes introducir un mensaje."
 
@@ -1029,11 +1098,12 @@ msgstr "¿Estás seguro de querer descartar el hilo privado?"
 msgid "You have to enter at least one recipient."
 msgstr "Debes introducir al menos un destinatario."
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:15
 msgid "You have to enter thread title."
 msgstr "Debes darle un título al hilo."
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Your thread has been posted."
 msgstr "Tu hilo ha sido publicado."
 
@@ -1041,12 +1111,13 @@ msgstr "Tu hilo ha sido publicado."
 msgid "Comma separated list of user names, eg.: Danny, Lisa"
 msgstr "Nombres de usuario separados por comas, ejemplo: Pepito, Josefa"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:19
 msgid "Thread title"
 msgstr "Título del hilo"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Post thread"
 msgstr "Publicar hilo"
 
@@ -1054,35 +1125,35 @@ msgstr "Publicar hilo"
 msgid "Are you sure you want to discard thread?"
 msgstr "¿Estás seguro de querer descartar el hilo?"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18
 msgid "Closed"
 msgstr "Cerrado"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:16
 msgid "Open"
 msgstr "Abierto"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:21
 msgid "Hidden"
 msgstr "Oculto"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Not hidden"
 msgstr "Público"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Unpinned"
 msgstr "No fijado"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned locally"
 msgstr "Fijado localmente"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned globally"
@@ -1145,12 +1216,12 @@ msgstr[1] ""
 " %(show_value)s)."
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Hide"
 msgstr "Ocultar"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Unhide"
 msgstr "Mostrar"
 
@@ -1174,10 +1245,6 @@ msgid "By %(event_by)s %(event_on)s."
 msgstr "Por %(event_by)s %(events_on)s."
 
 #: static/misago/js/misago.js:9
-msgid "IP recorded"
-msgstr "IP guardada"
-
-#: static/misago/js/misago.js:9
 msgid "Thread title has been changed from %(old_title)s."
 msgstr "El título del hilo se ha cambiado de %(old_title)s."
 
@@ -1268,23 +1335,23 @@ msgstr ""
 msgid "Post has been deleted."
 msgstr "El mensaje ha sido eliminado"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link to this post:"
 msgstr "Enlace permanente al mensaje:"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link"
 msgstr "Enlace permanente"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Mark as best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Unmark best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
 msgid "This post was edited %(edits)s time."
 msgid_plural "This post was edited %(edits)s times."
 msgstr[0] "El mensaje ha sido editado %(edits)s vez."
@@ -1294,17 +1361,15 @@ msgstr[1] "El mensaje ha sido editado %(edits)s veces."
 msgid "Changes history"
 msgstr "Historial de cambios"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Approve"
 msgstr "Aprobar"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Move"
 msgstr "Mover"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Split"
 msgstr "Separar"
 
@@ -1317,6 +1382,7 @@ msgid "Move post"
 msgstr "Mover mensaje"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You have to enter link to the other thread."
 msgstr "Debes introducir el enlace a otro hilo."
 
@@ -1366,7 +1432,7 @@ msgid "Close thread"
 msgstr "Cerrar hilo"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19
 msgid "Category"
 msgstr "Categoría"
 
@@ -1417,32 +1483,32 @@ msgid_plural "%(users)s and %(likes)s other users like this."
 msgstr[0] "%(users)s y %(likes)s otro usuario dio like aquí."
 msgstr[1] "%(users)s y %(likes)s otro usuario dio like aquí."
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Liked"
 msgstr "Liked"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Like"
 msgstr "Like"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
 msgid "Reply"
 msgstr "Responder"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "New post"
 msgstr "Nuevo mensaje"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:20
 msgid "New"
 msgstr "Nuevos"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "This post is protected and may not be edited."
 msgstr "Este mensaje está protegido y no puede ser editado."
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "protected"
 msgstr "protegido"
 
@@ -1490,69 +1556,68 @@ msgstr "No compartes detalles con otros."
 msgid "%(username)s is not sharing any details with others."
 msgstr "%(username)s no comparte detalles con otros."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
 msgid "Details"
 msgstr "Detalles"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s's details have been updated."
 msgstr "Los detalles de %(username)s han sido actualizados."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have no started threads."
 msgstr "No has iniciado ningún hilo."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s started no threads."
 msgstr "%(username)s no ha iniciado ningún hilo."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] "Has iniciado %(threads)s hilo."
 msgstr[1] "Has iniciado %(threads)s hilos."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] "%(username)s ha iniciado %(threads)s hilo."
 msgstr[1] "%(username)s ha iniciado %(threads)s hilos."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:13
 msgid "Loading..."
 msgstr "Cargando..."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:19
 #: static/misago/js/misago.js:20
 msgid "Threads"
 msgstr "Hilos"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted no messages."
 msgstr "No has publicado mensajes."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s posted no messages."
 msgstr "%(username)s no ha publicado mensajes."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] "Has publicado %(posts)s mensaje."
 msgstr[1] "Has publicado %(posts)s mensajes"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] "%(username)s ha publicado %(posts)s mensaje."
 msgstr[1] "%(username)s ha publicado %(posts)s mensajes."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "Posts"
 msgstr "Mensajes"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:12
 msgid "Show more (%(more)s)"
 msgstr "Mostrar más (%(more)s)"
 
@@ -1643,6 +1708,7 @@ msgid "Joined %(joined_on)s"
 msgstr "Registrado %(joined_on)s"
 
 #: static/misago/js/misago.js:12 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Moderation"
 msgstr "Moderación"
 
@@ -1702,45 +1768,45 @@ msgstr ""
 msgid "Avatar controls"
 msgstr "Controles de avatar"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Username has been changed."
 msgstr "El nombre de usuario ha sido cambiado."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account, threads, posts and other content has been deleted."
 msgstr ""
 "La cuenta de %(username)s's, los hilos, los mensajes y otro contenido ha "
 "sido eliminado."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account has been deleted and other content has been hidden."
 msgstr ""
 "La cuenta de %(username)s ha sido eliminada y otro contenido ha sido "
 "ocultado."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete %(username)s"
 msgstr "Eliminar %(username)s"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Please wait... (%(countdown)ss)"
 msgstr "Por favor, espera... (%(countdown)ss)"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "User content"
 msgstr "Contenido de usuario"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete together with user's account"
 msgstr "Borrar conjuntamente con la cuenta del usuario"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Hide after deleting user's account"
 msgstr "Ocultar tras eliminar la cuenta del usuario"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Return to users list"
 msgstr "Volver a la lista de usuarios"
 
@@ -1808,32 +1874,32 @@ msgstr "Se han cerrado los registros debido a un error inesperado."
 msgid "Register"
 msgstr "Registro"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Join with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Or create forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Username"
 msgstr "Nombre de usuario"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:17
 #: static/misago/js/misago.js:18
 msgid "E-mail"
 msgstr "E-mail"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Password"
 msgstr "Contraseña"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Register account"
 msgstr "Registrar cuenta"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but you need to activate it "
 "before you will be able to sign in."
@@ -1841,7 +1907,7 @@ msgstr ""
 "%(username)s, tu cuenta ha sido creada, pero requiere ser activada antes de "
 "que puedas iniciar sesión."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but board administrator will "
 "have to activate it before you will be able to sign in."
@@ -1849,7 +1915,7 @@ msgstr ""
 "%(username)s, tu cuenta ha sido creada pero la administración del sitio debe"
 " activarla antes de que puedas iniciar sesión."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid ""
 "We have sent an e-mail to %(email)s with link that you have to click to "
 "activate your account."
@@ -1857,32 +1923,31 @@ msgstr ""
 "Hemos enviado un correo a %(email)s con un enlace al que deberás acceder "
 "para activar tu cuenta."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "We will send an e-mail to %(email)s when this takes place."
 msgstr "Te enviaremos un correo a %(email)s en su momento."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Registration complete"
 msgstr "Registro completo"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:25
 msgid "Enter a valid email address."
 msgstr "Introduce un correo electrónico válido."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Your e-mail address"
 msgstr "Tu correo electrónico"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Send link"
 msgstr "Enviar enlace"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Activation link was sent to %(email)s"
 msgstr "El enlace de activación ha sido enviado a %(email)s"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Request another link"
 msgstr "Pedir otro enlace de activación"
 
@@ -1949,41 +2014,41 @@ msgstr "No existen usuarios que coincidan con tu criterio de búsqueda."
 msgid "Enter at least two characters to search users."
 msgstr "Introduce al menos dos caracteres para buscar usuarios."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Fill out both fields."
 msgstr "Rellena ambos campos."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Activate account"
 msgstr "Activar cuenta"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Sign in with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Or use your forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Username or e-mail"
 msgstr "Nombre de usuario o e-mail"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Forgot password?"
 msgstr "¿Contraseña olvidada?"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid ""
-"%(username)s, your account has been created and you has been signed in to "
+"%(username)s, your account has been created and you have been signed in to "
 "it."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Registration completed!"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Return to forum index"
 msgstr ""
 
@@ -1992,6 +2057,10 @@ msgid "Sign in with %(backend)s"
 msgstr ""
 
 #: static/misago/js/misago.js:15
+msgid "You need to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:15
 msgid "Your e-mail address has been verified by %(backend)s."
 msgstr ""
 
@@ -2012,7 +2081,7 @@ msgid "Edit title"
 msgstr "Editar título"
 
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:20
 msgid "Unapproved"
 msgstr "No aprobados"
 
@@ -2020,7 +2089,7 @@ msgstr "No aprobados"
 msgid "Unapproved posts"
 msgstr "Mensajes no aprobados"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:15 static/misago/js/misago.js:18
 msgid "%(replies)s reply"
 msgid_plural "%(replies)s replies"
 msgstr[0] "%(replies)s respuesta"
@@ -2046,19 +2115,19 @@ msgstr ""
 "¿Estás seguro de que quieres eliminar los mensajes seleccionados? Esta "
 "opción no puede deshacerse."
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Merge"
 msgstr "Mezclar"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Unprotect"
 msgstr "Desproteger"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "%(username)s on %(posted_on)s"
 msgstr "%(username)s en %(posted_on)s"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "One or more posts could not be changed:"
 msgstr "Uno o más mensajes no pueden ser cambiados:"
 
@@ -2118,19 +2187,19 @@ msgstr "Fijado localmente"
 msgid "Unpin"
 msgstr "No fijar"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Merge thread"
 msgstr "Mezclar hilo"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been merged with other one."
 msgstr "El hilo ha sido mezclado con otro."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Link to thread you want to merge with"
 msgstr "Enlace al hilo con el que quieres mezclar"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid ""
 "Merge will delete current thread and move its contents to the thread "
 "specified here."
@@ -2138,19 +2207,19 @@ msgstr ""
 "La tarea de mezclado eliminará el hilo y su contenido y lo moverá al hilo "
 "que especifiques a continuación."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Move thread"
 msgstr "Mover hilo"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You can't move this thread at the moment."
 msgstr "No puedes mover este hilo en este momento."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been moved."
 msgstr "El hilo se ha movido."
 
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "New category"
 msgstr "Nueva categoría"
 
@@ -2188,15 +2257,15 @@ msgstr "Habilitado"
 msgid "Disabled"
 msgstr "Deshabilitado"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Unsubscribe"
 msgstr "Desuscribirse"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe"
 msgstr "Suscribirse"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe with e-mail"
 msgstr "Notificaciones por email"
 
@@ -2228,11 +2297,11 @@ msgstr "Último mensaje"
 msgid "Options"
 msgstr "Opciones"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid "Add poll"
 msgstr "Añadir encuesta"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid ""
 "There is %(threads)s new or updated thread. Click this message to show it."
 msgid_plural ""
@@ -2253,7 +2322,7 @@ msgstr ""
 msgid "Change subscription"
 msgstr "Cambiar suscripción"
 
-#: static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19
 msgid "Start thread"
 msgstr "Crear hilo"
 
@@ -2333,7 +2402,7 @@ msgstr "Fijar los hilos localmente"
 msgid "Unpin threads"
 msgstr "Soltar hilo"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Move threads"
 msgstr "Mover hilos"
 
@@ -2369,7 +2438,7 @@ msgstr "Moderar hilos"
 msgid "One or more threads could not be deleted:"
 msgstr "Uno o más hilos no pueden ser eliminados:"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid ""
 "You can't move threads because there are no categories you are allowed to "
 "move them to."
@@ -2384,11 +2453,11 @@ msgstr ""
 "Necesitas permisos para empezar hilos en la categoría para poder mezclar "
 "hilos en ela."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Selected threads were moved."
 msgstr "Los hilos seleccionados se han movido."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid ""
 "You need permission to start threads in category to be able to move threads "
 "to it."
@@ -2396,51 +2465,51 @@ msgstr ""
 "Necesitas permisos para empezar hilos en la categoría para poder mover hilos"
 " a ella"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select all"
 msgstr "Seleccionar todo"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select none"
 msgstr "Cancelar selección"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All"
 msgstr "Todo"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All threads"
 msgstr "Todos los hilos"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My"
 msgstr "Míos"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My threads"
 msgstr "Mis hilos"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "New threads"
 msgstr "Nuevos hilos"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread"
 msgstr "No leídos"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread threads"
 msgstr "Hilos no leídos"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed"
 msgstr "Suscrito"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed threads"
 msgstr "Hilos a los que estás suscrito"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unapproved content"
 msgstr "Contenido no aprobado"
 
@@ -2456,7 +2525,8 @@ msgstr "Inicia sesión o registrate para comenzar a participar en los foros."
 msgid "You have unread private threads!"
 msgstr ""
 
-#: static/misago/js/misago.js:20 static/misago/js/misago.js:22
+#: static/misago/js/misago.js:20 static/misago/js/misago.js:21
+#: static/misago/js/misago.js:23
 msgid "Private threads"
 msgstr "Hilos privados"
 
@@ -2464,67 +2534,67 @@ msgstr "Hilos privados"
 msgid "Are you sure you want to sign out?"
 msgstr "¿Estás seguro de que quieres cerrar sesión?"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "See your profile"
 msgstr "Ver tu perfil"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change options"
 msgstr "Cambiar opciones"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change avatar"
 msgstr "Cambiar avatar"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Log out"
 msgstr "Cerrar sesión"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned until %(ban_expires)s"
 msgstr "%(username)s ha sido banneado hasta %(ban_expires)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned"
 msgstr "%(username)s ha sido baneado"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is hiding presence"
 msgstr "%(username)s está ocultando su presencia"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online (hidden)"
 msgstr "%(username)s está online (oculto)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s (hidden)"
 msgstr "La última actividad de %(username)s el %(last_click)s (oculto)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online"
 msgstr "%(username)s está conectado"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s"
 msgstr "La última actividad de %(username)s ha sido %(last_click)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Banned"
 msgstr "Baneado"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online (hidden)"
 msgstr "En línea (oculto)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline (hidden)"
 msgstr "Desconectado (oculto)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online"
 msgstr "En línea"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline"
 msgstr "Desconectado"
 
@@ -2538,19 +2608,19 @@ msgstr[1] "%(followers)s seguidores"
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr "Los usuarios no han escrito en los últimos %(days)s days."
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Rank"
 msgstr "Rango"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Ranked posts"
 msgstr "Mensajes de rango"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "Total posts"
 msgstr "Mensajes totales"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] "%(posters)s es el forero más activo del último %(days)s día."
@@ -2582,7 +2652,7 @@ msgstr "sí"
 msgid "no"
 msgstr "no"
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid ""
 "Private threads are threads which only those that started them and those "
 "they have invited may see and participate in."
@@ -2590,19 +2660,19 @@ msgstr ""
 "Los hilos privados son hilos en los que puedes hablar con los participantes "
 "que tú elijas, ellos serán los únicos que podrán leer y escribir."
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid "You aren't participating in any private threads."
 msgstr "No participas en ningún hilo privado."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Lost connection with application."
 msgstr "Se ha perdido la conexión con la aplicación."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Action link is invalid."
 msgstr "Enlace de acción inválido."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Unknown error has occured."
 msgstr "Ups, parece que algo ha ido mal..."
 
@@ -2638,15 +2708,23 @@ msgstr "Estás haciendo una encuesta, ¿quieres descartarla?"
 msgid "You don't have permission to perform this action."
 msgstr "No tienes permisos para realizar esta acción."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "You are banned"
 msgstr "Has sido baneado"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "This field is required."
 msgstr "Se requiere este campo."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
+msgid "You have to accept the terms of service."
+msgstr ""
+
+#: static/misago/js/misago.js:25
+msgid "You have to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at least %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2660,7 +2738,7 @@ msgstr[1] ""
 "Asegúrate de que este valor tiene al menos %(limit_value)s caracteres (it "
 "has %(show_value)s)."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at most %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2674,14 +2752,14 @@ msgstr[1] ""
 "Asegúrate de que el valor es al menos %(limit_value)s caracteres (es de "
 "%(show_value)s)."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username must be at least %(limit_value)s character long."
 msgid_plural "Username must be at least %(limit_value)s characters long."
 msgstr[0] "El nombre de usuario debe tener al menos %(limit_value)s caracter."
 msgstr[1] ""
 "El nombre de usuario debe tener al menos %(limit_value)s caracteres."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username cannot be longer than %(limit_value)s character."
 msgid_plural "Username cannot be longer than %(limit_value)s characters."
 msgstr[0] ""
@@ -2689,13 +2767,13 @@ msgstr[0] ""
 msgstr[1] ""
 "El nombre de usuario no puede ser mayor de %(limit_value)s caracteres."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username can only contain latin alphabet letters and digits."
 msgstr ""
 "El nombre de usuario sólo puede contener caracteres latinos, letras y "
 "dígitos."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Valid password must be at least %(limit_value)s character long."
 msgid_plural ""
 "Valid password must be at least %(limit_value)s characters long."

BIN
misago/locale/fr/LC_MESSAGES/django.mo


+ 726 - 303
misago/locale/fr/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: carine hejl <carinelg@yahoo.fr>, 2017\n"
 "Language-Team: French (https://www.transifex.com/misago/teams/65369/fr/)\n"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Permissions"
 msgstr "Autorisations"
 
-#: acl/admin.py:33 users/forms/admin.py:414
+#: acl/admin.py:33 users/forms/admin.py:416
 msgid "User roles"
 msgstr " Rôles d'utilisateurs"
 
@@ -143,17 +143,17 @@ msgstr "Vous devez sélectionner au moins un élément."
 msgid "Action is not allowed."
 msgstr "Cette action n'est pas autorisée."
 
-#: admin/views/index.py:70
+#: admin/views/index.py:83
 #, python-format
 msgid "Outdated: %(current)s! (latest: %(latest)s)"
 msgstr "Caduc : %(current)s ! (dernier : %(latest)s)"
 
-#: admin/views/index.py:78
+#: admin/views/index.py:91
 #, python-format
 msgid "Up to date! (%(current)s)"
 msgstr "Mis à jour ! (%(current)s)"
 
-#: admin/views/index.py:87
+#: admin/views/index.py:100
 msgid "Failed to connect to GitHub API. Try again later."
 msgstr "Échec de la connexion à l'API GitHub. Réessayez plus tard."
 
@@ -172,11 +172,11 @@ msgstr "Hiérarchie des catégories"
 msgid "Category roles"
 msgstr "Rôles de catégories"
 
-#: categories/forms.py:47 users/forms/admin.py:388
+#: categories/forms.py:47 users/forms/admin.py:390
 msgid "Name"
 msgstr "Nom"
 
-#: categories/forms.py:49 users/forms/admin.py:404
+#: categories/forms.py:49 users/forms/admin.py:406
 msgid "Description"
 msgstr "Description"
 
@@ -184,7 +184,7 @@ msgstr "Description"
 msgid "Optional description explaining category intented purpose."
 msgstr "Description facultative expliquant l'objectif de la catégorie."
 
-#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:421
+#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:423
 msgid "CSS class"
 msgstr "Classe CSS"
 
@@ -204,7 +204,7 @@ msgstr "Catégorie fermée"
 msgid "Only members with valid permissions can post in closed categories."
 msgstr "Seul les membres autorisés peuvent écrire dans une catégorie close."
 
-#: categories/forms.py:75 templates/misago/admin/index.html:83
+#: categories/forms.py:75 templates/misago/admin/index.html:110
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
 #: templates/misago/profile/threads.html:8
@@ -217,7 +217,7 @@ msgstr "Seul les membres autorisés peuvent écrire dans une catégorie close."
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:72 threads/permissions/threads.py:103
-#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:89
+#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:97
 msgid "Threads"
 msgstr "Fils de discussion"
 
@@ -539,7 +539,7 @@ msgstr "Demande d'authentification invalide."
 
 #: core/forms.py:43 templates/misago/admin/users/edit.html:61
 #: templates/misago/admin/users/edit.html:78
-#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:590
+#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:604
 msgid "Yes"
 msgstr "Oui"
 
@@ -553,7 +553,7 @@ msgstr "Oui"
 #: threads/permissions/threads.py:164 threads/permissions/threads.py:178
 #: threads/permissions/threads.py:189 threads/permissions/threads.py:205
 #: threads/permissions/threads.py:216 threads/permissions/threads.py:247
-#: users/forms/admin.py:591 users/models/user.py:145
+#: users/forms/admin.py:605 users/models/user.py:147
 msgid "No"
 msgstr "Non"
 
@@ -656,7 +656,72 @@ msgstr "La valeur doit contenir des caractères alpha-numériques."
 msgid "Value is too long."
 msgstr "La valeur est trop longue."
 
+#: legal/admin.py:25 templates/misago/admin/users/edit.html:216
+msgid "Agreements"
+msgstr ""
+
+#: legal/api.py:18
+msgid "You have already accepted this agreement."
+msgstr ""
+
+#: legal/api.py:27
+msgid "You need to submit a valid choice."
+msgstr ""
+
+#: legal/forms.py:10 legal/forms.py:60
+#: templates/misago/admin/agreements/list.html:18
+#: templates/misago/admin/attachmenttypes/list.html:16
+#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:589
+msgid "Type"
+msgstr "Type"
+
+#: legal/forms.py:12 templates/misago/admin/agreements/list.html:16
+#: templates/misago/admin/ranks/list.html:17
+msgid "Title"
+msgstr "Titre"
+
+#: legal/forms.py:13
+msgid "Optional, leave empty for agreement to be named after its type."
+msgstr ""
+
+#: legal/forms.py:17
+msgid "Set as active for its type"
+msgstr ""
+
+#: legal/forms.py:19
+msgid ""
+"If other agreement is already active for this type, it will be unset and "
+"replaced with this one. Misago will ask users who didn't accept this "
+"agreement to do so before allowing them to continue using the site's "
+"features."
+msgstr ""
+
+#: legal/forms.py:27
+msgid "Link"
+msgstr ""
+
+#: legal/forms.py:28
+msgid "If your agreement is located on other page, enter here a link to it."
+msgstr ""
+
+#: legal/forms.py:32
+msgid "Text"
+msgstr ""
+
+#: legal/forms.py:33
+msgid "You can use Markdown syntax for rich text elements."
+msgstr ""
+
+#: legal/forms.py:46
+msgid "Please fill in agreement link or text."
+msgstr ""
+
+#: legal/forms.py:65
+msgid "Content"
+msgstr ""
+
 #: legal/migrations/0001_initial.py:16
+#: legal/migrations/0003_create_agreements_from_settings.py:57
 msgid "Legal information"
 msgstr "Informations légales"
 
@@ -706,7 +771,7 @@ msgstr ""
 msgid "Policy title"
 msgstr "Titre de la politique"
 
-#: legal/migrations/0001_initial.py:64 legal/views.py:46
+#: legal/migrations/0001_initial.py:64 legal/models.py:43
 #: templates/misago/footer.html:27
 msgid "Privacy policy"
 msgstr "Politique de confidentialite"
@@ -735,21 +800,85 @@ msgstr ""
 "les balises Misago sont disponibles pour la mise en forme."
 
 #: legal/migrations/0001_initial.py:105
+#: legal/migrations/0003_create_agreements_from_settings.py:62
 msgid "Footnote"
 msgstr "Note de bas-de-page"
 
 #: legal/migrations/0001_initial.py:106
+#: legal/migrations/0003_create_agreements_from_settings.py:63
 msgid "Short message displayed in forum footer."
 msgstr "Message court affiché en bas-de-page."
 
 #: legal/migrations/0001_initial.py:107
+#: legal/migrations/0003_create_agreements_from_settings.py:64
 msgid "Forum footer"
 msgstr "Pied-de-page du forum"
 
-#: legal/views.py:65 templates/misago/footer.html:22
+#: legal/migrations/0003_create_agreements_from_settings.py:58
+msgid ""
+"Those settings allow you to set additional legal information for your forum."
+msgstr ""
+
+#: legal/models.py:42 templates/misago/footer.html:22
 msgid "Terms of service"
 msgstr "Termes de service"
 
+#: legal/views/admin.py:17
+msgid "Requested agreement does not exist."
+msgstr ""
+
+#: legal/views/admin.py:29 threads/views/admin/attachments.py:24
+#: users/views/admin/bans.py:24 users/views/admin/datadownloads.py:20
+#: users/views/admin/users.py:56
+msgid "From newest"
+msgstr "Du plus récent"
+
+#: legal/views/admin.py:30 threads/views/admin/attachments.py:25
+#: users/views/admin/bans.py:25 users/views/admin/datadownloads.py:21
+#: users/views/admin/users.py:57
+msgid "From oldest"
+msgstr "Du plus ancien"
+
+#: legal/views/admin.py:33
+msgid "With agreements: 0"
+msgstr ""
+
+#: legal/views/admin.py:34
+msgid "Select agreements"
+msgstr ""
+
+#: legal/views/admin.py:38
+msgid "Delete agreements"
+msgstr ""
+
+#: legal/views/admin.py:39
+msgid "Are you sure you want to delete those agreements?"
+msgstr ""
+
+#: legal/views/admin.py:49
+msgid "Selected agreements have been deleted."
+msgstr ""
+
+#: legal/views/admin.py:53
+#, python-format
+msgid "New agreement \"%(title)s\" has been saved."
+msgstr ""
+
+#: legal/views/admin.py:63
+#, python-format
+msgid "Agreement \"%(title)s\" has been edited."
+msgstr ""
+
+#: legal/views/admin.py:77
+#, python-format
+msgid "Agreement \"%(title)s\" has been deleted."
+msgstr ""
+
+#: legal/views/admin.py:85
+#, python-format
+msgid "Agreement \"%(title)s\" has been set as active for type \"%(type)s\"."
+msgstr ""
+
 #: markup/finalise.py:22
 #, python-format
 msgid "%(title)s has written:"
@@ -759,15 +888,15 @@ msgstr "%(title)s a écrit :"
 msgid "Quoted message:"
 msgstr "Message cité :"
 
-#: project_template/project_name/settings.py:388
+#: project_template/project_name/settings.py:424
 msgid "Personal"
 msgstr "Personnel"
 
-#: project_template/project_name/settings.py:397
+#: project_template/project_name/settings.py:433
 msgid "Contact"
 msgstr "Contact"
 
-#: project_template/project_name/settings.py:405 users/models/ban.py:76
+#: project_template/project_name/settings.py:441 users/models/ban.py:76
 msgid "IP address"
 msgstr "Adresse IP"
 
@@ -878,6 +1007,98 @@ msgstr "Échec de l'activation"
 msgid "Your account can't be activated at this time."
 msgstr "Votre compte ne peut pas être activé pour le moment."
 
+#: templates/misago/admin/agreements/form.html:9
+#: templates/misago/admin/agreements/form.html:18
+#: templates/misago/admin/agreements/form.html:28
+#: templates/misago/admin/agreements/list.html:9
+msgid "New agreement"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:43
+#: templates/misago/admin/categoryroles/form.html:43
+#: templates/misago/admin/roles/form.html:43
+msgid "Basic settings"
+msgstr "Parametres par defaut"
+
+#: templates/misago/admin/agreements/form.html:51
+msgid "Agreement contents"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:54
+msgid "Fill in one of the fields."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:19
+msgid "Created"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:20
+msgid "Modified"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:33
+#, python-format
+msgid "Active %(type)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:52
+#, python-format
+msgid "%(created_on)s by %(created_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:68
+#, python-format
+msgid "%(last_modified_on)s by %(last_modified_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:72
+msgid "never"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:78
+msgid "Set as active"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:88
+#: templates/misago/admin/attachmenttypes/list.html:54
+#: templates/misago/admin/bans/list.html:55
+#: templates/misago/admin/categories/list.html:66
+#: templates/misago/admin/categoryroles/list.html:27
+#: templates/misago/admin/ranks/list.html:99
+#: templates/misago/admin/roles/list.html:43
+#: templates/misago/admin/warnings/list.html:109
+#: templates/misago/poll/results.html:69
+#: templates/misago/profile/details.html:24
+#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
+msgid "Edit"
+msgstr "Modifier"
+
+#: templates/misago/admin/agreements/list.html:94
+#: templates/misago/admin/bans/list.html:61
+msgid "Remove"
+msgstr "Supprimer"
+
+#: templates/misago/admin/agreements/list.html:106
+msgid "No agreements matching search criteria have been found"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:108
+msgid "No agreements are currently set."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:119
+msgid "Are you sure you want to set this agreement as active for its type?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:124
+msgid "Are you sure you want to delete this agreement?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:133
+#: templates/misago/admin/bans/list.html:95
+msgid "Search bans"
+msgstr "Rechercher un bannissement"
+
 #: templates/misago/admin/attachments/list.html:7
 msgid "Attachment"
 msgstr "Pièces jointes"
@@ -888,12 +1109,8 @@ msgstr "Fil de discussion"
 
 #: templates/misago/admin/attachments/list.html:42
 #, python-format
-msgid ""
-"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s from "
-"%(uploader_ip)s."
+msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s."
 msgstr ""
-"%(filetype)s, %(size)s, télédéposé par %(uploader)s %(uploaded_on)s depuis "
-"%(uploader_ip)s."
 
 #: templates/misago/admin/attachments/list.html:53
 #: templates/misago/admin/attachmenttypes/list.html:47
@@ -943,11 +1160,6 @@ msgstr "Options par défaut"
 msgid "Availability"
 msgstr "Disponibilité"
 
-#: templates/misago/admin/attachmenttypes/list.html:16
-#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:575
-msgid "Type"
-msgstr "Type"
-
 #: templates/misago/admin/attachmenttypes/list.html:17
 msgid "Extensions"
 msgstr "Extensions"
@@ -960,19 +1172,6 @@ msgstr "type MIME"
 msgid "Files"
 msgstr "Fichiers"
 
-#: templates/misago/admin/attachmenttypes/list.html:54
-#: templates/misago/admin/bans/list.html:55
-#: templates/misago/admin/categories/list.html:66
-#: templates/misago/admin/categoryroles/list.html:27
-#: templates/misago/admin/ranks/list.html:99
-#: templates/misago/admin/roles/list.html:43
-#: templates/misago/admin/warnings/list.html:109
-#: templates/misago/poll/results.html:69
-#: templates/misago/profile/details.html:24
-#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
-msgid "Edit"
-msgstr "Modifier"
-
 #: templates/misago/admin/attachmenttypes/list.html:71
 msgid "No attachment types are currently defined."
 msgstr "Aucun type de pièce jointe n'est actuellement défini."
@@ -989,12 +1188,12 @@ msgid "New ban"
 msgstr "Nouveau bannissement"
 
 #: templates/misago/admin/bans/form.html:43
-#: templates/misago/admin/users/ban.html:53
+#: templates/misago/admin/users/ban.html:57
 msgid "Ban settings"
 msgstr "Paramètres d'exclusion"
 
 #: templates/misago/admin/bans/form.html:52
-#: templates/misago/admin/users/ban.html:60
+#: templates/misago/admin/users/ban.html:64
 msgid "Messages"
 msgstr "Messages"
 
@@ -1002,8 +1201,8 @@ msgstr "Messages"
 msgid "Ban"
 msgstr "Bannir"
 
-#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:493
-#: users/forms/admin.py:546
+#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:488
+#: users/forms/admin.py:560
 msgid "Expires on"
 msgstr "Expire le"
 
@@ -1016,10 +1215,6 @@ msgstr "%(check_type)s, enregistrement seulement"
 msgid "Never"
 msgstr "Jamais"
 
-#: templates/misago/admin/bans/list.html:61
-msgid "Remove"
-msgstr "Supprimer"
-
 #: templates/misago/admin/bans/list.html:73
 msgid "No bans matching search criteria have been found"
 msgstr ""
@@ -1033,10 +1228,6 @@ msgstr "Aucun bannissement prononcé."
 msgid "Are you sure you want to remove this ban?"
 msgstr "Êtes-vous certain de vouloir supprimer ce bannissement ?"
 
-#: templates/misago/admin/bans/list.html:95
-msgid "Search bans"
-msgstr "Rechercher un bannissement"
-
 #: templates/misago/admin/base_thin.html:8
 msgid "Misago Administration"
 msgstr "Administration de Misago"
@@ -1170,11 +1361,6 @@ msgstr "Êtes-vous sûr de vouloir abandonner les changements ?"
 msgid "New role"
 msgstr "Nouveau rôle"
 
-#: templates/misago/admin/categoryroles/form.html:43
-#: templates/misago/admin/roles/form.html:43
-msgid "Basic settings"
-msgstr "Parametres par defaut"
-
 #: templates/misago/admin/categoryroles/list.html:16
 msgid "Category role"
 msgstr "Rôle de la catégorie."
@@ -1212,6 +1398,61 @@ msgstr ""
 msgid "Change settings"
 msgstr "Modifier les paramètres"
 
+#: templates/misago/admin/datadownloads/form.html:6
+#: templates/misago/admin/datadownloads/form.html:11
+#: templates/misago/admin/datadownloads/form.html:17
+msgid "Request new data downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:9
+msgid "Request new downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:17
+#: templates/misago/admin/users/list.html:17 users/forms/admin.py:696
+msgid "User"
+msgstr "Utilisateur"
+
+#: templates/misago/admin/datadownloads/list.html:18 threads/forms.py:56
+#: users/forms/admin.py:691
+msgid "Status"
+msgstr "Statut"
+
+#: templates/misago/admin/datadownloads/list.html:19
+msgid "Requested on"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:21 users/forms/admin.py:700
+msgid "Requested by"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:32
+#: templates/misago/admin/datadownloads/list.html:49
+#: templates/misago/admin/datadownloads/list.html:52
+#: templates/misago/admin/users/ban.html:35
+#: templates/misago/admin/users/edit.html:113
+#: templates/misago/admin/users/list.html:35
+#: templates/misago/userslists/active_posters.html:66
+msgid "Avatar"
+msgstr "Avatar"
+
+#: templates/misago/admin/datadownloads/list.html:73
+#: templates/misago/emails/data_download.html:11 users/apps.py:50
+msgid "Download data"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:84
+msgid "No data downloads matching search criteria have been found."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:86
+msgid "No data downloads exist at the moment."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:93
+msgid "Search data downloads"
+msgstr ""
+
 #: templates/misago/admin/errorpages/403.html:5
 #: templates/misago/errorpages/403.html:5
 msgid "Page not available"
@@ -1369,44 +1610,73 @@ msgstr "Dernier"
 msgid "Administration Home"
 msgstr "Accueil administration"
 
-#: templates/misago/admin/index.html:33
+#: templates/misago/admin/index.html:22
+msgid "System checks"
+msgstr ""
+
+#: templates/misago/admin/index.html:26
+msgid "MISAGO_ADDRESS setting appears to be correct."
+msgstr ""
+
+#: templates/misago/admin/index.html:30
+msgid "The settings.py value for MISAGO_ADDRESS appears to be incorrect."
+msgstr ""
+
+#: templates/misago/admin/index.html:38
+#, python-format
+msgid ""
+"Your MISAGO_ADDRESS is set to %(configured_address)s while correct value "
+"appears to be %(correct_address)s."
+msgstr ""
+
+#: templates/misago/admin/index.html:42 templates/misago/admin/index.html:47
+msgid ""
+"Misago uses this setting to build correct links in e-mails sent to site "
+"users."
+msgstr ""
+
+#: templates/misago/admin/index.html:46
+msgid "The settings.py is missing MISAGO_ADDRESS value."
+msgstr ""
+
+#: templates/misago/admin/index.html:60
 msgid "Misago version"
 msgstr "Version de Misago"
 
-#: templates/misago/admin/index.html:56
+#: templates/misago/admin/index.html:83
 msgid "Check version"
 msgstr "Vérifier la version"
 
-#: templates/misago/admin/index.html:62
+#: templates/misago/admin/index.html:89
 msgid "This feature requires \"packaging\" python module."
 msgstr "Cette fonction requiert le module Python nommé « packaging »"
 
-#: templates/misago/admin/index.html:76
+#: templates/misago/admin/index.html:103
 msgid "DB Contents"
 msgstr "Contenu de la base de donnée"
 
-#: templates/misago/admin/index.html:87
+#: templates/misago/admin/index.html:114
 #: templates/misago/admin/users/delete.html:36
-#: templates/misago/admin/users/list.html:23
+#: templates/misago/admin/users/list.html:24
 #: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
-#: threads/migrations/0004_update_settings.py:48 users/apps.py:83
+#: threads/migrations/0004_update_settings.py:48 users/apps.py:91
 msgid "Posts"
 msgstr "Messages"
 
-#: templates/misago/admin/index.html:91 templates/misago/navbar.html:40
+#: templates/misago/admin/index.html:118 templates/misago/navbar.html:40
 #: templates/misago/userslists/base.html:5
-#: templates/misago/userslists/base.html:14 users/admin.py:70
+#: templates/misago/userslists/base.html:14 users/admin.py:80
 #: users/migrations/0002_users_settings.py:16
 #: users/migrations/0006_update_settings.py:17 users/search.py:18
 msgid "Users"
 msgstr "Utilisateurs"
 
-#: templates/misago/admin/index.html:96
+#: templates/misago/admin/index.html:123
 msgid "Inactive users"
 msgstr "Utilisateurs inactifs"
 
-#: templates/misago/admin/index.html:122
+#: templates/misago/admin/index.html:149
 msgid "Checking..."
 msgstr "Vérification…"
 
@@ -1434,7 +1704,7 @@ msgstr "Veuillez réessayer."
 msgid "Username or e-mail"
 msgstr "Identifiant ou e-mail"
 
-#: templates/misago/admin/login.html:62 users/forms/admin.py:60
+#: templates/misago/admin/login.html:62 users/forms/admin.py:62
 #: users/forms/auth.py:59
 msgid "Password"
 msgstr "Mot de passe"
@@ -1479,17 +1749,13 @@ msgid "Display and visibility"
 msgstr "Affichage et visibilité"
 
 #: templates/misago/admin/ranks/list.html:16
-#: templates/misago/admin/users/list.html:21
+#: templates/misago/admin/users/list.html:22
 #: templates/misago/userslists/active_posters.html:95
 #: templates/misago/userslists/active_posters.html:106
-#: users/forms/admin.py:236
+#: users/forms/admin.py:238
 msgid "Rank"
 msgstr "Rang"
 
-#: templates/misago/admin/ranks/list.html:17
-msgid "Title"
-msgstr "Titre"
-
 #: templates/misago/admin/ranks/list.html:18
 msgid "Special"
 msgstr "Spécial"
@@ -1531,7 +1797,7 @@ msgid "No user roles are currently defined."
 msgstr "Aucun rôle utilisateur n'est actuellement défini."
 
 #: templates/misago/admin/users/ban.html:6
-#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:72
+#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:73
 msgid "Ban users"
 msgstr "Utilisateurs bannis"
 
@@ -1539,14 +1805,11 @@ msgstr "Utilisateurs bannis"
 msgid "Ban selected users:"
 msgstr "Interdire les utilisateurs sélectionnés :"
 
-#: templates/misago/admin/users/ban.html:35
-#: templates/misago/admin/users/edit.html:113
-#: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:66
-msgid "Avatar"
-msgstr "Avatar"
+#: templates/misago/admin/users/ban.html:48
+msgid "IP not available"
+msgstr ""
 
-#: templates/misago/admin/users/ban.html:72
+#: templates/misago/admin/users/ban.html:76
 msgid "Set bans"
 msgstr "Bannir"
 
@@ -1643,6 +1906,18 @@ msgstr ""
 msgid "No staff message is available."
 msgstr "Aucun message du staff n'est disponible."
 
+#: templates/misago/admin/users/edit.html:220
+msgid "Agreement"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:221
+msgid "Accepted on"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:239
+msgid "This user didn't accept any agreements."
+msgstr ""
+
 #: templates/misago/admin/users/list.html:9
 #: templates/misago/admin/users/new.html:6
 #: templates/misago/admin/users/new.html:11
@@ -1650,52 +1925,56 @@ msgstr "Aucun message du staff n'est disponible."
 msgid "New user"
 msgstr "Nouvel utilisateur"
 
-#: templates/misago/admin/users/list.html:17
-msgid "User"
-msgstr "Utilisateur"
-
-#: templates/misago/admin/users/list.html:20
+#: templates/misago/admin/users/list.html:20 users/signals.py:30
 msgid "E-mail"
 msgstr "E-mail"
 
-#: templates/misago/admin/users/list.html:22
+#: templates/misago/admin/users/list.html:21
+msgid "IP Address"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:23
 msgid "Joined"
 msgstr "Inscrit"
 
-#: templates/misago/admin/users/list.html:39
+#: templates/misago/admin/users/list.html:40
 msgid "Is deleting their account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:43
+#: templates/misago/admin/users/list.html:44
 msgid "Is disabled by administrator"
 msgstr "est désactivé par l'administrateur"
 
-#: templates/misago/admin/users/list.html:54
+#: templates/misago/admin/users/list.html:55
 msgid "Requires activation by administrator"
 msgstr "Nécessite une activation par l'administrateur"
 
-#: templates/misago/admin/users/list.html:56
+#: templates/misago/admin/users/list.html:57
 msgid "Has to activate account"
 msgstr "Doit activer le compte"
 
-#: templates/misago/admin/users/list.html:63
+#: templates/misago/admin/users/list.html:64
 msgid "Super administrator"
 msgstr "Super-administrateur"
 
-#: templates/misago/admin/users/list.html:65
+#: templates/misago/admin/users/list.html:66
 msgid "Administrator"
 msgstr "Administrateur"
 
-#: templates/misago/admin/users/list.html:90
+#: templates/misago/admin/users/list.html:78
+msgid "IP removed"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:98
 msgid "Edit user"
 msgstr "Modifier l'utilisateur"
 
-#: templates/misago/admin/users/list.html:99
+#: templates/misago/admin/users/list.html:107
 msgid "No users matching search criteria have been found."
 msgstr ""
 "Aucun utilisateur correspondant aux critères de recherche n'a été trouvé."
 
-#: templates/misago/admin/users/list.html:105
+#: templates/misago/admin/users/list.html:113
 msgid "Search users"
 msgstr "Rechercher les utilisateurs"
 
@@ -1919,6 +2198,30 @@ msgstr ""
 msgid "Set new password"
 msgstr "Définir un nouveau mot de passe"
 
+#: templates/misago/emails/data_download.html:6
+#: templates/misago/emails/data_download.txt:6
+#, python-format
+msgid ""
+"%(user)s, you are receiving this message because your data is ready for "
+"download."
+msgstr ""
+
+#: templates/misago/emails/data_download.html:14
+#: templates/misago/emails/data_download.txt:15
+#, python-format
+msgid ""
+"This link will remain active for %(expires_in)s hour from the time this "
+"message has been sent."
+msgid_plural ""
+"This link will remain active for %(expires_in)s hours from the time this "
+"message has been sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/misago/emails/data_download.txt:10
+msgid "To download your data, click the following link:"
+msgstr ""
+
 #: templates/misago/emails/privatethread/added.html:9
 #, python-format
 msgid ""
@@ -2025,11 +2328,9 @@ msgstr ""
 #: templates/misago/emails/thread/reply.html:9
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread %(thread)s that you are subscribed to."
 msgstr ""
-"%(user)s, vous recevez ce message car %(poster)s  a répondu au fil de "
-"discussion %(thread)s auquel vous êtes abonné."
 
 #: templates/misago/emails/thread/reply.html:14
 #: templates/misago/emails/thread/reply.txt:10
@@ -2043,11 +2344,9 @@ msgstr "Aller à la réponse"
 #: templates/misago/emails/thread/reply.txt:6
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread \"%(thread)s\" that you are subscribed to."
 msgstr ""
-"%(user)s, vous recevez ce message car %(poster)s  a répondu au fil de "
-"discussion %(thread)s auquel vous êtes abonné."
 
 #: templates/misago/errorpages/403.html:40
 msgid "This page is not available."
@@ -2297,7 +2596,7 @@ msgstr "Voir les résultats"
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:8
-#: templates/misago/profile/ban_details.html:15 users/apps.py:120
+#: templates/misago/profile/ban_details.html:15 users/apps.py:128
 msgid "Ban details"
 msgstr "Details de l'interdiction"
 
@@ -2344,7 +2643,7 @@ msgstr[1] "A initié %(threads)s fils de discussion"
 
 #: templates/misago/profile/details.html:5
 #: templates/misago/profile/details.html:8
-#: templates/misago/profile/details.html:18 users/apps.py:107
+#: templates/misago/profile/details.html:18 users/apps.py:115
 msgid "Details"
 msgstr "Détails"
 
@@ -2374,7 +2673,7 @@ msgstr ""
 "message."
 
 #: templates/misago/profile/followers.html:5
-#: templates/misago/profile/followers.html:8 users/apps.py:95
+#: templates/misago/profile/followers.html:8 users/apps.py:103
 msgid "Followers"
 msgstr "Suiveurs"
 
@@ -2402,7 +2701,7 @@ msgid "%(username)s has no followers."
 msgstr "Personne ne suit %(username)s."
 
 #: templates/misago/profile/follows.html:5
-#: templates/misago/profile/follows.html:8 users/apps.py:101
+#: templates/misago/profile/follows.html:8 users/apps.py:109
 msgid "Follows"
 msgstr "Suit"
 
@@ -2489,7 +2788,7 @@ msgid "%(username)s started no threads."
 msgstr "%(username)s n'a démarré aucun fil de discussion."
 
 #: templates/misago/profile/username_history.html:5
-#: templates/misago/profile/username_history.html:8 users/apps.py:113
+#: templates/misago/profile/username_history.html:8 users/apps.py:121
 msgid "Username history"
 msgstr "Historique du nom d'utilisateur"
 
@@ -2516,6 +2815,20 @@ msgstr "Votre nom d'utilisateur n'a jamais été changé."
 msgid "%(username)s's username was never changed."
 msgstr "%(username)s's nom d'utlisateur n'a jamais été changé."
 
+#: templates/misago/required_agreement.html:9
+#, python-format
+msgid "Please review the updated %(agreement)s:"
+msgstr ""
+
+#: templates/misago/required_agreement.html:19
+msgid "here"
+msgstr ""
+
+#: templates/misago/required_agreement.html:21
+#, python-format
+msgid "Please review the updated %(agreement)s available %(link)s."
+msgstr ""
+
 #: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgstr "Rechercher sur le site"
@@ -2635,10 +2948,6 @@ msgstr "Caché par %(hidden_by)s le %(hidden_on)s."
 msgid "By %(event_by)s on %(event_on)s."
 msgstr "Par %(event_by)s le %(event_on)s."
 
-#: templates/misago/thread/posts/event/info.html:34
-msgid "IP recorded"
-msgstr "IP enregistré"
-
 #: templates/misago/thread/posts/post/attachments.html:33
 #, python-format
 msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s on %(uploaded_on)s."
@@ -2928,11 +3237,11 @@ msgstr "Pièces jointes"
 msgid "Attachment types"
 msgstr "Types de pièces jointes"
 
-#: threads/api/attachments.py:19
+#: threads/api/attachments.py:20
 msgid "You don't have permission to upload new files."
 msgstr "Vous n'êtes pas autorisé⋅e à télédéposer de nouveaux fichiers."
 
-#: threads/api/attachments.py:29
+#: threads/api/attachments.py:30
 msgid "No file has been uploaded."
 msgstr "Aucun fichier télédéposé."
 
@@ -2940,11 +3249,11 @@ msgstr "Aucun fichier télédéposé."
 msgid "Uploaded image was corrupted or invalid."
 msgstr "L'image télédéposée était corrompue ou invalide."
 
-#: threads/api/attachments.py:81
+#: threads/api/attachments.py:83
 msgid "You can't upload files of this type."
 msgstr "Vous ne pouvez pas télédéposer de fichiers de ce type."
 
-#: threads/api/attachments.py:86
+#: threads/api/attachments.py:88
 #, python-format
 msgid ""
 "You can't upload files larger than %(limit)s (your file has %(upload)s)."
@@ -2952,7 +3261,7 @@ msgstr ""
 "Vous ne pouvez pas télédéposer des fichiers plus larges que %(limit)s (votre"
 " fichier fait %(upload)s)"
 
-#: threads/api/attachments.py:96
+#: threads/api/attachments.py:98
 #, python-format
 msgid ""
 "You can't upload files of this type larger than %(limit)s (your file has "
@@ -2961,7 +3270,7 @@ msgstr ""
 "Vous ne pouvez pas télédéposer de fichiers de ce type plus larges "
 "que%(limit)s(votre fichier fait %(upload)s)"
 
-#: threads/api/postendpoints/edits.py:89
+#: threads/api/postendpoints/edits.py:88
 msgid "Edits record is unavailable for this post."
 msgstr "L'enregistrement des modifications est indisponible pour ce message."
 
@@ -2977,12 +3286,12 @@ msgstr "Vous ne pouvez pas déplacer les messages dans ce fil de discussion."
 msgid "You can't like posts in this category."
 msgstr "Vous ne pouvez pas aimer les messages dans cette catégorie."
 
-#: threads/api/postendpoints/patch_post.py:108
+#: threads/api/postendpoints/patch_post.py:107
 #: threads/api/threadendpoints/patch.py:130
 msgid "Content approval can't be reversed."
 msgstr "L'approbation du contenu ne peut pas être annulée."
 
-#: threads/api/postendpoints/patch_post.py:186
+#: threads/api/postendpoints/patch_post.py:185
 msgid "One or more posts to update could not be found."
 msgstr "Un ou plusieurs messages à mettre à jour n'ont pas été trouvés."
 
@@ -2997,7 +3306,7 @@ msgstr ""
 "Vous n'avez pas la permission de supprimer la pièce-jointe « %(attachment)s "
 "»."
 
-#: threads/api/postingendpoint/attachments.py:128
+#: threads/api/postingendpoint/attachments.py:127
 #, python-format
 msgid ""
 "You can't attach more than %(limit_value)s file to single post (added "
@@ -3083,11 +3392,11 @@ msgstr[1] ""
 msgid "One or more users could not be found: %(usernames)s"
 msgstr "Un ou plusieurs utilisateurs n’ont pas été trouvés : %(usernames)s"
 
-#: threads/api/postingendpoint/reply.py:81 threads/validators.py:80
+#: threads/api/postingendpoint/reply.py:83 threads/validators.py:80
 msgid "You have to enter a message."
 msgstr "Vous devez saisir un message."
 
-#: threads/api/postingendpoint/reply.py:103 threads/validators.py:41
+#: threads/api/postingendpoint/reply.py:105 threads/validators.py:41
 msgid "You have to enter thread title."
 msgstr "Vous devez renseigner un titre pour le fil de discussion."
 
@@ -3175,7 +3484,7 @@ msgid "One or more threads to update could not be found."
 msgstr ""
 "Un ou plusieurs fils de discussion à mettre à jour n'ont pas été trouvés."
 
-#: threads/api/threadpoll.py:53
+#: threads/api/threadpoll.py:54
 msgid "There's already a poll in this thread."
 msgstr "Il y a déjà un sondage dans ce fil de discussion."
 
@@ -3211,7 +3520,7 @@ msgstr "Le nom de fichier contient"
 msgid "File type"
 msgstr "Type de fichier"
 
-#: threads/forms.py:24 users/forms/admin.py:595
+#: threads/forms.py:24 users/forms/admin.py:609
 msgid "State"
 msgstr "État"
 
@@ -3235,10 +3544,6 @@ msgstr "Extensions de fichier"
 msgid "Maximum allowed uploaded file size"
 msgstr "Taille maximale autorisée du fichier télédéposé"
 
-#: threads/forms.py:56
-msgid "Status"
-msgstr "Statut"
-
 #: threads/forms.py:57
 msgid "Limit uploads to"
 msgstr "Limiter les uploads à"
@@ -3932,7 +4237,7 @@ msgstr ""
 msgid "Can see threads"
 msgstr "Peut voir les fils de discussion"
 
-#: threads/permissions/threads.py:110 users/forms/admin.py:166
+#: threads/permissions/threads.py:110 users/forms/admin.py:168
 #: users/migrations/0002_users_settings.py:144
 #: users/migrations/0006_update_settings.py:130
 msgid "Started threads"
@@ -4985,6 +5290,14 @@ msgstr "Un ou plusieurs choix du sondage étaient invalides"
 msgid "You have to make a choice."
 msgstr "Vous devez faire un choix"
 
+#: threads/signals.py:177
+msgid "Question"
+msgstr ""
+
+#: threads/signals.py:178
+msgid "Choices"
+msgstr ""
+
 #: threads/templatetags/misago_poststags.py:20
 #, python-format
 msgid "%(user)s likes this."
@@ -5148,23 +5461,13 @@ msgstr ""
 msgid "Requested attachment could not be found."
 msgstr "La pièce jointe requise n'a pu être trouvée"
 
-#: threads/views/admin/attachments.py:24 users/views/admin/bans.py:24
-#: users/views/admin/users.py:55
-msgid "From newest"
-msgstr "Du plus récent"
-
-#: threads/views/admin/attachments.py:25 users/views/admin/bans.py:25
-#: users/views/admin/users.py:56
-msgid "From oldest"
-msgstr "Du plus ancien"
-
 #: threads/views/admin/attachments.py:26 users/views/admin/bans.py:26
-#: users/views/admin/users.py:57
+#: users/views/admin/users.py:58
 msgid "A to z"
 msgstr "A à Z"
 
 #: threads/views/admin/attachments.py:27 users/views/admin/bans.py:27
-#: users/views/admin/users.py:58
+#: users/views/admin/users.py:59
 msgid "Z to a"
 msgstr "Z à A"
 
@@ -5237,34 +5540,38 @@ msgstr ""
 "Une autorisation d'approbation des contenus est nécessaire  pour pouvoir "
 "accéder aux premiers messages non approuvés."
 
-#: users/admin.py:79
+#: users/admin.py:89
 msgid "User Accounts"
 msgstr "Compte utilisateur"
 
-#: users/admin.py:87
+#: users/admin.py:97
 msgid "Ranks"
 msgstr "Rangs"
 
-#: users/admin.py:96
+#: users/admin.py:106
 msgid "Bans"
 msgstr "Bannis"
 
+#: users/admin.py:115
+msgid "Data downloads"
+msgstr ""
+
 #: users/api/auth.py:100
 #, python-format
 msgid "Activate %(user)s account on %(forum_name)s forums"
 msgstr "Activer  %(user)s  sur les forums  %(forum_name)s "
 
-#: users/api/auth.py:139
+#: users/api/auth.py:138
 #, python-format
 msgid "Change %(user)s password on %(forum_name)s forums"
 msgstr ""
 "Changer les mots de passe de  %(user)s  sur les forums  %(forum_name)s "
 
-#: users/api/auth.py:180
+#: users/api/auth.py:178
 msgid "Form link is invalid. Please try again."
 msgstr "Le lien associé à ce formulaire est non valide. Veuillez réessayer."
 
-#: users/api/auth.py:181
+#: users/api/auth.py:179
 msgid "Your link has expired. Please request new one."
 msgstr "votre lien a expiré. veuillez en demander un nouveau."
 
@@ -5338,16 +5645,16 @@ msgstr ""
 msgid "Confirm password change on %(forum_name)s forums"
 msgstr "Confirmer le changement de mot de passe sur  %(forum_name)s forums"
 
-#: users/api/userendpoints/changepassword.py:31
+#: users/api/userendpoints/changepassword.py:32
 msgid "Password change confirmation link was sent to your address."
 msgstr ""
 "Un lien permettant de changer de mot de passe a été envoyé à votre adresse."
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:25
 msgid "New users registrations are currently closed."
 msgstr "Les inscriptions sont closes."
 
-#: users/api/userendpoints/create.py:53 users/social/pipeline.py:205
+#: users/api/userendpoints/create.py:61 users/social/pipeline.py:215
 msgid "Please try resubmitting the form."
 msgstr "Veuillez resoumettre le formulaire."
 
@@ -5375,38 +5682,54 @@ msgid "You don't have permission to see other users name history."
 msgstr ""
 "Vous n'avez pas le droit d'accéder à l'historique des autres utilisateurs."
 
-#: users/api/users.py:54
+#: users/api/users.py:57
 msgid "You have to sign in to perform this action."
 msgstr "Vous devez vous identifier pour réaliser cette action."
 
-#: users/api/users.py:100
+#: users/api/users.py:103
 msgid "You can't change other users avatars."
 msgstr "Vous ne pouvez modifier les avatars des autres utilisateurs."
 
-#: users/api/users.py:107
+#: users/api/users.py:110
 msgid "You can't change other users options."
 msgstr "Vous ne pouvez modifier les options des autres utilisateurs."
 
-#: users/api/users.py:112
+#: users/api/users.py:115
 msgid "Your forum options have been changed."
 msgstr "Les options de votre forum ont été modifiées."
 
-#: users/api/users.py:119
+#: users/api/users.py:122
 msgid "You can't change other users names."
 msgstr "Vous ne pouvez modifier les noms des autres utilisateurs."
 
-#: users/api/users.py:126
+#: users/api/users.py:129
 msgid "You can't change other users signatures."
 msgstr "Vous ne pouvez modifier les identifiants des autres utilisateurs."
 
-#: users/api/users.py:133
+#: users/api/users.py:136
 msgid "You can't change other users passwords."
 msgstr "Vous ne pouvez modifier les mots de passe des autres utilisateurs."
 
-#: users/api/users.py:140
+#: users/api/users.py:143
 msgid "You can't change other users e-mail addresses."
 msgstr "Vous ne pouvez modifier les courriels des autres utilisateurs."
 
+#: users/api/users.py:225
+msgid "You can't request data downloads for other users."
+msgstr ""
+
+#: users/api/users.py:228
+msgid "You can't download your data."
+msgstr ""
+
+#: users/api/users.py:232
+msgid "You can't have more than one data download request at single time."
+msgstr ""
+
+#: users/api/users.py:278
+msgid "You can't see other users data downloads."
+msgstr ""
+
 #: users/apps.py:30
 msgid "Edit details"
 msgstr "Modifier les détails"
@@ -5419,11 +5742,11 @@ msgstr "Changer de nom d'utilisateur"
 msgid "Change email or password"
 msgstr "Changer le courriel ou le mot de passe"
 
-#: users/apps.py:50
+#: users/apps.py:58
 msgid "Delete account"
 msgstr ""
 
-#: users/apps.py:59
+#: users/apps.py:67
 msgid "Active poster"
 msgstr ""
 
@@ -5483,27 +5806,27 @@ msgid "Edit the user from Misago admin panel"
 msgstr ""
 "Modifier l'utilisateur depuis le tableau de bord d'administration Misago"
 
-#: users/forms/admin.py:21 users/models/ban.py:74
+#: users/forms/admin.py:23 users/models/ban.py:74 users/signals.py:29
 msgid "Username"
 msgstr "Nom d'utilisateur"
 
-#: users/forms/admin.py:22
+#: users/forms/admin.py:24
 msgid "Custom title"
 msgstr "Titre personnalisé"
 
-#: users/forms/admin.py:23 users/models/ban.py:75
+#: users/forms/admin.py:25 users/models/ban.py:75
 msgid "E-mail address"
 msgstr "Courriel"
 
-#: users/forms/admin.py:52
+#: users/forms/admin.py:54
 msgid "All registered members must have \"Member\" role."
 msgstr "Tous les membres enregistrés doivent avoir un rôle de « Membre »."
 
-#: users/forms/admin.py:71
+#: users/forms/admin.py:73
 msgid "Is administrator"
 msgstr "Est administrateur"
 
-#: users/forms/admin.py:73
+#: users/forms/admin.py:75
 msgid ""
 "Designates whether the user can log into admin sites. If Django admin site "
 "is enabled, this user will need additional permissions assigned within it to"
@@ -5513,11 +5836,11 @@ msgstr ""
 "site d'administration de Django est activé, cet utilisateur aura besoin "
 "d'autorisations supplémentaires pour administrer les modules Django."
 
-#: users/forms/admin.py:79
+#: users/forms/admin.py:81
 msgid "Is superuser"
 msgstr "Est super utilisateur"
 
-#: users/forms/admin.py:81
+#: users/forms/admin.py:83
 msgid ""
 "Only administrators can access admin sites. In addition to admin site "
 "access, superadmins can also change other members admin levels."
@@ -5526,11 +5849,11 @@ msgstr ""
 "plus de l'accès au site administrateur, les superadministrateurs peuvent "
 "aussi modifier les niveaux administrateurs des autres membres."
 
-#: users/forms/admin.py:86
+#: users/forms/admin.py:88
 msgid "Is active"
 msgstr "Est actif"
 
-#: users/forms/admin.py:88
+#: users/forms/admin.py:90
 msgid ""
 "Designates whether this user should be treated as active. Turning this off "
 "is non-destructible way to remove user accounts."
@@ -5538,11 +5861,11 @@ msgstr ""
 "indique si cet utilisateur doit être considéré comme actif. Désactiver cette"
 " option est un moyen non destructif de supprimer les comptes utilisateurs."
 
-#: users/forms/admin.py:92 users/forms/admin.py:123 users/forms/admin.py:151
+#: users/forms/admin.py:94 users/forms/admin.py:125 users/forms/admin.py:153
 msgid "Staff message"
 msgstr "Message du staff"
 
-#: users/forms/admin.py:94
+#: users/forms/admin.py:96
 msgid ""
 "Optional message for forum team members explaining why user's account has "
 "been disabled."
@@ -5550,15 +5873,15 @@ msgstr ""
 "Message optionnel destiné aux membres de l'équipe du forum afin d'expliquer "
 "pourquoi le compte d'un utilisateur a été désactivé."
 
-#: users/forms/admin.py:99
+#: users/forms/admin.py:101
 msgid "Change password to"
 msgstr "Changer le mot de passe par"
 
-#: users/forms/admin.py:106
+#: users/forms/admin.py:108
 msgid "Lock avatar"
 msgstr "Verrouiller l'avatar"
 
-#: users/forms/admin.py:108
+#: users/forms/admin.py:110
 msgid ""
 "Setting this to yes will stop user from changing his/her avatar, and will "
 "reset his/her avatar to procedurally generated one."
@@ -5566,12 +5889,12 @@ msgstr ""
 "Activer cette option empêchera l'utilisateur de changer son avatar et va "
 "générer un nouvel avatar selon la procédure"
 
-#: users/forms/admin.py:114 users/forms/admin.py:145 users/forms/admin.py:473
-#: users/forms/admin.py:526
+#: users/forms/admin.py:116 users/forms/admin.py:147 users/forms/admin.py:468
+#: users/forms/admin.py:540
 msgid "User message"
 msgstr "Message de l'utilisateur"
 
-#: users/forms/admin.py:116
+#: users/forms/admin.py:118
 msgid ""
 "Optional message for user explaining why he/she is banned form changing "
 "avatar."
@@ -5579,7 +5902,7 @@ msgstr ""
 "Message optionnel à l'attention d'un utilisateur pour lui expliquer pourquoi"
 " il ou elle a été empêche de changer d'avatar"
 
-#: users/forms/admin.py:125
+#: users/forms/admin.py:127
 msgid ""
 "Optional message for forum team members explaining why user is banned form "
 "changing avatar."
@@ -5587,56 +5910,56 @@ msgstr ""
 "Message optionnel destiné aux membres de l'équipe du forum afin d'expliquer "
 "pourquoi il a été interdit à un utilisateur de modifier son avatar."
 
-#: users/forms/admin.py:133
+#: users/forms/admin.py:135
 msgid "Signature contents"
 msgstr ""
 "Indique si cet utilisateur doit être considéré comme actif. Désactiver cette"
 " option est un moyen non destructif de supprimer les comptes utilisateurs."
 
-#: users/forms/admin.py:138
+#: users/forms/admin.py:140
 msgid "Lock signature"
 msgstr "Verrouiller la signature"
 
-#: users/forms/admin.py:140
+#: users/forms/admin.py:142
 msgid ""
 "Setting this to yes will stop user from making changes to his/her signature."
 msgstr ""
 "Attribuer la valeur oui à ce paramètre empêchera un utilisateur de modifier "
 "son identifiant. "
 
-#: users/forms/admin.py:146
+#: users/forms/admin.py:148
 msgid "Optional message to user explaining why his/hers signature is locked."
 msgstr ""
 "Message optionnel destiné à l'utilisateur pour lui expliquer pourquoi son "
 "identifiant est verrouillé."
 
-#: users/forms/admin.py:152
+#: users/forms/admin.py:154
 msgid ""
 "Optional message to team members explaining why user signature is locked."
 msgstr ""
 "Message optionnel à l'attention des membres de l'équipe afin d'expliquer à "
 "l'utilisateur pourquoi son identifiant est verrouillé."
 
-#: users/forms/admin.py:157
+#: users/forms/admin.py:159
 msgid "Hides presence"
 msgstr "Cache la présence"
 
-#: users/forms/admin.py:160
+#: users/forms/admin.py:162
 msgid "Who can add user to private threads"
 msgstr "Qui peut ajouter des utilisateurs à des fils de discussion privés"
 
-#: users/forms/admin.py:169
+#: users/forms/admin.py:171
 msgid "Replid threads"
 msgstr "Fils de discussion pour lesquels il existe des réponses"
 
-#: users/forms/admin.py:219 users/serializers/moderation.py:42
+#: users/forms/admin.py:221 users/serializers/moderation.py:42
 #, python-format
 msgid "Signature can't be longer than %(limit)s character."
 msgid_plural "Signature can't be longer than %(limit)s characters."
 msgstr[0] "La signature peut comporter au plus %(limit)s caractère."
 msgstr[1] "La signature peut comporter au plus %(limit)s caractères."
 
-#: users/forms/admin.py:238
+#: users/forms/admin.py:240
 msgid ""
 "Ranks are used to group and distinguish users. They are also used to add "
 "permissions to groups of users."
@@ -5645,61 +5968,61 @@ msgstr ""
 "utilisateurs. Ils sont également utilisés pour donner des droits à des "
 "groupes d'utilisateurs."
 
-#: users/forms/admin.py:248
+#: users/forms/admin.py:250
 msgid "Roles"
 msgstr "Rôles"
 
-#: users/forms/admin.py:249
+#: users/forms/admin.py:251
 msgid "Individual roles of this user. All users must have \"member\" role."
 msgstr ""
 "Les rôles individuels de cet utilisateur. Tous les utilisateurs doivent "
 "avoir un rôle de « membre »."
 
-#: users/forms/admin.py:307
+#: users/forms/admin.py:309
 msgid "Username starts with"
 msgstr "Nom d'utilisateur commençant par"
 
-#: users/forms/admin.py:308
+#: users/forms/admin.py:310
 msgid "E-mail starts with"
 msgstr "Courriel commençant par"
 
-#: users/forms/admin.py:309
+#: users/forms/admin.py:311
 msgid "Profile fields contain"
 msgstr "Les champs de profil contiennent"
 
-#: users/forms/admin.py:310
+#: users/forms/admin.py:312
 msgid "Inactive only"
 msgstr "Inactifs uniquement"
 
-#: users/forms/admin.py:311
+#: users/forms/admin.py:313
 msgid "Disabled only"
 msgstr "Désactivés uniquement"
 
-#: users/forms/admin.py:312
+#: users/forms/admin.py:314
 msgid "Admins only"
 msgstr "Administrateurs uniquement"
 
-#: users/forms/admin.py:313
+#: users/forms/admin.py:315
 msgid "Deleting their accounts"
 msgstr ""
 
-#: users/forms/admin.py:355
+#: users/forms/admin.py:357
 msgid "All ranks"
 msgstr "Tous les rangs"
 
-#: users/forms/admin.py:362
+#: users/forms/admin.py:364
 msgid "All roles"
 msgstr "Tous les rôles"
 
-#: users/forms/admin.py:369
+#: users/forms/admin.py:371
 msgid "Has rank"
 msgstr "A un rang"
 
-#: users/forms/admin.py:375
+#: users/forms/admin.py:377
 msgid "Has role"
 msgstr "A un rôle"
 
-#: users/forms/admin.py:391
+#: users/forms/admin.py:393
 msgid ""
 "Short and descriptive name of all users with this rank. \"The Team\" or "
 "\"Game Masters\" are good examples."
@@ -5707,11 +6030,11 @@ msgstr ""
 "Nom court et descriptif de tous les utilisateurs avec ce rang. « L'équipe » "
 "ou  « les maîtres du jeux » sont de bons exemples."
 
-#: users/forms/admin.py:396
+#: users/forms/admin.py:398
 msgid "User title"
 msgstr "Titre d'un utilisateur"
 
-#: users/forms/admin.py:399
+#: users/forms/admin.py:401
 msgid ""
 "Optional, singular version of rank name displayed by user names. For example"
 " \"GM\" or \"Dev\"."
@@ -5719,7 +6042,7 @@ msgstr ""
 "Version unique et optionnelle du rang affiché par les noms utilisateurs. Par"
 " exemple « GM » OU « Dev »."
 
-#: users/forms/admin.py:409
+#: users/forms/admin.py:411
 msgid ""
 "Optional description explaining function or status of members distincted "
 "with this rank."
@@ -5727,22 +6050,22 @@ msgstr ""
 "Description optionnelle expliquant la fonction ou le statut des membres "
 "distingués par ce rang."
 
-#: users/forms/admin.py:418
+#: users/forms/admin.py:420
 msgid "Rank can give additional roles to users with it."
 msgstr ""
 "Les rangs peuvent conférer des rôles supplémentaires aux utilisateurs."
 
-#: users/forms/admin.py:423
+#: users/forms/admin.py:425
 msgid "Optional css class added to content belonging to this rank owner."
 msgstr ""
 "La classe CSS optionnelle est ajoutée au contenu possédé par le propriétaire"
 " de ce rang."
 
-#: users/forms/admin.py:426
+#: users/forms/admin.py:428
 msgid "Give rank dedicated tab on users list"
 msgstr "Attribuer un onglet dédié aux rangs à la liste des utilisateurs"
 
-#: users/forms/admin.py:429
+#: users/forms/admin.py:431
 msgid ""
 "Selecting this option will make users with this rank easily discoverable by "
 "others through dedicated page on forum users list."
@@ -5751,73 +6074,73 @@ msgstr ""
 "plus facilement détectable par les autres via une page dédiée sur le forum à"
 " la liste des utilisateurs."
 
-#: users/forms/admin.py:454
+#: users/forms/admin.py:456
 msgid "This name collides with other rank."
 msgstr "Ce nom est redondant avec un autre rang."
 
-#: users/forms/admin.py:461
+#: users/forms/admin.py:463
 msgid "Values to ban"
 msgstr "Valeurs à bannir."
 
-#: users/forms/admin.py:464 users/forms/admin.py:579
-msgid "Usernames"
-msgstr "Noms d'utilisateurs"
-
-#: users/forms/admin.py:465 users/forms/admin.py:580
-msgid "E-mails"
-msgstr "Courriels"
-
-#: users/forms/admin.py:466
-msgid "E-mail domains"
-msgstr "Domaines des courriels"
-
-#: users/forms/admin.py:467
-msgid "IP addresses"
-msgstr "Adresses IP"
-
-#: users/forms/admin.py:468
-msgid "First segment of IP addresses"
-msgstr "Le premier segment des adresses IP"
-
-#: users/forms/admin.py:469
-msgid "First two segments of IP addresses"
-msgstr "Les deux premiers segments des adresses IP"
-
-#: users/forms/admin.py:476
+#: users/forms/admin.py:471
 msgid "Optional message displayed to users instead of default one."
 msgstr ""
 "Message optionnel adressé aux utilisateurs à la place d'un message par "
 "défaut."
 
-#: users/forms/admin.py:479 users/forms/admin.py:489 users/forms/admin.py:532
-#: users/forms/admin.py:542
+#: users/forms/admin.py:474 users/forms/admin.py:484 users/forms/admin.py:546
+#: users/forms/admin.py:556
 msgid "Message can't be longer than 1000 characters."
 msgstr "La longueur du message ne doit pas excéder 1000 caractères."
 
-#: users/forms/admin.py:483 users/forms/admin.py:536
+#: users/forms/admin.py:478 users/forms/admin.py:550
 msgid "Team message"
 msgstr "Message de l'équipe"
 
-#: users/forms/admin.py:486 users/forms/admin.py:539
+#: users/forms/admin.py:481 users/forms/admin.py:553
 msgid "Optional ban message for moderators and administrators."
 msgstr ""
 "Message optionnel d'interdiction pour les modérateurs et administrateurs."
 
-#: users/forms/admin.py:495
+#: users/forms/admin.py:490
 msgid "Leave this field empty for set bans to never expire."
 msgstr ""
 "Laisser ce champ vide pour établir des interdictions qui n'expireront "
 "jamais."
 
+#: users/forms/admin.py:499 users/forms/admin.py:593
+msgid "Usernames"
+msgstr "Noms d'utilisateurs"
+
+#: users/forms/admin.py:500 users/forms/admin.py:594
+msgid "E-mails"
+msgstr "Courriels"
+
 #: users/forms/admin.py:501
+msgid "E-mail domains"
+msgstr "Domaines des courriels"
+
+#: users/forms/admin.py:507
+msgid "IP addresses"
+msgstr "Adresses IP"
+
+#: users/forms/admin.py:508
+msgid "First segment of IP addresses"
+msgstr "Le premier segment des adresses IP"
+
+#: users/forms/admin.py:509
+msgid "First two segments of IP addresses"
+msgstr "Les deux premiers segments des adresses IP"
+
+#: users/forms/admin.py:515
 msgid "Check type"
 msgstr "Vérifier le type"
 
-#: users/forms/admin.py:506
+#: users/forms/admin.py:520
 msgid "Restrict this ban to registrations"
 msgstr "Restreindre cette interdiction aux enregistrements"
 
-#: users/forms/admin.py:508
+#: users/forms/admin.py:522
 msgid ""
 "Changing this to yes will make this ban check be only performed on "
 "registration step. This is good if you want to block certain registrations "
@@ -5829,11 +6152,11 @@ msgstr ""
 "bloquer certains enregistrements en particulier ceux provenant de courriels "
 "récemment compromis,  sans nuire aux utilisateurs existants. "
 
-#: users/forms/admin.py:514
+#: users/forms/admin.py:528
 msgid "Banned value"
 msgstr "Valeur interdite"
 
-#: users/forms/admin.py:517
+#: users/forms/admin.py:531
 msgid ""
 "This value is case-insensitive and accepts asterisk (*) for rought matches. "
 "For example, making IP ban for value \"83.*\" will ban all IP addresses "
@@ -5843,55 +6166,78 @@ msgstr ""
 "résultats bruts. Par exemple, interdire IP pour la valeur « 83.* » interdira"
 " toutes les adresses IP commençant par « 83. »."
 
-#: users/forms/admin.py:522
+#: users/forms/admin.py:536
 msgid "Banned value can't be longer than 250 characters."
 msgstr ""
 "Une valeur interdite ne peut être de taille supérieure à 250 caractères."
 
-#: users/forms/admin.py:529
+#: users/forms/admin.py:543
 msgid "Optional message displayed to user instead of default one."
 msgstr ""
 "Message optionnel adressé aux utilisateurs à la place d'un message par "
 "défaut."
 
-#: users/forms/admin.py:548
+#: users/forms/admin.py:562
 msgid "Leave this field empty for this ban to never expire."
 msgstr ""
 "Laisser ce champ vide de façon à ce que cette interdiction ne se termine "
 "jamais."
 
-#: users/forms/admin.py:568
+#: users/forms/admin.py:582
 msgid "Banned value is too vague."
 msgstr "La valeur interdite est trop imprécise."
 
-#: users/forms/admin.py:578
+#: users/forms/admin.py:592
 msgid "All bans"
 msgstr "Toutes les interdictions."
 
-#: users/forms/admin.py:581
+#: users/forms/admin.py:595
 msgid "IPs"
 msgstr "Les IPs"
 
-#: users/forms/admin.py:584
+#: users/forms/admin.py:598
 msgid "Banned value begins with"
 msgstr "Une valeur interdite commence par "
 
-#: users/forms/admin.py:586
+#: users/forms/admin.py:600
 msgid "Registration only"
 msgstr "Enregistrement uniquement"
 
-#: users/forms/admin.py:589 users/forms/admin.py:598
+#: users/forms/admin.py:603 users/forms/admin.py:612
 msgid "Any"
 msgstr "N'importe lequel"
 
-#: users/forms/admin.py:599
+#: users/forms/admin.py:613
 msgid "Active"
 msgstr "Actif"
 
-#: users/forms/admin.py:600
+#: users/forms/admin.py:614 users/models/datadownload.py:26
 msgid "Expired"
 msgstr "Expiré"
 
+#: users/forms/admin.py:649
+msgid "Usernames or emails"
+msgstr ""
+
+#: users/forms/admin.py:651
+msgid ""
+"Enter every item in new line. Duplicates will be ignored. This field is case"
+" insensitive. Depending on site configuration and amount of data to archive "
+"it may take up to few days for requests to complete. E-mail will "
+"notification will be sent to every user once their download is ready."
+msgstr ""
+
+#: users/forms/admin.py:667
+#, python-format
+msgid ""
+"You may not enter more than 20 items at single time (You have entered "
+"%(show_value)s)."
+msgstr ""
+
+#: users/forms/admin.py:684
+msgid "One or more specified users could not be found."
+msgstr ""
+
 #: users/forms/auth.py:16
 msgid "Fill out both fields."
 msgstr "Remplissez les deux champs."
@@ -5952,20 +6298,29 @@ msgstr ""
 "Un administrateur doit d'abord activer votre compte pour que vous puissiez "
 "demander un nouveau mot de passe"
 
-#: users/forms/register.py:27
+#: users/forms/register.py:34
 msgid "This usernane is not allowed."
 msgstr "Ce nom d'utilisateur n'est pas autorisé."
 
-#: users/forms/register.py:38 users/validators.py:41
+#: users/forms/register.py:45 users/validators.py:41
 msgid "This e-mail address is not allowed."
 msgstr "Ce courriel n'est pas autorisé."
 
-#: users/forms/register.py:47
+#: users/forms/register.py:51
+msgid "This agreement is required."
+msgstr ""
+
+#: users/forms/register.py:60
 msgid "New registrations from this IP address are not allowed."
 msgstr ""
 "De nouveaux enregistrements provenant de cette adresse IP ne sont pas "
 "autorisés."
 
+#: users/management/commands/prepareuserdatadownloads.py:34
+#, python-format
+msgid "%(user)s, your data download is ready"
+msgstr ""
+
 #: users/migrations/0002_users_settings.py:18
 #: users/migrations/0006_update_settings.py:19
 msgid ""
@@ -6203,7 +6558,7 @@ msgstr ""
 "affectées par la casse."
 
 #: users/migrations/0004_default_ranks.py:17
-#: users/migrations/0004_default_ranks.py:18 users/models/user.py:111
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:113
 msgid "Forum team"
 msgstr "Équipe du forum"
 
@@ -6216,48 +6571,60 @@ msgstr "Équipe "
 msgid "Members"
 msgstr "Membres"
 
-#: users/models/user.py:37
+#: users/models/datadownload.py:23
+msgid "Pending"
+msgstr ""
+
+#: users/models/datadownload.py:24
+msgid "Processing"
+msgstr ""
+
+#: users/models/datadownload.py:25
+msgid "Ready"
+msgstr ""
+
+#: users/models/user.py:38
 msgid "User must have an email address."
 msgstr "L'utilisateur doit avoir un courriel."
 
-#: users/models/user.py:146
+#: users/models/user.py:148
 msgid "Notify"
 msgstr "Notifier"
 
-#: users/models/user.py:147
+#: users/models/user.py:149
 msgid "Notify with e-mail"
 msgstr "Notifier par courriel"
 
-#: users/models/user.py:155
+#: users/models/user.py:157
 msgid "Everybody"
 msgstr "Tout le monde"
 
-#: users/models/user.py:156
+#: users/models/user.py:158
 msgid "Users I follow"
 msgstr "Utilisateurs que je suis"
 
-#: users/models/user.py:157
+#: users/models/user.py:159
 msgid "Nobody"
 msgstr "Personne"
 
-#: users/models/user.py:175
+#: users/models/user.py:177
 msgid "joined on"
 msgstr "inscrit le"
 
-#: users/models/user.py:190
+#: users/models/user.py:191
 msgid "staff status"
 msgstr "Statut du staff"
 
-#: users/models/user.py:192
+#: users/models/user.py:193
 msgid "Designates whether the user can log into admin sites."
 msgstr ""
 "Indique si l'utilisateur peut se connecter sur les sites d'administration."
 
-#: users/models/user.py:199
+#: users/models/user.py:200
 msgid "active"
 msgstr "Actif"
 
-#: users/models/user.py:203
+#: users/models/user.py:204
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
@@ -6646,11 +7013,7 @@ msgstr "Ceci n'est pas un pseudo twitter valide."
 msgid "Join IP"
 msgstr "IP d'inscription"
 
-#: users/profilefields/default.py:99
-msgid "Last IP"
-msgstr "Dernière IP"
-
-#: users/registration.py:9
+#: users/registration.py:11
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgstr "Bienvenue sur le forum %(forum_name)s !"
@@ -6692,14 +7055,30 @@ msgstr "Vous devez entrer un nouveau courriel."
 msgid "New e-mail is same as current one."
 msgstr "La nouveau courriel est le même que l'actuel."
 
-#: users/social/pipeline.py:74
+#: users/signals.py:31
+msgid "Joined on"
+msgstr ""
+
+#: users/signals.py:32
+msgid "Joined from ip"
+msgstr ""
+
+#: users/signals.py:72
+msgid "New username"
+msgstr ""
+
+#: users/signals.py:73
+msgid "Old username"
+msgstr ""
+
+#: users/social/pipeline.py:77
 #, python-format
 msgid ""
 "The e-mail address associated with your %(backend)s account is not available"
 " for use on this site."
 msgstr ""
 
-#: users/social/pipeline.py:83
+#: users/social/pipeline.py:86
 #, python-format
 msgid ""
 "Your account has to be activated by site administrator before you will be "
@@ -6805,6 +7184,42 @@ msgstr "Le bannissement « %(name)s » a été modifié."
 msgid "Ban \"%(name)s\" has been removed."
 msgstr "L'interdiction \"%(name)s\" a été levée."
 
+#: users/views/admin/datadownloads.py:23
+msgid "With data downloads: 0"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:24
+msgid "Select data downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:28
+msgid "Expire downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:30
+msgid "Are you sure you want to set selected data downloads as expired?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:34
+msgid "Delete downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:36
+msgid "Are you sure you want to delete selected data downloads?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:51
+msgid "Selected data downloads have been set as expired."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:57
+msgid "Selected data downloads have been deleted."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:68
+msgid "Data downloads have been requested for specified users."
+msgstr ""
+
 #: users/views/admin/ranks.py:16
 msgid "Requested rank does not exist."
 msgstr "Le rang demandé n'existe pas."
@@ -6856,39 +7271,43 @@ msgstr "Le rang « %(name)s » est déjà le rang par défaut."
 msgid "Rank \"%(name)s\" has been made default."
 msgstr "Le rang « %(name)s » a été défini comme rang par défaut."
 
-#: users/views/admin/users.py:59
+#: users/views/admin/users.py:60
 msgid "Biggest posters"
 msgstr "Intervenants les plus actifs"
 
-#: users/views/admin/users.py:60
+#: users/views/admin/users.py:61
 msgid "Smallest posters"
 msgstr "intervenants les moins actifs"
 
-#: users/views/admin/users.py:62
+#: users/views/admin/users.py:63
 msgid "With users: 0"
 msgstr "Avec des utilisateurs : 0"
 
-#: users/views/admin/users.py:63
+#: users/views/admin/users.py:64
 msgid "Select users"
 msgstr "Sélectionner des utilisateurs "
 
-#: users/views/admin/users.py:67
+#: users/views/admin/users.py:68
 msgid "Activate accounts"
 msgstr "Activer des comptes"
 
-#: users/views/admin/users.py:77
+#: users/views/admin/users.py:78
+msgid "Request data download"
+msgstr ""
+
+#: users/views/admin/users.py:83
 msgid "Delete accounts"
 msgstr "Supprimer des comptes"
 
-#: users/views/admin/users.py:79
+#: users/views/admin/users.py:85
 msgid "Are you sure you want to delete selected users?"
 msgstr "Etes vous certain de supprimer les utilisateurs sélectionnés ?"
 
-#: users/views/admin/users.py:83
+#: users/views/admin/users.py:89
 msgid "Delete all"
 msgstr "Supprimer tout"
 
-#: users/views/admin/users.py:86
+#: users/views/admin/users.py:92
 msgid ""
 "Are you sure you want to delete selected users? This will also delete all "
 "content associated with their accounts."
@@ -6896,54 +7315,58 @@ msgstr ""
 "Etes vous certain de vouloir supprimer les utilisateurs sélectionnés ? Cela "
 "supprimera également tous les contenus associés à leurs comptes."
 
-#: users/views/admin/users.py:107
+#: users/views/admin/users.py:113
 msgid "You have to select inactive users."
 msgstr "Vous devez sélectionner des utilisateurs inactifs."
 
-#: users/views/admin/users.py:114
+#: users/views/admin/users.py:120
 #, python-format
 msgid "Your account on %(forum_name)s forums has been activated"
 msgstr "Votre compte sur le forum %(forum_name)s a été activé."
 
-#: users/views/admin/users.py:119
+#: users/views/admin/users.py:125
 msgid "Selected users accounts have been activated."
 msgstr "Les comptes des utilisateurs sélectionnés ont été activés."
 
-#: users/views/admin/users.py:125
+#: users/views/admin/users.py:131
 #, python-format
 msgid "%(user)s is super admin and can't be banned."
 msgstr "%(user)s est un super administrateur et ne peut être banni."
 
-#: users/views/admin/users.py:186
+#: users/views/admin/users.py:194
 msgid "Selected users have been banned."
 msgstr "Les utilisateurs sélectionnés ont été bannis."
 
-#: users/views/admin/users.py:201 users/views/admin/users.py:215
-#: users/views/admin/users.py:331
+#: users/views/admin/users.py:212
+msgid "Data download requests have been placed for selected users."
+msgstr ""
+
+#: users/views/admin/users.py:217 users/views/admin/users.py:230
+#: users/views/admin/users.py:346
 msgid "You can't delete yourself."
 msgstr "Vous ne pouvez supprimer votre compte."
 
-#: users/views/admin/users.py:203 users/views/admin/users.py:217
-#: users/views/admin/users.py:334
+#: users/views/admin/users.py:219 users/views/admin/users.py:232
+#: users/views/admin/users.py:349
 #, python-format
 msgid "%(user)s is admin and can't be deleted."
 msgstr "%(user)s est administrateur et ne peut être supprimé."
 
-#: users/views/admin/users.py:209
+#: users/views/admin/users.py:225
 msgid "Selected users have been deleted."
 msgstr "Les utilisateurs sélectionnés ont été supprimés."
 
-#: users/views/admin/users.py:232
+#: users/views/admin/users.py:247
 #, python-format
 msgid "New user \"%(user)s\" has been registered."
 msgstr "Le nouvel utilisateur « %(user)s » a été enregistré."
 
-#: users/views/admin/users.py:261
+#: users/views/admin/users.py:276
 #, python-format
 msgid "User \"%(user)s\" has been edited."
 msgstr "L'utilisateur « %(user)s » a été modifié."
 
-#: users/views/admin/users.py:328
+#: users/views/admin/users.py:343
 msgid "This action can't be accessed directly."
 msgstr "Il n'est pas possible de réaliser cette action directement."
 

BIN
misago/locale/fr/LC_MESSAGES/djangojs.mo


+ 285 - 207
misago/locale/fr/LC_MESSAGES/djangojs.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-20 21:20+0200\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Amandine G <amandyfriendly@msn.com>, 2017\n"
 "Language-Team: French (https://www.transifex.com/misago/teams/65369/fr/)\n"
@@ -39,8 +39,30 @@ msgid "Promise can't be resolved itself"
 msgstr ""
 
 #: static/misago/js/misago.js:1
-msgid "By registering you agree to site's terms and conditions."
-msgstr "En vous enregistrant, vous acceptez les termes et conditions du site."
+msgid "the terms of service"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "the privacy policy"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "I have read and accept %(agreement)s."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid ""
+"Declining will result in immediate deactivation and deletion of your "
+"account. This action is not reversible."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Decline"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Accept and continue"
+msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
@@ -48,11 +70,12 @@ msgstr "En vous enregistrant, vous acceptez les termes et conditions du site."
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:12
 #: static/misago/js/misago.js:13 static/misago/js/misago.js:14
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Close"
 msgstr "Fermer"
 
-#: static/misago/js/misago.js:1 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:1 static/misago/js/misago.js:6
 msgid "Add participant"
 msgstr "Ajouter un participant"
 
@@ -70,9 +93,10 @@ msgstr "Utilisateur à ajouter"
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:6 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:6 static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Cancel"
 msgstr "Annuler"
 
@@ -204,8 +228,8 @@ msgid "Generate my individual avatar"
 msgstr "Générer mon avatar personnel"
 
 #: static/misago/js/misago.js:2 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "Ok"
 msgstr "Ok"
 
@@ -274,40 +298,40 @@ msgstr "Déposer le code"
 msgid "Emphase selection"
 msgstr "Accentuer la selection"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert horizontal ruler"
 msgstr "Insérer une barre horizontale"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link to image"
 msgstr "Lien vers une image"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter image label (optional)"
 msgstr "Donnez un nom à l'image (facultatif)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert image"
 msgstr "Insérer une image"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link address"
 msgstr "Adresse du lien"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link label (optional)"
 msgstr "Étiquette pour le lien (facultatif)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert link"
 msgstr "Insérer un lien"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter quote autor, prefix usernames with @"
 msgstr ""
 "Pour citer un utilisateur, précéder son nom d'utilisateur du caractère @"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert quote"
 msgstr "Insérer une citation"
 
@@ -339,7 +363,7 @@ msgstr "Annuler la suppression"
 msgid "Error uploading %(filename)s"
 msgstr "Erreur pendant le télédépôt de %(filename)s"
 
-#: static/misago/js/misago.js:3 static/misago/js/misago.js:8
+#: static/misago/js/misago.js:3 static/misago/js/misago.js:9
 msgid "Dismiss"
 msgstr "Rejeter"
 
@@ -356,7 +380,7 @@ msgid "Protected"
 msgstr "Protégé"
 
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Protect"
 msgstr "Protéger"
 
@@ -391,7 +415,7 @@ msgid ""
 " deleted during the merge."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:18
 msgid "Poll"
 msgstr "Sondage"
 
@@ -406,6 +430,7 @@ msgid "Are you sure you want to delete all polls?"
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Merge threads"
 msgstr "Fusionner les fils"
 
@@ -431,8 +456,7 @@ msgstr "Posté par %(poster)s le %(posted_on)s dans %(category)s."
 msgid "%(title)s, joined on %(joined_on)s"
 msgstr "%(title)s, membre depuis le %(joined_on)s"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "Change username"
 msgstr "Changer de nom d'utilisateur"
 
@@ -474,7 +498,7 @@ msgstr[1] ""
 msgid "Your new username is same as current one."
 msgstr "Votre nouveau nom d'utilisateur est identique a l'actuel."
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "New username"
 msgstr "Nouveau nom d'utilisateur"
 
@@ -483,15 +507,15 @@ msgid "Your username has been changed successfully."
 msgstr "Votre nom d'utilisateur a bien été changé."
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change your options"
 msgstr "Changer vos options"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5
 msgid "Enter your password to confirm account deletion."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:13
 msgid "Delete account"
 msgstr "Supprimer le compte"
 
@@ -527,7 +551,54 @@ msgstr ""
 msgid "Delete my account"
 msgstr ""
 
-#: static/misago/js/misago.js:5 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:5
+msgid "Your request for data download has been registered."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download your data"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"To download your data from the site, click the \"Request data download\" "
+"button. Depending on amount of data to be archived and number of users "
+"wanting to download their data at same time it may take up to few days for "
+"your download to be prepared. An e-mail with notification will be sent to "
+"you when your data is ready to be downloaded."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"The download will only be available for limited amount of time, after which "
+"it will be deleted from the site and marked as expired."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Requested on"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "You have no data downloads."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Request data download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is being prepared"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is expired"
+msgstr ""
+
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:12
 msgid "Your details have been updated."
 msgstr "Vos informations ont été mises à jour."
 
@@ -612,7 +683,7 @@ msgstr "Fils que je démarre"
 msgid "Threads I reply to"
 msgstr "Fils auxquels je réponds"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:6
 msgid "Change email or password"
 msgstr "Changer l'email ou le mot de passe"
 
@@ -662,7 +733,7 @@ msgstr "Nouveau mot de passe"
 msgid "Repeat password"
 msgstr "Répéter le mot de passe"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change forgotten password"
 msgstr "Changer le mot de passe oublié"
 
@@ -851,21 +922,21 @@ msgid_plural "%(votes)s votes."
 msgstr[0] "%(votes)s vote."
 msgstr[1] "%(votes)s votes."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Votes are public."
 msgstr "Les votes sont publics."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s vote, %(proc)s% of total."
 msgid_plural "%(votes)s votes, %(proc)s% of total."
 msgstr[0] "%(votes)s vote, %(proc)s% du total."
 msgstr[1] "%(votes)s votes, %(proc)s% du total."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Your choice."
 msgstr "Votre choix."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s user has voted for this choice."
 msgid_plural "%(votes)s users have voted for this choice."
 msgstr[0] "%(votes)s utilisateur a voté pour ce choix."
@@ -883,9 +954,8 @@ msgstr "Vote"
 msgid "See votes"
 msgstr "Voir les votes"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:15
 msgid "Edit"
 msgstr "Éditer"
 
@@ -897,8 +967,7 @@ msgstr ""
 "irréversible !"
 
 #: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Delete"
 msgstr "Supprimer"
 
@@ -964,29 +1033,29 @@ msgstr "La version précédente de la publication a été rétablie."
 msgid "See previous change"
 msgstr "Voir le changement précédent"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "By %(edited_by)s %(edited_on)s."
 msgstr "Par %(edited_by)s le %(edited_on)s."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This post's contents cannot be displayed."
 msgstr "Le contenu de cette publication ne peut être affiché."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This error is caused by invalid post content manipulation."
 msgstr ""
 "Cette erreur est causée par une mauvaise manipulation du contenu de la "
 "publication."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "posted %(posted_on)s"
 msgstr "publié le %(posted_on)s"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "Removed user"
 msgstr "Utilisateur supprimé"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "See post"
 msgstr "Voir la publication"
 
@@ -1008,7 +1077,7 @@ msgstr "Aucun utilisateur n'a aimé cette publication."
 msgid "Are you sure you want to discard changes?"
 msgstr "Êtes-vous sûr de vouloir rejeter les modifications ?"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "You have to enter a message."
 msgstr "Vous devez rédiger un message."
 
@@ -1040,11 +1109,12 @@ msgstr "Êtes-vous sûr de vouloir supprimer votre fil de discussion privé ?"
 msgid "You have to enter at least one recipient."
 msgstr "Vous devez renseigner au moins un destinataire."
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:15
 msgid "You have to enter thread title."
 msgstr "Vous devez renseigner un titre pour le fil de discussion."
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Your thread has been posted."
 msgstr "Votre fil de discussion a bien été publié."
 
@@ -1052,12 +1122,13 @@ msgstr "Votre fil de discussion a bien été publié."
 msgid "Comma separated list of user names, eg.: Danny, Lisa"
 msgstr "Séparer les noms d'utilisateur par une virgule, p. ex. Danny, Lisa"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:19
 msgid "Thread title"
 msgstr "Titre du fil"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Post thread"
 msgstr "Publier le fil"
 
@@ -1065,35 +1136,35 @@ msgstr "Publier le fil"
 msgid "Are you sure you want to discard thread?"
 msgstr "Êtes-vous sûr de vouloir supprimer le fil de discussion ?"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18
 msgid "Closed"
 msgstr "Fermée"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:16
 msgid "Open"
 msgstr "Ouvert"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:21
 msgid "Hidden"
 msgstr "Caché"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Not hidden"
 msgstr "Non caché"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Unpinned"
 msgstr "Non épinglé"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned locally"
 msgstr "Épinglé localement"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned globally"
@@ -1156,12 +1227,12 @@ msgstr[1] ""
 "(actuellement %(show_value)s)."
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Hide"
 msgstr "Cacher"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Unhide"
 msgstr "Afficher"
 
@@ -1185,10 +1256,6 @@ msgid "By %(event_by)s %(event_on)s."
 msgstr "Par %(event_by)s %(event_on)s."
 
 #: static/misago/js/misago.js:9
-msgid "IP recorded"
-msgstr "IP enregistrée"
-
-#: static/misago/js/misago.js:9
 msgid "Thread title has been changed from %(old_title)s."
 msgstr "Le titre du fil %(old_title)s a été modifié."
 
@@ -1280,23 +1347,23 @@ msgstr ""
 msgid "Post has been deleted."
 msgstr "La publication a été supprimée."
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link to this post:"
 msgstr "Lien permanent vers cette publication :"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link"
 msgstr "Lien permanent"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Mark as best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Unmark best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
 msgid "This post was edited %(edits)s time."
 msgid_plural "This post was edited %(edits)s times."
 msgstr[0] "Cette publication a été modifiée %(edits)s fois."
@@ -1306,17 +1373,15 @@ msgstr[1] "Cette publication a été modifiée %(edits)s fois."
 msgid "Changes history"
 msgstr "Historique des modifications"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Approve"
 msgstr "Approuver"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Move"
 msgstr "Déplacer"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Split"
 msgstr "Détacher"
 
@@ -1329,6 +1394,7 @@ msgid "Move post"
 msgstr "Déplacer la publication"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You have to enter link to the other thread."
 msgstr "Vous devez entrer le lien vers l'autre fil."
 
@@ -1379,7 +1445,7 @@ msgid "Close thread"
 msgstr "Fermer le fil"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19
 msgid "Category"
 msgstr "Catégorie"
 
@@ -1432,32 +1498,32 @@ msgid_plural "%(users)s and %(likes)s other users like this."
 msgstr[0] "%(users)s et %(likes)s autre utilisateur aime cela."
 msgstr[1] "%(users)s et %(likes)s autre utilisateurs aiment ça."
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Liked"
 msgstr "J'aime"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Like"
 msgstr "J'aime"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
 msgid "Reply"
 msgstr "Citer et répondre"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "New post"
 msgstr "Nouvelle publication"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:20
 msgid "New"
 msgstr "Nouveau"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "This post is protected and may not be edited."
 msgstr "Cette publication est protégée et ne peut être modifiée."
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "protected"
 msgstr "protégé"
 
@@ -1505,69 +1571,68 @@ msgstr "Vous ne partagez aucune information avec les autres."
 msgid "%(username)s is not sharing any details with others."
 msgstr "%(username)s ne partage aucune information avec les autres"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
 msgid "Details"
 msgstr "Détails "
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s's details have been updated."
 msgstr "Les informations de %(username)s ont été mises à jour."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have no started threads."
 msgstr "Vous n'avez démarré aucun fil de discussion."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s started no threads."
 msgstr "%(username)s n'a démarré aucun fil de discussion."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] "Vous avez démarré %(threads)s fil de discussion."
 msgstr[1] "Vous avez démarré %(threads)s fils de discussion."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] "%(username)s a démarré %(threads)s fil de discussion."
 msgstr[1] "%(username)s a démarré %(threads)s fils de discussion."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:13
 msgid "Loading..."
 msgstr "Chargement…"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:19
 #: static/misago/js/misago.js:20
 msgid "Threads"
 msgstr "Fils de discussion"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted no messages."
 msgstr "Vous n'avez posté aucun message."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s posted no messages."
 msgstr "%(username)s n'a posté aucuns messages."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] "Vous avez posté %(posts)s message."
 msgstr[1] "Vous avez posté %(posts)s messages."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] "%(username)s a posté %(posts)s message."
 msgstr[1] "%(username)s a posté %(posts)s messages."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "Posts"
 msgstr "Publications"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:12
 msgid "Show more (%(more)s)"
 msgstr "Montrer davantage (%(more)s)"
 
@@ -1660,6 +1725,7 @@ msgid "Joined %(joined_on)s"
 msgstr "Membre depuis %(joined_on)s"
 
 #: static/misago/js/misago.js:12 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Moderation"
 msgstr "Modération"
 
@@ -1719,45 +1785,45 @@ msgstr ""
 msgid "Avatar controls"
 msgstr "Paramètres avatar"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Username has been changed."
 msgstr "L’identifiant a été modifié."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account, threads, posts and other content has been deleted."
 msgstr ""
 "Le compte de %(username)s, ses fils de discussions, ses publications et "
 "autres contenus ont été supprimés."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account has been deleted and other content has been hidden."
 msgstr ""
 "Le compte utilisateur de %(username)s a été supprimé. Le contenu associé a "
 "été caché."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete %(username)s"
 msgstr "Supprimer %(username)s"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Please wait... (%(countdown)ss)"
 msgstr "Merci d'attendre… (%(countdown)ss)"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "User content"
 msgstr "Contenu de l'utilisateur"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete together with user's account"
 msgstr "Supprimer avec le compte de l'utilisateur"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Hide after deleting user's account"
 msgstr "Cacher après suppression du compte utilisateur"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Return to users list"
 msgstr "Revenir à la liste utilisateur"
 
@@ -1827,32 +1893,32 @@ msgstr ""
 msgid "Register"
 msgstr "S'enregistrer"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Join with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Or create forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Username"
 msgstr "Nom d'utilisateur"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:17
 #: static/misago/js/misago.js:18
 msgid "E-mail"
 msgstr "E-mail"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Password"
 msgstr "Password"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Register account"
 msgstr "Créer un compte"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but you need to activate it "
 "before you will be able to sign in."
@@ -1860,7 +1926,7 @@ msgstr ""
 "%(username)s, votre compte a été crée mais vous devez l'activer avant de "
 "pouvoir vous authentifier."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but board administrator will "
 "have to activate it before you will be able to sign in."
@@ -1868,7 +1934,7 @@ msgstr ""
 "%(username)s, votre compte a été crée mais un administrateur doit l'activer "
 "avant que vous puissiez vous authentifier."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid ""
 "We have sent an e-mail to %(email)s with link that you have to click to "
 "activate your account."
@@ -1876,32 +1942,31 @@ msgstr ""
 "Nous avons envoyé un e-mail à l'adresse %(email)s contenant un lien "
 "d'activation."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "We will send an e-mail to %(email)s when this takes place."
 msgstr "Nous enverrons un e-mail à %(email)s lorsque cela se produit."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Registration complete"
 msgstr "Inscription terminée"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:25
 msgid "Enter a valid email address."
 msgstr "Entrez une adresse email valide."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Your e-mail address"
 msgstr "Votre adresse e-mail"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Send link"
 msgstr "Envoyer le lien"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Activation link was sent to %(email)s"
 msgstr "Un lien d'activation a été envoyé à %(email)s"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Request another link"
 msgstr "Demander un autre lien"
 
@@ -1968,41 +2033,41 @@ msgstr "Aucun utilisateur correspondant à la recherche n'a été trouvé."
 msgid "Enter at least two characters to search users."
 msgstr "Entrez au moins deux caractères pour effectuer une recherche."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Fill out both fields."
 msgstr "Renseigner les deux champs."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Activate account"
 msgstr "Activer le compte"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Sign in with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Or use your forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Username or e-mail"
 msgstr "Nom d'utilisateur ou e-mail"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Forgot password?"
 msgstr "Mot de passe oublié ?"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid ""
-"%(username)s, your account has been created and you has been signed in to "
+"%(username)s, your account has been created and you have been signed in to "
 "it."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Registration completed!"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Return to forum index"
 msgstr ""
 
@@ -2011,6 +2076,10 @@ msgid "Sign in with %(backend)s"
 msgstr ""
 
 #: static/misago/js/misago.js:15
+msgid "You need to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:15
 msgid "Your e-mail address has been verified by %(backend)s."
 msgstr ""
 
@@ -2031,7 +2100,7 @@ msgid "Edit title"
 msgstr "Editer le titre"
 
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:20
 msgid "Unapproved"
 msgstr "Non approuvé"
 
@@ -2039,7 +2108,7 @@ msgstr "Non approuvé"
 msgid "Unapproved posts"
 msgstr "Message non approuvés"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:15 static/misago/js/misago.js:18
 msgid "%(replies)s reply"
 msgid_plural "%(replies)s replies"
 msgstr[0] "%(replies)s réponse"
@@ -2065,19 +2134,19 @@ msgstr ""
 "Êtes-vous sûr de vouloir supprimer les publications sélectionnées ? Cette "
 "action est irréversible !"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Merge"
 msgstr "Fusionner"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Unprotect"
 msgstr "Non protégé"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "%(username)s on %(posted_on)s"
 msgstr "%(username)s le %(posted_on)s"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "One or more posts could not be changed:"
 msgstr "Un ou plusieurs messages n'ont pas pu être modifiés :"
 
@@ -2139,19 +2208,19 @@ msgstr "Épingler localement"
 msgid "Unpin"
 msgstr "Détacher"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Merge thread"
 msgstr "Fusionner le fil"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been merged with other one."
 msgstr "Le thread a été fusionné avec un autre."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Link to thread you want to merge with"
 msgstr "Lien vers le fil que vous souhaitez fusionner"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid ""
 "Merge will delete current thread and move its contents to the thread "
 "specified here."
@@ -2159,19 +2228,19 @@ msgstr ""
 "La fusion supprimera le fil actuel et son contenu sera déplacé vers le fil "
 "spécifié ici."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Move thread"
 msgstr "Déplacer le fil"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You can't move this thread at the moment."
 msgstr "Vous ne pouvez pas déplacer ce fil pour le moment."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been moved."
 msgstr "Le fil a été déplacé."
 
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "New category"
 msgstr "Nouvelle catégorie"
 
@@ -2209,15 +2278,15 @@ msgstr "Activée"
 msgid "Disabled"
 msgstr "Désactivé"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Unsubscribe"
 msgstr "Se désabonner"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe"
 msgstr "S'abonner"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe with e-mail"
 msgstr "S'abonner avec e-mail"
 
@@ -2249,11 +2318,11 @@ msgstr "Dernier message"
 msgid "Options"
 msgstr "Options"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid "Add poll"
 msgstr "Ajouter un sondage"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid ""
 "There is %(threads)s new or updated thread. Click this message to show it."
 msgid_plural ""
@@ -2278,7 +2347,7 @@ msgstr ""
 msgid "Change subscription"
 msgstr "Changer l'abonnement"
 
-#: static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19
 msgid "Start thread"
 msgstr "Démarrer une discussion"
 
@@ -2358,7 +2427,7 @@ msgstr "Épingler localement "
 msgid "Unpin threads"
 msgstr "Détacher les fils"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Move threads"
 msgstr "Déplacer les fils"
 
@@ -2394,7 +2463,7 @@ msgstr "Modération des fils"
 msgid "One or more threads could not be deleted:"
 msgstr "Un ou plusieurs fils n'ont pas pu être supprimés:"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid ""
 "You can't move threads because there are no categories you are allowed to "
 "move them to."
@@ -2410,11 +2479,11 @@ msgstr ""
 "Vous devez disposer des droits de création de fils dans cette catégorie afin"
 " de pouvoir les fusionner."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Selected threads were moved."
 msgstr "Les fils sélectionnés ont été déplacés."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid ""
 "You need permission to start threads in category to be able to move threads "
 "to it."
@@ -2422,51 +2491,51 @@ msgstr ""
 "Vous devez disposer des droits de création de fils dans cette catégorie afin"
 " de pouvoir les déplacer."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select all"
 msgstr "Tout sélectionner"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select none"
 msgstr "Tout désélectionner"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All"
 msgstr "Tout"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All threads"
 msgstr "Toutes les discussions"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My"
 msgstr "Mes fils"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My threads"
 msgstr "Mes fils"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "New threads"
 msgstr "Nouveaux fils"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread"
 msgstr "Non lu"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread threads"
 msgstr "Fils non lus"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed"
 msgstr "Souscrit"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed threads"
 msgstr "Fils souscrits"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unapproved content"
 msgstr "Contenu non approuvé"
 
@@ -2484,7 +2553,8 @@ msgstr ""
 msgid "You have unread private threads!"
 msgstr ""
 
-#: static/misago/js/misago.js:20 static/misago/js/misago.js:22
+#: static/misago/js/misago.js:20 static/misago/js/misago.js:21
+#: static/misago/js/misago.js:23
 msgid "Private threads"
 msgstr "Fils de discussion privés"
 
@@ -2492,68 +2562,68 @@ msgstr "Fils de discussion privés"
 msgid "Are you sure you want to sign out?"
 msgstr "Êtes-vous certain⋅e de vouloir vous déconnecter ?"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "See your profile"
 msgstr "Voir votre profil"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change options"
 msgstr "Changer les options"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change avatar"
 msgstr "Changer l'avatar"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Log out"
 msgstr "Se déconnecter"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned until %(ban_expires)s"
 msgstr "%(username)s est banni⋅e jusqu’à %(ban_expires)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned"
 msgstr "%(username)s est banni⋅e"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is hiding presence"
 msgstr "%(username)s cache sa présence "
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online (hidden)"
 msgstr "%(username)s est en ligne (caché⋅e)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s (hidden)"
 msgstr ""
 "%(username)s a été vu pour la dernière fois le %(last_click)s (caché⋅e)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online"
 msgstr "%(username)s est en ligne"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s"
 msgstr "%(username)sa été vu pour la dernière fois le %(last_click)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Banned"
 msgstr "Banni⋅e"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online (hidden)"
 msgstr "En ligne (caché⋅e)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline (hidden)"
 msgstr "Hors ligne (caché⋅e)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online"
 msgstr "En ligne"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline"
 msgstr "Hors ligne"
 
@@ -2567,19 +2637,19 @@ msgstr[1] "%(followers)s suiveurs"
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr "Aucun utilisateur n'a posté de message depuis %(days)s jours"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Rank"
 msgstr "Rang"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Ranked posts"
 msgstr "Messages classés"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "Total posts"
 msgstr "Nombre total de messages"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] "%(posters)s a été l'utilisateur le plus actif depuis%(days)sjours"
@@ -2611,7 +2681,7 @@ msgstr "oui"
 msgid "no"
 msgstr "non"
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid ""
 "Private threads are threads which only those that started them and those "
 "they have invited may see and participate in."
@@ -2619,19 +2689,19 @@ msgstr ""
 "Les fils privés sont des fils auxquels seuls leurs créateurs et les "
 "personnes invitées peuvent avoir accès et y participer."
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid "You aren't participating in any private threads."
 msgstr "Vous ne participez à aucune discussion privée."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Lost connection with application."
 msgstr "Connexion à l'application perdue."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Action link is invalid."
 msgstr "Le lien n'est pas valide."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Unknown error has occured."
 msgstr "Une erreur inconnue s'est produite."
 
@@ -2670,15 +2740,23 @@ msgstr "Vous travaillez déjà sur un sondage. Voulez-vous l'abandonner ?"
 msgid "You don't have permission to perform this action."
 msgstr "Vous n'avez pas la permission d'effectuer cette action."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "You are banned"
 msgstr "Vous êtes banni⋅e"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "This field is required."
 msgstr "Ce champ est requis."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
+msgid "You have to accept the terms of service."
+msgstr ""
+
+#: static/misago/js/misago.js:25
+msgid "You have to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at least %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2692,7 +2770,7 @@ msgstr[1] ""
 "Assurez-vous que cette valeur comporte au moins  %(limit_value)s caractères "
 "(actuellement %(show_value)s)."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at most %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2706,7 +2784,7 @@ msgstr[1] ""
 "Assurez-vous que cette valeur comporte au plus  %(limit_value)s caractères "
 "(actuellement %(show_value)s)."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username must be at least %(limit_value)s character long."
 msgid_plural "Username must be at least %(limit_value)s characters long."
 msgstr[0] ""
@@ -2714,7 +2792,7 @@ msgstr[0] ""
 msgstr[1] ""
 "Le nom d'utilisateur doit comporter au moins %(limit_value)s caractères."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username cannot be longer than %(limit_value)s character."
 msgid_plural "Username cannot be longer than %(limit_value)s characters."
 msgstr[0] ""
@@ -2722,13 +2800,13 @@ msgstr[0] ""
 msgstr[1] ""
 "Le nom d'utilisateur peut comporter au plus %(limit_value)s caractères."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username can only contain latin alphabet letters and digits."
 msgstr ""
 "Le nom d'utilisateur ne peut contenir que des lettres et des chiffres de "
 "l'alphabet latin."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Valid password must be at least %(limit_value)s character long."
 msgid_plural ""
 "Valid password must be at least %(limit_value)s characters long."

BIN
misago/locale/ru/LC_MESSAGES/django.mo


+ 728 - 303
misago/locale/ru/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: alff0x1f <alff3one@gmail.com>, 2018\n"
 "Language-Team: Russian (https://www.transifex.com/misago/teams/65369/ru/)\n"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Permissions"
 msgstr "Права доступа"
 
-#: acl/admin.py:33 users/forms/admin.py:414
+#: acl/admin.py:33 users/forms/admin.py:416
 msgid "User roles"
 msgstr "Роли пользователей"
 
@@ -142,17 +142,17 @@ msgstr "Нужно выбрать один или более элементов.
 msgid "Action is not allowed."
 msgstr "Действие запрещено."
 
-#: admin/views/index.py:70
+#: admin/views/index.py:83
 #, python-format
 msgid "Outdated: %(current)s! (latest: %(latest)s)"
 msgstr "Устаревшая: %(current)s! (свежая: %(latest)s)"
 
-#: admin/views/index.py:78
+#: admin/views/index.py:91
 #, python-format
 msgid "Up to date! (%(current)s)"
 msgstr "Самая свежая! (%(current)s)"
 
-#: admin/views/index.py:87
+#: admin/views/index.py:100
 msgid "Failed to connect to GitHub API. Try again later."
 msgstr "Не удалось соединиться с GitHub API. Попробуйте позднее."
 
@@ -171,11 +171,11 @@ msgstr "Иерархия категорий"
 msgid "Category roles"
 msgstr "Роли категорий"
 
-#: categories/forms.py:47 users/forms/admin.py:388
+#: categories/forms.py:47 users/forms/admin.py:390
 msgid "Name"
 msgstr "Имя"
 
-#: categories/forms.py:49 users/forms/admin.py:404
+#: categories/forms.py:49 users/forms/admin.py:406
 msgid "Description"
 msgstr "Описание"
 
@@ -183,7 +183,7 @@ msgstr "Описание"
 msgid "Optional description explaining category intented purpose."
 msgstr "Необязательное описание, объясняющее назначение категории."
 
-#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:421
+#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:423
 msgid "CSS class"
 msgstr "CSS класс"
 
@@ -205,7 +205,7 @@ msgstr ""
 "Только пользователи с соответствующими правами могут оставлять сообщения в "
 "закрытых категориях."
 
-#: categories/forms.py:75 templates/misago/admin/index.html:83
+#: categories/forms.py:75 templates/misago/admin/index.html:110
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
 #: templates/misago/profile/threads.html:8
@@ -218,7 +218,7 @@ msgstr ""
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:72 threads/permissions/threads.py:103
-#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:89
+#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:97
 msgid "Threads"
 msgstr "Темы"
 
@@ -533,7 +533,7 @@ msgstr "Неправильный запрос на аутентификацию.
 
 #: core/forms.py:43 templates/misago/admin/users/edit.html:61
 #: templates/misago/admin/users/edit.html:78
-#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:590
+#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:604
 msgid "Yes"
 msgstr "Да"
 
@@ -547,7 +547,7 @@ msgstr "Да"
 #: threads/permissions/threads.py:164 threads/permissions/threads.py:178
 #: threads/permissions/threads.py:189 threads/permissions/threads.py:205
 #: threads/permissions/threads.py:216 threads/permissions/threads.py:247
-#: users/forms/admin.py:591 users/models/user.py:145
+#: users/forms/admin.py:605 users/models/user.py:147
 msgid "No"
 msgstr "Нет"
 
@@ -651,7 +651,72 @@ msgstr "Значение должно содержать буквы и цифр
 msgid "Value is too long."
 msgstr "Значение слишком длинное."
 
+#: legal/admin.py:25 templates/misago/admin/users/edit.html:216
+msgid "Agreements"
+msgstr ""
+
+#: legal/api.py:18
+msgid "You have already accepted this agreement."
+msgstr ""
+
+#: legal/api.py:27
+msgid "You need to submit a valid choice."
+msgstr ""
+
+#: legal/forms.py:10 legal/forms.py:60
+#: templates/misago/admin/agreements/list.html:18
+#: templates/misago/admin/attachmenttypes/list.html:16
+#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:589
+msgid "Type"
+msgstr "Тип"
+
+#: legal/forms.py:12 templates/misago/admin/agreements/list.html:16
+#: templates/misago/admin/ranks/list.html:17
+msgid "Title"
+msgstr "Заголовок"
+
+#: legal/forms.py:13
+msgid "Optional, leave empty for agreement to be named after its type."
+msgstr ""
+
+#: legal/forms.py:17
+msgid "Set as active for its type"
+msgstr ""
+
+#: legal/forms.py:19
+msgid ""
+"If other agreement is already active for this type, it will be unset and "
+"replaced with this one. Misago will ask users who didn't accept this "
+"agreement to do so before allowing them to continue using the site's "
+"features."
+msgstr ""
+
+#: legal/forms.py:27
+msgid "Link"
+msgstr ""
+
+#: legal/forms.py:28
+msgid "If your agreement is located on other page, enter here a link to it."
+msgstr ""
+
+#: legal/forms.py:32
+msgid "Text"
+msgstr ""
+
+#: legal/forms.py:33
+msgid "You can use Markdown syntax for rich text elements."
+msgstr ""
+
+#: legal/forms.py:46
+msgid "Please fill in agreement link or text."
+msgstr ""
+
+#: legal/forms.py:65
+msgid "Content"
+msgstr ""
+
 #: legal/migrations/0001_initial.py:16
+#: legal/migrations/0003_create_agreements_from_settings.py:57
 msgid "Legal information"
 msgstr "Правовая информация"
 
@@ -700,7 +765,7 @@ msgstr ""
 msgid "Policy title"
 msgstr "Заголовок политики"
 
-#: legal/migrations/0001_initial.py:64 legal/views.py:46
+#: legal/migrations/0001_initial.py:64 legal/models.py:43
 #: templates/misago/footer.html:27
 msgid "Privacy policy"
 msgstr "Политика конфиденциальности"
@@ -729,21 +794,85 @@ msgstr ""
 "доступна для форматирования."
 
 #: legal/migrations/0001_initial.py:105
+#: legal/migrations/0003_create_agreements_from_settings.py:62
 msgid "Footnote"
 msgstr "Сноска"
 
 #: legal/migrations/0001_initial.py:106
+#: legal/migrations/0003_create_agreements_from_settings.py:63
 msgid "Short message displayed in forum footer."
 msgstr "Короткое сообщение, отображаемое в нижней части форума."
 
 #: legal/migrations/0001_initial.py:107
+#: legal/migrations/0003_create_agreements_from_settings.py:64
 msgid "Forum footer"
 msgstr "Нижняя часть форума."
 
-#: legal/views.py:65 templates/misago/footer.html:22
+#: legal/migrations/0003_create_agreements_from_settings.py:58
+msgid ""
+"Those settings allow you to set additional legal information for your forum."
+msgstr ""
+
+#: legal/models.py:42 templates/misago/footer.html:22
 msgid "Terms of service"
 msgstr "Условия использования"
 
+#: legal/views/admin.py:17
+msgid "Requested agreement does not exist."
+msgstr ""
+
+#: legal/views/admin.py:29 threads/views/admin/attachments.py:24
+#: users/views/admin/bans.py:24 users/views/admin/datadownloads.py:20
+#: users/views/admin/users.py:56
+msgid "From newest"
+msgstr "От новейшего"
+
+#: legal/views/admin.py:30 threads/views/admin/attachments.py:25
+#: users/views/admin/bans.py:25 users/views/admin/datadownloads.py:21
+#: users/views/admin/users.py:57
+msgid "From oldest"
+msgstr "От старого"
+
+#: legal/views/admin.py:33
+msgid "With agreements: 0"
+msgstr ""
+
+#: legal/views/admin.py:34
+msgid "Select agreements"
+msgstr ""
+
+#: legal/views/admin.py:38
+msgid "Delete agreements"
+msgstr ""
+
+#: legal/views/admin.py:39
+msgid "Are you sure you want to delete those agreements?"
+msgstr ""
+
+#: legal/views/admin.py:49
+msgid "Selected agreements have been deleted."
+msgstr ""
+
+#: legal/views/admin.py:53
+#, python-format
+msgid "New agreement \"%(title)s\" has been saved."
+msgstr ""
+
+#: legal/views/admin.py:63
+#, python-format
+msgid "Agreement \"%(title)s\" has been edited."
+msgstr ""
+
+#: legal/views/admin.py:77
+#, python-format
+msgid "Agreement \"%(title)s\" has been deleted."
+msgstr ""
+
+#: legal/views/admin.py:85
+#, python-format
+msgid "Agreement \"%(title)s\" has been set as active for type \"%(type)s\"."
+msgstr ""
+
 #: markup/finalise.py:22
 #, python-format
 msgid "%(title)s has written:"
@@ -753,15 +882,15 @@ msgstr "%(title)s написал:"
 msgid "Quoted message:"
 msgstr "Цитата:"
 
-#: project_template/project_name/settings.py:388
+#: project_template/project_name/settings.py:424
 msgid "Personal"
 msgstr "Личные данные"
 
-#: project_template/project_name/settings.py:397
+#: project_template/project_name/settings.py:433
 msgid "Contact"
 msgstr "Контакты"
 
-#: project_template/project_name/settings.py:405 users/models/ban.py:76
+#: project_template/project_name/settings.py:441 users/models/ban.py:76
 msgid "IP address"
 msgstr "IP адрес"
 
@@ -869,6 +998,98 @@ msgstr "Активация не удалась"
 msgid "Your account can't be activated at this time."
 msgstr "Ваш аккаунт не может быть активирован сейчас."
 
+#: templates/misago/admin/agreements/form.html:9
+#: templates/misago/admin/agreements/form.html:18
+#: templates/misago/admin/agreements/form.html:28
+#: templates/misago/admin/agreements/list.html:9
+msgid "New agreement"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:43
+#: templates/misago/admin/categoryroles/form.html:43
+#: templates/misago/admin/roles/form.html:43
+msgid "Basic settings"
+msgstr "Базовые настройки"
+
+#: templates/misago/admin/agreements/form.html:51
+msgid "Agreement contents"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:54
+msgid "Fill in one of the fields."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:19
+msgid "Created"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:20
+msgid "Modified"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:33
+#, python-format
+msgid "Active %(type)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:52
+#, python-format
+msgid "%(created_on)s by %(created_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:68
+#, python-format
+msgid "%(last_modified_on)s by %(last_modified_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:72
+msgid "never"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:78
+msgid "Set as active"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:88
+#: templates/misago/admin/attachmenttypes/list.html:54
+#: templates/misago/admin/bans/list.html:55
+#: templates/misago/admin/categories/list.html:66
+#: templates/misago/admin/categoryroles/list.html:27
+#: templates/misago/admin/ranks/list.html:99
+#: templates/misago/admin/roles/list.html:43
+#: templates/misago/admin/warnings/list.html:109
+#: templates/misago/poll/results.html:69
+#: templates/misago/profile/details.html:24
+#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
+msgid "Edit"
+msgstr "Редактировать"
+
+#: templates/misago/admin/agreements/list.html:94
+#: templates/misago/admin/bans/list.html:61
+msgid "Remove"
+msgstr "Удалить"
+
+#: templates/misago/admin/agreements/list.html:106
+msgid "No agreements matching search criteria have been found"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:108
+msgid "No agreements are currently set."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:119
+msgid "Are you sure you want to set this agreement as active for its type?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:124
+msgid "Are you sure you want to delete this agreement?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:133
+#: templates/misago/admin/bans/list.html:95
+msgid "Search bans"
+msgstr "Поиск блокировок"
+
 #: templates/misago/admin/attachments/list.html:7
 msgid "Attachment"
 msgstr "Прикреплённый файл"
@@ -879,12 +1100,8 @@ msgstr "Тема"
 
 #: templates/misago/admin/attachments/list.html:42
 #, python-format
-msgid ""
-"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s from "
-"%(uploader_ip)s."
+msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s."
 msgstr ""
-"%(filetype)s, %(size)s, загружено %(uploader)s %(uploaded_on)s с "
-"%(uploader_ip)s."
 
 #: templates/misago/admin/attachments/list.html:53
 #: templates/misago/admin/attachmenttypes/list.html:47
@@ -934,11 +1151,6 @@ msgstr "Базовые опции"
 msgid "Availability"
 msgstr "Доступность"
 
-#: templates/misago/admin/attachmenttypes/list.html:16
-#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:575
-msgid "Type"
-msgstr "Тип"
-
 #: templates/misago/admin/attachmenttypes/list.html:17
 msgid "Extensions"
 msgstr "Расширения"
@@ -951,19 +1163,6 @@ msgstr "Mime-типы"
 msgid "Files"
 msgstr "Файлы"
 
-#: templates/misago/admin/attachmenttypes/list.html:54
-#: templates/misago/admin/bans/list.html:55
-#: templates/misago/admin/categories/list.html:66
-#: templates/misago/admin/categoryroles/list.html:27
-#: templates/misago/admin/ranks/list.html:99
-#: templates/misago/admin/roles/list.html:43
-#: templates/misago/admin/warnings/list.html:109
-#: templates/misago/poll/results.html:69
-#: templates/misago/profile/details.html:24
-#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
-msgid "Edit"
-msgstr "Редактировать"
-
 #: templates/misago/admin/attachmenttypes/list.html:71
 msgid "No attachment types are currently defined."
 msgstr "Сейчас нет определённых типов вложения."
@@ -980,12 +1179,12 @@ msgid "New ban"
 msgstr "Новая блокировка"
 
 #: templates/misago/admin/bans/form.html:43
-#: templates/misago/admin/users/ban.html:53
+#: templates/misago/admin/users/ban.html:57
 msgid "Ban settings"
 msgstr "Настройка блокировки"
 
 #: templates/misago/admin/bans/form.html:52
-#: templates/misago/admin/users/ban.html:60
+#: templates/misago/admin/users/ban.html:64
 msgid "Messages"
 msgstr "Сообщения"
 
@@ -993,8 +1192,8 @@ msgstr "Сообщения"
 msgid "Ban"
 msgstr "Блокировка"
 
-#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:493
-#: users/forms/admin.py:546
+#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:488
+#: users/forms/admin.py:560
 msgid "Expires on"
 msgstr "Истечёт в "
 
@@ -1007,10 +1206,6 @@ msgstr "%(check_type)s, только для регистрации"
 msgid "Never"
 msgstr "Никогда"
 
-#: templates/misago/admin/bans/list.html:61
-msgid "Remove"
-msgstr "Удалить"
-
 #: templates/misago/admin/bans/list.html:73
 msgid "No bans matching search criteria have been found"
 msgstr "Запрошенные блокировки по заданным критериям поиска не были найдены"
@@ -1023,10 +1218,6 @@ msgstr "В данный момент нет установленных блок
 msgid "Are you sure you want to remove this ban?"
 msgstr "Вы уверены, что хотите удалить эту блокировку?"
 
-#: templates/misago/admin/bans/list.html:95
-msgid "Search bans"
-msgstr "Поиск блокировок"
-
 #: templates/misago/admin/base_thin.html:8
 msgid "Misago Administration"
 msgstr "Администрирование Misago"
@@ -1158,11 +1349,6 @@ msgstr "Вы уверены, что хотите отказаться от из
 msgid "New role"
 msgstr "Новая роль"
 
-#: templates/misago/admin/categoryroles/form.html:43
-#: templates/misago/admin/roles/form.html:43
-msgid "Basic settings"
-msgstr "Базовые настройки"
-
 #: templates/misago/admin/categoryroles/list.html:16
 msgid "Category role"
 msgstr "Роль категории"
@@ -1199,6 +1385,61 @@ msgstr ""
 msgid "Change settings"
 msgstr "Изменить настройки"
 
+#: templates/misago/admin/datadownloads/form.html:6
+#: templates/misago/admin/datadownloads/form.html:11
+#: templates/misago/admin/datadownloads/form.html:17
+msgid "Request new data downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:9
+msgid "Request new downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:17
+#: templates/misago/admin/users/list.html:17 users/forms/admin.py:696
+msgid "User"
+msgstr "Пользователь"
+
+#: templates/misago/admin/datadownloads/list.html:18 threads/forms.py:56
+#: users/forms/admin.py:691
+msgid "Status"
+msgstr "Статус"
+
+#: templates/misago/admin/datadownloads/list.html:19
+msgid "Requested on"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:21 users/forms/admin.py:700
+msgid "Requested by"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:32
+#: templates/misago/admin/datadownloads/list.html:49
+#: templates/misago/admin/datadownloads/list.html:52
+#: templates/misago/admin/users/ban.html:35
+#: templates/misago/admin/users/edit.html:113
+#: templates/misago/admin/users/list.html:35
+#: templates/misago/userslists/active_posters.html:66
+msgid "Avatar"
+msgstr "Аватар"
+
+#: templates/misago/admin/datadownloads/list.html:73
+#: templates/misago/emails/data_download.html:11 users/apps.py:50
+msgid "Download data"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:84
+msgid "No data downloads matching search criteria have been found."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:86
+msgid "No data downloads exist at the moment."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:93
+msgid "Search data downloads"
+msgstr ""
+
 #: templates/misago/admin/errorpages/403.html:5
 #: templates/misago/errorpages/403.html:5
 msgid "Page not available"
@@ -1355,44 +1596,73 @@ msgstr "Последняя"
 msgid "Administration Home"
 msgstr "Главная панели администрирования"
 
-#: templates/misago/admin/index.html:33
+#: templates/misago/admin/index.html:22
+msgid "System checks"
+msgstr ""
+
+#: templates/misago/admin/index.html:26
+msgid "MISAGO_ADDRESS setting appears to be correct."
+msgstr ""
+
+#: templates/misago/admin/index.html:30
+msgid "The settings.py value for MISAGO_ADDRESS appears to be incorrect."
+msgstr ""
+
+#: templates/misago/admin/index.html:38
+#, python-format
+msgid ""
+"Your MISAGO_ADDRESS is set to %(configured_address)s while correct value "
+"appears to be %(correct_address)s."
+msgstr ""
+
+#: templates/misago/admin/index.html:42 templates/misago/admin/index.html:47
+msgid ""
+"Misago uses this setting to build correct links in e-mails sent to site "
+"users."
+msgstr ""
+
+#: templates/misago/admin/index.html:46
+msgid "The settings.py is missing MISAGO_ADDRESS value."
+msgstr ""
+
+#: templates/misago/admin/index.html:60
 msgid "Misago version"
 msgstr "Версия Misago"
 
-#: templates/misago/admin/index.html:56
+#: templates/misago/admin/index.html:83
 msgid "Check version"
 msgstr "Проверить версию"
 
-#: templates/misago/admin/index.html:62
+#: templates/misago/admin/index.html:89
 msgid "This feature requires \"packaging\" python module."
 msgstr "Эта функция требует python модуль \"packaging\"."
 
-#: templates/misago/admin/index.html:76
+#: templates/misago/admin/index.html:103
 msgid "DB Contents"
 msgstr "Содержимое базы данных"
 
-#: templates/misago/admin/index.html:87
+#: templates/misago/admin/index.html:114
 #: templates/misago/admin/users/delete.html:36
-#: templates/misago/admin/users/list.html:23
+#: templates/misago/admin/users/list.html:24
 #: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
-#: threads/migrations/0004_update_settings.py:48 users/apps.py:83
+#: threads/migrations/0004_update_settings.py:48 users/apps.py:91
 msgid "Posts"
 msgstr "Сообщения"
 
-#: templates/misago/admin/index.html:91 templates/misago/navbar.html:40
+#: templates/misago/admin/index.html:118 templates/misago/navbar.html:40
 #: templates/misago/userslists/base.html:5
-#: templates/misago/userslists/base.html:14 users/admin.py:70
+#: templates/misago/userslists/base.html:14 users/admin.py:80
 #: users/migrations/0002_users_settings.py:16
 #: users/migrations/0006_update_settings.py:17 users/search.py:18
 msgid "Users"
 msgstr "Пользователи"
 
-#: templates/misago/admin/index.html:96
+#: templates/misago/admin/index.html:123
 msgid "Inactive users"
 msgstr "Деактивированные пользователи"
 
-#: templates/misago/admin/index.html:122
+#: templates/misago/admin/index.html:149
 msgid "Checking..."
 msgstr "Проверка..."
 
@@ -1420,7 +1690,7 @@ msgstr "Пожалуйста попробуйте снова."
 msgid "Username or e-mail"
 msgstr "Имя пользователя или e-mail"
 
-#: templates/misago/admin/login.html:62 users/forms/admin.py:60
+#: templates/misago/admin/login.html:62 users/forms/admin.py:62
 #: users/forms/auth.py:59
 msgid "Password"
 msgstr "Пароль"
@@ -1465,17 +1735,13 @@ msgid "Display and visibility"
 msgstr "Отображение и видимость"
 
 #: templates/misago/admin/ranks/list.html:16
-#: templates/misago/admin/users/list.html:21
+#: templates/misago/admin/users/list.html:22
 #: templates/misago/userslists/active_posters.html:95
 #: templates/misago/userslists/active_posters.html:106
-#: users/forms/admin.py:236
+#: users/forms/admin.py:238
 msgid "Rank"
 msgstr "Ранг"
 
-#: templates/misago/admin/ranks/list.html:17
-msgid "Title"
-msgstr "Заголовок"
-
 #: templates/misago/admin/ranks/list.html:18
 msgid "Special"
 msgstr "Специальное"
@@ -1517,7 +1783,7 @@ msgid "No user roles are currently defined."
 msgstr "Сейчас нет определённых ролей пользователя."
 
 #: templates/misago/admin/users/ban.html:6
-#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:72
+#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:73
 msgid "Ban users"
 msgstr "Блокировать пользователей"
 
@@ -1525,14 +1791,11 @@ msgstr "Блокировать пользователей"
 msgid "Ban selected users:"
 msgstr "Блокировать выбранных пользователей:"
 
-#: templates/misago/admin/users/ban.html:35
-#: templates/misago/admin/users/edit.html:113
-#: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:66
-msgid "Avatar"
-msgstr "Аватар"
+#: templates/misago/admin/users/ban.html:48
+msgid "IP not available"
+msgstr ""
 
-#: templates/misago/admin/users/ban.html:72
+#: templates/misago/admin/users/ban.html:76
 msgid "Set bans"
 msgstr "Установить блокировки"
 
@@ -1629,6 +1892,18 @@ msgstr ""
 msgid "No staff message is available."
 msgstr "Нет доступного сообщения администраторов."
 
+#: templates/misago/admin/users/edit.html:220
+msgid "Agreement"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:221
+msgid "Accepted on"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:239
+msgid "This user didn't accept any agreements."
+msgstr ""
+
 #: templates/misago/admin/users/list.html:9
 #: templates/misago/admin/users/new.html:6
 #: templates/misago/admin/users/new.html:11
@@ -1636,51 +1911,55 @@ msgstr "Нет доступного сообщения администрато
 msgid "New user"
 msgstr "Новый пользователь"
 
-#: templates/misago/admin/users/list.html:17
-msgid "User"
-msgstr "Пользователь"
-
-#: templates/misago/admin/users/list.html:20
+#: templates/misago/admin/users/list.html:20 users/signals.py:30
 msgid "E-mail"
 msgstr "E-mail"
 
-#: templates/misago/admin/users/list.html:22
+#: templates/misago/admin/users/list.html:21
+msgid "IP Address"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:23
 msgid "Joined"
 msgstr "Присоединился"
 
-#: templates/misago/admin/users/list.html:39
+#: templates/misago/admin/users/list.html:40
 msgid "Is deleting their account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:43
+#: templates/misago/admin/users/list.html:44
 msgid "Is disabled by administrator"
 msgstr "Деактивирован администратором"
 
-#: templates/misago/admin/users/list.html:54
+#: templates/misago/admin/users/list.html:55
 msgid "Requires activation by administrator"
 msgstr "Требует активации администратором"
 
-#: templates/misago/admin/users/list.html:56
+#: templates/misago/admin/users/list.html:57
 msgid "Has to activate account"
 msgstr "Должен активировать аккаунт"
 
-#: templates/misago/admin/users/list.html:63
+#: templates/misago/admin/users/list.html:64
 msgid "Super administrator"
 msgstr "Супер администратор"
 
-#: templates/misago/admin/users/list.html:65
+#: templates/misago/admin/users/list.html:66
 msgid "Administrator"
 msgstr "Администратор"
 
-#: templates/misago/admin/users/list.html:90
+#: templates/misago/admin/users/list.html:78
+msgid "IP removed"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:98
 msgid "Edit user"
 msgstr "Редактировать пользователя"
 
-#: templates/misago/admin/users/list.html:99
+#: templates/misago/admin/users/list.html:107
 msgid "No users matching search criteria have been found."
 msgstr "Пользователи по заданным критериям поиска не были найдены."
 
-#: templates/misago/admin/users/list.html:105
+#: templates/misago/admin/users/list.html:113
 msgid "Search users"
 msgstr "Искать пользователей"
 
@@ -1898,6 +2177,32 @@ msgstr "Для изменения пароля от аккаунта, кликн
 msgid "Set new password"
 msgstr "Установить новый пароль"
 
+#: templates/misago/emails/data_download.html:6
+#: templates/misago/emails/data_download.txt:6
+#, python-format
+msgid ""
+"%(user)s, you are receiving this message because your data is ready for "
+"download."
+msgstr ""
+
+#: templates/misago/emails/data_download.html:14
+#: templates/misago/emails/data_download.txt:15
+#, python-format
+msgid ""
+"This link will remain active for %(expires_in)s hour from the time this "
+"message has been sent."
+msgid_plural ""
+"This link will remain active for %(expires_in)s hours from the time this "
+"message has been sent."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/misago/emails/data_download.txt:10
+msgid "To download your data, click the following link:"
+msgstr ""
+
 #: templates/misago/emails/privatethread/added.html:9
 #, python-format
 msgid ""
@@ -2000,11 +2305,9 @@ msgstr ""
 #: templates/misago/emails/thread/reply.html:9
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread %(thread)s that you are subscribed to."
 msgstr ""
-"%(user)s, вы получили это сообщение, потому что %(poster)s ответил в теме "
-"%(thread)s, на которую вы подписаны."
 
 #: templates/misago/emails/thread/reply.html:14
 #: templates/misago/emails/thread/reply.txt:10
@@ -2018,11 +2321,9 @@ msgstr "Перейти к ответу"
 #: templates/misago/emails/thread/reply.txt:6
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread \"%(thread)s\" that you are subscribed to."
 msgstr ""
-"%(user)s, вы получили это сообщение, потому что %(poster)s ответил в теме "
-"\"%(thread)s\" , на которую вы подписаны."
 
 #: templates/misago/errorpages/403.html:40
 msgid "This page is not available."
@@ -2280,7 +2581,7 @@ msgstr "Смотреть результаты"
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:8
-#: templates/misago/profile/ban_details.html:15 users/apps.py:120
+#: templates/misago/profile/ban_details.html:15 users/apps.py:128
 msgid "Ban details"
 msgstr "Детали блокировки"
 
@@ -2331,7 +2632,7 @@ msgstr[3] "Начал %(threads)s тем."
 
 #: templates/misago/profile/details.html:5
 #: templates/misago/profile/details.html:8
-#: templates/misago/profile/details.html:18 users/apps.py:107
+#: templates/misago/profile/details.html:18 users/apps.py:115
 msgid "Details"
 msgstr "Детали"
 
@@ -2360,7 +2661,7 @@ msgstr ""
 "Эта ошибка случилось из-за неправильной манипуляции содержимым сообщения."
 
 #: templates/misago/profile/followers.html:5
-#: templates/misago/profile/followers.html:8 users/apps.py:95
+#: templates/misago/profile/followers.html:8 users/apps.py:103
 msgid "Followers"
 msgstr "Последователи"
 
@@ -2392,7 +2693,7 @@ msgid "%(username)s has no followers."
 msgstr "У %(username)s нет последователей."
 
 #: templates/misago/profile/follows.html:5
-#: templates/misago/profile/follows.html:8 users/apps.py:101
+#: templates/misago/profile/follows.html:8 users/apps.py:109
 msgid "Follows"
 msgstr "Следить"
 
@@ -2491,7 +2792,7 @@ msgid "%(username)s started no threads."
 msgstr "У %(username)s нет начатых тем."
 
 #: templates/misago/profile/username_history.html:5
-#: templates/misago/profile/username_history.html:8 users/apps.py:113
+#: templates/misago/profile/username_history.html:8 users/apps.py:121
 msgid "Username history"
 msgstr "История имени пользователя"
 
@@ -2522,6 +2823,20 @@ msgstr "Ваше имя пользователя никогда не измен
 msgid "%(username)s's username was never changed."
 msgstr "Имя пользователя %(username)s никогда не изменялось."
 
+#: templates/misago/required_agreement.html:9
+#, python-format
+msgid "Please review the updated %(agreement)s:"
+msgstr ""
+
+#: templates/misago/required_agreement.html:19
+msgid "here"
+msgstr ""
+
+#: templates/misago/required_agreement.html:21
+#, python-format
+msgid "Please review the updated %(agreement)s available %(link)s."
+msgstr ""
+
 #: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgstr "Поиск по сайту"
@@ -2640,10 +2955,6 @@ msgstr "Скрыто %(hidden_by)s %(hidden_on)s."
 msgid "By %(event_by)s on %(event_on)s."
 msgstr "%(event_by)s %(event_on)s."
 
-#: templates/misago/thread/posts/event/info.html:34
-msgid "IP recorded"
-msgstr "IP записан"
-
 #: templates/misago/thread/posts/post/attachments.html:33
 #, python-format
 msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s on %(uploaded_on)s."
@@ -2940,11 +3251,11 @@ msgstr "Вложения"
 msgid "Attachment types"
 msgstr "Типы вложений"
 
-#: threads/api/attachments.py:19
+#: threads/api/attachments.py:20
 msgid "You don't have permission to upload new files."
 msgstr "У вас нет разрешения загружать новые файлы."
 
-#: threads/api/attachments.py:29
+#: threads/api/attachments.py:30
 msgid "No file has been uploaded."
 msgstr "Нет обновлённых файлов."
 
@@ -2952,11 +3263,11 @@ msgstr "Нет обновлённых файлов."
 msgid "Uploaded image was corrupted or invalid."
 msgstr "Обновлённое изображение испорчено или неправильно."
 
-#: threads/api/attachments.py:81
+#: threads/api/attachments.py:83
 msgid "You can't upload files of this type."
 msgstr "Вы не можете загрузить файлы этого типа."
 
-#: threads/api/attachments.py:86
+#: threads/api/attachments.py:88
 #, python-format
 msgid ""
 "You can't upload files larger than %(limit)s (your file has %(upload)s)."
@@ -2964,7 +3275,7 @@ msgstr ""
 "Вы не можете загрузить файлы больше чем %(limit)s (У вашего файл есть "
 "%(upload)s)"
 
-#: threads/api/attachments.py:96
+#: threads/api/attachments.py:98
 #, python-format
 msgid ""
 "You can't upload files of this type larger than %(limit)s (your file has "
@@ -2973,7 +3284,7 @@ msgstr ""
 "Вы не можете загрузить файлы этого типа, больше чем %(limit)s (Ваш файл "
 "имеет %(upload)s)."
 
-#: threads/api/postendpoints/edits.py:89
+#: threads/api/postendpoints/edits.py:88
 msgid "Edits record is unavailable for this post."
 msgstr "Правки записи недоступны для этой публикации."
 
@@ -2989,12 +3300,12 @@ msgstr "Вы не можете перемещать публикации в эт
 msgid "You can't like posts in this category."
 msgstr "Вам не может нравится публикации в этой категории."
 
-#: threads/api/postendpoints/patch_post.py:108
+#: threads/api/postendpoints/patch_post.py:107
 #: threads/api/threadendpoints/patch.py:130
 msgid "Content approval can't be reversed."
 msgstr "Одобрение содержимого не может быть отменено."
 
-#: threads/api/postendpoints/patch_post.py:186
+#: threads/api/postendpoints/patch_post.py:185
 msgid "One or more posts to update could not be found."
 msgstr "Одна или больше публикаций для обновления, не могут быть найдены."
 
@@ -3007,7 +3318,7 @@ msgstr "Вы не можете разделить публикации в это
 msgid "You don't have permission to remove \"%(attachment)s\" attachment."
 msgstr "У вас нет разрешения удалять вложение \"%(attachment)s\"."
 
-#: threads/api/postingendpoint/attachments.py:128
+#: threads/api/postingendpoint/attachments.py:127
 #, python-format
 msgid ""
 "You can't attach more than %(limit_value)s file to single post (added "
@@ -3102,11 +3413,11 @@ msgstr[3] ""
 msgid "One or more users could not be found: %(usernames)s"
 msgstr "Один или более пользователей не найдены: %(usernames)s"
 
-#: threads/api/postingendpoint/reply.py:81 threads/validators.py:80
+#: threads/api/postingendpoint/reply.py:83 threads/validators.py:80
 msgid "You have to enter a message."
 msgstr "Вы должны ввести сообщение."
 
-#: threads/api/postingendpoint/reply.py:103 threads/validators.py:41
+#: threads/api/postingendpoint/reply.py:105 threads/validators.py:41
 msgid "You have to enter thread title."
 msgstr "Вы должны ввести заголовок темы."
 
@@ -3188,7 +3499,7 @@ msgstr "Этот пользователь уже владелец темы."
 msgid "One or more threads to update could not be found."
 msgstr "Одна или больше тем для обновления не могут быть найдены."
 
-#: threads/api/threadpoll.py:53
+#: threads/api/threadpoll.py:54
 msgid "There's already a poll in this thread."
 msgstr "В этой теме уже есть опрос."
 
@@ -3224,7 +3535,7 @@ msgstr "Имя файла содержит"
 msgid "File type"
 msgstr "Тип файла"
 
-#: threads/forms.py:24 users/forms/admin.py:595
+#: threads/forms.py:24 users/forms/admin.py:609
 msgid "State"
 msgstr "Состояние"
 
@@ -3248,10 +3559,6 @@ msgstr "Расширения файла"
 msgid "Maximum allowed uploaded file size"
 msgstr "Максимально позволенная загрузка размера файла"
 
-#: threads/forms.py:56
-msgid "Status"
-msgstr "Статус"
-
 #: threads/forms.py:57
 msgid "Limit uploads to"
 msgstr "Ограничение загрузок в"
@@ -3907,7 +4214,7 @@ msgstr ""
 msgid "Can see threads"
 msgstr "Можно смотреть темы"
 
-#: threads/permissions/threads.py:110 users/forms/admin.py:166
+#: threads/permissions/threads.py:110 users/forms/admin.py:168
 #: users/migrations/0002_users_settings.py:144
 #: users/migrations/0006_update_settings.py:130
 msgid "Started threads"
@@ -4884,6 +5191,14 @@ msgstr "Один или больше выборов опроса неправи
 msgid "You have to make a choice."
 msgstr "Вы должны сделать выбор."
 
+#: threads/signals.py:177
+msgid "Question"
+msgstr ""
+
+#: threads/signals.py:178
+msgid "Choices"
+msgstr ""
+
 #: threads/templatetags/misago_poststags.py:20
 #, python-format
 msgid "%(user)s likes this."
@@ -5065,23 +5380,13 @@ msgstr "У вас нет разрешения видеть не одобренн
 msgid "Requested attachment could not be found."
 msgstr "Запрошенное вложение не может быть найдено."
 
-#: threads/views/admin/attachments.py:24 users/views/admin/bans.py:24
-#: users/views/admin/users.py:55
-msgid "From newest"
-msgstr "От новейшего"
-
-#: threads/views/admin/attachments.py:25 users/views/admin/bans.py:25
-#: users/views/admin/users.py:56
-msgid "From oldest"
-msgstr "От старого"
-
 #: threads/views/admin/attachments.py:26 users/views/admin/bans.py:26
-#: users/views/admin/users.py:57
+#: users/views/admin/users.py:58
 msgid "A to z"
 msgstr "От А до я"
 
 #: threads/views/admin/attachments.py:27 users/views/admin/bans.py:27
-#: users/views/admin/users.py:58
+#: users/views/admin/users.py:59
 msgid "Z to a"
 msgstr "От Я до а"
 
@@ -5154,33 +5459,37 @@ msgstr ""
 "Вам нужно разрешение одобрять содержимое, чтобы быть способным перейти к "
 "первой не одобренной публикации."
 
-#: users/admin.py:79
+#: users/admin.py:89
 msgid "User Accounts"
 msgstr "Аккаунты пользователя"
 
-#: users/admin.py:87
+#: users/admin.py:97
 msgid "Ranks"
 msgstr "Ранги"
 
-#: users/admin.py:96
+#: users/admin.py:106
 msgid "Bans"
 msgstr "Запреты"
 
+#: users/admin.py:115
+msgid "Data downloads"
+msgstr ""
+
 #: users/api/auth.py:100
 #, python-format
 msgid "Activate %(user)s account on %(forum_name)s forums"
 msgstr "Активировать аккаунт %(user)s на %(forum_name)s форумах."
 
-#: users/api/auth.py:139
+#: users/api/auth.py:138
 #, python-format
 msgid "Change %(user)s password on %(forum_name)s forums"
 msgstr "Изменить пароль %(user)s на %(forum_name)s форумах"
 
-#: users/api/auth.py:180
+#: users/api/auth.py:178
 msgid "Form link is invalid. Please try again."
 msgstr "Ссылка формы неправильна. Пожалуйста, попробуйте заново."
 
-#: users/api/auth.py:181
+#: users/api/auth.py:179
 msgid "Your link has expired. Please request new one."
 msgstr "Ваша ссылка истекла. Пожалуйста, запросите новую."
 
@@ -5250,15 +5559,15 @@ msgstr "Ссылка подтверждения изменения e-mail-а б
 msgid "Confirm password change on %(forum_name)s forums"
 msgstr "Подтвердите изменение пароля на %(forum_name)s форумах."
 
-#: users/api/userendpoints/changepassword.py:31
+#: users/api/userendpoints/changepassword.py:32
 msgid "Password change confirmation link was sent to your address."
 msgstr "Ссылка подтверждения изменения пароля было выслано на новый адрес."
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:25
 msgid "New users registrations are currently closed."
 msgstr "Новые регистрации пользователи сейчас закрыты."
 
-#: users/api/userendpoints/create.py:53 users/social/pipeline.py:205
+#: users/api/userendpoints/create.py:61 users/social/pipeline.py:215
 msgid "Please try resubmitting the form."
 msgstr "Пожалуйста, попробуйте повторно отправить эту форму."
 
@@ -5283,38 +5592,54 @@ msgstr "Ошибка изменения имени пользователя. П
 msgid "You don't have permission to see other users name history."
 msgstr "У вас нет разрешения просматривать историю имён других пользователей."
 
-#: users/api/users.py:54
+#: users/api/users.py:57
 msgid "You have to sign in to perform this action."
 msgstr "Вы должны войти, чтобы выполнить это действие."
 
-#: users/api/users.py:100
+#: users/api/users.py:103
 msgid "You can't change other users avatars."
 msgstr "Вы не можете изменять аватары других пользователей."
 
-#: users/api/users.py:107
+#: users/api/users.py:110
 msgid "You can't change other users options."
 msgstr "Вы не можете изменять настройки других пользователей."
 
-#: users/api/users.py:112
+#: users/api/users.py:115
 msgid "Your forum options have been changed."
 msgstr "Ваши настройки форума были изменены."
 
-#: users/api/users.py:119
+#: users/api/users.py:122
 msgid "You can't change other users names."
 msgstr "Вы не можете менять имена других пользователей."
 
-#: users/api/users.py:126
+#: users/api/users.py:129
 msgid "You can't change other users signatures."
 msgstr "Вы не можете менять подписи других пользователей."
 
-#: users/api/users.py:133
+#: users/api/users.py:136
 msgid "You can't change other users passwords."
 msgstr "Вы не можете менять пароли других пользователей."
 
-#: users/api/users.py:140
+#: users/api/users.py:143
 msgid "You can't change other users e-mail addresses."
 msgstr "Вы не можете менять e-mail адреса других пользователей."
 
+#: users/api/users.py:225
+msgid "You can't request data downloads for other users."
+msgstr ""
+
+#: users/api/users.py:228
+msgid "You can't download your data."
+msgstr ""
+
+#: users/api/users.py:232
+msgid "You can't have more than one data download request at single time."
+msgstr ""
+
+#: users/api/users.py:278
+msgid "You can't see other users data downloads."
+msgstr ""
+
 #: users/apps.py:30
 msgid "Edit details"
 msgstr "Редактировать детали"
@@ -5327,11 +5652,11 @@ msgstr "Изменить имя пользователя"
 msgid "Change email or password"
 msgstr "Изменить email или пароль"
 
-#: users/apps.py:50
+#: users/apps.py:58
 msgid "Delete account"
 msgstr ""
 
-#: users/apps.py:59
+#: users/apps.py:67
 msgid "Active poster"
 msgstr ""
 
@@ -5390,27 +5715,27 @@ msgstr "Редактировать разрешения и группы"
 msgid "Edit the user from Misago admin panel"
 msgstr "Редактировать пользователя из панели администрирования Misago"
 
-#: users/forms/admin.py:21 users/models/ban.py:74
+#: users/forms/admin.py:23 users/models/ban.py:74 users/signals.py:29
 msgid "Username"
 msgstr "Имя пользователя"
 
-#: users/forms/admin.py:22
+#: users/forms/admin.py:24
 msgid "Custom title"
 msgstr "Пользовательский заголовок"
 
-#: users/forms/admin.py:23 users/models/ban.py:75
+#: users/forms/admin.py:25 users/models/ban.py:75
 msgid "E-mail address"
 msgstr "E-mail адрес"
 
-#: users/forms/admin.py:52
+#: users/forms/admin.py:54
 msgid "All registered members must have \"Member\" role."
 msgstr "Все зарегистрированные участники должны иметь роль — \"Участник\"."
 
-#: users/forms/admin.py:71
+#: users/forms/admin.py:73
 msgid "Is administrator"
 msgstr "Является администратором"
 
-#: users/forms/admin.py:73
+#: users/forms/admin.py:75
 msgid ""
 "Designates whether the user can log into admin sites. If Django admin site "
 "is enabled, this user will need additional permissions assigned within it to"
@@ -5421,11 +5746,11 @@ msgstr ""
 "дополнительные разрешения назначенные внутри, чтобы администрировать модули "
 "Django."
 
-#: users/forms/admin.py:79
+#: users/forms/admin.py:81
 msgid "Is superuser"
 msgstr "Является суперпользователем"
 
-#: users/forms/admin.py:81
+#: users/forms/admin.py:83
 msgid ""
 "Only administrators can access admin sites. In addition to admin site "
 "access, superadmins can also change other members admin levels."
@@ -5434,11 +5759,11 @@ msgstr ""
 "дополнение доступу к административному сайту, супер администратор также "
 "может менять административные уровни других участников."
 
-#: users/forms/admin.py:86
+#: users/forms/admin.py:88
 msgid "Is active"
 msgstr "Является активным"
 
-#: users/forms/admin.py:88
+#: users/forms/admin.py:90
 msgid ""
 "Designates whether this user should be treated as active. Turning this off "
 "is non-destructible way to remove user accounts."
@@ -5446,11 +5771,11 @@ msgstr ""
 "Определяет, должен ли пользователь считаться активным. Выключить это — "
 "означает удалить аккаунты пользователя неразрушимым способом."
 
-#: users/forms/admin.py:92 users/forms/admin.py:123 users/forms/admin.py:151
+#: users/forms/admin.py:94 users/forms/admin.py:125 users/forms/admin.py:153
 msgid "Staff message"
 msgstr "Сообщение персонала"
 
-#: users/forms/admin.py:94
+#: users/forms/admin.py:96
 msgid ""
 "Optional message for forum team members explaining why user's account has "
 "been disabled."
@@ -5458,15 +5783,15 @@ msgstr ""
 "Дополнительное сообщение для участников команды форума, объясняющее почему "
 "аккаунт пользователя был отключён."
 
-#: users/forms/admin.py:99
+#: users/forms/admin.py:101
 msgid "Change password to"
 msgstr "Изменить пароль на"
 
-#: users/forms/admin.py:106
+#: users/forms/admin.py:108
 msgid "Lock avatar"
 msgstr "Блокировка аватара"
 
-#: users/forms/admin.py:108
+#: users/forms/admin.py:110
 msgid ""
 "Setting this to yes will stop user from changing his/her avatar, and will "
 "reset his/her avatar to procedurally generated one."
@@ -5474,12 +5799,12 @@ msgstr ""
 "Настройте это как \"да\", чтобы остановить пользователя изменять его/её "
 "аватар, и сбросить его/её аватар для процедурной генерации."
 
-#: users/forms/admin.py:114 users/forms/admin.py:145 users/forms/admin.py:473
-#: users/forms/admin.py:526
+#: users/forms/admin.py:116 users/forms/admin.py:147 users/forms/admin.py:468
+#: users/forms/admin.py:540
 msgid "User message"
 msgstr "Сообщение пользователя"
 
-#: users/forms/admin.py:116
+#: users/forms/admin.py:118
 msgid ""
 "Optional message for user explaining why he/she is banned form changing "
 "avatar."
@@ -5487,7 +5812,7 @@ msgstr ""
 "Дополнительное сообщение для пользователя, объясняющее почему ему запрещено "
 "менять аватар."
 
-#: users/forms/admin.py:125
+#: users/forms/admin.py:127
 msgid ""
 "Optional message for forum team members explaining why user is banned form "
 "changing avatar."
@@ -5495,47 +5820,47 @@ msgstr ""
 "Дополнительное сообщение для членов команды форума, объясняющее почему "
 "пользователь был заблокирован за форму изменения аватара."
 
-#: users/forms/admin.py:133
+#: users/forms/admin.py:135
 msgid "Signature contents"
 msgstr "Подпись содержимого"
 
-#: users/forms/admin.py:138
+#: users/forms/admin.py:140
 msgid "Lock signature"
 msgstr "Блокировка подписи"
 
-#: users/forms/admin.py:140
+#: users/forms/admin.py:142
 msgid ""
 "Setting this to yes will stop user from making changes to his/her signature."
 msgstr ""
 "Настройте это как \"да\", чтобы остановить пользователя изменять его /её "
 "подпись."
 
-#: users/forms/admin.py:146
+#: users/forms/admin.py:148
 msgid "Optional message to user explaining why his/hers signature is locked."
 msgstr ""
 "Дополнительное сообщение для пользователя, объясняющее почему его/ее подпись"
 " заблокирована."
 
-#: users/forms/admin.py:152
+#: users/forms/admin.py:154
 msgid ""
 "Optional message to team members explaining why user signature is locked."
 msgstr ""
 "Дополнительное сообщение для участников команды, объясняющее почему подпись "
 "пользователя заблокирована."
 
-#: users/forms/admin.py:157
+#: users/forms/admin.py:159
 msgid "Hides presence"
 msgstr "Скрывает присутствие"
 
-#: users/forms/admin.py:160
+#: users/forms/admin.py:162
 msgid "Who can add user to private threads"
 msgstr "Кто может добавлять пользователей в приватные темы."
 
-#: users/forms/admin.py:169
+#: users/forms/admin.py:171
 msgid "Replid threads"
 msgstr "Отвеченные темы"
 
-#: users/forms/admin.py:219 users/serializers/moderation.py:42
+#: users/forms/admin.py:221 users/serializers/moderation.py:42
 #, python-format
 msgid "Signature can't be longer than %(limit)s character."
 msgid_plural "Signature can't be longer than %(limit)s characters."
@@ -5544,7 +5869,7 @@ msgstr[1] "Подпись не может быть длиннее %(limit)s си
 msgstr[2] "Подпись не может быть длиннее %(limit)s символов."
 msgstr[3] "Подпись не может быть длиннее %(limit)s символов."
 
-#: users/forms/admin.py:238
+#: users/forms/admin.py:240
 msgid ""
 "Ranks are used to group and distinguish users. They are also used to add "
 "permissions to groups of users."
@@ -5552,61 +5877,61 @@ msgstr ""
 "Ранги используются для группировки и разпознавания пользователей. Они также "
 "используются для добавления разрешений для групп пользователей."
 
-#: users/forms/admin.py:248
+#: users/forms/admin.py:250
 msgid "Roles"
 msgstr "Роли"
 
-#: users/forms/admin.py:249
+#: users/forms/admin.py:251
 msgid "Individual roles of this user. All users must have \"member\" role."
 msgstr ""
 "Индивидуальная роль для этого пользователя. Все пользователи должны иметь "
 "роли \"участников\"."
 
-#: users/forms/admin.py:307
+#: users/forms/admin.py:309
 msgid "Username starts with"
 msgstr "Имя пользователя начинается с"
 
-#: users/forms/admin.py:308
+#: users/forms/admin.py:310
 msgid "E-mail starts with"
 msgstr "E-mail начинается с"
 
-#: users/forms/admin.py:309
+#: users/forms/admin.py:311
 msgid "Profile fields contain"
 msgstr "Поля профиля содержат"
 
-#: users/forms/admin.py:310
+#: users/forms/admin.py:312
 msgid "Inactive only"
 msgstr "Только неактивные"
 
-#: users/forms/admin.py:311
+#: users/forms/admin.py:313
 msgid "Disabled only"
 msgstr "Только деактивированные"
 
-#: users/forms/admin.py:312
+#: users/forms/admin.py:314
 msgid "Admins only"
 msgstr "Только администраторы"
 
-#: users/forms/admin.py:313
+#: users/forms/admin.py:315
 msgid "Deleting their accounts"
 msgstr ""
 
-#: users/forms/admin.py:355
+#: users/forms/admin.py:357
 msgid "All ranks"
 msgstr "Все ранги"
 
-#: users/forms/admin.py:362
+#: users/forms/admin.py:364
 msgid "All roles"
 msgstr "Все роли"
 
-#: users/forms/admin.py:369
+#: users/forms/admin.py:371
 msgid "Has rank"
 msgstr "Имеет ранг"
 
-#: users/forms/admin.py:375
+#: users/forms/admin.py:377
 msgid "Has role"
 msgstr "Имеет роль"
 
-#: users/forms/admin.py:391
+#: users/forms/admin.py:393
 msgid ""
 "Short and descriptive name of all users with this rank. \"The Team\" or "
 "\"Game Masters\" are good examples."
@@ -5614,11 +5939,11 @@ msgstr ""
 "Короткое и наглядное имя пользователей с этим рангом. \"Команда\" или "
 "\"Мастера\" являются хорошим примером."
 
-#: users/forms/admin.py:396
+#: users/forms/admin.py:398
 msgid "User title"
 msgstr "Пользовательский заголовок"
 
-#: users/forms/admin.py:399
+#: users/forms/admin.py:401
 msgid ""
 "Optional, singular version of rank name displayed by user names. For example"
 " \"GM\" or \"Dev\"."
@@ -5626,7 +5951,7 @@ msgstr ""
 "Дополнительная, единичная версия имени ранга, которая показывается именами "
 "пользователей. Например, \"GM\" или \"Dev\"."
 
-#: users/forms/admin.py:409
+#: users/forms/admin.py:411
 msgid ""
 "Optional description explaining function or status of members distincted "
 "with this rank."
@@ -5634,21 +5959,21 @@ msgstr ""
 "Необязательное описание, объясняющее функцию или статус членов, связанных с "
 "этим рангом."
 
-#: users/forms/admin.py:418
+#: users/forms/admin.py:420
 msgid "Rank can give additional roles to users with it."
 msgstr "Ранг может давать дополнительные роли пользователям."
 
-#: users/forms/admin.py:423
+#: users/forms/admin.py:425
 msgid "Optional css class added to content belonging to this rank owner."
 msgstr ""
 "Дополнительный класс CSS, добавленный к контенту, принадлежащий владельцу "
 "этого ранга."
 
-#: users/forms/admin.py:426
+#: users/forms/admin.py:428
 msgid "Give rank dedicated tab on users list"
 msgstr "Дайте вкладку  рангу в списке пользователей"
 
-#: users/forms/admin.py:429
+#: users/forms/admin.py:431
 msgid ""
 "Selecting this option will make users with this rank easily discoverable by "
 "others through dedicated page on forum users list."
@@ -5656,70 +5981,70 @@ msgstr ""
 "Выбор данной опции сделает пользователей данного ранга легко распознаваемыми"
 " для других через соответствующий список пользователей на странице форума."
 
-#: users/forms/admin.py:454
+#: users/forms/admin.py:456
 msgid "This name collides with other rank."
 msgstr "Это имя совпадает с именем другого ранга."
 
-#: users/forms/admin.py:461
+#: users/forms/admin.py:463
 msgid "Values to ban"
 msgstr "Значения для блокировки"
 
-#: users/forms/admin.py:464 users/forms/admin.py:579
-msgid "Usernames"
-msgstr "Имена пользователя"
-
-#: users/forms/admin.py:465 users/forms/admin.py:580
-msgid "E-mails"
-msgstr "E-mail'ы"
-
-#: users/forms/admin.py:466
-msgid "E-mail domains"
-msgstr "E-mail домены"
-
-#: users/forms/admin.py:467
-msgid "IP addresses"
-msgstr "IP адреса"
-
-#: users/forms/admin.py:468
-msgid "First segment of IP addresses"
-msgstr "Первый сегмент IP адресов"
-
-#: users/forms/admin.py:469
-msgid "First two segments of IP addresses"
-msgstr "Первые два сегмента IP адресов"
-
-#: users/forms/admin.py:476
+#: users/forms/admin.py:471
 msgid "Optional message displayed to users instead of default one."
 msgstr ""
 "Не обязательное сообщение, отображаемое пользователям вместо стандартного."
 
-#: users/forms/admin.py:479 users/forms/admin.py:489 users/forms/admin.py:532
-#: users/forms/admin.py:542
+#: users/forms/admin.py:474 users/forms/admin.py:484 users/forms/admin.py:546
+#: users/forms/admin.py:556
 msgid "Message can't be longer than 1000 characters."
 msgstr "Сообщение не может быть длиннее 1000 символов."
 
-#: users/forms/admin.py:483 users/forms/admin.py:536
+#: users/forms/admin.py:478 users/forms/admin.py:550
 msgid "Team message"
 msgstr "Сообщение команды"
 
-#: users/forms/admin.py:486 users/forms/admin.py:539
+#: users/forms/admin.py:481 users/forms/admin.py:553
 msgid "Optional ban message for moderators and administrators."
 msgstr ""
 "Не обязательное сообщение при блокировке для модераторов и администраторов."
 
-#: users/forms/admin.py:495
+#: users/forms/admin.py:490
 msgid "Leave this field empty for set bans to never expire."
 msgstr "Оставьте это поле пустым, чтобы блокировки никогда не заканчивались."
 
+#: users/forms/admin.py:499 users/forms/admin.py:593
+msgid "Usernames"
+msgstr "Имена пользователя"
+
+#: users/forms/admin.py:500 users/forms/admin.py:594
+msgid "E-mails"
+msgstr "E-mail'ы"
+
 #: users/forms/admin.py:501
+msgid "E-mail domains"
+msgstr "E-mail домены"
+
+#: users/forms/admin.py:507
+msgid "IP addresses"
+msgstr "IP адреса"
+
+#: users/forms/admin.py:508
+msgid "First segment of IP addresses"
+msgstr "Первый сегмент IP адресов"
+
+#: users/forms/admin.py:509
+msgid "First two segments of IP addresses"
+msgstr "Первые два сегмента IP адресов"
+
+#: users/forms/admin.py:515
 msgid "Check type"
 msgstr "Проверить тип"
 
-#: users/forms/admin.py:506
+#: users/forms/admin.py:520
 msgid "Restrict this ban to registrations"
 msgstr "Ограничить действие этой блокировки только на регистрацию."
 
-#: users/forms/admin.py:508
+#: users/forms/admin.py:522
 msgid ""
 "Changing this to yes will make this ban check be only performed on "
 "registration step. This is good if you want to block certain registrations "
@@ -5731,11 +6056,11 @@ msgstr ""
 "определенные регистрации, отклоненные недавно Email провайдерами, без ущерба"
 " существующих пользователей."
 
-#: users/forms/admin.py:514
+#: users/forms/admin.py:528
 msgid "Banned value"
 msgstr "Заблокированное значение"
 
-#: users/forms/admin.py:517
+#: users/forms/admin.py:531
 msgid ""
 "This value is case-insensitive and accepts asterisk (*) for rought matches. "
 "For example, making IP ban for value \"83.*\" will ban all IP addresses "
@@ -5745,51 +6070,74 @@ msgstr ""
 "совпадения. К примеру, установив блокировку по IP со значением \"83.*\", "
 "будут заблокированы все IP адреса, начинающиеся с \"83.\"."
 
-#: users/forms/admin.py:522
+#: users/forms/admin.py:536
 msgid "Banned value can't be longer than 250 characters."
 msgstr "Заблокированное значение может быть не длиннее 250 символов."
 
-#: users/forms/admin.py:529
+#: users/forms/admin.py:543
 msgid "Optional message displayed to user instead of default one."
 msgstr ""
 "Не обязательное сообщение, отображаемое пользователю вместо стандартного."
 
-#: users/forms/admin.py:548
+#: users/forms/admin.py:562
 msgid "Leave this field empty for this ban to never expire."
 msgstr "Оставьте это поле пустым, чтобы блокировка никогда не заканчивалась."
 
-#: users/forms/admin.py:568
+#: users/forms/admin.py:582
 msgid "Banned value is too vague."
 msgstr "Заблокированное значение слишком расплывчато."
 
-#: users/forms/admin.py:578
+#: users/forms/admin.py:592
 msgid "All bans"
 msgstr "Все блокировки"
 
-#: users/forms/admin.py:581
+#: users/forms/admin.py:595
 msgid "IPs"
 msgstr "IP"
 
-#: users/forms/admin.py:584
+#: users/forms/admin.py:598
 msgid "Banned value begins with"
 msgstr "Заблокированное значение начинается с"
 
-#: users/forms/admin.py:586
+#: users/forms/admin.py:600
 msgid "Registration only"
 msgstr "Только регистрация"
 
-#: users/forms/admin.py:589 users/forms/admin.py:598
+#: users/forms/admin.py:603 users/forms/admin.py:612
 msgid "Any"
 msgstr "Все"
 
-#: users/forms/admin.py:599
+#: users/forms/admin.py:613
 msgid "Active"
 msgstr "Активные"
 
-#: users/forms/admin.py:600
+#: users/forms/admin.py:614 users/models/datadownload.py:26
 msgid "Expired"
 msgstr "Истекшие"
 
+#: users/forms/admin.py:649
+msgid "Usernames or emails"
+msgstr ""
+
+#: users/forms/admin.py:651
+msgid ""
+"Enter every item in new line. Duplicates will be ignored. This field is case"
+" insensitive. Depending on site configuration and amount of data to archive "
+"it may take up to few days for requests to complete. E-mail will "
+"notification will be sent to every user once their download is ready."
+msgstr ""
+
+#: users/forms/admin.py:667
+#, python-format
+msgid ""
+"You may not enter more than 20 items at single time (You have entered "
+"%(show_value)s)."
+msgstr ""
+
+#: users/forms/admin.py:684
+msgid "One or more specified users could not be found."
+msgstr ""
+
 #: users/forms/auth.py:16
 msgid "Fill out both fields."
 msgstr "Заполнить оба поля."
@@ -5850,18 +6198,27 @@ msgstr ""
 "Администратор должен активировать Ваш аккаунт до того как вы сможете "
 "запросить новый пароль."
 
-#: users/forms/register.py:27
+#: users/forms/register.py:34
 msgid "This usernane is not allowed."
 msgstr "Это имя пользователя недоступно."
 
-#: users/forms/register.py:38 users/validators.py:41
+#: users/forms/register.py:45 users/validators.py:41
 msgid "This e-mail address is not allowed."
 msgstr "Этот e-mail адрес недоступен."
 
-#: users/forms/register.py:47
+#: users/forms/register.py:51
+msgid "This agreement is required."
+msgstr ""
+
+#: users/forms/register.py:60
 msgid "New registrations from this IP address are not allowed."
 msgstr "Новые регистрации с данного IP адреса недоступны."
 
+#: users/management/commands/prepareuserdatadownloads.py:34
+#, python-format
+msgid "%(user)s, your data download is ready"
+msgstr ""
+
 #: users/migrations/0002_users_settings.py:18
 #: users/migrations/0006_update_settings.py:19
 msgid ""
@@ -6096,7 +6453,7 @@ msgid "Enter each answer in new line. Answers are case-insensitive."
 msgstr "Введите каждый ответ в новой строке. Ответы чуствительны к регистру."
 
 #: users/migrations/0004_default_ranks.py:17
-#: users/migrations/0004_default_ranks.py:18 users/models/user.py:111
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:113
 msgid "Forum team"
 msgstr "Форум команды"
 
@@ -6109,47 +6466,59 @@ msgstr "Команда"
 msgid "Members"
 msgstr "Участники"
 
-#: users/models/user.py:37
+#: users/models/datadownload.py:23
+msgid "Pending"
+msgstr ""
+
+#: users/models/datadownload.py:24
+msgid "Processing"
+msgstr ""
+
+#: users/models/datadownload.py:25
+msgid "Ready"
+msgstr ""
+
+#: users/models/user.py:38
 msgid "User must have an email address."
 msgstr "Пользователь обязан иметь e-mail адрес."
 
-#: users/models/user.py:146
+#: users/models/user.py:148
 msgid "Notify"
 msgstr "Уведомлять"
 
-#: users/models/user.py:147
+#: users/models/user.py:149
 msgid "Notify with e-mail"
 msgstr "Уведомлять по e-mail"
 
-#: users/models/user.py:155
+#: users/models/user.py:157
 msgid "Everybody"
 msgstr "Все"
 
-#: users/models/user.py:156
+#: users/models/user.py:158
 msgid "Users I follow"
 msgstr "Пользователи, которых я читаю"
 
-#: users/models/user.py:157
+#: users/models/user.py:159
 msgid "Nobody"
 msgstr "Никто"
 
-#: users/models/user.py:175
+#: users/models/user.py:177
 msgid "joined on"
 msgstr "присоединился к"
 
-#: users/models/user.py:190
+#: users/models/user.py:191
 msgid "staff status"
 msgstr "статус сотрудника"
 
-#: users/models/user.py:192
+#: users/models/user.py:193
 msgid "Designates whether the user can log into admin sites."
 msgstr "Указывает, может ли пользователь заходить на администраторские сайты."
 
-#: users/models/user.py:199
+#: users/models/user.py:200
 msgid "active"
 msgstr "активен"
 
-#: users/models/user.py:203
+#: users/models/user.py:204
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
@@ -6541,11 +6910,7 @@ msgstr "Это неправильный twitter аккаунт."
 msgid "Join IP"
 msgstr "Подсоединить IP-адрес"
 
-#: users/profilefields/default.py:99
-msgid "Last IP"
-msgstr "Последний IP"
-
-#: users/registration.py:9
+#: users/registration.py:11
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgstr "Добро пожаловать на %(forum_name)s форумы!"
@@ -6587,14 +6952,30 @@ msgstr "Вам необходимо ввести новый e-mail адрес."
 msgid "New e-mail is same as current one."
 msgstr "Новый e-mail совпадает с текущим."
 
-#: users/social/pipeline.py:74
+#: users/signals.py:31
+msgid "Joined on"
+msgstr ""
+
+#: users/signals.py:32
+msgid "Joined from ip"
+msgstr ""
+
+#: users/signals.py:72
+msgid "New username"
+msgstr ""
+
+#: users/signals.py:73
+msgid "Old username"
+msgstr ""
+
+#: users/social/pipeline.py:77
 #, python-format
 msgid ""
 "The e-mail address associated with your %(backend)s account is not available"
 " for use on this site."
 msgstr ""
 
-#: users/social/pipeline.py:83
+#: users/social/pipeline.py:86
 #, python-format
 msgid ""
 "Your account has to be activated by site administrator before you will be "
@@ -6704,6 +7085,42 @@ msgstr "Блокировка \"%(name)s\" была отредактирован
 msgid "Ban \"%(name)s\" has been removed."
 msgstr "Блокировка \"%(name)s\" была удалена."
 
+#: users/views/admin/datadownloads.py:23
+msgid "With data downloads: 0"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:24
+msgid "Select data downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:28
+msgid "Expire downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:30
+msgid "Are you sure you want to set selected data downloads as expired?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:34
+msgid "Delete downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:36
+msgid "Are you sure you want to delete selected data downloads?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:51
+msgid "Selected data downloads have been set as expired."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:57
+msgid "Selected data downloads have been deleted."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:68
+msgid "Data downloads have been requested for specified users."
+msgstr ""
+
 #: users/views/admin/ranks.py:16
 msgid "Requested rank does not exist."
 msgstr "Запрашиваемый ранг не существует."
@@ -6753,39 +7170,43 @@ msgstr "Ранг \"%(name)s\" уже является рангом по умол
 msgid "Rank \"%(name)s\" has been made default."
 msgstr "Ранг \"%(name)s\" был назначен рангом по умолчанию."
 
-#: users/views/admin/users.py:59
+#: users/views/admin/users.py:60
 msgid "Biggest posters"
 msgstr "Наибольшие постеры"
 
-#: users/views/admin/users.py:60
+#: users/views/admin/users.py:61
 msgid "Smallest posters"
 msgstr "Наименьшие постеры"
 
-#: users/views/admin/users.py:62
+#: users/views/admin/users.py:63
 msgid "With users: 0"
 msgstr "С пользователями: 0"
 
-#: users/views/admin/users.py:63
+#: users/views/admin/users.py:64
 msgid "Select users"
 msgstr "Выбрать пользователей"
 
-#: users/views/admin/users.py:67
+#: users/views/admin/users.py:68
 msgid "Activate accounts"
 msgstr "Активировать аккаунты"
 
-#: users/views/admin/users.py:77
+#: users/views/admin/users.py:78
+msgid "Request data download"
+msgstr ""
+
+#: users/views/admin/users.py:83
 msgid "Delete accounts"
 msgstr "Удалить аккаунты"
 
-#: users/views/admin/users.py:79
+#: users/views/admin/users.py:85
 msgid "Are you sure you want to delete selected users?"
 msgstr "Вы уверены что хотите удалить выбранных пользователей?"
 
-#: users/views/admin/users.py:83
+#: users/views/admin/users.py:89
 msgid "Delete all"
 msgstr "Удалить всё"
 
-#: users/views/admin/users.py:86
+#: users/views/admin/users.py:92
 msgid ""
 "Are you sure you want to delete selected users? This will also delete all "
 "content associated with their accounts."
@@ -6793,54 +7214,58 @@ msgstr ""
 "Вы уверены что хотите удалить выбранных пользователей? Это также удалит все "
 "данные, связанные с этими аккаунтами."
 
-#: users/views/admin/users.py:107
+#: users/views/admin/users.py:113
 msgid "You have to select inactive users."
 msgstr "Вы должны выбрать неактивных пользователей."
 
-#: users/views/admin/users.py:114
+#: users/views/admin/users.py:120
 #, python-format
 msgid "Your account on %(forum_name)s forums has been activated"
 msgstr "Ваш аккаунт на форуме %(forum_name)s был активирован"
 
-#: users/views/admin/users.py:119
+#: users/views/admin/users.py:125
 msgid "Selected users accounts have been activated."
 msgstr "Выбранные аккаунты пользователей были активированы."
 
-#: users/views/admin/users.py:125
+#: users/views/admin/users.py:131
 #, python-format
 msgid "%(user)s is super admin and can't be banned."
 msgstr "%(user)s - суперадминистратор и не может быть заблокирован."
 
-#: users/views/admin/users.py:186
+#: users/views/admin/users.py:194
 msgid "Selected users have been banned."
 msgstr "Выбранные пользователи были заблокированы."
 
-#: users/views/admin/users.py:201 users/views/admin/users.py:215
-#: users/views/admin/users.py:331
+#: users/views/admin/users.py:212
+msgid "Data download requests have been placed for selected users."
+msgstr ""
+
+#: users/views/admin/users.py:217 users/views/admin/users.py:230
+#: users/views/admin/users.py:346
 msgid "You can't delete yourself."
 msgstr "Вы не можете удалить себя."
 
-#: users/views/admin/users.py:203 users/views/admin/users.py:217
-#: users/views/admin/users.py:334
+#: users/views/admin/users.py:219 users/views/admin/users.py:232
+#: users/views/admin/users.py:349
 #, python-format
 msgid "%(user)s is admin and can't be deleted."
 msgstr "%(user)s - администратор и не может быть удален."
 
-#: users/views/admin/users.py:209
+#: users/views/admin/users.py:225
 msgid "Selected users have been deleted."
 msgstr "Выбранные пользователи были удалены."
 
-#: users/views/admin/users.py:232
+#: users/views/admin/users.py:247
 #, python-format
 msgid "New user \"%(user)s\" has been registered."
 msgstr "Новый пользователь \"%(user)s\" был зарегистрирован."
 
-#: users/views/admin/users.py:261
+#: users/views/admin/users.py:276
 #, python-format
 msgid "User \"%(user)s\" has been edited."
 msgstr "Пользователь \"%(user)s\" был отредактирован."
 
-#: users/views/admin/users.py:328
+#: users/views/admin/users.py:343
 msgid "This action can't be accessed directly."
 msgstr "Это действие нельзя выполнить напрямую."
 

BIN
misago/locale/ru/LC_MESSAGES/djangojs.mo


+ 285 - 207
misago/locale/ru/LC_MESSAGES/djangojs.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-20 21:20+0200\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Roman Patsev <rpatsev@gmail.com>, 2018\n"
 "Language-Team: Russian (https://www.transifex.com/misago/teams/65369/ru/)\n"
@@ -39,8 +39,30 @@ msgid "Promise can't be resolved itself"
 msgstr ""
 
 #: static/misago/js/misago.js:1
-msgid "By registering you agree to site's terms and conditions."
-msgstr "Регистрируясь, вы соглашаетесь с условиями и положениями сайта"
+msgid "the terms of service"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "the privacy policy"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "I have read and accept %(agreement)s."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid ""
+"Declining will result in immediate deactivation and deletion of your "
+"account. This action is not reversible."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Decline"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Accept and continue"
+msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
@@ -48,11 +70,12 @@ msgstr "Регистрируясь, вы соглашаетесь с услов
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:12
 #: static/misago/js/misago.js:13 static/misago/js/misago.js:14
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Close"
 msgstr "Закрыть"
 
-#: static/misago/js/misago.js:1 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:1 static/misago/js/misago.js:6
 msgid "Add participant"
 msgstr "Добавить участника"
 
@@ -70,9 +93,10 @@ msgstr "Добавление пользователя"
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:6 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:6 static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Cancel"
 msgstr "Отмена"
 
@@ -199,8 +223,8 @@ msgid "Generate my individual avatar"
 msgstr "Сгенерировать индивидуальную аватарку"
 
 #: static/misago/js/misago.js:2 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "Ok"
 msgstr "Ок"
 
@@ -268,39 +292,39 @@ msgstr "Вставить код"
 msgid "Emphase selection"
 msgstr "Акцентировать выделенное"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert horizontal ruler"
 msgstr "Вставить горизонтальный разделитель"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link to image"
 msgstr "Введите ссылку на изображение"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter image label (optional)"
 msgstr "Введите подпись изображения (опционально)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert image"
 msgstr "Вставить изображение"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link address"
 msgstr "Введите адрес ссылки"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link label (optional)"
 msgstr "Введите подпись ссылки (опционально)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert link"
 msgstr "Вставить ссылку"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter quote autor, prefix usernames with @"
 msgstr "Введите автора цитаты, ник пишите с префиксом @"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert quote"
 msgstr "Вставить цитату"
 
@@ -332,7 +356,7 @@ msgstr "Отменить удаление"
 msgid "Error uploading %(filename)s"
 msgstr "Ошибка загрузки  %(filename)s"
 
-#: static/misago/js/misago.js:3 static/misago/js/misago.js:8
+#: static/misago/js/misago.js:3 static/misago/js/misago.js:9
 msgid "Dismiss"
 msgstr "Отклонено"
 
@@ -349,7 +373,7 @@ msgid "Protected"
 msgstr "Защищено"
 
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Protect"
 msgstr "Защитить"
 
@@ -384,7 +408,7 @@ msgid ""
 " deleted during the merge."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:18
 msgid "Poll"
 msgstr "Опрос"
 
@@ -399,6 +423,7 @@ msgid "Are you sure you want to delete all polls?"
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Merge threads"
 msgstr "Объединить темы"
 
@@ -433,8 +458,7 @@ msgstr "Опубликовано %(poster)s%(posted_on)sв категории \"
 msgid "%(title)s, joined on %(joined_on)s"
 msgstr "%(title)s, присоединился %(joined_on)s"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "Change username"
 msgstr "Изменить имя"
 
@@ -471,7 +495,7 @@ msgstr[3] ""
 msgid "Your new username is same as current one."
 msgstr "Вашено новое имя совпадает с текущим."
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "New username"
 msgstr "Новое имя"
 
@@ -480,15 +504,15 @@ msgid "Your username has been changed successfully."
 msgstr "Имя было успешно изменено."
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change your options"
 msgstr "Измените ваши настройки"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5
 msgid "Enter your password to confirm account deletion."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:13
 msgid "Delete account"
 msgstr "Удалить аккаунт"
 
@@ -524,7 +548,54 @@ msgstr ""
 msgid "Delete my account"
 msgstr ""
 
-#: static/misago/js/misago.js:5 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:5
+msgid "Your request for data download has been registered."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download your data"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"To download your data from the site, click the \"Request data download\" "
+"button. Depending on amount of data to be archived and number of users "
+"wanting to download their data at same time it may take up to few days for "
+"your download to be prepared. An e-mail with notification will be sent to "
+"you when your data is ready to be downloaded."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"The download will only be available for limited amount of time, after which "
+"it will be deleted from the site and marked as expired."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Requested on"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "You have no data downloads."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Request data download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is being prepared"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is expired"
+msgstr ""
+
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:12
 msgid "Your details have been updated."
 msgstr "Личные данные обновлены."
 
@@ -609,7 +680,7 @@ msgstr "Темы, которые я начал"
 msgid "Threads I reply to"
 msgstr "Темы, где я отвечал"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:6
 msgid "Change email or password"
 msgstr "Изменить email или пароль"
 
@@ -659,7 +730,7 @@ msgstr "Новый пароль"
 msgid "Repeat password"
 msgstr "Повторите пароль"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change forgotten password"
 msgstr "Изменить забытый пароль"
 
@@ -851,11 +922,11 @@ msgstr[1] "%(votes)s голоса."
 msgstr[2] "%(votes)s голосов."
 msgstr[3] "%(votes)s голосов."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Votes are public."
 msgstr "Голоса публичны."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s vote, %(proc)s% of total."
 msgid_plural "%(votes)s votes, %(proc)s% of total."
 msgstr[0] "%(votes)s голос, %(proc)s%"
@@ -863,11 +934,11 @@ msgstr[1] "%(votes)s голоса, %(proc)s%"
 msgstr[2] "%(votes)s голосов, %(proc)s%"
 msgstr[3] "%(votes)s голосов, %(proc)s%"
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Your choice."
 msgstr "Ваш выбор."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s user has voted for this choice."
 msgid_plural "%(votes)s users have voted for this choice."
 msgstr[0] "%(votes)s пользователь проголосовал за этот вариант"
@@ -887,9 +958,8 @@ msgstr "Ответ"
 msgid "See votes"
 msgstr "Посмотрть ответы"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:15
 msgid "Edit"
 msgstr "Изменить"
 
@@ -901,8 +971,7 @@ msgstr ""
 "необратимо."
 
 #: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Delete"
 msgstr "Удалить"
 
@@ -969,28 +1038,28 @@ msgstr "Сообщение было возвращено в предыдущее
 msgid "See previous change"
 msgstr "Посмотреть предыдущее изменение"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "By %(edited_by)s %(edited_on)s."
 msgstr "Опубликовал  %(poster)s  %(posted_on)s."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This post's contents cannot be displayed."
 msgstr "Содержимое данного сообщения не может быть отображено."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This error is caused by invalid post content manipulation."
 msgstr ""
 "Эта ошибка произошла из-за неправильной манипуляции содержимым сообщения."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "posted %(posted_on)s"
 msgstr "Опубликовано  %(posted_on)s"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "Removed user"
 msgstr "Удалённый пользователь"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "See post"
 msgstr "Просмотреть сообщение"
 
@@ -1014,7 +1083,7 @@ msgstr "Ни одному пользователю ещё не понравил
 msgid "Are you sure you want to discard changes?"
 msgstr "Вы уверены, что хотите сбросить изменения?"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "You have to enter a message."
 msgstr "Необходимо ввести сообщение."
 
@@ -1046,11 +1115,12 @@ msgstr "Вы уверены, что хотите сбросить приватн
 msgid "You have to enter at least one recipient."
 msgstr "Необходимо указать хотя бы одного получателя."
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:15
 msgid "You have to enter thread title."
 msgstr "Вы должны ввести заголовок темы."
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Your thread has been posted."
 msgstr "Ваша тема была опубликована."
 
@@ -1058,12 +1128,13 @@ msgstr "Ваша тема была опубликована."
 msgid "Comma separated list of user names, eg.: Danny, Lisa"
 msgstr "Список пользователей через запятую, например: Иван, Василий"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:19
 msgid "Thread title"
 msgstr "Заголовок темы"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Post thread"
 msgstr "Опубликовать тему"
 
@@ -1071,35 +1142,35 @@ msgstr "Опубликовать тему"
 msgid "Are you sure you want to discard thread?"
 msgstr "Вы уверены что хотите удалить ветку?"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18
 msgid "Closed"
 msgstr "Закрыто"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:16
 msgid "Open"
 msgstr "Открыто"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:21
 msgid "Hidden"
 msgstr "Скрытые"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Not hidden"
 msgstr "Не скрывать"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Unpinned"
 msgstr "Откреплено"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned locally"
 msgstr "Закреплено локально"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned globally"
@@ -1186,12 +1257,12 @@ msgstr[3] ""
 "%(show_value)s)."
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Hide"
 msgstr "Спрятать"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Unhide"
 msgstr "Показать"
 
@@ -1213,10 +1284,6 @@ msgid "By %(event_by)s %(event_on)s."
 msgstr "%(event_by)s %(event_on)s."
 
 #: static/misago/js/misago.js:9
-msgid "IP recorded"
-msgstr "IP зарегистрированный"
-
-#: static/misago/js/misago.js:9
 msgid "Thread title has been changed from %(old_title)s."
 msgstr "Заголовок ветки был изменён с %(old_title)s."
 
@@ -1306,23 +1373,23 @@ msgstr ""
 msgid "Post has been deleted."
 msgstr "Сообщение удалено."
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link to this post:"
 msgstr "Постоянная ссылка на это сообщение:"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link"
 msgstr "Постоянная ссылка"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Mark as best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Unmark best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
 msgid "This post was edited %(edits)s time."
 msgid_plural "This post was edited %(edits)s times."
 msgstr[0] "Это сообщение было отредактировано %(edits)s раз."
@@ -1334,17 +1401,15 @@ msgstr[3] "Это сообщение было отредактировано %(e
 msgid "Changes history"
 msgstr "История изменений"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Approve"
 msgstr "Одобрить"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Move"
 msgstr "Переместить"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Split"
 msgstr "Разделить"
 
@@ -1357,6 +1422,7 @@ msgid "Move post"
 msgstr "Переместить сообщение"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You have to enter link to the other thread."
 msgstr "Вы должны указать ссылку на другую тему."
 
@@ -1406,7 +1472,7 @@ msgid "Close thread"
 msgstr "Закрыть тему"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19
 msgid "Category"
 msgstr "Категория"
 
@@ -1460,32 +1526,32 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Liked"
 msgstr "Нравится"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Like"
 msgstr "Лайк"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
 msgid "Reply"
 msgstr "Ответить"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "New post"
 msgstr "Новое сообщение"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:20
 msgid "New"
 msgstr "Новые"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "This post is protected and may not be edited."
 msgstr "Это сообщение защищено и не может быть отредактировано."
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "protected"
 msgstr "защищено"
 
@@ -1537,23 +1603,23 @@ msgstr "Вы не поделились информацией о себе с д
 msgid "%(username)s is not sharing any details with others."
 msgstr "%(username)s не поделился никакими деталями с другими."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
 msgid "Details"
 msgstr "Детали"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s's details have been updated."
 msgstr "%(username)sличные данные обновлены."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have no started threads."
 msgstr "У вас нет начатых тем."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s started no threads."
 msgstr "У %(username)s нет начатых тем."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] "Вы начали %(threads)sтему."
@@ -1561,7 +1627,7 @@ msgstr[1] "Вы начали %(threads)sтемы."
 msgstr[2] "Вы начали %(threads)sтем."
 msgstr[3] "Вы начали %(threads)s тем."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] ""
@@ -1569,25 +1635,24 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:13
 msgid "Loading..."
 msgstr "Загрузка..."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:19
 #: static/misago/js/misago.js:20
 msgid "Threads"
 msgstr "Темы"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted no messages."
 msgstr "Вы не написали сообщений."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s posted no messages."
 msgstr "У %(username)s нет опубликованных сообщений."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] "Вы опубликовали %(posts)s сообщение."
@@ -1595,7 +1660,7 @@ msgstr[1] "Вы опубликовали %(posts)s сообщения."
 msgstr[2] "Вы опубликовали %(posts)s сообщений."
 msgstr[3] "Вы опубликовали %(posts)s сообщений."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] ""
@@ -1603,11 +1668,11 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "Posts"
 msgstr "Сообщений"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:12
 msgid "Show more (%(more)s)"
 msgstr "Показать ещё (%(more)s)"
 
@@ -1708,6 +1773,7 @@ msgid "Joined %(joined_on)s"
 msgstr "Присоединился %(joined_on)s"
 
 #: static/misago/js/misago.js:12 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Moderation"
 msgstr "Модерация"
 
@@ -1763,41 +1829,41 @@ msgstr ""
 msgid "Avatar controls"
 msgstr "Контроль за аватаром"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Username has been changed."
 msgstr "Имя пользователя было изменено."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account, threads, posts and other content has been deleted."
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account has been deleted and other content has been hidden."
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete %(username)s"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Please wait... (%(countdown)ss)"
 msgstr ""
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "User content"
 msgstr "Пользовательский контент"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete together with user's account"
 msgstr "Удалить с аккаунтом пользователя"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Hide after deleting user's account"
 msgstr "Скрыть после удаления аккаунта пользователя."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Return to users list"
 msgstr "Вернуться к списку пользователей"
 
@@ -1869,75 +1935,74 @@ msgstr "Регистрация недоступна из-за ошибки."
 msgid "Register"
 msgstr "Регистрация"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Join with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Or create forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Username"
 msgstr "Имя пользователя"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:17
 #: static/misago/js/misago.js:18
 msgid "E-mail"
 msgstr "Электронная почта"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Password"
 msgstr "Пароль"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Register account"
 msgstr "Зарегистрировать аккаунт"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but you need to activate it "
 "before you will be able to sign in."
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but board administrator will "
 "have to activate it before you will be able to sign in."
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid ""
 "We have sent an e-mail to %(email)s with link that you have to click to "
 "activate your account."
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "We will send an e-mail to %(email)s when this takes place."
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Registration complete"
 msgstr "Регистрация завершена"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:25
 msgid "Enter a valid email address."
 msgstr "Введите корректный e-mail адрес."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Your e-mail address"
 msgstr "Ваш e-mail адрес"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Send link"
 msgstr "Отправить ссылку"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Activation link was sent to %(email)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Request another link"
 msgstr "Запросить другую ссылку"
 
@@ -2002,41 +2067,41 @@ msgstr "Пользователи по заданным критериям пои
 msgid "Enter at least two characters to search users."
 msgstr "Введите хотя бы два символа для поиска пользователя."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Fill out both fields."
 msgstr "Заполните оба поля."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Activate account"
 msgstr "Активировать аккаунт"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Sign in with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Or use your forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Username or e-mail"
 msgstr "Имя пользователя или e-mail"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Forgot password?"
 msgstr "Забыли пароль?"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid ""
-"%(username)s, your account has been created and you has been signed in to "
+"%(username)s, your account has been created and you have been signed in to "
 "it."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Registration completed!"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Return to forum index"
 msgstr ""
 
@@ -2045,6 +2110,10 @@ msgid "Sign in with %(backend)s"
 msgstr ""
 
 #: static/misago/js/misago.js:15
+msgid "You need to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:15
 msgid "Your e-mail address has been verified by %(backend)s."
 msgstr ""
 
@@ -2065,7 +2134,7 @@ msgid "Edit title"
 msgstr "Изменить название"
 
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:20
 msgid "Unapproved"
 msgstr "Одобренные"
 
@@ -2073,7 +2142,7 @@ msgstr "Одобренные"
 msgid "Unapproved posts"
 msgstr "Одобренные темы"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:15 static/misago/js/misago.js:18
 msgid "%(replies)s reply"
 msgid_plural "%(replies)s replies"
 msgstr[0] "%(replies)s ответ"
@@ -2099,19 +2168,19 @@ msgid ""
 msgstr ""
 "Вы уверены, что хотите удалить выбранные сообщения? Это действие необратимо!"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Merge"
 msgstr "Объединить"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Unprotect"
 msgstr "Снять защиту"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "%(username)s on %(posted_on)s"
 msgstr ""
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "One or more posts could not be changed:"
 msgstr "Одно или больше сообщений не могут быть изменены:"
 
@@ -2171,37 +2240,37 @@ msgstr "Закрепить локально"
 msgid "Unpin"
 msgstr "Открепить"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Merge thread"
 msgstr "Объединить тему"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been merged with other one."
 msgstr "Тема была объедена с другой."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Link to thread you want to merge with"
 msgstr "Ссылка на тему, с которой Вы хотите объединить"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid ""
 "Merge will delete current thread and move its contents to the thread "
 "specified here."
 msgstr ""
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Move thread"
 msgstr "Переместить тему"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You can't move this thread at the moment."
 msgstr "Вы не можете переместить тему на данный момент."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been moved."
 msgstr "Тема была перемещена."
 
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "New category"
 msgstr "Новая категория"
 
@@ -2241,15 +2310,15 @@ msgstr "Активна"
 msgid "Disabled"
 msgstr "Неактивна"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Unsubscribe"
 msgstr "Отписаться "
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe"
 msgstr "Подписаться"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe with e-mail"
 msgstr "Уведомлять по e-mail"
 
@@ -2281,11 +2350,11 @@ msgstr "Последнее сообщение"
 msgid "Options"
 msgstr "Настройки"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid "Add poll"
 msgstr "Добавить опрос"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid ""
 "There is %(threads)s new or updated thread. Click this message to show it."
 msgid_plural ""
@@ -2308,7 +2377,7 @@ msgstr ""
 msgid "Change subscription"
 msgstr "Изменить подписку"
 
-#: static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19
 msgid "Start thread"
 msgstr "Новая тема"
 
@@ -2388,7 +2457,7 @@ msgstr "Прикрепить темы локально"
 msgid "Unpin threads"
 msgstr "Открепить темы"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Move threads"
 msgstr "Переместить темы"
 
@@ -2424,7 +2493,7 @@ msgstr "Модерация тем"
 msgid "One or more threads could not be deleted:"
 msgstr "Одна или более тем не могут быть удалены:"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid ""
 "You can't move threads because there are no categories you are allowed to "
 "move them to."
@@ -2436,61 +2505,61 @@ msgid ""
 " to it."
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Selected threads were moved."
 msgstr "Выбранные темы были перенесены."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid ""
 "You need permission to start threads in category to be able to move threads "
 "to it."
 msgstr ""
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select all"
 msgstr "Выбрать всё"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select none"
 msgstr "Ничего не выбрано"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All"
 msgstr "Все"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All threads"
 msgstr "Все темы"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My"
 msgstr "Мои"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My threads"
 msgstr "Мои темы"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "New threads"
 msgstr "Новые темы"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread"
 msgstr "Непрочитанные"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread threads"
 msgstr "Непрочитанные темы"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed"
 msgstr "Подписки"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed threads"
 msgstr "Подписаться на темы"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unapproved content"
 msgstr "Не одобренное содержимое"
 
@@ -2506,7 +2575,8 @@ msgstr "Войдите или зарегистрируйтесь, чтобы у
 msgid "You have unread private threads!"
 msgstr ""
 
-#: static/misago/js/misago.js:20 static/misago/js/misago.js:22
+#: static/misago/js/misago.js:20 static/misago/js/misago.js:21
+#: static/misago/js/misago.js:23
 msgid "Private threads"
 msgstr "Приватные темы"
 
@@ -2514,67 +2584,67 @@ msgstr "Приватные темы"
 msgid "Are you sure you want to sign out?"
 msgstr "Вы уверены что хотите выйти?"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "See your profile"
 msgstr "Просмотреть профиль"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change options"
 msgstr "Изменить настройки"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change avatar"
 msgstr "Изменить аватар"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Log out"
 msgstr "Выход"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned until %(ban_expires)s"
 msgstr "%(username)sзаблокирован до %(ban_expires)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned"
 msgstr "%(username)sзаблокирован"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is hiding presence"
 msgstr ""
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online (hidden)"
 msgstr "%(username)sв сети (скрыто)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s (hidden)"
 msgstr "%(username)sбыл в сети %(last_click)s(скрыто)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online"
 msgstr "%(username)sв сети"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s"
 msgstr "%(username)sбыл %(last_click)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Banned"
 msgstr "Забанен"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online (hidden)"
 msgstr "В сети (скрыто)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline (hidden)"
 msgstr "Не в сети (скрыто)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online"
 msgstr "В сети"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline"
 msgstr "Не в сети"
 
@@ -2590,19 +2660,19 @@ msgstr[3] "%(followers)sпоследователей"
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr ""
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Rank"
 msgstr "Ранг"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Ranked posts"
 msgstr "Рейтинг сообщений"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "Total posts"
 msgstr "Всего сообщений"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] ""
@@ -2638,25 +2708,25 @@ msgstr "да"
 msgid "no"
 msgstr "нет"
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid ""
 "Private threads are threads which only those that started them and those "
 "they have invited may see and participate in."
 msgstr ""
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid "You aren't participating in any private threads."
 msgstr "Вы не участвуете ни в каких приватных темах."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Lost connection with application."
 msgstr "Потеряно соединение с приложением."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Action link is invalid."
 msgstr ""
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Unknown error has occured."
 msgstr "Произошла неизвестная ошибка."
 
@@ -2694,15 +2764,23 @@ msgstr ""
 msgid "You don't have permission to perform this action."
 msgstr "У Вас нет прав для совершения этого действия."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "You are banned"
 msgstr "Вы заблокированы"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "This field is required."
 msgstr "Это поле обязательно."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
+msgid "You have to accept the terms of service."
+msgstr ""
+
+#: static/misago/js/misago.js:25
+msgid "You have to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at least %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2714,7 +2792,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at most %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2726,7 +2804,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username must be at least %(limit_value)s character long."
 msgid_plural "Username must be at least %(limit_value)s characters long."
 msgstr[0] ""
@@ -2734,7 +2812,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username cannot be longer than %(limit_value)s character."
 msgid_plural "Username cannot be longer than %(limit_value)s characters."
 msgstr[0] ""
@@ -2742,11 +2820,11 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username can only contain latin alphabet letters and digits."
 msgstr "Имя пользователя может содержать только латинские буквы и цифры."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Valid password must be at least %(limit_value)s character long."
 msgid_plural ""
 "Valid password must be at least %(limit_value)s characters long."

BIN
misago/locale/tr/LC_MESSAGES/django.mo


+ 726 - 303
misago/locale/tr/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Yiğitcan Uçan <ucanyiit@gmail.com>, 2017\n"
 "Language-Team: Turkish (Turkey) (https://www.transifex.com/misago/teams/65369/tr_TR/)\n"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Permissions"
 msgstr "İzinler"
 
-#: acl/admin.py:33 users/forms/admin.py:414
+#: acl/admin.py:33 users/forms/admin.py:416
 msgid "User roles"
 msgstr "Kullanıcı rolleri"
 
@@ -142,17 +142,17 @@ msgstr "Bir veya daha fazla öğe seçmeniz gerekiyor."
 msgid "Action is not allowed."
 msgstr "İşlem yapılmasına izin verilmiyor."
 
-#: admin/views/index.py:70
+#: admin/views/index.py:83
 #, python-format
 msgid "Outdated: %(current)s! (latest: %(latest)s)"
 msgstr "Güncel olmayan:%(current)s! (en son:%(latest)s)"
 
-#: admin/views/index.py:78
+#: admin/views/index.py:91
 #, python-format
 msgid "Up to date! (%(current)s)"
 msgstr "Güncel! (%(current)s)"
 
-#: admin/views/index.py:87
+#: admin/views/index.py:100
 msgid "Failed to connect to GitHub API. Try again later."
 msgstr "GitHub API'ye bağlanti hatasi.Lütfen tekrar deneyin"
 
@@ -171,11 +171,11 @@ msgstr "Kategori sıralaması"
 msgid "Category roles"
 msgstr "bölüm rolleri"
 
-#: categories/forms.py:47 users/forms/admin.py:388
+#: categories/forms.py:47 users/forms/admin.py:390
 msgid "Name"
 msgstr "İsim"
 
-#: categories/forms.py:49 users/forms/admin.py:404
+#: categories/forms.py:49 users/forms/admin.py:406
 msgid "Description"
 msgstr "Açıklama"
 
@@ -183,7 +183,7 @@ msgstr "Açıklama"
 msgid "Optional description explaining category intented purpose."
 msgstr "bölüm beyan edilen isteğe bağlı açıklama."
 
-#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:421
+#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:423
 msgid "CSS class"
 msgstr "CSS sınıfı"
 
@@ -201,7 +201,7 @@ msgstr "Kapalı bölüm"
 msgid "Only members with valid permissions can post in closed categories."
 msgstr "Sadece geçerli izni olan üyeler kapalı kategorilerde ileti yapabilir."
 
-#: categories/forms.py:75 templates/misago/admin/index.html:83
+#: categories/forms.py:75 templates/misago/admin/index.html:110
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
 #: templates/misago/profile/threads.html:8
@@ -214,7 +214,7 @@ msgstr "Sadece geçerli izni olan üyeler kapalı kategorilerde ileti yapabilir.
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:72 threads/permissions/threads.py:103
-#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:89
+#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:97
 msgid "Threads"
 msgstr "Konular"
 
@@ -524,7 +524,7 @@ msgstr "Kimlik doğrulama geçersiz."
 
 #: core/forms.py:43 templates/misago/admin/users/edit.html:61
 #: templates/misago/admin/users/edit.html:78
-#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:590
+#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:604
 msgid "Yes"
 msgstr "Evet"
 
@@ -538,7 +538,7 @@ msgstr "Evet"
 #: threads/permissions/threads.py:164 threads/permissions/threads.py:178
 #: threads/permissions/threads.py:189 threads/permissions/threads.py:205
 #: threads/permissions/threads.py:216 threads/permissions/threads.py:247
-#: users/forms/admin.py:591 users/models/user.py:145
+#: users/forms/admin.py:605 users/models/user.py:147
 msgid "No"
 msgstr "Hayır"
 
@@ -641,7 +641,72 @@ msgstr "Veri alfanümerik karakterler içermelidir."
 msgid "Value is too long."
 msgstr "Veri çok uzun."
 
+#: legal/admin.py:25 templates/misago/admin/users/edit.html:216
+msgid "Agreements"
+msgstr ""
+
+#: legal/api.py:18
+msgid "You have already accepted this agreement."
+msgstr ""
+
+#: legal/api.py:27
+msgid "You need to submit a valid choice."
+msgstr ""
+
+#: legal/forms.py:10 legal/forms.py:60
+#: templates/misago/admin/agreements/list.html:18
+#: templates/misago/admin/attachmenttypes/list.html:16
+#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:589
+msgid "Type"
+msgstr "Tür"
+
+#: legal/forms.py:12 templates/misago/admin/agreements/list.html:16
+#: templates/misago/admin/ranks/list.html:17
+msgid "Title"
+msgstr "Başlık"
+
+#: legal/forms.py:13
+msgid "Optional, leave empty for agreement to be named after its type."
+msgstr ""
+
+#: legal/forms.py:17
+msgid "Set as active for its type"
+msgstr ""
+
+#: legal/forms.py:19
+msgid ""
+"If other agreement is already active for this type, it will be unset and "
+"replaced with this one. Misago will ask users who didn't accept this "
+"agreement to do so before allowing them to continue using the site's "
+"features."
+msgstr ""
+
+#: legal/forms.py:27
+msgid "Link"
+msgstr ""
+
+#: legal/forms.py:28
+msgid "If your agreement is located on other page, enter here a link to it."
+msgstr ""
+
+#: legal/forms.py:32
+msgid "Text"
+msgstr ""
+
+#: legal/forms.py:33
+msgid "You can use Markdown syntax for rich text elements."
+msgstr ""
+
+#: legal/forms.py:46
+msgid "Please fill in agreement link or text."
+msgstr ""
+
+#: legal/forms.py:65
+msgid "Content"
+msgstr ""
+
 #: legal/migrations/0001_initial.py:16
+#: legal/migrations/0003_create_agreements_from_settings.py:57
 msgid "Legal information"
 msgstr "Yasal bilgi"
 
@@ -689,7 +754,7 @@ msgstr ""
 msgid "Policy title"
 msgstr "ilke başlığı"
 
-#: legal/migrations/0001_initial.py:64 legal/views.py:46
+#: legal/migrations/0001_initial.py:64 legal/models.py:43
 #: templates/misago/footer.html:27
 msgid "Privacy policy"
 msgstr "Gizlilik ilke"
@@ -716,21 +781,85 @@ msgstr ""
 "biçimlendirme için kullanılabilir."
 
 #: legal/migrations/0001_initial.py:105
+#: legal/migrations/0003_create_agreements_from_settings.py:62
 msgid "Footnote"
 msgstr "Dipnote"
 
 #: legal/migrations/0001_initial.py:106
+#: legal/migrations/0003_create_agreements_from_settings.py:63
 msgid "Short message displayed in forum footer."
 msgstr "Forum alt başlığında kısa ileti görüldü."
 
 #: legal/migrations/0001_initial.py:107
+#: legal/migrations/0003_create_agreements_from_settings.py:64
 msgid "Forum footer"
 msgstr "Forum altbaşlığı"
 
-#: legal/views.py:65 templates/misago/footer.html:22
+#: legal/migrations/0003_create_agreements_from_settings.py:58
+msgid ""
+"Those settings allow you to set additional legal information for your forum."
+msgstr ""
+
+#: legal/models.py:42 templates/misago/footer.html:22
 msgid "Terms of service"
 msgstr "Servis koşullari"
 
+#: legal/views/admin.py:17
+msgid "Requested agreement does not exist."
+msgstr ""
+
+#: legal/views/admin.py:29 threads/views/admin/attachments.py:24
+#: users/views/admin/bans.py:24 users/views/admin/datadownloads.py:20
+#: users/views/admin/users.py:56
+msgid "From newest"
+msgstr "En yeni gelen"
+
+#: legal/views/admin.py:30 threads/views/admin/attachments.py:25
+#: users/views/admin/bans.py:25 users/views/admin/datadownloads.py:21
+#: users/views/admin/users.py:57
+msgid "From oldest"
+msgstr "Eskilerden"
+
+#: legal/views/admin.py:33
+msgid "With agreements: 0"
+msgstr ""
+
+#: legal/views/admin.py:34
+msgid "Select agreements"
+msgstr ""
+
+#: legal/views/admin.py:38
+msgid "Delete agreements"
+msgstr ""
+
+#: legal/views/admin.py:39
+msgid "Are you sure you want to delete those agreements?"
+msgstr ""
+
+#: legal/views/admin.py:49
+msgid "Selected agreements have been deleted."
+msgstr ""
+
+#: legal/views/admin.py:53
+#, python-format
+msgid "New agreement \"%(title)s\" has been saved."
+msgstr ""
+
+#: legal/views/admin.py:63
+#, python-format
+msgid "Agreement \"%(title)s\" has been edited."
+msgstr ""
+
+#: legal/views/admin.py:77
+#, python-format
+msgid "Agreement \"%(title)s\" has been deleted."
+msgstr ""
+
+#: legal/views/admin.py:85
+#, python-format
+msgid "Agreement \"%(title)s\" has been set as active for type \"%(type)s\"."
+msgstr ""
+
 #: markup/finalise.py:22
 #, python-format
 msgid "%(title)s has written:"
@@ -740,15 +869,15 @@ msgstr "%(title)syazıldı:"
 msgid "Quoted message:"
 msgstr "Alıntı ileti:"
 
-#: project_template/project_name/settings.py:388
+#: project_template/project_name/settings.py:424
 msgid "Personal"
 msgstr "Personal"
 
-#: project_template/project_name/settings.py:397
+#: project_template/project_name/settings.py:433
 msgid "Contact"
 msgstr "Temas kur"
 
-#: project_template/project_name/settings.py:405 users/models/ban.py:76
+#: project_template/project_name/settings.py:441 users/models/ban.py:76
 msgid "IP address"
 msgstr "IP adres"
 
@@ -856,6 +985,98 @@ msgstr "Aktivasyon başarısız oldu"
 msgid "Your account can't be activated at this time."
 msgstr "Hesabın şuan aktive edilemiyor."
 
+#: templates/misago/admin/agreements/form.html:9
+#: templates/misago/admin/agreements/form.html:18
+#: templates/misago/admin/agreements/form.html:28
+#: templates/misago/admin/agreements/list.html:9
+msgid "New agreement"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:43
+#: templates/misago/admin/categoryroles/form.html:43
+#: templates/misago/admin/roles/form.html:43
+msgid "Basic settings"
+msgstr "Temel ayarlar"
+
+#: templates/misago/admin/agreements/form.html:51
+msgid "Agreement contents"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:54
+msgid "Fill in one of the fields."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:19
+msgid "Created"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:20
+msgid "Modified"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:33
+#, python-format
+msgid "Active %(type)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:52
+#, python-format
+msgid "%(created_on)s by %(created_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:68
+#, python-format
+msgid "%(last_modified_on)s by %(last_modified_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:72
+msgid "never"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:78
+msgid "Set as active"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:88
+#: templates/misago/admin/attachmenttypes/list.html:54
+#: templates/misago/admin/bans/list.html:55
+#: templates/misago/admin/categories/list.html:66
+#: templates/misago/admin/categoryroles/list.html:27
+#: templates/misago/admin/ranks/list.html:99
+#: templates/misago/admin/roles/list.html:43
+#: templates/misago/admin/warnings/list.html:109
+#: templates/misago/poll/results.html:69
+#: templates/misago/profile/details.html:24
+#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
+msgid "Edit"
+msgstr "Düzenle"
+
+#: templates/misago/admin/agreements/list.html:94
+#: templates/misago/admin/bans/list.html:61
+msgid "Remove"
+msgstr "Kaldır"
+
+#: templates/misago/admin/agreements/list.html:106
+msgid "No agreements matching search criteria have been found"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:108
+msgid "No agreements are currently set."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:119
+msgid "Are you sure you want to set this agreement as active for its type?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:124
+msgid "Are you sure you want to delete this agreement?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:133
+#: templates/misago/admin/bans/list.html:95
+msgid "Search bans"
+msgstr "Banlari ara"
+
 #: templates/misago/admin/attachments/list.html:7
 msgid "Attachment"
 msgstr "Ek"
@@ -866,12 +1087,8 @@ msgstr "konu"
 
 #: templates/misago/admin/attachments/list.html:42
 #, python-format
-msgid ""
-"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s from "
-"%(uploader_ip)s."
+msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s."
 msgstr ""
-"%(filetype)s,%(size)s,%(uploader)s tarafından "
-"yüklendi%(uploaded_on)sitibaren%(uploader_ip)s"
 
 #: templates/misago/admin/attachments/list.html:53
 #: templates/misago/admin/attachmenttypes/list.html:47
@@ -921,11 +1138,6 @@ msgstr "Temel seçenekler"
 msgid "Availability"
 msgstr "Geçerlilik"
 
-#: templates/misago/admin/attachmenttypes/list.html:16
-#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:575
-msgid "Type"
-msgstr "Tür"
-
 #: templates/misago/admin/attachmenttypes/list.html:17
 msgid "Extensions"
 msgstr "Uzatma"
@@ -938,19 +1150,6 @@ msgstr "Mime türleri"
 msgid "Files"
 msgstr "Dosya"
 
-#: templates/misago/admin/attachmenttypes/list.html:54
-#: templates/misago/admin/bans/list.html:55
-#: templates/misago/admin/categories/list.html:66
-#: templates/misago/admin/categoryroles/list.html:27
-#: templates/misago/admin/ranks/list.html:99
-#: templates/misago/admin/roles/list.html:43
-#: templates/misago/admin/warnings/list.html:109
-#: templates/misago/poll/results.html:69
-#: templates/misago/profile/details.html:24
-#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
-msgid "Edit"
-msgstr "Düzenle"
-
 #: templates/misago/admin/attachmenttypes/list.html:71
 msgid "No attachment types are currently defined."
 msgstr "Hiç bir ek tür tanimlanamadi."
@@ -967,12 +1166,12 @@ msgid "New ban"
 msgstr "Yeni Yasaklamak"
 
 #: templates/misago/admin/bans/form.html:43
-#: templates/misago/admin/users/ban.html:53
+#: templates/misago/admin/users/ban.html:57
 msgid "Ban settings"
 msgstr "Yasaklamak ayarları"
 
 #: templates/misago/admin/bans/form.html:52
-#: templates/misago/admin/users/ban.html:60
+#: templates/misago/admin/users/ban.html:64
 msgid "Messages"
 msgstr "Mesajlar"
 
@@ -980,8 +1179,8 @@ msgstr "Mesajlar"
 msgid "Ban"
 msgstr "Yasaklamak"
 
-#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:493
-#: users/forms/admin.py:546
+#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:488
+#: users/forms/admin.py:560
 msgid "Expires on"
 msgstr "Bitiş süresi"
 
@@ -994,10 +1193,6 @@ msgstr "%(check_type)s,yanlızca kayıt"
 msgid "Never"
 msgstr "Asla"
 
-#: templates/misago/admin/bans/list.html:61
-msgid "Remove"
-msgstr "Kaldır"
-
 #: templates/misago/admin/bans/list.html:73
 msgid "No bans matching search criteria have been found"
 msgstr "Arama kıriterlerine uyuşan hiç bir ban bulunamadı"
@@ -1010,10 +1205,6 @@ msgstr "Şuan hiç bir ban uygulanamadi."
 msgid "Are you sure you want to remove this ban?"
 msgstr "Bu Yasaklamak silmek istediğine emin misiniz?"
 
-#: templates/misago/admin/bans/list.html:95
-msgid "Search bans"
-msgstr "Banlari ara"
-
 #: templates/misago/admin/base_thin.html:8
 msgid "Misago Administration"
 msgstr "Misago Yönetimi"
@@ -1145,11 +1336,6 @@ msgstr "Değişikliklerden vazgeçmek istiyor musun?"
 msgid "New role"
 msgstr "Yeni sıfat"
 
-#: templates/misago/admin/categoryroles/form.html:43
-#: templates/misago/admin/roles/form.html:43
-msgid "Basic settings"
-msgstr "Temel ayarlar"
-
 #: templates/misago/admin/categoryroles/list.html:16
 msgid "Category role"
 msgstr "bölüm sıfat"
@@ -1186,6 +1372,61 @@ msgstr ""
 msgid "Change settings"
 msgstr "Ayarları değiştir"
 
+#: templates/misago/admin/datadownloads/form.html:6
+#: templates/misago/admin/datadownloads/form.html:11
+#: templates/misago/admin/datadownloads/form.html:17
+msgid "Request new data downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:9
+msgid "Request new downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:17
+#: templates/misago/admin/users/list.html:17 users/forms/admin.py:696
+msgid "User"
+msgstr "Kullanici"
+
+#: templates/misago/admin/datadownloads/list.html:18 threads/forms.py:56
+#: users/forms/admin.py:691
+msgid "Status"
+msgstr "durum"
+
+#: templates/misago/admin/datadownloads/list.html:19
+msgid "Requested on"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:21 users/forms/admin.py:700
+msgid "Requested by"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:32
+#: templates/misago/admin/datadownloads/list.html:49
+#: templates/misago/admin/datadownloads/list.html:52
+#: templates/misago/admin/users/ban.html:35
+#: templates/misago/admin/users/edit.html:113
+#: templates/misago/admin/users/list.html:35
+#: templates/misago/userslists/active_posters.html:66
+msgid "Avatar"
+msgstr "Avatar"
+
+#: templates/misago/admin/datadownloads/list.html:73
+#: templates/misago/emails/data_download.html:11 users/apps.py:50
+msgid "Download data"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:84
+msgid "No data downloads matching search criteria have been found."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:86
+msgid "No data downloads exist at the moment."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:93
+msgid "Search data downloads"
+msgstr ""
+
 #: templates/misago/admin/errorpages/403.html:5
 #: templates/misago/errorpages/403.html:5
 msgid "Page not available"
@@ -1340,44 +1581,73 @@ msgstr "Son"
 msgid "Administration Home"
 msgstr "Yönetici evi"
 
-#: templates/misago/admin/index.html:33
+#: templates/misago/admin/index.html:22
+msgid "System checks"
+msgstr ""
+
+#: templates/misago/admin/index.html:26
+msgid "MISAGO_ADDRESS setting appears to be correct."
+msgstr ""
+
+#: templates/misago/admin/index.html:30
+msgid "The settings.py value for MISAGO_ADDRESS appears to be incorrect."
+msgstr ""
+
+#: templates/misago/admin/index.html:38
+#, python-format
+msgid ""
+"Your MISAGO_ADDRESS is set to %(configured_address)s while correct value "
+"appears to be %(correct_address)s."
+msgstr ""
+
+#: templates/misago/admin/index.html:42 templates/misago/admin/index.html:47
+msgid ""
+"Misago uses this setting to build correct links in e-mails sent to site "
+"users."
+msgstr ""
+
+#: templates/misago/admin/index.html:46
+msgid "The settings.py is missing MISAGO_ADDRESS value."
+msgstr ""
+
+#: templates/misago/admin/index.html:60
 msgid "Misago version"
 msgstr "Misago sürümü"
 
-#: templates/misago/admin/index.html:56
+#: templates/misago/admin/index.html:83
 msgid "Check version"
 msgstr "Sürümü kontrol et"
 
-#: templates/misago/admin/index.html:62
+#: templates/misago/admin/index.html:89
 msgid "This feature requires \"packaging\" python module."
 msgstr "Bu özellik \"paketleme\" python modülünü gerektirir."
 
-#: templates/misago/admin/index.html:76
+#: templates/misago/admin/index.html:103
 msgid "DB Contents"
 msgstr "DB içerikleri"
 
-#: templates/misago/admin/index.html:87
+#: templates/misago/admin/index.html:114
 #: templates/misago/admin/users/delete.html:36
-#: templates/misago/admin/users/list.html:23
+#: templates/misago/admin/users/list.html:24
 #: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
-#: threads/migrations/0004_update_settings.py:48 users/apps.py:83
+#: threads/migrations/0004_update_settings.py:48 users/apps.py:91
 msgid "Posts"
 msgstr "iletiler"
 
-#: templates/misago/admin/index.html:91 templates/misago/navbar.html:40
+#: templates/misago/admin/index.html:118 templates/misago/navbar.html:40
 #: templates/misago/userslists/base.html:5
-#: templates/misago/userslists/base.html:14 users/admin.py:70
+#: templates/misago/userslists/base.html:14 users/admin.py:80
 #: users/migrations/0002_users_settings.py:16
 #: users/migrations/0006_update_settings.py:17 users/search.py:18
 msgid "Users"
 msgstr "Kullanicilar"
 
-#: templates/misago/admin/index.html:96
+#: templates/misago/admin/index.html:123
 msgid "Inactive users"
 msgstr "Aktif olmayan kullanicilar"
 
-#: templates/misago/admin/index.html:122
+#: templates/misago/admin/index.html:149
 msgid "Checking..."
 msgstr "Kontrol ediliyor..."
 
@@ -1405,7 +1675,7 @@ msgstr "Lütfen sonra tekrar deneyin"
 msgid "Username or e-mail"
 msgstr "Kullanıcı adi ve ya e-mail"
 
-#: templates/misago/admin/login.html:62 users/forms/admin.py:60
+#: templates/misago/admin/login.html:62 users/forms/admin.py:62
 #: users/forms/auth.py:59
 msgid "Password"
 msgstr "Şifre"
@@ -1450,17 +1720,13 @@ msgid "Display and visibility"
 msgstr "Görüntülenme ve görünürlük"
 
 #: templates/misago/admin/ranks/list.html:16
-#: templates/misago/admin/users/list.html:21
+#: templates/misago/admin/users/list.html:22
 #: templates/misago/userslists/active_posters.html:95
 #: templates/misago/userslists/active_posters.html:106
-#: users/forms/admin.py:236
+#: users/forms/admin.py:238
 msgid "Rank"
 msgstr "Rütbe"
 
-#: templates/misago/admin/ranks/list.html:17
-msgid "Title"
-msgstr "Başlık"
-
 #: templates/misago/admin/ranks/list.html:18
 msgid "Special"
 msgstr "Özel"
@@ -1502,7 +1768,7 @@ msgid "No user roles are currently defined."
 msgstr "Hiç bir kullanici rolü tanimlanamadi."
 
 #: templates/misago/admin/users/ban.html:6
-#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:72
+#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:73
 msgid "Ban users"
 msgstr "Yasaklamak  kullanicilar"
 
@@ -1510,14 +1776,11 @@ msgstr "Yasaklamak  kullanicilar"
 msgid "Ban selected users:"
 msgstr "Seçilmiş kullanicilari Yasaklamak :"
 
-#: templates/misago/admin/users/ban.html:35
-#: templates/misago/admin/users/edit.html:113
-#: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:66
-msgid "Avatar"
-msgstr "Avatar"
+#: templates/misago/admin/users/ban.html:48
+msgid "IP not available"
+msgstr ""
 
-#: templates/misago/admin/users/ban.html:72
+#: templates/misago/admin/users/ban.html:76
 msgid "Set bans"
 msgstr "Banlari kur"
 
@@ -1613,6 +1876,18 @@ msgstr ""
 msgid "No staff message is available."
 msgstr "Hiç bir personel ileti mevcut değil."
 
+#: templates/misago/admin/users/edit.html:220
+msgid "Agreement"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:221
+msgid "Accepted on"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:239
+msgid "This user didn't accept any agreements."
+msgstr ""
+
 #: templates/misago/admin/users/list.html:9
 #: templates/misago/admin/users/new.html:6
 #: templates/misago/admin/users/new.html:11
@@ -1620,51 +1895,55 @@ msgstr "Hiç bir personel ileti mevcut değil."
 msgid "New user"
 msgstr "Yeni kullanici"
 
-#: templates/misago/admin/users/list.html:17
-msgid "User"
-msgstr "Kullanici"
-
-#: templates/misago/admin/users/list.html:20
+#: templates/misago/admin/users/list.html:20 users/signals.py:30
 msgid "E-mail"
 msgstr "E-mail"
 
-#: templates/misago/admin/users/list.html:22
+#: templates/misago/admin/users/list.html:21
+msgid "IP Address"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:23
 msgid "Joined"
 msgstr "Katildi"
 
-#: templates/misago/admin/users/list.html:39
+#: templates/misago/admin/users/list.html:40
 msgid "Is deleting their account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:43
+#: templates/misago/admin/users/list.html:44
 msgid "Is disabled by administrator"
 msgstr "Admin tarafından devre dışı bırakıldı"
 
-#: templates/misago/admin/users/list.html:54
+#: templates/misago/admin/users/list.html:55
 msgid "Requires activation by administrator"
 msgstr "Admin aktivasyonu gerekiyor"
 
-#: templates/misago/admin/users/list.html:56
+#: templates/misago/admin/users/list.html:57
 msgid "Has to activate account"
 msgstr "Hesabın onaylanması gerek"
 
-#: templates/misago/admin/users/list.html:63
+#: templates/misago/admin/users/list.html:64
 msgid "Super administrator"
 msgstr "Süper admin"
 
-#: templates/misago/admin/users/list.html:65
+#: templates/misago/admin/users/list.html:66
 msgid "Administrator"
 msgstr "Admin"
 
-#: templates/misago/admin/users/list.html:90
+#: templates/misago/admin/users/list.html:78
+msgid "IP removed"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:98
 msgid "Edit user"
 msgstr "Kullanıcı düzenle"
 
-#: templates/misago/admin/users/list.html:99
+#: templates/misago/admin/users/list.html:107
 msgid "No users matching search criteria have been found."
 msgstr "Aranan kriterde hiç bir kullanıcı bulunamadı."
 
-#: templates/misago/admin/users/list.html:105
+#: templates/misago/admin/users/list.html:113
 msgid "Search users"
 msgstr "Kullanıcı ara"
 
@@ -1877,6 +2156,30 @@ msgstr "Hesap şifrenizi değiştirmek için aşağıdaki bağlantıyı tıklay
 msgid "Set new password"
 msgstr "Yeni şifre ayarla"
 
+#: templates/misago/emails/data_download.html:6
+#: templates/misago/emails/data_download.txt:6
+#, python-format
+msgid ""
+"%(user)s, you are receiving this message because your data is ready for "
+"download."
+msgstr ""
+
+#: templates/misago/emails/data_download.html:14
+#: templates/misago/emails/data_download.txt:15
+#, python-format
+msgid ""
+"This link will remain active for %(expires_in)s hour from the time this "
+"message has been sent."
+msgid_plural ""
+"This link will remain active for %(expires_in)s hours from the time this "
+"message has been sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/misago/emails/data_download.txt:10
+msgid "To download your data, click the following link:"
+msgstr ""
+
 #: templates/misago/emails/privatethread/added.html:9
 #, python-format
 msgid ""
@@ -1980,11 +2283,9 @@ msgstr ""
 #: templates/misago/emails/thread/reply.html:9
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread %(thread)s that you are subscribed to."
 msgstr ""
-"%(user)s, bu ileti Alıyorsunuz, çünkü %(poster)s ,  konu abone olduğunuz "
-"konu %(thread)s yanıt verdi."
 
 #: templates/misago/emails/thread/reply.html:14
 #: templates/misago/emails/thread/reply.txt:10
@@ -1998,11 +2299,9 @@ msgstr "Cevabına git"
 #: templates/misago/emails/thread/reply.txt:6
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread \"%(thread)s\" that you are subscribed to."
 msgstr ""
-"%(user)s,%(poster)s, \"%(thread)s\" konu abone olduğunuzdan konu yanıtladığı"
-" için bu ileti alıyorsunuz."
 
 #: templates/misago/errorpages/403.html:40
 msgid "This page is not available."
@@ -2246,7 +2545,7 @@ msgstr "Sonuçlara bak"
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:8
-#: templates/misago/profile/ban_details.html:15 users/apps.py:120
+#: templates/misago/profile/ban_details.html:15 users/apps.py:128
 msgid "Ban details"
 msgstr "Yasaklamak ayrıntıları"
 
@@ -2293,7 +2592,7 @@ msgstr[1] "%(threads)s dizilerini başlattı."
 
 #: templates/misago/profile/details.html:5
 #: templates/misago/profile/details.html:8
-#: templates/misago/profile/details.html:18 users/apps.py:107
+#: templates/misago/profile/details.html:18 users/apps.py:115
 msgid "Details"
 msgstr "ayrıntılar"
 
@@ -2321,7 +2620,7 @@ msgid "This error is caused by invalid post content manipulation."
 msgstr "Bu hata, geçersiz ileti içeriği manipülasyonundan kaynaklanmaktadır."
 
 #: templates/misago/profile/followers.html:5
-#: templates/misago/profile/followers.html:8 users/apps.py:95
+#: templates/misago/profile/followers.html:8 users/apps.py:103
 msgid "Followers"
 msgstr "Takipçiler"
 
@@ -2349,7 +2648,7 @@ msgid "%(username)s has no followers."
 msgstr "%(username)sTakipçisi yok."
 
 #: templates/misago/profile/follows.html:5
-#: templates/misago/profile/follows.html:8 users/apps.py:101
+#: templates/misago/profile/follows.html:8 users/apps.py:109
 msgid "Follows"
 msgstr "Şöyledir"
 
@@ -2436,7 +2735,7 @@ msgid "%(username)s started no threads."
 msgstr "%(username)sKonu başlatılmamış."
 
 #: templates/misago/profile/username_history.html:5
-#: templates/misago/profile/username_history.html:8 users/apps.py:113
+#: templates/misago/profile/username_history.html:8 users/apps.py:121
 msgid "Username history"
 msgstr "Kullanıcı adı geçmişi"
 
@@ -2463,6 +2762,20 @@ msgstr "Kullanıcı adınız hiçbir zaman değiştirilmedi."
 msgid "%(username)s's username was never changed."
 msgstr "%(username)skullanıcının adı hiç değişmedi."
 
+#: templates/misago/required_agreement.html:9
+#, python-format
+msgid "Please review the updated %(agreement)s:"
+msgstr ""
+
+#: templates/misago/required_agreement.html:19
+msgid "here"
+msgstr ""
+
+#: templates/misago/required_agreement.html:21
+#, python-format
+msgid "Please review the updated %(agreement)s available %(link)s."
+msgstr ""
+
 #: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgstr "Arama sitesi"
@@ -2579,10 +2892,6 @@ msgstr " %(hidden_by)starafından gizlendi%(hidden_on)s"
 msgid "By %(event_by)s on %(event_on)s."
 msgstr "%(event_by)s tarafından %(event_on)s"
 
-#: templates/misago/thread/posts/event/info.html:34
-msgid "IP recorded"
-msgstr "IP kaydedildi"
-
 #: templates/misago/thread/posts/post/attachments.html:33
 #, python-format
 msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s on %(uploaded_on)s."
@@ -2869,11 +3178,11 @@ msgstr "Ekler"
 msgid "Attachment types"
 msgstr "Ataşman tipleri"
 
-#: threads/api/attachments.py:19
+#: threads/api/attachments.py:20
 msgid "You don't have permission to upload new files."
 msgstr "Yeni dosya yüklemek için izniniz yok."
 
-#: threads/api/attachments.py:29
+#: threads/api/attachments.py:30
 msgid "No file has been uploaded."
 msgstr "Hiçbir dosya yüklenmedi."
 
@@ -2881,11 +3190,11 @@ msgstr "Hiçbir dosya yüklenmedi."
 msgid "Uploaded image was corrupted or invalid."
 msgstr "Yüklenen resim bozuk veya geçersiz."
 
-#: threads/api/attachments.py:81
+#: threads/api/attachments.py:83
 msgid "You can't upload files of this type."
 msgstr "Bu tür dosyalar yükleyemezsiniz."
 
-#: threads/api/attachments.py:86
+#: threads/api/attachments.py:88
 #, python-format
 msgid ""
 "You can't upload files larger than %(limit)s (your file has %(upload)s)."
@@ -2893,7 +3202,7 @@ msgstr ""
 "%(limit)s daha büyük dosyaları karşıya yükleyemezsiniz "
 "(dosyanızın%(upload)sye sahip olduğu)."
 
-#: threads/api/attachments.py:96
+#: threads/api/attachments.py:98
 #, python-format
 msgid ""
 "You can't upload files of this type larger than %(limit)s (your file has "
@@ -2902,7 +3211,7 @@ msgstr ""
 "Bu türe%(limit)sden büyük dosya yükleyemezsiniz (dosyanızın%(upload)sye "
 "sahip olduğu)."
 
-#: threads/api/postendpoints/edits.py:89
+#: threads/api/postendpoints/edits.py:88
 msgid "Edits record is unavailable for this post."
 msgstr "Bu ileti için düzenleme kayıtları kullanılamıyor."
 
@@ -2918,12 +3227,12 @@ msgstr "Bu konu daki iletiler taşıyamazsınız."
 msgid "You can't like posts in this category."
 msgstr "Bu bölüm iletiler beğenemezsin."
 
-#: threads/api/postendpoints/patch_post.py:108
+#: threads/api/postendpoints/patch_post.py:107
 #: threads/api/threadendpoints/patch.py:130
 msgid "Content approval can't be reversed."
 msgstr "İçerik onayı tersine çevrilebilir."
 
-#: threads/api/postendpoints/patch_post.py:186
+#: threads/api/postendpoints/patch_post.py:185
 msgid "One or more posts to update could not be found."
 msgstr "Güncelleştirilecek bir veya daha fazla iletiler bulunamadı."
 
@@ -2936,7 +3245,7 @@ msgstr "Bu konu dan gelen iletiler bölemezsiniz."
 msgid "You don't have permission to remove \"%(attachment)s\" attachment."
 msgstr "%(attachment)s eki kaldırma izniniz yok."
 
-#: threads/api/postingendpoint/attachments.py:128
+#: threads/api/postingendpoint/attachments.py:127
 #, python-format
 msgid ""
 "You can't attach more than %(limit_value)s file to single post (added "
@@ -3018,11 +3327,11 @@ msgstr[1] ""
 msgid "One or more users could not be found: %(usernames)s"
 msgstr "Bir veya daha fazla kullanıcı bulunamadı:%(usernames)s"
 
-#: threads/api/postingendpoint/reply.py:81 threads/validators.py:80
+#: threads/api/postingendpoint/reply.py:83 threads/validators.py:80
 msgid "You have to enter a message."
 msgstr "Bir ileti girmeniz gerekiyor."
 
-#: threads/api/postingendpoint/reply.py:103 threads/validators.py:41
+#: threads/api/postingendpoint/reply.py:105 threads/validators.py:41
 msgid "You have to enter thread title."
 msgstr "Konu başlığını girmeniz gerekiyor."
 
@@ -3102,7 +3411,7 @@ msgstr "Bu kullanıcı zaten konu sahibi."
 msgid "One or more threads to update could not be found."
 msgstr "Güncelleştirilecek bir veya daha fazla konu bulunamadı."
 
-#: threads/api/threadpoll.py:53
+#: threads/api/threadpoll.py:54
 msgid "There's already a poll in this thread."
 msgstr "Bu konu daki bir anket zaten var."
 
@@ -3138,7 +3447,7 @@ msgstr "Dosya adı içeriyor"
 msgid "File type"
 msgstr "Dosya tipi"
 
-#: threads/forms.py:24 users/forms/admin.py:595
+#: threads/forms.py:24 users/forms/admin.py:609
 msgid "State"
 msgstr "Belirtmek, bildirmek"
 
@@ -3162,10 +3471,6 @@ msgstr "Dosya uzantıları"
 msgid "Maximum allowed uploaded file size"
 msgstr "Maksimum izin verilen karşıya yüklenen dosya boyutu"
 
-#: threads/forms.py:56
-msgid "Status"
-msgstr "durum"
-
 #: threads/forms.py:57
 msgid "Limit uploads to"
 msgstr "Yüklemeleri sınırla"
@@ -3811,7 +4116,7 @@ msgstr "Taşkın koruma önlemlerine göre daha sık gönderilmesini sağlar."
 msgid "Can see threads"
 msgstr "Konuları görebilir"
 
-#: threads/permissions/threads.py:110 users/forms/admin.py:166
+#: threads/permissions/threads.py:110 users/forms/admin.py:168
 #: users/migrations/0002_users_settings.py:144
 #: users/migrations/0006_update_settings.py:130
 msgid "Started threads"
@@ -4718,6 +5023,14 @@ msgstr "Bir veya daha fazla anket seçimi geçersizdi."
 msgid "You have to make a choice."
 msgstr "Bir seçim yapmalısın."
 
+#: threads/signals.py:177
+msgid "Question"
+msgstr ""
+
+#: threads/signals.py:178
+msgid "Choices"
+msgstr ""
+
 #: threads/templatetags/misago_poststags.py:20
 #, python-format
 msgid "%(user)s likes this."
@@ -4873,23 +5186,13 @@ msgstr "Onaylanmamış içerik listelerini görmek için izniniz yok."
 msgid "Requested attachment could not be found."
 msgstr "İstenen ek bulunamadı."
 
-#: threads/views/admin/attachments.py:24 users/views/admin/bans.py:24
-#: users/views/admin/users.py:55
-msgid "From newest"
-msgstr "En yeni gelen"
-
-#: threads/views/admin/attachments.py:25 users/views/admin/bans.py:25
-#: users/views/admin/users.py:56
-msgid "From oldest"
-msgstr "Eskilerden"
-
 #: threads/views/admin/attachments.py:26 users/views/admin/bans.py:26
-#: users/views/admin/users.py:57
+#: users/views/admin/users.py:58
 msgid "A to z"
 msgstr "A'dan Z'ye"
 
 #: threads/views/admin/attachments.py:27 users/views/admin/bans.py:27
-#: users/views/admin/users.py:58
+#: users/views/admin/users.py:59
 msgid "Z to a"
 msgstr "Z'den A'ya"
 
@@ -4959,33 +5262,37 @@ msgid ""
 msgstr ""
 "İlk onaylanmamış ileti gidebilmek için içeriğin onaylanması için izin alın."
 
-#: users/admin.py:79
+#: users/admin.py:89
 msgid "User Accounts"
 msgstr "Kullanıcı hesapları"
 
-#: users/admin.py:87
+#: users/admin.py:97
 msgid "Ranks"
 msgstr "Rütbeler"
 
-#: users/admin.py:96
+#: users/admin.py:106
 msgid "Bans"
 msgstr "yasaklar"
 
+#: users/admin.py:115
+msgid "Data downloads"
+msgstr ""
+
 #: users/api/auth.py:100
 #, python-format
 msgid "Activate %(user)s account on %(forum_name)s forums"
 msgstr "%(user)s hesabını %(forum_name)s forumlarında etkinleştir"
 
-#: users/api/auth.py:139
+#: users/api/auth.py:138
 #, python-format
 msgid "Change %(user)s password on %(forum_name)s forums"
 msgstr "%(user)s 'un şifresini %(forum_name)s forumlarında değiştir"
 
-#: users/api/auth.py:180
+#: users/api/auth.py:178
 msgid "Form link is invalid. Please try again."
 msgstr "Form bağlantısı geçersiz. Lütfen tekrar deneyin."
 
-#: users/api/auth.py:181
+#: users/api/auth.py:179
 msgid "Your link has expired. Please request new one."
 msgstr "Bağlantınızın süresi doldu. Lütfen yeni bir tane talep edin."
 
@@ -5055,15 +5362,15 @@ msgstr "Yeni adrese e-posta değişikliği onay linki gönderildi."
 msgid "Confirm password change on %(forum_name)s forums"
 msgstr "%(forum_name)s forumlarındaki şifre değişikliğini onayla"
 
-#: users/api/userendpoints/changepassword.py:31
+#: users/api/userendpoints/changepassword.py:32
 msgid "Password change confirmation link was sent to your address."
 msgstr "Adresinize şifre değişim onay linki gönderildi."
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:25
 msgid "New users registrations are currently closed."
 msgstr "Yeni kullanıcılar kayıtları şu anda kapalıdır."
 
-#: users/api/userendpoints/create.py:53 users/social/pipeline.py:205
+#: users/api/userendpoints/create.py:61 users/social/pipeline.py:215
 msgid "Please try resubmitting the form."
 msgstr "Lütfen formu tekrar deneyin."
 
@@ -5088,38 +5395,54 @@ msgstr "Kullanıcı adı değiştirilirken hata oluştu. Lütfen tekrar deneyin.
 msgid "You don't have permission to see other users name history."
 msgstr "Diğer kullanıcıların ad geçmişini izlemek için izniniz yok."
 
-#: users/api/users.py:54
+#: users/api/users.py:57
 msgid "You have to sign in to perform this action."
 msgstr "Bu işlemi gerçekleştirmek için oturum açmanız gerekir."
 
-#: users/api/users.py:100
+#: users/api/users.py:103
 msgid "You can't change other users avatars."
 msgstr "Diğer avatarları değiştiremezsiniz."
 
-#: users/api/users.py:107
+#: users/api/users.py:110
 msgid "You can't change other users options."
 msgstr "Diğer kullanıcı seçeneklerini değiştiremezsiniz."
 
-#: users/api/users.py:112
+#: users/api/users.py:115
 msgid "Your forum options have been changed."
 msgstr "Forum seçenekleriniz değiştirildi."
 
-#: users/api/users.py:119
+#: users/api/users.py:122
 msgid "You can't change other users names."
 msgstr "Diğer kullanıcı adlarını değiştiremezsiniz."
 
-#: users/api/users.py:126
+#: users/api/users.py:129
 msgid "You can't change other users signatures."
 msgstr "Diğer kullanıcı imzalarını değiştiremezsiniz."
 
-#: users/api/users.py:133
+#: users/api/users.py:136
 msgid "You can't change other users passwords."
 msgstr "Diğer kullanıcıların şifrelerini değiştiremezsiniz."
 
-#: users/api/users.py:140
+#: users/api/users.py:143
 msgid "You can't change other users e-mail addresses."
 msgstr "Diğer kullanıcıların e-posta adreslerini değiştiremezsiniz."
 
+#: users/api/users.py:225
+msgid "You can't request data downloads for other users."
+msgstr ""
+
+#: users/api/users.py:228
+msgid "You can't download your data."
+msgstr ""
+
+#: users/api/users.py:232
+msgid "You can't have more than one data download request at single time."
+msgstr ""
+
+#: users/api/users.py:278
+msgid "You can't see other users data downloads."
+msgstr ""
+
 #: users/apps.py:30
 msgid "Edit details"
 msgstr "Detayları düzenle"
@@ -5132,11 +5455,11 @@ msgstr "Kullanıcı adını değiştir"
 msgid "Change email or password"
 msgstr "E-posta veya şifre değiştir"
 
-#: users/apps.py:50
+#: users/apps.py:58
 msgid "Delete account"
 msgstr ""
 
-#: users/apps.py:59
+#: users/apps.py:67
 msgid "Active poster"
 msgstr ""
 
@@ -5193,27 +5516,27 @@ msgstr "İzinleri ve grupları düzenle"
 msgid "Edit the user from Misago admin panel"
 msgstr "Misago yönetim masa kullanıcıyı düzenleyin"
 
-#: users/forms/admin.py:21 users/models/ban.py:74
+#: users/forms/admin.py:23 users/models/ban.py:74 users/signals.py:29
 msgid "Username"
 msgstr "Kullanıcı adı"
 
-#: users/forms/admin.py:22
+#: users/forms/admin.py:24
 msgid "Custom title"
 msgstr "Özel Başlık"
 
-#: users/forms/admin.py:23 users/models/ban.py:75
+#: users/forms/admin.py:25 users/models/ban.py:75
 msgid "E-mail address"
 msgstr "Mail Adresi"
 
-#: users/forms/admin.py:52
+#: users/forms/admin.py:54
 msgid "All registered members must have \"Member\" role."
 msgstr "Kayıtlı tüm üyelerin \"üye\" sıfat olmalıdır."
 
-#: users/forms/admin.py:71
+#: users/forms/admin.py:73
 msgid "Is administrator"
 msgstr "Yönetici mi"
 
-#: users/forms/admin.py:73
+#: users/forms/admin.py:75
 msgid ""
 "Designates whether the user can log into admin sites. If Django admin site "
 "is enabled, this user will need additional permissions assigned within it to"
@@ -5223,11 +5546,11 @@ msgstr ""
 "Django admin sitesi etkinleştirilmişse, bu kullanıcının admin Django "
 "modüllerine ek izinler atanması gerekecektir."
 
-#: users/forms/admin.py:79
+#: users/forms/admin.py:81
 msgid "Is superuser"
 msgstr "Süper kullanıcı mı"
 
-#: users/forms/admin.py:81
+#: users/forms/admin.py:83
 msgid ""
 "Only administrators can access admin sites. In addition to admin site "
 "access, superadmins can also change other members admin levels."
@@ -5236,11 +5559,11 @@ msgstr ""
 "erişimine ek olarak, superadmins diğer üyelerin yönetim düzeylerini de "
 "değiştirebilir."
 
-#: users/forms/admin.py:86
+#: users/forms/admin.py:88
 msgid "Is active"
 msgstr "Aktif"
 
-#: users/forms/admin.py:88
+#: users/forms/admin.py:90
 msgid ""
 "Designates whether this user should be treated as active. Turning this off "
 "is non-destructible way to remove user accounts."
@@ -5249,11 +5572,11 @@ msgstr ""
 "belirtir. Bu işlevi kapatmak, kullanıcı hesaplarını kaldırmanın yıkılmaz bir"
 " yoludur."
 
-#: users/forms/admin.py:92 users/forms/admin.py:123 users/forms/admin.py:151
+#: users/forms/admin.py:94 users/forms/admin.py:125 users/forms/admin.py:153
 msgid "Staff message"
 msgstr "Personel ileti"
 
-#: users/forms/admin.py:94
+#: users/forms/admin.py:96
 msgid ""
 "Optional message for forum team members explaining why user's account has "
 "been disabled."
@@ -5261,15 +5584,15 @@ msgstr ""
 "Forum ekibi üyeleri için kullanıcının hesabının neden devre dışı "
 "bırakıldığını açıklayan isteğe bağlı ileti."
 
-#: users/forms/admin.py:99
+#: users/forms/admin.py:101
 msgid "Change password to"
 msgstr "Için şifreyi değiştir"
 
-#: users/forms/admin.py:106
+#: users/forms/admin.py:108
 msgid "Lock avatar"
 msgstr "Avatar kilitle"
 
-#: users/forms/admin.py:108
+#: users/forms/admin.py:110
 msgid ""
 "Setting this to yes will stop user from changing his/her avatar, and will "
 "reset his/her avatar to procedurally generated one."
@@ -5277,12 +5600,12 @@ msgstr ""
 "Bunu evet olarak ayarlamak, kullanıcının avatarını değiştirmesini durduracak"
 " ve avatarını usulle üretilen birine sıfırlayacaktır."
 
-#: users/forms/admin.py:114 users/forms/admin.py:145 users/forms/admin.py:473
-#: users/forms/admin.py:526
+#: users/forms/admin.py:116 users/forms/admin.py:147 users/forms/admin.py:468
+#: users/forms/admin.py:540
 msgid "User message"
 msgstr "Kullanıcı ileti"
 
-#: users/forms/admin.py:116
+#: users/forms/admin.py:118
 msgid ""
 "Optional message for user explaining why he/she is banned form changing "
 "avatar."
@@ -5290,7 +5613,7 @@ msgstr ""
 "Kullanıcı avatar değiştirilme biçiminden neden yasaklandığını açıklayan "
 "isteğe bağlı ileti."
 
-#: users/forms/admin.py:125
+#: users/forms/admin.py:127
 msgid ""
 "Optional message for forum team members explaining why user is banned form "
 "changing avatar."
@@ -5298,54 +5621,54 @@ msgstr ""
 "Forum ekibi üyeleri için avatarın değişen biçiminin neden kullanıcının "
 "yasaklandığını açıklayan isteğe bağlı ileti."
 
-#: users/forms/admin.py:133
+#: users/forms/admin.py:135
 msgid "Signature contents"
 msgstr "İmza içeriği"
 
-#: users/forms/admin.py:138
+#: users/forms/admin.py:140
 msgid "Lock signature"
 msgstr "İmza içeriği"
 
-#: users/forms/admin.py:140
+#: users/forms/admin.py:142
 msgid ""
 "Setting this to yes will stop user from making changes to his/her signature."
 msgstr ""
 "Bunu evet olarak ayarlamak, kullanıcının imza üzerinde değişiklik yapmasını "
 "durduracaktır."
 
-#: users/forms/admin.py:146
+#: users/forms/admin.py:148
 msgid "Optional message to user explaining why his/hers signature is locked."
 msgstr ""
 "Kullanıcıya kullanıcının imzasının neden kilitlendiğini açıklayan isteğe "
 "bağlı ileti."
 
-#: users/forms/admin.py:152
+#: users/forms/admin.py:154
 msgid ""
 "Optional message to team members explaining why user signature is locked."
 msgstr ""
 "Kullanıcıya kullanıcının imzasının neden kilitlendiğini açıklayan isteğe "
 "bağlı ileti."
 
-#: users/forms/admin.py:157
+#: users/forms/admin.py:159
 msgid "Hides presence"
 msgstr "Varlığını gizler"
 
-#: users/forms/admin.py:160
+#: users/forms/admin.py:162
 msgid "Who can add user to private threads"
 msgstr "Özel konuları kim kime ekleyebilir?"
 
-#: users/forms/admin.py:169
+#: users/forms/admin.py:171
 msgid "Replid threads"
 msgstr "Replid iplikleri"
 
-#: users/forms/admin.py:219 users/serializers/moderation.py:42
+#: users/forms/admin.py:221 users/serializers/moderation.py:42
 #, python-format
 msgid "Signature can't be longer than %(limit)s character."
 msgid_plural "Signature can't be longer than %(limit)s characters."
 msgstr[0] "İmza %(limit)s karakterden uzun olamaz."
 msgstr[1] "İmza %(limit)s karakterden uzun olamaz."
 
-#: users/forms/admin.py:238
+#: users/forms/admin.py:240
 msgid ""
 "Ranks are used to group and distinguish users. They are also used to add "
 "permissions to groups of users."
@@ -5353,60 +5676,60 @@ msgstr ""
 "Sıralar, kullanıcıları gruplandırmak ve ayırmak için kullanılır. Ayrıca, "
 "kullanıcı gruplarına izinler eklemek için kullanılırlar."
 
-#: users/forms/admin.py:248
+#: users/forms/admin.py:250
 msgid "Roles"
 msgstr "Roller"
 
-#: users/forms/admin.py:249
+#: users/forms/admin.py:251
 msgid "Individual roles of this user. All users must have \"member\" role."
 msgstr ""
 "Bu kullanıcının kişisel rolleri. Tüm kullanıcıların \"üye\" sıfat olmalıdır."
 
-#: users/forms/admin.py:307
+#: users/forms/admin.py:309
 msgid "Username starts with"
 msgstr "Kullanıcı adı ile başlar"
 
-#: users/forms/admin.py:308
+#: users/forms/admin.py:310
 msgid "E-mail starts with"
 msgstr "Ile başlayan e-posta"
 
-#: users/forms/admin.py:309
+#: users/forms/admin.py:311
 msgid "Profile fields contain"
 msgstr "kimlik alanları içeriyor"
 
-#: users/forms/admin.py:310
+#: users/forms/admin.py:312
 msgid "Inactive only"
 msgstr "Yalnızca etkin değil"
 
-#: users/forms/admin.py:311
+#: users/forms/admin.py:313
 msgid "Disabled only"
 msgstr "Yalnızca devre dışı"
 
-#: users/forms/admin.py:312
+#: users/forms/admin.py:314
 msgid "Admins only"
 msgstr "Yalnızca yöneticiler"
 
-#: users/forms/admin.py:313
+#: users/forms/admin.py:315
 msgid "Deleting their accounts"
 msgstr ""
 
-#: users/forms/admin.py:355
+#: users/forms/admin.py:357
 msgid "All ranks"
 msgstr "Tüm saflar"
 
-#: users/forms/admin.py:362
+#: users/forms/admin.py:364
 msgid "All roles"
 msgstr "Tüm roller"
 
-#: users/forms/admin.py:369
+#: users/forms/admin.py:371
 msgid "Has rank"
 msgstr "Rütbe var"
 
-#: users/forms/admin.py:375
+#: users/forms/admin.py:377
 msgid "Has role"
 msgstr "sıfat var"
 
-#: users/forms/admin.py:391
+#: users/forms/admin.py:393
 msgid ""
 "Short and descriptive name of all users with this rank. \"The Team\" or "
 "\"Game Masters\" are good examples."
@@ -5414,11 +5737,11 @@ msgstr ""
 "Bu sıralamaya sahip tüm kullanıcıların kısa ve açıklayıcı adı. \"Takım\" "
 "veya \"Oyun Masters\" iyi örneklerdir."
 
-#: users/forms/admin.py:396
+#: users/forms/admin.py:398
 msgid "User title"
 msgstr "Kullanıcı başlığı"
 
-#: users/forms/admin.py:399
+#: users/forms/admin.py:401
 msgid ""
 "Optional, singular version of rank name displayed by user names. For example"
 " \"GM\" or \"Dev\"."
@@ -5426,7 +5749,7 @@ msgstr ""
 "Sıralama isminin isteğe bağlı, tekil hali kullanıcı adlarıyla gösterilir. "
 "Örneğin \"GM\" veya \"Dev\"."
 
-#: users/forms/admin.py:409
+#: users/forms/admin.py:411
 msgid ""
 "Optional description explaining function or status of members distincted "
 "with this rank."
@@ -5434,19 +5757,19 @@ msgstr ""
 "Bu rütbe ile tanımlanan üyelerin görev veya durumlarını açıklayan isteğe "
 "bağlı açıklama."
 
-#: users/forms/admin.py:418
+#: users/forms/admin.py:420
 msgid "Rank can give additional roles to users with it."
 msgstr "Sıra, kullanıcılara ek rol verebilir."
 
-#: users/forms/admin.py:423
+#: users/forms/admin.py:425
 msgid "Optional css class added to content belonging to this rank owner."
 msgstr "Bu rütbeli sahibine ait içeriğe isteğe bağlı CSS sınıfı eklendi."
 
-#: users/forms/admin.py:426
+#: users/forms/admin.py:428
 msgid "Give rank dedicated tab on users list"
 msgstr "Kullanıcı dizelge sıralama sekmesine izin ver"
 
-#: users/forms/admin.py:429
+#: users/forms/admin.py:431
 msgid ""
 "Selecting this option will make users with this rank easily discoverable by "
 "others through dedicated page on forum users list."
@@ -5455,70 +5778,70 @@ msgstr ""
 "sıralamaya sahip kullanıcılar kolayca başkaları tarafından keşfedilebilir "
 "hale gelecektir."
 
-#: users/forms/admin.py:454
+#: users/forms/admin.py:456
 msgid "This name collides with other rank."
 msgstr "Bu ad diğer rütbelerle çarpışıyor."
 
-#: users/forms/admin.py:461
+#: users/forms/admin.py:463
 msgid "Values to ban"
 msgstr "Yasaklamak değerleri"
 
-#: users/forms/admin.py:464 users/forms/admin.py:579
-msgid "Usernames"
-msgstr "Kullanıcı adları"
-
-#: users/forms/admin.py:465 users/forms/admin.py:580
-msgid "E-mails"
-msgstr "E-postalar"
-
-#: users/forms/admin.py:466
-msgid "E-mail domains"
-msgstr "E-posta alan adları"
-
-#: users/forms/admin.py:467
-msgid "IP addresses"
-msgstr "IP adresleri"
-
-#: users/forms/admin.py:468
-msgid "First segment of IP addresses"
-msgstr "IP adreslerinin ilk bölümü"
-
-#: users/forms/admin.py:469
-msgid "First two segments of IP addresses"
-msgstr "IP adreslerinin ilk iki bölümü"
-
-#: users/forms/admin.py:476
+#: users/forms/admin.py:471
 msgid "Optional message displayed to users instead of default one."
 msgstr ""
 "İsteğe bağlı ileti , varsayılan bir kullanıcı yerine kullanıcılara "
 "görüntülenir."
 
-#: users/forms/admin.py:479 users/forms/admin.py:489 users/forms/admin.py:532
-#: users/forms/admin.py:542
+#: users/forms/admin.py:474 users/forms/admin.py:484 users/forms/admin.py:546
+#: users/forms/admin.py:556
 msgid "Message can't be longer than 1000 characters."
 msgstr "ileti 1000 karakterden uzun olamaz."
 
-#: users/forms/admin.py:483 users/forms/admin.py:536
+#: users/forms/admin.py:478 users/forms/admin.py:550
 msgid "Team message"
 msgstr "Takım ileti"
 
-#: users/forms/admin.py:486 users/forms/admin.py:539
+#: users/forms/admin.py:481 users/forms/admin.py:553
 msgid "Optional ban message for moderators and administrators."
 msgstr "Yöneticiler ve yöneticiler için isteğe bağlı Yasaklamak ileti."
 
-#: users/forms/admin.py:495
+#: users/forms/admin.py:490
 msgid "Leave this field empty for set bans to never expire."
 msgstr "Set banlarının asla süresi dolmamak için bu alanı boş bırakın."
 
+#: users/forms/admin.py:499 users/forms/admin.py:593
+msgid "Usernames"
+msgstr "Kullanıcı adları"
+
+#: users/forms/admin.py:500 users/forms/admin.py:594
+msgid "E-mails"
+msgstr "E-postalar"
+
 #: users/forms/admin.py:501
+msgid "E-mail domains"
+msgstr "E-posta alan adları"
+
+#: users/forms/admin.py:507
+msgid "IP addresses"
+msgstr "IP adresleri"
+
+#: users/forms/admin.py:508
+msgid "First segment of IP addresses"
+msgstr "IP adreslerinin ilk bölümü"
+
+#: users/forms/admin.py:509
+msgid "First two segments of IP addresses"
+msgstr "IP adreslerinin ilk iki bölümü"
+
+#: users/forms/admin.py:515
 msgid "Check type"
 msgstr "Türünü kontrol et"
 
-#: users/forms/admin.py:506
+#: users/forms/admin.py:520
 msgid "Restrict this ban to registrations"
 msgstr "Bu yasaklamak kayıtlara kısıtla"
 
-#: users/forms/admin.py:508
+#: users/forms/admin.py:522
 msgid ""
 "Changing this to yes will make this ban check be only performed on "
 "registration step. This is good if you want to block certain registrations "
@@ -5530,11 +5853,11 @@ msgstr ""
 " süre önce hesaplanan e-posta sağlayıcılarından gelen gibi bazı kayıtları "
 "engellemek istiyorsanız iyi olur."
 
-#: users/forms/admin.py:514
+#: users/forms/admin.py:528
 msgid "Banned value"
 msgstr "Yasaklanmış değer"
 
-#: users/forms/admin.py:517
+#: users/forms/admin.py:531
 msgid ""
 "This value is case-insensitive and accepts asterisk (*) for rought matches. "
 "For example, making IP ban for value \"83.*\" will ban all IP addresses "
@@ -5544,50 +5867,73 @@ msgstr ""
 "yıldız (*) kabul eder. Örneğin, \"83. *\" değeri için IP Yasaklamak "
 "yapılması, \"83\" ile başlayan tüm IP adreslerini Yasaklamak."
 
-#: users/forms/admin.py:522
+#: users/forms/admin.py:536
 msgid "Banned value can't be longer than 250 characters."
 msgstr "Yasaklanan değer 250 karakterden uzun olamaz."
 
-#: users/forms/admin.py:529
+#: users/forms/admin.py:543
 msgid "Optional message displayed to user instead of default one."
 msgstr "Yasaklanan ileti 250 karakterden uzun olamaz...."
 
-#: users/forms/admin.py:548
+#: users/forms/admin.py:562
 msgid "Leave this field empty for this ban to never expire."
 msgstr "Bu Yasaklamak hiçbir zaman sona ermemesi için bu alanı boş bırakın."
 
-#: users/forms/admin.py:568
+#: users/forms/admin.py:582
 msgid "Banned value is too vague."
 msgstr "Yasaklanmış değer çok belirsiz."
 
-#: users/forms/admin.py:578
+#: users/forms/admin.py:592
 msgid "All bans"
 msgstr "Tüm yasaklar"
 
-#: users/forms/admin.py:581
+#: users/forms/admin.py:595
 msgid "IPs"
 msgstr "IP'leri"
 
-#: users/forms/admin.py:584
+#: users/forms/admin.py:598
 msgid "Banned value begins with"
 msgstr "Yasaklanmış değer başlıyor"
 
-#: users/forms/admin.py:586
+#: users/forms/admin.py:600
 msgid "Registration only"
 msgstr "Sadece kayıt ol"
 
-#: users/forms/admin.py:589 users/forms/admin.py:598
+#: users/forms/admin.py:603 users/forms/admin.py:612
 msgid "Any"
 msgstr "herhangi"
 
-#: users/forms/admin.py:599
+#: users/forms/admin.py:613
 msgid "Active"
 msgstr "Aktif"
 
-#: users/forms/admin.py:600
+#: users/forms/admin.py:614 users/models/datadownload.py:26
 msgid "Expired"
 msgstr "Süresi doldu"
 
+#: users/forms/admin.py:649
+msgid "Usernames or emails"
+msgstr ""
+
+#: users/forms/admin.py:651
+msgid ""
+"Enter every item in new line. Duplicates will be ignored. This field is case"
+" insensitive. Depending on site configuration and amount of data to archive "
+"it may take up to few days for requests to complete. E-mail will "
+"notification will be sent to every user once their download is ready."
+msgstr ""
+
+#: users/forms/admin.py:667
+#, python-format
+msgid ""
+"You may not enter more than 20 items at single time (You have entered "
+"%(show_value)s)."
+msgstr ""
+
+#: users/forms/admin.py:684
+msgid "One or more specified users could not be found."
+msgstr ""
+
 #: users/forms/auth.py:16
 msgid "Fill out both fields."
 msgstr "Her iki alanı doldurun."
@@ -5644,18 +5990,27 @@ msgid ""
 "request new password."
 msgstr "Yönetici, yeni şifre isteyebilmek için hesabınızı etkinleştirmelidir."
 
-#: users/forms/register.py:27
+#: users/forms/register.py:34
 msgid "This usernane is not allowed."
 msgstr "Bu kullanıcı adına izin verilmiyor."
 
-#: users/forms/register.py:38 users/validators.py:41
+#: users/forms/register.py:45 users/validators.py:41
 msgid "This e-mail address is not allowed."
 msgstr "Bu e-posta adresine izin verilmiyor."
 
-#: users/forms/register.py:47
+#: users/forms/register.py:51
+msgid "This agreement is required."
+msgstr ""
+
+#: users/forms/register.py:60
 msgid "New registrations from this IP address are not allowed."
 msgstr "Bu IP adresinden yeni kayıtlara izin verilmiyor."
 
+#: users/management/commands/prepareuserdatadownloads.py:34
+#, python-format
+msgid "%(user)s, your data download is ready"
+msgstr ""
+
 #: users/migrations/0002_users_settings.py:18
 #: users/migrations/0006_update_settings.py:19
 msgid ""
@@ -5890,7 +6245,7 @@ msgstr ""
 "Her yanıtı yeni satıra yazın. Yanıtlar büyük / küçük harf duyarlı değildir."
 
 #: users/migrations/0004_default_ranks.py:17
-#: users/migrations/0004_default_ranks.py:18 users/models/user.py:111
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:113
 msgid "Forum team"
 msgstr "Forum ekibi"
 
@@ -5903,48 +6258,60 @@ msgstr "Takım"
 msgid "Members"
 msgstr "Üyeler"
 
-#: users/models/user.py:37
+#: users/models/datadownload.py:23
+msgid "Pending"
+msgstr ""
+
+#: users/models/datadownload.py:24
+msgid "Processing"
+msgstr ""
+
+#: users/models/datadownload.py:25
+msgid "Ready"
+msgstr ""
+
+#: users/models/user.py:38
 msgid "User must have an email address."
 msgstr "Kullanıcının bir e-posta adresine sahip olması gerekir."
 
-#: users/models/user.py:146
+#: users/models/user.py:148
 msgid "Notify"
 msgstr "bildirmek"
 
-#: users/models/user.py:147
+#: users/models/user.py:149
 msgid "Notify with e-mail"
 msgstr "E-posta ile bildir"
 
-#: users/models/user.py:155
+#: users/models/user.py:157
 msgid "Everybody"
 msgstr "herkes"
 
-#: users/models/user.py:156
+#: users/models/user.py:158
 msgid "Users I follow"
 msgstr "Takip ettiğim kullanıcılar"
 
-#: users/models/user.py:157
+#: users/models/user.py:159
 msgid "Nobody"
 msgstr "Kimse"
 
-#: users/models/user.py:175
+#: users/models/user.py:177
 msgid "joined on"
 msgstr "üzerine katıldı"
 
-#: users/models/user.py:190
+#: users/models/user.py:191
 msgid "staff status"
 msgstr "personel durumu"
 
-#: users/models/user.py:192
+#: users/models/user.py:193
 msgid "Designates whether the user can log into admin sites."
 msgstr ""
 "Kullanıcının admin sitelerine giriş yapıp giriş yapamayacağını belirtir."
 
-#: users/models/user.py:199
+#: users/models/user.py:200
 msgid "active"
 msgstr "aktif"
 
-#: users/models/user.py:203
+#: users/models/user.py:204
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
@@ -6316,11 +6683,7 @@ msgstr "Bu twitter kolunda uygun değil."
 msgid "Join IP"
 msgstr "IP ekle"
 
-#: users/profilefields/default.py:99
-msgid "Last IP"
-msgstr "Son IP"
-
-#: users/registration.py:9
+#: users/registration.py:11
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgstr "%(forum_name)s forumlarına hoşgeldiniz!"
@@ -6362,14 +6725,30 @@ msgstr "Yeni e-mail adresi girmelisiniz."
 msgid "New e-mail is same as current one."
 msgstr "Yeni e-posta, mevcut e-postayla aynı."
 
-#: users/social/pipeline.py:74
+#: users/signals.py:31
+msgid "Joined on"
+msgstr ""
+
+#: users/signals.py:32
+msgid "Joined from ip"
+msgstr ""
+
+#: users/signals.py:72
+msgid "New username"
+msgstr ""
+
+#: users/signals.py:73
+msgid "Old username"
+msgstr ""
+
+#: users/social/pipeline.py:77
 #, python-format
 msgid ""
 "The e-mail address associated with your %(backend)s account is not available"
 " for use on this site."
 msgstr ""
 
-#: users/social/pipeline.py:83
+#: users/social/pipeline.py:86
 #, python-format
 msgid ""
 "Your account has to be activated by site administrator before you will be "
@@ -6470,6 +6849,42 @@ msgstr "Yasaklamak \"%(name)s\" düzenlendi."
 msgid "Ban \"%(name)s\" has been removed."
 msgstr "Yasaklamak \"%(name)s\" kaldırıldı."
 
+#: users/views/admin/datadownloads.py:23
+msgid "With data downloads: 0"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:24
+msgid "Select data downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:28
+msgid "Expire downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:30
+msgid "Are you sure you want to set selected data downloads as expired?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:34
+msgid "Delete downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:36
+msgid "Are you sure you want to delete selected data downloads?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:51
+msgid "Selected data downloads have been set as expired."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:57
+msgid "Selected data downloads have been deleted."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:68
+msgid "Data downloads have been requested for specified users."
+msgstr ""
+
 #: users/views/admin/ranks.py:16
 msgid "Requested rank does not exist."
 msgstr "İstenen rütbe yok."
@@ -6519,39 +6934,43 @@ msgstr "Sıra \"%(name)s\" zaten varsayılanıdır."
 msgid "Rank \"%(name)s\" has been made default."
 msgstr "Sıra \"%(name)s\" varsayılan olarak ayarlandı."
 
-#: users/views/admin/users.py:59
+#: users/views/admin/users.py:60
 msgid "Biggest posters"
 msgstr "En büyük posterler"
 
-#: users/views/admin/users.py:60
+#: users/views/admin/users.py:61
 msgid "Smallest posters"
 msgstr "En küçük posterler"
 
-#: users/views/admin/users.py:62
+#: users/views/admin/users.py:63
 msgid "With users: 0"
 msgstr "Kullanıcılar: 0"
 
-#: users/views/admin/users.py:63
+#: users/views/admin/users.py:64
 msgid "Select users"
 msgstr "Kullanıcıları seç"
 
-#: users/views/admin/users.py:67
+#: users/views/admin/users.py:68
 msgid "Activate accounts"
 msgstr "Hesapları etkinleştir"
 
-#: users/views/admin/users.py:77
+#: users/views/admin/users.py:78
+msgid "Request data download"
+msgstr ""
+
+#: users/views/admin/users.py:83
 msgid "Delete accounts"
 msgstr "Hesapları sil"
 
-#: users/views/admin/users.py:79
+#: users/views/admin/users.py:85
 msgid "Are you sure you want to delete selected users?"
 msgstr "Seçilen kullanıcıları silmek istediğinizden emin misiniz?"
 
-#: users/views/admin/users.py:83
+#: users/views/admin/users.py:89
 msgid "Delete all"
 msgstr "Hepsini sil"
 
-#: users/views/admin/users.py:86
+#: users/views/admin/users.py:92
 msgid ""
 "Are you sure you want to delete selected users? This will also delete all "
 "content associated with their accounts."
@@ -6559,54 +6978,58 @@ msgstr ""
 "Seçilen kullanıcıları silmek istediğinizden emin misiniz? Bu aynı zamanda "
 "hesaplarıyla ilişkili tüm içeriği de silecektir."
 
-#: users/views/admin/users.py:107
+#: users/views/admin/users.py:113
 msgid "You have to select inactive users."
 msgstr "Etkin olmayan kullanıcıları seçmelisiniz."
 
-#: users/views/admin/users.py:114
+#: users/views/admin/users.py:120
 #, python-format
 msgid "Your account on %(forum_name)s forums has been activated"
 msgstr "%(forum_name)s forumlarındaki hesabınız etkinleştirildi"
 
-#: users/views/admin/users.py:119
+#: users/views/admin/users.py:125
 msgid "Selected users accounts have been activated."
 msgstr "Seçilen kullanıcı hesapları etkinleştirildi."
 
-#: users/views/admin/users.py:125
+#: users/views/admin/users.py:131
 #, python-format
 msgid "%(user)s is super admin and can't be banned."
 msgstr "%(user)ssüper yönetici ve yasaklanamaz."
 
-#: users/views/admin/users.py:186
+#: users/views/admin/users.py:194
 msgid "Selected users have been banned."
 msgstr "Seçilen kullanıcılar yasaklandı."
 
-#: users/views/admin/users.py:201 users/views/admin/users.py:215
-#: users/views/admin/users.py:331
+#: users/views/admin/users.py:212
+msgid "Data download requests have been placed for selected users."
+msgstr ""
+
+#: users/views/admin/users.py:217 users/views/admin/users.py:230
+#: users/views/admin/users.py:346
 msgid "You can't delete yourself."
 msgstr "Kendini silemezsin."
 
-#: users/views/admin/users.py:203 users/views/admin/users.py:217
-#: users/views/admin/users.py:334
+#: users/views/admin/users.py:219 users/views/admin/users.py:232
+#: users/views/admin/users.py:349
 #, python-format
 msgid "%(user)s is admin and can't be deleted."
 msgstr "%(user)s admin ve silinemiyor."
 
-#: users/views/admin/users.py:209
+#: users/views/admin/users.py:225
 msgid "Selected users have been deleted."
 msgstr "Seçilen kullanıcılar silindi."
 
-#: users/views/admin/users.py:232
+#: users/views/admin/users.py:247
 #, python-format
 msgid "New user \"%(user)s\" has been registered."
 msgstr "Yeni kullanıcı \"%(user)s\" kaydedildi."
 
-#: users/views/admin/users.py:261
+#: users/views/admin/users.py:276
 #, python-format
 msgid "User \"%(user)s\" has been edited."
 msgstr "Kullanıcı \"%(user)s\" düzenlendi."
 
-#: users/views/admin/users.py:328
+#: users/views/admin/users.py:343
 msgid "This action can't be accessed directly."
 msgstr "Bu işlem direk olarak gerçekleştirilemez."
 

BIN
misago/locale/tr/LC_MESSAGES/djangojs.mo


+ 285 - 207
misago/locale/tr/LC_MESSAGES/djangojs.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-20 21:20+0200\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Bilal Akgül <billakgl@gmail.com>, 2018\n"
 "Language-Team: Turkish (Turkey) (https://www.transifex.com/misago/teams/65369/tr_TR/)\n"
@@ -39,8 +39,30 @@ msgid "Promise can't be resolved itself"
 msgstr ""
 
 #: static/misago/js/misago.js:1
-msgid "By registering you agree to site's terms and conditions."
-msgstr "Kayıt olarak sitenin şart ve koşullarını kabul etmiş olursunuz."
+msgid "the terms of service"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "the privacy policy"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "I have read and accept %(agreement)s."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid ""
+"Declining will result in immediate deactivation and deletion of your "
+"account. This action is not reversible."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Decline"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Accept and continue"
+msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
@@ -48,11 +70,12 @@ msgstr "Kayıt olarak sitenin şart ve koşullarını kabul etmiş olursunuz."
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:12
 #: static/misago/js/misago.js:13 static/misago/js/misago.js:14
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Close"
 msgstr "Kapat"
 
-#: static/misago/js/misago.js:1 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:1 static/misago/js/misago.js:6
 msgid "Add participant"
 msgstr "Katılımcı ekle"
 
@@ -70,9 +93,10 @@ msgstr "Eklenecek kullanıcı"
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:6 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:6 static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Cancel"
 msgstr "İptal et"
 
@@ -198,8 +222,8 @@ msgid "Generate my individual avatar"
 msgstr "Avatarımı oluştur"
 
 #: static/misago/js/misago.js:2 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "Ok"
 msgstr "Tamam"
 
@@ -267,40 +291,40 @@ msgstr "Kod ekle"
 msgid "Emphase selection"
 msgstr "Vurgu seçimi"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert horizontal ruler"
 msgstr "Yatay cetvel ekle"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link to image"
 msgstr "Resmin linkini gir"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter image label (optional)"
 msgstr "Resim etiketi girin (isteğe bağlı)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert image"
 msgstr "Resim Ekle"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link address"
 msgstr "Bağlantı adresi girin"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link label (optional)"
 msgstr "Bağlantı etiketini girin (isteğe bağlı)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert link"
 msgstr "Bağlantı Ekle"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter quote autor, prefix usernames with @"
 msgstr ""
 "@ ile kullanıcı adlarını veya alıntı yapılacak yazarın adını yazabilirsiniz"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert quote"
 msgstr "Alıntı yap"
 
@@ -333,7 +357,7 @@ msgstr "Silme işlemini geri al"
 msgid "Error uploading %(filename)s"
 msgstr "Yüklenirken %(filename)s hata"
 
-#: static/misago/js/misago.js:3 static/misago/js/misago.js:8
+#: static/misago/js/misago.js:3 static/misago/js/misago.js:9
 msgid "Dismiss"
 msgstr "Reddet"
 
@@ -350,7 +374,7 @@ msgid "Protected"
 msgstr "Korumalı"
 
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Protect"
 msgstr "Koru"
 
@@ -385,7 +409,7 @@ msgid ""
 " deleted during the merge."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:18
 msgid "Poll"
 msgstr "Anket"
 
@@ -400,6 +424,7 @@ msgid "Are you sure you want to delete all polls?"
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Merge threads"
 msgstr "Konular birleştir"
 
@@ -429,8 +454,7 @@ msgstr ""
 msgid "%(title)s, joined on %(joined_on)s"
 msgstr "%(title)s, %(joined_on)s'da katıldı."
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "Change username"
 msgstr "Kullanıcı adını değiştir"
 
@@ -467,7 +491,7 @@ msgstr[1] ""
 msgid "Your new username is same as current one."
 msgstr "Kullanici ismin şuankiyle ayni."
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "New username"
 msgstr "Yeni kullanıcı adı"
 
@@ -476,15 +500,15 @@ msgid "Your username has been changed successfully."
 msgstr "Kullanıcı adin başarıyla değiştirildi."
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change your options"
 msgstr "Seçeneklerini değiştir"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5
 msgid "Enter your password to confirm account deletion."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:13
 msgid "Delete account"
 msgstr "Hesabı sil"
 
@@ -520,7 +544,54 @@ msgstr ""
 msgid "Delete my account"
 msgstr ""
 
-#: static/misago/js/misago.js:5 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:5
+msgid "Your request for data download has been registered."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download your data"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"To download your data from the site, click the \"Request data download\" "
+"button. Depending on amount of data to be archived and number of users "
+"wanting to download their data at same time it may take up to few days for "
+"your download to be prepared. An e-mail with notification will be sent to "
+"you when your data is ready to be downloaded."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"The download will only be available for limited amount of time, after which "
+"it will be deleted from the site and marked as expired."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Requested on"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "You have no data downloads."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Request data download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is being prepared"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is expired"
+msgstr ""
+
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:12
 msgid "Your details have been updated."
 msgstr "Detayların güncellendi."
 
@@ -605,7 +676,7 @@ msgstr "Başlattığım konular"
 msgid "Threads I reply to"
 msgstr "Cevapladığım konular"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:6
 msgid "Change email or password"
 msgstr "Mail adresini ve şifreni değiştir"
 
@@ -655,7 +726,7 @@ msgstr "Yeni şifre"
 msgid "Repeat password"
 msgstr "Şifreni tekrarla"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change forgotten password"
 msgstr "Unutulan şifreni değiştir"
 
@@ -845,21 +916,21 @@ msgid_plural "%(votes)s votes."
 msgstr[0] "%(votes)s oy."
 msgstr[1] "%(votes)s oy."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Votes are public."
 msgstr "Oylar halka açıktır."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s vote, %(proc)s% of total."
 msgid_plural "%(votes)s votes, %(proc)s% of total."
 msgstr[0] "%(votes)s oy, toplamı içinde %%(proc)s "
 msgstr[1] "%(votes)s oy, toplamı içinde %%(proc)s "
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Your choice."
 msgstr "Senin seçimin."
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s user has voted for this choice."
 msgid_plural "%(votes)s users have voted for this choice."
 msgstr[0] "%(votes)s adet kullanıcı bu seçim için oy kullandı."
@@ -877,9 +948,8 @@ msgstr "Oy ver"
 msgid "See votes"
 msgstr "Oyları gör"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:15
 msgid "Edit"
 msgstr "Düzenle"
 
@@ -889,8 +959,7 @@ msgid ""
 msgstr "Bu anketi silmek istediğinizden emin misiniz? Bu eylem geri alınamaz."
 
 #: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Delete"
 msgstr "Silmek"
 
@@ -954,27 +1023,27 @@ msgstr "İleti önceki duruma döndü."
 msgid "See previous change"
 msgstr "Önceki değişikliği gör"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "By %(edited_by)s %(edited_on)s."
 msgstr "%(edited_by)s tarafından %(edited_on)s tarihinde düzenlendi."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This post's contents cannot be displayed."
 msgstr "Bu yazı içeriği görüntülenemiyor."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This error is caused by invalid post content manipulation."
 msgstr "Bu hata, geçersiz yayın içeriği manipülasyonundan kaynaklanmaktadır."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "posted %(posted_on)s"
 msgstr "%(posted_on)s tarihinde yayımlandı."
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "Removed user"
 msgstr "Kaldırılan kullanıcı"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "See post"
 msgstr "İletiyi gör"
 
@@ -996,7 +1065,7 @@ msgstr "Bu iletiyi hiç kimse beğenmedi."
 msgid "Are you sure you want to discard changes?"
 msgstr "Değişiklikleri silmek istediğinden emin misin?"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "You have to enter a message."
 msgstr "Bir mesaj girmeniz gerekiyor."
 
@@ -1028,11 +1097,12 @@ msgstr "Özel konu, silmek istediğinden emin misin?"
 msgid "You have to enter at least one recipient."
 msgstr "En az bir alıcı girmelisiniz."
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:15
 msgid "You have to enter thread title."
 msgstr "Konu başlığı girmelisiniz."
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Your thread has been posted."
 msgstr "Senin konu yayımlanmıştır."
 
@@ -1040,12 +1110,13 @@ msgstr "Senin konu yayımlanmıştır."
 msgid "Comma separated list of user names, eg.: Danny, Lisa"
 msgstr "Virgülle ayrılmış kullanıcı isimleri liste si, örneğin: Danny, Lisa"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:19
 msgid "Thread title"
 msgstr "Konu başlığı"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Post thread"
 msgstr "Konu Aç"
 
@@ -1053,35 +1124,35 @@ msgstr "Konu Aç"
 msgid "Are you sure you want to discard thread?"
 msgstr "Konuyu silmek istediğinden emin misin?"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18
 msgid "Closed"
 msgstr "Kapalı"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:16
 msgid "Open"
 msgstr "Açık"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:21
 msgid "Hidden"
 msgstr "Gizlenmiş"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Not hidden"
 msgstr "Gizlenmemiş"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Unpinned"
 msgstr "sabitlemeyi kaldır."
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned locally"
 msgstr "Yerel olarak sabitlenmiş"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned globally"
@@ -1144,12 +1215,12 @@ msgstr[1] ""
 "karakterdir)"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Hide"
 msgstr "Gizle"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Unhide"
 msgstr "Gizleme"
 
@@ -1171,10 +1242,6 @@ msgid "By %(event_by)s %(event_on)s."
 msgstr "%(event_by)s tarafından %(event_on)s tarihinde."
 
 #: static/misago/js/misago.js:9
-msgid "IP recorded"
-msgstr "IP kaydedildi"
-
-#: static/misago/js/misago.js:9
 msgid "Thread title has been changed from %(old_title)s."
 msgstr "%(old_title)s  konu başlığı değiştirildi."
 
@@ -1264,23 +1331,23 @@ msgstr ""
 msgid "Post has been deleted."
 msgstr "İleti silindi."
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link to this post:"
 msgstr "Bu ileti için kalıcı bağlantı:"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link"
 msgstr "Kalıcı bağlantı"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Mark as best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Unmark best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
 msgid "This post was edited %(edits)s time."
 msgid_plural "This post was edited %(edits)s times."
 msgstr[0] "Bu ileti %(edits)s tarihinde düzenlendi."
@@ -1290,17 +1357,15 @@ msgstr[1] "Bu ileti %(edits)s tarihinde düzenlendi."
 msgid "Changes history"
 msgstr "Geçmişi değiştirir"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Approve"
 msgstr "Onayla"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Move"
 msgstr "Taşı"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Split"
 msgstr "Ayır"
 
@@ -1313,6 +1378,7 @@ msgid "Move post"
 msgstr "İleti yi taşı"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You have to enter link to the other thread."
 msgstr "Diğer konu linkini girmelisin"
 
@@ -1362,7 +1428,7 @@ msgid "Close thread"
 msgstr "Kapalı konu"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19
 msgid "Category"
 msgstr "Bölüm"
 
@@ -1414,32 +1480,32 @@ msgid_plural "%(users)s and %(likes)s other users like this."
 msgstr[0] "%(users)s ve %(likes)s diğer kullanıcılar"
 msgstr[1] "%(users)s ve %(likes)s diğer kullanıcılar"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Liked"
 msgstr "Beğenilen"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Like"
 msgstr "Beğeni"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
 msgid "Reply"
 msgstr "Cevapla"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "New post"
 msgstr "Yeni ileti"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:20
 msgid "New"
 msgstr "Yeni"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "This post is protected and may not be edited."
 msgstr "Bu korunan bir ileti ve düzenlenmez."
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "protected"
 msgstr "korunan"
 
@@ -1487,69 +1553,68 @@ msgstr "Başkalarıyla herhangi bir ayrıntı paylaşmıyorsunuz."
 msgid "%(username)s is not sharing any details with others."
 msgstr "%(username)s başkalarıyla herhangi bir ayrıntı paylaşmıyor."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
 msgid "Details"
 msgstr "Ayrıntılar"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s's details have been updated."
 msgstr "%(username)skullanıcısının detayları güncellendi."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have no started threads."
 msgstr "Başlatılmış sana ait konular yok."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s started no threads."
 msgstr "%(username)s kullanıcısına ait başlatılmış konular yok"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] "Sana ait %(threads)s adet başlatılmış konular var."
 msgstr[1] "Sana ait %(threads)s adet başlatılmış konular var."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] "%(username)s adlı kullanıcı %(threads)skonular ını başlattı."
 msgstr[1] "%(username)s adlı kullanıcı %(threads)skonular ını başlattı."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:13
 msgid "Loading..."
 msgstr "Yükleniyor..."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:19
 #: static/misago/js/misago.js:20
 msgid "Threads"
 msgstr "Konular"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted no messages."
 msgstr "Gönderilmiş bir mesaj yok."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s posted no messages."
 msgstr "%(username)s kullanıcısının gönderdiği bir mesaj yok."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] "Gönderilmiş %(posts)s mesajın var."
 msgstr[1] "Gönderilmiş %(posts)s mesajın var."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] "%(username)s kullanıcısının %(posts)s mesajı var."
 msgstr[1] "%(username)s kullanıcısının %(posts)s mesajı var."
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "Posts"
 msgstr "İletiler"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:12
 msgid "Show more (%(more)s)"
 msgstr "Daha fazlasını gör (%(more)s)"
 
@@ -1640,6 +1705,7 @@ msgid "Joined %(joined_on)s"
 msgstr "%(joined_on)s katıldı."
 
 #: static/misago/js/misago.js:12 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Moderation"
 msgstr "Moderasyon"
 
@@ -1699,44 +1765,44 @@ msgstr ""
 msgid "Avatar controls"
 msgstr "Avatar kontrolleri"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Username has been changed."
 msgstr "Kullanıcı adınız değiştirildi."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account, threads, posts and other content has been deleted."
 msgstr ""
 "%(username)skullanıcısının hesabı, konular, iletiler ve diğer içerikleri "
 "silindi."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account has been deleted and other content has been hidden."
 msgstr ""
 "%(username)skullanıcısının hesabı silindi ve diğer içerikleri gizlendi."
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete %(username)s"
 msgstr "%(username)s sil"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Please wait... (%(countdown)ss)"
 msgstr "Lütfen bekleyin... (%(countdown)s)"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "User content"
 msgstr "Kullanıcı içeriği"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete together with user's account"
 msgstr "Kullanıcının hesabıyla birlikte sil"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Hide after deleting user's account"
 msgstr "Kullanıcının hesabını sildikten sonra gizle"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Return to users list"
 msgstr "Kullanıcı liste sine geri dön"
 
@@ -1802,32 +1868,32 @@ msgstr "Kayıt şu anda bir hata nedeniyle kullanılamıyor."
 msgid "Register"
 msgstr "Kayıt Ol"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Join with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Or create forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Username"
 msgstr "Kullanıcı Adı"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:17
 #: static/misago/js/misago.js:18
 msgid "E-mail"
 msgstr "E-posta"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Password"
 msgstr "Şifre"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Register account"
 msgstr "Hesabı Kaydet"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but you need to activate it "
 "before you will be able to sign in."
@@ -1835,7 +1901,7 @@ msgstr ""
 "%(username)s hesabınız oluşturuldu, ancak oturum açabilmeniz için önce "
 "etkinleştirmeniz gerekir."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but board administrator will "
 "have to activate it before you will be able to sign in."
@@ -1843,7 +1909,7 @@ msgstr ""
 "%(username)shesabınız oluşturuldu fakat pano yöneticisi oturum açabilmeniz "
 "için onu aktif hale getirmek zorundadır. "
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid ""
 "We have sent an e-mail to %(email)s with link that you have to click to "
 "activate your account."
@@ -1851,32 +1917,31 @@ msgstr ""
 "Hesabınızı aktifleştirmek için gerekli linki %(email)s adresinize e-posta "
 "yolladık."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "We will send an e-mail to %(email)s when this takes place."
 msgstr "Bu gerçekleştiğinde %(email)sadresinize e-posta göndereceğiz."
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Registration complete"
 msgstr "Kayıt tamamlandı."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:25
 msgid "Enter a valid email address."
 msgstr "Geçerli bir e-posta adresi girin."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Your e-mail address"
 msgstr "E-posta Adresiniz"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Send link"
 msgstr "Link gönder"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Activation link was sent to %(email)s"
 msgstr "Aktivasyon linki %(email)s adresinize gönderildi."
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Request another link"
 msgstr "Başka bir link iste"
 
@@ -1941,41 +2006,41 @@ msgstr "Arama sorgusuyla eşleşen hiçbir kullanıcı bulunamadı."
 msgid "Enter at least two characters to search users."
 msgstr "Kullanıcı aramak için en az iki karakter girin."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Fill out both fields."
 msgstr "Her iki alanı doldurun."
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Activate account"
 msgstr "Hesabı etkinleştir"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Sign in with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Or use your forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Username or e-mail"
 msgstr "Kullanıcı adı veya e-posta"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Forgot password?"
 msgstr "Şifreyi mi unuttun?"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid ""
-"%(username)s, your account has been created and you has been signed in to "
+"%(username)s, your account has been created and you have been signed in to "
 "it."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Registration completed!"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Return to forum index"
 msgstr ""
 
@@ -1984,6 +2049,10 @@ msgid "Sign in with %(backend)s"
 msgstr ""
 
 #: static/misago/js/misago.js:15
+msgid "You need to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:15
 msgid "Your e-mail address has been verified by %(backend)s."
 msgstr ""
 
@@ -2004,7 +2073,7 @@ msgid "Edit title"
 msgstr "başlığı düzenlemek"
 
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:20
 msgid "Unapproved"
 msgstr "Onaylanmamış"
 
@@ -2012,7 +2081,7 @@ msgstr "Onaylanmamış"
 msgid "Unapproved posts"
 msgstr "Onaylanmamış iletiler"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:15 static/misago/js/misago.js:18
 msgid "%(replies)s reply"
 msgid_plural "%(replies)s replies"
 msgstr[0] "%(replies)s adet cevap"
@@ -2038,19 +2107,19 @@ msgstr ""
 "Seçilen iletileri silmek istediğinizden emin misiniz? Bu eylem geri "
 "alınamaz!"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Merge"
 msgstr "kaynaşmak"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Unprotect"
 msgstr "Korumalı değil"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "%(username)s on %(posted_on)s"
 msgstr "%(posted_on)s'de%(username)s"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "One or more posts could not be changed:"
 msgstr "Bir veya daha fazla iletiler değiştirilemedi:"
 
@@ -2110,19 +2179,19 @@ msgstr "Yerel olarak sabitlenmiş"
 msgid "Unpin"
 msgstr "Sabitlemeyi kaldır."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Merge thread"
 msgstr "Birleştirilmiş konu"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been merged with other one."
 msgstr "Konu, başka bir konu ile birleştirildi."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Link to thread you want to merge with"
 msgstr "Birleştirmek istediğiniz konu linkini ver"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid ""
 "Merge will delete current thread and move its contents to the thread "
 "specified here."
@@ -2130,19 +2199,19 @@ msgstr ""
 "Birleştirme yapılırken geçerli konu silinir ve burada belirtilen konu "
 "içeriğine taşınır."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Move thread"
 msgstr "Konu taşı"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You can't move this thread at the moment."
 msgstr "Bu konu şu anda taşınamaz."
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been moved."
 msgstr "Konu taşındı."
 
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "New category"
 msgstr "Yeni bölüm"
 
@@ -2180,15 +2249,15 @@ msgstr "İzin Ver"
 msgid "Disabled"
 msgstr "çevrimdışı"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Unsubscribe"
 msgstr "Abonelikten Çık"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe"
 msgstr "abone"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe with e-mail"
 msgstr "E-posta ile abone ol"
 
@@ -2220,11 +2289,11 @@ msgstr "Son ileti"
 msgid "Options"
 msgstr "Seçenkler"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid "Add poll"
 msgstr "Anket ekle"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid ""
 "There is %(threads)s new or updated thread. Click this message to show it."
 msgid_plural ""
@@ -2249,7 +2318,7 @@ msgstr ""
 msgid "Change subscription"
 msgstr "Aboneliği değiştir"
 
-#: static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19
 msgid "Start thread"
 msgstr "Konu başlat"
 
@@ -2329,7 +2398,7 @@ msgstr "Yerele sabitlenmiş konular"
 msgid "Unpin threads"
 msgstr "Sabitlenmesi kaldırılmış konular"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Move threads"
 msgstr "Konular taşı"
 
@@ -2365,7 +2434,7 @@ msgstr "Konular moderasyonu"
 msgid "One or more threads could not be deleted:"
 msgstr "Bir veya daha fazla konular silinemedi:"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid ""
 "You can't move threads because there are no categories you are allowed to "
 "move them to."
@@ -2380,11 +2449,11 @@ msgstr ""
 "Konular ı birleştirmek için bölüm içindeki konular a başlatma izni almanız "
 "gerekir."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Selected threads were moved."
 msgstr "Seçilen konular taşındı."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid ""
 "You need permission to start threads in category to be able to move threads "
 "to it."
@@ -2392,51 +2461,51 @@ msgstr ""
 "Konular ı taşımak için bölüm içindeki konular a başlatma izni almanız "
 "gerekir."
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select all"
 msgstr "Tümünü seç"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select none"
 msgstr "Birini seç"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All"
 msgstr "Tümü"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All threads"
 msgstr "Tüm konular"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My"
 msgstr "Benim"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My threads"
 msgstr "Benim konular"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "New threads"
 msgstr "Yeni Konular"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread"
 msgstr "Okunmamış"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread threads"
 msgstr "Okunmamış konular"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed"
 msgstr "Abone olundu"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed threads"
 msgstr "Abone olunan konular"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unapproved content"
 msgstr "Onaylanmamış içerik"
 
@@ -2453,7 +2522,8 @@ msgstr ""
 msgid "You have unread private threads!"
 msgstr ""
 
-#: static/misago/js/misago.js:20 static/misago/js/misago.js:22
+#: static/misago/js/misago.js:20 static/misago/js/misago.js:21
+#: static/misago/js/misago.js:23
 msgid "Private threads"
 msgstr "Özel Konular"
 
@@ -2461,67 +2531,67 @@ msgstr "Özel Konular"
 msgid "Are you sure you want to sign out?"
 msgstr "Oturumu kapatmak istediğinizden emin misiniz?"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "See your profile"
 msgstr "Profil Gör"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change options"
 msgstr "Seçenekleri değiştir"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change avatar"
 msgstr "Avatarı değiştir"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Log out"
 msgstr "Çıkış yap"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned until %(ban_expires)s"
 msgstr "%(username)s kullanıcısı %(ban_expires)s e kadar yasaklanmıştır."
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned"
 msgstr "%(username)s yasaklıdır."
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is hiding presence"
 msgstr "%(username)s gizli varlıktır."
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online (hidden)"
 msgstr "%(username)s çevrimiçidir (gizlenmiş)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s (hidden)"
 msgstr "%(username)s son görülmesi %(last_click)s (gizlenmiş)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online"
 msgstr "%(username)s çevrimiçidir"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s"
 msgstr "%(username)s son görülmesi %(last_click)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Banned"
 msgstr "Yasaklanmış"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online (hidden)"
 msgstr "Çevrimiçi (gizlenmiş)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline (hidden)"
 msgstr "Çevrimdışı (gizlenmiş)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online"
 msgstr "Çevrimiçi"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline"
 msgstr "Çevrimdışı"
 
@@ -2535,19 +2605,19 @@ msgstr[1] "%(followers)s takipçiler"
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr "Hiçbir kullanıcı son %(days)s gün içinde yeni mesaj göndermedi."
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Rank"
 msgstr "Rütbe"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Ranked posts"
 msgstr "Rütbeli iletiler"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "Total posts"
 msgstr "Toplam iletiler"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] "son %(days)s günlerden en aktif posterleri %(posters)s"
@@ -2579,7 +2649,7 @@ msgstr "evet"
 msgid "no"
 msgstr "hayır"
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid ""
 "Private threads are threads which only those that started them and those "
 "they have invited may see and participate in."
@@ -2587,19 +2657,19 @@ msgstr ""
 "Özel konular, sadece onları başlatan ve katılmak için davet edilmiş "
 "olanların görebileceği konular demektir."
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid "You aren't participating in any private threads."
 msgstr "Özel konular, katılamazsın."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Lost connection with application."
 msgstr "Uygulamayla bağlantı kesildi."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Action link is invalid."
 msgstr "Aktivasyon linki geçersizdir."
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Unknown error has occured."
 msgstr "Bilinmeyen bir hata oluştu."
 
@@ -2636,15 +2706,23 @@ msgstr "Zaten bir anket üzerinde çalışıyorsun. Çöpe atmak ister misin?"
 msgid "You don't have permission to perform this action."
 msgstr "Bu eylemi gerçekleştirmek için iznin yok."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "You are banned"
 msgstr "Yasaklandin."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "This field is required."
 msgstr "Bu alan gerekli."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
+msgid "You have to accept the terms of service."
+msgstr ""
+
+#: static/misago/js/misago.js:25
+msgid "You have to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at least %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2658,7 +2736,7 @@ msgstr[1] ""
 "Bu değerin en az %(limit_value)s karakterine sahip olduğundan emin olun "
 "(%(show_value)s olmalıdır)."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at most %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2672,7 +2750,7 @@ msgstr[1] ""
 "Bu değerin en çok %(limit_value)s karakterine sahip olduğundan emin olun "
 "(%(show_value)s olmalıdır)."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username must be at least %(limit_value)s character long."
 msgid_plural "Username must be at least %(limit_value)s characters long."
 msgstr[0] ""
@@ -2680,18 +2758,18 @@ msgstr[0] ""
 msgstr[1] ""
 "Kullanıcı adı en az %(limit_value)s karakter uzunluğunda olmalıdır."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username cannot be longer than %(limit_value)s character."
 msgid_plural "Username cannot be longer than %(limit_value)s characters."
 msgstr[0] "Kullanıcı adı %(limit_value)s karakterden uzun olamaz."
 msgstr[1] "Kullanıcı adı %(limit_value)s karakterden uzun olamaz."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username can only contain latin alphabet letters and digits."
 msgstr ""
 "Kullanıcı adı sadece latin alfabesindeki harfleri ve rakamları içerebilir."
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Valid password must be at least %(limit_value)s character long."
 msgid_plural ""
 "Valid password must be at least %(limit_value)s characters long."

BIN
misago/locale/zh_Hans/LC_MESSAGES/django.mo


+ 738 - 311
misago/locale/zh_Hans/LC_MESSAGES/django.po

@@ -8,9 +8,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-31 23:36+0000\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Neo Chang <me@neoto.xin>, 2017\n"
+"Last-Translator: cxgreat2014 <fwy1998@gmail.com>, 2018\n"
 "Language-Team: Chinese (China) (https://www.transifex.com/misago/teams/65369/zh_CN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Permissions"
 msgstr "权限"
 
-#: acl/admin.py:33 users/forms/admin.py:414
+#: acl/admin.py:33 users/forms/admin.py:416
 msgid "User roles"
 msgstr "用户身份"
 
@@ -142,17 +142,17 @@ msgstr "您必须选择一个或者多个项目"
 msgid "Action is not allowed."
 msgstr "操作不被许可"
 
-#: admin/views/index.py:70
+#: admin/views/index.py:83
 #, python-format
 msgid "Outdated: %(current)s! (latest: %(latest)s)"
 msgstr "已过期:%(current)s!(最新:%(latest)s)"
 
-#: admin/views/index.py:78
+#: admin/views/index.py:91
 #, python-format
 msgid "Up to date! (%(current)s)"
 msgstr "更新到 (%(current)s)"
 
-#: admin/views/index.py:87
+#: admin/views/index.py:100
 msgid "Failed to connect to GitHub API. Try again later."
 msgstr "访问GitHub API失败,请稍候尝试"
 
@@ -171,11 +171,11 @@ msgstr "版块层次"
 msgid "Category roles"
 msgstr "版块身份"
 
-#: categories/forms.py:47 users/forms/admin.py:388
+#: categories/forms.py:47 users/forms/admin.py:390
 msgid "Name"
 msgstr "名称"
 
-#: categories/forms.py:49 users/forms/admin.py:404
+#: categories/forms.py:49 users/forms/admin.py:406
 msgid "Description"
 msgstr "描述"
 
@@ -183,7 +183,7 @@ msgstr "描述"
 msgid "Optional description explaining category intented purpose."
 msgstr "解释版块用途(可选)。"
 
-#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:421
+#: categories/forms.py:56 categories/forms.py:68 users/forms/admin.py:423
 msgid "CSS class"
 msgstr "CSS类"
 
@@ -201,7 +201,7 @@ msgstr "已关闭版块"
 msgid "Only members with valid permissions can post in closed categories."
 msgstr "只有具备特定权限的成员可以在已经关闭的版块中发帖。"
 
-#: categories/forms.py:75 templates/misago/admin/index.html:83
+#: categories/forms.py:75 templates/misago/admin/index.html:110
 #: templates/misago/admin/users/delete.html:32 templates/misago/navbar.html:18
 #: templates/misago/navbar.html:34 templates/misago/profile/threads.html:5
 #: templates/misago/profile/threads.html:8
@@ -214,7 +214,7 @@ msgstr "只有具备特定权限的成员可以在已经关闭的版块中发帖
 #: threads/migrations/0002_threads_settings.py:16
 #: threads/migrations/0004_update_settings.py:16
 #: threads/permissions/threads.py:72 threads/permissions/threads.py:103
-#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:89
+#: threads/search.py:20 threads/viewmodels/thread.py:118 users/apps.py:97
 msgid "Threads"
 msgstr "主题帖"
 
@@ -511,7 +511,7 @@ msgstr "请求验证不可用"
 
 #: core/forms.py:43 templates/misago/admin/users/edit.html:61
 #: templates/misago/admin/users/edit.html:78
-#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:590
+#: templates/misago/admin/users/edit.html:184 users/forms/admin.py:604
 msgid "Yes"
 msgstr "是"
 
@@ -525,7 +525,7 @@ msgstr "是"
 #: threads/permissions/threads.py:164 threads/permissions/threads.py:178
 #: threads/permissions/threads.py:189 threads/permissions/threads.py:205
 #: threads/permissions/threads.py:216 threads/permissions/threads.py:247
-#: users/forms/admin.py:591 users/models/user.py:145
+#: users/forms/admin.py:605 users/models/user.py:147
 msgid "No"
 msgstr "否"
 
@@ -623,7 +623,72 @@ msgstr "必须包括字母或者数字"
 msgid "Value is too long."
 msgstr "过长"
 
+#: legal/admin.py:25 templates/misago/admin/users/edit.html:216
+msgid "Agreements"
+msgstr ""
+
+#: legal/api.py:18
+msgid "You have already accepted this agreement."
+msgstr ""
+
+#: legal/api.py:27
+msgid "You need to submit a valid choice."
+msgstr ""
+
+#: legal/forms.py:10 legal/forms.py:60
+#: templates/misago/admin/agreements/list.html:18
+#: templates/misago/admin/attachmenttypes/list.html:16
+#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:589
+msgid "Type"
+msgstr "类型"
+
+#: legal/forms.py:12 templates/misago/admin/agreements/list.html:16
+#: templates/misago/admin/ranks/list.html:17
+msgid "Title"
+msgstr "标题"
+
+#: legal/forms.py:13
+msgid "Optional, leave empty for agreement to be named after its type."
+msgstr ""
+
+#: legal/forms.py:17
+msgid "Set as active for its type"
+msgstr ""
+
+#: legal/forms.py:19
+msgid ""
+"If other agreement is already active for this type, it will be unset and "
+"replaced with this one. Misago will ask users who didn't accept this "
+"agreement to do so before allowing them to continue using the site's "
+"features."
+msgstr ""
+
+#: legal/forms.py:27
+msgid "Link"
+msgstr ""
+
+#: legal/forms.py:28
+msgid "If your agreement is located on other page, enter here a link to it."
+msgstr ""
+
+#: legal/forms.py:32
+msgid "Text"
+msgstr ""
+
+#: legal/forms.py:33
+msgid "You can use Markdown syntax for rich text elements."
+msgstr ""
+
+#: legal/forms.py:46
+msgid "Please fill in agreement link or text."
+msgstr ""
+
+#: legal/forms.py:65
+msgid "Content"
+msgstr ""
+
 #: legal/migrations/0001_initial.py:16
+#: legal/migrations/0003_create_agreements_from_settings.py:57
 msgid "Legal information"
 msgstr "法律信息"
 
@@ -666,7 +731,7 @@ msgstr "您的论坛可以有自定义的服务条款页面。如果要创建它
 msgid "Policy title"
 msgstr "政策标题"
 
-#: legal/migrations/0001_initial.py:64 legal/views.py:46
+#: legal/migrations/0001_initial.py:64 legal/models.py:43
 #: templates/misago/footer.html:27
 msgid "Privacy policy"
 msgstr "隐私政策"
@@ -690,21 +755,85 @@ msgid ""
 msgstr "您的论坛可以有隐私政策页面。可以在此处粘贴他的内容。可使用框架标记语言"
 
 #: legal/migrations/0001_initial.py:105
+#: legal/migrations/0003_create_agreements_from_settings.py:62
 msgid "Footnote"
 msgstr "补充说明"
 
 #: legal/migrations/0001_initial.py:106
+#: legal/migrations/0003_create_agreements_from_settings.py:63
 msgid "Short message displayed in forum footer."
 msgstr "展示在论坛底部的短消息"
 
 #: legal/migrations/0001_initial.py:107
+#: legal/migrations/0003_create_agreements_from_settings.py:64
 msgid "Forum footer"
 msgstr "论坛底部"
 
-#: legal/views.py:65 templates/misago/footer.html:22
+#: legal/migrations/0003_create_agreements_from_settings.py:58
+msgid ""
+"Those settings allow you to set additional legal information for your forum."
+msgstr ""
+
+#: legal/models.py:42 templates/misago/footer.html:22
 msgid "Terms of service"
 msgstr "服务条款"
 
+#: legal/views/admin.py:17
+msgid "Requested agreement does not exist."
+msgstr ""
+
+#: legal/views/admin.py:29 threads/views/admin/attachments.py:24
+#: users/views/admin/bans.py:24 users/views/admin/datadownloads.py:20
+#: users/views/admin/users.py:56
+msgid "From newest"
+msgstr "从最新注册的"
+
+#: legal/views/admin.py:30 threads/views/admin/attachments.py:25
+#: users/views/admin/bans.py:25 users/views/admin/datadownloads.py:21
+#: users/views/admin/users.py:57
+msgid "From oldest"
+msgstr "从最早注册的"
+
+#: legal/views/admin.py:33
+msgid "With agreements: 0"
+msgstr ""
+
+#: legal/views/admin.py:34
+msgid "Select agreements"
+msgstr ""
+
+#: legal/views/admin.py:38
+msgid "Delete agreements"
+msgstr ""
+
+#: legal/views/admin.py:39
+msgid "Are you sure you want to delete those agreements?"
+msgstr ""
+
+#: legal/views/admin.py:49
+msgid "Selected agreements have been deleted."
+msgstr ""
+
+#: legal/views/admin.py:53
+#, python-format
+msgid "New agreement \"%(title)s\" has been saved."
+msgstr ""
+
+#: legal/views/admin.py:63
+#, python-format
+msgid "Agreement \"%(title)s\" has been edited."
+msgstr ""
+
+#: legal/views/admin.py:77
+#, python-format
+msgid "Agreement \"%(title)s\" has been deleted."
+msgstr ""
+
+#: legal/views/admin.py:85
+#, python-format
+msgid "Agreement \"%(title)s\" has been set as active for type \"%(type)s\"."
+msgstr ""
+
 #: markup/finalise.py:22
 #, python-format
 msgid "%(title)s has written:"
@@ -714,15 +843,15 @@ msgstr "%(title)s 说:"
 msgid "Quoted message:"
 msgstr "引用消息"
 
-#: project_template/project_name/settings.py:388
+#: project_template/project_name/settings.py:424
 msgid "Personal"
 msgstr "个人"
 
-#: project_template/project_name/settings.py:397
+#: project_template/project_name/settings.py:433
 msgid "Contact"
 msgstr "联系"
 
-#: project_template/project_name/settings.py:405 users/models/ban.py:76
+#: project_template/project_name/settings.py:441 users/models/ban.py:76
 msgid "IP address"
 msgstr "IP地址"
 
@@ -821,6 +950,98 @@ msgstr "激活失败"
 msgid "Your account can't be activated at this time."
 msgstr "您的账号本次不能被激活。"
 
+#: templates/misago/admin/agreements/form.html:9
+#: templates/misago/admin/agreements/form.html:18
+#: templates/misago/admin/agreements/form.html:28
+#: templates/misago/admin/agreements/list.html:9
+msgid "New agreement"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:43
+#: templates/misago/admin/categoryroles/form.html:43
+#: templates/misago/admin/roles/form.html:43
+msgid "Basic settings"
+msgstr "基本设置"
+
+#: templates/misago/admin/agreements/form.html:51
+msgid "Agreement contents"
+msgstr ""
+
+#: templates/misago/admin/agreements/form.html:54
+msgid "Fill in one of the fields."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:19
+msgid "Created"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:20
+msgid "Modified"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:33
+#, python-format
+msgid "Active %(type)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:52
+#, python-format
+msgid "%(created_on)s by %(created_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:68
+#, python-format
+msgid "%(last_modified_on)s by %(last_modified_by)s"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:72
+msgid "never"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:78
+msgid "Set as active"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:88
+#: templates/misago/admin/attachmenttypes/list.html:54
+#: templates/misago/admin/bans/list.html:55
+#: templates/misago/admin/categories/list.html:66
+#: templates/misago/admin/categoryroles/list.html:27
+#: templates/misago/admin/ranks/list.html:99
+#: templates/misago/admin/roles/list.html:43
+#: templates/misago/admin/warnings/list.html:109
+#: templates/misago/poll/results.html:69
+#: templates/misago/profile/details.html:24
+#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
+msgid "Edit"
+msgstr "编辑"
+
+#: templates/misago/admin/agreements/list.html:94
+#: templates/misago/admin/bans/list.html:61
+msgid "Remove"
+msgstr "移除"
+
+#: templates/misago/admin/agreements/list.html:106
+msgid "No agreements matching search criteria have been found"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:108
+msgid "No agreements are currently set."
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:119
+msgid "Are you sure you want to set this agreement as active for its type?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:124
+msgid "Are you sure you want to delete this agreement?"
+msgstr ""
+
+#: templates/misago/admin/agreements/list.html:133
+#: templates/misago/admin/bans/list.html:95
+msgid "Search bans"
+msgstr "搜索封禁"
+
 #: templates/misago/admin/attachments/list.html:7
 msgid "Attachment"
 msgstr "附件"
@@ -831,11 +1052,8 @@ msgstr "主题帖"
 
 #: templates/misago/admin/attachments/list.html:42
 #, python-format
-msgid ""
-"%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s from "
-"%(uploader_ip)s."
+msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s."
 msgstr ""
-"%(filetype)s, %(size)s, 上传者%(uploader)s %(uploaded_on)s 源IP:%(uploader_ip)s."
 
 #: templates/misago/admin/attachments/list.html:53
 #: templates/misago/admin/attachmenttypes/list.html:47
@@ -885,11 +1103,6 @@ msgstr "基本选项"
 msgid "Availability"
 msgstr "可用性(权限)"
 
-#: templates/misago/admin/attachmenttypes/list.html:16
-#: templates/misago/admin/bans/list.html:17 users/forms/admin.py:575
-msgid "Type"
-msgstr "类型"
-
 #: templates/misago/admin/attachmenttypes/list.html:17
 msgid "Extensions"
 msgstr "扩展"
@@ -902,19 +1115,6 @@ msgstr "MIME类型"
 msgid "Files"
 msgstr "文件"
 
-#: templates/misago/admin/attachmenttypes/list.html:54
-#: templates/misago/admin/bans/list.html:55
-#: templates/misago/admin/categories/list.html:66
-#: templates/misago/admin/categoryroles/list.html:27
-#: templates/misago/admin/ranks/list.html:99
-#: templates/misago/admin/roles/list.html:43
-#: templates/misago/admin/warnings/list.html:109
-#: templates/misago/poll/results.html:69
-#: templates/misago/profile/details.html:24
-#: templates/misago/thread/posts/post/footer.html:31 users/djangoadmin.py:54
-msgid "Edit"
-msgstr "编辑"
-
 #: templates/misago/admin/attachmenttypes/list.html:71
 msgid "No attachment types are currently defined."
 msgstr "当前没有定义任何附件类型。"
@@ -931,12 +1131,12 @@ msgid "New ban"
 msgstr "新的封禁"
 
 #: templates/misago/admin/bans/form.html:43
-#: templates/misago/admin/users/ban.html:53
+#: templates/misago/admin/users/ban.html:57
 msgid "Ban settings"
 msgstr "封禁设置"
 
 #: templates/misago/admin/bans/form.html:52
-#: templates/misago/admin/users/ban.html:60
+#: templates/misago/admin/users/ban.html:64
 msgid "Messages"
 msgstr "消息"
 
@@ -944,8 +1144,8 @@ msgstr "消息"
 msgid "Ban"
 msgstr "封禁"
 
-#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:493
-#: users/forms/admin.py:546
+#: templates/misago/admin/bans/list.html:18 users/forms/admin.py:488
+#: users/forms/admin.py:560
 msgid "Expires on"
 msgstr "过期于"
 
@@ -958,10 +1158,6 @@ msgstr "%(check_type)s, 只允许注册"
 msgid "Never"
 msgstr "从不"
 
-#: templates/misago/admin/bans/list.html:61
-msgid "Remove"
-msgstr "移除"
-
 #: templates/misago/admin/bans/list.html:73
 msgid "No bans matching search criteria have been found"
 msgstr "没有符合搜索要求的封禁"
@@ -974,10 +1170,6 @@ msgstr "目前没有设置封禁"
 msgid "Are you sure you want to remove this ban?"
 msgstr "确认移除此封禁?"
 
-#: templates/misago/admin/bans/list.html:95
-msgid "Search bans"
-msgstr "搜索封禁"
-
 #: templates/misago/admin/base_thin.html:8
 msgid "Misago Administration"
 msgstr "论坛框架管理"
@@ -1111,11 +1303,6 @@ msgstr "确认放弃所有更改?"
 msgid "New role"
 msgstr "新身份"
 
-#: templates/misago/admin/categoryroles/form.html:43
-#: templates/misago/admin/roles/form.html:43
-msgid "Basic settings"
-msgstr "基本设置"
-
 #: templates/misago/admin/categoryroles/list.html:16
 msgid "Category role"
 msgstr "版块身份"
@@ -1153,6 +1340,61 @@ msgstr ""
 msgid "Change settings"
 msgstr "更改设置"
 
+#: templates/misago/admin/datadownloads/form.html:6
+#: templates/misago/admin/datadownloads/form.html:11
+#: templates/misago/admin/datadownloads/form.html:17
+msgid "Request new data downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:9
+msgid "Request new downloads"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:17
+#: templates/misago/admin/users/list.html:17 users/forms/admin.py:696
+msgid "User"
+msgstr "用户"
+
+#: templates/misago/admin/datadownloads/list.html:18 threads/forms.py:56
+#: users/forms/admin.py:691
+msgid "Status"
+msgstr "状态"
+
+#: templates/misago/admin/datadownloads/list.html:19
+msgid "Requested on"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:21 users/forms/admin.py:700
+msgid "Requested by"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:32
+#: templates/misago/admin/datadownloads/list.html:49
+#: templates/misago/admin/datadownloads/list.html:52
+#: templates/misago/admin/users/ban.html:35
+#: templates/misago/admin/users/edit.html:113
+#: templates/misago/admin/users/list.html:35
+#: templates/misago/userslists/active_posters.html:66
+msgid "Avatar"
+msgstr "头像"
+
+#: templates/misago/admin/datadownloads/list.html:73
+#: templates/misago/emails/data_download.html:11 users/apps.py:50
+msgid "Download data"
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:84
+msgid "No data downloads matching search criteria have been found."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:86
+msgid "No data downloads exist at the moment."
+msgstr ""
+
+#: templates/misago/admin/datadownloads/list.html:93
+msgid "Search data downloads"
+msgstr ""
+
 #: templates/misago/admin/errorpages/403.html:5
 #: templates/misago/errorpages/403.html:5
 msgid "Page not available"
@@ -1308,44 +1550,73 @@ msgstr "最后"
 msgid "Administration Home"
 msgstr "管理员主页"
 
-#: templates/misago/admin/index.html:33
+#: templates/misago/admin/index.html:22
+msgid "System checks"
+msgstr ""
+
+#: templates/misago/admin/index.html:26
+msgid "MISAGO_ADDRESS setting appears to be correct."
+msgstr ""
+
+#: templates/misago/admin/index.html:30
+msgid "The settings.py value for MISAGO_ADDRESS appears to be incorrect."
+msgstr ""
+
+#: templates/misago/admin/index.html:38
+#, python-format
+msgid ""
+"Your MISAGO_ADDRESS is set to %(configured_address)s while correct value "
+"appears to be %(correct_address)s."
+msgstr ""
+
+#: templates/misago/admin/index.html:42 templates/misago/admin/index.html:47
+msgid ""
+"Misago uses this setting to build correct links in e-mails sent to site "
+"users."
+msgstr ""
+
+#: templates/misago/admin/index.html:46
+msgid "The settings.py is missing MISAGO_ADDRESS value."
+msgstr ""
+
+#: templates/misago/admin/index.html:60
 msgid "Misago version"
 msgstr "论坛框架版本"
 
-#: templates/misago/admin/index.html:56
+#: templates/misago/admin/index.html:83
 msgid "Check version"
 msgstr "检查版本"
 
-#: templates/misago/admin/index.html:62
+#: templates/misago/admin/index.html:89
 msgid "This feature requires \"packaging\" python module."
 msgstr "此功能需要\"packaging\" Python模块"
 
-#: templates/misago/admin/index.html:76
+#: templates/misago/admin/index.html:103
 msgid "DB Contents"
 msgstr "数据库内容"
 
-#: templates/misago/admin/index.html:87
+#: templates/misago/admin/index.html:114
 #: templates/misago/admin/users/delete.html:36
-#: templates/misago/admin/users/list.html:23
+#: templates/misago/admin/users/list.html:24
 #: templates/misago/profile/posts.html:5 templates/misago/profile/posts.html:8
 #: threads/migrations/0002_threads_settings.py:48
-#: threads/migrations/0004_update_settings.py:48 users/apps.py:83
+#: threads/migrations/0004_update_settings.py:48 users/apps.py:91
 msgid "Posts"
 msgstr "发帖"
 
-#: templates/misago/admin/index.html:91 templates/misago/navbar.html:40
+#: templates/misago/admin/index.html:118 templates/misago/navbar.html:40
 #: templates/misago/userslists/base.html:5
-#: templates/misago/userslists/base.html:14 users/admin.py:70
+#: templates/misago/userslists/base.html:14 users/admin.py:80
 #: users/migrations/0002_users_settings.py:16
 #: users/migrations/0006_update_settings.py:17 users/search.py:18
 msgid "Users"
 msgstr "用户"
 
-#: templates/misago/admin/index.html:96
+#: templates/misago/admin/index.html:123
 msgid "Inactive users"
 msgstr "冻结用户"
 
-#: templates/misago/admin/index.html:122
+#: templates/misago/admin/index.html:149
 msgid "Checking..."
 msgstr "检查中…"
 
@@ -1373,7 +1644,7 @@ msgstr "請再試一次。"
 msgid "Username or e-mail"
 msgstr "用户名或电子邮件"
 
-#: templates/misago/admin/login.html:62 users/forms/admin.py:60
+#: templates/misago/admin/login.html:62 users/forms/admin.py:62
 #: users/forms/auth.py:59
 msgid "Password"
 msgstr "密码"
@@ -1418,17 +1689,13 @@ msgid "Display and visibility"
 msgstr "显示和可见性"
 
 #: templates/misago/admin/ranks/list.html:16
-#: templates/misago/admin/users/list.html:21
+#: templates/misago/admin/users/list.html:22
 #: templates/misago/userslists/active_posters.html:95
 #: templates/misago/userslists/active_posters.html:106
-#: users/forms/admin.py:236
+#: users/forms/admin.py:238
 msgid "Rank"
 msgstr "级别"
 
-#: templates/misago/admin/ranks/list.html:17
-msgid "Title"
-msgstr "标题"
-
 #: templates/misago/admin/ranks/list.html:18
 msgid "Special"
 msgstr "特别"
@@ -1470,7 +1737,7 @@ msgid "No user roles are currently defined."
 msgstr "目前没有定义用户身份。"
 
 #: templates/misago/admin/users/ban.html:6
-#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:72
+#: templates/misago/admin/users/ban.html:11 users/views/admin/users.py:73
 msgid "Ban users"
 msgstr "封禁用户"
 
@@ -1478,14 +1745,11 @@ msgstr "封禁用户"
 msgid "Ban selected users:"
 msgstr "封禁所选用户:"
 
-#: templates/misago/admin/users/ban.html:35
-#: templates/misago/admin/users/edit.html:113
-#: templates/misago/admin/users/list.html:34
-#: templates/misago/userslists/active_posters.html:66
-msgid "Avatar"
-msgstr "头像"
+#: templates/misago/admin/users/ban.html:48
+msgid "IP not available"
+msgstr ""
 
-#: templates/misago/admin/users/ban.html:72
+#: templates/misago/admin/users/ban.html:76
 msgid "Set bans"
 msgstr "设置封禁"
 
@@ -1580,6 +1844,18 @@ msgstr ""
 msgid "No staff message is available."
 msgstr "没有可用的工作人员消息。"
 
+#: templates/misago/admin/users/edit.html:220
+msgid "Agreement"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:221
+msgid "Accepted on"
+msgstr ""
+
+#: templates/misago/admin/users/edit.html:239
+msgid "This user didn't accept any agreements."
+msgstr ""
+
 #: templates/misago/admin/users/list.html:9
 #: templates/misago/admin/users/new.html:6
 #: templates/misago/admin/users/new.html:11
@@ -1587,51 +1863,55 @@ msgstr "没有可用的工作人员消息。"
 msgid "New user"
 msgstr "新用户"
 
-#: templates/misago/admin/users/list.html:17
-msgid "User"
-msgstr "用户"
-
-#: templates/misago/admin/users/list.html:20
+#: templates/misago/admin/users/list.html:20 users/signals.py:30
 msgid "E-mail"
 msgstr "电子邮件"
 
-#: templates/misago/admin/users/list.html:22
+#: templates/misago/admin/users/list.html:21
+msgid "IP Address"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:23
 msgid "Joined"
 msgstr "加入"
 
-#: templates/misago/admin/users/list.html:39
+#: templates/misago/admin/users/list.html:40
 msgid "Is deleting their account"
 msgstr ""
 
-#: templates/misago/admin/users/list.html:43
+#: templates/misago/admin/users/list.html:44
 msgid "Is disabled by administrator"
 msgstr "被管理员禁用"
 
-#: templates/misago/admin/users/list.html:54
+#: templates/misago/admin/users/list.html:55
 msgid "Requires activation by administrator"
 msgstr "需要管理员激活"
 
-#: templates/misago/admin/users/list.html:56
+#: templates/misago/admin/users/list.html:57
 msgid "Has to activate account"
 msgstr "必须激活账号"
 
-#: templates/misago/admin/users/list.html:63
+#: templates/misago/admin/users/list.html:64
 msgid "Super administrator"
 msgstr "超级管理员"
 
-#: templates/misago/admin/users/list.html:65
+#: templates/misago/admin/users/list.html:66
 msgid "Administrator"
 msgstr "管理员"
 
-#: templates/misago/admin/users/list.html:90
+#: templates/misago/admin/users/list.html:78
+msgid "IP removed"
+msgstr ""
+
+#: templates/misago/admin/users/list.html:98
 msgid "Edit user"
 msgstr "编辑用户"
 
-#: templates/misago/admin/users/list.html:99
+#: templates/misago/admin/users/list.html:107
 msgid "No users matching search criteria have been found."
 msgstr "没有找到匹配搜索条件的用户。"
 
-#: templates/misago/admin/users/list.html:105
+#: templates/misago/admin/users/list.html:113
 msgid "Search users"
 msgstr "搜索用户"
 
@@ -1835,6 +2115,29 @@ msgstr "要更改您的账号密码,请单击下面的链接:"
 msgid "Set new password"
 msgstr "设置新密码"
 
+#: templates/misago/emails/data_download.html:6
+#: templates/misago/emails/data_download.txt:6
+#, python-format
+msgid ""
+"%(user)s, you are receiving this message because your data is ready for "
+"download."
+msgstr ""
+
+#: templates/misago/emails/data_download.html:14
+#: templates/misago/emails/data_download.txt:15
+#, python-format
+msgid ""
+"This link will remain active for %(expires_in)s hour from the time this "
+"message has been sent."
+msgid_plural ""
+"This link will remain active for %(expires_in)s hours from the time this "
+"message has been sent."
+msgstr[0] ""
+
+#: templates/misago/emails/data_download.txt:10
+msgid "To download your data, click the following link:"
+msgstr ""
+
 #: templates/misago/emails/privatethread/added.html:9
 #, python-format
 msgid ""
@@ -1920,9 +2223,9 @@ msgstr "您的账号被激活后,您可以通过以下链接登录。"
 #: templates/misago/emails/thread/reply.html:9
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread %(thread)s that you are subscribed to."
-msgstr "%(user)s您收到这个消息,因为%(poster)s回复了您订阅的主题帖%(thread)s。"
+msgstr ""
 
 #: templates/misago/emails/thread/reply.html:14
 #: templates/misago/emails/thread/reply.txt:10
@@ -1936,9 +2239,9 @@ msgstr "去回帖"
 #: templates/misago/emails/thread/reply.txt:6
 #, python-format
 msgid ""
-"%(user)s, you are receiving this message because %(poster)s has replied to "
+"%(user)s, you are receiving this message because %(sender)s has replied to "
 "the thread \"%(thread)s\" that you are subscribed to."
-msgstr "%(user)s,您收到这个消息,因为%(poster)s回复了您订阅的主题帖\"%(thread)s\"。"
+msgstr ""
 
 #: templates/misago/errorpages/403.html:40
 msgid "This page is not available."
@@ -2163,7 +2466,7 @@ msgstr "查看结果"
 
 #: templates/misago/profile/ban_details.html:5
 #: templates/misago/profile/ban_details.html:8
-#: templates/misago/profile/ban_details.html:15 users/apps.py:120
+#: templates/misago/profile/ban_details.html:15 users/apps.py:128
 msgid "Ban details"
 msgstr "封禁细节"
 
@@ -2208,7 +2511,7 @@ msgstr[0] "已发起 %(threads)s 主题帖。"
 
 #: templates/misago/profile/details.html:5
 #: templates/misago/profile/details.html:8
-#: templates/misago/profile/details.html:18 users/apps.py:107
+#: templates/misago/profile/details.html:18 users/apps.py:115
 msgid "Details"
 msgstr "详情"
 
@@ -2236,7 +2539,7 @@ msgid "This error is caused by invalid post content manipulation."
 msgstr "此错误是由无效的帖子内容操作引起的。"
 
 #: templates/misago/profile/followers.html:5
-#: templates/misago/profile/followers.html:8 users/apps.py:95
+#: templates/misago/profile/followers.html:8 users/apps.py:103
 msgid "Followers"
 msgstr "关注者"
 
@@ -2262,7 +2565,7 @@ msgid "%(username)s has no followers."
 msgstr "%(username)s没有关注者。"
 
 #: templates/misago/profile/follows.html:5
-#: templates/misago/profile/follows.html:8 users/apps.py:101
+#: templates/misago/profile/follows.html:8 users/apps.py:109
 msgid "Follows"
 msgstr "关注"
 
@@ -2343,7 +2646,7 @@ msgid "%(username)s started no threads."
 msgstr "%(username)s没有发起任何主题帖。"
 
 #: templates/misago/profile/username_history.html:5
-#: templates/misago/profile/username_history.html:8 users/apps.py:113
+#: templates/misago/profile/username_history.html:8 users/apps.py:121
 msgid "Username history"
 msgstr "用户名历史记录"
 
@@ -2368,6 +2671,20 @@ msgstr "您的用户名从未更改。"
 msgid "%(username)s's username was never changed."
 msgstr "%(username)s的用户名从未改变。"
 
+#: templates/misago/required_agreement.html:9
+#, python-format
+msgid "Please review the updated %(agreement)s:"
+msgstr ""
+
+#: templates/misago/required_agreement.html:19
+msgid "here"
+msgstr ""
+
+#: templates/misago/required_agreement.html:21
+#, python-format
+msgid "Please review the updated %(agreement)s available %(link)s."
+msgstr ""
+
 #: templates/misago/search.html:5 templates/misago/search.html:8
 msgid "Search site"
 msgstr "搜索网站"
@@ -2483,10 +2800,6 @@ msgstr "被%(hidden_by)s隐藏于%(hidden_on)s。"
 msgid "By %(event_by)s on %(event_on)s."
 msgstr "被%(event_by)s于%(event_on)s."
 
-#: templates/misago/thread/posts/event/info.html:34
-msgid "IP recorded"
-msgstr "IP记录"
-
 #: templates/misago/thread/posts/post/attachments.html:33
 #, python-format
 msgid "%(filetype)s, %(size)s, uploaded by %(uploader)s on %(uploaded_on)s."
@@ -2608,7 +2921,7 @@ msgstr[0] "%(replies)s条回帖,最后一条于 %(last_post_on)s。"
 
 #: templates/misago/thread/thread.html:24
 msgid "Answered."
-msgstr ""
+msgstr "已回答。"
 
 #: templates/misago/thread/thread.html:24
 msgid "Closed."
@@ -2632,7 +2945,7 @@ msgstr ""
 
 #: templates/misago/thread/toolbar-top.html:26
 msgid "Best answer"
-msgstr ""
+msgstr "最佳答案"
 
 #: templates/misago/threadslist/base.html:63
 msgid "There are no threads in this category."
@@ -2693,7 +3006,7 @@ msgstr "新职位"
 
 #: templates/misago/threadslist/thread.html:59
 msgid "Answered"
-msgstr ""
+msgstr "已回答"
 
 #: templates/misago/threadslist/thread.html:139
 msgid "Poll"
@@ -2760,11 +3073,11 @@ msgstr "附件"
 msgid "Attachment types"
 msgstr "附件类型"
 
-#: threads/api/attachments.py:19
+#: threads/api/attachments.py:20
 msgid "You don't have permission to upload new files."
 msgstr "您没有上传新文件的权限。"
 
-#: threads/api/attachments.py:29
+#: threads/api/attachments.py:30
 msgid "No file has been uploaded."
 msgstr "没有上传文件。"
 
@@ -2772,24 +3085,24 @@ msgstr "没有上传文件。"
 msgid "Uploaded image was corrupted or invalid."
 msgstr "上传的图像已损坏或无效。"
 
-#: threads/api/attachments.py:81
+#: threads/api/attachments.py:83
 msgid "You can't upload files of this type."
 msgstr "您无法上传此类型的文件。"
 
-#: threads/api/attachments.py:86
+#: threads/api/attachments.py:88
 #, python-format
 msgid ""
 "You can't upload files larger than %(limit)s (your file has %(upload)s)."
 msgstr "您不能上传大于%(limit)s的文件(您的文件有%(upload)s)。"
 
-#: threads/api/attachments.py:96
+#: threads/api/attachments.py:98
 #, python-format
 msgid ""
 "You can't upload files of this type larger than %(limit)s (your file has "
 "%(upload)s)."
 msgstr "您不能上传大于%(limit)s的此类型的文件(您的文件有%(upload)s)。"
 
-#: threads/api/postendpoints/edits.py:89
+#: threads/api/postendpoints/edits.py:88
 msgid "Edits record is unavailable for this post."
 msgstr "此帖子无法编辑记录。"
 
@@ -2805,12 +3118,12 @@ msgstr "您不能在此主题帖中移动帖子。"
 msgid "You can't like posts in this category."
 msgstr "您不能赞这个版块的帖子。"
 
-#: threads/api/postendpoints/patch_post.py:108
+#: threads/api/postendpoints/patch_post.py:107
 #: threads/api/threadendpoints/patch.py:130
 msgid "Content approval can't be reversed."
 msgstr "内容审批不能撤销。"
 
-#: threads/api/postendpoints/patch_post.py:186
+#: threads/api/postendpoints/patch_post.py:185
 msgid "One or more posts to update could not be found."
 msgstr "无法找到一条或多条要更新的帖子。"
 
@@ -2823,7 +3136,7 @@ msgstr "您不能从这条主题帖拆分帖子。"
 msgid "You don't have permission to remove \"%(attachment)s\" attachment."
 msgstr "您没有权限删除 \"%(attachment)s\"附件。"
 
-#: threads/api/postingendpoint/attachments.py:128
+#: threads/api/postingendpoint/attachments.py:127
 #, python-format
 msgid ""
 "You can't attach more than %(limit_value)s file to single post (added "
@@ -2893,11 +3206,11 @@ msgstr[0] "您不能再添加%(users)s用户到私人主题帖(您已经添加
 msgid "One or more users could not be found: %(usernames)s"
 msgstr "找不到用户:%(usernames)s"
 
-#: threads/api/postingendpoint/reply.py:81 threads/validators.py:80
+#: threads/api/postingendpoint/reply.py:83 threads/validators.py:80
 msgid "You have to enter a message."
 msgstr "您必须输入消息。"
 
-#: threads/api/postingendpoint/reply.py:103 threads/validators.py:41
+#: threads/api/postingendpoint/reply.py:105 threads/validators.py:41
 msgid "You have to enter thread title."
 msgstr "您必须输入主题帖标题。"
 
@@ -2912,7 +3225,7 @@ msgstr "目前没有允许新主题帖的版块可供您使用。"
 
 #: threads/api/threadendpoints/patch.py:54
 msgid "Not a valid string."
-msgstr ""
+msgstr "不是有效的字符串。"
 
 #: threads/api/threadendpoints/patch.py:74
 msgid "You can't change globally pinned threads weights in this category."
@@ -2939,17 +3252,17 @@ msgstr "您没有权限打开此主题帖。"
 #: threads/api/threadendpoints/patch.py:301
 #: threads/api/threadendpoints/patch.py:331
 msgid "A valid integer is required."
-msgstr ""
+msgstr "需要一个有效的整数。"
 
 #: threads/api/threadendpoints/patch.py:219
 msgid "This post is already marked as thread's best answer."
-msgstr ""
+msgstr "这个帖子已被标记为该主题的最佳答案。"
 
 #: threads/api/threadendpoints/patch.py:252
 msgid ""
 "This post can't be unmarked because it's not currently marked as best "
 "answer."
-msgstr ""
+msgstr "这篇文章不能被取消标记,因为它目前没有被标记为最佳答案。"
 
 #: threads/api/threadendpoints/patch.py:277
 msgid "You have to enter new participant's username."
@@ -2974,9 +3287,9 @@ msgstr "该用户已经是主题帖所有者。"
 
 #: threads/api/threadendpoints/patch.py:447
 msgid "One or more threads to update could not be found."
-msgstr ""
+msgstr "找不到一个或多个要更新的线程。"
 
-#: threads/api/threadpoll.py:53
+#: threads/api/threadpoll.py:54
 msgid "There's already a poll in this thread."
 msgstr "此主题帖已存在一个调查。"
 
@@ -3012,7 +3325,7 @@ msgstr "文件名包含"
 msgid "File type"
 msgstr "文件类型"
 
-#: threads/forms.py:24 users/forms/admin.py:595
+#: threads/forms.py:24 users/forms/admin.py:609
 msgid "State"
 msgstr "状态"
 
@@ -3036,10 +3349,6 @@ msgstr "文件扩展名"
 msgid "Maximum allowed uploaded file size"
 msgstr "最大允许上传的大小"
 
-#: threads/forms.py:56
-msgid "Status"
-msgstr "状态"
-
 #: threads/forms.py:57
 msgid "Limit uploads to"
 msgstr "将上传权限限制于"
@@ -3090,7 +3399,7 @@ msgstr ""
 
 #: threads/mergeconflict.py:57
 msgid "Unmark all best answers"
-msgstr ""
+msgstr "取消标记所有最佳答案"
 
 #: threads/mergeconflict.py:76
 msgid "Delete all polls"
@@ -3218,7 +3527,7 @@ msgstr "可以下载附件"
 
 #: threads/permissions/bestanswers.py:29
 msgid "Best answers"
-msgstr ""
+msgstr "最佳答案"
 
 #: threads/permissions/bestanswers.py:32
 msgid "Can mark posts as best answers"
@@ -3292,13 +3601,13 @@ msgstr ""
 msgid ""
 "You don't have permission to change this thread's marked answer because you "
 "are not a thread starter."
-msgstr ""
+msgstr "因为您不是主题发起人,所有您无权更改此主题的最佳答案。"
 
 #: threads/permissions/bestanswers.py:221
 msgid ""
 "You don't have permission to change this thread's best answer because a "
 "moderator has protected it."
-msgstr ""
+msgstr "您没有权限更改此主题的最佳答案,因为主持人已对其进行了保护。"
 
 #: threads/permissions/bestanswers.py:232
 msgid "You have to sign in to unmark best answers."
@@ -3648,7 +3957,7 @@ msgstr "允许比洪水攻击保护更频繁的发帖。"
 msgid "Can see threads"
 msgstr "可以看到主题帖"
 
-#: threads/permissions/threads.py:110 users/forms/admin.py:166
+#: threads/permissions/threads.py:110 users/forms/admin.py:168
 #: users/migrations/0002_users_settings.py:144
 #: users/migrations/0006_update_settings.py:130
 msgid "Started threads"
@@ -4525,6 +4834,14 @@ msgstr "存在不合法投票选项。"
 msgid "You have to make a choice."
 msgstr "您必须做出选择。"
 
+#: threads/signals.py:177
+msgid "Question"
+msgstr ""
+
+#: threads/signals.py:178
+msgid "Choices"
+msgstr ""
+
 #: threads/templatetags/misago_poststags.py:20
 #, python-format
 msgid "%(user)s likes this."
@@ -4654,23 +4971,13 @@ msgstr "您没有权限查看未批准的内容列表。"
 msgid "Requested attachment could not be found."
 msgstr "无法找到请求的附件。"
 
-#: threads/views/admin/attachments.py:24 users/views/admin/bans.py:24
-#: users/views/admin/users.py:55
-msgid "From newest"
-msgstr "从最新注册的"
-
-#: threads/views/admin/attachments.py:25 users/views/admin/bans.py:25
-#: users/views/admin/users.py:56
-msgid "From oldest"
-msgstr "从最早注册的"
-
 #: threads/views/admin/attachments.py:26 users/views/admin/bans.py:26
-#: users/views/admin/users.py:57
+#: users/views/admin/users.py:58
 msgid "A to z"
 msgstr "用户名A到z"
 
 #: threads/views/admin/attachments.py:27 users/views/admin/bans.py:27
-#: users/views/admin/users.py:58
+#: users/views/admin/users.py:59
 msgid "Z to a"
 msgstr "用户名Z到a"
 
@@ -4739,33 +5046,37 @@ msgid ""
 "post."
 msgstr "您必须有批准内容的权限才能前往第一条未批准的帖子。"
 
-#: users/admin.py:79
+#: users/admin.py:89
 msgid "User Accounts"
 msgstr "用户账号"
 
-#: users/admin.py:87
+#: users/admin.py:97
 msgid "Ranks"
 msgstr "级别"
 
-#: users/admin.py:96
+#: users/admin.py:106
 msgid "Bans"
 msgstr "封禁"
 
+#: users/admin.py:115
+msgid "Data downloads"
+msgstr ""
+
 #: users/api/auth.py:100
 #, python-format
 msgid "Activate %(user)s account on %(forum_name)s forums"
 msgstr "在%(forum_name)s论坛启用%(user)s账号"
 
-#: users/api/auth.py:139
+#: users/api/auth.py:138
 #, python-format
 msgid "Change %(user)s password on %(forum_name)s forums"
 msgstr "在%(forum_name)s论坛更改%(user)s密码"
 
-#: users/api/auth.py:180
+#: users/api/auth.py:178
 msgid "Form link is invalid. Please try again."
 msgstr "表单链接无效。请再试一次。"
 
-#: users/api/auth.py:181
+#: users/api/auth.py:179
 msgid "Your link has expired. Please request new one."
 msgstr "您的链接已过期,请申请新的。"
 
@@ -4835,15 +5146,15 @@ msgstr "电子邮件更改确认链接已经发送到新地址。"
 msgid "Confirm password change on %(forum_name)s forums"
 msgstr "确认更改%(forum_name)s论坛的密码"
 
-#: users/api/userendpoints/changepassword.py:31
+#: users/api/userendpoints/changepassword.py:32
 msgid "Password change confirmation link was sent to your address."
 msgstr "密码更改确认链接已经发送到您的地址。"
 
-#: users/api/userendpoints/create.py:22
+#: users/api/userendpoints/create.py:25
 msgid "New users registrations are currently closed."
 msgstr "新用户注册目前已关闭。"
 
-#: users/api/userendpoints/create.py:53 users/social/pipeline.py:205
+#: users/api/userendpoints/create.py:61 users/social/pipeline.py:215
 msgid "Please try resubmitting the form."
 msgstr "请重新尝试提交表单"
 
@@ -4868,38 +5179,54 @@ msgstr "更改用户名时出错,请再试一次。"
 msgid "You don't have permission to see other users name history."
 msgstr "您没有权限查看其他用户名称历史记录。"
 
-#: users/api/users.py:54
+#: users/api/users.py:57
 msgid "You have to sign in to perform this action."
 msgstr "您必须登录才能执行此操作。"
 
-#: users/api/users.py:100
+#: users/api/users.py:103
 msgid "You can't change other users avatars."
 msgstr "您不能改变其他用户的头像。 "
 
-#: users/api/users.py:107
+#: users/api/users.py:110
 msgid "You can't change other users options."
 msgstr "您不能更改其他用户选项。"
 
-#: users/api/users.py:112
+#: users/api/users.py:115
 msgid "Your forum options have been changed."
 msgstr "您的论坛设置已更改。"
 
-#: users/api/users.py:119
+#: users/api/users.py:122
 msgid "You can't change other users names."
 msgstr "您不能更改其他用户名。"
 
-#: users/api/users.py:126
+#: users/api/users.py:129
 msgid "You can't change other users signatures."
 msgstr "您不能更改其他用户签名。"
 
-#: users/api/users.py:133
+#: users/api/users.py:136
 msgid "You can't change other users passwords."
 msgstr "您不能更改其他用户的密码。"
 
-#: users/api/users.py:140
+#: users/api/users.py:143
 msgid "You can't change other users e-mail addresses."
 msgstr "您不能更改其他用户的电子邮件地址。"
 
+#: users/api/users.py:225
+msgid "You can't request data downloads for other users."
+msgstr ""
+
+#: users/api/users.py:228
+msgid "You can't download your data."
+msgstr ""
+
+#: users/api/users.py:232
+msgid "You can't have more than one data download request at single time."
+msgstr ""
+
+#: users/api/users.py:278
+msgid "You can't see other users data downloads."
+msgstr ""
+
 #: users/apps.py:30
 msgid "Edit details"
 msgstr "编辑详情"
@@ -4912,11 +5239,11 @@ msgstr "更改用户名"
 msgid "Change email or password"
 msgstr "更改电子邮件或密码"
 
-#: users/apps.py:50
+#: users/apps.py:58
 msgid "Delete account"
 msgstr ""
 
-#: users/apps.py:59
+#: users/apps.py:67
 msgid "Active poster"
 msgstr ""
 
@@ -4973,294 +5300,294 @@ msgstr "编辑权限和组"
 msgid "Edit the user from Misago admin panel"
 msgstr "在论坛框架管理面版编辑用户"
 
-#: users/forms/admin.py:21 users/models/ban.py:74
+#: users/forms/admin.py:23 users/models/ban.py:74 users/signals.py:29
 msgid "Username"
 msgstr "用户名"
 
-#: users/forms/admin.py:22
+#: users/forms/admin.py:24
 msgid "Custom title"
 msgstr "自定义标题"
 
-#: users/forms/admin.py:23 users/models/ban.py:75
+#: users/forms/admin.py:25 users/models/ban.py:75
 msgid "E-mail address"
 msgstr "电子邮件地址"
 
-#: users/forms/admin.py:52
+#: users/forms/admin.py:54
 msgid "All registered members must have \"Member\" role."
 msgstr "所有注册的成员都必须具有“论坛成员”身份。"
 
-#: users/forms/admin.py:71
+#: users/forms/admin.py:73
 msgid "Is administrator"
 msgstr "是管理员"
 
-#: users/forms/admin.py:73
+#: users/forms/admin.py:75
 msgid ""
 "Designates whether the user can log into admin sites. If Django admin site "
 "is enabled, this user will need additional permissions assigned within it to"
 " admin Django modules."
 msgstr "指定用户是否可以登录到管理员站点。如果Django管理站点启用,用户将需要额外的Django模块的权限。"
 
-#: users/forms/admin.py:79
+#: users/forms/admin.py:81
 msgid "Is superuser"
 msgstr "是超级用户"
 
-#: users/forms/admin.py:81
+#: users/forms/admin.py:83
 msgid ""
 "Only administrators can access admin sites. In addition to admin site "
 "access, superadmins can also change other members admin levels."
 msgstr "只有管理员可以访问管理页面。另外,超级管理员可以改变其他成员的管理权限。"
 
-#: users/forms/admin.py:86
+#: users/forms/admin.py:88
 msgid "Is active"
 msgstr "未冻结"
 
-#: users/forms/admin.py:88
+#: users/forms/admin.py:90
 msgid ""
 "Designates whether this user should be treated as active. Turning this off "
 "is non-destructible way to remove user accounts."
 msgstr "指定该用户是否应被视为未冻结状态。当需要删除用户账号时将它设为“否”来冻结用户账号即可保留数据。"
 
-#: users/forms/admin.py:92 users/forms/admin.py:123 users/forms/admin.py:151
+#: users/forms/admin.py:94 users/forms/admin.py:125 users/forms/admin.py:153
 msgid "Staff message"
 msgstr "员工可见消息"
 
-#: users/forms/admin.py:94
+#: users/forms/admin.py:96
 msgid ""
 "Optional message for forum team members explaining why user's account has "
 "been disabled."
 msgstr "呈现给论坛管理团队的说明用户账号被封禁原因的消息。(可选)"
 
-#: users/forms/admin.py:99
+#: users/forms/admin.py:101
 msgid "Change password to"
 msgstr "更改密码"
 
-#: users/forms/admin.py:106
+#: users/forms/admin.py:108
 msgid "Lock avatar"
 msgstr "锁头像"
 
-#: users/forms/admin.py:108
+#: users/forms/admin.py:110
 msgid ""
 "Setting this to yes will stop user from changing his/her avatar, and will "
 "reset his/her avatar to procedurally generated one."
 msgstr "设置为“是”将阻止用户更改其头像,并将会重置其头像(按照程序生成一个)。"
 
-#: users/forms/admin.py:114 users/forms/admin.py:145 users/forms/admin.py:473
-#: users/forms/admin.py:526
+#: users/forms/admin.py:116 users/forms/admin.py:147 users/forms/admin.py:468
+#: users/forms/admin.py:540
 msgid "User message"
 msgstr "用户可见消息"
 
-#: users/forms/admin.py:116
+#: users/forms/admin.py:118
 msgid ""
 "Optional message for user explaining why he/she is banned form changing "
 "avatar."
 msgstr "用于向用户说明他被禁止更改头像的原因的消息(可选)。"
 
-#: users/forms/admin.py:125
+#: users/forms/admin.py:127
 msgid ""
 "Optional message for forum team members explaining why user is banned form "
 "changing avatar."
 msgstr "呈现给论坛管理团队的用来说明用户被禁止更改头像的原因的消息(可选)。"
 
-#: users/forms/admin.py:133
+#: users/forms/admin.py:135
 msgid "Signature contents"
 msgstr "签名内容"
 
-#: users/forms/admin.py:138
+#: users/forms/admin.py:140
 msgid "Lock signature"
 msgstr "锁定签名"
 
-#: users/forms/admin.py:140
+#: users/forms/admin.py:142
 msgid ""
 "Setting this to yes will stop user from making changes to his/her signature."
 msgstr "将此设置为“是”将阻止用户更改其签名。"
 
-#: users/forms/admin.py:146
+#: users/forms/admin.py:148
 msgid "Optional message to user explaining why his/hers signature is locked."
 msgstr "用来向用户说明其签名被锁定原因的消息。(可选)"
 
-#: users/forms/admin.py:152
+#: users/forms/admin.py:154
 msgid ""
 "Optional message to team members explaining why user signature is locked."
 msgstr "呈现给论坛管理团队的说明用户签名被锁定原因的消息。(可选)"
 
-#: users/forms/admin.py:157
+#: users/forms/admin.py:159
 msgid "Hides presence"
 msgstr "隐藏存在"
 
-#: users/forms/admin.py:160
+#: users/forms/admin.py:162
 msgid "Who can add user to private threads"
 msgstr "谁可以将用户添加到私有主题帖"
 
-#: users/forms/admin.py:169
+#: users/forms/admin.py:171
 msgid "Replid threads"
 msgstr "回复的主题帖"
 
-#: users/forms/admin.py:219 users/serializers/moderation.py:42
+#: users/forms/admin.py:221 users/serializers/moderation.py:42
 #, python-format
 msgid "Signature can't be longer than %(limit)s character."
 msgid_plural "Signature can't be longer than %(limit)s characters."
 msgstr[0] "签名不能超过%(limit)s字符。"
 
-#: users/forms/admin.py:238
+#: users/forms/admin.py:240
 msgid ""
 "Ranks are used to group and distinguish users. They are also used to add "
 "permissions to groups of users."
 msgstr "级别用于分组和区分用户。它们也向用户组添加权限。"
 
-#: users/forms/admin.py:248
+#: users/forms/admin.py:250
 msgid "Roles"
 msgstr "身份"
 
-#: users/forms/admin.py:249
+#: users/forms/admin.py:251
 msgid "Individual roles of this user. All users must have \"member\" role."
 msgstr "这个用户的个人身份。所有用户都必须有“论坛成员”的身份。"
 
-#: users/forms/admin.py:307
+#: users/forms/admin.py:309
 msgid "Username starts with"
 msgstr "用户名前几位"
 
-#: users/forms/admin.py:308
+#: users/forms/admin.py:310
 msgid "E-mail starts with"
 msgstr "电子邮件前几位"
 
-#: users/forms/admin.py:309
+#: users/forms/admin.py:311
 msgid "Profile fields contain"
 msgstr "个人资料包含"
 
-#: users/forms/admin.py:310
+#: users/forms/admin.py:312
 msgid "Inactive only"
 msgstr "仅限已冻结"
 
-#: users/forms/admin.py:311
+#: users/forms/admin.py:313
 msgid "Disabled only"
 msgstr "仅限关闭"
 
-#: users/forms/admin.py:312
+#: users/forms/admin.py:314
 msgid "Admins only"
 msgstr "仅限管理员"
 
-#: users/forms/admin.py:313
+#: users/forms/admin.py:315
 msgid "Deleting their accounts"
 msgstr ""
 
-#: users/forms/admin.py:355
+#: users/forms/admin.py:357
 msgid "All ranks"
 msgstr "所有级别"
 
-#: users/forms/admin.py:362
+#: users/forms/admin.py:364
 msgid "All roles"
 msgstr "所有身份"
 
-#: users/forms/admin.py:369
+#: users/forms/admin.py:371
 msgid "Has rank"
 msgstr "具有级别"
 
-#: users/forms/admin.py:375
+#: users/forms/admin.py:377
 msgid "Has role"
 msgstr "拥有身份"
 
-#: users/forms/admin.py:391
+#: users/forms/admin.py:393
 msgid ""
 "Short and descriptive name of all users with this rank. \"The Team\" or "
 "\"Game Masters\" are good examples."
 msgstr "该级别的用户的短的描述性名字。\"团队\"或者\"游戏大师”都是好的例子。"
 
-#: users/forms/admin.py:396
+#: users/forms/admin.py:398
 msgid "User title"
 msgstr "用户名"
 
-#: users/forms/admin.py:399
+#: users/forms/admin.py:401
 msgid ""
 "Optional, singular version of rank name displayed by user names. For example"
 " \"GM\" or \"Dev\"."
 msgstr "通过用户名展示的级别名称。例如“游戏大师”或“开发”(可选)。"
 
-#: users/forms/admin.py:409
+#: users/forms/admin.py:411
 msgid ""
 "Optional description explaining function or status of members distincted "
 "with this rank."
 msgstr "用于解释此级别成员的功能和地位的描述 (可选)"
 
-#: users/forms/admin.py:418
+#: users/forms/admin.py:420
 msgid "Rank can give additional roles to users with it."
 msgstr "级别可以为用户提供额外身份。"
 
-#: users/forms/admin.py:423
+#: users/forms/admin.py:425
 msgid "Optional css class added to content belonging to this rank owner."
 msgstr "可选的css类,添加到该等级的用户的内容中。"
 
-#: users/forms/admin.py:426
+#: users/forms/admin.py:428
 msgid "Give rank dedicated tab on users list"
 msgstr "给用户列表添加级别专用标签"
 
-#: users/forms/admin.py:429
+#: users/forms/admin.py:431
 msgid ""
 "Selecting this option will make users with this rank easily discoverable by "
 "others through dedicated page on forum users list."
 msgstr "选择此选项将使得具有此级别的用户可以轻松地被其他人在论坛用户列表专用页上发现。"
 
-#: users/forms/admin.py:454
+#: users/forms/admin.py:456
 msgid "This name collides with other rank."
 msgstr "与其他级别重名。"
 
-#: users/forms/admin.py:461
+#: users/forms/admin.py:463
 msgid "Values to ban"
 msgstr "封禁的值"
 
-#: users/forms/admin.py:464 users/forms/admin.py:579
+#: users/forms/admin.py:471
+msgid "Optional message displayed to users instead of default one."
+msgstr "用来代替默认消息显示给用户的消息。(可选)"
+
+#: users/forms/admin.py:474 users/forms/admin.py:484 users/forms/admin.py:546
+#: users/forms/admin.py:556
+msgid "Message can't be longer than 1000 characters."
+msgstr "消息不能超过1000个字符。"
+
+#: users/forms/admin.py:478 users/forms/admin.py:550
+msgid "Team message"
+msgstr "团队讯息"
+
+#: users/forms/admin.py:481 users/forms/admin.py:553
+msgid "Optional ban message for moderators and administrators."
+msgstr "呈现给管理员和版主的封禁消息。(可选)"
+
+#: users/forms/admin.py:490
+msgid "Leave this field empty for set bans to never expire."
+msgstr "将此字段留空,以使封禁永不到期。"
+
+#: users/forms/admin.py:499 users/forms/admin.py:593
 msgid "Usernames"
 msgstr "用户名"
 
-#: users/forms/admin.py:465 users/forms/admin.py:580
+#: users/forms/admin.py:500 users/forms/admin.py:594
 msgid "E-mails"
 msgstr "电子邮件"
 
-#: users/forms/admin.py:466
+#: users/forms/admin.py:501
 msgid "E-mail domains"
 msgstr "电子邮件域"
 
-#: users/forms/admin.py:467
+#: users/forms/admin.py:507
 msgid "IP addresses"
 msgstr "IP地址"
 
-#: users/forms/admin.py:468
+#: users/forms/admin.py:508
 msgid "First segment of IP addresses"
 msgstr "IP地址第一段"
 
-#: users/forms/admin.py:469
+#: users/forms/admin.py:509
 msgid "First two segments of IP addresses"
 msgstr "前两个IP地址段"
 
-#: users/forms/admin.py:476
-msgid "Optional message displayed to users instead of default one."
-msgstr "用来代替默认消息显示给用户的消息。(可选)"
-
-#: users/forms/admin.py:479 users/forms/admin.py:489 users/forms/admin.py:532
-#: users/forms/admin.py:542
-msgid "Message can't be longer than 1000 characters."
-msgstr "消息不能超过1000个字符。"
-
-#: users/forms/admin.py:483 users/forms/admin.py:536
-msgid "Team message"
-msgstr "团队讯息"
-
-#: users/forms/admin.py:486 users/forms/admin.py:539
-msgid "Optional ban message for moderators and administrators."
-msgstr "呈现给管理员和版主的封禁消息。(可选)"
-
-#: users/forms/admin.py:495
-msgid "Leave this field empty for set bans to never expire."
-msgstr "将此字段留空,以使封禁永不到期。"
-
-#: users/forms/admin.py:501
+#: users/forms/admin.py:515
 msgid "Check type"
 msgstr "检查类型"
 
-#: users/forms/admin.py:506
+#: users/forms/admin.py:520
 msgid "Restrict this ban to registrations"
 msgstr "此封禁仅限于注册时"
 
-#: users/forms/admin.py:508
+#: users/forms/admin.py:522
 msgid ""
 "Changing this to yes will make this ban check be only performed on "
 "registration step. This is good if you want to block certain registrations "
@@ -5268,61 +5595,84 @@ msgid ""
 "existing users."
 msgstr "设置为“是”可以使得该封禁只在注册步骤生效。例如,这能帮助您阻止来自近期被攻击的电子邮件提供商的用户注册,而不影响现有的用户。"
 
-#: users/forms/admin.py:514
+#: users/forms/admin.py:528
 msgid "Banned value"
 msgstr "被封禁的值"
 
-#: users/forms/admin.py:517
+#: users/forms/admin.py:531
 msgid ""
 "This value is case-insensitive and accepts asterisk (*) for rought matches. "
 "For example, making IP ban for value \"83.*\" will ban all IP addresses "
 "beginning with \"83.\"."
 msgstr "这个值不区分大小写,并接受*作为通配符。例如,\"83.*\"的封禁将会禁止所有以\"83.\"开头的IP地址。"
 
-#: users/forms/admin.py:522
+#: users/forms/admin.py:536
 msgid "Banned value can't be longer than 250 characters."
 msgstr "被封禁的值不能超过250个字符。"
 
-#: users/forms/admin.py:529
+#: users/forms/admin.py:543
 msgid "Optional message displayed to user instead of default one."
 msgstr "代替默认消息显示给用户。(可选)"
 
-#: users/forms/admin.py:548
+#: users/forms/admin.py:562
 msgid "Leave this field empty for this ban to never expire."
 msgstr "不填写此字段,则封禁永不过期。"
 
-#: users/forms/admin.py:568
+#: users/forms/admin.py:582
 msgid "Banned value is too vague."
 msgstr "被封禁的值太含糊。"
 
-#: users/forms/admin.py:578
+#: users/forms/admin.py:592
 msgid "All bans"
 msgstr "所有封禁"
 
-#: users/forms/admin.py:581
+#: users/forms/admin.py:595
 msgid "IPs"
 msgstr "IPs"
 
-#: users/forms/admin.py:584
+#: users/forms/admin.py:598
 msgid "Banned value begins with"
 msgstr "封禁值开头"
 
-#: users/forms/admin.py:586
+#: users/forms/admin.py:600
 msgid "Registration only"
 msgstr "仅限注册"
 
-#: users/forms/admin.py:589 users/forms/admin.py:598
+#: users/forms/admin.py:603 users/forms/admin.py:612
 msgid "Any"
 msgstr "任何"
 
-#: users/forms/admin.py:599
+#: users/forms/admin.py:613
 msgid "Active"
 msgstr "活动的"
 
-#: users/forms/admin.py:600
+#: users/forms/admin.py:614 users/models/datadownload.py:26
 msgid "Expired"
 msgstr "已过期"
 
+#: users/forms/admin.py:649
+msgid "Usernames or emails"
+msgstr ""
+
+#: users/forms/admin.py:651
+msgid ""
+"Enter every item in new line. Duplicates will be ignored. This field is case"
+" insensitive. Depending on site configuration and amount of data to archive "
+"it may take up to few days for requests to complete. E-mail will "
+"notification will be sent to every user once their download is ready."
+msgstr ""
+
+#: users/forms/admin.py:667
+#, python-format
+msgid ""
+"You may not enter more than 20 items at single time (You have entered "
+"%(show_value)s)."
+msgstr ""
+
+#: users/forms/admin.py:684
+msgid "One or more specified users could not be found."
+msgstr ""
+
 #: users/forms/auth.py:16
 msgid "Fill out both fields."
 msgstr "填写两个字段。"
@@ -5379,18 +5729,27 @@ msgid ""
 "request new password."
 msgstr "管理员必须激活您的账号,您才能申请新密码。"
 
-#: users/forms/register.py:27
+#: users/forms/register.py:34
 msgid "This usernane is not allowed."
 msgstr "此用户名不允许。"
 
-#: users/forms/register.py:38 users/validators.py:41
+#: users/forms/register.py:45 users/validators.py:41
 msgid "This e-mail address is not allowed."
 msgstr "该电子邮件地址是不允许的。"
 
-#: users/forms/register.py:47
+#: users/forms/register.py:51
+msgid "This agreement is required."
+msgstr ""
+
+#: users/forms/register.py:60
 msgid "New registrations from this IP address are not allowed."
 msgstr "不允许从该IP地址新注册。"
 
+#: users/management/commands/prepareuserdatadownloads.py:34
+#, python-format
+msgid "%(user)s, your data download is ready"
+msgstr ""
+
 #: users/migrations/0002_users_settings.py:18
 #: users/migrations/0006_update_settings.py:19
 msgid ""
@@ -5614,7 +5973,7 @@ msgid "Enter each answer in new line. Answers are case-insensitive."
 msgstr "在新行中输入每个答案。答案不区分大小写。"
 
 #: users/migrations/0004_default_ranks.py:17
-#: users/migrations/0004_default_ranks.py:18 users/models/user.py:111
+#: users/migrations/0004_default_ranks.py:18 users/models/user.py:113
 msgid "Forum team"
 msgstr "论坛团队"
 
@@ -5627,47 +5986,59 @@ msgstr "团队"
 msgid "Members"
 msgstr "论坛成员"
 
-#: users/models/user.py:37
+#: users/models/datadownload.py:23
+msgid "Pending"
+msgstr ""
+
+#: users/models/datadownload.py:24
+msgid "Processing"
+msgstr ""
+
+#: users/models/datadownload.py:25
+msgid "Ready"
+msgstr ""
+
+#: users/models/user.py:38
 msgid "User must have an email address."
 msgstr "用户必须有一个电子邮件地址。"
 
-#: users/models/user.py:146
+#: users/models/user.py:148
 msgid "Notify"
 msgstr "通知"
 
-#: users/models/user.py:147
+#: users/models/user.py:149
 msgid "Notify with e-mail"
 msgstr "通过电子邮件通知"
 
-#: users/models/user.py:155
+#: users/models/user.py:157
 msgid "Everybody"
 msgstr "大家"
 
-#: users/models/user.py:156
+#: users/models/user.py:158
 msgid "Users I follow"
 msgstr "我关注的用户"
 
-#: users/models/user.py:157
+#: users/models/user.py:159
 msgid "Nobody"
 msgstr "没有人"
 
-#: users/models/user.py:175
+#: users/models/user.py:177
 msgid "joined on"
 msgstr "加入了"
 
-#: users/models/user.py:190
+#: users/models/user.py:191
 msgid "staff status"
 msgstr "员工状态"
 
-#: users/models/user.py:192
+#: users/models/user.py:193
 msgid "Designates whether the user can log into admin sites."
 msgstr "指定用户是否可以登录管理站点。"
 
-#: users/models/user.py:199
+#: users/models/user.py:200
 msgid "active"
 msgstr "未冻结"
 
-#: users/models/user.py:203
+#: users/models/user.py:204
 msgid ""
 "Designates whether this user should be treated as active. Unselect this "
 "instead of deleting accounts."
@@ -6018,11 +6389,7 @@ msgstr ""
 msgid "Join IP"
 msgstr "创建时IP"
 
-#: users/profilefields/default.py:99
-msgid "Last IP"
-msgstr "最后登录IP"
-
-#: users/registration.py:9
+#: users/registration.py:11
 #, python-format
 msgid "Welcome on %(forum_name)s forums!"
 msgstr "欢迎来到%(forum_name)s论坛!"
@@ -6064,14 +6431,30 @@ msgstr "您必须输入新的电子邮件地址。"
 msgid "New e-mail is same as current one."
 msgstr "新电子邮件与当前电子邮件相同。"
 
-#: users/social/pipeline.py:74
+#: users/signals.py:31
+msgid "Joined on"
+msgstr ""
+
+#: users/signals.py:32
+msgid "Joined from ip"
+msgstr ""
+
+#: users/signals.py:72
+msgid "New username"
+msgstr ""
+
+#: users/signals.py:73
+msgid "Old username"
+msgstr ""
+
+#: users/social/pipeline.py:77
 #, python-format
 msgid ""
 "The e-mail address associated with your %(backend)s account is not available"
 " for use on this site."
 msgstr ""
 
-#: users/social/pipeline.py:83
+#: users/social/pipeline.py:86
 #, python-format
 msgid ""
 "Your account has to be activated by site administrator before you will be "
@@ -6165,6 +6548,42 @@ msgstr "封禁\"%(name)s\"已经被编辑。"
 msgid "Ban \"%(name)s\" has been removed."
 msgstr "封禁\"%(name)s\"已经被移除。"
 
+#: users/views/admin/datadownloads.py:23
+msgid "With data downloads: 0"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:24
+msgid "Select data downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:28
+msgid "Expire downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:30
+msgid "Are you sure you want to set selected data downloads as expired?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:34
+msgid "Delete downloads"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:36
+msgid "Are you sure you want to delete selected data downloads?"
+msgstr ""
+
+#: users/views/admin/datadownloads.py:51
+msgid "Selected data downloads have been set as expired."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:57
+msgid "Selected data downloads have been deleted."
+msgstr ""
+
+#: users/views/admin/datadownloads.py:68
+msgid "Data downloads have been requested for specified users."
+msgstr ""
+
 #: users/views/admin/ranks.py:16
 msgid "Requested rank does not exist."
 msgstr "请求的级别不存在。"
@@ -6214,92 +6633,100 @@ msgstr "级别“%(name)s\"已经是默认等级。"
 msgid "Rank \"%(name)s\" has been made default."
 msgstr "级别”%(name)s\"已经被设置成默认。"
 
-#: users/views/admin/users.py:59
+#: users/views/admin/users.py:60
 msgid "Biggest posters"
 msgstr "最少发帖。"
 
-#: users/views/admin/users.py:60
+#: users/views/admin/users.py:61
 msgid "Smallest posters"
 msgstr "最多发帖"
 
-#: users/views/admin/users.py:62
+#: users/views/admin/users.py:63
 msgid "With users: 0"
 msgstr "用户:0"
 
-#: users/views/admin/users.py:63
+#: users/views/admin/users.py:64
 msgid "Select users"
 msgstr "选择用户"
 
-#: users/views/admin/users.py:67
+#: users/views/admin/users.py:68
 msgid "Activate accounts"
 msgstr "激活账号"
 
-#: users/views/admin/users.py:77
+#: users/views/admin/users.py:78
+msgid "Request data download"
+msgstr ""
+
+#: users/views/admin/users.py:83
 msgid "Delete accounts"
 msgstr "删除账号"
 
-#: users/views/admin/users.py:79
+#: users/views/admin/users.py:85
 msgid "Are you sure you want to delete selected users?"
 msgstr "您确定要删除所选用户吗?"
 
-#: users/views/admin/users.py:83
+#: users/views/admin/users.py:89
 msgid "Delete all"
 msgstr "删除所有"
 
-#: users/views/admin/users.py:86
+#: users/views/admin/users.py:92
 msgid ""
 "Are you sure you want to delete selected users? This will also delete all "
 "content associated with their accounts."
 msgstr "您确定要删除所选用户吗?这也会删除所有和此账号关联的内容。"
 
-#: users/views/admin/users.py:107
+#: users/views/admin/users.py:113
 msgid "You have to select inactive users."
 msgstr "您必须选择已冻结用户。"
 
-#: users/views/admin/users.py:114
+#: users/views/admin/users.py:120
 #, python-format
 msgid "Your account on %(forum_name)s forums has been activated"
 msgstr "您在 %(forum_name)s 论坛上的账号已经被激活。"
 
-#: users/views/admin/users.py:119
+#: users/views/admin/users.py:125
 msgid "Selected users accounts have been activated."
 msgstr "选中的用户已经被激活。"
 
-#: users/views/admin/users.py:125
+#: users/views/admin/users.py:131
 #, python-format
 msgid "%(user)s is super admin and can't be banned."
 msgstr "%(user)s是超级管理员,不能被封禁。"
 
-#: users/views/admin/users.py:186
+#: users/views/admin/users.py:194
 msgid "Selected users have been banned."
 msgstr "选中的用户已经被封禁。"
 
-#: users/views/admin/users.py:201 users/views/admin/users.py:215
-#: users/views/admin/users.py:331
+#: users/views/admin/users.py:212
+msgid "Data download requests have been placed for selected users."
+msgstr ""
+
+#: users/views/admin/users.py:217 users/views/admin/users.py:230
+#: users/views/admin/users.py:346
 msgid "You can't delete yourself."
 msgstr "您不能删除自己。"
 
-#: users/views/admin/users.py:203 users/views/admin/users.py:217
-#: users/views/admin/users.py:334
+#: users/views/admin/users.py:219 users/views/admin/users.py:232
+#: users/views/admin/users.py:349
 #, python-format
 msgid "%(user)s is admin and can't be deleted."
 msgstr "%(user)s是管理员,不能被删除。"
 
-#: users/views/admin/users.py:209
+#: users/views/admin/users.py:225
 msgid "Selected users have been deleted."
 msgstr "选中的用户已经被删除"
 
-#: users/views/admin/users.py:232
+#: users/views/admin/users.py:247
 #, python-format
 msgid "New user \"%(user)s\" has been registered."
 msgstr "新用户\"%(user)s\"已经被注册。"
 
-#: users/views/admin/users.py:261
+#: users/views/admin/users.py:276
 #, python-format
 msgid "User \"%(user)s\" has been edited."
 msgstr "用户\"%(user)s\"已经被编辑。"
 
-#: users/views/admin/users.py:328
+#: users/views/admin/users.py:343
 msgid "This action can't be accessed directly."
 msgstr ""
 

BIN
misago/locale/zh_Hans/LC_MESSAGES/djangojs.mo


+ 300 - 222
misago/locale/zh_Hans/LC_MESSAGES/djangojs.po

@@ -8,9 +8,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-20 21:20+0200\n"
+"POT-Creation-Date: 2018-08-19 15:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mayne <dreama9ain@gmail.com>, 2017\n"
+"Last-Translator: cxgreat2014 <fwy1998@gmail.com>, 2018\n"
 "Language-Team: Chinese (China) (https://www.transifex.com/misago/teams/65369/zh_CN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -39,8 +39,30 @@ msgid "Promise can't be resolved itself"
 msgstr ""
 
 #: static/misago/js/misago.js:1
-msgid "By registering you agree to site's terms and conditions."
-msgstr "通过注册,您同意网站的条款和条件。"
+msgid "the terms of service"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "the privacy policy"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "I have read and accept %(agreement)s."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid ""
+"Declining will result in immediate deactivation and deletion of your "
+"account. This action is not reversible."
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Decline"
+msgstr ""
+
+#: static/misago/js/misago.js:1
+msgid "Accept and continue"
+msgstr ""
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
@@ -48,11 +70,12 @@ msgstr "通过注册,您同意网站的条款和条件。"
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:12
 #: static/misago/js/misago.js:13 static/misago/js/misago.js:14
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Close"
 msgstr "未订阅"
 
-#: static/misago/js/misago.js:1 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:1 static/misago/js/misago.js:6
 msgid "Add participant"
 msgstr "添加参与者"
 
@@ -70,9 +93,10 @@ msgstr "要添加用户"
 
 #: static/misago/js/misago.js:1 static/misago/js/misago.js:2
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:6 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:6 static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Cancel"
 msgstr "取消"
 
@@ -192,8 +216,8 @@ msgid "Generate my individual avatar"
 msgstr "自动生成"
 
 #: static/misago/js/misago.js:2 static/misago/js/misago.js:4
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "Ok"
 msgstr "Ok"
 
@@ -261,39 +285,39 @@ msgstr "插入代码"
 msgid "Emphase selection"
 msgstr "重点选择"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert horizontal ruler"
 msgstr "插入水平尺"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link to image"
 msgstr "输入图像链接"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter image label (optional)"
 msgstr "输入图片标签(可选)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert image"
 msgstr "插入图像"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link address"
 msgstr "输入链接地址"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter link label (optional)"
 msgstr "输入链接标签(可选)"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert link"
 msgstr "插入链接"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Enter quote autor, prefix usernames with @"
 msgstr "输入报价autor,前缀用户名@"
 
-#: static/misago/js/misago.js:2
+#: static/misago/js/misago.js:3
 msgid "Insert quote"
 msgstr "插入报价"
 
@@ -325,7 +349,7 @@ msgstr "撤消删除"
 msgid "Error uploading %(filename)s"
 msgstr "上传错误%(filename)s"
 
-#: static/misago/js/misago.js:3 static/misago/js/misago.js:8
+#: static/misago/js/misago.js:3 static/misago/js/misago.js:9
 msgid "Dismiss"
 msgstr "解散"
 
@@ -342,7 +366,7 @@ msgid "Protected"
 msgstr "受保护"
 
 #: static/misago/js/misago.js:3 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Protect"
 msgstr "保护"
 
@@ -369,7 +393,7 @@ msgstr "(成功)"
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:17
 msgid "Best answer"
-msgstr ""
+msgstr "最佳答案"
 
 #: static/misago/js/misago.js:4
 msgid ""
@@ -377,7 +401,7 @@ msgid ""
 " deleted during the merge."
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:18
 msgid "Poll"
 msgstr "调查"
 
@@ -392,12 +416,13 @@ msgid "Are you sure you want to delete all polls?"
 msgstr ""
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Merge threads"
 msgstr "合并主题帖"
 
 #: static/misago/js/misago.js:4
 msgid "Search returned no results."
-msgstr ""
+msgstr "没有找到任何结果。"
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:14
 msgid "Search"
@@ -416,8 +441,7 @@ msgstr ""
 msgid "%(title)s, joined on %(joined_on)s"
 msgstr ""
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "Change username"
 msgstr "更改用户名"
 
@@ -448,7 +472,7 @@ msgstr[0] "已使用更改次数于%(name_changes_expire)s天后重新可用。"
 msgid "Your new username is same as current one."
 msgstr "您的新用户名与当前用户名相同。"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:4 static/misago/js/misago.js:13
 msgid "New username"
 msgstr "新用户名"
 
@@ -457,15 +481,15 @@ msgid "Your username has been changed successfully."
 msgstr "您的用户名已成功更改。"
 
 #: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change your options"
 msgstr "更改您的选项"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5
 msgid "Enter your password to confirm account deletion."
-msgstr ""
+msgstr "输入您的密码以确认删除您的账户。"
 
-#: static/misago/js/misago.js:4 static/misago/js/misago.js:5
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:13
 msgid "Delete account"
 msgstr "删除帐户"
 
@@ -473,35 +497,82 @@ msgstr "删除帐户"
 msgid ""
 "You are going to delete your account. This action is nonreversible, and will"
 " result in following data being deleted:"
-msgstr ""
+msgstr "您将要删除您的帐户。此操作是不可逆的,并且会导致以下数据被删除:"
 
 #: static/misago/js/misago.js:5
 msgid ""
 "Stored IP addresses associated with content that you have posted will be "
 "deleted."
-msgstr ""
+msgstr "与您发布的内容相关联的IP地址记录将被删除。"
 
 #: static/misago/js/misago.js:5
 msgid ""
 "Your username will become available for other user to rename to or for new "
 "user to register their account with."
-msgstr ""
+msgstr "您的用户名将可供其他用户重新命名,或供新用户注册其帐户。"
 
 #: static/misago/js/misago.js:5
 msgid "Your e-mail will become available for use in new account registration."
-msgstr ""
+msgstr "您的电子邮件将可用于新帐户注册。"
 
 #: static/misago/js/misago.js:5
 msgid ""
 "All your posted content will NOT be deleted, but username associated with it"
 " will be changed to one shared by all deleted accounts."
-msgstr ""
+msgstr "您发布的所有内容都不会被删除,但与其关联的用户名将被更改为由所有已删除帐户共享的用户名。"
 
 #: static/misago/js/misago.js:5
 msgid "Delete my account"
+msgstr "删除我的帐户"
+
+#: static/misago/js/misago.js:5
+msgid "Your request for data download has been registered."
 msgstr ""
 
-#: static/misago/js/misago.js:5 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:5
+msgid "Download your data"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"To download your data from the site, click the \"Request data download\" "
+"button. Depending on amount of data to be archived and number of users "
+"wanting to download their data at same time it may take up to few days for "
+"your download to be prepared. An e-mail with notification will be sent to "
+"you when your data is ready to be downloaded."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid ""
+"The download will only be available for limited amount of time, after which "
+"it will be deleted from the site and marked as expired."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Requested on"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "You have no data downloads."
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Request data download"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is being prepared"
+msgstr ""
+
+#: static/misago/js/misago.js:5
+msgid "Download is expired"
+msgstr ""
+
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:12
 msgid "Your details have been updated."
 msgstr "您的信息已更新"
 
@@ -584,7 +655,7 @@ msgstr "我发起的主题帖"
 msgid "Threads I reply to"
 msgstr "我回复的主题帖"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:5 static/misago/js/misago.js:6
 msgid "Change email or password"
 msgstr "更改电子邮件或密码"
 
@@ -592,11 +663,11 @@ msgstr "更改电子邮件或密码"
 msgid ""
 "You need to set a password for your account to be able to change your "
 "username or email."
-msgstr ""
+msgstr "您需要为您的帐户设置密码才能更改您的用户名或电子邮件地址。"
 
 #: static/misago/js/misago.js:5
 msgid "Set password"
-msgstr ""
+msgstr "设置密码"
 
 #: static/misago/js/misago.js:5 static/misago/js/misago.js:15
 msgid "Fill out all fields."
@@ -634,7 +705,7 @@ msgstr "新密码"
 msgid "Repeat password"
 msgstr "重复输入密码"
 
-#: static/misago/js/misago.js:5
+#: static/misago/js/misago.js:6
 msgid "Change forgotten password"
 msgstr "忘记密码"
 
@@ -814,20 +885,20 @@ msgid "%(votes)s vote."
 msgid_plural "%(votes)s votes."
 msgstr[0] "%(votes)s票"
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Votes are public."
 msgstr "投票是公开的。"
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s vote, %(proc)s% of total."
 msgid_plural "%(votes)s votes, %(proc)s% of total."
 msgstr[0] "%(votes)s投票,%(proc)s占总数的百分比。"
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "Your choice."
 msgstr "您的选择。"
 
-#: static/misago/js/misago.js:6
+#: static/misago/js/misago.js:7
 msgid "%(votes)s user has voted for this choice."
 msgid_plural "%(votes)s users have voted for this choice."
 msgstr[0] "%(votes)s用户已经投票选择了这个选择。"
@@ -844,9 +915,8 @@ msgstr "投票"
 msgid "See votes"
 msgstr "查看票数"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:15
 msgid "Edit"
 msgstr "编辑"
 
@@ -856,8 +926,7 @@ msgid ""
 msgstr "您确定要删除此调查吗?该操作是不可逆的。"
 
 #: static/misago/js/misago.js:7 static/misago/js/misago.js:9
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Delete"
 msgstr "删除"
 
@@ -920,27 +989,27 @@ msgstr "帖子已被恢复到以前的状态。"
 msgid "See previous change"
 msgstr "看到以前的变化"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "By %(edited_by)s %(edited_on)s."
 msgstr " %(edited_by) 于 s%(edited_on)s 编辑。"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This post's contents cannot be displayed."
 msgstr "此帖的内容无法显示。"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "This error is caused by invalid post content manipulation."
 msgstr "此错误是由不合法的帖子内容操作引起的。"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "posted %(posted_on)s"
 msgstr "发布于 %(posted_on)s"
 
-#: static/misago/js/misago.js:7 static/misago/js/misago.js:11
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:11
 msgid "Removed user"
 msgstr "被移除用户"
 
-#: static/misago/js/misago.js:7
+#: static/misago/js/misago.js:8
 msgid "See post"
 msgstr "查看帖子"
 
@@ -961,7 +1030,7 @@ msgstr "没有用户赞这条帖子。"
 msgid "Are you sure you want to discard changes?"
 msgstr "您确定要放弃更改吗?"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "You have to enter a message."
 msgstr "您必须输入消息。"
 
@@ -993,11 +1062,12 @@ msgstr "您确定要丢弃私人主题帖吗?"
 msgid "You have to enter at least one recipient."
 msgstr "您必须至少输入一个收件人。"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:15
 msgid "You have to enter thread title."
 msgstr "您必须输入主题帖标题。"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Your thread has been posted."
 msgstr "您的主题帖已发起。"
 
@@ -1005,12 +1075,13 @@ msgstr "您的主题帖已发起。"
 msgid "Comma separated list of user names, eg.: Danny, Lisa"
 msgstr "逗号分隔的用户名列表,例如:Danny,Lisa"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:19
 msgid "Thread title"
 msgstr "主题帖标题"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:8 static/misago/js/misago.js:9
 msgid "Post thread"
 msgstr "发起主题帖"
 
@@ -1018,35 +1089,35 @@ msgstr "发起主题帖"
 msgid "Are you sure you want to discard thread?"
 msgstr "您确定要丢弃主题帖吗?"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18
 msgid "Closed"
 msgstr "已关闭"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:16
 msgid "Open"
 msgstr "打开"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:21
 msgid "Hidden"
 msgstr "隐藏"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Not hidden"
 msgstr "不隐藏"
 
-#: static/misago/js/misago.js:8
+#: static/misago/js/misago.js:9
 msgid "Unpinned"
 msgstr "取消置顶"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned locally"
 msgstr "版块内置顶"
 
-#: static/misago/js/misago.js:8 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:16
 #: static/misago/js/misago.js:18 static/misago/js/misago.js:19
 msgid "Pinned globally"
@@ -1089,12 +1160,12 @@ msgid_plural ""
 msgstr[0] "发帖内容最多包含%(limit_value)s个字符(现有%(show_value)s)。"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Hide"
 msgstr "隐藏"
 
 #: static/misago/js/misago.js:9 static/misago/js/misago.js:10
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Unhide"
 msgstr "取消隐藏"
 
@@ -1116,10 +1187,6 @@ msgid "By %(event_by)s %(event_on)s."
 msgstr " %(event_by)s 于 %(event_on)s。"
 
 #: static/misago/js/misago.js:9
-msgid "IP recorded"
-msgstr "IP记录"
-
-#: static/misago/js/misago.js:9
 msgid "Thread title has been changed from %(old_title)s."
 msgstr "主题帖标题已更改%(old_title)s。"
 
@@ -1208,23 +1275,23 @@ msgstr "您确定要删除这个帖子?这个操作是不可逆的!"
 msgid "Post has been deleted."
 msgstr "帖子已被删除。"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link to this post:"
 msgstr "该帖的永久链接:"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Permament link"
 msgstr "永久链接"
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Mark as best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9
+#: static/misago/js/misago.js:10
 msgid "Unmark best answer"
 msgstr ""
 
-#: static/misago/js/misago.js:9 static/misago/js/misago.js:10
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:11
 msgid "This post was edited %(edits)s time."
 msgid_plural "This post was edited %(edits)s times."
 msgstr[0] "此帖子被编辑了%(edits)s次"
@@ -1233,17 +1300,15 @@ msgstr[0] "此帖子被编辑了%(edits)s次"
 msgid "Changes history"
 msgstr "改变历史"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Approve"
 msgstr "批准"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Move"
 msgstr "移动"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:10 static/misago/js/misago.js:16
 msgid "Split"
 msgstr "分裂"
 
@@ -1256,6 +1321,7 @@ msgid "Move post"
 msgstr "移动帖子"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You have to enter link to the other thread."
 msgstr "您必须输入到另一个主题帖的链接。"
 
@@ -1305,7 +1371,7 @@ msgid "Close thread"
 msgstr "关闭主题帖"
 
 #: static/misago/js/misago.js:10 static/misago/js/misago.js:16
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19
 msgid "Category"
 msgstr "版块"
 
@@ -1352,32 +1418,32 @@ msgid "%(users)s and %(likes)s other user like this."
 msgid_plural "%(users)s and %(likes)s other users like this."
 msgstr[0] "%(users)s 和 %(likes)s 其他用户赞这个。"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Liked"
 msgstr "赞过"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "Like"
 msgstr "赞"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
 msgid "Reply"
 msgstr "回复"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "New post"
 msgstr "新帖子"
 
-#: static/misago/js/misago.js:10 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:20
 msgid "New"
 msgstr "最新"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "This post is protected and may not be edited."
 msgstr "这篇文章是受保护的,不可以被编辑。"
 
-#: static/misago/js/misago.js:10
+#: static/misago/js/misago.js:11
 msgid "protected"
 msgstr "受保护"
 
@@ -1423,65 +1489,64 @@ msgstr "你没有与其他用户分享任何详情"
 msgid "%(username)s is not sharing any details with others."
 msgstr "%(username)s没有与其他用户分享任何详情"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
 msgid "Details"
 msgstr "详情"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s's details have been updated."
 msgstr "%(username)s的信息已更新"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have no started threads."
 msgstr "您还没有发起任何主题帖。"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s started no threads."
 msgstr "%(username)s没有发起主题帖。"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have started %(threads)s thread."
 msgid_plural "You have started %(threads)s threads."
 msgstr[0] "您已经发起了%(threads)s 条主题帖。"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has started %(threads)s thread."
 msgid_plural "%(username)s has started %(threads)s threads."
 msgstr[0] "%(username)s已发起%(threads)s主题帖。"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:13
 msgid "Loading..."
 msgstr "正在加载..."
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:12 static/misago/js/misago.js:19
 #: static/misago/js/misago.js:20
 msgid "Threads"
 msgstr "主题帖"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted no messages."
 msgstr "您没有发布过任何消息。"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s posted no messages."
 msgstr "%(username)s没有留言"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "You have posted %(posts)s message."
 msgid_plural "You have posted %(posts)s messages."
 msgstr[0] "您已经发布过%(posts)s 条消息。"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "%(username)s has posted %(posts)s message."
 msgid_plural "%(username)s has posted %(posts)s messages."
 msgstr[0] "%(username)s已发布%(posts)s消息。"
 
-#: static/misago/js/misago.js:11
+#: static/misago/js/misago.js:12
 msgid "Posts"
 msgstr "发帖"
 
-#: static/misago/js/misago.js:11 static/misago/js/misago.js:12
+#: static/misago/js/misago.js:12
 msgid "Show more (%(more)s)"
 msgstr "展示更多 (%(more)s)"
 
@@ -1567,6 +1632,7 @@ msgid "Joined %(joined_on)s"
 msgstr "加入%(joined_on)s"
 
 #: static/misago/js/misago.js:12 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Moderation"
 msgstr "调整"
 
@@ -1620,41 +1686,41 @@ msgstr "呈现给论坛管理团队的用于说明禁止用户改变头像的原
 msgid "Avatar controls"
 msgstr "头像限制"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Username has been changed."
 msgstr "用户名已更改。"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account, threads, posts and other content has been deleted."
 msgstr "%(username)s 的帐号,主题,帖子等内容均已被删除。"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid ""
 "%(username)s's account has been deleted and other content has been hidden."
 msgstr "%(username)s 的帐户已被删除,其他内容均已被隐藏。"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete %(username)s"
 msgstr "删除 %(username)s"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Please wait... (%(countdown)ss)"
 msgstr "请稍候... (%(countdown)ss)"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "User content"
 msgstr "用户内容"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Delete together with user's account"
 msgstr "与用户的帐户一起删除"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Hide after deleting user's account"
 msgstr "删除用户帐户后隐藏"
 
-#: static/misago/js/misago.js:12
+#: static/misago/js/misago.js:13
 msgid "Return to users list"
 msgstr "返回用户列表"
 
@@ -1717,75 +1783,74 @@ msgstr "由于某些错误,目前无法注册。"
 msgid "Register"
 msgstr "注册"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Join with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Or create forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:15
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Username"
 msgstr "用户名"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:17
 #: static/misago/js/misago.js:18
 msgid "E-mail"
 msgstr "电子邮件"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid "Password"
 msgstr "密码"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Register account"
 msgstr "注册账号"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but you need to activate it "
 "before you will be able to sign in."
 msgstr "%(username)s,您的帐户已创建,但您需要激活它之后才可以登录。"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:15
 msgid ""
 "%(username)s, your account has been created but board administrator will "
 "have to activate it before you will be able to sign in."
 msgstr "%(username)s,您的帐户已创建,但必须在管理员激活它之后才可以登录。"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid ""
 "We have sent an e-mail to %(email)s with link that you have to click to "
 "activate your account."
 msgstr "我们已向 %(email)s 发送了一封带有激活链接的电子邮件。"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "We will send an e-mail to %(email)s when this takes place."
 msgstr "届时,我们将向 %(email)s 发送一封电子邮件。"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Registration complete"
 msgstr "注册完成"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:14 static/misago/js/misago.js:25
 msgid "Enter a valid email address."
 msgstr "输入一个有效的电子邮件地址。"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Your e-mail address"
 msgstr "您的电子邮件地址"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Send link"
 msgstr "发送链接"
 
-#: static/misago/js/misago.js:13
+#: static/misago/js/misago.js:14
 msgid "Activation link was sent to %(email)s"
 msgstr "激活链接已发送至 %(email)s"
 
-#: static/misago/js/misago.js:13 static/misago/js/misago.js:14
+#: static/misago/js/misago.js:14
 msgid "Request another link"
 msgstr "重新发送链接"
 
@@ -1850,41 +1915,41 @@ msgstr "没有找到匹配搜索查询的用户。"
 msgid "Enter at least two characters to search users."
 msgstr "输入至少两个字符以搜索用户。"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Fill out both fields."
 msgstr "填写两个字段。"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Activate account"
 msgstr "激活帐号"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Sign in with %(site)s"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Or use your forum account:"
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Username or e-mail"
 msgstr "用户名或电子邮件"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Forgot password?"
 msgstr "忘记密码?"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid ""
-"%(username)s, your account has been created and you has been signed in to "
+"%(username)s, your account has been created and you have been signed in to "
 "it."
 msgstr ""
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Registration completed!"
-msgstr ""
+msgstr "注册完成!"
 
-#: static/misago/js/misago.js:14
+#: static/misago/js/misago.js:15
 msgid "Return to forum index"
 msgstr ""
 
@@ -1893,6 +1958,10 @@ msgid "Sign in with %(backend)s"
 msgstr ""
 
 #: static/misago/js/misago.js:15
+msgid "You need to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:15
 msgid "Your e-mail address has been verified by %(backend)s."
 msgstr ""
 
@@ -1902,7 +1971,7 @@ msgstr ""
 
 #: static/misago/js/misago.js:15
 msgid "E-mail address"
-msgstr ""
+msgstr "电子邮件地址"
 
 #: static/misago/js/misago.js:15
 msgid "Change title"
@@ -1913,7 +1982,7 @@ msgid "Edit title"
 msgstr "编辑标题"
 
 #: static/misago/js/misago.js:15 static/misago/js/misago.js:17
-#: static/misago/js/misago.js:18 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:18 static/misago/js/misago.js:20
 msgid "Unapproved"
 msgstr "未批准"
 
@@ -1921,7 +1990,7 @@ msgstr "未批准"
 msgid "Unapproved posts"
 msgstr "未批准的帖子"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:17
+#: static/misago/js/misago.js:15 static/misago/js/misago.js:18
 msgid "%(replies)s reply"
 msgid_plural "%(replies)s replies"
 msgstr[0] "%(replies)s回复"
@@ -1942,19 +2011,19 @@ msgid ""
 "reversible!"
 msgstr "您确定要删除所选的帖子吗?这个动作不可逆的!"
 
-#: static/misago/js/misago.js:15 static/misago/js/misago.js:16
+#: static/misago/js/misago.js:16
 msgid "Merge"
 msgstr "合并"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "Unprotect"
 msgstr "取消保护"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "%(username)s on %(posted_on)s"
 msgstr "%(username)s于%(posted_on)s"
 
-#: static/misago/js/misago.js:15
+#: static/misago/js/misago.js:16
 msgid "One or more posts could not be changed:"
 msgstr "无法更改一条或多条帖子"
 
@@ -2014,37 +2083,37 @@ msgstr "版块内置顶"
 msgid "Unpin"
 msgstr "取消置顶"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Merge thread"
 msgstr "合并主题帖"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been merged with other one."
 msgstr "主题帖已经与其他主题帖合并。"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Link to thread you want to merge with"
 msgstr "链接到您要合并的主题帖"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid ""
 "Merge will delete current thread and move its contents to the thread "
 "specified here."
 msgstr "合并将删除当前主题帖并将其内容移动到这里指定的主题帖"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Move thread"
 msgstr "移动主题帖"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "You can't move this thread at the moment."
 msgstr "您现在不可以移动这个主题帖。"
 
-#: static/misago/js/misago.js:16
+#: static/misago/js/misago.js:17
 msgid "Thread has been moved."
 msgstr "主题帖已被移动。"
 
-#: static/misago/js/misago.js:16 static/misago/js/misago.js:19
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:20
 msgid "New category"
 msgstr "新版块"
 
@@ -2081,15 +2150,15 @@ msgstr "已订阅"
 msgid "Disabled"
 msgstr "未订阅"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Unsubscribe"
 msgstr "取消订阅"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe"
 msgstr "订阅"
 
-#: static/misago/js/misago.js:17 static/misago/js/misago.js:18
+#: static/misago/js/misago.js:17 static/misago/js/misago.js:19
 msgid "Subscribe with e-mail"
 msgstr "订阅电子邮件"
 
@@ -2099,7 +2168,7 @@ msgstr "转到第一个新帖"
 
 #: static/misago/js/misago.js:17
 msgid "Go to best answer"
-msgstr ""
+msgstr "转到最佳答案"
 
 #: static/misago/js/misago.js:17
 msgid "Go to first unapproved post"
@@ -2121,11 +2190,11 @@ msgstr "最后的帖子"
 msgid "Options"
 msgstr "选项"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid "Add poll"
 msgstr "添加调查"
 
-#: static/misago/js/misago.js:17
+#: static/misago/js/misago.js:18
 msgid ""
 "There is %(threads)s new or updated thread. Click this message to show it."
 msgid_plural ""
@@ -2139,13 +2208,13 @@ msgstr "新帖子"
 
 #: static/misago/js/misago.js:18
 msgid "Answered"
-msgstr ""
+msgstr "已回答"
 
 #: static/misago/js/misago.js:18
 msgid "Change subscription"
 msgstr "更改订阅"
 
-#: static/misago/js/misago.js:18
+#: static/misago/js/misago.js:19
 msgid "Start thread"
 msgstr "发起主题帖"
 
@@ -2225,7 +2294,7 @@ msgstr "版块内置顶主题帖"
 msgid "Unpin threads"
 msgstr "取消置顶主题帖"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid "Move threads"
 msgstr "移动主题帖"
 
@@ -2261,7 +2330,7 @@ msgstr "主题帖审核"
 msgid "One or more threads could not be deleted:"
 msgstr "无法删除一条或多条主题贴"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:19 static/misago/js/misago.js:20
 msgid ""
 "You can't move threads because there are no categories you are allowed to "
 "move them to."
@@ -2273,61 +2342,61 @@ msgid ""
 " to it."
 msgstr "您必须有权限在版块中发启主题帖,才可以向相应版块合并主题帖,。"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Selected threads were moved."
 msgstr "所选主题帖已移动。"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid ""
 "You need permission to start threads in category to be able to move threads "
 "to it."
 msgstr "您必须有权限在次版块中开启主题帖,才可以移动主题帖到相应版块,。"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select all"
 msgstr "全选"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Select none"
 msgstr "取消选择"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All"
 msgstr "所有"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "All threads"
 msgstr "所有主题帖"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My"
 msgstr "我的"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "My threads"
 msgstr "我的主题帖"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "New threads"
 msgstr "新主题帖"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread"
 msgstr "未读"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unread threads"
 msgstr "未读主题帖"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed"
 msgstr "订阅"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Subscribed threads"
 msgstr "订阅主题"
 
-#: static/misago/js/misago.js:19
+#: static/misago/js/misago.js:20
 msgid "Unapproved content"
 msgstr "未批准的内容"
 
@@ -2343,7 +2412,8 @@ msgstr "登录或注册来发起或参与讨论。"
 msgid "You have unread private threads!"
 msgstr ""
 
-#: static/misago/js/misago.js:20 static/misago/js/misago.js:22
+#: static/misago/js/misago.js:20 static/misago/js/misago.js:21
+#: static/misago/js/misago.js:23
 msgid "Private threads"
 msgstr "私人主题帖"
 
@@ -2351,67 +2421,67 @@ msgstr "私人主题帖"
 msgid "Are you sure you want to sign out?"
 msgstr "您确定要退出吗?"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "See your profile"
 msgstr "个人档案"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change options"
 msgstr "更改设置"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Change avatar"
 msgstr "更改头像"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Log out"
 msgstr "退出"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned until %(ban_expires)s"
 msgstr "%(username)s 已被封禁直到 %(ban_expires)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is banned"
 msgstr "%(username)s 已被封禁"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is hiding presence"
 msgstr "%(username)s 在隐身"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online (hidden)"
 msgstr "%(username)s 在线(隐身)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s (hidden)"
 msgstr "%(username)s 最后一次出现于 %(last_click)s(隐身)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s is online"
 msgstr "%(username)s 在线"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "%(username)s was last seen %(last_click)s"
 msgstr "%(username)s 最后一次出现于 %(last_click)s"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Banned"
 msgstr "被封禁"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online (hidden)"
 msgstr "在线(隐身)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline (hidden)"
 msgstr "离线(隐身)"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Online"
 msgstr "在线"
 
-#: static/misago/js/misago.js:20
+#: static/misago/js/misago.js:21
 msgid "Offline"
 msgstr "离线"
 
@@ -2424,19 +2494,19 @@ msgstr[0] "%(followers)s的关注者"
 msgid "No users have posted any new messages during last %(days)s days."
 msgstr "已经%(days)s天没有用户发布消息。"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Rank"
 msgstr "级别"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:21 static/misago/js/misago.js:22
 msgid "Ranked posts"
 msgstr "有级别的帖子"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "Total posts"
 msgstr "帖子总数"
 
-#: static/misago/js/misago.js:21
+#: static/misago/js/misago.js:22
 msgid "%(posters)s most active poster from last %(days)s days."
 msgid_plural "%(posters)s most active posters from last %(days)s days."
 msgstr[0] "%最近%(days)s天最活跃的发布者%(poster)s"
@@ -2466,25 +2536,25 @@ msgstr "是"
 msgid "no"
 msgstr "没有"
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid ""
 "Private threads are threads which only those that started them and those "
 "they have invited may see and participate in."
 msgstr "私人主题帖只有那些启动他们和那些他们已经邀请可以看到并参与。"
 
-#: static/misago/js/misago.js:22
+#: static/misago/js/misago.js:23
 msgid "You aren't participating in any private threads."
 msgstr "您没有参与任何私人主题帖。"
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Lost connection with application."
 msgstr "与应用程序的连接失败"
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Action link is invalid."
 msgstr "操作链接无效。"
 
-#: static/misago/js/misago.js:23 static/misago/js/misago.js:24
+#: static/misago/js/misago.js:24
 msgid "Unknown error has occured."
 msgstr "发生未知错误。"
 
@@ -2520,15 +2590,23 @@ msgstr "您已经在编辑调查。确定要放弃吗?"
 msgid "You don't have permission to perform this action."
 msgstr "您没有执行此操作的权限。"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "You are banned"
 msgstr "您被封禁了"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "This field is required."
 msgstr "这是必填栏。"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
+msgid "You have to accept the terms of service."
+msgstr ""
+
+#: static/misago/js/misago.js:25
+msgid "You have to accept the privacy policy."
+msgstr ""
+
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at least %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2537,7 +2615,7 @@ msgid_plural ""
 "%(show_value)s)."
 msgstr[0] "确保此值至少有%(limit_value)s个字符(现有%(show_value)s)。"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid ""
 "Ensure this value has at most %(limit_value)s character (it has "
 "%(show_value)s)."
@@ -2546,21 +2624,21 @@ msgid_plural ""
 "%(show_value)s)."
 msgstr[0] "确保此值至多为%(limit_value)s字符(现有%(show_value)s)。"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username must be at least %(limit_value)s character long."
 msgid_plural "Username must be at least %(limit_value)s characters long."
 msgstr[0] "用户名必须至少%(limit_value)s字符长"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username cannot be longer than %(limit_value)s character."
 msgid_plural "Username cannot be longer than %(limit_value)s characters."
 msgstr[0] "用户名不可以超过%(limit_value)s字符。"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Username can only contain latin alphabet letters and digits."
 msgstr "用户名只可以包含拉丁字母和数字。"
 
-#: static/misago/js/misago.js:24
+#: static/misago/js/misago.js:25
 msgid "Valid password must be at least %(limit_value)s character long."
 msgid_plural ""
 "Valid password must be at least %(limit_value)s characters long."