diff --git a/bookwyrm/activitypub/note.py b/bookwyrm/activitypub/note.py
index 916da2d0e..556ef1853 100644
--- a/bookwyrm/activitypub/note.py
+++ b/bookwyrm/activitypub/note.py
@@ -59,6 +59,9 @@ class Comment(Note):
"""like a note but with a book"""
inReplyToBook: str
+ readingStatus: str = None
+ progress: int = None
+ progressMode: str = None
type: str = "Comment"
diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py
index c9e795c3e..e88124702 100644
--- a/bookwyrm/forms.py
+++ b/bookwyrm/forms.py
@@ -86,6 +86,7 @@ class CommentForm(CustomForm):
"privacy",
"progress",
"progress_mode",
+ "reading_status",
]
diff --git a/bookwyrm/migrations/0083_auto_20210816_2022.py b/bookwyrm/migrations/0083_auto_20210816_2022.py
new file mode 100644
index 000000000..ecf2778b7
--- /dev/null
+++ b/bookwyrm/migrations/0083_auto_20210816_2022.py
@@ -0,0 +1,56 @@
+# Generated by Django 3.2.4 on 2021-08-16 20:22
+
+import bookwyrm.models.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0082_auto_20210806_2324"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="comment",
+ name="reading_status",
+ field=bookwyrm.models.fields.CharField(
+ blank=True,
+ choices=[
+ ("to-read", "Toread"),
+ ("reading", "Reading"),
+ ("read", "Read"),
+ ],
+ max_length=255,
+ null=True,
+ ),
+ ),
+ migrations.AddField(
+ model_name="quotation",
+ name="reading_status",
+ field=bookwyrm.models.fields.CharField(
+ blank=True,
+ choices=[
+ ("to-read", "Toread"),
+ ("reading", "Reading"),
+ ("read", "Read"),
+ ],
+ max_length=255,
+ null=True,
+ ),
+ ),
+ migrations.AddField(
+ model_name="review",
+ name="reading_status",
+ field=bookwyrm.models.fields.CharField(
+ blank=True,
+ choices=[
+ ("to-read", "Toread"),
+ ("reading", "Reading"),
+ ("read", "Read"),
+ ],
+ max_length=255,
+ null=True,
+ ),
+ ),
+ ]
diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py
index 3c25f1af8..9274a5813 100644
--- a/bookwyrm/models/status.py
+++ b/bookwyrm/models/status.py
@@ -235,12 +235,31 @@ class GeneratedNote(Status):
pure_type = "Note"
-class Comment(Status):
- """like a review but without a rating and transient"""
+ReadingStatusChoices = models.TextChoices(
+ "ReadingStatusChoices", ["to-read", "reading", "read"]
+)
+
+
+class BookStatus(Status):
+ """Shared fields for comments, quotes, reviews"""
book = fields.ForeignKey(
"Edition", on_delete=models.PROTECT, activitypub_field="inReplyToBook"
)
+ pure_type = "Note"
+
+ reading_status = fields.CharField(
+ max_length=255, choices=ReadingStatusChoices.choices, null=True, blank=True
+ )
+
+ class Meta:
+ """not a real model, sorry"""
+
+ abstract = True
+
+
+class Comment(BookStatus):
+ """like a review but without a rating and transient"""
# this is it's own field instead of a foreign key to the progress update
# so that the update can be deleted without impacting the status
@@ -265,16 +284,12 @@ class Comment(Status):
)
activity_serializer = activitypub.Comment
- pure_type = "Note"
-class Quotation(Status):
+class Quotation(BookStatus):
"""like a review but without a rating and transient"""
quote = fields.HtmlField()
- book = fields.ForeignKey(
- "Edition", on_delete=models.PROTECT, activitypub_field="inReplyToBook"
- )
@property
def pure_content(self):
@@ -289,16 +304,12 @@ class Quotation(Status):
)
activity_serializer = activitypub.Quotation
- pure_type = "Note"
-class Review(Status):
+class Review(BookStatus):
"""a book review"""
name = fields.CharField(max_length=255, null=True)
- book = fields.ForeignKey(
- "Edition", on_delete=models.PROTECT, activitypub_field="inReplyToBook"
- )
rating = fields.DecimalField(
default=None,
null=True,
diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js
index a4002c2d3..894b1fb69 100644
--- a/bookwyrm/static/js/bookwyrm.js
+++ b/bookwyrm/static/js/bookwyrm.js
@@ -138,8 +138,11 @@ let BookWyrm = new class {
* @return {undefined}
*/
toggleAction(event) {
- event.preventDefault();
let trigger = event.currentTarget;
+
+ if (!trigger.dataset.allowDefault || event.currentTarget == event.target) {
+ event.preventDefault();
+ }
let pressed = trigger.getAttribute('aria-pressed') === 'false';
let targetId = trigger.dataset.controls;
@@ -177,6 +180,13 @@ let BookWyrm = new class {
this.toggleCheckbox(checkbox, pressed);
}
+ // Toggle form disabled, if appropriate
+ let disable = trigger.dataset.disables;
+
+ if (disable) {
+ this.toggleDisabled(disable, !pressed);
+ }
+
// Set focus, if appropriate.
let focus = trigger.dataset.focusTarget;
@@ -227,6 +237,17 @@ let BookWyrm = new class {
document.getElementById(checkbox).checked = !!pressed;
}
+ /**
+ * Enable or disable a form element or fieldset
+ *
+ * @param {string} form_element - id of the element
+ * @param {boolean} pressed - Is the trigger pressed?
+ * @return {undefined}
+ */
+ toggleDisabled(form_element, pressed) {
+ document.getElementById(form_element).disabled = !!pressed;
+ }
+
/**
* Give the focus to an element.
* Only move the focus based on user interactions.
diff --git a/bookwyrm/templates/reading_progress/finish.html b/bookwyrm/templates/reading_progress/finish.html
index a9f60f049..ca69128ec 100644
--- a/bookwyrm/templates/reading_progress/finish.html
+++ b/bookwyrm/templates/reading_progress/finish.html
@@ -9,6 +9,6 @@ Finish "{{ book_title }}"
{% block content %}
-{% include "snippets/shelve_button/finish_reading_modal.html" with book=book active=True %}
+{% include "snippets/reading_modals/finish_reading_modal.html" with book=book active=True %}
{% endblock %}
diff --git a/bookwyrm/templates/reading_progress/start.html b/bookwyrm/templates/reading_progress/start.html
index 9c4579471..e24a0e05b 100644
--- a/bookwyrm/templates/reading_progress/start.html
+++ b/bookwyrm/templates/reading_progress/start.html
@@ -9,6 +9,6 @@ Start "{{ book_title }}"
{% block content %}
-{% include "snippets/shelve_button/start_reading_modal.html" with book=book active=True %}
+{% include "snippets/reading_modals/start_reading_modal.html" with book=book active=True %}
{% endblock %}
diff --git a/bookwyrm/templates/reading_progress/want.html b/bookwyrm/templates/reading_progress/want.html
index e0353193a..6122ade3a 100644
--- a/bookwyrm/templates/reading_progress/want.html
+++ b/bookwyrm/templates/reading_progress/want.html
@@ -9,6 +9,6 @@ Want to Read "{{ book_title }}"
{% block content %}
-{% include "snippets/shelve_button/want_to_read_modal.html" with book=book active=True %}
+{% include "snippets/reading_modals/want_to_read_modal.html" with book=book active=True %}
{% endblock %}
diff --git a/bookwyrm/templates/snippets/create_status/content_field.html b/bookwyrm/templates/snippets/create_status/content_field.html
index 0a42a8327..903372003 100644
--- a/bookwyrm/templates/snippets/create_status/content_field.html
+++ b/bookwyrm/templates/snippets/create_status/content_field.html
@@ -14,6 +14,6 @@ draft: an existing Status object that is providing default values for input fiel
id="id_content_{{ type }}_{{ book.id }}{{ reply_parent.id }}"
placeholder="{{ placeholder }}"
aria-label="{% if reply_parent %}{% trans 'Reply' %}{% else %}{% trans 'Content' %}{% endif %}"
- {% if type != "quotation" %}required{% endif %}
+ {% if not optional and type != "quotation" %}required{% endif %}
>{% if reply_parent %}{{ reply_parent|mentions:request.user }}{% endif %}{% if mention %}@{{ mention|username }} {% endif %}{{ draft.content|default:'' }}
diff --git a/bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html b/bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html
new file mode 100644
index 000000000..3a0346931
--- /dev/null
+++ b/bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html
@@ -0,0 +1,36 @@
+{% extends 'snippets/reading_modals/layout.html' %}
+{% load i18n %}
+{% load utilities %}
+
+{% block modal-title %}
+{% blocktrans trimmed with book_title=book|book_title %}
+Finish "{{ book_title }}"
+{% endblocktrans %}
+{% endblock %}
+
+{% block modal-form-open %}
+
{% endblock %}
diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button.html b/bookwyrm/templates/snippets/shelve_button/shelve_button.html
index 40a9f6e73..189418122 100644
--- a/bookwyrm/templates/snippets/shelve_button/shelve_button.html
+++ b/bookwyrm/templates/snippets/shelve_button/shelve_button.html
@@ -19,13 +19,13 @@
{% endif %}
-{% include 'snippets/shelve_button/want_to_read_modal.html' with book=active_shelf.book controls_text="want_to_read" controls_uid=uuid %}
+{% include 'snippets/reading_modals/want_to_read_modal.html' with book=active_shelf.book controls_text="want_to_read" controls_uid=uuid %}
-{% include 'snippets/shelve_button/start_reading_modal.html' with book=active_shelf.book controls_text="start_reading" controls_uid=uuid %}
+{% include 'snippets/reading_modals/start_reading_modal.html' with book=active_shelf.book controls_text="start_reading" controls_uid=uuid %}
-{% include 'snippets/shelve_button/finish_reading_modal.html' with book=active_shelf.book controls_text="finish_reading" controls_uid=uuid readthrough=readthrough %}
+{% include 'snippets/reading_modals/finish_reading_modal.html' with book=active_shelf.book controls_text="finish_reading" controls_uid=uuid readthrough=readthrough %}
-{% include 'snippets/shelve_button/progress_update_modal.html' with book=active_shelf_book.book controls_text="progress_update" controls_uid=uuid readthrough=readthrough %}
+{% include 'snippets/reading_modals/progress_update_modal.html' with book=active_shelf_book.book controls_text="progress_update" controls_uid=uuid readthrough=readthrough %}
{% endwith %}
{% endif %}
diff --git a/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html b/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html
deleted file mode 100644
index 1858313b3..000000000
--- a/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html
+++ /dev/null
@@ -1,42 +0,0 @@
-{% extends 'components/modal.html' %}
-{% load i18n %}
-
-{% block modal-title %}
-{% blocktrans trimmed with book_title=book.title %}
-Start "{{ book_title }}"
-{% endblocktrans %}
-{% endblock %}
-
-{% block modal-form-open %}
-{% endblock %}
diff --git a/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html b/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html
deleted file mode 100644
index 643e4a202..000000000
--- a/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html
+++ /dev/null
@@ -1,33 +0,0 @@
-{% extends 'components/modal.html' %}
-{% load i18n %}
-
-{% block modal-title %}
-{% blocktrans with book_title=book.title %}Want to Read "{{ book_title }}"{% endblocktrans %}
-{% endblock %}
-
-{% block modal-form-open %}
-{% endblock %}
diff --git a/bookwyrm/templates/snippets/status/headers/read.html b/bookwyrm/templates/snippets/status/headers/read.html
index f942c0f0a..bc6147dfe 100644
--- a/bookwyrm/templates/snippets/status/headers/read.html
+++ b/bookwyrm/templates/snippets/status/headers/read.html
@@ -1,7 +1,8 @@
{% spaceless %}
-{% load i18n %}{% load utilities %}
+{% load i18n %}
+{% load utilities %}
+{% load status_display %}
-{% with book=status.mention_books.first %}
+{% load_book status as book %}
{% blocktrans with book_path=book.remote_id book=book|book_title %}finished reading {{ book }}{% endblocktrans %}
-{% endwith %}
{% endspaceless %}
diff --git a/bookwyrm/templates/snippets/status/headers/reading.html b/bookwyrm/templates/snippets/status/headers/reading.html
index 460c4cae7..e8b51f7ba 100644
--- a/bookwyrm/templates/snippets/status/headers/reading.html
+++ b/bookwyrm/templates/snippets/status/headers/reading.html
@@ -1,9 +1,8 @@
{% spaceless %}
{% load i18n %}
{% load utilities %}
+{% load status_display %}
-{% with book=status.mention_books.first %}
+{% load_book status as book %}
{% blocktrans with book_path=book.remote_id book=book|book_title %}started reading {{ book }}{% endblocktrans %}
-{% endwith %}
-
{% endspaceless %}
diff --git a/bookwyrm/templates/snippets/status/headers/to_read.html b/bookwyrm/templates/snippets/status/headers/to_read.html
index 7b89a775b..c252e71d6 100644
--- a/bookwyrm/templates/snippets/status/headers/to_read.html
+++ b/bookwyrm/templates/snippets/status/headers/to_read.html
@@ -1,8 +1,8 @@
{% spaceless %}
{% load i18n %}
{% load utilities %}
+{% load status_display %}
-{% with book=status.mention_books.first %}
+{% load_book status as book %}
{% blocktrans with book_path=book.remote_id book=book|book_title %}{{ username }} wants to read {{ book }}{% endblocktrans %}
-{% endwith %}
{% endspaceless %}
diff --git a/bookwyrm/templatetags/status_display.py b/bookwyrm/templatetags/status_display.py
index 0d0137757..e43c0f944 100644
--- a/bookwyrm/templatetags/status_display.py
+++ b/bookwyrm/templatetags/status_display.py
@@ -70,7 +70,13 @@ def get_header_template(status):
"""get the path for the status template"""
if isinstance(status, models.Boost):
status = status.boosted_status
- filename = "snippets/status/headers/{:s}.html".format(status.status_type.lower())
+ try:
+ header_type = status.reading_status
+ if not header_type:
+ raise AttributeError()
+ except AttributeError:
+ header_type = status.status_type.lower()
+ filename = f"snippets/status/headers/{header_type}.html"
header_template = select_template([filename, "snippets/status/headers/note.html"])
return header_template.render({"status": status})
diff --git a/bookwyrm/tests/views/inbox/test_inbox_create.py b/bookwyrm/tests/views/inbox/test_inbox_create.py
index 6e8917238..059d05223 100644
--- a/bookwyrm/tests/views/inbox/test_inbox_create.py
+++ b/bookwyrm/tests/views/inbox/test_inbox_create.py
@@ -77,6 +77,33 @@ class InboxCreate(TestCase):
views.inbox.activity_task(activity)
self.assertEqual(models.Status.objects.count(), 1)
+ @patch("bookwyrm.activitystreams.ActivityStream.add_status")
+ def test_create_comment_with_reading_status(self, *_):
+ """the "it justs works" mode"""
+ datafile = pathlib.Path(__file__).parent.joinpath("../../data/ap_comment.json")
+ status_data = json.loads(datafile.read_bytes())
+ status_data["readingStatus"] = "to-read"
+
+ models.Edition.objects.create(
+ title="Test Book", remote_id="https://example.com/book/1"
+ )
+ activity = self.create_json
+ activity["object"] = status_data
+
+ with patch("bookwyrm.activitystreams.ActivityStream.add_status") as redis_mock:
+ views.inbox.activity_task(activity)
+ self.assertTrue(redis_mock.called)
+
+ status = models.Comment.objects.get()
+ self.assertEqual(status.remote_id, "https://example.com/user/mouse/comment/6")
+ self.assertEqual(status.content, "commentary")
+ self.assertEqual(status.reading_status, "to-read")
+ self.assertEqual(status.user, self.local_user)
+
+ # while we're here, lets ensure we avoid dupes
+ views.inbox.activity_task(activity)
+ self.assertEqual(models.Status.objects.count(), 1)
+
def test_create_status_remote_note_with_mention(self, _):
"""should only create it under the right circumstances"""
self.assertFalse(
diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py
index 1c897ab38..9100e1d43 100644
--- a/bookwyrm/views/reading.py
+++ b/bookwyrm/views/reading.py
@@ -12,7 +12,7 @@ from django.utils.decorators import method_decorator
from django.views import View
from django.views.decorators.http import require_POST
-from bookwyrm import models
+from bookwyrm import forms, models
from .helpers import get_edition, handle_reading_status
@@ -76,8 +76,17 @@ class ReadingStatus(View):
# post about it (if you want)
if request.POST.get("post-status"):
- privacy = request.POST.get("privacy")
- handle_reading_status(request.user, desired_shelf, book, privacy)
+ # is it a comment?
+ if request.POST.get("content"):
+ form = forms.CommentForm(request.POST)
+ if form.is_valid():
+ form.save()
+ else:
+ # uh oh
+ raise Exception(form.errors)
+ else:
+ privacy = request.POST.get("privacy")
+ handle_reading_status(request.user, desired_shelf, book, privacy)
return redirect(request.headers.get("Referer", "/"))
diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po
index 6d6588843..00fbd0e8b 100644
--- a/locale/de_DE/LC_MESSAGES/django.po
+++ b/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-13 02:21+0000\n"
+"POT-Creation-Date: 2021-08-16 21:26+0000\n"
"PO-Revision-Date: 2021-03-02 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -18,67 +18,67 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: bookwyrm/forms.py:232
+#: bookwyrm/forms.py:233
#, fuzzy
#| msgid "A user with that username already exists."
msgid "A user with this email already exists."
msgstr "Dieser Benutzename ist bereits vergeben."
-#: bookwyrm/forms.py:246
+#: bookwyrm/forms.py:247
msgid "One Day"
msgstr "Ein Tag"
-#: bookwyrm/forms.py:247
+#: bookwyrm/forms.py:248
msgid "One Week"
msgstr "Eine Woche"
-#: bookwyrm/forms.py:248
+#: bookwyrm/forms.py:249
msgid "One Month"
msgstr "Ein Monat"
-#: bookwyrm/forms.py:249
+#: bookwyrm/forms.py:250
msgid "Does Not Expire"
msgstr "Läuft nicht aus"
-#: bookwyrm/forms.py:254
+#: bookwyrm/forms.py:255
#, python-format
msgid "%(count)d uses"
msgstr "%(count)d Benutzungen"
-#: bookwyrm/forms.py:257
+#: bookwyrm/forms.py:258
#, fuzzy
#| msgid "Unlisted"
msgid "Unlimited"
msgstr "Ungelistet"
-#: bookwyrm/forms.py:307
+#: bookwyrm/forms.py:308
msgid "List Order"
msgstr ""
-#: bookwyrm/forms.py:308
+#: bookwyrm/forms.py:309
#, fuzzy
#| msgid "Title"
msgid "Book Title"
msgstr "Titel"
-#: bookwyrm/forms.py:309
+#: bookwyrm/forms.py:310
#: bookwyrm/templates/snippets/create_status/review.html:25
#: bookwyrm/templates/user/shelf/shelf.html:85
#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr ""
-#: bookwyrm/forms.py:311 bookwyrm/templates/lists/list.html:107
+#: bookwyrm/forms.py:312 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr ""
-#: bookwyrm/forms.py:315
+#: bookwyrm/forms.py:316
#, fuzzy
#| msgid "Started reading"
msgid "Ascending"
msgstr "Zu lesen angefangen"
-#: bookwyrm/forms.py:316
+#: bookwyrm/forms.py:317
#, fuzzy
#| msgid "Started reading"
msgid "Descending"
@@ -308,9 +308,8 @@ msgstr ""
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:108
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/layout.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:42
#: bookwyrm/templates/user_admin/user_moderation_actions.html:45
msgid "Save"
msgstr "Speichern"
@@ -324,10 +323,7 @@ msgstr "Speichern"
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:43
msgid "Cancel"
msgstr "Abbrechen"
@@ -2709,24 +2705,24 @@ msgid "Some thoughts on the book"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:26
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:16
msgid "Progress:"
msgstr "Fortschritt:"
#: bookwyrm/templates/snippets/create_status/comment.html:34
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:30
#: bookwyrm/templates/snippets/readthrough_form.html:22
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:30
msgid "pages"
msgstr "Seiten"
#: bookwyrm/templates/snippets/create_status/comment.html:35
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:31
#: bookwyrm/templates/snippets/readthrough_form.html:23
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31
msgid "percent"
msgstr "Prozent"
#: bookwyrm/templates/snippets/create_status/comment.html:41
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:36
#, python-format
msgid "of %(pages)s pages"
msgstr "von %(pages)s Seiten"
@@ -2757,6 +2753,7 @@ msgid "Include spoiler alert"
msgstr "Spoileralarm aktivieren"
#: bookwyrm/templates/snippets/create_status/layout.html:38
+#: bookwyrm/templates/snippets/reading_modals/form.html:7
#, fuzzy
#| msgid "Comment"
msgid "Comment:"
@@ -2926,9 +2923,7 @@ msgid "Goal privacy:"
msgstr "Sichtbarkeit des Ziels"
#: bookwyrm/templates/snippets/goal_form.html:26
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:31
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20
+#: bookwyrm/templates/snippets/reading_modals/layout.html:13
msgid "Post to feed"
msgstr "Posten"
@@ -3005,21 +3000,47 @@ msgstr "Raten"
msgid "Rate"
msgstr ""
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6
+#, python-format
+msgid "Finish \"%(book_title)s\""
+msgstr "\"%(book_title)s\" abschließen"
+
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:22
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:20
#: bookwyrm/templates/snippets/readthrough_form.html:7
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:19
msgid "Started reading"
msgstr "Zu lesen angefangen"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:30
+#: bookwyrm/templates/snippets/readthrough_form.html:30
+msgid "Finished reading"
+msgstr "Lesen abgeschlossen"
+
+#: bookwyrm/templates/snippets/reading_modals/form.html:8
+msgid "(Optional)"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#, fuzzy
+#| msgid "Progress"
+msgid "Update progress"
+msgstr "Fortschritt"
+
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
+#, python-format
+msgid "Start \"%(book_title)s\""
+msgstr "\"%(book_title)s\" beginnen"
+
+#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
+#, python-format
+msgid "Want to Read \"%(book_title)s\""
+msgstr "\"%(book_title)s\" auf Leseliste setzen"
+
#: bookwyrm/templates/snippets/readthrough_form.html:14
msgid "Progress"
msgstr "Fortschritt"
-#: bookwyrm/templates/snippets/readthrough_form.html:30
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25
-msgid "Finished reading"
-msgstr "Lesen abgeschlossen"
-
#: bookwyrm/templates/snippets/register_form.html:32
msgid "Sign Up"
msgstr "Registrieren"
@@ -3040,18 +3061,6 @@ msgstr "Buch importieren"
msgid "Move book"
msgstr "Deine Bücher"
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
-#, python-format
-msgid "Finish \"%(book_title)s\""
-msgstr "\"%(book_title)s\" abschließen"
-
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
-#, fuzzy
-#| msgid "Progress"
-msgid "Update progress"
-msgstr "Fortschritt"
-
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
msgstr "Mehr Regale"
@@ -3065,7 +3074,6 @@ msgid "Finish reading"
msgstr "Lesen abschließen"
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26
msgid "Want to read"
msgstr "Auf Leseliste setzen"
@@ -3075,16 +3083,6 @@ msgstr "Auf Leseliste setzen"
msgid "Remove from %(name)s"
msgstr "Listen: %(username)s"
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
-#, python-format
-msgid "Start \"%(book_title)s\""
-msgstr "\"%(book_title)s\" beginnen"
-
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
-#, python-format
-msgid "Want to Read \"%(book_title)s\""
-msgstr "\"%(book_title)s\" auf Leseliste setzen"
-
#: bookwyrm/templates/snippets/status/content_status.html:72
#: bookwyrm/templates/snippets/trimmed_text.html:17
msgid "Show more"
@@ -3123,13 +3121,13 @@ msgstr "Direktnachrichten mit %(username)s"
msgid "rated %(book)s:"
msgstr "Direktnachrichten mit %(username)s"
-#: bookwyrm/templates/snippets/status/headers/read.html:5
+#: bookwyrm/templates/snippets/status/headers/read.html:7
#, fuzzy, python-format
#| msgid "Editions of \"%(work_title)s\""
msgid "finished reading %(book)s"
msgstr "Editionen von \"%(work_title)s\""
-#: bookwyrm/templates/snippets/status/headers/reading.html:6
+#: bookwyrm/templates/snippets/status/headers/reading.html:7
#, fuzzy, python-format
#| msgid "Direct Messages with %(username)s"
msgid "started reading %(book)s"
@@ -3141,7 +3139,7 @@ msgstr "Direktnachrichten mit %(username)s"
msgid "reviewed %(book)s"
msgstr "Direktnachrichten mit %(username)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:6
+#: bookwyrm/templates/snippets/status/headers/to_read.html:7
#, fuzzy, python-format
#| msgid "replied to your status"
msgid "%(username)s wants to read %(book)s"
@@ -3485,6 +3483,11 @@ msgstr "Dieser Benutzename ist bereits vergeben."
msgid "A password reset link sent to %s"
msgstr ""
+#: bookwyrm/views/rss_feed.py:34
+#, python-brace-format
+msgid "Status updates from {obj.display_name}"
+msgstr ""
+
#, fuzzy
#~| msgid "Federated Servers"
#~ msgid "Federated Timeline"
diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po
index ba475e53a..ac2acf350 100644
--- a/locale/en_US/LC_MESSAGES/django.po
+++ b/locale/en_US/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-13 02:21+0000\n"
+"POT-Creation-Date: 2021-08-16 21:26+0000\n"
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -18,59 +18,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: bookwyrm/forms.py:232
+#: bookwyrm/forms.py:233
msgid "A user with this email already exists."
msgstr ""
-#: bookwyrm/forms.py:246
+#: bookwyrm/forms.py:247
msgid "One Day"
msgstr ""
-#: bookwyrm/forms.py:247
+#: bookwyrm/forms.py:248
msgid "One Week"
msgstr ""
-#: bookwyrm/forms.py:248
+#: bookwyrm/forms.py:249
msgid "One Month"
msgstr ""
-#: bookwyrm/forms.py:249
+#: bookwyrm/forms.py:250
msgid "Does Not Expire"
msgstr ""
-#: bookwyrm/forms.py:254
+#: bookwyrm/forms.py:255
#, python-format
msgid "%(count)d uses"
msgstr ""
-#: bookwyrm/forms.py:257
+#: bookwyrm/forms.py:258
msgid "Unlimited"
msgstr ""
-#: bookwyrm/forms.py:307
+#: bookwyrm/forms.py:308
msgid "List Order"
msgstr ""
-#: bookwyrm/forms.py:308
+#: bookwyrm/forms.py:309
msgid "Book Title"
msgstr ""
-#: bookwyrm/forms.py:309
+#: bookwyrm/forms.py:310
#: bookwyrm/templates/snippets/create_status/review.html:25
#: bookwyrm/templates/user/shelf/shelf.html:85
#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr ""
-#: bookwyrm/forms.py:311 bookwyrm/templates/lists/list.html:107
+#: bookwyrm/forms.py:312 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr ""
-#: bookwyrm/forms.py:315
+#: bookwyrm/forms.py:316
msgid "Ascending"
msgstr ""
-#: bookwyrm/forms.py:316
+#: bookwyrm/forms.py:317
msgid "Descending"
msgstr ""
@@ -284,9 +284,8 @@ msgstr ""
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:108
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/layout.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:42
#: bookwyrm/templates/user_admin/user_moderation_actions.html:45
msgid "Save"
msgstr ""
@@ -300,10 +299,7 @@ msgstr ""
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:43
msgid "Cancel"
msgstr ""
@@ -2450,24 +2446,24 @@ msgid "Some thoughts on the book"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:26
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:16
msgid "Progress:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:34
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:30
#: bookwyrm/templates/snippets/readthrough_form.html:22
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:30
msgid "pages"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:35
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:31
#: bookwyrm/templates/snippets/readthrough_form.html:23
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31
msgid "percent"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:41
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:36
#, python-format
msgid "of %(pages)s pages"
msgstr ""
@@ -2496,6 +2492,7 @@ msgid "Include spoiler alert"
msgstr ""
#: bookwyrm/templates/snippets/create_status/layout.html:38
+#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr ""
@@ -2646,9 +2643,7 @@ msgid "Goal privacy:"
msgstr ""
#: bookwyrm/templates/snippets/goal_form.html:26
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:31
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20
+#: bookwyrm/templates/snippets/reading_modals/layout.html:13
msgid "Post to feed"
msgstr ""
@@ -2723,21 +2718,45 @@ msgstr ""
msgid "Rate"
msgstr ""
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6
+#, python-format
+msgid "Finish \"%(book_title)s\""
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:22
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:20
#: bookwyrm/templates/snippets/readthrough_form.html:7
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:19
msgid "Started reading"
msgstr ""
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:30
+#: bookwyrm/templates/snippets/readthrough_form.html:30
+msgid "Finished reading"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/form.html:8
+msgid "(Optional)"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+msgid "Update progress"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
+#, python-format
+msgid "Start \"%(book_title)s\""
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
+#, python-format
+msgid "Want to Read \"%(book_title)s\""
+msgstr ""
+
#: bookwyrm/templates/snippets/readthrough_form.html:14
msgid "Progress"
msgstr ""
-#: bookwyrm/templates/snippets/readthrough_form.html:30
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25
-msgid "Finished reading"
-msgstr ""
-
#: bookwyrm/templates/snippets/register_form.html:32
msgid "Sign Up"
msgstr ""
@@ -2754,16 +2773,6 @@ msgstr ""
msgid "Move book"
msgstr ""
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
-#, python-format
-msgid "Finish \"%(book_title)s\""
-msgstr ""
-
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
-msgid "Update progress"
-msgstr ""
-
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
msgstr ""
@@ -2777,7 +2786,6 @@ msgid "Finish reading"
msgstr ""
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26
msgid "Want to read"
msgstr ""
@@ -2786,16 +2794,6 @@ msgstr ""
msgid "Remove from %(name)s"
msgstr ""
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
-#, python-format
-msgid "Start \"%(book_title)s\""
-msgstr ""
-
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
-#, python-format
-msgid "Want to Read \"%(book_title)s\""
-msgstr ""
-
#: bookwyrm/templates/snippets/status/content_status.html:72
#: bookwyrm/templates/snippets/trimmed_text.html:17
msgid "Show more"
@@ -2830,12 +2828,12 @@ msgstr ""
msgid "rated %(book)s:"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/read.html:5
+#: bookwyrm/templates/snippets/status/headers/read.html:7
#, python-format
msgid "finished reading %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/reading.html:6
+#: bookwyrm/templates/snippets/status/headers/reading.html:7
#, python-format
msgid "started reading %(book)s"
msgstr ""
@@ -2845,7 +2843,7 @@ msgstr ""
msgid "reviewed %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/to_read.html:6
+#: bookwyrm/templates/snippets/status/headers/to_read.html:7
#, python-format
msgid "%(username)s wants to read %(book)s"
msgstr ""
@@ -3153,3 +3151,8 @@ msgstr ""
#, python-format
msgid "A password reset link sent to %s"
msgstr ""
+
+#: bookwyrm/views/rss_feed.py:34
+#, python-brace-format
+msgid "Status updates from {obj.display_name}"
+msgstr ""
diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po
index d073a36c7..04497a2a1 100644
--- a/locale/es/LC_MESSAGES/django.po
+++ b/locale/es/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-13 02:21+0000\n"
+"POT-Creation-Date: 2021-08-16 21:26+0000\n"
"PO-Revision-Date: 2021-03-19 11:49+0800\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,59 +18,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: bookwyrm/forms.py:232
+#: bookwyrm/forms.py:233
msgid "A user with this email already exists."
msgstr "Ya existe un usuario con ese correo electrónico."
-#: bookwyrm/forms.py:246
+#: bookwyrm/forms.py:247
msgid "One Day"
msgstr "Un día"
-#: bookwyrm/forms.py:247
+#: bookwyrm/forms.py:248
msgid "One Week"
msgstr "Una semana"
-#: bookwyrm/forms.py:248
+#: bookwyrm/forms.py:249
msgid "One Month"
msgstr "Un mes"
-#: bookwyrm/forms.py:249
+#: bookwyrm/forms.py:250
msgid "Does Not Expire"
msgstr "Nunca se vence"
-#: bookwyrm/forms.py:254
+#: bookwyrm/forms.py:255
#, python-format
msgid "%(count)d uses"
msgstr "%(count)d usos"
-#: bookwyrm/forms.py:257
+#: bookwyrm/forms.py:258
msgid "Unlimited"
msgstr "Sin límite"
-#: bookwyrm/forms.py:307
+#: bookwyrm/forms.py:308
msgid "List Order"
msgstr "Orden de la lista"
-#: bookwyrm/forms.py:308
+#: bookwyrm/forms.py:309
msgid "Book Title"
msgstr "Título"
-#: bookwyrm/forms.py:309
+#: bookwyrm/forms.py:310
#: bookwyrm/templates/snippets/create_status/review.html:25
#: bookwyrm/templates/user/shelf/shelf.html:85
#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr "Calificación"
-#: bookwyrm/forms.py:311 bookwyrm/templates/lists/list.html:107
+#: bookwyrm/forms.py:312 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr "Ordenar por"
-#: bookwyrm/forms.py:315
+#: bookwyrm/forms.py:316
msgid "Ascending"
msgstr "Ascendente"
-#: bookwyrm/forms.py:316
+#: bookwyrm/forms.py:317
msgid "Descending"
msgstr "Descendente"
@@ -284,9 +284,8 @@ msgstr "Clave Goodreads:"
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:108
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/layout.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:42
#: bookwyrm/templates/user_admin/user_moderation_actions.html:45
msgid "Save"
msgstr "Guardar"
@@ -300,10 +299,7 @@ msgstr "Guardar"
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:43
msgid "Cancel"
msgstr "Cancelar"
@@ -2451,24 +2447,24 @@ msgid "Some thoughts on the book"
msgstr "Algunos pensamientos sobre el libro"
#: bookwyrm/templates/snippets/create_status/comment.html:26
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:16
msgid "Progress:"
msgstr "Progreso:"
#: bookwyrm/templates/snippets/create_status/comment.html:34
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:30
#: bookwyrm/templates/snippets/readthrough_form.html:22
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:30
msgid "pages"
msgstr "páginas"
#: bookwyrm/templates/snippets/create_status/comment.html:35
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:31
#: bookwyrm/templates/snippets/readthrough_form.html:23
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31
msgid "percent"
msgstr "por ciento"
#: bookwyrm/templates/snippets/create_status/comment.html:41
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:36
#, python-format
msgid "of %(pages)s pages"
msgstr "de %(pages)s páginas"
@@ -2497,6 +2493,7 @@ msgid "Include spoiler alert"
msgstr "Incluir alerta de spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:38
+#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Comentario:"
@@ -2647,9 +2644,7 @@ msgid "Goal privacy:"
msgstr "Privacidad de meta:"
#: bookwyrm/templates/snippets/goal_form.html:26
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:31
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20
+#: bookwyrm/templates/snippets/reading_modals/layout.html:13
msgid "Post to feed"
msgstr "Compartir con tu feed"
@@ -2725,21 +2720,45 @@ msgstr "Da una calificación"
msgid "Rate"
msgstr "Calificar"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6
+#, python-format
+msgid "Finish \"%(book_title)s\""
+msgstr "Terminar \"%(book_title)s\""
+
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:22
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:20
#: bookwyrm/templates/snippets/readthrough_form.html:7
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:19
msgid "Started reading"
msgstr "Lectura se empezó"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:30
+#: bookwyrm/templates/snippets/readthrough_form.html:30
+msgid "Finished reading"
+msgstr "Lectura se terminó"
+
+#: bookwyrm/templates/snippets/reading_modals/form.html:8
+msgid "(Optional)"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+msgid "Update progress"
+msgstr "Progreso de actualización"
+
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
+#, python-format
+msgid "Start \"%(book_title)s\""
+msgstr "Empezar \"%(book_title)s\""
+
+#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
+#, python-format
+msgid "Want to Read \"%(book_title)s\""
+msgstr "Quiero leer \"%(book_title)s\""
+
#: bookwyrm/templates/snippets/readthrough_form.html:14
msgid "Progress"
msgstr "Progreso"
-#: bookwyrm/templates/snippets/readthrough_form.html:30
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25
-msgid "Finished reading"
-msgstr "Lectura se terminó"
-
#: bookwyrm/templates/snippets/register_form.html:32
msgid "Sign Up"
msgstr "Inscribirse"
@@ -2756,16 +2775,6 @@ msgstr "Importar libro"
msgid "Move book"
msgstr "Mover libro"
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
-#, python-format
-msgid "Finish \"%(book_title)s\""
-msgstr "Terminar \"%(book_title)s\""
-
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
-msgid "Update progress"
-msgstr "Progreso de actualización"
-
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
msgstr "Más estantes"
@@ -2779,7 +2788,6 @@ msgid "Finish reading"
msgstr "Terminar de leer"
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26
msgid "Want to read"
msgstr "Quiero leer"
@@ -2788,16 +2796,6 @@ msgstr "Quiero leer"
msgid "Remove from %(name)s"
msgstr "Quitar de %(name)s"
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
-#, python-format
-msgid "Start \"%(book_title)s\""
-msgstr "Empezar \"%(book_title)s\""
-
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
-#, python-format
-msgid "Want to Read \"%(book_title)s\""
-msgstr "Quiero leer \"%(book_title)s\""
-
#: bookwyrm/templates/snippets/status/content_status.html:72
#: bookwyrm/templates/snippets/trimmed_text.html:17
msgid "Show more"
@@ -2832,12 +2830,12 @@ msgstr "citó a %(book)s"
msgid "rated %(book)s:"
msgstr "calificó %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:5
+#: bookwyrm/templates/snippets/status/headers/read.html:7
#, python-format
msgid "finished reading %(book)s"
msgstr "terminó de leer %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:6
+#: bookwyrm/templates/snippets/status/headers/reading.html:7
#, python-format
msgid "started reading %(book)s"
msgstr "empezó a leer %(book)s"
@@ -2847,7 +2845,7 @@ msgstr "empezó a leer %(book)s"
msgid "reviewed %(book)s"
msgstr "reseñó a %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:6
+#: bookwyrm/templates/snippets/status/headers/to_read.html:7
#, python-format
msgid "%(username)s wants to read %(book)s"
msgstr "%(username)s quiere leer %(book)s"
@@ -3156,6 +3154,11 @@ msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónic
msgid "A password reset link sent to %s"
msgstr "Un enlace para reestablecer tu contraseña se enviará a %s"
+#: bookwyrm/views/rss_feed.py:34
+#, python-brace-format
+msgid "Status updates from {obj.display_name}"
+msgstr ""
+
#~ msgid "Local Timeline"
#~ msgstr "Línea temporal local"
diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po
index 1ab9157bd..46416931e 100644
--- a/locale/fr_FR/LC_MESSAGES/django.po
+++ b/locale/fr_FR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-13 02:21+0000\n"
+"POT-Creation-Date: 2021-08-16 21:26+0000\n"
"PO-Revision-Date: 2021-04-05 12:44+0100\n"
"Last-Translator: Fabien Basmaison \n"
"Language-Team: Mouse Reeve \n"
@@ -18,59 +18,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: bookwyrm/forms.py:232
+#: bookwyrm/forms.py:233
msgid "A user with this email already exists."
msgstr "Cet email est déjà associé à un compte."
-#: bookwyrm/forms.py:246
+#: bookwyrm/forms.py:247
msgid "One Day"
msgstr "Un jour"
-#: bookwyrm/forms.py:247
+#: bookwyrm/forms.py:248
msgid "One Week"
msgstr "Une semaine"
-#: bookwyrm/forms.py:248
+#: bookwyrm/forms.py:249
msgid "One Month"
msgstr "Un mois"
-#: bookwyrm/forms.py:249
+#: bookwyrm/forms.py:250
msgid "Does Not Expire"
msgstr "Sans expiration"
-#: bookwyrm/forms.py:254
+#: bookwyrm/forms.py:255
#, python-format
msgid "%(count)d uses"
msgstr "%(count)d utilisations"
-#: bookwyrm/forms.py:257
+#: bookwyrm/forms.py:258
msgid "Unlimited"
msgstr "Sans limite"
-#: bookwyrm/forms.py:307
+#: bookwyrm/forms.py:308
msgid "List Order"
msgstr "Ordre de la liste"
-#: bookwyrm/forms.py:308
+#: bookwyrm/forms.py:309
msgid "Book Title"
msgstr "Titre du livre"
-#: bookwyrm/forms.py:309
+#: bookwyrm/forms.py:310
#: bookwyrm/templates/snippets/create_status/review.html:25
#: bookwyrm/templates/user/shelf/shelf.html:85
#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr "Note"
-#: bookwyrm/forms.py:311 bookwyrm/templates/lists/list.html:107
+#: bookwyrm/forms.py:312 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr "Trier par"
-#: bookwyrm/forms.py:315
+#: bookwyrm/forms.py:316
msgid "Ascending"
msgstr "Ordre croissant"
-#: bookwyrm/forms.py:316
+#: bookwyrm/forms.py:317
msgid "Descending"
msgstr "Ordre décroissant"
@@ -288,9 +288,8 @@ msgstr "Clé Goodreads :"
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:108
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/layout.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:42
#: bookwyrm/templates/user_admin/user_moderation_actions.html:45
msgid "Save"
msgstr "Enregistrer"
@@ -304,10 +303,7 @@ msgstr "Enregistrer"
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:43
msgid "Cancel"
msgstr "Annuler"
@@ -2473,24 +2469,24 @@ msgid "Some thoughts on the book"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:26
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:16
msgid "Progress:"
msgstr "Progression :"
#: bookwyrm/templates/snippets/create_status/comment.html:34
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:30
#: bookwyrm/templates/snippets/readthrough_form.html:22
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:30
msgid "pages"
msgstr "pages"
#: bookwyrm/templates/snippets/create_status/comment.html:35
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:31
#: bookwyrm/templates/snippets/readthrough_form.html:23
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31
msgid "percent"
msgstr "pourcent"
#: bookwyrm/templates/snippets/create_status/comment.html:41
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:36
#, python-format
msgid "of %(pages)s pages"
msgstr "sur %(pages)s pages"
@@ -2519,6 +2515,7 @@ msgid "Include spoiler alert"
msgstr "Afficher une alerte spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:38
+#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Commentaire :"
@@ -2675,9 +2672,7 @@ msgid "Goal privacy:"
msgstr "Confidentialité du défi :"
#: bookwyrm/templates/snippets/goal_form.html:26
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:31
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20
+#: bookwyrm/templates/snippets/reading_modals/layout.html:13
msgid "Post to feed"
msgstr "Publier sur le fil d’actualité"
@@ -2752,21 +2747,45 @@ msgstr "Laisser une note"
msgid "Rate"
msgstr "Noter"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6
+#, python-format
+msgid "Finish \"%(book_title)s\""
+msgstr "Terminer « %(book_title)s »"
+
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:22
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:20
#: bookwyrm/templates/snippets/readthrough_form.html:7
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:19
msgid "Started reading"
msgstr "Lecture commencée le"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:30
+#: bookwyrm/templates/snippets/readthrough_form.html:30
+msgid "Finished reading"
+msgstr "Lecture terminée le"
+
+#: bookwyrm/templates/snippets/reading_modals/form.html:8
+msgid "(Optional)"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+msgid "Update progress"
+msgstr "Progression de la mise à jour"
+
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
+#, python-format
+msgid "Start \"%(book_title)s\""
+msgstr "Commencer « %(book_title)s »"
+
+#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
+#, python-format
+msgid "Want to Read \"%(book_title)s\""
+msgstr "Ajouter « %(book_title)s » aux envies de lecture"
+
#: bookwyrm/templates/snippets/readthrough_form.html:14
msgid "Progress"
msgstr "Progression"
-#: bookwyrm/templates/snippets/readthrough_form.html:30
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25
-msgid "Finished reading"
-msgstr "Lecture terminée le"
-
#: bookwyrm/templates/snippets/register_form.html:32
msgid "Sign Up"
msgstr "S’enregistrer"
@@ -2783,16 +2802,6 @@ msgstr "Importer le livre"
msgid "Move book"
msgstr "Déplacer le livre"
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
-#, python-format
-msgid "Finish \"%(book_title)s\""
-msgstr "Terminer « %(book_title)s »"
-
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
-msgid "Update progress"
-msgstr "Progression de la mise à jour"
-
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
msgstr "Plus d’étagères"
@@ -2806,7 +2815,6 @@ msgid "Finish reading"
msgstr "Terminer la lecture"
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26
msgid "Want to read"
msgstr "Je veux le lire"
@@ -2815,16 +2823,6 @@ msgstr "Je veux le lire"
msgid "Remove from %(name)s"
msgstr "Retirer de %(name)s"
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
-#, python-format
-msgid "Start \"%(book_title)s\""
-msgstr "Commencer « %(book_title)s »"
-
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
-#, python-format
-msgid "Want to Read \"%(book_title)s\""
-msgstr "Ajouter « %(book_title)s » aux envies de lecture"
-
#: bookwyrm/templates/snippets/status/content_status.html:72
#: bookwyrm/templates/snippets/trimmed_text.html:17
msgid "Show more"
@@ -2862,13 +2860,13 @@ msgstr "Signalé par %(username)s"
msgid "rated %(book)s:"
msgstr "Créée par %(username)s"
-#: bookwyrm/templates/snippets/status/headers/read.html:5
+#: bookwyrm/templates/snippets/status/headers/read.html:7
#, fuzzy, python-format
#| msgid "Editions of \"%(work_title)s\""
msgid "finished reading %(book)s"
msgstr "Éditions de « %(work_title)s »"
-#: bookwyrm/templates/snippets/status/headers/reading.html:6
+#: bookwyrm/templates/snippets/status/headers/reading.html:7
#, fuzzy, python-format
#| msgid "Created by %(username)s"
msgid "started reading %(book)s"
@@ -2880,7 +2878,7 @@ msgstr "Créée par %(username)s"
msgid "reviewed %(book)s"
msgstr "Créée par %(username)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:6
+#: bookwyrm/templates/snippets/status/headers/to_read.html:7
#, fuzzy, python-format
#| msgid "replied to %(username)s's quote"
msgid "%(username)s wants to read %(book)s"
@@ -3195,6 +3193,11 @@ msgstr "Aucun compte avec cette adresse email n’a été trouvé."
msgid "A password reset link sent to %s"
msgstr "Un lien de réinitialisation a été envoyé à %s."
+#: bookwyrm/views/rss_feed.py:34
+#, python-brace-format
+msgid "Status updates from {obj.display_name}"
+msgstr ""
+
#~ msgid "Local Timeline"
#~ msgstr "Fil d’actualité local"
diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo
index dbe69686f..673939927 100644
Binary files a/locale/zh_Hans/LC_MESSAGES/django.mo and b/locale/zh_Hans/LC_MESSAGES/django.mo differ
diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po
index 547126495..75def3735 100644
--- a/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/locale/zh_Hans/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-13 02:21+0000\n"
+"POT-Creation-Date: 2021-08-16 21:26+0000\n"
"PO-Revision-Date: 2021-03-20 00:56+0000\n"
"Last-Translator: Kana \n"
"Language-Team: Mouse Reeve \n"
@@ -18,59 +18,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: bookwyrm/forms.py:232
+#: bookwyrm/forms.py:233
msgid "A user with this email already exists."
msgstr "已经存在使用该邮箱的用户。"
-#: bookwyrm/forms.py:246
+#: bookwyrm/forms.py:247
msgid "One Day"
msgstr "一天"
-#: bookwyrm/forms.py:247
+#: bookwyrm/forms.py:248
msgid "One Week"
msgstr "一周"
-#: bookwyrm/forms.py:248
+#: bookwyrm/forms.py:249
msgid "One Month"
msgstr "一个月"
-#: bookwyrm/forms.py:249
+#: bookwyrm/forms.py:250
msgid "Does Not Expire"
msgstr "永不失效"
-#: bookwyrm/forms.py:254
+#: bookwyrm/forms.py:255
#, python-format
msgid "%(count)d uses"
msgstr "%(count)d 次使用"
-#: bookwyrm/forms.py:257
+#: bookwyrm/forms.py:258
msgid "Unlimited"
msgstr "不受限"
-#: bookwyrm/forms.py:307
+#: bookwyrm/forms.py:308
msgid "List Order"
msgstr "列表顺序"
-#: bookwyrm/forms.py:308
+#: bookwyrm/forms.py:309
msgid "Book Title"
msgstr "书名"
-#: bookwyrm/forms.py:309
+#: bookwyrm/forms.py:310
#: bookwyrm/templates/snippets/create_status/review.html:25
#: bookwyrm/templates/user/shelf/shelf.html:85
#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr "评价"
-#: bookwyrm/forms.py:311 bookwyrm/templates/lists/list.html:107
+#: bookwyrm/forms.py:312 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr "排序方式"
-#: bookwyrm/forms.py:315
+#: bookwyrm/forms.py:316
msgid "Ascending"
msgstr "升序"
-#: bookwyrm/forms.py:316
+#: bookwyrm/forms.py:317
msgid "Descending"
msgstr "降序"
@@ -284,9 +284,8 @@ msgstr "Goodreads key:"
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:108
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/layout.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:42
#: bookwyrm/templates/user_admin/user_moderation_actions.html:45
msgid "Save"
msgstr "保存"
@@ -300,10 +299,7 @@ msgstr "保存"
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:43
msgid "Cancel"
msgstr "取消"
@@ -1791,8 +1787,9 @@ msgid "boosted your status"
msgstr "转发了你的 状态"
#: bookwyrm/templates/notifications.html:121
-#, python-format
-msgid " added %(book_title)s to your list “%(list_name)s”"
+#, fuzzy, python-format
+#| msgid " added %(book_title)s to your list “%(list_name)s”"
+msgid " added %(book_title)s to your list \"%(list_name)s\""
msgstr " 添加了 %(book_title)s 到你的列表 “%(list_name)s”"
#: bookwyrm/templates/notifications.html:123
@@ -2446,24 +2443,24 @@ msgid "Some thoughts on the book"
msgstr "对书的一些看法"
#: bookwyrm/templates/snippets/create_status/comment.html:26
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:16
msgid "Progress:"
msgstr "进度:"
#: bookwyrm/templates/snippets/create_status/comment.html:34
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:30
#: bookwyrm/templates/snippets/readthrough_form.html:22
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:30
msgid "pages"
msgstr "页数"
#: bookwyrm/templates/snippets/create_status/comment.html:35
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:31
#: bookwyrm/templates/snippets/readthrough_form.html:23
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31
msgid "percent"
msgstr "百分比"
#: bookwyrm/templates/snippets/create_status/comment.html:41
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:36
#, python-format
msgid "of %(pages)s pages"
msgstr "全书 %(pages)s 页"
@@ -2492,6 +2489,7 @@ msgid "Include spoiler alert"
msgstr "加入剧透警告"
#: bookwyrm/templates/snippets/create_status/layout.html:38
+#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "评论:"
@@ -2638,9 +2636,7 @@ msgid "Goal privacy:"
msgstr "目标隐私:"
#: bookwyrm/templates/snippets/goal_form.html:26
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:31
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20
+#: bookwyrm/templates/snippets/reading_modals/layout.html:13
msgid "Post to feed"
msgstr "发布到消息流中"
@@ -2715,21 +2711,45 @@ msgstr "留下评价"
msgid "Rate"
msgstr "评价"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6
+#, python-format
+msgid "Finish \"%(book_title)s\""
+msgstr "完成《%(book_title)s》"
+
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:22
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:20
#: bookwyrm/templates/snippets/readthrough_form.html:7
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:19
msgid "Started reading"
msgstr "已开始阅读"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:30
+#: bookwyrm/templates/snippets/readthrough_form.html:30
+msgid "Finished reading"
+msgstr "已完成阅读"
+
+#: bookwyrm/templates/snippets/reading_modals/form.html:8
+msgid "(Optional)"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+msgid "Update progress"
+msgstr "更新进度"
+
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
+#, python-format
+msgid "Start \"%(book_title)s\""
+msgstr "开始《%(book_title)s》"
+
+#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
+#, python-format
+msgid "Want to Read \"%(book_title)s\""
+msgstr "想要阅读《%(book_title)s》"
+
#: bookwyrm/templates/snippets/readthrough_form.html:14
msgid "Progress"
msgstr "进度"
-#: bookwyrm/templates/snippets/readthrough_form.html:30
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25
-msgid "Finished reading"
-msgstr "已完成阅读"
-
#: bookwyrm/templates/snippets/register_form.html:32
msgid "Sign Up"
msgstr "注册"
@@ -2746,16 +2766,6 @@ msgstr "导入书目"
msgid "Move book"
msgstr "移动书目"
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
-#, python-format
-msgid "Finish \"%(book_title)s\""
-msgstr "完成《%(book_title)s》"
-
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
-msgid "Update progress"
-msgstr "更新进度"
-
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
msgstr "更多书架"
@@ -2769,7 +2779,6 @@ msgid "Finish reading"
msgstr "完成阅读"
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26
msgid "Want to read"
msgstr "想要阅读"
@@ -2778,16 +2787,6 @@ msgstr "想要阅读"
msgid "Remove from %(name)s"
msgstr "从 %(name)s 移除"
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
-#, python-format
-msgid "Start \"%(book_title)s\""
-msgstr "开始《%(book_title)s》"
-
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
-#, python-format
-msgid "Want to Read \"%(book_title)s\""
-msgstr "想要阅读《%(book_title)s》"
-
#: bookwyrm/templates/snippets/status/content_status.html:72
#: bookwyrm/templates/snippets/trimmed_text.html:17
msgid "Show more"
@@ -2814,7 +2813,6 @@ msgstr "回复了 %(username)s 的 %(username)s"
msgid "quoted %(book)s"
msgstr "引用了 %(book)s"
@@ -2823,12 +2821,12 @@ msgstr "引用了 %(book)s"
msgid "rated %(book)s:"
msgstr "为 %(book)s 打了分:"
-#: bookwyrm/templates/snippets/status/headers/read.html:5
+#: bookwyrm/templates/snippets/status/headers/read.html:7
#, python-format
msgid "finished reading %(book)s"
msgstr "完成阅读 %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:6
+#: bookwyrm/templates/snippets/status/headers/reading.html:7
#, python-format
msgid "started reading %(book)s"
msgstr "开始阅读 %(book)s"
@@ -2838,7 +2836,7 @@ msgstr "开始阅读 %(book)s"
msgid "reviewed %(book)s"
msgstr "为 %(book)s 撰写了书评"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:6
+#: bookwyrm/templates/snippets/status/headers/to_read.html:7
#, python-format
msgid "%(username)s wants to read %(book)s"
msgstr "%(username)s 想要阅读 %(book)s"
@@ -3143,6 +3141,11 @@ msgstr "没有找到使用该邮箱的用户。"
msgid "A password reset link sent to %s"
msgstr "密码重置连接已发送给 %s"
+#: bookwyrm/views/rss_feed.py:34
+#, python-brace-format
+msgid "Status updates from {obj.display_name}"
+msgstr ""
+
#~ msgid "Local Timeline"
#~ msgstr "本地时间线"
diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po
index 70caf596e..2a39f3887 100644
--- a/locale/zh_Hant/LC_MESSAGES/django.po
+++ b/locale/zh_Hant/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-13 02:21+0000\n"
+"POT-Creation-Date: 2021-08-16 21:26+0000\n"
"PO-Revision-Date: 2021-06-30 10:36+0000\n"
"Last-Translator: Grace Cheng \n"
"Language-Team: LANGUAGE \n"
@@ -18,59 +18,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: bookwyrm/forms.py:232
+#: bookwyrm/forms.py:233
msgid "A user with this email already exists."
msgstr "已經存在使用該郵箱的使用者。"
-#: bookwyrm/forms.py:246
+#: bookwyrm/forms.py:247
msgid "One Day"
msgstr "一天"
-#: bookwyrm/forms.py:247
+#: bookwyrm/forms.py:248
msgid "One Week"
msgstr "一週"
-#: bookwyrm/forms.py:248
+#: bookwyrm/forms.py:249
msgid "One Month"
msgstr "一個月"
-#: bookwyrm/forms.py:249
+#: bookwyrm/forms.py:250
msgid "Does Not Expire"
msgstr "永不失效"
-#: bookwyrm/forms.py:254
+#: bookwyrm/forms.py:255
#, python-format
msgid "%(count)d uses"
msgstr "%(count)d 次使用"
-#: bookwyrm/forms.py:257
+#: bookwyrm/forms.py:258
msgid "Unlimited"
msgstr "不受限"
-#: bookwyrm/forms.py:307
+#: bookwyrm/forms.py:308
msgid "List Order"
msgstr "列表順序"
-#: bookwyrm/forms.py:308
+#: bookwyrm/forms.py:309
msgid "Book Title"
msgstr "書名"
-#: bookwyrm/forms.py:309
+#: bookwyrm/forms.py:310
#: bookwyrm/templates/snippets/create_status/review.html:25
#: bookwyrm/templates/user/shelf/shelf.html:85
#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr "評價"
-#: bookwyrm/forms.py:311 bookwyrm/templates/lists/list.html:107
+#: bookwyrm/forms.py:312 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr "排序方式"
-#: bookwyrm/forms.py:315
+#: bookwyrm/forms.py:316
msgid "Ascending"
msgstr "升序"
-#: bookwyrm/forms.py:316
+#: bookwyrm/forms.py:317
msgid "Descending"
msgstr "降序"
@@ -290,9 +290,8 @@ msgstr "Goodreads key:"
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:108
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/layout.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:42
#: bookwyrm/templates/user_admin/user_moderation_actions.html:45
msgid "Save"
msgstr "儲存"
@@ -306,10 +305,7 @@ msgstr "儲存"
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:43
msgid "Cancel"
msgstr "取消"
@@ -2487,24 +2483,24 @@ msgid "Some thoughts on the book"
msgstr ""
#: bookwyrm/templates/snippets/create_status/comment.html:26
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:16
msgid "Progress:"
msgstr "進度:"
#: bookwyrm/templates/snippets/create_status/comment.html:34
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:30
#: bookwyrm/templates/snippets/readthrough_form.html:22
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:30
msgid "pages"
msgstr "頁數"
#: bookwyrm/templates/snippets/create_status/comment.html:35
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:31
#: bookwyrm/templates/snippets/readthrough_form.html:23
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31
msgid "percent"
msgstr "百分比"
#: bookwyrm/templates/snippets/create_status/comment.html:41
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:36
#, python-format
msgid "of %(pages)s pages"
msgstr "全書 %(pages)s 頁"
@@ -2533,6 +2529,7 @@ msgid "Include spoiler alert"
msgstr "加入劇透警告"
#: bookwyrm/templates/snippets/create_status/layout.html:38
+#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "評論:"
@@ -2685,9 +2682,7 @@ msgid "Goal privacy:"
msgstr "目標隱私:"
#: bookwyrm/templates/snippets/goal_form.html:26
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:31
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20
+#: bookwyrm/templates/snippets/reading_modals/layout.html:13
msgid "Post to feed"
msgstr "發佈到即時動態"
@@ -2762,21 +2757,45 @@ msgstr "留下評價"
msgid "Rate"
msgstr "評價"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6
+#, python-format
+msgid "Finish \"%(book_title)s\""
+msgstr "完成 \"%(book_title)s\""
+
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:22
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:20
#: bookwyrm/templates/snippets/readthrough_form.html:7
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:19
msgid "Started reading"
msgstr "已開始閱讀"
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:30
+#: bookwyrm/templates/snippets/readthrough_form.html:30
+msgid "Finished reading"
+msgstr "已完成閱讀"
+
+#: bookwyrm/templates/snippets/reading_modals/form.html:8
+msgid "(Optional)"
+msgstr ""
+
+#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+msgid "Update progress"
+msgstr "更新進度"
+
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
+#, python-format
+msgid "Start \"%(book_title)s\""
+msgstr "開始 \"%(book_title)s\""
+
+#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6
+#, python-format
+msgid "Want to Read \"%(book_title)s\""
+msgstr "想要閱讀 \"%(book_title)s\""
+
#: bookwyrm/templates/snippets/readthrough_form.html:14
msgid "Progress"
msgstr "進度"
-#: bookwyrm/templates/snippets/readthrough_form.html:30
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25
-msgid "Finished reading"
-msgstr "已完成閱讀"
-
#: bookwyrm/templates/snippets/register_form.html:32
msgid "Sign Up"
msgstr "註冊"
@@ -2793,16 +2812,6 @@ msgstr "匯入書目"
msgid "Move book"
msgstr "移動書目"
-#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
-#, python-format
-msgid "Finish \"%(book_title)s\""
-msgstr "完成 \"%(book_title)s\""
-
-#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
-msgid "Update progress"
-msgstr "更新進度"
-
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
msgstr "更多書架"
@@ -2816,7 +2825,6 @@ msgid "Finish reading"
msgstr "完成閱讀"
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26
msgid "Want to read"
msgstr "想要閱讀"
@@ -2825,16 +2833,6 @@ msgstr "想要閱讀"
msgid "Remove from %(name)s"
msgstr "從 %(name)s 移除"
-#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
-#, python-format
-msgid "Start \"%(book_title)s\""
-msgstr "開始 \"%(book_title)s\""
-
-#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
-#, python-format
-msgid "Want to Read \"%(book_title)s\""
-msgstr "想要閱讀 \"%(book_title)s\""
-
#: bookwyrm/templates/snippets/status/content_status.html:72
#: bookwyrm/templates/snippets/trimmed_text.html:17
msgid "Show more"
@@ -2872,13 +2870,13 @@ msgstr "移除 %(name)s"
msgid "rated %(book)s:"
msgstr "由 %(username)s 建立"
-#: bookwyrm/templates/snippets/status/headers/read.html:5
+#: bookwyrm/templates/snippets/status/headers/read.html:7
#, fuzzy, python-format
#| msgid "Editions of \"%(work_title)s\""
msgid "finished reading %(book)s"
msgstr "\"%(work_title)s\" 的各版本"
-#: bookwyrm/templates/snippets/status/headers/reading.html:6
+#: bookwyrm/templates/snippets/status/headers/reading.html:7
#, fuzzy, python-format
#| msgid "Created by %(username)s"
msgid "started reading %(book)s"
@@ -2890,7 +2888,7 @@ msgstr "由 %(username)s 建立"
msgid "reviewed %(book)s"
msgstr "移除 %(name)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:6
+#: bookwyrm/templates/snippets/status/headers/to_read.html:7
#, fuzzy, python-format
#| msgid "replied to %(username)s's status"
msgid "%(username)s wants to read %(book)s"
@@ -3201,6 +3199,11 @@ msgstr "沒有找到使用該郵箱的使用者。"
msgid "A password reset link sent to %s"
msgstr "密碼重置連結已傳送給 %s"
+#: bookwyrm/views/rss_feed.py:34
+#, python-brace-format
+msgid "Status updates from {obj.display_name}"
+msgstr ""
+
#~ msgid "Local Timeline"
#~ msgstr "本地時間線"