From 867a33de5731bb79a43d0824c7c7967fbf192c47 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 16:32:24 -0700 Subject: [PATCH 01/36] Creates author template dir --- bookwyrm/templates/{ => author}/author.html | 0 bookwyrm/templates/{ => author}/edit_author.html | 0 bookwyrm/views/author.py | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) rename bookwyrm/templates/{ => author}/author.html (100%) rename bookwyrm/templates/{ => author}/edit_author.html (100%) diff --git a/bookwyrm/templates/author.html b/bookwyrm/templates/author/author.html similarity index 100% rename from bookwyrm/templates/author.html rename to bookwyrm/templates/author/author.html diff --git a/bookwyrm/templates/edit_author.html b/bookwyrm/templates/author/edit_author.html similarity index 100% rename from bookwyrm/templates/edit_author.html rename to bookwyrm/templates/author/edit_author.html diff --git a/bookwyrm/views/author.py b/bookwyrm/views/author.py index 41298161c..e51dc7d83 100644 --- a/bookwyrm/views/author.py +++ b/bookwyrm/views/author.py @@ -29,7 +29,7 @@ class Author(View): "author": author, "books": [b.default_edition for b in books], } - return TemplateResponse(request, "author.html", data) + return TemplateResponse(request, "author/author.html", data) @method_decorator(login_required, name="dispatch") @@ -43,7 +43,7 @@ class EditAuthor(View): """info about a book""" author = get_object_or_404(models.Author, id=author_id) data = {"author": author, "form": forms.AuthorForm(instance=author)} - return TemplateResponse(request, "edit_author.html", data) + return TemplateResponse(request, "author/edit_author.html", data) def post(self, request, author_id): """edit a author cool""" @@ -52,7 +52,7 @@ class EditAuthor(View): form = forms.AuthorForm(request.POST, request.FILES, instance=author) if not form.is_valid(): data = {"author": author, "form": form} - return TemplateResponse(request, "edit_author.html", data) + return TemplateResponse(request, "author/edit_author.html", data) author = form.save() return redirect("/author/%s" % author.id) From 9bfe4f4e91f3c34858eb887b1df78dd3afc4c036 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 16:43:40 -0700 Subject: [PATCH 02/36] Uses a different snippet for previewing books on author page --- bookwyrm/templates/author/author.html | 9 +++++++-- bookwyrm/templates/snippets/book_tiles.html | 16 ---------------- 2 files changed, 7 insertions(+), 18 deletions(-) delete mode 100644 bookwyrm/templates/snippets/book_tiles.html diff --git a/bookwyrm/templates/author/author.html b/bookwyrm/templates/author/author.html index a7ea9db56..c7fdea0e0 100644 --- a/bookwyrm/templates/author/author.html +++ b/bookwyrm/templates/author/author.html @@ -34,7 +34,12 @@

{% blocktrans with name=author.name %}Books by {{ name }}{% endblocktrans %}

- {% include 'snippets/book_tiles.html' with books=books %} +
+ {% for book in books %} +
+ {% include 'discover/small-book.html' with book=book %} +
+ {% endfor %} +
{% endblock %} - diff --git a/bookwyrm/templates/snippets/book_tiles.html b/bookwyrm/templates/snippets/book_tiles.html deleted file mode 100644 index 25249c96c..000000000 --- a/bookwyrm/templates/snippets/book_tiles.html +++ /dev/null @@ -1,16 +0,0 @@ -
- {% for book in books %} -
-
- - - {% include 'snippets/shelve_button/shelve_button.html' with book=book switch_mode=True %} -
-
- {% endfor %} -
- From 443109bac3d072cf0626f98fe3ca719c390d4271 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 17:06:22 -0700 Subject: [PATCH 03/36] Adds aliases and inventaire id to edit author form Plus consolidates some wording --- bookwyrm/templates/author/edit_author.html | 36 +++++++++++++++++----- bookwyrm/templates/book/edit_book.html | 4 +-- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/bookwyrm/templates/author/edit_author.html b/bookwyrm/templates/author/edit_author.html index b575bbb2f..010d36efc 100644 --- a/bookwyrm/templates/author/edit_author.html +++ b/bookwyrm/templates/author/edit_author.html @@ -29,44 +29,64 @@

{% trans "Metadata" %}

-

{{ form.name }}

+

{{ form.name }}

{% for error in form.name.errors %}

{{ error | escape }}

{% endfor %} -

{{ form.bio }}

+

+ + {{ form.aliases }} + {% trans "Separate multiple values with commas." %} +

+ {% for error in form.aliases.errors %} +

{{ error | escape }}

+ {% endfor %} + +

{{ form.bio }}

{% for error in form.bio.errors %}

{{ error | escape }}

{% endfor %} -

{{ form.wikipedia_link }}

+

{{ form.wikipedia_link }}

{% for error in form.wikipedia_link.errors %}

{{ error | escape }}

{% endfor %} -

{{ form.born }}

+

+ + +

{% for error in form.born.errors %}

{{ error | escape }}

{% endfor %} -

{{ form.died }}

+

+ + +

{% for error in form.died.errors %}

{{ error | escape }}

{% endfor %}

{% trans "Author Identifiers" %}

-

{{ form.openlibrary_key }}

+

{{ form.openlibrary_key }}

{% for error in form.openlibrary_key.errors %}

{{ error | escape }}

{% endfor %} -

{{ form.librarything_key }}

+

{{ form.inventaire_id }}

+ {% for error in form.inventaire_id.errors %} +

{{ error | escape }}

+ {% endfor %} + +

{{ form.librarything_key }}

{% for error in form.librarything_key.errors %}

{{ error | escape }}

{% endfor %} -

{{ form.goodreads_key }}

+

{{ form.goodreads_key }}

{% for error in form.goodreads_key.errors %}

{{ error | escape }}

{% endfor %} diff --git a/bookwyrm/templates/book/edit_book.html b/bookwyrm/templates/book/edit_book.html index bcf111267..a230e290c 100644 --- a/bookwyrm/templates/book/edit_book.html +++ b/bookwyrm/templates/book/edit_book.html @@ -125,7 +125,7 @@

{{ form.publishers }} - {% trans "Separate multiple publishers with commas." %} + {% trans "Separate multiple values with commas." %}

{% for error in form.publishers.errors %}

{{ error | escape }}

@@ -162,7 +162,7 @@ {% endif %} -

Separate multiple author names with commas.

+ {% trans "Separate multiple values with commas." %}
From 4c99fd7f12beb61e476786ce9f414038c678e8f6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 17:24:10 -0700 Subject: [PATCH 04/36] Adds metadata to author view --- bookwyrm/templates/author/author.html | 51 +++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/bookwyrm/templates/author/author.html b/bookwyrm/templates/author/author.html index c7fdea0e0..d342da47c 100644 --- a/bookwyrm/templates/author/author.html +++ b/bookwyrm/templates/author/author.html @@ -1,6 +1,7 @@ {% extends 'layout.html' %} {% load i18n %} {% load bookwyrm_tags %} +{% load humanize %} {% block title %}{{ author.name }}{% endblock %} @@ -22,14 +23,52 @@
-
- {% if author.bio %} - {{ author.bio | to_markdown | safe }} - {% endif %} +
+ {% if author.aliases or author.born or author.died or author.wikipedia_link %} +
+
+
+ {% if author.aliases %} +
+
{% trans "Aliases:" %}
+
{{ author.aliases|join:', ' }}
+
+ {% endif %} + {% if author.born %} +
+
{% trans "Born:" %}
+
{{ author.born|naturalday }}
+
+ {% endif %} + {% if author.aliases %} +
+
{% trans "Died:" %}
+
{{ author.died|naturalday }}
+
+ {% endif %} +
- {% if author.wikipedia_link %} -

{% trans "Wikipedia" %}

+ {% if author.wikipedia_link %} +

{% trans "Wikipedia" %}

+ {% endif %} + {% if author.openlibrary_key %} +

+ {% trans "View on OpenLibrary" %} +

+ {% endif %} + {% if author.inventaire_id %} +

+ {% trans "View on Inventaire" %} +

+ {% endif %} +
+
{% endif %} +
+ {% if author.bio %} + {{ author.bio | to_markdown | safe }} + {% endif %} +
From 6dae4ebd6f9fc2289af21d19f614fd2f72d7b4c8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 17:44:19 -0700 Subject: [PATCH 05/36] Splits list tests into two files and adds user list page tests --- bookwyrm/tests/views/test_list.py | 532 ++++------------------ bookwyrm/tests/views/test_list_actions.py | 529 +++++++++++++++++++++ 2 files changed, 606 insertions(+), 455 deletions(-) create mode 100644 bookwyrm/tests/views/test_list_actions.py diff --git a/bookwyrm/tests/views/test_list.py b/bookwyrm/tests/views/test_list.py index 3de35b1ed..d767e2b9d 100644 --- a/bookwyrm/tests/views/test_list.py +++ b/bookwyrm/tests/views/test_list.py @@ -122,6 +122,14 @@ class ListViews(TestCase): view = views.List.as_view() request = self.factory.get("") request.user = self.local_user + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=True, + order=1, + ) with patch("bookwyrm.views.list.is_api_request") as is_api: is_api.return_value = False @@ -130,6 +138,32 @@ class ListViews(TestCase): result.render() self.assertEqual(result.status_code, 200) + def test_list_page_empty(self): + """there are so many views, this just makes sure it LOADS""" + view = views.List.as_view() + request = self.factory.get("") + request.user = self.local_user + + with patch("bookwyrm.views.list.is_api_request") as is_api: + is_api.return_value = False + result = view(request, self.list.id) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) + + def test_list_page_logged_out(self): + """there are so many views, this just makes sure it LOADS""" + view = views.List.as_view() + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=True, + order=1, + ) + + request = self.factory.get("") request.user = self.anonymous_user with patch("bookwyrm.views.list.is_api_request") as is_api: is_api.return_value = False @@ -138,12 +172,32 @@ class ListViews(TestCase): result.render() self.assertEqual(result.status_code, 200) + def test_list_page_json_view(self): + """there are so many views, this just makes sure it LOADS""" + view = views.List.as_view() + request = self.factory.get("") + request.user = self.local_user + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=True, + order=1, + ) + with patch("bookwyrm.views.list.is_api_request") as is_api: is_api.return_value = True result = view(request, self.list.id) self.assertIsInstance(result, ActivitypubResponse) self.assertEqual(result.status_code, 200) + def test_list_page_json_view_page(self): + """there are so many views, this just makes sure it LOADS""" + view = views.List.as_view() + request = self.factory.get("") + request.user = self.local_user + request = self.factory.get("/?page=1") request.user = self.local_user with patch("bookwyrm.views.list.is_api_request") as is_api: @@ -204,466 +258,34 @@ class ListViews(TestCase): result = view(request, self.list.id) self.assertEqual(result.status_code, 302) - def test_curate_approve(self): - """approve a pending item""" - view = views.Curate.as_view() + def test_user_lists_page(self): + """there are so many views, this just makes sure it LOADS""" + view = views.UserLists.as_view() with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - pending = models.ListItem.objects.create( - book_list=self.list, - user=self.local_user, - book=self.book, - approved=False, - order=1, + models.List.objects.create(name="Public list", user=self.local_user) + models.List.objects.create( + name="Private list", privacy="direct", user=self.local_user ) - - request = self.factory.post( - "", - { - "item": pending.id, - "approved": "true", - }, - ) + request = self.factory.get("") request.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: - view(request, self.list.id) + result = view(request, self.local_user.localname) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) - self.assertEqual(mock.call_count, 2) - activity = json.loads(mock.call_args[0][1]) - self.assertEqual(activity["type"], "Add") - self.assertEqual(activity["actor"], self.local_user.remote_id) - self.assertEqual(activity["target"], self.list.remote_id) - - pending.refresh_from_db() - self.assertEqual(self.list.books.count(), 1) - self.assertEqual(self.list.listitem_set.first(), pending) - self.assertTrue(pending.approved) - - def test_curate_reject(self): - """approve a pending item""" - view = views.Curate.as_view() + def test_user_lists_page_logged_out(self): + """there are so many views, this just makes sure it LOADS""" + view = views.UserLists.as_view() with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - pending = models.ListItem.objects.create( - book_list=self.list, - user=self.local_user, - book=self.book, - approved=False, - order=1, + models.List.objects.create(name="Public list", user=self.local_user) + models.List.objects.create( + name="Private list", privacy="direct", user=self.local_user ) + request = self.factory.get("") + request.user = self.anonymous_user - request = self.factory.post( - "", - { - "item": pending.id, - "approved": "false", - }, - ) - request.user = self.local_user - - view(request, self.list.id) - - self.assertFalse(self.list.books.exists()) - self.assertFalse(models.ListItem.objects.exists()) - - def test_add_book(self): - """put a book on a list""" - request = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request.user = self.local_user - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: - views.list.add_book(request) - self.assertEqual(mock.call_count, 1) - activity = json.loads(mock.call_args[0][1]) - self.assertEqual(activity["type"], "Add") - self.assertEqual(activity["actor"], self.local_user.remote_id) - self.assertEqual(activity["target"], self.list.remote_id) - - item = self.list.listitem_set.get() - self.assertEqual(item.book, self.book) - self.assertEqual(item.user, self.local_user) - self.assertTrue(item.approved) - - def test_add_two_books(self): - """ - Putting two books on the list. The first should have an order value of - 1 and the second should have an order value of 2. - """ - request_one = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request_one.user = self.local_user - - request_two = self.factory.post( - "", - { - "book": self.book_two.id, - "list": self.list.id, - }, - ) - request_two.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - views.list.add_book(request_one) - views.list.add_book(request_two) - - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book) - self.assertEqual(items[1].book, self.book_two) - self.assertEqual(items[0].order, 1) - self.assertEqual(items[1].order, 2) - - def test_add_three_books_and_remove_second(self): - """ - Put three books on a list and then remove the one in the middle. The - ordering of the list should adjust to not have a gap. - """ - request_one = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request_one.user = self.local_user - - request_two = self.factory.post( - "", - { - "book": self.book_two.id, - "list": self.list.id, - }, - ) - request_two.user = self.local_user - - request_three = self.factory.post( - "", - { - "book": self.book_three.id, - "list": self.list.id, - }, - ) - request_three.user = self.local_user - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - views.list.add_book(request_one) - views.list.add_book(request_two) - views.list.add_book(request_three) - - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book) - self.assertEqual(items[1].book, self.book_two) - self.assertEqual(items[2].book, self.book_three) - self.assertEqual(items[0].order, 1) - self.assertEqual(items[1].order, 2) - self.assertEqual(items[2].order, 3) - - remove_request = self.factory.post("", {"item": items[1].id}) - remove_request.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - views.list.remove_book(remove_request, self.list.id) - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book) - self.assertEqual(items[1].book, self.book_three) - self.assertEqual(items[0].order, 1) - self.assertEqual(items[1].order, 2) - - def test_adding_book_with_a_pending_book(self): - """ - When a list contains any pending books, the pending books should have - be at the end of the list by order. If a book is added while a book is - pending, its order should precede the pending books. - """ - request = self.factory.post( - "", - { - "book": self.book_three.id, - "list": self.list.id, - }, - ) - request.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - models.ListItem.objects.create( - book_list=self.list, - user=self.local_user, - book=self.book, - approved=True, - order=1, - ) - models.ListItem.objects.create( - book_list=self.list, - user=self.rat, - book=self.book_two, - approved=False, - order=2, - ) - views.list.add_book(request) - - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book) - self.assertEqual(items[0].order, 1) - self.assertTrue(items[0].approved) - - self.assertEqual(items[1].book, self.book_three) - self.assertEqual(items[1].order, 2) - self.assertTrue(items[1].approved) - - self.assertEqual(items[2].book, self.book_two) - self.assertEqual(items[2].order, 3) - self.assertFalse(items[2].approved) - - def test_approving_one_pending_book_from_multiple(self): - """ - When a list contains any pending books, the pending books should have - be at the end of the list by order. If a pending book is approved, then - its order should be at the end of the approved books and before the - remaining pending books. - """ - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - models.ListItem.objects.create( - book_list=self.list, - user=self.local_user, - book=self.book, - approved=True, - order=1, - ) - models.ListItem.objects.create( - book_list=self.list, - user=self.local_user, - book=self.book_two, - approved=True, - order=2, - ) - models.ListItem.objects.create( - book_list=self.list, - user=self.rat, - book=self.book_three, - approved=False, - order=3, - ) - to_be_approved = models.ListItem.objects.create( - book_list=self.list, - user=self.rat, - book=self.book_four, - approved=False, - order=4, - ) - - view = views.Curate.as_view() - request = self.factory.post( - "", - { - "item": to_be_approved.id, - "approved": "true", - }, - ) - request.user = self.local_user - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - view(request, self.list.id) - - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book) - self.assertEqual(items[0].order, 1) - self.assertTrue(items[0].approved) - - self.assertEqual(items[1].book, self.book_two) - self.assertEqual(items[1].order, 2) - self.assertTrue(items[1].approved) - - self.assertEqual(items[2].book, self.book_four) - self.assertEqual(items[2].order, 3) - self.assertTrue(items[2].approved) - - self.assertEqual(items[3].book, self.book_three) - self.assertEqual(items[3].order, 4) - self.assertFalse(items[3].approved) - - def test_add_three_books_and_move_last_to_first(self): - """ - Put three books on the list and move the last book to the first - position. - """ - request_one = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request_one.user = self.local_user - - request_two = self.factory.post( - "", - { - "book": self.book_two.id, - "list": self.list.id, - }, - ) - request_two.user = self.local_user - - request_three = self.factory.post( - "", - { - "book": self.book_three.id, - "list": self.list.id, - }, - ) - request_three.user = self.local_user - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - views.list.add_book(request_one) - views.list.add_book(request_two) - views.list.add_book(request_three) - - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book) - self.assertEqual(items[1].book, self.book_two) - self.assertEqual(items[2].book, self.book_three) - self.assertEqual(items[0].order, 1) - self.assertEqual(items[1].order, 2) - self.assertEqual(items[2].order, 3) - - set_position_request = self.factory.post("", {"position": 1}) - set_position_request.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - views.list.set_book_position(set_position_request, items[2].id) - items = self.list.listitem_set.order_by("order").all() - self.assertEqual(items[0].book, self.book_three) - self.assertEqual(items[1].book, self.book) - self.assertEqual(items[2].book, self.book_two) - self.assertEqual(items[0].order, 1) - self.assertEqual(items[1].order, 2) - self.assertEqual(items[2].order, 3) - - def test_add_book_outsider(self): - """put a book on a list""" - self.list.curation = "open" - self.list.save(broadcast=False) - request = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request.user = self.rat - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: - views.list.add_book(request) - self.assertEqual(mock.call_count, 1) - activity = json.loads(mock.call_args[0][1]) - self.assertEqual(activity["type"], "Add") - self.assertEqual(activity["actor"], self.rat.remote_id) - self.assertEqual(activity["target"], self.list.remote_id) - - item = self.list.listitem_set.get() - self.assertEqual(item.book, self.book) - self.assertEqual(item.user, self.rat) - self.assertTrue(item.approved) - - def test_add_book_pending(self): - """put a book on a list awaiting approval""" - self.list.curation = "curated" - self.list.save(broadcast=False) - request = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request.user = self.rat - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: - views.list.add_book(request) - - self.assertEqual(mock.call_count, 1) - activity = json.loads(mock.call_args[0][1]) - - self.assertEqual(activity["type"], "Add") - self.assertEqual(activity["actor"], self.rat.remote_id) - self.assertEqual(activity["target"], self.list.remote_id) - - item = self.list.listitem_set.get() - self.assertEqual(activity["object"]["id"], item.remote_id) - - self.assertEqual(item.book, self.book) - self.assertEqual(item.user, self.rat) - self.assertFalse(item.approved) - - def test_add_book_self_curated(self): - """put a book on a list automatically approved""" - self.list.curation = "curated" - self.list.save(broadcast=False) - request = self.factory.post( - "", - { - "book": self.book.id, - "list": self.list.id, - }, - ) - request.user = self.local_user - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: - views.list.add_book(request) - self.assertEqual(mock.call_count, 1) - activity = json.loads(mock.call_args[0][1]) - self.assertEqual(activity["type"], "Add") - self.assertEqual(activity["actor"], self.local_user.remote_id) - self.assertEqual(activity["target"], self.list.remote_id) - - item = self.list.listitem_set.get() - self.assertEqual(item.book, self.book) - self.assertEqual(item.user, self.local_user) - self.assertTrue(item.approved) - - def test_remove_book(self): - """take an item off a list""" - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - item = models.ListItem.objects.create( - book_list=self.list, - user=self.local_user, - book=self.book, - order=1, - ) - self.assertTrue(self.list.listitem_set.exists()) - - request = self.factory.post( - "", - { - "item": item.id, - }, - ) - request.user = self.local_user - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - views.list.remove_book(request, self.list.id) - self.assertFalse(self.list.listitem_set.exists()) - - def test_remove_book_unauthorized(self): - """take an item off a list""" - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - item = models.ListItem.objects.create( - book_list=self.list, user=self.local_user, book=self.book, order=1 - ) - self.assertTrue(self.list.listitem_set.exists()) - request = self.factory.post( - "", - { - "item": item.id, - }, - ) - request.user = self.rat - - views.list.remove_book(request, self.list.id) - self.assertTrue(self.list.listitem_set.exists()) + result = view(request, self.local_user.username) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) diff --git a/bookwyrm/tests/views/test_list_actions.py b/bookwyrm/tests/views/test_list_actions.py new file mode 100644 index 000000000..30c44a2cb --- /dev/null +++ b/bookwyrm/tests/views/test_list_actions.py @@ -0,0 +1,529 @@ +""" test for app action functionality """ +import json +from unittest.mock import patch + +from django.contrib.auth.models import AnonymousUser +from django.test import TestCase +from django.test.client import RequestFactory + +from bookwyrm import models, views + +# pylint: disable=unused-argument +class ListActionViews(TestCase): + """tag views""" + + def setUp(self): + """we need basic test data and mocks""" + self.factory = RequestFactory() + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + ) + work = models.Work.objects.create(title="Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) + work_two = models.Work.objects.create(title="Labori") + self.book_two = models.Edition.objects.create( + title="Example Edition 2", + remote_id="https://example.com/book/2", + parent_work=work_two, + ) + work_three = models.Work.objects.create(title="Trabajar") + self.book_three = models.Edition.objects.create( + title="Example Edition 3", + remote_id="https://example.com/book/3", + parent_work=work_three, + ) + work_four = models.Work.objects.create(title="Travailler") + self.book_four = models.Edition.objects.create( + title="Example Edition 4", + remote_id="https://example.com/book/4", + parent_work=work_four, + ) + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + self.list = models.List.objects.create( + name="Test List", user=self.local_user + ) + self.anonymous_user = AnonymousUser + self.anonymous_user.is_authenticated = False + models.SiteSettings.objects.create() + + def test_curate_approve(self): + """approve a pending item""" + view = views.Curate.as_view() + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + pending = models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=False, + order=1, + ) + + request = self.factory.post( + "", + { + "item": pending.id, + "approved": "true", + }, + ) + request.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: + view(request, self.list.id) + + self.assertEqual(mock.call_count, 2) + activity = json.loads(mock.call_args[0][1]) + self.assertEqual(activity["type"], "Add") + self.assertEqual(activity["actor"], self.local_user.remote_id) + self.assertEqual(activity["target"], self.list.remote_id) + + pending.refresh_from_db() + self.assertEqual(self.list.books.count(), 1) + self.assertEqual(self.list.listitem_set.first(), pending) + self.assertTrue(pending.approved) + + def test_curate_reject(self): + """approve a pending item""" + view = views.Curate.as_view() + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + pending = models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=False, + order=1, + ) + + request = self.factory.post( + "", + { + "item": pending.id, + "approved": "false", + }, + ) + request.user = self.local_user + + view(request, self.list.id) + + self.assertFalse(self.list.books.exists()) + self.assertFalse(models.ListItem.objects.exists()) + + def test_add_book(self): + """put a book on a list""" + request = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: + views.list.add_book(request) + self.assertEqual(mock.call_count, 1) + activity = json.loads(mock.call_args[0][1]) + self.assertEqual(activity["type"], "Add") + self.assertEqual(activity["actor"], self.local_user.remote_id) + self.assertEqual(activity["target"], self.list.remote_id) + + item = self.list.listitem_set.get() + self.assertEqual(item.book, self.book) + self.assertEqual(item.user, self.local_user) + self.assertTrue(item.approved) + + def test_add_two_books(self): + """ + Putting two books on the list. The first should have an order value of + 1 and the second should have an order value of 2. + """ + request_one = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request_one.user = self.local_user + + request_two = self.factory.post( + "", + { + "book": self.book_two.id, + "list": self.list.id, + }, + ) + request_two.user = self.local_user + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.list.add_book(request_one) + views.list.add_book(request_two) + + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book) + self.assertEqual(items[1].book, self.book_two) + self.assertEqual(items[0].order, 1) + self.assertEqual(items[1].order, 2) + + def test_add_three_books_and_remove_second(self): + """ + Put three books on a list and then remove the one in the middle. The + ordering of the list should adjust to not have a gap. + """ + request_one = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request_one.user = self.local_user + + request_two = self.factory.post( + "", + { + "book": self.book_two.id, + "list": self.list.id, + }, + ) + request_two.user = self.local_user + + request_three = self.factory.post( + "", + { + "book": self.book_three.id, + "list": self.list.id, + }, + ) + request_three.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.list.add_book(request_one) + views.list.add_book(request_two) + views.list.add_book(request_three) + + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book) + self.assertEqual(items[1].book, self.book_two) + self.assertEqual(items[2].book, self.book_three) + self.assertEqual(items[0].order, 1) + self.assertEqual(items[1].order, 2) + self.assertEqual(items[2].order, 3) + + remove_request = self.factory.post("", {"item": items[1].id}) + remove_request.user = self.local_user + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.list.remove_book(remove_request, self.list.id) + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book) + self.assertEqual(items[1].book, self.book_three) + self.assertEqual(items[0].order, 1) + self.assertEqual(items[1].order, 2) + + def test_adding_book_with_a_pending_book(self): + """ + When a list contains any pending books, the pending books should have + be at the end of the list by order. If a book is added while a book is + pending, its order should precede the pending books. + """ + request = self.factory.post( + "", + { + "book": self.book_three.id, + "list": self.list.id, + }, + ) + request.user = self.local_user + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=True, + order=1, + ) + models.ListItem.objects.create( + book_list=self.list, + user=self.rat, + book=self.book_two, + approved=False, + order=2, + ) + views.list.add_book(request) + + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book) + self.assertEqual(items[0].order, 1) + self.assertTrue(items[0].approved) + + self.assertEqual(items[1].book, self.book_three) + self.assertEqual(items[1].order, 2) + self.assertTrue(items[1].approved) + + self.assertEqual(items[2].book, self.book_two) + self.assertEqual(items[2].order, 3) + self.assertFalse(items[2].approved) + + def test_approving_one_pending_book_from_multiple(self): + """ + When a list contains any pending books, the pending books should have + be at the end of the list by order. If a pending book is approved, then + its order should be at the end of the approved books and before the + remaining pending books. + """ + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + approved=True, + order=1, + ) + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book_two, + approved=True, + order=2, + ) + models.ListItem.objects.create( + book_list=self.list, + user=self.rat, + book=self.book_three, + approved=False, + order=3, + ) + to_be_approved = models.ListItem.objects.create( + book_list=self.list, + user=self.rat, + book=self.book_four, + approved=False, + order=4, + ) + + view = views.Curate.as_view() + request = self.factory.post( + "", + { + "item": to_be_approved.id, + "approved": "true", + }, + ) + request.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + view(request, self.list.id) + + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book) + self.assertEqual(items[0].order, 1) + self.assertTrue(items[0].approved) + + self.assertEqual(items[1].book, self.book_two) + self.assertEqual(items[1].order, 2) + self.assertTrue(items[1].approved) + + self.assertEqual(items[2].book, self.book_four) + self.assertEqual(items[2].order, 3) + self.assertTrue(items[2].approved) + + self.assertEqual(items[3].book, self.book_three) + self.assertEqual(items[3].order, 4) + self.assertFalse(items[3].approved) + + def test_add_three_books_and_move_last_to_first(self): + """ + Put three books on the list and move the last book to the first + position. + """ + request_one = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request_one.user = self.local_user + + request_two = self.factory.post( + "", + { + "book": self.book_two.id, + "list": self.list.id, + }, + ) + request_two.user = self.local_user + + request_three = self.factory.post( + "", + { + "book": self.book_three.id, + "list": self.list.id, + }, + ) + request_three.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.list.add_book(request_one) + views.list.add_book(request_two) + views.list.add_book(request_three) + + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book) + self.assertEqual(items[1].book, self.book_two) + self.assertEqual(items[2].book, self.book_three) + self.assertEqual(items[0].order, 1) + self.assertEqual(items[1].order, 2) + self.assertEqual(items[2].order, 3) + + set_position_request = self.factory.post("", {"position": 1}) + set_position_request.user = self.local_user + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.list.set_book_position(set_position_request, items[2].id) + items = self.list.listitem_set.order_by("order").all() + self.assertEqual(items[0].book, self.book_three) + self.assertEqual(items[1].book, self.book) + self.assertEqual(items[2].book, self.book_two) + self.assertEqual(items[0].order, 1) + self.assertEqual(items[1].order, 2) + self.assertEqual(items[2].order, 3) + + def test_add_book_outsider(self): + """put a book on a list""" + self.list.curation = "open" + self.list.save(broadcast=False) + request = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request.user = self.rat + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: + views.list.add_book(request) + self.assertEqual(mock.call_count, 1) + activity = json.loads(mock.call_args[0][1]) + self.assertEqual(activity["type"], "Add") + self.assertEqual(activity["actor"], self.rat.remote_id) + self.assertEqual(activity["target"], self.list.remote_id) + + item = self.list.listitem_set.get() + self.assertEqual(item.book, self.book) + self.assertEqual(item.user, self.rat) + self.assertTrue(item.approved) + + def test_add_book_pending(self): + """put a book on a list awaiting approval""" + self.list.curation = "curated" + self.list.save(broadcast=False) + request = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request.user = self.rat + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: + views.list.add_book(request) + + self.assertEqual(mock.call_count, 1) + activity = json.loads(mock.call_args[0][1]) + + self.assertEqual(activity["type"], "Add") + self.assertEqual(activity["actor"], self.rat.remote_id) + self.assertEqual(activity["target"], self.list.remote_id) + + item = self.list.listitem_set.get() + self.assertEqual(activity["object"]["id"], item.remote_id) + + self.assertEqual(item.book, self.book) + self.assertEqual(item.user, self.rat) + self.assertFalse(item.approved) + + def test_add_book_self_curated(self): + """put a book on a list automatically approved""" + self.list.curation = "curated" + self.list.save(broadcast=False) + request = self.factory.post( + "", + { + "book": self.book.id, + "list": self.list.id, + }, + ) + request.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: + views.list.add_book(request) + self.assertEqual(mock.call_count, 1) + activity = json.loads(mock.call_args[0][1]) + self.assertEqual(activity["type"], "Add") + self.assertEqual(activity["actor"], self.local_user.remote_id) + self.assertEqual(activity["target"], self.list.remote_id) + + item = self.list.listitem_set.get() + self.assertEqual(item.book, self.book) + self.assertEqual(item.user, self.local_user) + self.assertTrue(item.approved) + + def test_remove_book(self): + """take an item off a list""" + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + item = models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=self.book, + order=1, + ) + self.assertTrue(self.list.listitem_set.exists()) + + request = self.factory.post( + "", + { + "item": item.id, + }, + ) + request.user = self.local_user + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.list.remove_book(request, self.list.id) + self.assertFalse(self.list.listitem_set.exists()) + + def test_remove_book_unauthorized(self): + """take an item off a list""" + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + item = models.ListItem.objects.create( + book_list=self.list, user=self.local_user, book=self.book, order=1 + ) + self.assertTrue(self.list.listitem_set.exists()) + request = self.factory.post( + "", + { + "item": item.id, + }, + ) + request.user = self.rat + + views.list.remove_book(request, self.list.id) + self.assertTrue(self.list.listitem_set.exists()) From 92e2c70baf331e8e8bd214dccfaa9785a3fb20ba Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 18:28:31 -0700 Subject: [PATCH 06/36] Fixes list sorting by rating --- bookwyrm/tests/views/test_list.py | 49 +++++++++++++++++++++++++++++++ bookwyrm/views/list.py | 28 +++++++----------- 2 files changed, 59 insertions(+), 18 deletions(-) diff --git a/bookwyrm/tests/views/test_list.py b/bookwyrm/tests/views/test_list.py index d767e2b9d..d6ad0e865 100644 --- a/bookwyrm/tests/views/test_list.py +++ b/bookwyrm/tests/views/test_list.py @@ -138,6 +138,55 @@ class ListViews(TestCase): result.render() self.assertEqual(result.status_code, 200) + def test_list_page_sorted(self): + """there are so many views, this just makes sure it LOADS""" + view = views.List.as_view() + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + for (i, book) in enumerate([self.book, self.book_two, self.book_three]): + models.ListItem.objects.create( + book_list=self.list, + user=self.local_user, + book=book, + approved=True, + order=i + 1, + ) + + request = self.factory.get("/?sort_by=order") + request.user = self.local_user + with patch("bookwyrm.views.list.is_api_request") as is_api: + is_api.return_value = False + result = view(request, self.list.id) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) + + request = self.factory.get("/?sort_by=title") + request.user = self.local_user + with patch("bookwyrm.views.list.is_api_request") as is_api: + is_api.return_value = False + result = view(request, self.list.id) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) + + request = self.factory.get("/?sort_by=rating") + request.user = self.local_user + with patch("bookwyrm.views.list.is_api_request") as is_api: + is_api.return_value = False + result = view(request, self.list.id) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) + + request = self.factory.get("/?sort_by=sdkfh") + request.user = self.local_user + with patch("bookwyrm.views.list.is_api_request") as is_api: + is_api.return_value = False + result = view(request, self.list.id) + self.assertIsInstance(result, TemplateResponse) + result.render() + self.assertEqual(result.status_code, 200) + def test_list_page_empty(self): """there are so many views, this just makes sure it LOADS""" view = views.List.as_view() diff --git a/bookwyrm/views/list.py b/bookwyrm/views/list.py index bfd617907..75bb5d48c 100644 --- a/bookwyrm/views/list.py +++ b/bookwyrm/views/list.py @@ -5,7 +5,7 @@ from urllib.parse import urlencode from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator from django.db import IntegrityError, transaction -from django.db.models import Avg, Count, Q, Max +from django.db.models import Avg, Count, DecimalField, Q, Max from django.db.models.functions import Coalesce from django.http import HttpResponseNotFound, HttpResponseBadRequest, HttpResponse from django.shortcuts import get_object_or_404, redirect @@ -108,31 +108,23 @@ class List(View): if direction not in ("ascending", "descending"): direction = "ascending" - internal_sort_by = { + directional_sort_by = { "order": "order", "title": "book__title", "rating": "average_rating", - } - directional_sort_by = internal_sort_by[sort_by] + }[sort_by] if direction == "descending": directional_sort_by = "-" + directional_sort_by - if sort_by == "order": - items = book_list.listitem_set.filter(approved=True).order_by( - directional_sort_by - ) - elif sort_by == "title": - items = book_list.listitem_set.filter(approved=True).order_by( - directional_sort_by - ) - elif sort_by == "rating": - items = ( - book_list.listitem_set.annotate( - average_rating=Avg(Coalesce("book__review__rating", 0)) + items = book_list.listitem_set + if sort_by == "rating": + items = items.annotate( + average_rating=Avg( + Coalesce("book__review__rating", 0.0), + output_field=DecimalField(), ) - .filter(approved=True) - .order_by(directional_sort_by) ) + items = items.filter(approved=True).order_by(directional_sort_by) paginated = Paginator(items, PAGE_LENGTH) From 680f300e7c100e3923c109f0bc0cc778a1ce4694 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 08:15:02 -0700 Subject: [PATCH 07/36] Preserve width when cover images fail to load --- bookwyrm/templates/snippets/book_cover.html | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/templates/snippets/book_cover.html b/bookwyrm/templates/snippets/book_cover.html index 5f12858f6..3c6f212d3 100644 --- a/bookwyrm/templates/snippets/book_cover.html +++ b/bookwyrm/templates/snippets/book_cover.html @@ -6,6 +6,7 @@
= self.max_query_count: - return False - return True - def get_or_create_book(self, remote_id): """translate arbitrary json into an Activitypub dataclass""" # first, check if we have the origin_id saved diff --git a/bookwyrm/migrations/0074_auto_20210511_1651.py b/bookwyrm/migrations/0074_auto_20210511_1651.py new file mode 100644 index 000000000..51e9e09c0 --- /dev/null +++ b/bookwyrm/migrations/0074_auto_20210511_1651.py @@ -0,0 +1,34 @@ +# Generated by Django 3.2 on 2021-05-11 16:51 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0073_sitesettings_footer_item"), + ] + + operations = [ + migrations.RemoveField( + model_name="connector", + name="max_query_count", + ), + migrations.RemoveField( + model_name="connector", + name="politeness_delay", + ), + migrations.RemoveField( + model_name="connector", + name="query_count", + ), + migrations.RemoveField( + model_name="connector", + name="query_count_expiry", + ), + migrations.AddField( + model_name="connector", + name="active", + field=models.BooleanField(default=True), + ), + ] diff --git a/bookwyrm/models/connector.py b/bookwyrm/models/connector.py index 625cdbed9..4debcc3d6 100644 --- a/bookwyrm/models/connector.py +++ b/bookwyrm/models/connector.py @@ -17,6 +17,7 @@ class Connector(BookWyrmModel): local = models.BooleanField(default=False) connector_file = models.CharField(max_length=255, choices=ConnectorFiles.choices) api_key = models.CharField(max_length=255, null=True, blank=True) + active = models.BooleanField(default=True) base_url = models.CharField(max_length=255) books_url = models.CharField(max_length=255) @@ -24,13 +25,6 @@ class Connector(BookWyrmModel): search_url = models.CharField(max_length=255, null=True, blank=True) isbn_search_url = models.CharField(max_length=255, null=True, blank=True) - politeness_delay = models.IntegerField(null=True, blank=True) # seconds - max_query_count = models.IntegerField(null=True, blank=True) - # how many queries executed in a unit of time, like a day - query_count = models.IntegerField(default=0) - # when to reset the query count back to 0 (ie, after 1 day) - query_count_expiry = models.DateTimeField(auto_now_add=True, blank=True) - def __str__(self): return "{} ({})".format( self.identifier, diff --git a/bookwyrm/tests/connectors/test_abstract_connector.py b/bookwyrm/tests/connectors/test_abstract_connector.py index 4497b4e5e..5c50e4b73 100644 --- a/bookwyrm/tests/connectors/test_abstract_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_connector.py @@ -84,13 +84,6 @@ class AbstractConnector(TestCase): """barebones connector for search with defaults""" self.assertIsInstance(self.connector.book_mappings, list) - def test_is_available(self): - """this isn't used....""" - self.assertTrue(self.connector.is_available()) - self.connector.max_query_count = 1 - self.connector.connector.query_count = 2 - self.assertFalse(self.connector.is_available()) - def test_get_or_create_book_existing(self): """find an existing book by remote/origin id""" self.assertEqual(models.Book.objects.count(), 1) From 19f788b9aa36004e872aac3dd3adbb7b620241e5 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 11:31:02 -0700 Subject: [PATCH 09/36] Deactivate connectors related to blocked federated servers --- ...10511_1651.py => 0074_auto_20210511_1829.py} | 16 +++++++++++++++- bookwyrm/models/base_model.py | 10 ++++++++++ bookwyrm/models/connector.py | 5 ++++- bookwyrm/models/federated_server.py | 17 +++++++++++++++++ bookwyrm/models/user.py | 12 +----------- 5 files changed, 47 insertions(+), 13 deletions(-) rename bookwyrm/migrations/{0074_auto_20210511_1651.py => 0074_auto_20210511_1829.py} (60%) diff --git a/bookwyrm/migrations/0074_auto_20210511_1651.py b/bookwyrm/migrations/0074_auto_20210511_1829.py similarity index 60% rename from bookwyrm/migrations/0074_auto_20210511_1651.py rename to bookwyrm/migrations/0074_auto_20210511_1829.py index 51e9e09c0..287a51ad6 100644 --- a/bookwyrm/migrations/0074_auto_20210511_1651.py +++ b/bookwyrm/migrations/0074_auto_20210511_1829.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2 on 2021-05-11 16:51 +# Generated by Django 3.2 on 2021-05-11 18:29 from django.db import migrations, models @@ -31,4 +31,18 @@ class Migration(migrations.Migration): name="active", field=models.BooleanField(default=True), ), + migrations.AddField( + model_name="connector", + name="deactivation_reason", + field=models.CharField( + blank=True, + choices=[ + ("self_deletion", "Self Deletion"), + ("moderator_deletion", "Moderator Deletion"), + ("domain_block", "Domain Block"), + ], + max_length=255, + null=True, + ), + ), ] diff --git a/bookwyrm/models/base_model.py b/bookwyrm/models/base_model.py index e85ff7338..2cb7c0365 100644 --- a/bookwyrm/models/base_model.py +++ b/bookwyrm/models/base_model.py @@ -6,6 +6,16 @@ from bookwyrm.settings import DOMAIN from .fields import RemoteIdField +DeactivationReason = models.TextChoices( + "DeactivationReason", + [ + "self_deletion", + "moderator_deletion", + "domain_block", + ], +) + + class BookWyrmModel(models.Model): """shared fields""" diff --git a/bookwyrm/models/connector.py b/bookwyrm/models/connector.py index 4debcc3d6..2d6717908 100644 --- a/bookwyrm/models/connector.py +++ b/bookwyrm/models/connector.py @@ -2,7 +2,7 @@ from django.db import models from bookwyrm.connectors.settings import CONNECTORS -from .base_model import BookWyrmModel +from .base_model import BookWyrmModel, DeactivationReason ConnectorFiles = models.TextChoices("ConnectorFiles", CONNECTORS) @@ -18,6 +18,9 @@ class Connector(BookWyrmModel): connector_file = models.CharField(max_length=255, choices=ConnectorFiles.choices) api_key = models.CharField(max_length=255, null=True, blank=True) active = models.BooleanField(default=True) + deactivation_reason = models.CharField( + max_length=255, choices=DeactivationReason.choices, null=True, blank=True + ) base_url = models.CharField(max_length=255) books_url = models.CharField(max_length=255) diff --git a/bookwyrm/models/federated_server.py b/bookwyrm/models/federated_server.py index 7d446ca0d..86635ab00 100644 --- a/bookwyrm/models/federated_server.py +++ b/bookwyrm/models/federated_server.py @@ -1,5 +1,6 @@ """ connections to external ActivityPub servers """ from urllib.parse import urlparse +from django.apps import apps from django.db import models from .base_model import BookWyrmModel @@ -34,6 +35,13 @@ class FederatedServer(BookWyrmModel): is_active=False, deactivation_reason="domain_block" ) + # check for related connectors + if self.application_type == "bookwyrm": + connector_model = apps.get_model("bookwyrm.Connector", require_read=True) + connector_model.objects.filter( + identifier=self.server_name, active=True + ).update(active=False, deactivation_reason="domain_block") + def unblock(self): """unblock a server""" self.status = "federated" @@ -43,6 +51,15 @@ class FederatedServer(BookWyrmModel): is_active=True, deactivation_reason=None ) + # check for related connectors + if self.application_type == "bookwyrm": + connector_model = apps.get_model("bookwyrm.Connector", require_read=True) + connector_model.objects.filter( + identifier=self.server_name, + active=False, + deactivation_reason="domain_block", + ).update(active=True, deactivation_reason=None) + @classmethod def is_blocked(cls, url): """look up if a domain is blocked""" diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 5f0e64e3b..7d821c5ba 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -19,21 +19,11 @@ from bookwyrm.signatures import create_key_pair from bookwyrm.tasks import app from bookwyrm.utils import regex from .activitypub_mixin import OrderedCollectionPageMixin, ActivitypubMixin -from .base_model import BookWyrmModel +from .base_model import BookWyrmModel, DeactivationReason from .federated_server import FederatedServer from . import fields, Review -DeactivationReason = models.TextChoices( - "DeactivationReason", - [ - "self_deletion", - "moderator_deletion", - "domain_block", - ], -) - - class User(OrderedCollectionPageMixin, AbstractUser): """a user who wants to read books""" From 9b42bba236d6ce1db6b6598084eb3a15cf8dc71b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 11:34:58 -0700 Subject: [PATCH 10/36] Filter out inactive connectors --- bookwyrm/connectors/connector_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index 43489669b..95c5959df 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -87,7 +87,7 @@ def first_search_result(query, min_confidence=0.1): def get_connectors(): """load all connectors""" - for info in models.Connector.objects.order_by("priority").all(): + for info in models.Connector.objects.filter(active=True).order_by("priority").all(): yield load_connector(info) From d7a8dd5e197f2570fd231af48eef6bd4c7b2aaf8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 13:20:17 -0700 Subject: [PATCH 11/36] Removes outdated field form abstract connector --- bookwyrm/connectors/abstract_connector.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bookwyrm/connectors/abstract_connector.py b/bookwyrm/connectors/abstract_connector.py index f9496aa04..606678150 100644 --- a/bookwyrm/connectors/abstract_connector.py +++ b/bookwyrm/connectors/abstract_connector.py @@ -30,7 +30,6 @@ class AbstractMinimalConnector(ABC): "covers_url", "search_url", "isbn_search_url", - "max_query_count", "name", "identifier", "local", From 1fbd6537b7ed4ed01da0a9d3f4fd605f4eb30524 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 13:28:52 -0700 Subject: [PATCH 12/36] Remove unnecessary tags from import page --- bookwyrm/templates/import_status.html | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/bookwyrm/templates/import_status.html b/bookwyrm/templates/import_status.html index e06392a8e..b1145611d 100644 --- a/bookwyrm/templates/import_status.html +++ b/bookwyrm/templates/import_status.html @@ -1,6 +1,5 @@ {% extends 'layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} {% load humanize %} {% block title %}{% trans "Import Status" %}{% endblock %} @@ -54,8 +53,8 @@

{{ item.fail_reason }}. @@ -90,8 +89,8 @@

  • Line {{ item.index }}: - {{ item.data|dict_key:'Title' }} by - {{ item.data|dict_key:'Author' }} + {{ item.data.Title }} by + {{ item.data.Author }}

    {{ item.fail_reason }}. @@ -130,10 +129,10 @@ {% endif %} - {{ item.data|dict_key:'Title' }} + {{ item.data.Title }} - {{ item.data|dict_key:'Author' }} + {{ item.data.Author }} {% if item.book %} From 63172ecf0015ee0f8c9aef395fd3793d1af6e9ed Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 13:54:38 -0700 Subject: [PATCH 13/36] Fixes ratings on shelf pages --- bookwyrm/templates/user/shelf/shelf.html | 8 +++++--- bookwyrm/views/shelf.py | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/bookwyrm/templates/user/shelf/shelf.html b/bookwyrm/templates/user/shelf/shelf.html index 639ab502f..86610629c 100644 --- a/bookwyrm/templates/user/shelf/shelf.html +++ b/bookwyrm/templates/user/shelf/shelf.html @@ -79,7 +79,9 @@ {% trans "Shelved" %} {% trans "Started" %} {% trans "Finished" %} - {% if ratings %}{% trans "Rating" %}{% endif %} + {% if request.user.is_authenticated %} + {% trans "Rating" %} + {% endif %} {% if shelf.user == request.user %} {% endif %} @@ -108,9 +110,9 @@ {{ read_through.finish_date | naturalday |default_if_none:""}} - {% if ratings %} + {% if request.user.is_authenticated %} - {% include 'snippets/stars.html' with rating=ratings|dict_key:book.id %} + {% include 'snippets/stars.html' with rating=book.rating %} {% endif %} {% if shelf.user == request.user %} diff --git a/bookwyrm/views/shelf.py b/bookwyrm/views/shelf.py index 5312ac212..758e290ed 100644 --- a/bookwyrm/views/shelf.py +++ b/bookwyrm/views/shelf.py @@ -2,6 +2,7 @@ from collections import namedtuple from django.db import IntegrityError +from django.db.models import Count, OuterRef, Subquery, F, Q from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator from django.http import HttpResponseBadRequest, HttpResponseNotFound @@ -37,30 +38,41 @@ class Shelf(View): return HttpResponseNotFound() if not shelf.visible_to_user(request.user): return HttpResponseNotFound() + books = shelf.books # this is a constructed "all books" view, with a fake "shelf" obj else: FakeShelf = namedtuple( "Shelf", ("identifier", "name", "user", "books", "privacy") ) books = models.Edition.objects.filter( + # privacy is ensured because the shelves are already filtered above shelfbook__shelf__in=shelves.all() ).distinct() shelf = FakeShelf("all", _("All books"), user, books, "public") - is_self = request.user == user - if is_api_request(request): return ActivitypubResponse(shelf.to_activity(**request.GET)) + reviews = privacy_filter( + request.user, + models.Review.objects.filter( + user=user, + rating__isnull=False, + book__id=OuterRef("id"), + ), + ).order_by("-published_date") + + books = books.annotate(rating=Subquery(reviews.values("rating")[:1])) + paginated = Paginator( - shelf.books.order_by("-updated_date"), + books.order_by("-updated_date"), PAGE_LENGTH, ) page = paginated.get_page(request.GET.get("page")) data = { "user": user, - "is_self": is_self, + "is_self": request.user == user, "shelves": shelves.all(), "shelf": shelf, "books": page, From 04cc2fb3f31ae557328dfaf660fc41a722ad746d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 13:55:46 -0700 Subject: [PATCH 14/36] Removes unused dict_key filter --- bookwyrm/templatetags/bookwyrm_tags.py | 6 ------ bookwyrm/tests/test_templatetags.py | 7 ------- 2 files changed, 13 deletions(-) diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py index eda3d1023..caab30a86 100644 --- a/bookwyrm/templatetags/bookwyrm_tags.py +++ b/bookwyrm/templatetags/bookwyrm_tags.py @@ -11,12 +11,6 @@ from bookwyrm.views.status import to_markdown register = template.Library() -@register.filter(name="dict_key") -def dict_key(d, k): - """Returns the given key from a dictionary.""" - return d.get(k) or 0 - - @register.filter(name="rating") def get_rating(book, user): """get the overall rating of a book""" diff --git a/bookwyrm/tests/test_templatetags.py b/bookwyrm/tests/test_templatetags.py index a92e887a3..1c05e9928 100644 --- a/bookwyrm/tests/test_templatetags.py +++ b/bookwyrm/tests/test_templatetags.py @@ -2,7 +2,6 @@ import re from unittest.mock import patch -from dateutil.relativedelta import relativedelta from django.test import TestCase from django.utils import timezone @@ -33,12 +32,6 @@ class TemplateTags(TestCase): ) self.book = models.Edition.objects.create(title="Test Book") - def test_dict_key(self, _): - """just getting a value out of a dict""" - test_dict = {"a": 1, "b": 3} - self.assertEqual(bookwyrm_tags.dict_key(test_dict, "a"), 1) - self.assertEqual(bookwyrm_tags.dict_key(test_dict, "c"), 0) - def test_get_user_rating(self, _): """get a user's most recent rating of a book""" with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): From 3de8ae00aed608c656e888875a570ef0b6cea4ab Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 14:00:23 -0700 Subject: [PATCH 15/36] Removes unused templatetag --- bookwyrm/templatetags/bookwyrm_tags.py | 6 ------ bookwyrm/tests/test_templatetags.py | 13 ------------- 2 files changed, 19 deletions(-) diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py index caab30a86..fa2998e6f 100644 --- a/bookwyrm/templatetags/bookwyrm_tags.py +++ b/bookwyrm/templatetags/bookwyrm_tags.py @@ -43,12 +43,6 @@ def get_user_identifier(user): return user.localname if user.localname else user.username -@register.filter(name="notification_count") -def get_notification_count(user): - """how many UNREAD notifications are there""" - return user.notification_set.filter(read=False).count() - - @register.filter(name="replies") def get_replies(status): """get all direct replies to a status""" diff --git a/bookwyrm/tests/test_templatetags.py b/bookwyrm/tests/test_templatetags.py index 1c05e9928..df4df6713 100644 --- a/bookwyrm/tests/test_templatetags.py +++ b/bookwyrm/tests/test_templatetags.py @@ -53,19 +53,6 @@ class TemplateTags(TestCase): bookwyrm_tags.get_user_identifier(self.remote_user), "rat@example.com" ) - def test_get_notification_count(self, _): - """just countin'""" - self.assertEqual(bookwyrm_tags.get_notification_count(self.user), 0) - - models.Notification.objects.create(user=self.user, notification_type="FAVORITE") - models.Notification.objects.create(user=self.user, notification_type="MENTION") - - models.Notification.objects.create( - user=self.remote_user, notification_type="FOLLOW" - ) - - self.assertEqual(bookwyrm_tags.get_notification_count(self.user), 2) - def test_get_replies(self, _): """direct replies to a status""" with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): From f5eb5f982ab1d32c5388cf5651876a36d181f8d2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 14:04:45 -0700 Subject: [PATCH 16/36] Removes filter for checking for follow requests --- .../snippets/follow_request_buttons.html | 3 +-- bookwyrm/templatetags/bookwyrm_tags.py | 13 ------------- bookwyrm/tests/test_templatetags.py | 18 ------------------ 3 files changed, 1 insertion(+), 33 deletions(-) diff --git a/bookwyrm/templates/snippets/follow_request_buttons.html b/bookwyrm/templates/snippets/follow_request_buttons.html index 42e691538..d91018027 100644 --- a/bookwyrm/templates/snippets/follow_request_buttons.html +++ b/bookwyrm/templates/snippets/follow_request_buttons.html @@ -1,6 +1,5 @@ {% load i18n %} -{% load bookwyrm_tags %} -{% if request.user|follow_request_exists:user %} +{% if request.user in user.follow_requests.all %}

    {% csrf_token %} diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py index fa2998e6f..81019fe54 100644 --- a/bookwyrm/templatetags/bookwyrm_tags.py +++ b/bookwyrm/templatetags/bookwyrm_tags.py @@ -79,19 +79,6 @@ def get_user_boosted(user, status): return user.id in status.boosters.all().values_list("user", flat=True) -@register.filter(name="follow_request_exists") -def follow_request_exists(user, requester): - """see if there is a pending follow request for a user""" - try: - models.UserFollowRequest.objects.filter( - user_subject=requester, - user_object=user, - ).get() - return True - except models.UserFollowRequest.DoesNotExist: - return False - - @register.filter(name="boosted_status") def get_boosted(boost): """load a boosted status. have to do this or it wont get foregin keys""" diff --git a/bookwyrm/tests/test_templatetags.py b/bookwyrm/tests/test_templatetags.py index df4df6713..3e2ecf37e 100644 --- a/bookwyrm/tests/test_templatetags.py +++ b/bookwyrm/tests/test_templatetags.py @@ -113,24 +113,6 @@ class TemplateTags(TestCase): models.Boost.objects.create(user=self.user, boosted_status=status) self.assertTrue(bookwyrm_tags.get_user_boosted(self.user, status)) - def test_follow_request_exists(self, _): - """does a user want to follow""" - self.assertFalse( - bookwyrm_tags.follow_request_exists(self.user, self.remote_user) - ) - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - models.UserFollowRequest.objects.create( - user_subject=self.user, user_object=self.remote_user - ) - - self.assertFalse( - bookwyrm_tags.follow_request_exists(self.user, self.remote_user) - ) - self.assertTrue( - bookwyrm_tags.follow_request_exists(self.remote_user, self.user) - ) - def test_get_boosted(self, _): """load a boosted status""" with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): From acd26012bea564850bda7cf9c1b1a67b7be592f1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 14:12:28 -0700 Subject: [PATCH 17/36] Removes more unused filters --- bookwyrm/templatetags/bookwyrm_tags.py | 31 ++------------------------ bookwyrm/tests/test_templatetags.py | 25 --------------------- 2 files changed, 2 insertions(+), 54 deletions(-) diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py index 81019fe54..c992b9e53 100644 --- a/bookwyrm/templatetags/bookwyrm_tags.py +++ b/bookwyrm/templatetags/bookwyrm_tags.py @@ -81,11 +81,9 @@ def get_user_boosted(user, status): @register.filter(name="boosted_status") def get_boosted(boost): - """load a boosted status. have to do this or it wont get foregin keys""" + """load a boosted status. have to do this or it won't get foreign keys""" return ( - models.Status.objects.select_subclasses() - .filter(id=boost.boosted_status.id) - .get() + models.Status.objects.select_subclasses().get(id=boost.boosted_status.id) ) @@ -118,19 +116,6 @@ def get_mentions(status, user): ) -@register.filter(name="status_preview_name") -def get_status_preview_name(obj): - """text snippet with book context for a status""" - name = obj.__class__.__name__.lower() - if name == "review": - return "%s of %s" % (name, obj.book.title) - if name == "comment": - return "%s on %s" % (name, obj.book.title) - if name == "quotation": - return "%s from %s" % (name, obj.book.title) - return name - - @register.filter(name="next_shelf") def get_next_shelf(current_shelf): """shelf you'd use to update reading progress""" @@ -187,18 +172,6 @@ def latest_read_through(book, user): ) -@register.simple_tag(takes_context=False) -def active_read_through(book, user): - """the most recent read activity""" - return ( - models.ReadThrough.objects.filter( - user=user, book=book, finish_date__isnull=True - ) - .order_by("-start_date") - .first() - ) - - @register.simple_tag(takes_context=False) def comparison_bool(str1, str2): """idk why I need to write a tag for this, it reutrns a bool""" diff --git a/bookwyrm/tests/test_templatetags.py b/bookwyrm/tests/test_templatetags.py index 3e2ecf37e..3b782fd5f 100644 --- a/bookwyrm/tests/test_templatetags.py +++ b/bookwyrm/tests/test_templatetags.py @@ -157,31 +157,6 @@ class TemplateTags(TestCase): result = bookwyrm_tags.get_mentions(status, self.user) self.assertEqual(result, "@rat@example.com ") - def test_get_status_preview_name(self, _): - """status context string""" - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - status = models.Status.objects.create(content="hi", user=self.user) - result = bookwyrm_tags.get_status_preview_name(status) - self.assertEqual(result, "status") - - status = models.Review.objects.create( - content="hi", user=self.user, book=self.book - ) - result = bookwyrm_tags.get_status_preview_name(status) - self.assertEqual(result, "review of Test Book") - - status = models.Comment.objects.create( - content="hi", user=self.user, book=self.book - ) - result = bookwyrm_tags.get_status_preview_name(status) - self.assertEqual(result, "comment on Test Book") - - status = models.Quotation.objects.create( - content="hi", user=self.user, book=self.book - ) - result = bookwyrm_tags.get_status_preview_name(status) - self.assertEqual(result, "quotation from Test Book") - def test_related_status(self, _): """gets the subclass model for a notification status""" with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): From eba6159f6868b5a1e19e6eb72758d9d54b9ce420 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 14:14:22 -0700 Subject: [PATCH 18/36] Moves status interaction filters into their own module --- bookwyrm/templatetags/bookwyrm_tags.py | 16 ---------------- bookwyrm/templatetags/interaction.py | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 bookwyrm/templatetags/interaction.py diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py index c992b9e53..719dc9ade 100644 --- a/bookwyrm/templatetags/bookwyrm_tags.py +++ b/bookwyrm/templatetags/bookwyrm_tags.py @@ -63,22 +63,6 @@ def get_parent(status): ) -@register.filter(name="liked") -def get_user_liked(user, status): - """did the given user fav a status?""" - try: - models.Favorite.objects.get(user=user, status=status) - return True - except models.Favorite.DoesNotExist: - return False - - -@register.filter(name="boosted") -def get_user_boosted(user, status): - """did the given user fav a status?""" - return user.id in status.boosters.all().values_list("user", flat=True) - - @register.filter(name="boosted_status") def get_boosted(boost): """load a boosted status. have to do this or it won't get foreign keys""" diff --git a/bookwyrm/templatetags/interaction.py b/bookwyrm/templatetags/interaction.py new file mode 100644 index 000000000..6e8d0549c --- /dev/null +++ b/bookwyrm/templatetags/interaction.py @@ -0,0 +1,22 @@ +""" template filters for status interaction buttons """ +from django import template +from bookwyrm import models + + +register = template.Library() + + +@register.filter(name="liked") +def get_user_liked(user, status): + """did the given user fav a status?""" + try: + models.Favorite.objects.get(user=user, status=status) + return True + except models.Favorite.DoesNotExist: + return False + + +@register.filter(name="boosted") +def get_user_boosted(user, status): + """did the given user fav a status?""" + return user.id in status.boosters.all().values_list("user", flat=True) From 58da17d69411806249446bd4aff734920fb746ac Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 14:41:28 -0700 Subject: [PATCH 19/36] Use smaller templatetag modules --- bookwyrm/templates/components/dropdown.html | 2 +- bookwyrm/templates/feed/suggested_users.html | 2 +- bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/snippets/boost_button.html | 3 +- .../templates/snippets/create_status.html | 2 +- .../snippets/create_status_form.html | 2 + bookwyrm/templates/snippets/fav_button.html | 4 +- .../templates/snippets/privacy_select.html | 2 +- .../templates/snippets/report_button.html | 3 +- .../snippets/shelve_button/shelve_button.html | 1 + .../shelve_button/shelve_button_options.html | 2 + .../templates/snippets/status/layout.html | 3 +- .../snippets/status/status_options.html | 2 +- bookwyrm/templates/snippets/trimmed_text.html | 1 + bookwyrm/templatetags/bookwyrm_tags.py | 41 +------------------ bookwyrm/templatetags/layout.py | 12 ++++++ bookwyrm/templatetags/utilities.py | 35 ++++++++++++++++ 17 files changed, 69 insertions(+), 50 deletions(-) create mode 100644 bookwyrm/templatetags/layout.py create mode 100644 bookwyrm/templatetags/utilities.py diff --git a/bookwyrm/templates/components/dropdown.html b/bookwyrm/templates/components/dropdown.html index 96dce8232..35caa55b5 100644 --- a/bookwyrm/templates/components/dropdown.html +++ b/bookwyrm/templates/components/dropdown.html @@ -1,5 +1,5 @@ {% spaceless %} -{% load bookwyrm_tags %} +{% load utilities %} {% with 0|uuid as uuid %}
    {% for user in suggested_users %} diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index bc6544012..becf77819 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -1,4 +1,4 @@ -{% load bookwyrm_tags %} +{% load layout %} {% load i18n %} diff --git a/bookwyrm/templates/snippets/boost_button.html b/bookwyrm/templates/snippets/boost_button.html index 3a01fc82d..5b84ea44e 100644 --- a/bookwyrm/templates/snippets/boost_button.html +++ b/bookwyrm/templates/snippets/boost_button.html @@ -1,4 +1,5 @@ -{% load bookwyrm_tags %} +{% load interaction %} +{% load utilities %} {% load i18n %} {% with status.id|uuid as uuid %} diff --git a/bookwyrm/templates/snippets/create_status.html b/bookwyrm/templates/snippets/create_status.html index 7dee4b700..b1a8e8465 100644 --- a/bookwyrm/templates/snippets/create_status.html +++ b/bookwyrm/templates/snippets/create_status.html @@ -1,6 +1,6 @@ {% load humanize %} {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} {% with status_type=request.GET.status_type %}
    diff --git a/bookwyrm/templates/snippets/create_status_form.html b/bookwyrm/templates/snippets/create_status_form.html index f6021622a..ca9cb5b40 100644 --- a/bookwyrm/templates/snippets/create_status_form.html +++ b/bookwyrm/templates/snippets/create_status_form.html @@ -1,4 +1,6 @@ {% load bookwyrm_tags %} +{% load utilities %} + {% load i18n %} {% csrf_token %} diff --git a/bookwyrm/templates/snippets/fav_button.html b/bookwyrm/templates/snippets/fav_button.html index cd22822a5..40fa2d25f 100644 --- a/bookwyrm/templates/snippets/fav_button.html +++ b/bookwyrm/templates/snippets/fav_button.html @@ -1,5 +1,7 @@ -{% load bookwyrm_tags %} +{% load interaction %} +{% load utilities %} {% load i18n %} + {% with status.id|uuid as uuid %} {% csrf_token %} diff --git a/bookwyrm/templates/snippets/privacy_select.html b/bookwyrm/templates/snippets/privacy_select.html index e8008509f..f6959de53 100644 --- a/bookwyrm/templates/snippets/privacy_select.html +++ b/bookwyrm/templates/snippets/privacy_select.html @@ -1,5 +1,5 @@ {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %}
    {% with 0|uuid as uuid %} {% if not no_label %} diff --git a/bookwyrm/templates/snippets/report_button.html b/bookwyrm/templates/snippets/report_button.html index 2fa0a3f30..19414c166 100644 --- a/bookwyrm/templates/snippets/report_button.html +++ b/bookwyrm/templates/snippets/report_button.html @@ -1,5 +1,6 @@ {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} + {% with 0|uuid as report_uuid %} {% trans "Report" as button_text %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button.html b/bookwyrm/templates/snippets/shelve_button/shelve_button.html index dc07fb64b..754907c27 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button.html @@ -1,4 +1,5 @@ {% load bookwyrm_tags %} +{% load utilities %} {% if request.user.is_authenticated %} {% with book.id|uuid as uuid %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html index 1eaa24635..1ce10e7c2 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html @@ -1,5 +1,7 @@ {% load bookwyrm_tags %} +{% load utilities %} {% load i18n %} + {% for shelf in shelves %} {% comparison_bool shelf.identifier active_shelf.shelf.identifier as is_current %} {% if dropdown %}
    diff --git a/bookwyrm/templates/book/editions.html b/bookwyrm/templates/book/editions.html index 775b05c86..17d5474c4 100644 --- a/bookwyrm/templates/book/editions.html +++ b/bookwyrm/templates/book/editions.html @@ -1,6 +1,5 @@ {% extends 'layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} {% block title %}{% blocktrans with book_title=work.title %}Editions of {{ book_title }}{% endblocktrans %}{% endblock %} diff --git a/bookwyrm/templates/compose.html b/bookwyrm/templates/compose.html index 0f609cf72..1b6aa7358 100644 --- a/bookwyrm/templates/compose.html +++ b/bookwyrm/templates/compose.html @@ -1,6 +1,6 @@ {% extends 'layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} {% block title %}{% trans "Compose status" %}{% endblock %} {% block content %} diff --git a/bookwyrm/templates/directory/user_card.html b/bookwyrm/templates/directory/user_card.html index 8e7538c89..c52c1f7ae 100644 --- a/bookwyrm/templates/directory/user_card.html +++ b/bookwyrm/templates/directory/user_card.html @@ -1,5 +1,6 @@ {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} +{% load markdown %} {% load humanize %}
    @@ -19,7 +20,7 @@
    {% if user.summary %} - {{ user.summary | to_markdown | safe | truncatechars_html:40 }} + {{ user.summary|to_markdown|safe|truncatechars_html:40 }} {% else %} {% endif %}
    diff --git a/bookwyrm/templates/discover/landing_layout.html b/bookwyrm/templates/discover/landing_layout.html index 8e507531e..946482cbb 100644 --- a/bookwyrm/templates/discover/landing_layout.html +++ b/bookwyrm/templates/discover/landing_layout.html @@ -1,6 +1,6 @@ {% extends 'layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} +{% load markdown %} {% block title %}{% trans "Welcome" %}{% endblock %} @@ -49,7 +49,7 @@ {% else %}

    {% trans "This instance is closed" %}

    -

    {{ site.registration_closed_text | safe}}

    +

    {{ site.registration_closed_text|safe}}

    {% if site.allow_invite_requests %} {% if request_received %} @@ -64,7 +64,7 @@ {% for error in request_form.email.errors %} -

    {{ error | escape }}

    +

    {{ error|escape }}

    {% endfor %}
    @@ -80,7 +80,7 @@ {% include 'user/user_preview.html' with user=request.user %} {% if request.user.summary %}
    - {{ request.user.summary | to_markdown | safe }} + {{ request.user.summary|to_markdown|safe }}
    {% endif %}
  • diff --git a/bookwyrm/templates/discover/large-book.html b/bookwyrm/templates/discover/large-book.html index 7def6e138..93026991e 100644 --- a/bookwyrm/templates/discover/large-book.html +++ b/bookwyrm/templates/discover/large-book.html @@ -1,5 +1,5 @@ - {% load bookwyrm_tags %} +{% load markdown %} {% load i18n %} {% if book %} diff --git a/bookwyrm/templates/feed/feed.html b/bookwyrm/templates/feed/feed.html index f106b4cee..21e71ae18 100644 --- a/bookwyrm/templates/feed/feed.html +++ b/bookwyrm/templates/feed/feed.html @@ -1,7 +1,6 @@ {% extends 'feed/feed_layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} -{% load humanize %} + {% block panel %}

    diff --git a/bookwyrm/templates/feed/feed_layout.html b/bookwyrm/templates/feed/feed_layout.html index 75fc1951a..3c6b65a1b 100644 --- a/bookwyrm/templates/feed/feed_layout.html +++ b/bookwyrm/templates/feed/feed_layout.html @@ -1,6 +1,5 @@ {% extends 'layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} {% block title %}{% trans "Updates" %}{% endblock %} diff --git a/bookwyrm/templates/feed/thread.html b/bookwyrm/templates/feed/thread.html index 18ab6ea38..793cddfcd 100644 --- a/bookwyrm/templates/feed/thread.html +++ b/bookwyrm/templates/feed/thread.html @@ -1,4 +1,4 @@ -{% load bookwyrm_tags %} +{% load status_display %}
    {% with depth=depth|add:1 %} diff --git a/bookwyrm/templates/lists/list.html b/bookwyrm/templates/lists/list.html index 2902f793f..55dc68aae 100644 --- a/bookwyrm/templates/lists/list.html +++ b/bookwyrm/templates/lists/list.html @@ -1,12 +1,13 @@ {% extends 'lists/list_layout.html' %} {% load i18n %} {% load bookwyrm_tags %} +{% load markdown %} {% block panel %} {% if request.user == list.user and pending_count %} {% endif %} diff --git a/bookwyrm/templates/lists/list_items.html b/bookwyrm/templates/lists/list_items.html index b59e2a96a..1fdaaca92 100644 --- a/bookwyrm/templates/lists/list_items.html +++ b/bookwyrm/templates/lists/list_items.html @@ -1,4 +1,4 @@ -{% load bookwyrm_tags %} +{% load markdown %}
    {% for list in lists %}
    diff --git a/bookwyrm/templates/lists/list_layout.html b/bookwyrm/templates/lists/list_layout.html index c0899c84e..de7665e81 100644 --- a/bookwyrm/templates/lists/list_layout.html +++ b/bookwyrm/templates/lists/list_layout.html @@ -1,6 +1,5 @@ {% extends 'layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} {% block title %}{{ list.name }}{% endblock %} diff --git a/bookwyrm/templates/lists/lists.html b/bookwyrm/templates/lists/lists.html index a7a548110..d4b0a7c29 100644 --- a/bookwyrm/templates/lists/lists.html +++ b/bookwyrm/templates/lists/lists.html @@ -1,5 +1,5 @@ {% extends 'layout.html' %} -{% load bookwyrm_tags %} +{% load utilities %} {% load i18n %} {% block title %}{% trans "Lists" %}{% endblock %} diff --git a/bookwyrm/templates/moderation/report.html b/bookwyrm/templates/moderation/report.html index 934799e33..db03850f8 100644 --- a/bookwyrm/templates/moderation/report.html +++ b/bookwyrm/templates/moderation/report.html @@ -1,6 +1,5 @@ {% extends 'settings/admin_layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} {% load humanize %} {% block title %}{% blocktrans with report_id=report.id username=report.user.username %}Report #{{ report_id }}: {{ username }}{% endblocktrans %}{% endblock %} @@ -29,7 +28,7 @@ {{ comment.user.display_name }}
    diff --git a/bookwyrm/templates/notifications.html b/bookwyrm/templates/notifications.html index ed623b129..a51b2fdb0 100644 --- a/bookwyrm/templates/notifications.html +++ b/bookwyrm/templates/notifications.html @@ -1,7 +1,7 @@ {% extends 'layout.html' %} {% load i18n %} -{% load humanize %} {% load bookwyrm_tags %} +{% load humanize %} {% block title %}{% trans "Notifications" %}{% endblock %} diff --git a/bookwyrm/templates/search/user.html b/bookwyrm/templates/search/user.html index c6adc613a..56bb1bfab 100644 --- a/bookwyrm/templates/search/user.html +++ b/bookwyrm/templates/search/user.html @@ -1,5 +1,4 @@ {% extends 'search/layout.html' %} -{% load bookwyrm_tags %} {% block panel %} diff --git a/bookwyrm/templates/settings/federated_server.html b/bookwyrm/templates/settings/federated_server.html index 386433f33..b300a92d7 100644 --- a/bookwyrm/templates/settings/federated_server.html +++ b/bookwyrm/templates/settings/federated_server.html @@ -1,7 +1,8 @@ {% extends 'settings/admin_layout.html' %} -{% block title %}{{ server.server_name }}{% endblock %} {% load i18n %} -{% load bookwyrm_tags %} +{% load markdown %} + +{% block title %}{{ server.server_name }}{% endblock %} {% block header %} {{ server.server_name }} diff --git a/bookwyrm/templates/snippets/avatar.html b/bookwyrm/templates/snippets/avatar.html index d53acf2b5..bb37c46d4 100644 --- a/bookwyrm/templates/snippets/avatar.html +++ b/bookwyrm/templates/snippets/avatar.html @@ -1,3 +1,2 @@ -{% load bookwyrm_tags %} {{ user.alt_text }} diff --git a/bookwyrm/templates/snippets/book_cover.html b/bookwyrm/templates/snippets/book_cover.html index 3c6f212d3..f64ec3e40 100644 --- a/bookwyrm/templates/snippets/book_cover.html +++ b/bookwyrm/templates/snippets/book_cover.html @@ -1,6 +1,5 @@ {% spaceless %} -{% load bookwyrm_tags %} {% load i18n %}
    {{ title }} by {% endblocktrans %}{% include 'snippets/authors.html' with book=book %} {% else %} diff --git a/bookwyrm/templates/snippets/create_status_form.html b/bookwyrm/templates/snippets/create_status_form.html index ca9cb5b40..5fd918981 100644 --- a/bookwyrm/templates/snippets/create_status_form.html +++ b/bookwyrm/templates/snippets/create_status_form.html @@ -1,5 +1,6 @@ {% load bookwyrm_tags %} {% load utilities %} +{% load status_display %} {% load i18n %} diff --git a/bookwyrm/templates/snippets/form_rate_stars.html b/bookwyrm/templates/snippets/form_rate_stars.html index 3abebac04..a53733df1 100644 --- a/bookwyrm/templates/snippets/form_rate_stars.html +++ b/bookwyrm/templates/snippets/form_rate_stars.html @@ -1,6 +1,5 @@ {% spaceless %} {% load i18n %} -{% load bookwyrm_tags %}
    diff --git a/bookwyrm/templates/snippets/status/status_header.html b/bookwyrm/templates/snippets/status/status_header.html index 605b46cce..b06c6bfc1 100644 --- a/bookwyrm/templates/snippets/status/status_header.html +++ b/bookwyrm/templates/snippets/status/status_header.html @@ -1,4 +1,5 @@ -{% load bookwyrm_tags %} +{% load utilities %} +{% load status_display %} {% load i18n %} {% load humanize %} @@ -29,7 +30,7 @@ {% if status.status_type == 'GeneratedNote' %} - {{ status.content | safe }} + {{ status.content|safe }} {% elif status.status_type == 'Rating' %} {% trans "rated" %} {% elif status.status_type == 'Review' %} diff --git a/bookwyrm/templates/snippets/trimmed_text.html b/bookwyrm/templates/snippets/trimmed_text.html index 6e222e97f..cfffe0551 100644 --- a/bookwyrm/templates/snippets/trimmed_text.html +++ b/bookwyrm/templates/snippets/trimmed_text.html @@ -1,4 +1,4 @@ -{% load bookwyrm_tags %} +{% load markdown %} {% load utilities %} {% load i18n %} diff --git a/bookwyrm/templates/snippets/user_options.html b/bookwyrm/templates/snippets/user_options.html index 32e83ed2c..01cc09bf5 100644 --- a/bookwyrm/templates/snippets/user_options.html +++ b/bookwyrm/templates/snippets/user_options.html @@ -1,6 +1,6 @@ {% extends 'components/dropdown.html' %} {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} {% block dropdown-trigger %} diff --git a/bookwyrm/templates/user/layout.html b/bookwyrm/templates/user/layout.html index 661d80781..0830a4068 100644 --- a/bookwyrm/templates/user/layout.html +++ b/bookwyrm/templates/user/layout.html @@ -1,7 +1,8 @@ {% extends 'layout.html' %} {% load i18n %} {% load humanize %} -{% load bookwyrm_tags %} +{% load utilities %} +{% load markdown %} {% block title %}{{ user.display_name }}{% endblock %} @@ -23,7 +24,7 @@ {% if user.summary %}
    - {{ user.summary | to_markdown | safe }} + {{ user.summary|to_markdown|safe }}
    {% endif %}
    diff --git a/bookwyrm/templates/user/relationships/layout.html b/bookwyrm/templates/user/relationships/layout.html index f36b304c7..0348d82fa 100644 --- a/bookwyrm/templates/user/relationships/layout.html +++ b/bookwyrm/templates/user/relationships/layout.html @@ -1,6 +1,6 @@ {% extends 'user/layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} {% block tabs %} {% with user|username as username %} diff --git a/bookwyrm/templates/user/shelf/shelf.html b/bookwyrm/templates/user/shelf/shelf.html index 86610629c..0f386385f 100644 --- a/bookwyrm/templates/user/shelf/shelf.html +++ b/bookwyrm/templates/user/shelf/shelf.html @@ -1,5 +1,5 @@ {% extends 'user/layout.html' %} -{% load bookwyrm_tags %} +{% load utilities %} {% load humanize %} {% load i18n %} @@ -101,14 +101,14 @@ {% include 'snippets/authors.html' %} - {{ book.created_date | naturalday }} + {{ book.created_date|naturalday }} {% latest_read_through book user as read_through %} - {{ read_through.start_date | naturalday |default_if_none:""}} + {{ read_through.start_date|naturalday|default_if_none:""}} - {{ read_through.finish_date | naturalday |default_if_none:""}} + {{ read_through.finish_date|naturalday|default_if_none:""}} {% if request.user.is_authenticated %} diff --git a/bookwyrm/templates/user/user.html b/bookwyrm/templates/user/user.html index 99698575b..5afe168a2 100644 --- a/bookwyrm/templates/user/user.html +++ b/bookwyrm/templates/user/user.html @@ -1,6 +1,6 @@ {% extends 'user/layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} +{% load utilities %} {% block title %}{{ user.display_name }}{% endblock %} diff --git a/bookwyrm/templates/user/user_preview.html b/bookwyrm/templates/user/user_preview.html index c450365bb..22d44c878 100644 --- a/bookwyrm/templates/user/user_preview.html +++ b/bookwyrm/templates/user/user_preview.html @@ -1,5 +1,6 @@ {% load i18n %} {% load humanize %} +{% load utilities %} {% load bookwyrm_tags %}
    diff --git a/bookwyrm/templates/user_admin/user.html b/bookwyrm/templates/user_admin/user.html index 463906501..c79c6971f 100644 --- a/bookwyrm/templates/user_admin/user.html +++ b/bookwyrm/templates/user_admin/user.html @@ -1,7 +1,5 @@ {% extends 'settings/admin_layout.html' %} {% load i18n %} -{% load bookwyrm_tags %} -{% load humanize %} {% block title %}{{ user.username }}{% endblock %} {% block header %}{{ user.username }}{% endblock %} diff --git a/bookwyrm/templates/user_admin/user_info.html b/bookwyrm/templates/user_admin/user_info.html index e5f5d5806..579b3af7e 100644 --- a/bookwyrm/templates/user_admin/user_info.html +++ b/bookwyrm/templates/user_admin/user_info.html @@ -1,5 +1,5 @@ {% load i18n %} -{% load bookwyrm_tags %} +{% load markdown %}

    {% trans "User details" %}

    @@ -7,7 +7,7 @@ {% include 'user/user_preview.html' with user=user %} {% if user.summary %}
    - {{ user.summary | to_markdown | safe }} + {{ user.summary|to_markdown|safe }}
    {% endif %} diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py index db9335e82..70228799f 100644 --- a/bookwyrm/templatetags/bookwyrm_tags.py +++ b/bookwyrm/templatetags/bookwyrm_tags.py @@ -36,57 +36,12 @@ def get_user_rating(book, user): return 0 -@register.filter(name="replies") -def get_replies(status): - """get all direct replies to a status""" - # TODO: this limit could cause problems - return models.Status.objects.filter( - reply_parent=status, - deleted=False, - ).select_subclasses()[:10] - - -@register.filter(name="parent") -def get_parent(status): - """get the reply parent for a status""" - return ( - models.Status.objects.filter(id=status.reply_parent_id) - .select_subclasses() - .get() - ) - - -@register.filter(name="boosted_status") -def get_boosted(boost): - """load a boosted status. have to do this or it won't get foreign keys""" - return ( - models.Status.objects.select_subclasses().get(id=boost.boosted_status.id) - ) - - @register.filter(name="book_description") def get_book_description(book): """use the work's text if the book doesn't have it""" return book.description or book.parent_work.description -@register.filter(name="to_markdown") -def get_markdown(content): - """convert markdown to html""" - if content: - return to_markdown(content) - return None - - -@register.filter(name="mentions") -def get_mentions(status, user): - """people to @ in a reply: the parent and all mentions""" - mentions = set([status.user] + list(status.mention_users.all())) - return ( - " ".join("@" + get_user_identifier(m) for m in mentions if not m == user) + " " - ) - - @register.filter(name="next_shelf") def get_next_shelf(current_shelf): """shelf you'd use to update reading progress""" diff --git a/bookwyrm/templatetags/markdown.py b/bookwyrm/templatetags/markdown.py new file mode 100644 index 000000000..370d60a1a --- /dev/null +++ b/bookwyrm/templatetags/markdown.py @@ -0,0 +1,14 @@ +""" template filters """ +from django import template +from bookwyrm.views.status import to_markdown + + +register = template.Library() + + +@register.filter(name="to_markdown") +def get_markdown(content): + """convert markdown to html""" + if content: + return to_markdown(content) + return None diff --git a/bookwyrm/templatetags/status_display.py b/bookwyrm/templatetags/status_display.py new file mode 100644 index 000000000..589881bf8 --- /dev/null +++ b/bookwyrm/templatetags/status_display.py @@ -0,0 +1,46 @@ +""" template filters """ +from django import template + +from bookwyrm import models +from bookwyrm.templatetags.utilities import get_user_identifier + + +register = template.Library() + + +@register.filter(name="mentions") +def get_mentions(status, user): + """people to @ in a reply: the parent and all mentions""" + mentions = set([status.user] + list(status.mention_users.all())) + return ( + " ".join("@" + get_user_identifier(m) for m in mentions if not m == user) + " " + ) + + + +@register.filter(name="replies") +def get_replies(status): + """get all direct replies to a status""" + # TODO: this limit could cause problems + return models.Status.objects.filter( + reply_parent=status, + deleted=False, + ).select_subclasses()[:10] + + +@register.filter(name="parent") +def get_parent(status): + """get the reply parent for a status""" + return ( + models.Status.objects.filter(id=status.reply_parent_id) + .select_subclasses() + .get() + ) + + +@register.filter(name="boosted_status") +def get_boosted(boost): + """load a boosted status. have to do this or it won't get foreign keys""" + return ( + models.Status.objects.select_subclasses().get(id=boost.boosted_status.id) + ) From dbf795be5d785f1464b902850ab9bd2d0c6b4f0b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 15:16:27 -0700 Subject: [PATCH 21/36] Python formatting --- bookwyrm/templatetags/status_display.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/bookwyrm/templatetags/status_display.py b/bookwyrm/templatetags/status_display.py index 589881bf8..f39de9e39 100644 --- a/bookwyrm/templatetags/status_display.py +++ b/bookwyrm/templatetags/status_display.py @@ -17,7 +17,6 @@ def get_mentions(status, user): ) - @register.filter(name="replies") def get_replies(status): """get all direct replies to a status""" @@ -41,6 +40,4 @@ def get_parent(status): @register.filter(name="boosted_status") def get_boosted(boost): """load a boosted status. have to do this or it won't get foreign keys""" - return ( - models.Status.objects.select_subclasses().get(id=boost.boosted_status.id) - ) + return models.Status.objects.select_subclasses().get(id=boost.boosted_status.id) From 87bf863ac656c7326d8d90d145f04f7efbcaba67 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 15:29:18 -0700 Subject: [PATCH 22/36] Revert "Preserve width when cover images fail to load" --- bookwyrm/templates/snippets/book_cover.html | 1 - 1 file changed, 1 deletion(-) diff --git a/bookwyrm/templates/snippets/book_cover.html b/bookwyrm/templates/snippets/book_cover.html index 3c6f212d3..5f12858f6 100644 --- a/bookwyrm/templates/snippets/book_cover.html +++ b/bookwyrm/templates/snippets/book_cover.html @@ -6,7 +6,6 @@
    hi

    ") - result = bookwyrm_tags.get_markdown("_hi_") + result = markdown.get_markdown("_hi_") self.assertEqual(result, "

    hi

    ") def test_get_mentions(self, _): """list of people mentioned""" status = models.Status.objects.create(content="hi", user=self.remote_user) - result = bookwyrm_tags.get_mentions(status, self.user) + result = status_display.get_mentions(status, self.user) self.assertEqual(result, "@rat@example.com ") def test_related_status(self, _): From 3b9fed1b31882374938a83097da2dacd35d2cd0f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 11 May 2021 18:59:31 -0700 Subject: [PATCH 24/36] Filter for concise status timestamps --- .../snippets/status/status_header.html | 2 +- bookwyrm/templatetags/status_display.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/snippets/status/status_header.html b/bookwyrm/templates/snippets/status/status_header.html index b06c6bfc1..9ff7f9ff3 100644 --- a/bookwyrm/templates/snippets/status/status_header.html +++ b/bookwyrm/templates/snippets/status/status_header.html @@ -92,7 +92,7 @@

    - {{ status.published_date|timesince }} + {{ status.published_date|published_date }} {% if status.progress %} {% if status.progress_mode == 'PG' %} diff --git a/bookwyrm/templatetags/status_display.py b/bookwyrm/templatetags/status_display.py index f39de9e39..4d9984c86 100644 --- a/bookwyrm/templatetags/status_display.py +++ b/bookwyrm/templatetags/status_display.py @@ -1,6 +1,8 @@ """ template filters """ +from dateutil.relativedelta import relativedelta from django import template - +from django.contrib.humanize.templatetags.humanize import naturaltime, naturalday +from django.utils import timezone from bookwyrm import models from bookwyrm.templatetags.utilities import get_user_identifier @@ -41,3 +43,17 @@ def get_parent(status): def get_boosted(boost): """load a boosted status. have to do this or it won't get foreign keys""" return models.Status.objects.select_subclasses().get(id=boost.boosted_status.id) + + +@register.filter(name="published_date") +def get_published_date(date): + """less verbose combo of humanize filters""" + if not date: + return "" + now = timezone.now() + delta = relativedelta(now, date) + if delta.years: + return naturalday(date) + if delta.days: + return naturalday(date, "M j") + return naturaltime(date) From 2b4ac71d7acf86f9fbcbe351cf84c6ae8ee55be4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 14 May 2021 15:21:26 -0700 Subject: [PATCH 25/36] Updates footer language around github link --- bookwyrm/templates/layout.html | 2 +- locale/de_DE/LC_MESSAGES/django.po | 660 ++++++++++++++------------- locale/en_US/LC_MESSAGES/django.po | 644 +++++++++++++------------- locale/es/LC_MESSAGES/django.po | 656 +++++++++++++------------- locale/fr_FR/LC_MESSAGES/django.po | 656 +++++++++++++------------- locale/zh_Hans/LC_MESSAGES/django.po | 656 +++++++++++++------------- 6 files changed, 1717 insertions(+), 1557 deletions(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index becf77819..3a4fd6c85 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -214,7 +214,7 @@

    {% endif %}

    - {% trans 'BookWyrm is open source software. You can contribute or report issues on GitHub.' %} + {% blocktrans %}BookWyrm's source code is freely available. You can contribute or report issues on GitHub.{% endblocktrans %}

    {% if site.footer_item %} diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 7f274af9d..7b9a929da 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-05-10 13:23-0700\n" +"POT-Creation-Date: 2021-05-14 15:12-0700\n" "PO-Revision-Date: 2021-03-02 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -61,13 +61,13 @@ msgstr "" msgid "Book Title" msgstr "Titel" -#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:31 -#: bookwyrm/templates/user/shelf/shelf.html:82 -#: bookwyrm/templates/user/shelf/shelf.html:112 +#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34 +#: bookwyrm/templates/user/shelf/shelf.html:84 +#: bookwyrm/templates/user/shelf/shelf.html:115 msgid "Rating" msgstr "" -#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:100 +#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101 msgid "Sort By" msgstr "" @@ -141,19 +141,157 @@ msgstr "" msgid "Something went wrong! Sorry about that." msgstr "Etwas lief schief. Entschuldigung!" -#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/author/author.html:17 +#: bookwyrm/templates/author/author.html:18 msgid "Edit Author" msgstr "Autor*in editieren" -#: bookwyrm/templates/author.html:31 +#: bookwyrm/templates/author/author.html:33 +#: bookwyrm/templates/author/edit_author.html:38 +msgid "Aliases:" +msgstr "" + +#: bookwyrm/templates/author/author.html:39 +msgid "Born:" +msgstr "" + +#: bookwyrm/templates/author/author.html:45 +msgid "Died:" +msgstr "" + +#: bookwyrm/templates/author/author.html:52 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author.html:36 +#: bookwyrm/templates/author/author.html:56 +#: bookwyrm/templates/book/book.html:81 +msgid "View on OpenLibrary" +msgstr "In OpenLibrary ansehen" + +#: bookwyrm/templates/author/author.html:61 +#: bookwyrm/templates/book/book.html:84 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "View on Inventaire" +msgstr "In OpenLibrary ansehen" + +#: bookwyrm/templates/author/author.html:75 #, python-format msgid "Books by %(name)s" msgstr "Bücher von %(name)s" +#: bookwyrm/templates/author/edit_author.html:5 +#, fuzzy +#| msgid "Edit Author" +msgid "Edit Author:" +msgstr "Autor*in editieren" + +#: bookwyrm/templates/author/edit_author.html:13 +#: bookwyrm/templates/book/edit_book.html:18 +msgid "Added:" +msgstr "Hinzugefügt:" + +#: bookwyrm/templates/author/edit_author.html:14 +#: bookwyrm/templates/book/edit_book.html:19 +msgid "Updated:" +msgstr "Aktualisiert:" + +#: bookwyrm/templates/author/edit_author.html:15 +#: bookwyrm/templates/book/edit_book.html:20 +msgid "Last edited by:" +msgstr "Zuletzt bearbeitet von:" + +#: bookwyrm/templates/author/edit_author.html:31 +#: bookwyrm/templates/book/edit_book.html:90 +msgid "Metadata" +msgstr "Metadaten" + +#: bookwyrm/templates/author/edit_author.html:32 +#: bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 +#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 +msgid "Name:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:40 +#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:165 +#, fuzzy +#| msgid "Separate multiple publishers with commas." +msgid "Separate multiple values with commas." +msgstr "Mehrere Herausgeber:innen durch Kommata trennen" + +#: bookwyrm/templates/author/edit_author.html:46 +msgid "Bio:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:51 +msgid "Wikipedia link:" +msgstr "Wikipedialink:" + +#: bookwyrm/templates/author/edit_author.html:57 +msgid "Birth date:" +msgstr "Geburtsdatum:" + +#: bookwyrm/templates/author/edit_author.html:65 +msgid "Death date:" +msgstr "Todesdatum:" + +#: bookwyrm/templates/author/edit_author.html:73 +msgid "Author Identifiers" +msgstr "Autor*innenidentifikatoren" + +#: bookwyrm/templates/author/edit_author.html:74 +#: bookwyrm/templates/book/edit_book.html:223 +msgid "Openlibrary key:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:79 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "Inventaire ID:" +msgstr "In OpenLibrary ansehen" + +#: bookwyrm/templates/author/edit_author.html:84 +msgid "Librarything key:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:89 +msgid "Goodreads key:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/book.html:127 +#: bookwyrm/templates/book/edit_book.html:241 +#: bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:70 +#: bookwyrm/templates/settings/edit_server.html:68 +#: bookwyrm/templates/settings/federated_server.html:94 +#: bookwyrm/templates/settings/site.html:97 +#: bookwyrm/templates/snippets/readthrough.html:77 +#: 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:34 +#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 +msgid "Save" +msgstr "Speichern" + +#: bookwyrm/templates/author/edit_author.html:99 +#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 +#: bookwyrm/templates/book/cover_modal.html:32 +#: bookwyrm/templates/book/edit_book.html:242 +#: bookwyrm/templates/moderation/report_modal.html:34 +#: bookwyrm/templates/settings/federated_server.html:95 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:78 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "Abbrechen" + #: bookwyrm/templates/book/book.html:33 #: bookwyrm/templates/discover/large-book.html:25 #: bookwyrm/templates/discover/small-book.html:19 @@ -175,16 +313,6 @@ msgstr "Cover hinzufügen" msgid "Failed to load cover" msgstr "Laden fehlgeschlagen" -#: bookwyrm/templates/book/book.html:81 -msgid "View on OpenLibrary" -msgstr "In OpenLibrary ansehen" - -#: bookwyrm/templates/book/book.html:84 -#, fuzzy -#| msgid "View on OpenLibrary" -msgid "View on Inventaire" -msgstr "In OpenLibrary ansehen" - #: bookwyrm/templates/book/book.html:104 #, python-format msgid "(%(review_count)s review)" @@ -202,37 +330,6 @@ msgstr "Beschreibung hinzufügen" msgid "Description:" msgstr "Beschreibung:" -#: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:249 -#: bookwyrm/templates/edit_author.html:78 bookwyrm/templates/lists/form.html:42 -#: bookwyrm/templates/preferences/edit_user.html:70 -#: bookwyrm/templates/settings/edit_server.html:68 -#: bookwyrm/templates/settings/federated_server.html:93 -#: bookwyrm/templates/settings/site.html:97 -#: bookwyrm/templates/snippets/readthrough.html:77 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:50 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:38 -#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 -msgid "Save" -msgstr "Speichern" - -#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 -#: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:250 -#: bookwyrm/templates/edit_author.html:79 -#: bookwyrm/templates/moderation/report_modal.html:34 -#: bookwyrm/templates/settings/federated_server.html:94 -#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 -#: bookwyrm/templates/snippets/goal_form.html:32 -#: bookwyrm/templates/snippets/readthrough.html:78 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:51 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 -#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 -msgid "Cancel" -msgstr "Abbrechen" - #: bookwyrm/templates/book/book.html:137 #, fuzzy, python-format #| msgid "%(title)s by " @@ -307,7 +404,7 @@ msgstr "Orte" #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 #: bookwyrm/templates/search/layout.html:50 -#: bookwyrm/templates/user/layout.html:67 +#: bookwyrm/templates/user/layout.html:68 msgid "Lists" msgstr "Listen" @@ -319,7 +416,7 @@ msgstr "Zur Liste" #: bookwyrm/templates/book/book.html:320 #: bookwyrm/templates/book/cover_modal.html:31 -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Add" msgstr "Hinzufügen" @@ -328,24 +425,24 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:227 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:239 +#: bookwyrm/templates/book/edit_book.html:231 msgid "ASIN:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:187 +#: bookwyrm/templates/book/edit_book.html:179 #, fuzzy #| msgid "Add cover" msgid "Upload cover:" msgstr "Cover hinzufügen" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:193 +#: bookwyrm/templates/book/edit_book.html:185 msgid "Load cover from url:" msgstr "Cover von URL laden:" @@ -363,21 +460,6 @@ msgstr "Editionen von %(book_title)s" msgid "Add Book" msgstr "Bücher hinzufügen" -#: bookwyrm/templates/book/edit_book.html:18 -#: bookwyrm/templates/edit_author.html:13 -msgid "Added:" -msgstr "Hinzugefügt:" - -#: bookwyrm/templates/book/edit_book.html:19 -#: bookwyrm/templates/edit_author.html:14 -msgid "Updated:" -msgstr "Aktualisiert:" - -#: bookwyrm/templates/book/edit_book.html:20 -#: bookwyrm/templates/edit_author.html:15 -msgid "Last edited by:" -msgstr "Zuletzt bearbeitet von:" - #: bookwyrm/templates/book/edit_book.html:40 msgid "Confirm Book Info" msgstr "Buchinfo bestätigen" @@ -420,11 +502,6 @@ msgstr "Bestätigen" msgid "Back" msgstr "Zurück" -#: bookwyrm/templates/book/edit_book.html:90 -#: bookwyrm/templates/edit_author.html:31 -msgid "Metadata" -msgstr "Metadaten" - #: bookwyrm/templates/book/edit_book.html:92 msgid "Title:" msgstr "Titel:" @@ -447,81 +524,72 @@ msgstr "Seriennummer:" msgid "Publisher:" msgstr "Veröffentlicht" -#: bookwyrm/templates/book/edit_book.html:128 -msgid "Separate multiple publishers with commas." -msgstr "Mehrere Herausgeber:innen durch Kommata trennen" - #: bookwyrm/templates/book/edit_book.html:135 msgid "First published date:" msgstr "Erstveröffentlichungsdatum:" -#: bookwyrm/templates/book/edit_book.html:147 +#: bookwyrm/templates/book/edit_book.html:143 msgid "Published date:" msgstr "Veröffentlichungsdatum:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:152 #, fuzzy #| msgid "Author" msgid "Authors" msgstr "Autor*in" -#: bookwyrm/templates/book/edit_book.html:166 +#: bookwyrm/templates/book/edit_book.html:158 #, fuzzy, python-format #| msgid "Direct Messages with %(username)s" msgid "Remove %(name)s" msgstr "Direktnachrichten mit %(username)s" -#: bookwyrm/templates/book/edit_book.html:171 +#: bookwyrm/templates/book/edit_book.html:163 #, fuzzy #| msgid "Edit Author" msgid "Add Authors:" msgstr "Autor*in editieren" -#: bookwyrm/templates/book/edit_book.html:172 +#: bookwyrm/templates/book/edit_book.html:164 msgid "John Doe, Jane Smith" msgstr "" -#: bookwyrm/templates/book/edit_book.html:178 -#: bookwyrm/templates/user/shelf/shelf.html:76 +#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/user/shelf/shelf.html:77 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit_book.html:206 +#: bookwyrm/templates/book/edit_book.html:198 msgid "Physical Properties" msgstr "Physikalische Eigenschaften" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:199 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:207 msgid "Pages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit_book.html:222 +#: bookwyrm/templates/book/edit_book.html:214 msgid "Book Identifiers" msgstr "Buchidentifikatoren" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:215 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:219 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:231 -#: bookwyrm/templates/edit_author.html:59 -msgid "Openlibrary key:" -msgstr "" - -#: bookwyrm/templates/book/editions.html:5 +#: bookwyrm/templates/book/editions.html:4 #, python-format msgid "Editions of %(book_title)s" msgstr "Editionen von %(book_title)s" -#: bookwyrm/templates/book/editions.html:9 +#: bookwyrm/templates/book/editions.html:8 #, python-format msgid "Editions of \"%(work_title)s\"" msgstr "Editionen von \"%(work_title)s\"" @@ -574,7 +642,7 @@ msgstr "Veröffentlicht von %(publisher)s." #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 -#: bookwyrm/templates/feed/feed_layout.html:70 +#: bookwyrm/templates/feed/feed_layout.html:69 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 #: bookwyrm/templates/search/book.html:32 @@ -640,7 +708,7 @@ msgstr "Vorschlagen" msgid "Recently active" msgstr "" -#: bookwyrm/templates/directory/user_card.html:32 +#: bookwyrm/templates/directory/user_card.html:33 #, fuzzy #| msgid "followed you" msgid "follower you follow" @@ -648,7 +716,7 @@ msgid_plural "followers you follow" msgstr[0] "folgt dir" msgstr[1] "folgt dir" -#: bookwyrm/templates/directory/user_card.html:39 +#: bookwyrm/templates/directory/user_card.html:40 #, fuzzy #| msgid "Your shelves" msgid "book on your shelves" @@ -656,11 +724,11 @@ msgid_plural "books on your shelves" msgstr[0] "Deine Regale" msgstr[1] "Deine Regale" -#: bookwyrm/templates/directory/user_card.html:47 +#: bookwyrm/templates/directory/user_card.html:48 msgid "posts" msgstr "" -#: bookwyrm/templates/directory/user_card.html:53 +#: bookwyrm/templates/directory/user_card.html:54 msgid "last active" msgstr "" @@ -748,46 +816,6 @@ msgstr "Absenden" msgid "Your Account" msgstr "Dein Account" -#: bookwyrm/templates/edit_author.html:5 -#, fuzzy -#| msgid "Edit Author" -msgid "Edit Author:" -msgstr "Autor*in editieren" - -#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 -#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 -#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 -msgid "Name:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:37 -msgid "Bio:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:42 -msgid "Wikipedia link:" -msgstr "Wikipedialink:" - -#: bookwyrm/templates/edit_author.html:47 -msgid "Birth date:" -msgstr "Geburtsdatum:" - -#: bookwyrm/templates/edit_author.html:52 -msgid "Death date:" -msgstr "Todesdatum:" - -#: bookwyrm/templates/edit_author.html:58 -msgid "Author Identifiers" -msgstr "Autor*innenidentifikatoren" - -#: bookwyrm/templates/edit_author.html:64 -msgid "Librarything key:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:69 -msgid "Goodreads key:" -msgstr "" - #: bookwyrm/templates/email/html_layout.html:15 #: bookwyrm/templates/email/text_layout.html:2 msgid "Hi there," @@ -872,82 +900,82 @@ msgstr "Alle Nachrichten" msgid "You have no messages right now." msgstr "Du hast momentan keine Nachrichten." -#: bookwyrm/templates/feed/feed.html:9 +#: bookwyrm/templates/feed/feed.html:8 msgid "Home Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:11 +#: bookwyrm/templates/feed/feed.html:10 msgid "Local Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:12 #, fuzzy #| msgid "Federated Servers" msgid "Federated Timeline" msgstr "Föderierende Server" -#: bookwyrm/templates/feed/feed.html:19 +#: bookwyrm/templates/feed/feed.html:18 msgid "Home" msgstr "" -#: bookwyrm/templates/feed/feed.html:22 +#: bookwyrm/templates/feed/feed.html:21 msgid "Local" msgstr "Lokal" -#: bookwyrm/templates/feed/feed.html:25 +#: bookwyrm/templates/feed/feed.html:24 #: bookwyrm/templates/settings/edit_server.html:40 msgid "Federated" msgstr "Föderiert" -#: bookwyrm/templates/feed/feed.html:33 +#: bookwyrm/templates/feed/feed.html:32 #, python-format msgid "load 0 unread status(es)" msgstr "" -#: bookwyrm/templates/feed/feed.html:48 +#: bookwyrm/templates/feed/feed.html:47 msgid "There aren't any activities right now! Try following a user to get started" msgstr "Hier sind noch keine Aktivitäten! Folge anderen, um loszulegen" -#: bookwyrm/templates/feed/feed.html:56 +#: bookwyrm/templates/feed/feed.html:55 #: bookwyrm/templates/get_started/users.html:6 msgid "Who to follow" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:5 +#: bookwyrm/templates/feed/feed_layout.html:4 msgid "Updates" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:11 +#: bookwyrm/templates/feed/feed_layout.html:10 #: bookwyrm/templates/layout.html:59 #: bookwyrm/templates/user/shelf/books_header.html:3 msgid "Your books" msgstr "Deine Bücher" -#: bookwyrm/templates/feed/feed_layout.html:13 +#: bookwyrm/templates/feed/feed_layout.html:12 msgid "There are no books here right now! Try searching for a book to get started" msgstr "Hier sind noch keine Bücher! Versuche nach Büchern zu suchen um loszulegen" -#: bookwyrm/templates/feed/feed_layout.html:24 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf/shelf.html:29 #, fuzzy #| msgid "Read" msgid "To Read" msgstr "Auf der Leseliste" -#: bookwyrm/templates/feed/feed_layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf/shelf.html:29 #, fuzzy #| msgid "Start reading" msgid "Currently Reading" msgstr "Gerade lesend" -#: bookwyrm/templates/feed/feed_layout.html:26 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Read" msgstr "Gelesen" -#: bookwyrm/templates/feed/feed_layout.html:88 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:87 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -980,7 +1008,7 @@ msgid "What are you reading?" msgstr "Zu lesen angefangen" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/lists/list.html:119 +#: bookwyrm/templates/lists/list.html:120 msgid "Search for a book" msgstr "Nach einem Buch suchen" @@ -1000,7 +1028,7 @@ msgstr "" #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39 -#: bookwyrm/templates/lists/list.html:123 +#: bookwyrm/templates/lists/list.html:124 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -1019,7 +1047,7 @@ msgid "Popular on %(site_name)s" msgstr "Über %(site_name)s" #: bookwyrm/templates/get_started/books.html:58 -#: bookwyrm/templates/lists/list.html:136 +#: bookwyrm/templates/lists/list.html:137 msgid "No books found" msgstr "Keine Bücher gefunden" @@ -1152,95 +1180,95 @@ msgstr "Bücher importieren" msgid "Data source:" msgstr "Datenquelle" -#: bookwyrm/templates/import.html:29 +#: bookwyrm/templates/import.html:32 msgid "Data file:" msgstr "" -#: bookwyrm/templates/import.html:37 +#: bookwyrm/templates/import.html:40 msgid "Include reviews" msgstr "Bewertungen importieren" -#: bookwyrm/templates/import.html:42 +#: bookwyrm/templates/import.html:45 msgid "Privacy setting for imported reviews:" msgstr "Datenschutzeinstellung für importierte Bewertungen" -#: bookwyrm/templates/import.html:48 +#: bookwyrm/templates/import.html:51 #: bookwyrm/templates/settings/server_blocklist.html:64 msgid "Import" msgstr "Importieren" -#: bookwyrm/templates/import.html:53 +#: bookwyrm/templates/import.html:56 msgid "Recent Imports" msgstr "Aktuelle Importe" -#: bookwyrm/templates/import.html:55 +#: bookwyrm/templates/import.html:58 msgid "No recent imports" msgstr "Keine aktuellen Importe" -#: bookwyrm/templates/import_status.html:6 -#: bookwyrm/templates/import_status.html:10 +#: bookwyrm/templates/import_status.html:5 +#: bookwyrm/templates/import_status.html:9 msgid "Import Status" msgstr "Importstatus" -#: bookwyrm/templates/import_status.html:13 +#: bookwyrm/templates/import_status.html:12 msgid "Import started:" msgstr "Import gestartet:" -#: bookwyrm/templates/import_status.html:17 +#: bookwyrm/templates/import_status.html:16 msgid "Import completed:" msgstr "Import abgeschlossen:" -#: bookwyrm/templates/import_status.html:20 +#: bookwyrm/templates/import_status.html:19 msgid "TASK FAILED" msgstr "AUFGABE GESCHEITERT" -#: bookwyrm/templates/import_status.html:26 +#: bookwyrm/templates/import_status.html:25 msgid "Import still in progress." msgstr "Import läuft noch." -#: bookwyrm/templates/import_status.html:28 +#: bookwyrm/templates/import_status.html:27 msgid "(Hit reload to update!)" msgstr "(Aktualisiere für ein Update!)" -#: bookwyrm/templates/import_status.html:35 +#: bookwyrm/templates/import_status.html:34 msgid "Failed to load" msgstr "Laden fehlgeschlagen" -#: bookwyrm/templates/import_status.html:44 +#: bookwyrm/templates/import_status.html:43 #, python-format msgid "Jump to the bottom of the list to select the %(failed_count)s items which failed to import." msgstr "Zum Ende der Liste springen, um die %(failed_count)s Einträge, deren Import fehlschlug, auszuwählen." -#: bookwyrm/templates/import_status.html:79 +#: bookwyrm/templates/import_status.html:78 msgid "Select all" msgstr "Alle auswählen" -#: bookwyrm/templates/import_status.html:82 +#: bookwyrm/templates/import_status.html:81 msgid "Retry items" msgstr "Punkte erneut versuchen" -#: bookwyrm/templates/import_status.html:108 +#: bookwyrm/templates/import_status.html:107 msgid "Successfully imported" msgstr "Erfolgreich importiert" -#: bookwyrm/templates/import_status.html:112 +#: bookwyrm/templates/import_status.html:111 msgid "Book" msgstr "Buch" -#: bookwyrm/templates/import_status.html:115 -#: bookwyrm/templates/snippets/create_status_form.html:10 -#: bookwyrm/templates/user/shelf/shelf.html:77 -#: bookwyrm/templates/user/shelf/shelf.html:95 +#: bookwyrm/templates/import_status.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:78 +#: bookwyrm/templates/user/shelf/shelf.html:98 msgid "Title" msgstr "Titel" -#: bookwyrm/templates/import_status.html:118 -#: bookwyrm/templates/user/shelf/shelf.html:78 -#: bookwyrm/templates/user/shelf/shelf.html:98 +#: bookwyrm/templates/import_status.html:117 +#: bookwyrm/templates/user/shelf/shelf.html:79 +#: bookwyrm/templates/user/shelf/shelf.html:101 msgid "Author" msgstr "Autor*in" -#: bookwyrm/templates/import_status.html:141 +#: bookwyrm/templates/import_status.html:140 msgid "Imported" msgstr "Importiert" @@ -1351,7 +1379,8 @@ msgid "Support %(site_name)s on % msgstr "%(site_name)s auf %(support_title)s unterstützen" #: bookwyrm/templates/layout.html:217 -msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +#| msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." #: bookwyrm/templates/lists/create_form.html:5 @@ -1396,7 +1425,7 @@ msgid "Discard" msgstr "Ablehnen" #: bookwyrm/templates/lists/edit_form.html:5 -#: bookwyrm/templates/lists/list_layout.html:18 +#: bookwyrm/templates/lists/list_layout.html:17 msgid "Edit List" msgstr "Liste bearbeiten" @@ -1430,77 +1459,77 @@ msgstr "Offen" msgid "Anyone can add books to this list" msgstr "Alle können Bücher hinzufügen" -#: bookwyrm/templates/lists/list.html:19 +#: bookwyrm/templates/lists/list.html:20 msgid "You successfully suggested a book for this list!" msgstr "" -#: bookwyrm/templates/lists/list.html:21 +#: bookwyrm/templates/lists/list.html:22 #, fuzzy #| msgid "Anyone can add books to this list" msgid "You successfully added a book to this list!" msgstr "Alle können Bücher hinzufügen" -#: bookwyrm/templates/lists/list.html:27 +#: bookwyrm/templates/lists/list.html:28 msgid "This list is currently empty" msgstr "Diese Liste ist momentan leer" -#: bookwyrm/templates/lists/list.html:64 +#: bookwyrm/templates/lists/list.html:65 #, fuzzy, python-format #| msgid "Direct Messages with %(username)s" msgid "Added by %(username)s" msgstr "Direktnachrichten mit %(username)s" -#: bookwyrm/templates/lists/list.html:76 +#: bookwyrm/templates/lists/list.html:77 #, fuzzy #| msgid "Started" msgid "Set" msgstr "Gestartet" -#: bookwyrm/templates/lists/list.html:79 +#: bookwyrm/templates/lists/list.html:80 #, fuzzy #| msgid "List curation:" msgid "List position" msgstr "Listenkuratierung:" -#: bookwyrm/templates/lists/list.html:85 +#: bookwyrm/templates/lists/list.html:86 #: bookwyrm/templates/snippets/shelf_selector.html:26 msgid "Remove" msgstr "Entfernen" -#: bookwyrm/templates/lists/list.html:98 bookwyrm/templates/lists/list.html:110 +#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111 #, fuzzy #| msgid "Your Lists" msgid "Sort List" msgstr "Deine Listen" -#: bookwyrm/templates/lists/list.html:104 +#: bookwyrm/templates/lists/list.html:105 #, fuzzy #| msgid "List curation:" msgid "Direction" msgstr "Listenkuratierung:" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Add Books" msgstr "Bücher hinzufügen" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Suggest Books" msgstr "Bücher vorschlagen" -#: bookwyrm/templates/lists/list.html:124 +#: bookwyrm/templates/lists/list.html:125 msgid "search" msgstr "suchen" -#: bookwyrm/templates/lists/list.html:130 +#: bookwyrm/templates/lists/list.html:131 msgid "Clear search" msgstr "Suche leeren" -#: bookwyrm/templates/lists/list.html:135 +#: bookwyrm/templates/lists/list.html:136 #, python-format msgid "No books found matching the query \"%(query)s\"" msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden" -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Suggest" msgstr "Vorschlagen" @@ -1525,38 +1554,38 @@ msgstr "Kontaktiere für eine Einladung eine*n Admin" msgid "More about this site" msgstr "Mehr über diese Seite" +#: bookwyrm/templates/moderation/report.html:5 #: bookwyrm/templates/moderation/report.html:6 -#: bookwyrm/templates/moderation/report.html:7 #: bookwyrm/templates/moderation/report_preview.html:6 #, python-format msgid "Report #%(report_id)s: %(username)s" msgstr "Meldung #%(report_id)s: %(username)s" -#: bookwyrm/templates/moderation/report.html:11 +#: bookwyrm/templates/moderation/report.html:10 msgid "Back to reports" msgstr "Zurück zu den Meldungen" -#: bookwyrm/templates/moderation/report.html:23 +#: bookwyrm/templates/moderation/report.html:22 msgid "Moderator Comments" msgstr "Moderator:innenkommentare" -#: bookwyrm/templates/moderation/report.html:41 +#: bookwyrm/templates/moderation/report.html:40 #: bookwyrm/templates/snippets/create_status.html:28 -#: bookwyrm/templates/snippets/create_status_form.html:63 +#: bookwyrm/templates/snippets/create_status_form.html:66 msgid "Comment" msgstr "Kommentieren" -#: bookwyrm/templates/moderation/report.html:46 +#: bookwyrm/templates/moderation/report.html:45 #, fuzzy #| msgid "Delete status" msgid "Reported statuses" msgstr "Post löschen" -#: bookwyrm/templates/moderation/report.html:48 +#: bookwyrm/templates/moderation/report.html:47 msgid "No statuses reported" msgstr "Keine Beiträge gemeldet" -#: bookwyrm/templates/moderation/report.html:54 +#: bookwyrm/templates/moderation/report.html:53 #, fuzzy #| msgid "Statuses has been deleted" msgid "Status has been deleted" @@ -1848,7 +1877,7 @@ msgstr "Suche" #: bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 -#: bookwyrm/templates/user/layout.html:73 +#: bookwyrm/templates/user/layout.html:74 #, fuzzy #| msgid "Book" msgid "Books" @@ -1925,7 +1954,7 @@ msgid "Add server" msgstr "Cover hinzufügen" #: bookwyrm/templates/settings/edit_server.html:7 -#: bookwyrm/templates/settings/federated_server.html:12 +#: bookwyrm/templates/settings/federated_server.html:13 #: bookwyrm/templates/settings/server_blocklist.html:7 #, fuzzy #| msgid "Back to reports" @@ -1946,7 +1975,7 @@ msgid "Instance:" msgstr "Instanzname" #: bookwyrm/templates/settings/edit_server.html:37 -#: bookwyrm/templates/settings/federated_server.html:29 +#: bookwyrm/templates/settings/federated_server.html:30 #: bookwyrm/templates/user_admin/user_info.html:34 #, fuzzy #| msgid "Import Status" @@ -1954,20 +1983,20 @@ msgid "Status:" msgstr "Importstatus" #: bookwyrm/templates/settings/edit_server.html:41 -#: bookwyrm/templates/settings/federated_server.html:9 +#: bookwyrm/templates/settings/federated_server.html:10 #, fuzzy #| msgid "Blocked Users" msgid "Blocked" msgstr "Blockierte Nutzer*innen" #: bookwyrm/templates/settings/edit_server.html:48 -#: bookwyrm/templates/settings/federated_server.html:21 +#: bookwyrm/templates/settings/federated_server.html:22 #: bookwyrm/templates/user_admin/user_info.html:26 msgid "Software:" msgstr "" #: bookwyrm/templates/settings/edit_server.html:55 -#: bookwyrm/templates/settings/federated_server.html:25 +#: bookwyrm/templates/settings/federated_server.html:26 #: bookwyrm/templates/user_admin/user_info.html:30 #, fuzzy #| msgid "Description:" @@ -1978,81 +2007,81 @@ msgstr "Beschreibung:" msgid "Notes:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:18 +#: bookwyrm/templates/settings/federated_server.html:19 msgid "Details" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:36 -#: bookwyrm/templates/user/layout.html:55 +#: bookwyrm/templates/settings/federated_server.html:37 +#: bookwyrm/templates/user/layout.html:56 msgid "Activity" msgstr "Aktivität" -#: bookwyrm/templates/settings/federated_server.html:39 +#: bookwyrm/templates/settings/federated_server.html:40 msgid "Users:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:42 -#: bookwyrm/templates/settings/federated_server.html:49 +#: bookwyrm/templates/settings/federated_server.html:43 +#: bookwyrm/templates/settings/federated_server.html:50 msgid "View all" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:46 +#: bookwyrm/templates/settings/federated_server.html:47 #, fuzzy #| msgid "Recent Imports" msgid "Reports:" msgstr "Aktuelle Importe" -#: bookwyrm/templates/settings/federated_server.html:53 +#: bookwyrm/templates/settings/federated_server.html:54 #, fuzzy #| msgid "followed you" msgid "Followed by us:" msgstr "folgt dir" -#: bookwyrm/templates/settings/federated_server.html:59 +#: bookwyrm/templates/settings/federated_server.html:60 #, fuzzy #| msgid "followed you" msgid "Followed by them:" msgstr "folgt dir" -#: bookwyrm/templates/settings/federated_server.html:65 +#: bookwyrm/templates/settings/federated_server.html:66 #, fuzzy #| msgid "Blocked Users" msgid "Blocked by us:" msgstr "Blockierte Nutzer*innen" -#: bookwyrm/templates/settings/federated_server.html:77 +#: bookwyrm/templates/settings/federated_server.html:78 #: bookwyrm/templates/user_admin/user_info.html:39 msgid "Notes" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:80 +#: bookwyrm/templates/settings/federated_server.html:81 #, fuzzy #| msgid "Edit Book" msgid "Edit" msgstr "Buch editieren" -#: bookwyrm/templates/settings/federated_server.html:100 +#: bookwyrm/templates/settings/federated_server.html:101 #: bookwyrm/templates/user_admin/user_moderation_actions.html:3 #, fuzzy #| msgid "Notifications" msgid "Actions" msgstr "Benachrichtigungen" -#: bookwyrm/templates/settings/federated_server.html:104 +#: bookwyrm/templates/settings/federated_server.html:105 #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:105 +#: bookwyrm/templates/settings/federated_server.html:106 msgid "All users from this instance will be deactivated." msgstr "" -#: bookwyrm/templates/settings/federated_server.html:110 +#: bookwyrm/templates/settings/federated_server.html:111 #: bookwyrm/templates/snippets/block_button.html:10 msgid "Un-block" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:111 +#: bookwyrm/templates/settings/federated_server.html:112 msgid "All users from this instance will be re-activated." msgstr "" @@ -2281,7 +2310,7 @@ msgstr "Folgeanfragen" msgid "Registration closed text:" msgstr "Registrierungen geschlossen text" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:31 #, fuzzy #| msgid "Add cover" msgid "No cover" @@ -2292,15 +2321,15 @@ msgstr "Cover hinzufügen" msgid "%(title)s by " msgstr "%(title)s von " -#: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 +#: bookwyrm/templates/snippets/boost_button.html:10 #, fuzzy #| msgid "boosted" msgid "Boost" msgstr "teilt" -#: bookwyrm/templates/snippets/boost_button.html:15 #: bookwyrm/templates/snippets/boost_button.html:16 +#: bookwyrm/templates/snippets/boost_button.html:17 #, fuzzy #| msgid "Un-boost status" msgid "Un-boost" @@ -2322,72 +2351,72 @@ msgstr "Bewerten" msgid "Quote" msgstr "Zitieren" -#: bookwyrm/templates/snippets/create_status_form.html:20 +#: bookwyrm/templates/snippets/create_status_form.html:23 #, fuzzy #| msgid "Comment" msgid "Comment:" msgstr "Kommentieren" -#: bookwyrm/templates/snippets/create_status_form.html:22 +#: bookwyrm/templates/snippets/create_status_form.html:25 #, fuzzy #| msgid "Quote" msgid "Quote:" msgstr "Zitieren" -#: bookwyrm/templates/snippets/create_status_form.html:24 +#: bookwyrm/templates/snippets/create_status_form.html:27 #, fuzzy #| msgid "Review" msgid "Review:" msgstr "Bewerten" -#: bookwyrm/templates/snippets/create_status_form.html:53 -#: bookwyrm/templates/snippets/status/layout.html:30 +#: bookwyrm/templates/snippets/create_status_form.html:56 +#: bookwyrm/templates/snippets/status/layout.html:29 +#: bookwyrm/templates/snippets/status/layout.html:47 #: bookwyrm/templates/snippets/status/layout.html:48 -#: bookwyrm/templates/snippets/status/layout.html:49 msgid "Reply" msgstr "Antwort" -#: bookwyrm/templates/snippets/create_status_form.html:53 +#: bookwyrm/templates/snippets/create_status_form.html:56 #, fuzzy #| msgid "Footer Content" msgid "Content" msgstr "Inhalt des Footers" -#: bookwyrm/templates/snippets/create_status_form.html:77 +#: bookwyrm/templates/snippets/create_status_form.html:80 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16 msgid "Progress:" msgstr "Fortschritt:" -#: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:26 +#: bookwyrm/templates/snippets/create_status_form.html:88 +#: 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_form.html:86 -#: bookwyrm/templates/snippets/readthrough_form.html:27 +#: bookwyrm/templates/snippets/create_status_form.html:89 +#: 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_form.html:92 +#: bookwyrm/templates/snippets/create_status_form.html:95 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36 #, python-format msgid "of %(pages)s pages" msgstr "von %(pages)s Seiten" -#: bookwyrm/templates/snippets/create_status_form.html:107 +#: bookwyrm/templates/snippets/create_status_form.html:110 msgid "Include spoiler alert" msgstr "Spoileralarm aktivieren" -#: bookwyrm/templates/snippets/create_status_form.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:117 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" msgstr "Privat" -#: bookwyrm/templates/snippets/create_status_form.html:125 +#: bookwyrm/templates/snippets/create_status_form.html:128 msgid "Post" msgstr "Absenden" @@ -2401,17 +2430,17 @@ msgid "You are deleting this readthrough and its %(count)s associated progress u msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates." #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 -#: bookwyrm/templates/snippets/follow_request_buttons.html:13 +#: bookwyrm/templates/snippets/follow_request_buttons.html:12 msgid "Delete" msgstr "Löschen" -#: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:9 +#: bookwyrm/templates/snippets/fav_button.html:11 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:15 -#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 +#: bookwyrm/templates/snippets/fav_button.html:18 #, fuzzy #| msgid "Un-like status" msgid "Un-like" @@ -2451,11 +2480,11 @@ msgstr "Folgeanfrage senden" msgid "Unfollow" msgstr "Entfolgen" -#: bookwyrm/templates/snippets/follow_request_buttons.html:8 +#: bookwyrm/templates/snippets/follow_request_buttons.html:7 msgid "Accept" msgstr "Annehmen" -#: bookwyrm/templates/snippets/form_rate_stars.html:20 +#: bookwyrm/templates/snippets/form_rate_stars.html:19 #: bookwyrm/templates/snippets/stars.html:13 msgid "No rating" msgstr "Kein Rating" @@ -2505,8 +2534,8 @@ msgid "Goal privacy:" msgstr "Sichtbarkeit des Ziels" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:45 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:33 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 msgid "Post to feed" msgstr "Posten" @@ -2619,12 +2648,12 @@ msgstr "Diese Lesedaten löschen" msgid "Started reading" msgstr "Zu lesen angefangen" -#: bookwyrm/templates/snippets/readthrough_form.html:18 +#: bookwyrm/templates/snippets/readthrough_form.html:14 msgid "Progress" msgstr "Fortschritt" -#: bookwyrm/templates/snippets/readthrough_form.html:34 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 +#: bookwyrm/templates/snippets/readthrough_form.html:30 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 msgid "Finished reading" msgstr "Lesen abgeschlossen" @@ -2632,29 +2661,29 @@ msgstr "Lesen abgeschlossen" msgid "Sign Up" msgstr "Registrieren" -#: bookwyrm/templates/snippets/report_button.html:5 +#: bookwyrm/templates/snippets/report_button.html:6 #, fuzzy #| msgid "Import" msgid "Report" msgstr "Importieren" #: bookwyrm/templates/snippets/rss_title.html:5 -#: bookwyrm/templates/snippets/status/status_header.html:34 +#: bookwyrm/templates/snippets/status/status_header.html:35 msgid "rated" msgstr "" #: bookwyrm/templates/snippets/rss_title.html:7 -#: bookwyrm/templates/snippets/status/status_header.html:36 +#: bookwyrm/templates/snippets/status/status_header.html:37 msgid "reviewed" msgstr "bewertete" #: bookwyrm/templates/snippets/rss_title.html:9 -#: bookwyrm/templates/snippets/status/status_header.html:38 +#: bookwyrm/templates/snippets/status/status_header.html:39 msgid "commented on" msgstr "kommentierte" #: bookwyrm/templates/snippets/rss_title.html:11 -#: bookwyrm/templates/snippets/status/status_header.html:40 +#: bookwyrm/templates/snippets/status/status_header.html:41 msgid "quoted" msgstr "zitierte" @@ -2674,7 +2703,7 @@ 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:34 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:36 #, fuzzy #| msgid "Progress" msgid "Update progress" @@ -2684,20 +2713,20 @@ msgstr "Fortschritt" msgid "More shelves" msgstr "Mehr Regale" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:10 msgid "Start reading" msgstr "Zu lesen beginnen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:15 msgid "Finish reading" msgstr "Lesen abschließen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:18 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 msgid "Want to read" msgstr "Auf Leseliste setzen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 #, fuzzy, python-format #| msgid "Lists: %(username)s" msgid "Remove from %(name)s" @@ -2713,40 +2742,40 @@ msgstr "\"%(book_title)s\" beginnen" msgid "Want to Read \"%(book_title)s\"" msgstr "\"%(book_title)s\" auf Leseliste setzen" -#: bookwyrm/templates/snippets/status/content_status.html:70 -#: bookwyrm/templates/snippets/trimmed_text.html:14 +#: bookwyrm/templates/snippets/status/content_status.html:71 +#: bookwyrm/templates/snippets/trimmed_text.html:15 msgid "Show more" msgstr "Mehr anzeigen" -#: bookwyrm/templates/snippets/status/content_status.html:85 -#: bookwyrm/templates/snippets/trimmed_text.html:29 +#: bookwyrm/templates/snippets/status/content_status.html:86 +#: bookwyrm/templates/snippets/trimmed_text.html:30 msgid "Show less" msgstr "Weniger anzeigen" -#: bookwyrm/templates/snippets/status/content_status.html:115 +#: bookwyrm/templates/snippets/status/content_status.html:116 msgid "Open image in new window" msgstr "Bild in neuem Fenster öffnen" -#: bookwyrm/templates/snippets/status/layout.html:22 +#: bookwyrm/templates/snippets/status/layout.html:21 #: bookwyrm/templates/snippets/status/status_options.html:17 msgid "Delete status" msgstr "Post löschen" +#: bookwyrm/templates/snippets/status/layout.html:51 #: bookwyrm/templates/snippets/status/layout.html:52 -#: bookwyrm/templates/snippets/status/layout.html:53 msgid "Boost status" msgstr "Status teilen" +#: bookwyrm/templates/snippets/status/layout.html:55 #: bookwyrm/templates/snippets/status/layout.html:56 -#: bookwyrm/templates/snippets/status/layout.html:57 msgid "Like status" msgstr "Status favorisieren" -#: bookwyrm/templates/snippets/status/status.html:9 +#: bookwyrm/templates/snippets/status/status.html:10 msgid "boosted" msgstr "teilt" -#: bookwyrm/templates/snippets/status/status_header.html:44 +#: bookwyrm/templates/snippets/status/status_header.html:45 #, fuzzy, python-format #| msgid "replied to your status" msgid "replied to %(username)s's status" @@ -2785,15 +2814,15 @@ msgstr "Zu lesen angefangen" msgid "Sorted descending" msgstr "Zu lesen angefangen" -#: bookwyrm/templates/user/layout.html:12 bookwyrm/templates/user/user.html:10 +#: bookwyrm/templates/user/layout.html:13 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Benutzerprofil" -#: bookwyrm/templates/user/layout.html:36 +#: bookwyrm/templates/user/layout.html:37 msgid "Follow Requests" msgstr "Folgeanfragen" -#: bookwyrm/templates/user/layout.html:61 +#: bookwyrm/templates/user/layout.html:62 msgid "Reading Goal" msgstr "Leseziel" @@ -2840,40 +2869,40 @@ msgstr "Regal bearbeiten" msgid "Update shelf" msgstr "Regal aktualisieren" -#: bookwyrm/templates/user/shelf/shelf.html:24 bookwyrm/views/shelf.py:48 +#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51 #, fuzzy #| msgid "books" msgid "All books" msgstr "Bücher" -#: bookwyrm/templates/user/shelf/shelf.html:37 +#: bookwyrm/templates/user/shelf/shelf.html:38 msgid "Create shelf" msgstr "Regal erstellen" -#: bookwyrm/templates/user/shelf/shelf.html:60 +#: bookwyrm/templates/user/shelf/shelf.html:61 msgid "Edit shelf" msgstr "Regal bearbeiten" -#: bookwyrm/templates/user/shelf/shelf.html:79 -#: bookwyrm/templates/user/shelf/shelf.html:101 +#: bookwyrm/templates/user/shelf/shelf.html:80 +#: bookwyrm/templates/user/shelf/shelf.html:104 msgid "Shelved" msgstr "Ins Regal gestellt" -#: bookwyrm/templates/user/shelf/shelf.html:80 -#: bookwyrm/templates/user/shelf/shelf.html:105 +#: bookwyrm/templates/user/shelf/shelf.html:81 +#: bookwyrm/templates/user/shelf/shelf.html:108 msgid "Started" msgstr "Gestartet" -#: bookwyrm/templates/user/shelf/shelf.html:81 -#: bookwyrm/templates/user/shelf/shelf.html:108 +#: bookwyrm/templates/user/shelf/shelf.html:82 +#: bookwyrm/templates/user/shelf/shelf.html:111 msgid "Finished" msgstr "Abgeschlossen" -#: bookwyrm/templates/user/shelf/shelf.html:134 +#: bookwyrm/templates/user/shelf/shelf.html:137 msgid "This shelf is empty." msgstr "Dieses Regal ist leer." -#: bookwyrm/templates/user/shelf/shelf.html:140 +#: bookwyrm/templates/user/shelf/shelf.html:143 msgid "Delete shelf" msgstr "Regal löschen" @@ -2903,24 +2932,24 @@ msgstr "" msgid "No activities yet!" msgstr "Noch keine Aktivitäten!" -#: bookwyrm/templates/user/user_preview.html:14 +#: bookwyrm/templates/user/user_preview.html:15 #, python-format msgid "Joined %(date)s" msgstr "Beigetreten %(date)s" -#: bookwyrm/templates/user/user_preview.html:18 +#: bookwyrm/templates/user/user_preview.html:19 #, python-format msgid "%(counter)s follower" msgid_plural "%(counter)s followers" msgstr[0] "%(counter)s Folgende*r" msgstr[1] "%(counter)s Folgende" -#: bookwyrm/templates/user/user_preview.html:19 +#: bookwyrm/templates/user/user_preview.html:20 #, python-format msgid "%(counter)s following" msgstr "Folgt %(counter)s" -#: bookwyrm/templates/user/user_preview.html:25 +#: bookwyrm/templates/user/user_preview.html:26 #, fuzzy, python-format #| msgid "followed you" msgid "%(mutuals_display)s follower you follow" @@ -2928,7 +2957,7 @@ msgid_plural "%(mutuals_display)s followers you follow" msgstr[0] "folgt dir" msgstr[1] "folgt dir" -#: bookwyrm/templates/user_admin/user.html:11 +#: bookwyrm/templates/user_admin/user.html:9 #, fuzzy #| msgid "Back to reports" msgid "Back to users" @@ -3009,17 +3038,22 @@ msgstr "" msgid "Access level:" msgstr "" -#: bookwyrm/views/password.py:32 +#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35 #, fuzzy #| msgid "A user with that username already exists." msgid "No user with that email address was found." msgstr "Dieser Benutzename ist bereits vergeben." -#: bookwyrm/views/password.py:41 +#: bookwyrm/views/password.py:44 #, python-format msgid "A password reset link sent to %s" msgstr "" +#, fuzzy +#~| msgid "Book" +#~ msgid "BookWyrm\\" +#~ msgstr "Buch" + #, fuzzy #~| msgid "Show more" #~ msgid "Show" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index dac6e2539..a27ae380d 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-05-10 13:23-0700\n" +"POT-Creation-Date: 2021-05-14 15:12-0700\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -55,13 +55,13 @@ msgstr "" msgid "Book Title" msgstr "" -#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:31 -#: bookwyrm/templates/user/shelf/shelf.html:82 -#: bookwyrm/templates/user/shelf/shelf.html:112 +#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34 +#: bookwyrm/templates/user/shelf/shelf.html:84 +#: bookwyrm/templates/user/shelf/shelf.html:115 msgid "Rating" msgstr "" -#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:100 +#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101 msgid "Sort By" msgstr "" @@ -131,19 +131,149 @@ msgstr "" msgid "Something went wrong! Sorry about that." msgstr "" -#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/author/author.html:17 +#: bookwyrm/templates/author/author.html:18 msgid "Edit Author" msgstr "" -#: bookwyrm/templates/author.html:31 +#: bookwyrm/templates/author/author.html:33 +#: bookwyrm/templates/author/edit_author.html:38 +msgid "Aliases:" +msgstr "" + +#: bookwyrm/templates/author/author.html:39 +msgid "Born:" +msgstr "" + +#: bookwyrm/templates/author/author.html:45 +msgid "Died:" +msgstr "" + +#: bookwyrm/templates/author/author.html:52 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author.html:36 +#: bookwyrm/templates/author/author.html:56 +#: bookwyrm/templates/book/book.html:81 +msgid "View on OpenLibrary" +msgstr "" + +#: bookwyrm/templates/author/author.html:61 +#: bookwyrm/templates/book/book.html:84 +msgid "View on Inventaire" +msgstr "" + +#: bookwyrm/templates/author/author.html:75 #, python-format msgid "Books by %(name)s" msgstr "" +#: bookwyrm/templates/author/edit_author.html:5 +msgid "Edit Author:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:13 +#: bookwyrm/templates/book/edit_book.html:18 +msgid "Added:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:14 +#: bookwyrm/templates/book/edit_book.html:19 +msgid "Updated:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:15 +#: bookwyrm/templates/book/edit_book.html:20 +msgid "Last edited by:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:31 +#: bookwyrm/templates/book/edit_book.html:90 +msgid "Metadata" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:32 +#: bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 +#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 +msgid "Name:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:40 +#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:165 +msgid "Separate multiple values with commas." +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:46 +msgid "Bio:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:51 +msgid "Wikipedia link:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:57 +msgid "Birth date:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:65 +msgid "Death date:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:73 +msgid "Author Identifiers" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:74 +#: bookwyrm/templates/book/edit_book.html:223 +msgid "Openlibrary key:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:79 +msgid "Inventaire ID:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:84 +msgid "Librarything key:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:89 +msgid "Goodreads key:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/book.html:127 +#: bookwyrm/templates/book/edit_book.html:241 +#: bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:70 +#: bookwyrm/templates/settings/edit_server.html:68 +#: bookwyrm/templates/settings/federated_server.html:94 +#: bookwyrm/templates/settings/site.html:97 +#: bookwyrm/templates/snippets/readthrough.html:77 +#: 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:34 +#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 +msgid "Save" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:99 +#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 +#: bookwyrm/templates/book/cover_modal.html:32 +#: bookwyrm/templates/book/edit_book.html:242 +#: bookwyrm/templates/moderation/report_modal.html:34 +#: bookwyrm/templates/settings/federated_server.html:95 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:78 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "" + #: bookwyrm/templates/book/book.html:33 #: bookwyrm/templates/discover/large-book.html:25 #: bookwyrm/templates/discover/small-book.html:19 @@ -163,14 +293,6 @@ msgstr "" msgid "Failed to load cover" msgstr "" -#: bookwyrm/templates/book/book.html:81 -msgid "View on OpenLibrary" -msgstr "" - -#: bookwyrm/templates/book/book.html:84 -msgid "View on Inventaire" -msgstr "" - #: bookwyrm/templates/book/book.html:104 #, python-format msgid "(%(review_count)s review)" @@ -188,37 +310,6 @@ msgstr "" msgid "Description:" msgstr "" -#: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:249 -#: bookwyrm/templates/edit_author.html:78 bookwyrm/templates/lists/form.html:42 -#: bookwyrm/templates/preferences/edit_user.html:70 -#: bookwyrm/templates/settings/edit_server.html:68 -#: bookwyrm/templates/settings/federated_server.html:93 -#: bookwyrm/templates/settings/site.html:97 -#: bookwyrm/templates/snippets/readthrough.html:77 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:50 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:38 -#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 -msgid "Save" -msgstr "" - -#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 -#: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:250 -#: bookwyrm/templates/edit_author.html:79 -#: bookwyrm/templates/moderation/report_modal.html:34 -#: bookwyrm/templates/settings/federated_server.html:94 -#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 -#: bookwyrm/templates/snippets/goal_form.html:32 -#: bookwyrm/templates/snippets/readthrough.html:78 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:51 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 -#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 -msgid "Cancel" -msgstr "" - #: bookwyrm/templates/book/book.html:137 #, python-format msgid "%(count)s editions" @@ -282,7 +373,7 @@ msgstr "" #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 #: bookwyrm/templates/search/layout.html:50 -#: bookwyrm/templates/user/layout.html:67 +#: bookwyrm/templates/user/layout.html:68 msgid "Lists" msgstr "" @@ -292,7 +383,7 @@ msgstr "" #: bookwyrm/templates/book/book.html:320 #: bookwyrm/templates/book/cover_modal.html:31 -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Add" msgstr "" @@ -301,22 +392,22 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:227 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:239 +#: bookwyrm/templates/book/edit_book.html:231 msgid "ASIN:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:187 +#: bookwyrm/templates/book/edit_book.html:179 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:193 +#: bookwyrm/templates/book/edit_book.html:185 msgid "Load cover from url:" msgstr "" @@ -331,21 +422,6 @@ msgstr "" msgid "Add Book" msgstr "" -#: bookwyrm/templates/book/edit_book.html:18 -#: bookwyrm/templates/edit_author.html:13 -msgid "Added:" -msgstr "" - -#: bookwyrm/templates/book/edit_book.html:19 -#: bookwyrm/templates/edit_author.html:14 -msgid "Updated:" -msgstr "" - -#: bookwyrm/templates/book/edit_book.html:20 -#: bookwyrm/templates/edit_author.html:15 -msgid "Last edited by:" -msgstr "" - #: bookwyrm/templates/book/edit_book.html:40 msgid "Confirm Book Info" msgstr "" @@ -387,11 +463,6 @@ msgstr "" msgid "Back" msgstr "" -#: bookwyrm/templates/book/edit_book.html:90 -#: bookwyrm/templates/edit_author.html:31 -msgid "Metadata" -msgstr "" - #: bookwyrm/templates/book/edit_book.html:92 msgid "Title:" msgstr "" @@ -412,76 +483,67 @@ msgstr "" msgid "Publisher:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:128 -msgid "Separate multiple publishers with commas." -msgstr "" - #: bookwyrm/templates/book/edit_book.html:135 msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:147 +#: bookwyrm/templates/book/edit_book.html:143 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:152 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit_book.html:166 +#: bookwyrm/templates/book/edit_book.html:158 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit_book.html:171 +#: bookwyrm/templates/book/edit_book.html:163 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:172 +#: bookwyrm/templates/book/edit_book.html:164 msgid "John Doe, Jane Smith" msgstr "" -#: bookwyrm/templates/book/edit_book.html:178 -#: bookwyrm/templates/user/shelf/shelf.html:76 +#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/user/shelf/shelf.html:77 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit_book.html:206 +#: bookwyrm/templates/book/edit_book.html:198 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:199 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:207 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:222 +#: bookwyrm/templates/book/edit_book.html:214 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:215 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:219 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:231 -#: bookwyrm/templates/edit_author.html:59 -msgid "Openlibrary key:" -msgstr "" - -#: bookwyrm/templates/book/editions.html:5 +#: bookwyrm/templates/book/editions.html:4 #, python-format msgid "Editions of %(book_title)s" msgstr "" -#: bookwyrm/templates/book/editions.html:9 +#: bookwyrm/templates/book/editions.html:8 #, python-format msgid "Editions of \"%(work_title)s\"" msgstr "" @@ -532,7 +594,7 @@ msgstr "" #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 -#: bookwyrm/templates/feed/feed_layout.html:70 +#: bookwyrm/templates/feed/feed_layout.html:69 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 #: bookwyrm/templates/search/book.html:32 @@ -587,23 +649,23 @@ msgstr "" msgid "Recently active" msgstr "" -#: bookwyrm/templates/directory/user_card.html:32 +#: bookwyrm/templates/directory/user_card.html:33 msgid "follower you follow" msgid_plural "followers you follow" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/directory/user_card.html:39 +#: bookwyrm/templates/directory/user_card.html:40 msgid "book on your shelves" msgid_plural "books on your shelves" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/directory/user_card.html:47 +#: bookwyrm/templates/directory/user_card.html:48 msgid "posts" msgstr "" -#: bookwyrm/templates/directory/user_card.html:53 +#: bookwyrm/templates/directory/user_card.html:54 msgid "last active" msgstr "" @@ -689,44 +751,6 @@ msgstr "" msgid "Your Account" msgstr "" -#: bookwyrm/templates/edit_author.html:5 -msgid "Edit Author:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 -#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 -#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 -msgid "Name:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:37 -msgid "Bio:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:42 -msgid "Wikipedia link:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:47 -msgid "Birth date:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:52 -msgid "Death date:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:58 -msgid "Author Identifiers" -msgstr "" - -#: bookwyrm/templates/edit_author.html:64 -msgid "Librarything key:" -msgstr "" - -#: bookwyrm/templates/edit_author.html:69 -msgid "Goodreads key:" -msgstr "" - #: bookwyrm/templates/email/html_layout.html:15 #: bookwyrm/templates/email/text_layout.html:2 msgid "Hi there," @@ -807,76 +831,76 @@ msgstr "" msgid "You have no messages right now." msgstr "" -#: bookwyrm/templates/feed/feed.html:9 +#: bookwyrm/templates/feed/feed.html:8 msgid "Home Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:11 +#: bookwyrm/templates/feed/feed.html:10 msgid "Local Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:12 msgid "Federated Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:19 +#: bookwyrm/templates/feed/feed.html:18 msgid "Home" msgstr "" -#: bookwyrm/templates/feed/feed.html:22 +#: bookwyrm/templates/feed/feed.html:21 msgid "Local" msgstr "" -#: bookwyrm/templates/feed/feed.html:25 +#: bookwyrm/templates/feed/feed.html:24 #: bookwyrm/templates/settings/edit_server.html:40 msgid "Federated" msgstr "" -#: bookwyrm/templates/feed/feed.html:33 +#: bookwyrm/templates/feed/feed.html:32 #, python-format msgid "load 0 unread status(es)" msgstr "" -#: bookwyrm/templates/feed/feed.html:48 +#: bookwyrm/templates/feed/feed.html:47 msgid "There aren't any activities right now! Try following a user to get started" msgstr "" -#: bookwyrm/templates/feed/feed.html:56 +#: bookwyrm/templates/feed/feed.html:55 #: bookwyrm/templates/get_started/users.html:6 msgid "Who to follow" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:5 +#: bookwyrm/templates/feed/feed_layout.html:4 msgid "Updates" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:11 +#: bookwyrm/templates/feed/feed_layout.html:10 #: bookwyrm/templates/layout.html:59 #: bookwyrm/templates/user/shelf/books_header.html:3 msgid "Your books" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:13 +#: bookwyrm/templates/feed/feed_layout.html:12 msgid "There are no books here right now! Try searching for a book to get started" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:24 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "To Read" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Currently Reading" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:26 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Read" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:88 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:87 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -906,7 +930,7 @@ msgid "What are you reading?" msgstr "" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/lists/list.html:119 +#: bookwyrm/templates/lists/list.html:120 msgid "Search for a book" msgstr "" @@ -926,7 +950,7 @@ msgstr "" #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39 -#: bookwyrm/templates/lists/list.html:123 +#: bookwyrm/templates/lists/list.html:124 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -942,7 +966,7 @@ msgid "Popular on %(site_name)s" msgstr "" #: bookwyrm/templates/get_started/books.html:58 -#: bookwyrm/templates/lists/list.html:136 +#: bookwyrm/templates/lists/list.html:137 msgid "No books found" msgstr "" @@ -1062,95 +1086,95 @@ msgstr "" msgid "Data source:" msgstr "" -#: bookwyrm/templates/import.html:29 +#: bookwyrm/templates/import.html:32 msgid "Data file:" msgstr "" -#: bookwyrm/templates/import.html:37 +#: bookwyrm/templates/import.html:40 msgid "Include reviews" msgstr "" -#: bookwyrm/templates/import.html:42 +#: bookwyrm/templates/import.html:45 msgid "Privacy setting for imported reviews:" msgstr "" -#: bookwyrm/templates/import.html:48 +#: bookwyrm/templates/import.html:51 #: bookwyrm/templates/settings/server_blocklist.html:64 msgid "Import" msgstr "" -#: bookwyrm/templates/import.html:53 +#: bookwyrm/templates/import.html:56 msgid "Recent Imports" msgstr "" -#: bookwyrm/templates/import.html:55 +#: bookwyrm/templates/import.html:58 msgid "No recent imports" msgstr "" -#: bookwyrm/templates/import_status.html:6 -#: bookwyrm/templates/import_status.html:10 +#: bookwyrm/templates/import_status.html:5 +#: bookwyrm/templates/import_status.html:9 msgid "Import Status" msgstr "" -#: bookwyrm/templates/import_status.html:13 +#: bookwyrm/templates/import_status.html:12 msgid "Import started:" msgstr "" -#: bookwyrm/templates/import_status.html:17 +#: bookwyrm/templates/import_status.html:16 msgid "Import completed:" msgstr "" -#: bookwyrm/templates/import_status.html:20 +#: bookwyrm/templates/import_status.html:19 msgid "TASK FAILED" msgstr "" -#: bookwyrm/templates/import_status.html:26 +#: bookwyrm/templates/import_status.html:25 msgid "Import still in progress." msgstr "" -#: bookwyrm/templates/import_status.html:28 +#: bookwyrm/templates/import_status.html:27 msgid "(Hit reload to update!)" msgstr "" -#: bookwyrm/templates/import_status.html:35 +#: bookwyrm/templates/import_status.html:34 msgid "Failed to load" msgstr "" -#: bookwyrm/templates/import_status.html:44 +#: bookwyrm/templates/import_status.html:43 #, python-format msgid "Jump to the bottom of the list to select the %(failed_count)s items which failed to import." msgstr "" -#: bookwyrm/templates/import_status.html:79 +#: bookwyrm/templates/import_status.html:78 msgid "Select all" msgstr "" -#: bookwyrm/templates/import_status.html:82 +#: bookwyrm/templates/import_status.html:81 msgid "Retry items" msgstr "" -#: bookwyrm/templates/import_status.html:108 +#: bookwyrm/templates/import_status.html:107 msgid "Successfully imported" msgstr "" -#: bookwyrm/templates/import_status.html:112 +#: bookwyrm/templates/import_status.html:111 msgid "Book" msgstr "" -#: bookwyrm/templates/import_status.html:115 -#: bookwyrm/templates/snippets/create_status_form.html:10 -#: bookwyrm/templates/user/shelf/shelf.html:77 -#: bookwyrm/templates/user/shelf/shelf.html:95 +#: bookwyrm/templates/import_status.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:78 +#: bookwyrm/templates/user/shelf/shelf.html:98 msgid "Title" msgstr "" -#: bookwyrm/templates/import_status.html:118 -#: bookwyrm/templates/user/shelf/shelf.html:78 -#: bookwyrm/templates/user/shelf/shelf.html:98 +#: bookwyrm/templates/import_status.html:117 +#: bookwyrm/templates/user/shelf/shelf.html:79 +#: bookwyrm/templates/user/shelf/shelf.html:101 msgid "Author" msgstr "" -#: bookwyrm/templates/import_status.html:141 +#: bookwyrm/templates/import_status.html:140 msgid "Imported" msgstr "" @@ -1259,7 +1283,7 @@ msgid "Support %(site_name)s on % msgstr "" #: bookwyrm/templates/layout.html:217 -msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" #: bookwyrm/templates/lists/create_form.html:5 @@ -1302,7 +1326,7 @@ msgid "Discard" msgstr "" #: bookwyrm/templates/lists/edit_form.html:5 -#: bookwyrm/templates/lists/list_layout.html:18 +#: bookwyrm/templates/lists/list_layout.html:17 msgid "Edit List" msgstr "" @@ -1336,66 +1360,66 @@ msgstr "" msgid "Anyone can add books to this list" msgstr "" -#: bookwyrm/templates/lists/list.html:19 +#: bookwyrm/templates/lists/list.html:20 msgid "You successfully suggested a book for this list!" msgstr "" -#: bookwyrm/templates/lists/list.html:21 +#: bookwyrm/templates/lists/list.html:22 msgid "You successfully added a book to this list!" msgstr "" -#: bookwyrm/templates/lists/list.html:27 +#: bookwyrm/templates/lists/list.html:28 msgid "This list is currently empty" msgstr "" -#: bookwyrm/templates/lists/list.html:64 +#: bookwyrm/templates/lists/list.html:65 #, python-format msgid "Added by %(username)s" msgstr "" -#: bookwyrm/templates/lists/list.html:76 +#: bookwyrm/templates/lists/list.html:77 msgid "Set" msgstr "" -#: bookwyrm/templates/lists/list.html:79 +#: bookwyrm/templates/lists/list.html:80 msgid "List position" msgstr "" -#: bookwyrm/templates/lists/list.html:85 +#: bookwyrm/templates/lists/list.html:86 #: bookwyrm/templates/snippets/shelf_selector.html:26 msgid "Remove" msgstr "" -#: bookwyrm/templates/lists/list.html:98 bookwyrm/templates/lists/list.html:110 +#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111 msgid "Sort List" msgstr "" -#: bookwyrm/templates/lists/list.html:104 +#: bookwyrm/templates/lists/list.html:105 msgid "Direction" msgstr "" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Add Books" msgstr "" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Suggest Books" msgstr "" -#: bookwyrm/templates/lists/list.html:124 +#: bookwyrm/templates/lists/list.html:125 msgid "search" msgstr "" -#: bookwyrm/templates/lists/list.html:130 +#: bookwyrm/templates/lists/list.html:131 msgid "Clear search" msgstr "" -#: bookwyrm/templates/lists/list.html:135 +#: bookwyrm/templates/lists/list.html:136 #, python-format msgid "No books found matching the query \"%(query)s\"" msgstr "" -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Suggest" msgstr "" @@ -1420,36 +1444,36 @@ msgstr "" msgid "More about this site" msgstr "" +#: bookwyrm/templates/moderation/report.html:5 #: bookwyrm/templates/moderation/report.html:6 -#: bookwyrm/templates/moderation/report.html:7 #: bookwyrm/templates/moderation/report_preview.html:6 #, python-format msgid "Report #%(report_id)s: %(username)s" msgstr "" -#: bookwyrm/templates/moderation/report.html:11 +#: bookwyrm/templates/moderation/report.html:10 msgid "Back to reports" msgstr "" -#: bookwyrm/templates/moderation/report.html:23 +#: bookwyrm/templates/moderation/report.html:22 msgid "Moderator Comments" msgstr "" -#: bookwyrm/templates/moderation/report.html:41 +#: bookwyrm/templates/moderation/report.html:40 #: bookwyrm/templates/snippets/create_status.html:28 -#: bookwyrm/templates/snippets/create_status_form.html:63 +#: bookwyrm/templates/snippets/create_status_form.html:66 msgid "Comment" msgstr "" -#: bookwyrm/templates/moderation/report.html:46 +#: bookwyrm/templates/moderation/report.html:45 msgid "Reported statuses" msgstr "" -#: bookwyrm/templates/moderation/report.html:48 +#: bookwyrm/templates/moderation/report.html:47 msgid "No statuses reported" msgstr "" -#: bookwyrm/templates/moderation/report.html:54 +#: bookwyrm/templates/moderation/report.html:53 msgid "Status has been deleted" msgstr "" @@ -1718,7 +1742,7 @@ msgstr "" #: bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 -#: bookwyrm/templates/user/layout.html:73 +#: bookwyrm/templates/user/layout.html:74 msgid "Books" msgstr "" @@ -1790,7 +1814,7 @@ msgid "Add server" msgstr "" #: bookwyrm/templates/settings/edit_server.html:7 -#: bookwyrm/templates/settings/federated_server.html:12 +#: bookwyrm/templates/settings/federated_server.html:13 #: bookwyrm/templates/settings/server_blocklist.html:7 msgid "Back to server list" msgstr "" @@ -1805,24 +1829,24 @@ msgid "Instance:" msgstr "" #: bookwyrm/templates/settings/edit_server.html:37 -#: bookwyrm/templates/settings/federated_server.html:29 +#: bookwyrm/templates/settings/federated_server.html:30 #: bookwyrm/templates/user_admin/user_info.html:34 msgid "Status:" msgstr "" #: bookwyrm/templates/settings/edit_server.html:41 -#: bookwyrm/templates/settings/federated_server.html:9 +#: bookwyrm/templates/settings/federated_server.html:10 msgid "Blocked" msgstr "" #: bookwyrm/templates/settings/edit_server.html:48 -#: bookwyrm/templates/settings/federated_server.html:21 +#: bookwyrm/templates/settings/federated_server.html:22 #: bookwyrm/templates/user_admin/user_info.html:26 msgid "Software:" msgstr "" #: bookwyrm/templates/settings/edit_server.html:55 -#: bookwyrm/templates/settings/federated_server.html:25 +#: bookwyrm/templates/settings/federated_server.html:26 #: bookwyrm/templates/user_admin/user_info.html:30 msgid "Version:" msgstr "" @@ -1831,69 +1855,69 @@ msgstr "" msgid "Notes:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:18 +#: bookwyrm/templates/settings/federated_server.html:19 msgid "Details" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:36 -#: bookwyrm/templates/user/layout.html:55 +#: bookwyrm/templates/settings/federated_server.html:37 +#: bookwyrm/templates/user/layout.html:56 msgid "Activity" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:39 +#: bookwyrm/templates/settings/federated_server.html:40 msgid "Users:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:42 -#: bookwyrm/templates/settings/federated_server.html:49 +#: bookwyrm/templates/settings/federated_server.html:43 +#: bookwyrm/templates/settings/federated_server.html:50 msgid "View all" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:46 +#: bookwyrm/templates/settings/federated_server.html:47 msgid "Reports:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:53 +#: bookwyrm/templates/settings/federated_server.html:54 msgid "Followed by us:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:59 +#: bookwyrm/templates/settings/federated_server.html:60 msgid "Followed by them:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:65 +#: bookwyrm/templates/settings/federated_server.html:66 msgid "Blocked by us:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:77 +#: bookwyrm/templates/settings/federated_server.html:78 #: bookwyrm/templates/user_admin/user_info.html:39 msgid "Notes" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:80 +#: bookwyrm/templates/settings/federated_server.html:81 msgid "Edit" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:100 +#: bookwyrm/templates/settings/federated_server.html:101 #: bookwyrm/templates/user_admin/user_moderation_actions.html:3 msgid "Actions" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:104 +#: bookwyrm/templates/settings/federated_server.html:105 #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:105 +#: bookwyrm/templates/settings/federated_server.html:106 msgid "All users from this instance will be deactivated." msgstr "" -#: bookwyrm/templates/settings/federated_server.html:110 +#: bookwyrm/templates/settings/federated_server.html:111 #: bookwyrm/templates/snippets/block_button.html:10 msgid "Un-block" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:111 +#: bookwyrm/templates/settings/federated_server.html:112 msgid "All users from this instance will be re-activated." msgstr "" @@ -2100,7 +2124,7 @@ msgstr "" msgid "Registration closed text:" msgstr "" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:31 msgid "No cover" msgstr "" @@ -2109,13 +2133,13 @@ msgstr "" msgid "%(title)s by " msgstr "" -#: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 +#: bookwyrm/templates/snippets/boost_button.html:10 msgid "Boost" msgstr "" -#: bookwyrm/templates/snippets/boost_button.html:15 #: bookwyrm/templates/snippets/boost_button.html:16 +#: bookwyrm/templates/snippets/boost_button.html:17 msgid "Un-boost" msgstr "" @@ -2135,64 +2159,64 @@ msgstr "" msgid "Quote" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:20 +#: bookwyrm/templates/snippets/create_status_form.html:23 msgid "Comment:" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:22 +#: bookwyrm/templates/snippets/create_status_form.html:25 msgid "Quote:" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:24 +#: bookwyrm/templates/snippets/create_status_form.html:27 msgid "Review:" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:53 -#: bookwyrm/templates/snippets/status/layout.html:30 +#: bookwyrm/templates/snippets/create_status_form.html:56 +#: bookwyrm/templates/snippets/status/layout.html:29 +#: bookwyrm/templates/snippets/status/layout.html:47 #: bookwyrm/templates/snippets/status/layout.html:48 -#: bookwyrm/templates/snippets/status/layout.html:49 msgid "Reply" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:53 +#: bookwyrm/templates/snippets/create_status_form.html:56 msgid "Content" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:77 +#: bookwyrm/templates/snippets/create_status_form.html:80 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16 msgid "Progress:" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:26 +#: bookwyrm/templates/snippets/create_status_form.html:88 +#: 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_form.html:86 -#: bookwyrm/templates/snippets/readthrough_form.html:27 +#: bookwyrm/templates/snippets/create_status_form.html:89 +#: 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_form.html:92 +#: bookwyrm/templates/snippets/create_status_form.html:95 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36 #, python-format msgid "of %(pages)s pages" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:107 +#: bookwyrm/templates/snippets/create_status_form.html:110 msgid "Include spoiler alert" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:117 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:125 +#: bookwyrm/templates/snippets/create_status_form.html:128 msgid "Post" msgstr "" @@ -2206,17 +2230,17 @@ msgid "You are deleting this readthrough and its %(count)s associated progress u msgstr "" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 -#: bookwyrm/templates/snippets/follow_request_buttons.html:13 +#: bookwyrm/templates/snippets/follow_request_buttons.html:12 msgid "Delete" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:9 +#: bookwyrm/templates/snippets/fav_button.html:11 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:15 -#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 +#: bookwyrm/templates/snippets/fav_button.html:18 msgid "Un-like" msgstr "" @@ -2248,11 +2272,11 @@ msgstr "" msgid "Unfollow" msgstr "" -#: bookwyrm/templates/snippets/follow_request_buttons.html:8 +#: bookwyrm/templates/snippets/follow_request_buttons.html:7 msgid "Accept" msgstr "" -#: bookwyrm/templates/snippets/form_rate_stars.html:20 +#: bookwyrm/templates/snippets/form_rate_stars.html:19 #: bookwyrm/templates/snippets/stars.html:13 msgid "No rating" msgstr "" @@ -2301,8 +2325,8 @@ msgid "Goal privacy:" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:45 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:33 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 msgid "Post to feed" msgstr "" @@ -2413,12 +2437,12 @@ msgstr "" msgid "Started reading" msgstr "" -#: bookwyrm/templates/snippets/readthrough_form.html:18 +#: bookwyrm/templates/snippets/readthrough_form.html:14 msgid "Progress" msgstr "" -#: bookwyrm/templates/snippets/readthrough_form.html:34 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 +#: bookwyrm/templates/snippets/readthrough_form.html:30 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 msgid "Finished reading" msgstr "" @@ -2426,27 +2450,27 @@ msgstr "" msgid "Sign Up" msgstr "" -#: bookwyrm/templates/snippets/report_button.html:5 +#: bookwyrm/templates/snippets/report_button.html:6 msgid "Report" msgstr "" #: bookwyrm/templates/snippets/rss_title.html:5 -#: bookwyrm/templates/snippets/status/status_header.html:34 +#: bookwyrm/templates/snippets/status/status_header.html:35 msgid "rated" msgstr "" #: bookwyrm/templates/snippets/rss_title.html:7 -#: bookwyrm/templates/snippets/status/status_header.html:36 +#: bookwyrm/templates/snippets/status/status_header.html:37 msgid "reviewed" msgstr "" #: bookwyrm/templates/snippets/rss_title.html:9 -#: bookwyrm/templates/snippets/status/status_header.html:38 +#: bookwyrm/templates/snippets/status/status_header.html:39 msgid "commented on" msgstr "" #: bookwyrm/templates/snippets/rss_title.html:11 -#: bookwyrm/templates/snippets/status/status_header.html:40 +#: bookwyrm/templates/snippets/status/status_header.html:41 msgid "quoted" msgstr "" @@ -2464,7 +2488,7 @@ 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:34 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:36 msgid "Update progress" msgstr "" @@ -2472,20 +2496,20 @@ msgstr "" msgid "More shelves" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:10 msgid "Start reading" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:15 msgid "Finish reading" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:18 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 msgid "Want to read" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 #, python-format msgid "Remove from %(name)s" msgstr "" @@ -2500,40 +2524,40 @@ msgstr "" msgid "Want to Read \"%(book_title)s\"" msgstr "" -#: bookwyrm/templates/snippets/status/content_status.html:70 -#: bookwyrm/templates/snippets/trimmed_text.html:14 +#: bookwyrm/templates/snippets/status/content_status.html:71 +#: bookwyrm/templates/snippets/trimmed_text.html:15 msgid "Show more" msgstr "" -#: bookwyrm/templates/snippets/status/content_status.html:85 -#: bookwyrm/templates/snippets/trimmed_text.html:29 +#: bookwyrm/templates/snippets/status/content_status.html:86 +#: bookwyrm/templates/snippets/trimmed_text.html:30 msgid "Show less" msgstr "" -#: bookwyrm/templates/snippets/status/content_status.html:115 +#: bookwyrm/templates/snippets/status/content_status.html:116 msgid "Open image in new window" msgstr "" -#: bookwyrm/templates/snippets/status/layout.html:22 +#: bookwyrm/templates/snippets/status/layout.html:21 #: bookwyrm/templates/snippets/status/status_options.html:17 msgid "Delete status" msgstr "" +#: bookwyrm/templates/snippets/status/layout.html:51 #: bookwyrm/templates/snippets/status/layout.html:52 -#: bookwyrm/templates/snippets/status/layout.html:53 msgid "Boost status" msgstr "" +#: bookwyrm/templates/snippets/status/layout.html:55 #: bookwyrm/templates/snippets/status/layout.html:56 -#: bookwyrm/templates/snippets/status/layout.html:57 msgid "Like status" msgstr "" -#: bookwyrm/templates/snippets/status/status.html:9 +#: bookwyrm/templates/snippets/status/status.html:10 msgid "boosted" msgstr "" -#: bookwyrm/templates/snippets/status/status_header.html:44 +#: bookwyrm/templates/snippets/status/status_header.html:45 #, python-format msgid "replied to %(username)s's status" msgstr "" @@ -2565,15 +2589,15 @@ msgstr "" msgid "Sorted descending" msgstr "" -#: bookwyrm/templates/user/layout.html:12 bookwyrm/templates/user/user.html:10 +#: bookwyrm/templates/user/layout.html:13 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "" -#: bookwyrm/templates/user/layout.html:36 +#: bookwyrm/templates/user/layout.html:37 msgid "Follow Requests" msgstr "" -#: bookwyrm/templates/user/layout.html:61 +#: bookwyrm/templates/user/layout.html:62 msgid "Reading Goal" msgstr "" @@ -2619,38 +2643,38 @@ msgstr "" msgid "Update shelf" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:24 bookwyrm/views/shelf.py:48 +#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51 msgid "All books" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:37 +#: bookwyrm/templates/user/shelf/shelf.html:38 msgid "Create shelf" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:60 +#: bookwyrm/templates/user/shelf/shelf.html:61 msgid "Edit shelf" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:79 -#: bookwyrm/templates/user/shelf/shelf.html:101 -msgid "Shelved" -msgstr "" - #: bookwyrm/templates/user/shelf/shelf.html:80 -#: bookwyrm/templates/user/shelf/shelf.html:105 -msgid "Started" +#: bookwyrm/templates/user/shelf/shelf.html:104 +msgid "Shelved" msgstr "" #: bookwyrm/templates/user/shelf/shelf.html:81 #: bookwyrm/templates/user/shelf/shelf.html:108 +msgid "Started" +msgstr "" + +#: bookwyrm/templates/user/shelf/shelf.html:82 +#: bookwyrm/templates/user/shelf/shelf.html:111 msgid "Finished" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:134 +#: bookwyrm/templates/user/shelf/shelf.html:137 msgid "This shelf is empty." msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:140 +#: bookwyrm/templates/user/shelf/shelf.html:143 msgid "Delete shelf" msgstr "" @@ -2679,31 +2703,31 @@ msgstr "" msgid "No activities yet!" msgstr "" -#: bookwyrm/templates/user/user_preview.html:14 +#: bookwyrm/templates/user/user_preview.html:15 #, python-format msgid "Joined %(date)s" msgstr "" -#: bookwyrm/templates/user/user_preview.html:18 +#: bookwyrm/templates/user/user_preview.html:19 #, python-format msgid "%(counter)s follower" msgid_plural "%(counter)s followers" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/user/user_preview.html:19 +#: bookwyrm/templates/user/user_preview.html:20 #, python-format msgid "%(counter)s following" msgstr "" -#: bookwyrm/templates/user/user_preview.html:25 +#: bookwyrm/templates/user/user_preview.html:26 #, python-format msgid "%(mutuals_display)s follower you follow" msgid_plural "%(mutuals_display)s followers you follow" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/user_admin/user.html:11 +#: bookwyrm/templates/user_admin/user.html:9 msgid "Back to users" msgstr "" @@ -2770,11 +2794,11 @@ msgstr "" msgid "Access level:" msgstr "" -#: bookwyrm/views/password.py:32 +#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35 msgid "No user with that email address was found." msgstr "" -#: bookwyrm/views/password.py:41 +#: bookwyrm/views/password.py:44 #, python-format msgid "A password reset link sent to %s" msgstr "" diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 864c9dbb7..d426b0294 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-05-10 13:23-0700\n" +"POT-Creation-Date: 2021-05-14 15:12-0700\n" "PO-Revision-Date: 2021-03-19 11:49+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,13 +55,13 @@ msgstr "Orden de la lista" msgid "Book Title" msgstr "Título" -#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:31 -#: bookwyrm/templates/user/shelf/shelf.html:82 -#: bookwyrm/templates/user/shelf/shelf.html:112 +#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34 +#: bookwyrm/templates/user/shelf/shelf.html:84 +#: bookwyrm/templates/user/shelf/shelf.html:115 msgid "Rating" msgstr "Calificación" -#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:100 +#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101 msgid "Sort By" msgstr "Ordenar por" @@ -131,19 +131,155 @@ msgstr "Error de servidor" msgid "Something went wrong! Sorry about that." msgstr "¡Algo salió mal! Disculpa." -#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/author/author.html:17 +#: bookwyrm/templates/author/author.html:18 msgid "Edit Author" msgstr "Editar Autor/Autora" -#: bookwyrm/templates/author.html:31 +#: bookwyrm/templates/author/author.html:33 +#: bookwyrm/templates/author/edit_author.html:38 +msgid "Aliases:" +msgstr "" + +#: bookwyrm/templates/author/author.html:39 +msgid "Born:" +msgstr "" + +#: bookwyrm/templates/author/author.html:45 +msgid "Died:" +msgstr "" + +#: bookwyrm/templates/author/author.html:52 msgid "Wikipedia" msgstr "Wikipedia" -#: bookwyrm/templates/author.html:36 +#: bookwyrm/templates/author/author.html:56 +#: bookwyrm/templates/book/book.html:81 +msgid "View on OpenLibrary" +msgstr "Ver en OpenLibrary" + +#: bookwyrm/templates/author/author.html:61 +#: bookwyrm/templates/book/book.html:84 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "View on Inventaire" +msgstr "Ver en OpenLibrary" + +#: bookwyrm/templates/author/author.html:75 #, python-format msgid "Books by %(name)s" msgstr "Libros de %(name)s" +#: bookwyrm/templates/author/edit_author.html:5 +msgid "Edit Author:" +msgstr "Editar Autor/Autora/Autore:" + +#: bookwyrm/templates/author/edit_author.html:13 +#: bookwyrm/templates/book/edit_book.html:18 +msgid "Added:" +msgstr "Agregado:" + +#: bookwyrm/templates/author/edit_author.html:14 +#: bookwyrm/templates/book/edit_book.html:19 +msgid "Updated:" +msgstr "Actualizado:" + +#: bookwyrm/templates/author/edit_author.html:15 +#: bookwyrm/templates/book/edit_book.html:20 +msgid "Last edited by:" +msgstr "Editado más recientemente por:" + +#: bookwyrm/templates/author/edit_author.html:31 +#: bookwyrm/templates/book/edit_book.html:90 +msgid "Metadata" +msgstr "Metadatos" + +#: bookwyrm/templates/author/edit_author.html:32 +#: bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 +#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 +msgid "Name:" +msgstr "Nombre:" + +#: bookwyrm/templates/author/edit_author.html:40 +#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:165 +#, fuzzy +#| msgid "Separate multiple publishers with commas." +msgid "Separate multiple values with commas." +msgstr "Separar varios editores con comas." + +#: bookwyrm/templates/author/edit_author.html:46 +msgid "Bio:" +msgstr "Bio:" + +#: bookwyrm/templates/author/edit_author.html:51 +msgid "Wikipedia link:" +msgstr "Enlace de Wikipedia:" + +#: bookwyrm/templates/author/edit_author.html:57 +msgid "Birth date:" +msgstr "Fecha de nacimiento:" + +#: bookwyrm/templates/author/edit_author.html:65 +msgid "Death date:" +msgstr "Fecha de muerte:" + +#: bookwyrm/templates/author/edit_author.html:73 +msgid "Author Identifiers" +msgstr "Identificadores de autor/autora" + +#: bookwyrm/templates/author/edit_author.html:74 +#: bookwyrm/templates/book/edit_book.html:223 +msgid "Openlibrary key:" +msgstr "Clave OpenLibrary:" + +#: bookwyrm/templates/author/edit_author.html:79 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "Inventaire ID:" +msgstr "Ver en OpenLibrary" + +#: bookwyrm/templates/author/edit_author.html:84 +msgid "Librarything key:" +msgstr "Clave Librarything:" + +#: bookwyrm/templates/author/edit_author.html:89 +msgid "Goodreads key:" +msgstr "Clave Goodreads:" + +#: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/book.html:127 +#: bookwyrm/templates/book/edit_book.html:241 +#: bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:70 +#: bookwyrm/templates/settings/edit_server.html:68 +#: bookwyrm/templates/settings/federated_server.html:94 +#: bookwyrm/templates/settings/site.html:97 +#: bookwyrm/templates/snippets/readthrough.html:77 +#: 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:34 +#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 +msgid "Save" +msgstr "Guardar" + +#: bookwyrm/templates/author/edit_author.html:99 +#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 +#: bookwyrm/templates/book/cover_modal.html:32 +#: bookwyrm/templates/book/edit_book.html:242 +#: bookwyrm/templates/moderation/report_modal.html:34 +#: bookwyrm/templates/settings/federated_server.html:95 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:78 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "Cancelar" + #: bookwyrm/templates/book/book.html:33 #: bookwyrm/templates/discover/large-book.html:25 #: bookwyrm/templates/discover/small-book.html:19 @@ -163,16 +299,6 @@ msgstr "Agregar portada" msgid "Failed to load cover" msgstr "No se pudo cargar la portada" -#: bookwyrm/templates/book/book.html:81 -msgid "View on OpenLibrary" -msgstr "Ver en OpenLibrary" - -#: bookwyrm/templates/book/book.html:84 -#, fuzzy -#| msgid "View on OpenLibrary" -msgid "View on Inventaire" -msgstr "Ver en OpenLibrary" - #: bookwyrm/templates/book/book.html:104 #, python-format msgid "(%(review_count)s review)" @@ -190,37 +316,6 @@ msgstr "Agregar descripción" msgid "Description:" msgstr "Descripción:" -#: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:249 -#: bookwyrm/templates/edit_author.html:78 bookwyrm/templates/lists/form.html:42 -#: bookwyrm/templates/preferences/edit_user.html:70 -#: bookwyrm/templates/settings/edit_server.html:68 -#: bookwyrm/templates/settings/federated_server.html:93 -#: bookwyrm/templates/settings/site.html:97 -#: bookwyrm/templates/snippets/readthrough.html:77 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:50 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:38 -#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 -msgid "Save" -msgstr "Guardar" - -#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 -#: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:250 -#: bookwyrm/templates/edit_author.html:79 -#: bookwyrm/templates/moderation/report_modal.html:34 -#: bookwyrm/templates/settings/federated_server.html:94 -#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 -#: bookwyrm/templates/snippets/goal_form.html:32 -#: bookwyrm/templates/snippets/readthrough.html:78 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:51 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 -#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 -msgid "Cancel" -msgstr "Cancelar" - #: bookwyrm/templates/book/book.html:137 #, python-format msgid "%(count)s editions" @@ -292,7 +387,7 @@ msgstr "Lugares" #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 #: bookwyrm/templates/search/layout.html:50 -#: bookwyrm/templates/user/layout.html:67 +#: bookwyrm/templates/user/layout.html:68 msgid "Lists" msgstr "Listas" @@ -302,7 +397,7 @@ msgstr "Agregar a lista" #: bookwyrm/templates/book/book.html:320 #: bookwyrm/templates/book/cover_modal.html:31 -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Add" msgstr "Agregar" @@ -311,22 +406,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:227 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:239 +#: bookwyrm/templates/book/edit_book.html:231 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:187 +#: bookwyrm/templates/book/edit_book.html:179 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:193 +#: bookwyrm/templates/book/edit_book.html:185 msgid "Load cover from url:" msgstr "Agregar portada de url:" @@ -341,21 +436,6 @@ msgstr "Editar \"%(book_title)s\"" msgid "Add Book" msgstr "Agregar libro" -#: bookwyrm/templates/book/edit_book.html:18 -#: bookwyrm/templates/edit_author.html:13 -msgid "Added:" -msgstr "Agregado:" - -#: bookwyrm/templates/book/edit_book.html:19 -#: bookwyrm/templates/edit_author.html:14 -msgid "Updated:" -msgstr "Actualizado:" - -#: bookwyrm/templates/book/edit_book.html:20 -#: bookwyrm/templates/edit_author.html:15 -msgid "Last edited by:" -msgstr "Editado más recientemente por:" - #: bookwyrm/templates/book/edit_book.html:40 msgid "Confirm Book Info" msgstr "Confirmar información de libro" @@ -397,11 +477,6 @@ msgstr "Confirmar" msgid "Back" msgstr "Volver" -#: bookwyrm/templates/book/edit_book.html:90 -#: bookwyrm/templates/edit_author.html:31 -msgid "Metadata" -msgstr "Metadatos" - #: bookwyrm/templates/book/edit_book.html:92 msgid "Title:" msgstr "Título:" @@ -422,76 +497,67 @@ msgstr "Número de serie:" msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit_book.html:128 -msgid "Separate multiple publishers with commas." -msgstr "Separar varios editores con comas." - #: bookwyrm/templates/book/edit_book.html:135 msgid "First published date:" msgstr "Fecha de primera publicación:" -#: bookwyrm/templates/book/edit_book.html:147 +#: bookwyrm/templates/book/edit_book.html:143 msgid "Published date:" msgstr "Fecha de publicación:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:152 msgid "Authors" msgstr "Autores" -#: bookwyrm/templates/book/edit_book.html:166 +#: bookwyrm/templates/book/edit_book.html:158 #, python-format msgid "Remove %(name)s" msgstr "Eliminar %(name)s" -#: bookwyrm/templates/book/edit_book.html:171 +#: bookwyrm/templates/book/edit_book.html:163 msgid "Add Authors:" msgstr "Agregar Autores:" -#: bookwyrm/templates/book/edit_book.html:172 +#: bookwyrm/templates/book/edit_book.html:164 msgid "John Doe, Jane Smith" msgstr "Juan Nadie, Natalia Natalia" -#: bookwyrm/templates/book/edit_book.html:178 -#: bookwyrm/templates/user/shelf/shelf.html:76 +#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/user/shelf/shelf.html:77 msgid "Cover" msgstr "Portada:" -#: bookwyrm/templates/book/edit_book.html:206 +#: bookwyrm/templates/book/edit_book.html:198 msgid "Physical Properties" msgstr "Propiedades físicas:" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:199 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:207 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit_book.html:222 +#: bookwyrm/templates/book/edit_book.html:214 msgid "Book Identifiers" msgstr "Identificadores de libro" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:215 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:219 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:231 -#: bookwyrm/templates/edit_author.html:59 -msgid "Openlibrary key:" -msgstr "Clave OpenLibrary:" - -#: bookwyrm/templates/book/editions.html:5 +#: bookwyrm/templates/book/editions.html:4 #, python-format msgid "Editions of %(book_title)s" msgstr "Ediciones de %(book_title)s" -#: bookwyrm/templates/book/editions.html:9 +#: bookwyrm/templates/book/editions.html:8 #, python-format msgid "Editions of \"%(work_title)s\"" msgstr "Ediciones de \"%(work_title)s\"" @@ -542,7 +608,7 @@ msgstr "Publicado por %(publisher)s." #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 -#: bookwyrm/templates/feed/feed_layout.html:70 +#: bookwyrm/templates/feed/feed_layout.html:69 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 #: bookwyrm/templates/search/book.html:32 @@ -597,23 +663,23 @@ msgstr "Sugerido" msgid "Recently active" msgstr "Activ@ recientemente" -#: bookwyrm/templates/directory/user_card.html:32 +#: bookwyrm/templates/directory/user_card.html:33 msgid "follower you follow" msgid_plural "followers you follow" msgstr[0] "seguidor que tu sigues" msgstr[1] "seguidores que tu sigues" -#: bookwyrm/templates/directory/user_card.html:39 +#: bookwyrm/templates/directory/user_card.html:40 msgid "book on your shelves" msgid_plural "books on your shelves" msgstr[0] "libro en tus estantes" msgstr[1] "libro en tus estantes" -#: bookwyrm/templates/directory/user_card.html:47 +#: bookwyrm/templates/directory/user_card.html:48 msgid "posts" msgstr "publicaciones" -#: bookwyrm/templates/directory/user_card.html:53 +#: bookwyrm/templates/directory/user_card.html:54 msgid "last active" msgstr "actividad reciente" @@ -699,44 +765,6 @@ msgstr "Enviar" msgid "Your Account" msgstr "Tu cuenta" -#: bookwyrm/templates/edit_author.html:5 -msgid "Edit Author:" -msgstr "Editar Autor/Autora/Autore:" - -#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 -#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 -#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 -msgid "Name:" -msgstr "Nombre:" - -#: bookwyrm/templates/edit_author.html:37 -msgid "Bio:" -msgstr "Bio:" - -#: bookwyrm/templates/edit_author.html:42 -msgid "Wikipedia link:" -msgstr "Enlace de Wikipedia:" - -#: bookwyrm/templates/edit_author.html:47 -msgid "Birth date:" -msgstr "Fecha de nacimiento:" - -#: bookwyrm/templates/edit_author.html:52 -msgid "Death date:" -msgstr "Fecha de muerte:" - -#: bookwyrm/templates/edit_author.html:58 -msgid "Author Identifiers" -msgstr "Identificadores de autor/autora" - -#: bookwyrm/templates/edit_author.html:64 -msgid "Librarything key:" -msgstr "Clave Librarything:" - -#: bookwyrm/templates/edit_author.html:69 -msgid "Goodreads key:" -msgstr "Clave Goodreads:" - #: bookwyrm/templates/email/html_layout.html:15 #: bookwyrm/templates/email/text_layout.html:2 msgid "Hi there," @@ -817,76 +845,76 @@ msgstr "Todos los mensajes" msgid "You have no messages right now." msgstr "No tienes ningún mensaje en este momento." -#: bookwyrm/templates/feed/feed.html:9 +#: bookwyrm/templates/feed/feed.html:8 msgid "Home Timeline" msgstr "Línea temporal de hogar" -#: bookwyrm/templates/feed/feed.html:11 +#: bookwyrm/templates/feed/feed.html:10 msgid "Local Timeline" msgstr "Línea temporal local" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:12 msgid "Federated Timeline" msgstr "Línea temporal federalizado" -#: bookwyrm/templates/feed/feed.html:19 +#: bookwyrm/templates/feed/feed.html:18 msgid "Home" msgstr "Hogar" -#: bookwyrm/templates/feed/feed.html:22 +#: bookwyrm/templates/feed/feed.html:21 msgid "Local" msgstr "Local" -#: bookwyrm/templates/feed/feed.html:25 +#: bookwyrm/templates/feed/feed.html:24 #: bookwyrm/templates/settings/edit_server.html:40 msgid "Federated" msgstr "Federalizado" -#: bookwyrm/templates/feed/feed.html:33 +#: bookwyrm/templates/feed/feed.html:32 #, python-format msgid "load 0 unread status(es)" msgstr "cargar 0 status(es) no leídos" -#: bookwyrm/templates/feed/feed.html:48 +#: bookwyrm/templates/feed/feed.html:47 msgid "There aren't any activities right now! Try following a user to get started" msgstr "¡No hay actividad ahora mismo! Sigue a otro usuario para empezar" -#: bookwyrm/templates/feed/feed.html:56 +#: bookwyrm/templates/feed/feed.html:55 #: bookwyrm/templates/get_started/users.html:6 msgid "Who to follow" msgstr "A quién seguir" -#: bookwyrm/templates/feed/feed_layout.html:5 +#: bookwyrm/templates/feed/feed_layout.html:4 msgid "Updates" msgstr "Actualizaciones" -#: bookwyrm/templates/feed/feed_layout.html:11 +#: bookwyrm/templates/feed/feed_layout.html:10 #: bookwyrm/templates/layout.html:59 #: bookwyrm/templates/user/shelf/books_header.html:3 msgid "Your books" msgstr "Tus libros" -#: bookwyrm/templates/feed/feed_layout.html:13 +#: bookwyrm/templates/feed/feed_layout.html:12 msgid "There are no books here right now! Try searching for a book to get started" msgstr "¡No hay ningún libro aqui ahorita! Busca a un libro para empezar" -#: bookwyrm/templates/feed/feed_layout.html:24 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "To Read" msgstr "Para leer" -#: bookwyrm/templates/feed/feed_layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Currently Reading" msgstr "Leyendo actualmente" -#: bookwyrm/templates/feed/feed_layout.html:26 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Read" msgstr "Leido" -#: bookwyrm/templates/feed/feed_layout.html:88 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:87 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -916,7 +944,7 @@ msgid "What are you reading?" msgstr "¿Qué estás leyendo?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/lists/list.html:119 +#: bookwyrm/templates/lists/list.html:120 msgid "Search for a book" msgstr "Buscar libros" @@ -936,7 +964,7 @@ msgstr "Puedes agregar libros cuando comiences a usar %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39 -#: bookwyrm/templates/lists/list.html:123 +#: bookwyrm/templates/lists/list.html:124 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -952,7 +980,7 @@ msgid "Popular on %(site_name)s" msgstr "Popular en %(site_name)s" #: bookwyrm/templates/get_started/books.html:58 -#: bookwyrm/templates/lists/list.html:136 +#: bookwyrm/templates/lists/list.html:137 msgid "No books found" msgstr "No se encontró ningún libro" @@ -1072,95 +1100,95 @@ msgstr "Importar libros" msgid "Data source:" msgstr "Fuente de datos:" -#: bookwyrm/templates/import.html:29 +#: bookwyrm/templates/import.html:32 msgid "Data file:" msgstr "Archivo de datos:" -#: bookwyrm/templates/import.html:37 +#: bookwyrm/templates/import.html:40 msgid "Include reviews" msgstr "Incluir reseñas" -#: bookwyrm/templates/import.html:42 +#: bookwyrm/templates/import.html:45 msgid "Privacy setting for imported reviews:" msgstr "Configuración de privacidad para las reseñas importadas:" -#: bookwyrm/templates/import.html:48 +#: bookwyrm/templates/import.html:51 #: bookwyrm/templates/settings/server_blocklist.html:64 msgid "Import" msgstr "Importar" -#: bookwyrm/templates/import.html:53 +#: bookwyrm/templates/import.html:56 msgid "Recent Imports" msgstr "Importaciones recientes" -#: bookwyrm/templates/import.html:55 +#: bookwyrm/templates/import.html:58 msgid "No recent imports" msgstr "No hay ninguna importación reciente" -#: bookwyrm/templates/import_status.html:6 -#: bookwyrm/templates/import_status.html:10 +#: bookwyrm/templates/import_status.html:5 +#: bookwyrm/templates/import_status.html:9 msgid "Import Status" msgstr "Status de importación" -#: bookwyrm/templates/import_status.html:13 +#: bookwyrm/templates/import_status.html:12 msgid "Import started:" msgstr "Importación ha empezado:" -#: bookwyrm/templates/import_status.html:17 +#: bookwyrm/templates/import_status.html:16 msgid "Import completed:" msgstr "Importación ha terminado:" -#: bookwyrm/templates/import_status.html:20 +#: bookwyrm/templates/import_status.html:19 msgid "TASK FAILED" msgstr "TAREA FALLÓ" -#: bookwyrm/templates/import_status.html:26 +#: bookwyrm/templates/import_status.html:25 msgid "Import still in progress." msgstr "Importación todavia en progreso" -#: bookwyrm/templates/import_status.html:28 +#: bookwyrm/templates/import_status.html:27 msgid "(Hit reload to update!)" msgstr "(¡Refresca para actualizar!)" -#: bookwyrm/templates/import_status.html:35 +#: bookwyrm/templates/import_status.html:34 msgid "Failed to load" msgstr "No se pudo cargar" -#: bookwyrm/templates/import_status.html:44 +#: bookwyrm/templates/import_status.html:43 #, python-format msgid "Jump to the bottom of the list to select the %(failed_count)s items which failed to import." msgstr "Saltar al final de la lista para seleccionar los %(failed_count)s artículos que no se pudieron importar." -#: bookwyrm/templates/import_status.html:79 +#: bookwyrm/templates/import_status.html:78 msgid "Select all" msgstr "Seleccionar todo" -#: bookwyrm/templates/import_status.html:82 +#: bookwyrm/templates/import_status.html:81 msgid "Retry items" msgstr "Reintentar ítems" -#: bookwyrm/templates/import_status.html:108 +#: bookwyrm/templates/import_status.html:107 msgid "Successfully imported" msgstr "Importado exitosamente" -#: bookwyrm/templates/import_status.html:112 +#: bookwyrm/templates/import_status.html:111 msgid "Book" msgstr "Libro" -#: bookwyrm/templates/import_status.html:115 -#: bookwyrm/templates/snippets/create_status_form.html:10 -#: bookwyrm/templates/user/shelf/shelf.html:77 -#: bookwyrm/templates/user/shelf/shelf.html:95 +#: bookwyrm/templates/import_status.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:78 +#: bookwyrm/templates/user/shelf/shelf.html:98 msgid "Title" msgstr "Título" -#: bookwyrm/templates/import_status.html:118 -#: bookwyrm/templates/user/shelf/shelf.html:78 -#: bookwyrm/templates/user/shelf/shelf.html:98 +#: bookwyrm/templates/import_status.html:117 +#: bookwyrm/templates/user/shelf/shelf.html:79 +#: bookwyrm/templates/user/shelf/shelf.html:101 msgid "Author" msgstr "Autor/Autora" -#: bookwyrm/templates/import_status.html:141 +#: bookwyrm/templates/import_status.html:140 msgid "Imported" msgstr "Importado" @@ -1271,7 +1299,8 @@ msgid "Support %(site_name)s on % msgstr "Apoyar %(site_name)s en %(support_title)s" #: bookwyrm/templates/layout.html:217 -msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +#| msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en GitHub." #: bookwyrm/templates/lists/create_form.html:5 @@ -1314,7 +1343,7 @@ msgid "Discard" msgstr "Desechar" #: bookwyrm/templates/lists/edit_form.html:5 -#: bookwyrm/templates/lists/list_layout.html:18 +#: bookwyrm/templates/lists/list_layout.html:17 msgid "Edit List" msgstr "Editar lista" @@ -1348,68 +1377,68 @@ msgstr "Abierto" msgid "Anyone can add books to this list" msgstr "Cualquer usuario puede agregar libros a esta lista" -#: bookwyrm/templates/lists/list.html:19 +#: bookwyrm/templates/lists/list.html:20 msgid "You successfully suggested a book for this list!" msgstr "" -#: bookwyrm/templates/lists/list.html:21 +#: bookwyrm/templates/lists/list.html:22 #, fuzzy #| msgid "Anyone can add books to this list" msgid "You successfully added a book to this list!" msgstr "Cualquer usuario puede agregar libros a esta lista" -#: bookwyrm/templates/lists/list.html:27 +#: bookwyrm/templates/lists/list.html:28 msgid "This list is currently empty" msgstr "Esta lista está vacia" -#: bookwyrm/templates/lists/list.html:64 +#: bookwyrm/templates/lists/list.html:65 #, python-format msgid "Added by %(username)s" msgstr "Agregado por %(username)s" -#: bookwyrm/templates/lists/list.html:76 +#: bookwyrm/templates/lists/list.html:77 msgid "Set" msgstr "Establecido" -#: bookwyrm/templates/lists/list.html:79 +#: bookwyrm/templates/lists/list.html:80 msgid "List position" msgstr "Posición" -#: bookwyrm/templates/lists/list.html:85 +#: bookwyrm/templates/lists/list.html:86 #: bookwyrm/templates/snippets/shelf_selector.html:26 msgid "Remove" msgstr "Quitar" -#: bookwyrm/templates/lists/list.html:98 bookwyrm/templates/lists/list.html:110 +#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111 msgid "Sort List" msgstr "Ordena la lista" -#: bookwyrm/templates/lists/list.html:104 +#: bookwyrm/templates/lists/list.html:105 msgid "Direction" msgstr "Dirección" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Add Books" msgstr "Agregar libros" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Suggest Books" msgstr "Sugerir libros" -#: bookwyrm/templates/lists/list.html:124 +#: bookwyrm/templates/lists/list.html:125 msgid "search" msgstr "buscar" -#: bookwyrm/templates/lists/list.html:130 +#: bookwyrm/templates/lists/list.html:131 msgid "Clear search" msgstr "Borrar búsqueda" -#: bookwyrm/templates/lists/list.html:135 +#: bookwyrm/templates/lists/list.html:136 #, python-format msgid "No books found matching the query \"%(query)s\"" msgstr "No se encontró ningún libro correspondiente a la búsqueda: \"%(query)s\"" -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Suggest" msgstr "Sugerir" @@ -1434,36 +1463,36 @@ msgstr "Contactar a unx administradorx para recibir una invitación" msgid "More about this site" msgstr "Más sobre este sitio" +#: bookwyrm/templates/moderation/report.html:5 #: bookwyrm/templates/moderation/report.html:6 -#: bookwyrm/templates/moderation/report.html:7 #: bookwyrm/templates/moderation/report_preview.html:6 #, python-format msgid "Report #%(report_id)s: %(username)s" msgstr "Reportar #%(report_id)s: %(username)s" -#: bookwyrm/templates/moderation/report.html:11 +#: bookwyrm/templates/moderation/report.html:10 msgid "Back to reports" msgstr "Volver a los informes" -#: bookwyrm/templates/moderation/report.html:23 +#: bookwyrm/templates/moderation/report.html:22 msgid "Moderator Comments" msgstr "Comentarios de moderador" -#: bookwyrm/templates/moderation/report.html:41 +#: bookwyrm/templates/moderation/report.html:40 #: bookwyrm/templates/snippets/create_status.html:28 -#: bookwyrm/templates/snippets/create_status_form.html:63 +#: bookwyrm/templates/snippets/create_status_form.html:66 msgid "Comment" msgstr "Comentario" -#: bookwyrm/templates/moderation/report.html:46 +#: bookwyrm/templates/moderation/report.html:45 msgid "Reported statuses" msgstr "Statuses reportados" -#: bookwyrm/templates/moderation/report.html:48 +#: bookwyrm/templates/moderation/report.html:47 msgid "No statuses reported" msgstr "Ningún estatus reportado" -#: bookwyrm/templates/moderation/report.html:54 +#: bookwyrm/templates/moderation/report.html:53 msgid "Status has been deleted" msgstr "Status ha sido eliminado" @@ -1741,7 +1770,7 @@ msgstr "Buscar" #: bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 -#: bookwyrm/templates/user/layout.html:73 +#: bookwyrm/templates/user/layout.html:74 msgid "Books" msgstr "Libros" @@ -1814,7 +1843,7 @@ msgid "Add server" msgstr "Agregar servidor" #: bookwyrm/templates/settings/edit_server.html:7 -#: bookwyrm/templates/settings/federated_server.html:12 +#: bookwyrm/templates/settings/federated_server.html:13 #: bookwyrm/templates/settings/server_blocklist.html:7 msgid "Back to server list" msgstr "Volver a la lista de servidores" @@ -1829,24 +1858,24 @@ msgid "Instance:" msgstr "Instancia:" #: bookwyrm/templates/settings/edit_server.html:37 -#: bookwyrm/templates/settings/federated_server.html:29 +#: bookwyrm/templates/settings/federated_server.html:30 #: bookwyrm/templates/user_admin/user_info.html:34 msgid "Status:" msgstr "Status:" #: bookwyrm/templates/settings/edit_server.html:41 -#: bookwyrm/templates/settings/federated_server.html:9 +#: bookwyrm/templates/settings/federated_server.html:10 msgid "Blocked" msgstr "Bloqueado" #: bookwyrm/templates/settings/edit_server.html:48 -#: bookwyrm/templates/settings/federated_server.html:21 +#: bookwyrm/templates/settings/federated_server.html:22 #: bookwyrm/templates/user_admin/user_info.html:26 msgid "Software:" msgstr "Software:" #: bookwyrm/templates/settings/edit_server.html:55 -#: bookwyrm/templates/settings/federated_server.html:25 +#: bookwyrm/templates/settings/federated_server.html:26 #: bookwyrm/templates/user_admin/user_info.html:30 msgid "Version:" msgstr "Versión:" @@ -1855,69 +1884,69 @@ msgstr "Versión:" msgid "Notes:" msgstr "Notas:" -#: bookwyrm/templates/settings/federated_server.html:18 +#: bookwyrm/templates/settings/federated_server.html:19 msgid "Details" msgstr "Detalles" -#: bookwyrm/templates/settings/federated_server.html:36 -#: bookwyrm/templates/user/layout.html:55 +#: bookwyrm/templates/settings/federated_server.html:37 +#: bookwyrm/templates/user/layout.html:56 msgid "Activity" msgstr "Actividad" -#: bookwyrm/templates/settings/federated_server.html:39 +#: bookwyrm/templates/settings/federated_server.html:40 msgid "Users:" msgstr "Usuarios:" -#: bookwyrm/templates/settings/federated_server.html:42 -#: bookwyrm/templates/settings/federated_server.html:49 +#: bookwyrm/templates/settings/federated_server.html:43 +#: bookwyrm/templates/settings/federated_server.html:50 msgid "View all" msgstr "Ver todos" -#: bookwyrm/templates/settings/federated_server.html:46 +#: bookwyrm/templates/settings/federated_server.html:47 msgid "Reports:" msgstr "Informes:" -#: bookwyrm/templates/settings/federated_server.html:53 +#: bookwyrm/templates/settings/federated_server.html:54 msgid "Followed by us:" msgstr "Seguido por nosotros:" -#: bookwyrm/templates/settings/federated_server.html:59 +#: bookwyrm/templates/settings/federated_server.html:60 msgid "Followed by them:" msgstr "Seguido por ellos:" -#: bookwyrm/templates/settings/federated_server.html:65 +#: bookwyrm/templates/settings/federated_server.html:66 msgid "Blocked by us:" msgstr "Bloqueado por nosotros:" -#: bookwyrm/templates/settings/federated_server.html:77 +#: bookwyrm/templates/settings/federated_server.html:78 #: bookwyrm/templates/user_admin/user_info.html:39 msgid "Notes" msgstr "Notas" -#: bookwyrm/templates/settings/federated_server.html:80 +#: bookwyrm/templates/settings/federated_server.html:81 msgid "Edit" msgstr "Editar" -#: bookwyrm/templates/settings/federated_server.html:100 +#: bookwyrm/templates/settings/federated_server.html:101 #: bookwyrm/templates/user_admin/user_moderation_actions.html:3 msgid "Actions" msgstr "Acciones" -#: bookwyrm/templates/settings/federated_server.html:104 +#: bookwyrm/templates/settings/federated_server.html:105 #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" msgstr "Bloquear" -#: bookwyrm/templates/settings/federated_server.html:105 +#: bookwyrm/templates/settings/federated_server.html:106 msgid "All users from this instance will be deactivated." msgstr "Todos los usuarios en esta instancia serán desactivados." -#: bookwyrm/templates/settings/federated_server.html:110 +#: bookwyrm/templates/settings/federated_server.html:111 #: bookwyrm/templates/snippets/block_button.html:10 msgid "Un-block" msgstr "Desbloquear" -#: bookwyrm/templates/settings/federated_server.html:111 +#: bookwyrm/templates/settings/federated_server.html:112 msgid "All users from this instance will be re-activated." msgstr "Todos los usuarios en esta instancia serán re-activados." @@ -2124,7 +2153,7 @@ msgstr "Permitir solicitudes de invitación:" msgid "Registration closed text:" msgstr "Texto de registración cerrada:" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:31 msgid "No cover" msgstr "Sin portada" @@ -2133,15 +2162,15 @@ msgstr "Sin portada" msgid "%(title)s by " msgstr "%(title)s por " -#: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 +#: bookwyrm/templates/snippets/boost_button.html:10 #, fuzzy #| msgid "boosted" msgid "Boost" msgstr "respaldó" -#: bookwyrm/templates/snippets/boost_button.html:15 #: bookwyrm/templates/snippets/boost_button.html:16 +#: bookwyrm/templates/snippets/boost_button.html:17 #, fuzzy #| msgid "Un-boost status" msgid "Un-boost" @@ -2163,66 +2192,66 @@ msgstr "Reseña" msgid "Quote" msgstr "Cita" -#: bookwyrm/templates/snippets/create_status_form.html:20 +#: bookwyrm/templates/snippets/create_status_form.html:23 msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status_form.html:22 +#: bookwyrm/templates/snippets/create_status_form.html:25 msgid "Quote:" msgstr "Cita:" -#: bookwyrm/templates/snippets/create_status_form.html:24 +#: bookwyrm/templates/snippets/create_status_form.html:27 msgid "Review:" msgstr "Reseña:" -#: bookwyrm/templates/snippets/create_status_form.html:53 -#: bookwyrm/templates/snippets/status/layout.html:30 +#: bookwyrm/templates/snippets/create_status_form.html:56 +#: bookwyrm/templates/snippets/status/layout.html:29 +#: bookwyrm/templates/snippets/status/layout.html:47 #: bookwyrm/templates/snippets/status/layout.html:48 -#: bookwyrm/templates/snippets/status/layout.html:49 msgid "Reply" msgstr "Respuesta" -#: bookwyrm/templates/snippets/create_status_form.html:53 +#: bookwyrm/templates/snippets/create_status_form.html:56 #, fuzzy #| msgid "Footer Content" msgid "Content" msgstr "Contenido del pie de página" -#: bookwyrm/templates/snippets/create_status_form.html:77 +#: bookwyrm/templates/snippets/create_status_form.html:80 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16 msgid "Progress:" msgstr "Progreso:" -#: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:26 +#: bookwyrm/templates/snippets/create_status_form.html:88 +#: 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_form.html:86 -#: bookwyrm/templates/snippets/readthrough_form.html:27 +#: bookwyrm/templates/snippets/create_status_form.html:89 +#: 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_form.html:92 +#: bookwyrm/templates/snippets/create_status_form.html:95 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36 #, python-format msgid "of %(pages)s pages" msgstr "de %(pages)s páginas" -#: bookwyrm/templates/snippets/create_status_form.html:107 +#: bookwyrm/templates/snippets/create_status_form.html:110 msgid "Include spoiler alert" msgstr "Incluir alerta de spoiler" -#: bookwyrm/templates/snippets/create_status_form.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:117 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" msgstr "Privada" -#: bookwyrm/templates/snippets/create_status_form.html:125 +#: bookwyrm/templates/snippets/create_status_form.html:128 msgid "Post" msgstr "Compartir" @@ -2236,17 +2265,17 @@ msgid "You are deleting this readthrough and its %(count)s associated progress u msgstr "Estás eliminando esta lectura y sus %(count)s actualizaciones de progreso asociados." #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 -#: bookwyrm/templates/snippets/follow_request_buttons.html:13 +#: bookwyrm/templates/snippets/follow_request_buttons.html:12 msgid "Delete" msgstr "Eliminar" -#: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:9 +#: bookwyrm/templates/snippets/fav_button.html:11 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:15 -#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 +#: bookwyrm/templates/snippets/fav_button.html:18 #, fuzzy #| msgid "Un-like status" msgid "Un-like" @@ -2280,11 +2309,11 @@ msgstr "Des-enviar solicitud de seguidor" msgid "Unfollow" msgstr "Dejar de seguir" -#: bookwyrm/templates/snippets/follow_request_buttons.html:8 +#: bookwyrm/templates/snippets/follow_request_buttons.html:7 msgid "Accept" msgstr "Aceptar" -#: bookwyrm/templates/snippets/form_rate_stars.html:20 +#: bookwyrm/templates/snippets/form_rate_stars.html:19 #: bookwyrm/templates/snippets/stars.html:13 msgid "No rating" msgstr "No calificación" @@ -2333,8 +2362,8 @@ msgid "Goal privacy:" msgstr "Privacidad de meta:" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:45 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:33 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 msgid "Post to feed" msgstr "Compartir con tu feed" @@ -2446,12 +2475,12 @@ msgstr "Eliminar estas fechas de lectura" msgid "Started reading" msgstr "Lectura se empezó" -#: bookwyrm/templates/snippets/readthrough_form.html:18 +#: bookwyrm/templates/snippets/readthrough_form.html:14 msgid "Progress" msgstr "Progreso" -#: bookwyrm/templates/snippets/readthrough_form.html:34 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 +#: bookwyrm/templates/snippets/readthrough_form.html:30 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 msgid "Finished reading" msgstr "Lectura se terminó" @@ -2459,27 +2488,27 @@ msgstr "Lectura se terminó" msgid "Sign Up" msgstr "Inscribirse" -#: bookwyrm/templates/snippets/report_button.html:5 +#: bookwyrm/templates/snippets/report_button.html:6 msgid "Report" msgstr "Reportar" #: bookwyrm/templates/snippets/rss_title.html:5 -#: bookwyrm/templates/snippets/status/status_header.html:34 +#: bookwyrm/templates/snippets/status/status_header.html:35 msgid "rated" msgstr "calificó" #: bookwyrm/templates/snippets/rss_title.html:7 -#: bookwyrm/templates/snippets/status/status_header.html:36 +#: bookwyrm/templates/snippets/status/status_header.html:37 msgid "reviewed" msgstr "reseñó" #: bookwyrm/templates/snippets/rss_title.html:9 -#: bookwyrm/templates/snippets/status/status_header.html:38 +#: bookwyrm/templates/snippets/status/status_header.html:39 msgid "commented on" msgstr "comentó en" #: bookwyrm/templates/snippets/rss_title.html:11 -#: bookwyrm/templates/snippets/status/status_header.html:40 +#: bookwyrm/templates/snippets/status/status_header.html:41 msgid "quoted" msgstr "citó" @@ -2497,7 +2526,7 @@ 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:34 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:36 msgid "Update progress" msgstr "Progreso de actualización" @@ -2505,20 +2534,20 @@ msgstr "Progreso de actualización" msgid "More shelves" msgstr "Más estantes" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:10 msgid "Start reading" msgstr "Empezar leer" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:15 msgid "Finish reading" msgstr "Terminar de leer" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:18 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 msgid "Want to read" msgstr "Quiero leer" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 #, python-format msgid "Remove from %(name)s" msgstr "Quitar de %(name)s" @@ -2533,40 +2562,40 @@ msgstr "Empezar \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Quiero leer \"%(book_title)s\"" -#: bookwyrm/templates/snippets/status/content_status.html:70 -#: bookwyrm/templates/snippets/trimmed_text.html:14 +#: bookwyrm/templates/snippets/status/content_status.html:71 +#: bookwyrm/templates/snippets/trimmed_text.html:15 msgid "Show more" msgstr "Mostrar más" -#: bookwyrm/templates/snippets/status/content_status.html:85 -#: bookwyrm/templates/snippets/trimmed_text.html:29 +#: bookwyrm/templates/snippets/status/content_status.html:86 +#: bookwyrm/templates/snippets/trimmed_text.html:30 msgid "Show less" msgstr "Mostrar menos" -#: bookwyrm/templates/snippets/status/content_status.html:115 +#: bookwyrm/templates/snippets/status/content_status.html:116 msgid "Open image in new window" msgstr "Abrir imagen en una nueva ventana" -#: bookwyrm/templates/snippets/status/layout.html:22 +#: bookwyrm/templates/snippets/status/layout.html:21 #: bookwyrm/templates/snippets/status/status_options.html:17 msgid "Delete status" msgstr "Eliminar status" +#: bookwyrm/templates/snippets/status/layout.html:51 #: bookwyrm/templates/snippets/status/layout.html:52 -#: bookwyrm/templates/snippets/status/layout.html:53 msgid "Boost status" msgstr "Status de respaldo" +#: bookwyrm/templates/snippets/status/layout.html:55 #: bookwyrm/templates/snippets/status/layout.html:56 -#: bookwyrm/templates/snippets/status/layout.html:57 msgid "Like status" msgstr "Me gusta status" -#: bookwyrm/templates/snippets/status/status.html:9 +#: bookwyrm/templates/snippets/status/status.html:10 msgid "boosted" msgstr "respaldó" -#: bookwyrm/templates/snippets/status/status_header.html:44 +#: bookwyrm/templates/snippets/status/status_header.html:45 #, python-format msgid "replied to %(username)s's status" msgstr "respondió al status de %(username)s " @@ -2598,15 +2627,15 @@ msgstr "En orden ascendente" msgid "Sorted descending" msgstr "En orden descendente" -#: bookwyrm/templates/user/layout.html:12 bookwyrm/templates/user/user.html:10 +#: bookwyrm/templates/user/layout.html:13 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil de usuario" -#: bookwyrm/templates/user/layout.html:36 +#: bookwyrm/templates/user/layout.html:37 msgid "Follow Requests" msgstr "Solicitudes de seguidor" -#: bookwyrm/templates/user/layout.html:61 +#: bookwyrm/templates/user/layout.html:62 msgid "Reading Goal" msgstr "Meta de lectura" @@ -2652,38 +2681,38 @@ msgstr "Editar estante" msgid "Update shelf" msgstr "Actualizar estante" -#: bookwyrm/templates/user/shelf/shelf.html:24 bookwyrm/views/shelf.py:48 +#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51 msgid "All books" msgstr "Todos los libros" -#: bookwyrm/templates/user/shelf/shelf.html:37 +#: bookwyrm/templates/user/shelf/shelf.html:38 msgid "Create shelf" msgstr "Crear estante" -#: bookwyrm/templates/user/shelf/shelf.html:60 +#: bookwyrm/templates/user/shelf/shelf.html:61 msgid "Edit shelf" msgstr "Editar estante" -#: bookwyrm/templates/user/shelf/shelf.html:79 -#: bookwyrm/templates/user/shelf/shelf.html:101 +#: bookwyrm/templates/user/shelf/shelf.html:80 +#: bookwyrm/templates/user/shelf/shelf.html:104 msgid "Shelved" msgstr "Archivado" -#: bookwyrm/templates/user/shelf/shelf.html:80 -#: bookwyrm/templates/user/shelf/shelf.html:105 +#: bookwyrm/templates/user/shelf/shelf.html:81 +#: bookwyrm/templates/user/shelf/shelf.html:108 msgid "Started" msgstr "Empezado" -#: bookwyrm/templates/user/shelf/shelf.html:81 -#: bookwyrm/templates/user/shelf/shelf.html:108 +#: bookwyrm/templates/user/shelf/shelf.html:82 +#: bookwyrm/templates/user/shelf/shelf.html:111 msgid "Finished" msgstr "Terminado" -#: bookwyrm/templates/user/shelf/shelf.html:134 +#: bookwyrm/templates/user/shelf/shelf.html:137 msgid "This shelf is empty." msgstr "Este estante está vacio." -#: bookwyrm/templates/user/shelf/shelf.html:140 +#: bookwyrm/templates/user/shelf/shelf.html:143 msgid "Delete shelf" msgstr "Eliminar estante" @@ -2712,24 +2741,24 @@ msgstr "Feed RSS" msgid "No activities yet!" msgstr "¡Aún no actividades!" -#: bookwyrm/templates/user/user_preview.html:14 +#: bookwyrm/templates/user/user_preview.html:15 #, python-format msgid "Joined %(date)s" msgstr "Unido %(date)s" -#: bookwyrm/templates/user/user_preview.html:18 +#: bookwyrm/templates/user/user_preview.html:19 #, python-format msgid "%(counter)s follower" msgid_plural "%(counter)s followers" msgstr[0] "%(counter)s seguidor" msgstr[1] "%(counter)s seguidores" -#: bookwyrm/templates/user/user_preview.html:19 +#: bookwyrm/templates/user/user_preview.html:20 #, python-format msgid "%(counter)s following" msgstr "%(counter)s siguiendo" -#: bookwyrm/templates/user/user_preview.html:25 +#: bookwyrm/templates/user/user_preview.html:26 #, fuzzy, python-format #| msgid "%(mutuals)s follower you follow" #| msgid_plural "%(mutuals)s followers you follow" @@ -2738,7 +2767,7 @@ msgid_plural "%(mutuals_display)s followers you follow" msgstr[0] "%(mutuals)s seguidor que sigues" msgstr[1] "%(mutuals)s seguidores que sigues" -#: bookwyrm/templates/user_admin/user.html:11 +#: bookwyrm/templates/user_admin/user.html:9 msgid "Back to users" msgstr "Volver a usuarios" @@ -2805,15 +2834,20 @@ msgstr "Des-suspender usuario" msgid "Access level:" msgstr "Nivel de acceso:" -#: bookwyrm/views/password.py:32 +#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35 msgid "No user with that email address was found." msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónico." -#: bookwyrm/views/password.py:41 +#: bookwyrm/views/password.py:44 #, python-format msgid "A password reset link sent to %s" msgstr "Un enlace para reestablecer tu contraseña se enviará a %s" +#, fuzzy +#~| msgid "BookWyrm users" +#~ msgid "BookWyrm\\" +#~ msgstr "Usuarios de BookWyrm" + #, fuzzy #~| msgid "Show more" #~ msgid "Show" diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index cb6c74d17..6362adcc2 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-05-10 13:23-0700\n" +"POT-Creation-Date: 2021-05-14 15:12-0700\n" "PO-Revision-Date: 2021-04-05 12:44+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -57,13 +57,13 @@ msgstr "" msgid "Book Title" msgstr "Titre" -#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:31 -#: bookwyrm/templates/user/shelf/shelf.html:82 -#: bookwyrm/templates/user/shelf/shelf.html:112 +#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34 +#: bookwyrm/templates/user/shelf/shelf.html:84 +#: bookwyrm/templates/user/shelf/shelf.html:115 msgid "Rating" msgstr "Note" -#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:100 +#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101 msgid "Sort By" msgstr "" @@ -137,19 +137,155 @@ msgstr "Erreur côté serveur" msgid "Something went wrong! Sorry about that." msgstr "Une erreur s’est produite ; désolé !" -#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/author/author.html:17 +#: bookwyrm/templates/author/author.html:18 msgid "Edit Author" msgstr "Modifier l’auteur ou autrice" -#: bookwyrm/templates/author.html:31 +#: bookwyrm/templates/author/author.html:33 +#: bookwyrm/templates/author/edit_author.html:38 +msgid "Aliases:" +msgstr "" + +#: bookwyrm/templates/author/author.html:39 +msgid "Born:" +msgstr "" + +#: bookwyrm/templates/author/author.html:45 +msgid "Died:" +msgstr "" + +#: bookwyrm/templates/author/author.html:52 msgid "Wikipedia" msgstr "Wikipedia" -#: bookwyrm/templates/author.html:36 +#: bookwyrm/templates/author/author.html:56 +#: bookwyrm/templates/book/book.html:81 +msgid "View on OpenLibrary" +msgstr "Voir sur OpenLibrary" + +#: bookwyrm/templates/author/author.html:61 +#: bookwyrm/templates/book/book.html:84 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "View on Inventaire" +msgstr "Voir sur OpenLibrary" + +#: bookwyrm/templates/author/author.html:75 #, python-format msgid "Books by %(name)s" msgstr "Livres par %(name)s" +#: bookwyrm/templates/author/edit_author.html:5 +msgid "Edit Author:" +msgstr "Modifier l’auteur ou l’autrice :" + +#: bookwyrm/templates/author/edit_author.html:13 +#: bookwyrm/templates/book/edit_book.html:18 +msgid "Added:" +msgstr "AJouté :" + +#: bookwyrm/templates/author/edit_author.html:14 +#: bookwyrm/templates/book/edit_book.html:19 +msgid "Updated:" +msgstr "Mis à jour :" + +#: bookwyrm/templates/author/edit_author.html:15 +#: bookwyrm/templates/book/edit_book.html:20 +msgid "Last edited by:" +msgstr "Dernière modification par :" + +#: bookwyrm/templates/author/edit_author.html:31 +#: bookwyrm/templates/book/edit_book.html:90 +msgid "Metadata" +msgstr "Métadonnées" + +#: bookwyrm/templates/author/edit_author.html:32 +#: bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 +#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 +msgid "Name:" +msgstr "Nom :" + +#: bookwyrm/templates/author/edit_author.html:40 +#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:165 +#, fuzzy +#| msgid "Separate multiple publishers with commas." +msgid "Separate multiple values with commas." +msgstr "Séparez plusieurs éditeurs par une virgule." + +#: bookwyrm/templates/author/edit_author.html:46 +msgid "Bio:" +msgstr "Bio :" + +#: bookwyrm/templates/author/edit_author.html:51 +msgid "Wikipedia link:" +msgstr "Wikipedia :" + +#: bookwyrm/templates/author/edit_author.html:57 +msgid "Birth date:" +msgstr "Date de naissance :" + +#: bookwyrm/templates/author/edit_author.html:65 +msgid "Death date:" +msgstr "Date de décès :" + +#: bookwyrm/templates/author/edit_author.html:73 +msgid "Author Identifiers" +msgstr "Identifiants de l’auteur ou autrice" + +#: bookwyrm/templates/author/edit_author.html:74 +#: bookwyrm/templates/book/edit_book.html:223 +msgid "Openlibrary key:" +msgstr "Clé Openlibrary :" + +#: bookwyrm/templates/author/edit_author.html:79 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "Inventaire ID:" +msgstr "Voir sur OpenLibrary" + +#: bookwyrm/templates/author/edit_author.html:84 +msgid "Librarything key:" +msgstr "Clé Librarything :" + +#: bookwyrm/templates/author/edit_author.html:89 +msgid "Goodreads key:" +msgstr "Clé Goodreads :" + +#: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/book.html:127 +#: bookwyrm/templates/book/edit_book.html:241 +#: bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:70 +#: bookwyrm/templates/settings/edit_server.html:68 +#: bookwyrm/templates/settings/federated_server.html:94 +#: bookwyrm/templates/settings/site.html:97 +#: bookwyrm/templates/snippets/readthrough.html:77 +#: 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:34 +#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 +msgid "Save" +msgstr "Enregistrer" + +#: bookwyrm/templates/author/edit_author.html:99 +#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 +#: bookwyrm/templates/book/cover_modal.html:32 +#: bookwyrm/templates/book/edit_book.html:242 +#: bookwyrm/templates/moderation/report_modal.html:34 +#: bookwyrm/templates/settings/federated_server.html:95 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:78 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "Annuler" + #: bookwyrm/templates/book/book.html:33 #: bookwyrm/templates/discover/large-book.html:25 #: bookwyrm/templates/discover/small-book.html:19 @@ -169,16 +305,6 @@ msgstr "Ajouter une couverture" msgid "Failed to load cover" msgstr "La couverture n’a pu être chargée" -#: bookwyrm/templates/book/book.html:81 -msgid "View on OpenLibrary" -msgstr "Voir sur OpenLibrary" - -#: bookwyrm/templates/book/book.html:84 -#, fuzzy -#| msgid "View on OpenLibrary" -msgid "View on Inventaire" -msgstr "Voir sur OpenLibrary" - #: bookwyrm/templates/book/book.html:104 #, python-format msgid "(%(review_count)s review)" @@ -196,37 +322,6 @@ msgstr "Ajouter une description" msgid "Description:" msgstr "Description :" -#: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:249 -#: bookwyrm/templates/edit_author.html:78 bookwyrm/templates/lists/form.html:42 -#: bookwyrm/templates/preferences/edit_user.html:70 -#: bookwyrm/templates/settings/edit_server.html:68 -#: bookwyrm/templates/settings/federated_server.html:93 -#: bookwyrm/templates/settings/site.html:97 -#: bookwyrm/templates/snippets/readthrough.html:77 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:50 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:38 -#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 -msgid "Save" -msgstr "Enregistrer" - -#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 -#: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:250 -#: bookwyrm/templates/edit_author.html:79 -#: bookwyrm/templates/moderation/report_modal.html:34 -#: bookwyrm/templates/settings/federated_server.html:94 -#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 -#: bookwyrm/templates/snippets/goal_form.html:32 -#: bookwyrm/templates/snippets/readthrough.html:78 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:51 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 -#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 -msgid "Cancel" -msgstr "Annuler" - #: bookwyrm/templates/book/book.html:137 #, python-format msgid "%(count)s editions" @@ -298,7 +393,7 @@ msgstr "Lieux" #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 #: bookwyrm/templates/search/layout.html:50 -#: bookwyrm/templates/user/layout.html:67 +#: bookwyrm/templates/user/layout.html:68 msgid "Lists" msgstr "Listes" @@ -308,7 +403,7 @@ msgstr "Ajouter à la liste" #: bookwyrm/templates/book/book.html:320 #: bookwyrm/templates/book/cover_modal.html:31 -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Add" msgstr "Ajouter" @@ -317,22 +412,22 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:227 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:239 +#: bookwyrm/templates/book/edit_book.html:231 msgid "ASIN:" msgstr "ASIN :" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:187 +#: bookwyrm/templates/book/edit_book.html:179 msgid "Upload cover:" msgstr "Charger une couverture :" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:193 +#: bookwyrm/templates/book/edit_book.html:185 msgid "Load cover from url:" msgstr "Charger la couverture depuis une URL :" @@ -347,21 +442,6 @@ msgstr "Modifier « %(book_title)s »" msgid "Add Book" msgstr "Ajouter un livre" -#: bookwyrm/templates/book/edit_book.html:18 -#: bookwyrm/templates/edit_author.html:13 -msgid "Added:" -msgstr "AJouté :" - -#: bookwyrm/templates/book/edit_book.html:19 -#: bookwyrm/templates/edit_author.html:14 -msgid "Updated:" -msgstr "Mis à jour :" - -#: bookwyrm/templates/book/edit_book.html:20 -#: bookwyrm/templates/edit_author.html:15 -msgid "Last edited by:" -msgstr "Dernière modification par :" - #: bookwyrm/templates/book/edit_book.html:40 msgid "Confirm Book Info" msgstr "Confirmer les informations de ce livre" @@ -403,11 +483,6 @@ msgstr "Confirmer" msgid "Back" msgstr "Retour" -#: bookwyrm/templates/book/edit_book.html:90 -#: bookwyrm/templates/edit_author.html:31 -msgid "Metadata" -msgstr "Métadonnées" - #: bookwyrm/templates/book/edit_book.html:92 msgid "Title:" msgstr "Titre :" @@ -428,76 +503,67 @@ msgstr "Numéro dans la série :" msgid "Publisher:" msgstr "Éditeur :" -#: bookwyrm/templates/book/edit_book.html:128 -msgid "Separate multiple publishers with commas." -msgstr "Séparez plusieurs éditeurs par une virgule." - #: bookwyrm/templates/book/edit_book.html:135 msgid "First published date:" msgstr "Première date de publication :" -#: bookwyrm/templates/book/edit_book.html:147 +#: bookwyrm/templates/book/edit_book.html:143 msgid "Published date:" msgstr "Date de publication :" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:152 msgid "Authors" msgstr "Auteurs ou autrices" -#: bookwyrm/templates/book/edit_book.html:166 +#: bookwyrm/templates/book/edit_book.html:158 #, python-format msgid "Remove %(name)s" msgstr "Supprimer %(name)s" -#: bookwyrm/templates/book/edit_book.html:171 +#: bookwyrm/templates/book/edit_book.html:163 msgid "Add Authors:" msgstr "Ajouter des auteurs ou autrices :" -#: bookwyrm/templates/book/edit_book.html:172 +#: bookwyrm/templates/book/edit_book.html:164 msgid "John Doe, Jane Smith" msgstr "Claude Dupont, Dominique Durand" -#: bookwyrm/templates/book/edit_book.html:178 -#: bookwyrm/templates/user/shelf/shelf.html:76 +#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/user/shelf/shelf.html:77 msgid "Cover" msgstr "Couverture" -#: bookwyrm/templates/book/edit_book.html:206 +#: bookwyrm/templates/book/edit_book.html:198 msgid "Physical Properties" msgstr "Propriétés physiques" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:199 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "Format :" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:207 msgid "Pages:" msgstr "Pages :" -#: bookwyrm/templates/book/edit_book.html:222 +#: bookwyrm/templates/book/edit_book.html:214 msgid "Book Identifiers" msgstr "Identifiants du livre" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:215 msgid "ISBN 13:" msgstr "ISBN 13 :" -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:219 msgid "ISBN 10:" msgstr "ISBN 10 :" -#: bookwyrm/templates/book/edit_book.html:231 -#: bookwyrm/templates/edit_author.html:59 -msgid "Openlibrary key:" -msgstr "Clé Openlibrary :" - -#: bookwyrm/templates/book/editions.html:5 +#: bookwyrm/templates/book/editions.html:4 #, python-format msgid "Editions of %(book_title)s" msgstr "Éditions de %(book_title)s" -#: bookwyrm/templates/book/editions.html:9 +#: bookwyrm/templates/book/editions.html:8 #, python-format msgid "Editions of \"%(work_title)s\"" msgstr "Éditions de « %(work_title)s »" @@ -548,7 +614,7 @@ msgstr "Publié par %(publisher)s." #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 -#: bookwyrm/templates/feed/feed_layout.html:70 +#: bookwyrm/templates/feed/feed_layout.html:69 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 #: bookwyrm/templates/search/book.html:32 @@ -603,23 +669,23 @@ msgstr "Suggéré" msgid "Recently active" msgstr "Actif récemment" -#: bookwyrm/templates/directory/user_card.html:32 +#: bookwyrm/templates/directory/user_card.html:33 msgid "follower you follow" msgid_plural "followers you follow" msgstr[0] "compte auquel vous êtes abonné(e)" msgstr[1] "comptes auxquels vous êtes abonné(e)" -#: bookwyrm/templates/directory/user_card.html:39 +#: bookwyrm/templates/directory/user_card.html:40 msgid "book on your shelves" msgid_plural "books on your shelves" msgstr[0] "livre sur vos étagères" msgstr[1] "livres sur vos étagères" -#: bookwyrm/templates/directory/user_card.html:47 +#: bookwyrm/templates/directory/user_card.html:48 msgid "posts" msgstr "publications" -#: bookwyrm/templates/directory/user_card.html:53 +#: bookwyrm/templates/directory/user_card.html:54 msgid "last active" msgstr "dernière activité" @@ -705,44 +771,6 @@ msgstr "Valider" msgid "Your Account" msgstr "Votre compte" -#: bookwyrm/templates/edit_author.html:5 -msgid "Edit Author:" -msgstr "Modifier l’auteur ou l’autrice :" - -#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 -#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 -#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 -msgid "Name:" -msgstr "Nom :" - -#: bookwyrm/templates/edit_author.html:37 -msgid "Bio:" -msgstr "Bio :" - -#: bookwyrm/templates/edit_author.html:42 -msgid "Wikipedia link:" -msgstr "Wikipedia :" - -#: bookwyrm/templates/edit_author.html:47 -msgid "Birth date:" -msgstr "Date de naissance :" - -#: bookwyrm/templates/edit_author.html:52 -msgid "Death date:" -msgstr "Date de décès :" - -#: bookwyrm/templates/edit_author.html:58 -msgid "Author Identifiers" -msgstr "Identifiants de l’auteur ou autrice" - -#: bookwyrm/templates/edit_author.html:64 -msgid "Librarything key:" -msgstr "Clé Librarything :" - -#: bookwyrm/templates/edit_author.html:69 -msgid "Goodreads key:" -msgstr "Clé Goodreads :" - #: bookwyrm/templates/email/html_layout.html:15 #: bookwyrm/templates/email/text_layout.html:2 msgid "Hi there," @@ -823,76 +851,76 @@ msgstr "Tous les messages" msgid "You have no messages right now." msgstr "Vous n’avez aucun message pour l’instant." -#: bookwyrm/templates/feed/feed.html:9 +#: bookwyrm/templates/feed/feed.html:8 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/templates/feed/feed.html:11 +#: bookwyrm/templates/feed/feed.html:10 msgid "Local Timeline" msgstr "Fil d’actualité local" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:12 msgid "Federated Timeline" msgstr "Fil d’actualité des instances fédérées" -#: bookwyrm/templates/feed/feed.html:19 +#: bookwyrm/templates/feed/feed.html:18 msgid "Home" msgstr "Accueil" -#: bookwyrm/templates/feed/feed.html:22 +#: bookwyrm/templates/feed/feed.html:21 msgid "Local" msgstr "Local" -#: bookwyrm/templates/feed/feed.html:25 +#: bookwyrm/templates/feed/feed.html:24 #: bookwyrm/templates/settings/edit_server.html:40 msgid "Federated" msgstr "Fédéré" -#: bookwyrm/templates/feed/feed.html:33 +#: bookwyrm/templates/feed/feed.html:32 #, python-format msgid "load 0 unread status(es)" msgstr "charger le(s) 0 statut(s) non lu(s)" -#: bookwyrm/templates/feed/feed.html:48 +#: bookwyrm/templates/feed/feed.html:47 msgid "There aren't any activities right now! Try following a user to get started" msgstr "Aucune activité pour l’instant ! Abonnez‑vous à quelqu’un pour commencer" -#: bookwyrm/templates/feed/feed.html:56 +#: bookwyrm/templates/feed/feed.html:55 #: bookwyrm/templates/get_started/users.html:6 msgid "Who to follow" msgstr "À qui s’abonner" -#: bookwyrm/templates/feed/feed_layout.html:5 +#: bookwyrm/templates/feed/feed_layout.html:4 msgid "Updates" msgstr "Mises à jour" -#: bookwyrm/templates/feed/feed_layout.html:11 +#: bookwyrm/templates/feed/feed_layout.html:10 #: bookwyrm/templates/layout.html:59 #: bookwyrm/templates/user/shelf/books_header.html:3 msgid "Your books" msgstr "Vos livres" -#: bookwyrm/templates/feed/feed_layout.html:13 +#: bookwyrm/templates/feed/feed_layout.html:12 msgid "There are no books here right now! Try searching for a book to get started" msgstr "Aucun livre ici pour l’instant ! Cherchez un livre pour commencer" -#: bookwyrm/templates/feed/feed_layout.html:24 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "To Read" msgstr "À lire" -#: bookwyrm/templates/feed/feed_layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Currently Reading" msgstr "En train de lire" -#: bookwyrm/templates/feed/feed_layout.html:26 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Read" msgstr "Lu" -#: bookwyrm/templates/feed/feed_layout.html:88 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:87 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -922,7 +950,7 @@ msgid "What are you reading?" msgstr "Que lisez‑vous ?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/lists/list.html:119 +#: bookwyrm/templates/lists/list.html:120 msgid "Search for a book" msgstr "Chercher un livre" @@ -942,7 +970,7 @@ msgstr "Vous pourrez ajouter des livres lorsque vous commencerez à utiliser %(s #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39 -#: bookwyrm/templates/lists/list.html:123 +#: bookwyrm/templates/lists/list.html:124 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -958,7 +986,7 @@ msgid "Popular on %(site_name)s" msgstr "Populaire sur %(site_name)s" #: bookwyrm/templates/get_started/books.html:58 -#: bookwyrm/templates/lists/list.html:136 +#: bookwyrm/templates/lists/list.html:137 msgid "No books found" msgstr "Aucun livre trouvé" @@ -1078,95 +1106,95 @@ msgstr "Importer des livres" msgid "Data source:" msgstr "Source de données :" -#: bookwyrm/templates/import.html:29 +#: bookwyrm/templates/import.html:32 msgid "Data file:" msgstr "Fichier de données :" -#: bookwyrm/templates/import.html:37 +#: bookwyrm/templates/import.html:40 msgid "Include reviews" msgstr "Importer les critiques" -#: bookwyrm/templates/import.html:42 +#: bookwyrm/templates/import.html:45 msgid "Privacy setting for imported reviews:" msgstr "Confidentialité des critiques importées :" -#: bookwyrm/templates/import.html:48 +#: bookwyrm/templates/import.html:51 #: bookwyrm/templates/settings/server_blocklist.html:64 msgid "Import" msgstr "Importer" -#: bookwyrm/templates/import.html:53 +#: bookwyrm/templates/import.html:56 msgid "Recent Imports" msgstr "Importations récentes" -#: bookwyrm/templates/import.html:55 +#: bookwyrm/templates/import.html:58 msgid "No recent imports" msgstr "Aucune importation récente" -#: bookwyrm/templates/import_status.html:6 -#: bookwyrm/templates/import_status.html:10 +#: bookwyrm/templates/import_status.html:5 +#: bookwyrm/templates/import_status.html:9 msgid "Import Status" msgstr "Statut de l’importation" -#: bookwyrm/templates/import_status.html:13 +#: bookwyrm/templates/import_status.html:12 msgid "Import started:" msgstr "Importation en cours :" -#: bookwyrm/templates/import_status.html:17 +#: bookwyrm/templates/import_status.html:16 msgid "Import completed:" msgstr "Importation terminé :" -#: bookwyrm/templates/import_status.html:20 +#: bookwyrm/templates/import_status.html:19 msgid "TASK FAILED" msgstr "la tâche a échoué" -#: bookwyrm/templates/import_status.html:26 +#: bookwyrm/templates/import_status.html:25 msgid "Import still in progress." msgstr "L’importation est toujours en cours" -#: bookwyrm/templates/import_status.html:28 +#: bookwyrm/templates/import_status.html:27 msgid "(Hit reload to update!)" msgstr "(Rechargez la page pour mettre à jour !" -#: bookwyrm/templates/import_status.html:35 +#: bookwyrm/templates/import_status.html:34 msgid "Failed to load" msgstr "Items non importés" -#: bookwyrm/templates/import_status.html:44 +#: bookwyrm/templates/import_status.html:43 #, python-format msgid "Jump to the bottom of the list to select the %(failed_count)s items which failed to import." msgstr "Sauter en bas de liste pour sélectionner les %(failed_count)s items n’ayant pu être importés." -#: bookwyrm/templates/import_status.html:79 +#: bookwyrm/templates/import_status.html:78 msgid "Select all" msgstr "Tout sélectionner" -#: bookwyrm/templates/import_status.html:82 +#: bookwyrm/templates/import_status.html:81 msgid "Retry items" msgstr "Essayer d’importer les items sélectionnés de nouveau" -#: bookwyrm/templates/import_status.html:108 +#: bookwyrm/templates/import_status.html:107 msgid "Successfully imported" msgstr "Importation réussie" -#: bookwyrm/templates/import_status.html:112 +#: bookwyrm/templates/import_status.html:111 msgid "Book" msgstr "Livre" -#: bookwyrm/templates/import_status.html:115 -#: bookwyrm/templates/snippets/create_status_form.html:10 -#: bookwyrm/templates/user/shelf/shelf.html:77 -#: bookwyrm/templates/user/shelf/shelf.html:95 +#: bookwyrm/templates/import_status.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:78 +#: bookwyrm/templates/user/shelf/shelf.html:98 msgid "Title" msgstr "Titre" -#: bookwyrm/templates/import_status.html:118 -#: bookwyrm/templates/user/shelf/shelf.html:78 -#: bookwyrm/templates/user/shelf/shelf.html:98 +#: bookwyrm/templates/import_status.html:117 +#: bookwyrm/templates/user/shelf/shelf.html:79 +#: bookwyrm/templates/user/shelf/shelf.html:101 msgid "Author" msgstr "Auteur ou autrice" -#: bookwyrm/templates/import_status.html:141 +#: bookwyrm/templates/import_status.html:140 msgid "Imported" msgstr "Importé" @@ -1277,7 +1305,8 @@ msgid "Support %(site_name)s on % msgstr "Soutenez %(site_name)s avec %(support_title)s" #: bookwyrm/templates/layout.html:217 -msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +#| msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub." #: bookwyrm/templates/lists/create_form.html:5 @@ -1320,7 +1349,7 @@ msgid "Discard" msgstr "Rejeter" #: bookwyrm/templates/lists/edit_form.html:5 -#: bookwyrm/templates/lists/list_layout.html:18 +#: bookwyrm/templates/lists/list_layout.html:17 msgid "Edit List" msgstr "Modifier la liste" @@ -1354,76 +1383,76 @@ msgstr "Ouverte" msgid "Anyone can add books to this list" msgstr "N’importe qui peut suggérer des livres" -#: bookwyrm/templates/lists/list.html:19 +#: bookwyrm/templates/lists/list.html:20 msgid "You successfully suggested a book for this list!" msgstr "" -#: bookwyrm/templates/lists/list.html:21 +#: bookwyrm/templates/lists/list.html:22 #, fuzzy #| msgid "Anyone can add books to this list" msgid "You successfully added a book to this list!" msgstr "N’importe qui peut suggérer des livres" -#: bookwyrm/templates/lists/list.html:27 +#: bookwyrm/templates/lists/list.html:28 msgid "This list is currently empty" msgstr "Cette liste est vide actuellement" -#: bookwyrm/templates/lists/list.html:64 +#: bookwyrm/templates/lists/list.html:65 #, python-format msgid "Added by %(username)s" msgstr "Ajoutée par %(username)s" -#: bookwyrm/templates/lists/list.html:76 +#: bookwyrm/templates/lists/list.html:77 #, fuzzy #| msgid "Sent" msgid "Set" msgstr "Envoyé(e)s" -#: bookwyrm/templates/lists/list.html:79 +#: bookwyrm/templates/lists/list.html:80 #, fuzzy #| msgid "List curation:" msgid "List position" msgstr "Modération de la liste :" -#: bookwyrm/templates/lists/list.html:85 +#: bookwyrm/templates/lists/list.html:86 #: bookwyrm/templates/snippets/shelf_selector.html:26 msgid "Remove" msgstr "Supprimer" -#: bookwyrm/templates/lists/list.html:98 bookwyrm/templates/lists/list.html:110 +#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111 #, fuzzy #| msgid "Your Lists" msgid "Sort List" msgstr "Vos listes" -#: bookwyrm/templates/lists/list.html:104 +#: bookwyrm/templates/lists/list.html:105 #, fuzzy #| msgid "Directory" msgid "Direction" msgstr "Répertoire" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Add Books" msgstr "Ajouter des livres" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Suggest Books" msgstr "Suggérer des livres" -#: bookwyrm/templates/lists/list.html:124 +#: bookwyrm/templates/lists/list.html:125 msgid "search" msgstr "Chercher" -#: bookwyrm/templates/lists/list.html:130 +#: bookwyrm/templates/lists/list.html:131 msgid "Clear search" msgstr "Vider la requête" -#: bookwyrm/templates/lists/list.html:135 +#: bookwyrm/templates/lists/list.html:136 #, python-format msgid "No books found matching the query \"%(query)s\"" msgstr "Aucun livre trouvé pour la requête « %(query)s »" -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Suggest" msgstr "Suggérer" @@ -1448,36 +1477,36 @@ msgstr "Contacter un administrateur pour obtenir une invitation" msgid "More about this site" msgstr "En savoir plus sur ce site" +#: bookwyrm/templates/moderation/report.html:5 #: bookwyrm/templates/moderation/report.html:6 -#: bookwyrm/templates/moderation/report.html:7 #: bookwyrm/templates/moderation/report_preview.html:6 #, python-format msgid "Report #%(report_id)s: %(username)s" msgstr "Signalement #%(report_id)s : %(username)s" -#: bookwyrm/templates/moderation/report.html:11 +#: bookwyrm/templates/moderation/report.html:10 msgid "Back to reports" msgstr "Retour aux signalements" -#: bookwyrm/templates/moderation/report.html:23 +#: bookwyrm/templates/moderation/report.html:22 msgid "Moderator Comments" msgstr "Commentaires de l’équipe de modération" -#: bookwyrm/templates/moderation/report.html:41 +#: bookwyrm/templates/moderation/report.html:40 #: bookwyrm/templates/snippets/create_status.html:28 -#: bookwyrm/templates/snippets/create_status_form.html:63 +#: bookwyrm/templates/snippets/create_status_form.html:66 msgid "Comment" msgstr "Commentaire" -#: bookwyrm/templates/moderation/report.html:46 +#: bookwyrm/templates/moderation/report.html:45 msgid "Reported statuses" msgstr "Statuts signalés" -#: bookwyrm/templates/moderation/report.html:48 +#: bookwyrm/templates/moderation/report.html:47 msgid "No statuses reported" msgstr "Aucun statut signalé" -#: bookwyrm/templates/moderation/report.html:54 +#: bookwyrm/templates/moderation/report.html:53 #, fuzzy #| msgid "Statuses has been deleted" msgid "Status has been deleted" @@ -1757,7 +1786,7 @@ msgstr "Chercher" #: bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 -#: bookwyrm/templates/user/layout.html:73 +#: bookwyrm/templates/user/layout.html:74 msgid "Books" msgstr "Livres" @@ -1832,7 +1861,7 @@ msgid "Add server" msgstr "Ajouter une couverture" #: bookwyrm/templates/settings/edit_server.html:7 -#: bookwyrm/templates/settings/federated_server.html:12 +#: bookwyrm/templates/settings/federated_server.html:13 #: bookwyrm/templates/settings/server_blocklist.html:7 msgid "Back to server list" msgstr "Retour à la liste des serveurs" @@ -1851,26 +1880,26 @@ msgid "Instance:" msgstr "Nom de l’instance :" #: bookwyrm/templates/settings/edit_server.html:37 -#: bookwyrm/templates/settings/federated_server.html:29 +#: bookwyrm/templates/settings/federated_server.html:30 #: bookwyrm/templates/user_admin/user_info.html:34 msgid "Status:" msgstr "Statut :" #: bookwyrm/templates/settings/edit_server.html:41 -#: bookwyrm/templates/settings/federated_server.html:9 +#: bookwyrm/templates/settings/federated_server.html:10 #, fuzzy #| msgid "Block" msgid "Blocked" msgstr "Bloquer" #: bookwyrm/templates/settings/edit_server.html:48 -#: bookwyrm/templates/settings/federated_server.html:21 +#: bookwyrm/templates/settings/federated_server.html:22 #: bookwyrm/templates/user_admin/user_info.html:26 msgid "Software:" msgstr "Logiciel :" #: bookwyrm/templates/settings/edit_server.html:55 -#: bookwyrm/templates/settings/federated_server.html:25 +#: bookwyrm/templates/settings/federated_server.html:26 #: bookwyrm/templates/user_admin/user_info.html:30 msgid "Version:" msgstr "Description :" @@ -1879,71 +1908,71 @@ msgstr "Description :" msgid "Notes:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:18 +#: bookwyrm/templates/settings/federated_server.html:19 msgid "Details" msgstr "Détails" -#: bookwyrm/templates/settings/federated_server.html:36 -#: bookwyrm/templates/user/layout.html:55 +#: bookwyrm/templates/settings/federated_server.html:37 +#: bookwyrm/templates/user/layout.html:56 msgid "Activity" msgstr "Activité" -#: bookwyrm/templates/settings/federated_server.html:39 +#: bookwyrm/templates/settings/federated_server.html:40 msgid "Users:" msgstr "Comptes :" -#: bookwyrm/templates/settings/federated_server.html:42 -#: bookwyrm/templates/settings/federated_server.html:49 +#: bookwyrm/templates/settings/federated_server.html:43 +#: bookwyrm/templates/settings/federated_server.html:50 msgid "View all" msgstr "Voir tous" -#: bookwyrm/templates/settings/federated_server.html:46 +#: bookwyrm/templates/settings/federated_server.html:47 msgid "Reports:" msgstr "Signalements :" -#: bookwyrm/templates/settings/federated_server.html:53 +#: bookwyrm/templates/settings/federated_server.html:54 msgid "Followed by us:" msgstr "Suivi par nous :" -#: bookwyrm/templates/settings/federated_server.html:59 +#: bookwyrm/templates/settings/federated_server.html:60 msgid "Followed by them:" msgstr "Suivi par eux :" -#: bookwyrm/templates/settings/federated_server.html:65 +#: bookwyrm/templates/settings/federated_server.html:66 msgid "Blocked by us:" msgstr "Bloqués par nous :" -#: bookwyrm/templates/settings/federated_server.html:77 +#: bookwyrm/templates/settings/federated_server.html:78 #: bookwyrm/templates/user_admin/user_info.html:39 msgid "Notes" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:80 +#: bookwyrm/templates/settings/federated_server.html:81 #, fuzzy #| msgid "Edit Book" msgid "Edit" msgstr "Modifier le livre" -#: bookwyrm/templates/settings/federated_server.html:100 +#: bookwyrm/templates/settings/federated_server.html:101 #: bookwyrm/templates/user_admin/user_moderation_actions.html:3 msgid "Actions" msgstr "Actions" -#: bookwyrm/templates/settings/federated_server.html:104 +#: bookwyrm/templates/settings/federated_server.html:105 #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" msgstr "Bloquer" -#: bookwyrm/templates/settings/federated_server.html:105 +#: bookwyrm/templates/settings/federated_server.html:106 msgid "All users from this instance will be deactivated." msgstr "" -#: bookwyrm/templates/settings/federated_server.html:110 +#: bookwyrm/templates/settings/federated_server.html:111 #: bookwyrm/templates/snippets/block_button.html:10 msgid "Un-block" msgstr "Débloquer" -#: bookwyrm/templates/settings/federated_server.html:111 +#: bookwyrm/templates/settings/federated_server.html:112 msgid "All users from this instance will be re-activated." msgstr "" @@ -2154,7 +2183,7 @@ msgstr "Autoriser les demandes d’invitation :" msgid "Registration closed text:" msgstr "Texte affiché lorsque les enregistrements sont clos :" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:31 msgid "No cover" msgstr "Aucune couverture" @@ -2163,15 +2192,15 @@ msgstr "Aucune couverture" msgid "%(title)s by " msgstr "%(title)s par " -#: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 +#: bookwyrm/templates/snippets/boost_button.html:10 #, fuzzy #| msgid "boosted" msgid "Boost" msgstr "partagé" -#: bookwyrm/templates/snippets/boost_button.html:15 #: bookwyrm/templates/snippets/boost_button.html:16 +#: bookwyrm/templates/snippets/boost_button.html:17 #, fuzzy #| msgid "Un-boost status" msgid "Un-boost" @@ -2193,66 +2222,66 @@ msgstr "Critique" msgid "Quote" msgstr "Citation" -#: bookwyrm/templates/snippets/create_status_form.html:20 +#: bookwyrm/templates/snippets/create_status_form.html:23 msgid "Comment:" msgstr "Commentaire :" -#: bookwyrm/templates/snippets/create_status_form.html:22 +#: bookwyrm/templates/snippets/create_status_form.html:25 msgid "Quote:" msgstr "Citation :" -#: bookwyrm/templates/snippets/create_status_form.html:24 +#: bookwyrm/templates/snippets/create_status_form.html:27 msgid "Review:" msgstr "Critique :" -#: bookwyrm/templates/snippets/create_status_form.html:53 -#: bookwyrm/templates/snippets/status/layout.html:30 +#: bookwyrm/templates/snippets/create_status_form.html:56 +#: bookwyrm/templates/snippets/status/layout.html:29 +#: bookwyrm/templates/snippets/status/layout.html:47 #: bookwyrm/templates/snippets/status/layout.html:48 -#: bookwyrm/templates/snippets/status/layout.html:49 msgid "Reply" msgstr "Répondre" -#: bookwyrm/templates/snippets/create_status_form.html:53 +#: bookwyrm/templates/snippets/create_status_form.html:56 #, fuzzy #| msgid "Footer Content" msgid "Content" msgstr "Contenu du pied de page" -#: bookwyrm/templates/snippets/create_status_form.html:77 +#: bookwyrm/templates/snippets/create_status_form.html:80 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16 msgid "Progress:" msgstr "Progression :" -#: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:26 +#: bookwyrm/templates/snippets/create_status_form.html:88 +#: 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_form.html:86 -#: bookwyrm/templates/snippets/readthrough_form.html:27 +#: bookwyrm/templates/snippets/create_status_form.html:89 +#: 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_form.html:92 +#: bookwyrm/templates/snippets/create_status_form.html:95 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36 #, python-format msgid "of %(pages)s pages" msgstr "sur %(pages)s pages" -#: bookwyrm/templates/snippets/create_status_form.html:107 +#: bookwyrm/templates/snippets/create_status_form.html:110 msgid "Include spoiler alert" msgstr "Afficher une alerte spoiler" -#: bookwyrm/templates/snippets/create_status_form.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:117 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" msgstr "Privé" -#: bookwyrm/templates/snippets/create_status_form.html:125 +#: bookwyrm/templates/snippets/create_status_form.html:128 msgid "Post" msgstr "Publier" @@ -2266,17 +2295,17 @@ msgid "You are deleting this readthrough and its %(count)s associated progress u msgstr "Vous avez supprimé ce résumé et ses %(count)s progressions associées." #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 -#: bookwyrm/templates/snippets/follow_request_buttons.html:13 +#: bookwyrm/templates/snippets/follow_request_buttons.html:12 msgid "Delete" msgstr "Supprimer" -#: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:9 +#: bookwyrm/templates/snippets/fav_button.html:11 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:15 -#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 +#: bookwyrm/templates/snippets/fav_button.html:18 #, fuzzy #| msgid "Un-like status" msgid "Un-like" @@ -2310,11 +2339,11 @@ msgstr "Annuler la demande d’abonnement" msgid "Unfollow" msgstr "Se désabonner" -#: bookwyrm/templates/snippets/follow_request_buttons.html:8 +#: bookwyrm/templates/snippets/follow_request_buttons.html:7 msgid "Accept" msgstr "Accepter" -#: bookwyrm/templates/snippets/form_rate_stars.html:20 +#: bookwyrm/templates/snippets/form_rate_stars.html:19 #: bookwyrm/templates/snippets/stars.html:13 msgid "No rating" msgstr "Aucune note" @@ -2363,8 +2392,8 @@ msgid "Goal privacy:" msgstr "Confidentialité du défi :" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:45 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:33 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 msgid "Post to feed" msgstr "Publier sur le fil d’actualité" @@ -2475,12 +2504,12 @@ msgstr "Supprimer ces dates de lecture" msgid "Started reading" msgstr "Lecture commencée le" -#: bookwyrm/templates/snippets/readthrough_form.html:18 +#: bookwyrm/templates/snippets/readthrough_form.html:14 msgid "Progress" msgstr "Progression" -#: bookwyrm/templates/snippets/readthrough_form.html:34 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 +#: 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" @@ -2488,27 +2517,27 @@ msgstr "Lecture terminée le" msgid "Sign Up" msgstr "S’enregistrer" -#: bookwyrm/templates/snippets/report_button.html:5 +#: bookwyrm/templates/snippets/report_button.html:6 msgid "Report" msgstr "Signaler" #: bookwyrm/templates/snippets/rss_title.html:5 -#: bookwyrm/templates/snippets/status/status_header.html:34 +#: bookwyrm/templates/snippets/status/status_header.html:35 msgid "rated" msgstr "a noté" #: bookwyrm/templates/snippets/rss_title.html:7 -#: bookwyrm/templates/snippets/status/status_header.html:36 +#: bookwyrm/templates/snippets/status/status_header.html:37 msgid "reviewed" msgstr "a écrit une critique de" #: bookwyrm/templates/snippets/rss_title.html:9 -#: bookwyrm/templates/snippets/status/status_header.html:38 +#: bookwyrm/templates/snippets/status/status_header.html:39 msgid "commented on" msgstr "a commenté" #: bookwyrm/templates/snippets/rss_title.html:11 -#: bookwyrm/templates/snippets/status/status_header.html:40 +#: bookwyrm/templates/snippets/status/status_header.html:41 msgid "quoted" msgstr "a cité" @@ -2526,7 +2555,7 @@ 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:34 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:36 msgid "Update progress" msgstr "Progression de la mise à jour" @@ -2534,20 +2563,20 @@ msgstr "Progression de la mise à jour" msgid "More shelves" msgstr "Plus d’étagères" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:10 msgid "Start reading" msgstr "Commencer la lecture" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:15 msgid "Finish reading" msgstr "Terminer la lecture" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:18 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 msgid "Want to read" msgstr "Je veux le lire" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 #, python-format msgid "Remove from %(name)s" msgstr "Retirer de %(name)s" @@ -2562,40 +2591,40 @@ msgstr "Commencer « %(book_title)s »" msgid "Want to Read \"%(book_title)s\"" msgstr "A envie de lire « %(book_title)s »" -#: bookwyrm/templates/snippets/status/content_status.html:70 -#: bookwyrm/templates/snippets/trimmed_text.html:14 +#: bookwyrm/templates/snippets/status/content_status.html:71 +#: bookwyrm/templates/snippets/trimmed_text.html:15 msgid "Show more" msgstr "Déplier" -#: bookwyrm/templates/snippets/status/content_status.html:85 -#: bookwyrm/templates/snippets/trimmed_text.html:29 +#: bookwyrm/templates/snippets/status/content_status.html:86 +#: bookwyrm/templates/snippets/trimmed_text.html:30 msgid "Show less" msgstr "Replier" -#: bookwyrm/templates/snippets/status/content_status.html:115 +#: bookwyrm/templates/snippets/status/content_status.html:116 msgid "Open image in new window" msgstr "Ouvrir l’image dans une nouvelle fenêtre" -#: bookwyrm/templates/snippets/status/layout.html:22 +#: bookwyrm/templates/snippets/status/layout.html:21 #: bookwyrm/templates/snippets/status/status_options.html:17 msgid "Delete status" msgstr "Supprimer le statut" +#: bookwyrm/templates/snippets/status/layout.html:51 #: bookwyrm/templates/snippets/status/layout.html:52 -#: bookwyrm/templates/snippets/status/layout.html:53 msgid "Boost status" msgstr "Partager le statut" +#: bookwyrm/templates/snippets/status/layout.html:55 #: bookwyrm/templates/snippets/status/layout.html:56 -#: bookwyrm/templates/snippets/status/layout.html:57 msgid "Like status" msgstr "Ajouter le statut aux favoris" -#: bookwyrm/templates/snippets/status/status.html:9 +#: bookwyrm/templates/snippets/status/status.html:10 msgid "boosted" msgstr "partagé" -#: bookwyrm/templates/snippets/status/status_header.html:44 +#: bookwyrm/templates/snippets/status/status_header.html:45 #, python-format msgid "replied to %(username)s's status" msgstr "a répondu au statut de %(username)s" @@ -2627,15 +2656,15 @@ msgstr "Trié par ordre croissant" msgid "Sorted descending" msgstr "Trié par ordre décroissant" -#: bookwyrm/templates/user/layout.html:12 bookwyrm/templates/user/user.html:10 +#: bookwyrm/templates/user/layout.html:13 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Profil" -#: bookwyrm/templates/user/layout.html:36 +#: bookwyrm/templates/user/layout.html:37 msgid "Follow Requests" msgstr "Demandes d’abonnement" -#: bookwyrm/templates/user/layout.html:61 +#: bookwyrm/templates/user/layout.html:62 msgid "Reading Goal" msgstr "Défi lecture" @@ -2681,38 +2710,38 @@ msgstr "Modifier l’étagère" msgid "Update shelf" msgstr "Mettre l’étagère à jour" -#: bookwyrm/templates/user/shelf/shelf.html:24 bookwyrm/views/shelf.py:48 +#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51 msgid "All books" msgstr "Tous les livres" -#: bookwyrm/templates/user/shelf/shelf.html:37 +#: bookwyrm/templates/user/shelf/shelf.html:38 msgid "Create shelf" msgstr "Créer l’étagère" -#: bookwyrm/templates/user/shelf/shelf.html:60 +#: bookwyrm/templates/user/shelf/shelf.html:61 msgid "Edit shelf" msgstr "Modifier l’étagère" -#: bookwyrm/templates/user/shelf/shelf.html:79 -#: bookwyrm/templates/user/shelf/shelf.html:101 +#: bookwyrm/templates/user/shelf/shelf.html:80 +#: bookwyrm/templates/user/shelf/shelf.html:104 msgid "Shelved" msgstr "Ajouté à une étagère" -#: bookwyrm/templates/user/shelf/shelf.html:80 -#: bookwyrm/templates/user/shelf/shelf.html:105 +#: bookwyrm/templates/user/shelf/shelf.html:81 +#: bookwyrm/templates/user/shelf/shelf.html:108 msgid "Started" msgstr "Commencé" -#: bookwyrm/templates/user/shelf/shelf.html:81 -#: bookwyrm/templates/user/shelf/shelf.html:108 +#: bookwyrm/templates/user/shelf/shelf.html:82 +#: bookwyrm/templates/user/shelf/shelf.html:111 msgid "Finished" msgstr "Terminé" -#: bookwyrm/templates/user/shelf/shelf.html:134 +#: bookwyrm/templates/user/shelf/shelf.html:137 msgid "This shelf is empty." msgstr "Cette étagère est vide" -#: bookwyrm/templates/user/shelf/shelf.html:140 +#: bookwyrm/templates/user/shelf/shelf.html:143 msgid "Delete shelf" msgstr "Supprimer l’étagère" @@ -2741,24 +2770,24 @@ msgstr "Flux RSS" msgid "No activities yet!" msgstr "Aucune activité pour l’instant !" -#: bookwyrm/templates/user/user_preview.html:14 +#: bookwyrm/templates/user/user_preview.html:15 #, python-format msgid "Joined %(date)s" msgstr "Enregistré(e) %(date)s" -#: bookwyrm/templates/user/user_preview.html:18 +#: bookwyrm/templates/user/user_preview.html:19 #, python-format msgid "%(counter)s follower" msgid_plural "%(counter)s followers" msgstr[0] "%(counter)s abonnement" msgstr[1] "%(counter)s abonnements" -#: bookwyrm/templates/user/user_preview.html:19 +#: bookwyrm/templates/user/user_preview.html:20 #, python-format msgid "%(counter)s following" msgstr "%(counter)s abonnements" -#: bookwyrm/templates/user/user_preview.html:25 +#: bookwyrm/templates/user/user_preview.html:26 #, fuzzy, python-format #| msgid "%(mutuals)s follower you follow" #| msgid_plural "%(mutuals)s followers you follow" @@ -2767,7 +2796,7 @@ msgid_plural "%(mutuals_display)s followers you follow" msgstr[0] "%(mutuals)s abonnement auxquel vous êtes abonné(e)" msgstr[1] "%(mutuals)s abonnements auxquels vous êtes abonné(e)" -#: bookwyrm/templates/user_admin/user.html:11 +#: bookwyrm/templates/user_admin/user.html:9 #, fuzzy #| msgid "Back to reports" msgid "Back to users" @@ -2840,15 +2869,20 @@ msgstr "" msgid "Access level:" msgstr "" -#: bookwyrm/views/password.py:32 +#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35 msgid "No user with that email address was found." msgstr "Aucun compte avec cette adresse email n’a été trouvé." -#: bookwyrm/views/password.py:41 +#: bookwyrm/views/password.py:44 #, python-format msgid "A password reset link sent to %s" msgstr "Un lien de réinitialisation a été envoyé à %s." +#, fuzzy +#~| msgid "BookWyrm users" +#~ msgid "BookWyrm\\" +#~ msgstr "Comptes BookWyrm" + #, fuzzy #~| msgid "Show more" #~ msgid "Show" diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index a6fdfa75e..0f399924e 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-05-10 13:23-0700\n" +"POT-Creation-Date: 2021-05-14 15:12-0700\n" "PO-Revision-Date: 2021-03-20 00:56+0000\n" "Last-Translator: Kana \n" "Language-Team: Mouse Reeve \n" @@ -57,13 +57,13 @@ msgstr "" msgid "Book Title" msgstr "标题" -#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:31 -#: bookwyrm/templates/user/shelf/shelf.html:82 -#: bookwyrm/templates/user/shelf/shelf.html:112 +#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34 +#: bookwyrm/templates/user/shelf/shelf.html:84 +#: bookwyrm/templates/user/shelf/shelf.html:115 msgid "Rating" msgstr "评价" -#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:100 +#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101 msgid "Sort By" msgstr "" @@ -137,19 +137,155 @@ msgstr "服务器错误" msgid "Something went wrong! Sorry about that." msgstr "某些东西出错了!对不起啦。" -#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/author/author.html:17 +#: bookwyrm/templates/author/author.html:18 msgid "Edit Author" msgstr "编辑作者" -#: bookwyrm/templates/author.html:31 +#: bookwyrm/templates/author/author.html:33 +#: bookwyrm/templates/author/edit_author.html:38 +msgid "Aliases:" +msgstr "" + +#: bookwyrm/templates/author/author.html:39 +msgid "Born:" +msgstr "" + +#: bookwyrm/templates/author/author.html:45 +msgid "Died:" +msgstr "" + +#: bookwyrm/templates/author/author.html:52 msgid "Wikipedia" msgstr "维基百科" -#: bookwyrm/templates/author.html:36 +#: bookwyrm/templates/author/author.html:56 +#: bookwyrm/templates/book/book.html:81 +msgid "View on OpenLibrary" +msgstr "在 OpenLibrary 查看" + +#: bookwyrm/templates/author/author.html:61 +#: bookwyrm/templates/book/book.html:84 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "View on Inventaire" +msgstr "在 OpenLibrary 查看" + +#: bookwyrm/templates/author/author.html:75 #, python-format msgid "Books by %(name)s" msgstr "%(name)s 所著的书" +#: bookwyrm/templates/author/edit_author.html:5 +msgid "Edit Author:" +msgstr "编辑作者:" + +#: bookwyrm/templates/author/edit_author.html:13 +#: bookwyrm/templates/book/edit_book.html:18 +msgid "Added:" +msgstr "添加了:" + +#: bookwyrm/templates/author/edit_author.html:14 +#: bookwyrm/templates/book/edit_book.html:19 +msgid "Updated:" +msgstr "更新了:" + +#: bookwyrm/templates/author/edit_author.html:15 +#: bookwyrm/templates/book/edit_book.html:20 +msgid "Last edited by:" +msgstr "最后编辑人:" + +#: bookwyrm/templates/author/edit_author.html:31 +#: bookwyrm/templates/book/edit_book.html:90 +msgid "Metadata" +msgstr "元数据" + +#: bookwyrm/templates/author/edit_author.html:32 +#: bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 +#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 +msgid "Name:" +msgstr "名称:" + +#: bookwyrm/templates/author/edit_author.html:40 +#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:165 +#, fuzzy +#| msgid "Separate multiple publishers with commas." +msgid "Separate multiple values with commas." +msgstr "请用英文逗号(,)分开多个出版社。" + +#: bookwyrm/templates/author/edit_author.html:46 +msgid "Bio:" +msgstr "简介:" + +#: bookwyrm/templates/author/edit_author.html:51 +msgid "Wikipedia link:" +msgstr "维基百科链接:" + +#: bookwyrm/templates/author/edit_author.html:57 +msgid "Birth date:" +msgstr "出生日期:" + +#: bookwyrm/templates/author/edit_author.html:65 +msgid "Death date:" +msgstr "死亡日期:" + +#: bookwyrm/templates/author/edit_author.html:73 +msgid "Author Identifiers" +msgstr "作者标识号:" + +#: bookwyrm/templates/author/edit_author.html:74 +#: bookwyrm/templates/book/edit_book.html:223 +msgid "Openlibrary key:" +msgstr "Openlibrary key:" + +#: bookwyrm/templates/author/edit_author.html:79 +#, fuzzy +#| msgid "View on OpenLibrary" +msgid "Inventaire ID:" +msgstr "在 OpenLibrary 查看" + +#: bookwyrm/templates/author/edit_author.html:84 +msgid "Librarything key:" +msgstr "Librarything key:" + +#: bookwyrm/templates/author/edit_author.html:89 +msgid "Goodreads key:" +msgstr "Goodreads key:" + +#: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/book.html:127 +#: bookwyrm/templates/book/edit_book.html:241 +#: bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:70 +#: bookwyrm/templates/settings/edit_server.html:68 +#: bookwyrm/templates/settings/federated_server.html:94 +#: bookwyrm/templates/settings/site.html:97 +#: bookwyrm/templates/snippets/readthrough.html:77 +#: 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:34 +#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 +msgid "Save" +msgstr "保存" + +#: bookwyrm/templates/author/edit_author.html:99 +#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 +#: bookwyrm/templates/book/cover_modal.html:32 +#: bookwyrm/templates/book/edit_book.html:242 +#: bookwyrm/templates/moderation/report_modal.html:34 +#: bookwyrm/templates/settings/federated_server.html:95 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:78 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "取消" + #: bookwyrm/templates/book/book.html:33 #: bookwyrm/templates/discover/large-book.html:25 #: bookwyrm/templates/discover/small-book.html:19 @@ -169,16 +305,6 @@ msgstr "添加封面" msgid "Failed to load cover" msgstr "加载封面失败" -#: bookwyrm/templates/book/book.html:81 -msgid "View on OpenLibrary" -msgstr "在 OpenLibrary 查看" - -#: bookwyrm/templates/book/book.html:84 -#, fuzzy -#| msgid "View on OpenLibrary" -msgid "View on Inventaire" -msgstr "在 OpenLibrary 查看" - #: bookwyrm/templates/book/book.html:104 #, python-format msgid "(%(review_count)s review)" @@ -195,37 +321,6 @@ msgstr "添加描述" msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:249 -#: bookwyrm/templates/edit_author.html:78 bookwyrm/templates/lists/form.html:42 -#: bookwyrm/templates/preferences/edit_user.html:70 -#: bookwyrm/templates/settings/edit_server.html:68 -#: bookwyrm/templates/settings/federated_server.html:93 -#: bookwyrm/templates/settings/site.html:97 -#: bookwyrm/templates/snippets/readthrough.html:77 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:50 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:42 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:38 -#: bookwyrm/templates/user_admin/user_moderation_actions.html:38 -msgid "Save" -msgstr "保存" - -#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180 -#: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:250 -#: bookwyrm/templates/edit_author.html:79 -#: bookwyrm/templates/moderation/report_modal.html:34 -#: bookwyrm/templates/settings/federated_server.html:94 -#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 -#: bookwyrm/templates/snippets/goal_form.html:32 -#: bookwyrm/templates/snippets/readthrough.html:78 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:51 -#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:43 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 -#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 -msgid "Cancel" -msgstr "取消" - #: bookwyrm/templates/book/book.html:137 #, python-format msgid "%(count)s editions" @@ -297,7 +392,7 @@ msgstr "地点" #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 #: bookwyrm/templates/search/layout.html:50 -#: bookwyrm/templates/user/layout.html:67 +#: bookwyrm/templates/user/layout.html:68 msgid "Lists" msgstr "列表" @@ -307,7 +402,7 @@ msgstr "添加到列表" #: bookwyrm/templates/book/book.html:320 #: bookwyrm/templates/book/cover_modal.html:31 -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Add" msgstr "添加" @@ -316,22 +411,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:227 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:239 +#: bookwyrm/templates/book/edit_book.html:231 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:187 +#: bookwyrm/templates/book/edit_book.html:179 msgid "Upload cover:" msgstr "上传封面:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:193 +#: bookwyrm/templates/book/edit_book.html:185 msgid "Load cover from url:" msgstr "从网址加载封面:" @@ -346,21 +441,6 @@ msgstr "编辑 \"%(book_title)s\"" msgid "Add Book" msgstr "添加书目" -#: bookwyrm/templates/book/edit_book.html:18 -#: bookwyrm/templates/edit_author.html:13 -msgid "Added:" -msgstr "添加了:" - -#: bookwyrm/templates/book/edit_book.html:19 -#: bookwyrm/templates/edit_author.html:14 -msgid "Updated:" -msgstr "更新了:" - -#: bookwyrm/templates/book/edit_book.html:20 -#: bookwyrm/templates/edit_author.html:15 -msgid "Last edited by:" -msgstr "最后编辑人:" - #: bookwyrm/templates/book/edit_book.html:40 msgid "Confirm Book Info" msgstr "确认书目信息" @@ -402,11 +482,6 @@ msgstr "确认" msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit_book.html:90 -#: bookwyrm/templates/edit_author.html:31 -msgid "Metadata" -msgstr "元数据" - #: bookwyrm/templates/book/edit_book.html:92 msgid "Title:" msgstr "标题:" @@ -427,76 +502,67 @@ msgstr "系列编号:" msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit_book.html:128 -msgid "Separate multiple publishers with commas." -msgstr "请用英文逗号(,)分开多个出版社。" - #: bookwyrm/templates/book/edit_book.html:135 msgid "First published date:" msgstr "初版时间:" -#: bookwyrm/templates/book/edit_book.html:147 +#: bookwyrm/templates/book/edit_book.html:143 msgid "Published date:" msgstr "出版时间:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:152 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit_book.html:166 +#: bookwyrm/templates/book/edit_book.html:158 #, python-format msgid "Remove %(name)s" msgstr "移除 %(name)s" -#: bookwyrm/templates/book/edit_book.html:171 +#: bookwyrm/templates/book/edit_book.html:163 msgid "Add Authors:" msgstr "添加作者:" -#: bookwyrm/templates/book/edit_book.html:172 +#: bookwyrm/templates/book/edit_book.html:164 msgid "John Doe, Jane Smith" msgstr "张三, 李四" -#: bookwyrm/templates/book/edit_book.html:178 -#: bookwyrm/templates/user/shelf/shelf.html:76 +#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/user/shelf/shelf.html:77 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit_book.html:206 +#: bookwyrm/templates/book/edit_book.html:198 msgid "Physical Properties" msgstr "实体性质" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:199 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:207 msgid "Pages:" msgstr "页数:" -#: bookwyrm/templates/book/edit_book.html:222 +#: bookwyrm/templates/book/edit_book.html:214 msgid "Book Identifiers" msgstr "书目标识号" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:215 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:219 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:231 -#: bookwyrm/templates/edit_author.html:59 -msgid "Openlibrary key:" -msgstr "Openlibrary key:" - -#: bookwyrm/templates/book/editions.html:5 +#: bookwyrm/templates/book/editions.html:4 #, python-format msgid "Editions of %(book_title)s" msgstr "%(book_title)s 的各版本" -#: bookwyrm/templates/book/editions.html:9 +#: bookwyrm/templates/book/editions.html:8 #, python-format msgid "Editions of \"%(work_title)s\"" msgstr "\"%(work_title)s\" 的各版本" @@ -547,7 +613,7 @@ msgstr "由 %(publisher)s 出版。" #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 -#: bookwyrm/templates/feed/feed_layout.html:70 +#: bookwyrm/templates/feed/feed_layout.html:69 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 #: bookwyrm/templates/search/book.html:32 @@ -604,21 +670,21 @@ msgstr "受推荐" msgid "Recently active" msgstr "最近活跃" -#: bookwyrm/templates/directory/user_card.html:32 +#: bookwyrm/templates/directory/user_card.html:33 msgid "follower you follow" msgid_plural "followers you follow" msgstr[0] "你关注的关注者" -#: bookwyrm/templates/directory/user_card.html:39 +#: bookwyrm/templates/directory/user_card.html:40 msgid "book on your shelves" msgid_plural "books on your shelves" msgstr[0] "你书架上的书" -#: bookwyrm/templates/directory/user_card.html:47 +#: bookwyrm/templates/directory/user_card.html:48 msgid "posts" msgstr "发文" -#: bookwyrm/templates/directory/user_card.html:53 +#: bookwyrm/templates/directory/user_card.html:54 msgid "last active" msgstr "最后活跃" @@ -704,44 +770,6 @@ msgstr "提交" msgid "Your Account" msgstr "你的帐号" -#: bookwyrm/templates/edit_author.html:5 -msgid "Edit Author:" -msgstr "编辑作者:" - -#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 -#: bookwyrm/templates/user/shelf/create_shelf_form.html:13 -#: bookwyrm/templates/user/shelf/edit_shelf_form.html:14 -msgid "Name:" -msgstr "名称:" - -#: bookwyrm/templates/edit_author.html:37 -msgid "Bio:" -msgstr "简介:" - -#: bookwyrm/templates/edit_author.html:42 -msgid "Wikipedia link:" -msgstr "维基百科链接:" - -#: bookwyrm/templates/edit_author.html:47 -msgid "Birth date:" -msgstr "出生日期:" - -#: bookwyrm/templates/edit_author.html:52 -msgid "Death date:" -msgstr "死亡日期:" - -#: bookwyrm/templates/edit_author.html:58 -msgid "Author Identifiers" -msgstr "作者标识号:" - -#: bookwyrm/templates/edit_author.html:64 -msgid "Librarything key:" -msgstr "Librarything key:" - -#: bookwyrm/templates/edit_author.html:69 -msgid "Goodreads key:" -msgstr "Goodreads key:" - #: bookwyrm/templates/email/html_layout.html:15 #: bookwyrm/templates/email/text_layout.html:2 msgid "Hi there," @@ -822,76 +850,76 @@ msgstr "所有消息" msgid "You have no messages right now." msgstr "你现在没有消息。" -#: bookwyrm/templates/feed/feed.html:9 +#: bookwyrm/templates/feed/feed.html:8 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/templates/feed/feed.html:11 +#: bookwyrm/templates/feed/feed.html:10 msgid "Local Timeline" msgstr "本地时间线" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:12 msgid "Federated Timeline" msgstr "跨站时间线" -#: bookwyrm/templates/feed/feed.html:19 +#: bookwyrm/templates/feed/feed.html:18 msgid "Home" msgstr "主页" -#: bookwyrm/templates/feed/feed.html:22 +#: bookwyrm/templates/feed/feed.html:21 msgid "Local" msgstr "本站" -#: bookwyrm/templates/feed/feed.html:25 +#: bookwyrm/templates/feed/feed.html:24 #: bookwyrm/templates/settings/edit_server.html:40 msgid "Federated" msgstr "跨站" -#: bookwyrm/templates/feed/feed.html:33 +#: bookwyrm/templates/feed/feed.html:32 #, python-format msgid "load 0 unread status(es)" msgstr "加载 0 条未读状态" -#: bookwyrm/templates/feed/feed.html:48 +#: bookwyrm/templates/feed/feed.html:47 msgid "There aren't any activities right now! Try following a user to get started" msgstr "现在还没有任何活动!尝试着从关注一个用户开始吧" -#: bookwyrm/templates/feed/feed.html:56 +#: bookwyrm/templates/feed/feed.html:55 #: bookwyrm/templates/get_started/users.html:6 msgid "Who to follow" msgstr "可以关注的人" -#: bookwyrm/templates/feed/feed_layout.html:5 +#: bookwyrm/templates/feed/feed_layout.html:4 msgid "Updates" msgstr "更新" -#: bookwyrm/templates/feed/feed_layout.html:11 +#: bookwyrm/templates/feed/feed_layout.html:10 #: bookwyrm/templates/layout.html:59 #: bookwyrm/templates/user/shelf/books_header.html:3 msgid "Your books" msgstr "你的书目" -#: bookwyrm/templates/feed/feed_layout.html:13 +#: bookwyrm/templates/feed/feed_layout.html:12 msgid "There are no books here right now! Try searching for a book to get started" msgstr "现在这里还没有任何书目!尝试着从搜索某本书开始吧" -#: bookwyrm/templates/feed/feed_layout.html:24 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "To Read" msgstr "想读" -#: bookwyrm/templates/feed/feed_layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Currently Reading" msgstr "在读" -#: bookwyrm/templates/feed/feed_layout.html:26 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -#: bookwyrm/templates/user/shelf/shelf.html:28 +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:29 msgid "Read" msgstr "读过" -#: bookwyrm/templates/feed/feed_layout.html:88 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:87 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -919,7 +947,7 @@ msgid "What are you reading?" msgstr "你在阅读什么?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/lists/list.html:119 +#: bookwyrm/templates/lists/list.html:120 msgid "Search for a book" msgstr "搜索书目" @@ -939,7 +967,7 @@ msgstr "你可以在开始使用 %(site_name)s 后添加书目。" #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39 -#: bookwyrm/templates/lists/list.html:123 +#: bookwyrm/templates/lists/list.html:124 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -955,7 +983,7 @@ msgid "Popular on %(site_name)s" msgstr "%(site_name)s 上的热门" #: bookwyrm/templates/get_started/books.html:58 -#: bookwyrm/templates/lists/list.html:136 +#: bookwyrm/templates/lists/list.html:137 msgid "No books found" msgstr "没有找到书目" @@ -1075,95 +1103,95 @@ msgstr "导入书目" msgid "Data source:" msgstr "数据来源:" -#: bookwyrm/templates/import.html:29 +#: bookwyrm/templates/import.html:32 msgid "Data file:" msgstr "数据文件:" -#: bookwyrm/templates/import.html:37 +#: bookwyrm/templates/import.html:40 msgid "Include reviews" msgstr "纳入书评" -#: bookwyrm/templates/import.html:42 +#: bookwyrm/templates/import.html:45 msgid "Privacy setting for imported reviews:" msgstr "导入书评的隐私设定" -#: bookwyrm/templates/import.html:48 +#: bookwyrm/templates/import.html:51 #: bookwyrm/templates/settings/server_blocklist.html:64 msgid "Import" msgstr "导入" -#: bookwyrm/templates/import.html:53 +#: bookwyrm/templates/import.html:56 msgid "Recent Imports" msgstr "最近的导入" -#: bookwyrm/templates/import.html:55 +#: bookwyrm/templates/import.html:58 msgid "No recent imports" msgstr "无最近的导入" -#: bookwyrm/templates/import_status.html:6 -#: bookwyrm/templates/import_status.html:10 +#: bookwyrm/templates/import_status.html:5 +#: bookwyrm/templates/import_status.html:9 msgid "Import Status" msgstr "导入状态" -#: bookwyrm/templates/import_status.html:13 +#: bookwyrm/templates/import_status.html:12 msgid "Import started:" msgstr "导入开始:" -#: bookwyrm/templates/import_status.html:17 +#: bookwyrm/templates/import_status.html:16 msgid "Import completed:" msgstr "导入完成:" -#: bookwyrm/templates/import_status.html:20 +#: bookwyrm/templates/import_status.html:19 msgid "TASK FAILED" msgstr "任务失败" -#: bookwyrm/templates/import_status.html:26 +#: bookwyrm/templates/import_status.html:25 msgid "Import still in progress." msgstr "还在导入中。" -#: bookwyrm/templates/import_status.html:28 +#: bookwyrm/templates/import_status.html:27 msgid "(Hit reload to update!)" msgstr "(按下重新加载来更新!)" -#: bookwyrm/templates/import_status.html:35 +#: bookwyrm/templates/import_status.html:34 msgid "Failed to load" msgstr "加载失败" -#: bookwyrm/templates/import_status.html:44 +#: bookwyrm/templates/import_status.html:43 #, python-format msgid "Jump to the bottom of the list to select the %(failed_count)s items which failed to import." msgstr "跳转至列表底部来选取 %(failed_count)s 个导入失败的项目。" -#: bookwyrm/templates/import_status.html:79 +#: bookwyrm/templates/import_status.html:78 msgid "Select all" msgstr "全选" -#: bookwyrm/templates/import_status.html:82 +#: bookwyrm/templates/import_status.html:81 msgid "Retry items" msgstr "重试项目" -#: bookwyrm/templates/import_status.html:108 +#: bookwyrm/templates/import_status.html:107 msgid "Successfully imported" msgstr "成功导入了" -#: bookwyrm/templates/import_status.html:112 +#: bookwyrm/templates/import_status.html:111 msgid "Book" msgstr "书目" -#: bookwyrm/templates/import_status.html:115 -#: bookwyrm/templates/snippets/create_status_form.html:10 -#: bookwyrm/templates/user/shelf/shelf.html:77 -#: bookwyrm/templates/user/shelf/shelf.html:95 +#: bookwyrm/templates/import_status.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:13 +#: bookwyrm/templates/user/shelf/shelf.html:78 +#: bookwyrm/templates/user/shelf/shelf.html:98 msgid "Title" msgstr "标题" -#: bookwyrm/templates/import_status.html:118 -#: bookwyrm/templates/user/shelf/shelf.html:78 -#: bookwyrm/templates/user/shelf/shelf.html:98 +#: bookwyrm/templates/import_status.html:117 +#: bookwyrm/templates/user/shelf/shelf.html:79 +#: bookwyrm/templates/user/shelf/shelf.html:101 msgid "Author" msgstr "作者" -#: bookwyrm/templates/import_status.html:141 +#: bookwyrm/templates/import_status.html:140 msgid "Imported" msgstr "已导入" @@ -1274,7 +1302,8 @@ msgid "Support %(site_name)s on % msgstr "在 %(support_title)s 上支持 %(site_name)s" #: bookwyrm/templates/layout.html:217 -msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +#| msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是开源软件。你可以在 GitHub 贡献或报告问题。" #: bookwyrm/templates/lists/create_form.html:5 @@ -1317,7 +1346,7 @@ msgid "Discard" msgstr "削除" #: bookwyrm/templates/lists/edit_form.html:5 -#: bookwyrm/templates/lists/list_layout.html:18 +#: bookwyrm/templates/lists/list_layout.html:17 msgid "Edit List" msgstr "编辑列表" @@ -1351,76 +1380,76 @@ msgstr "开放" msgid "Anyone can add books to this list" msgstr "任何人都可以向此列表中添加书目" -#: bookwyrm/templates/lists/list.html:19 +#: bookwyrm/templates/lists/list.html:20 msgid "You successfully suggested a book for this list!" msgstr "" -#: bookwyrm/templates/lists/list.html:21 +#: bookwyrm/templates/lists/list.html:22 #, fuzzy #| msgid "Anyone can add books to this list" msgid "You successfully added a book to this list!" msgstr "任何人都可以向此列表中添加书目" -#: bookwyrm/templates/lists/list.html:27 +#: bookwyrm/templates/lists/list.html:28 msgid "This list is currently empty" msgstr "此列表当前是空的" -#: bookwyrm/templates/lists/list.html:64 +#: bookwyrm/templates/lists/list.html:65 #, python-format msgid "Added by %(username)s" msgstr "由 %(username)s 添加" -#: bookwyrm/templates/lists/list.html:76 +#: bookwyrm/templates/lists/list.html:77 #, fuzzy #| msgid "Sent" msgid "Set" msgstr "已发送" -#: bookwyrm/templates/lists/list.html:79 +#: bookwyrm/templates/lists/list.html:80 #, fuzzy #| msgid "List curation:" msgid "List position" msgstr "列表策展:" -#: bookwyrm/templates/lists/list.html:85 +#: bookwyrm/templates/lists/list.html:86 #: bookwyrm/templates/snippets/shelf_selector.html:26 msgid "Remove" msgstr "移除" -#: bookwyrm/templates/lists/list.html:98 bookwyrm/templates/lists/list.html:110 +#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111 #, fuzzy #| msgid "Your Lists" msgid "Sort List" msgstr "你的列表" -#: bookwyrm/templates/lists/list.html:104 +#: bookwyrm/templates/lists/list.html:105 #, fuzzy #| msgid "Directory" msgid "Direction" msgstr "目录" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Add Books" msgstr "添加书目" -#: bookwyrm/templates/lists/list.html:115 +#: bookwyrm/templates/lists/list.html:116 msgid "Suggest Books" msgstr "推荐书目" -#: bookwyrm/templates/lists/list.html:124 +#: bookwyrm/templates/lists/list.html:125 msgid "search" msgstr "搜索" -#: bookwyrm/templates/lists/list.html:130 +#: bookwyrm/templates/lists/list.html:131 msgid "Clear search" msgstr "清除搜索" -#: bookwyrm/templates/lists/list.html:135 +#: bookwyrm/templates/lists/list.html:136 #, python-format msgid "No books found matching the query \"%(query)s\"" msgstr "没有符合 \"%(query)s\" 请求的书目" -#: bookwyrm/templates/lists/list.html:163 +#: bookwyrm/templates/lists/list.html:164 msgid "Suggest" msgstr "推荐" @@ -1445,36 +1474,36 @@ msgstr "联系管理员以取得邀请" msgid "More about this site" msgstr "关于本站点的更多" +#: bookwyrm/templates/moderation/report.html:5 #: bookwyrm/templates/moderation/report.html:6 -#: bookwyrm/templates/moderation/report.html:7 #: bookwyrm/templates/moderation/report_preview.html:6 #, python-format msgid "Report #%(report_id)s: %(username)s" msgstr "报告 #%(report_id)s: %(username)s" -#: bookwyrm/templates/moderation/report.html:11 +#: bookwyrm/templates/moderation/report.html:10 msgid "Back to reports" msgstr "回到报告" -#: bookwyrm/templates/moderation/report.html:23 +#: bookwyrm/templates/moderation/report.html:22 msgid "Moderator Comments" msgstr "监察员评论" -#: bookwyrm/templates/moderation/report.html:41 +#: bookwyrm/templates/moderation/report.html:40 #: bookwyrm/templates/snippets/create_status.html:28 -#: bookwyrm/templates/snippets/create_status_form.html:63 +#: bookwyrm/templates/snippets/create_status_form.html:66 msgid "Comment" msgstr "评论" -#: bookwyrm/templates/moderation/report.html:46 +#: bookwyrm/templates/moderation/report.html:45 msgid "Reported statuses" msgstr "被报告的状态" -#: bookwyrm/templates/moderation/report.html:48 +#: bookwyrm/templates/moderation/report.html:47 msgid "No statuses reported" msgstr "没有被报告的状态" -#: bookwyrm/templates/moderation/report.html:54 +#: bookwyrm/templates/moderation/report.html:53 #, fuzzy #| msgid "Statuses has been deleted" msgid "Status has been deleted" @@ -1754,7 +1783,7 @@ msgstr "搜索" #: bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 -#: bookwyrm/templates/user/layout.html:73 +#: bookwyrm/templates/user/layout.html:74 msgid "Books" msgstr "书目" @@ -1829,7 +1858,7 @@ msgid "Add server" msgstr "添加封面" #: bookwyrm/templates/settings/edit_server.html:7 -#: bookwyrm/templates/settings/federated_server.html:12 +#: bookwyrm/templates/settings/federated_server.html:13 #: bookwyrm/templates/settings/server_blocklist.html:7 msgid "Back to server list" msgstr "回到服务器列表" @@ -1848,26 +1877,26 @@ msgid "Instance:" msgstr "实例名称" #: bookwyrm/templates/settings/edit_server.html:37 -#: bookwyrm/templates/settings/federated_server.html:29 +#: bookwyrm/templates/settings/federated_server.html:30 #: bookwyrm/templates/user_admin/user_info.html:34 msgid "Status:" msgstr "状态:" #: bookwyrm/templates/settings/edit_server.html:41 -#: bookwyrm/templates/settings/federated_server.html:9 +#: bookwyrm/templates/settings/federated_server.html:10 #, fuzzy #| msgid "Block" msgid "Blocked" msgstr "屏蔽" #: bookwyrm/templates/settings/edit_server.html:48 -#: bookwyrm/templates/settings/federated_server.html:21 +#: bookwyrm/templates/settings/federated_server.html:22 #: bookwyrm/templates/user_admin/user_info.html:26 msgid "Software:" msgstr "软件:" #: bookwyrm/templates/settings/edit_server.html:55 -#: bookwyrm/templates/settings/federated_server.html:25 +#: bookwyrm/templates/settings/federated_server.html:26 #: bookwyrm/templates/user_admin/user_info.html:30 msgid "Version:" msgstr "版本:" @@ -1876,71 +1905,71 @@ msgstr "版本:" msgid "Notes:" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:18 +#: bookwyrm/templates/settings/federated_server.html:19 msgid "Details" msgstr "详细" -#: bookwyrm/templates/settings/federated_server.html:36 -#: bookwyrm/templates/user/layout.html:55 +#: bookwyrm/templates/settings/federated_server.html:37 +#: bookwyrm/templates/user/layout.html:56 msgid "Activity" msgstr "活动" -#: bookwyrm/templates/settings/federated_server.html:39 +#: bookwyrm/templates/settings/federated_server.html:40 msgid "Users:" msgstr "用户:" -#: bookwyrm/templates/settings/federated_server.html:42 -#: bookwyrm/templates/settings/federated_server.html:49 +#: bookwyrm/templates/settings/federated_server.html:43 +#: bookwyrm/templates/settings/federated_server.html:50 msgid "View all" msgstr "查看全部" -#: bookwyrm/templates/settings/federated_server.html:46 +#: bookwyrm/templates/settings/federated_server.html:47 msgid "Reports:" msgstr "报告:" -#: bookwyrm/templates/settings/federated_server.html:53 +#: bookwyrm/templates/settings/federated_server.html:54 msgid "Followed by us:" msgstr "我们关注了的:" -#: bookwyrm/templates/settings/federated_server.html:59 +#: bookwyrm/templates/settings/federated_server.html:60 msgid "Followed by them:" msgstr "TA 们关注了的:" -#: bookwyrm/templates/settings/federated_server.html:65 +#: bookwyrm/templates/settings/federated_server.html:66 msgid "Blocked by us:" msgstr "我们所屏蔽的:" -#: bookwyrm/templates/settings/federated_server.html:77 +#: bookwyrm/templates/settings/federated_server.html:78 #: bookwyrm/templates/user_admin/user_info.html:39 msgid "Notes" msgstr "" -#: bookwyrm/templates/settings/federated_server.html:80 +#: bookwyrm/templates/settings/federated_server.html:81 #, fuzzy #| msgid "Edit Book" msgid "Edit" msgstr "编辑书目" -#: bookwyrm/templates/settings/federated_server.html:100 +#: bookwyrm/templates/settings/federated_server.html:101 #: bookwyrm/templates/user_admin/user_moderation_actions.html:3 msgid "Actions" msgstr "动作" -#: bookwyrm/templates/settings/federated_server.html:104 +#: bookwyrm/templates/settings/federated_server.html:105 #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" msgstr "屏蔽" -#: bookwyrm/templates/settings/federated_server.html:105 +#: bookwyrm/templates/settings/federated_server.html:106 msgid "All users from this instance will be deactivated." msgstr "" -#: bookwyrm/templates/settings/federated_server.html:110 +#: bookwyrm/templates/settings/federated_server.html:111 #: bookwyrm/templates/snippets/block_button.html:10 msgid "Un-block" msgstr "取消屏蔽" -#: bookwyrm/templates/settings/federated_server.html:111 +#: bookwyrm/templates/settings/federated_server.html:112 msgid "All users from this instance will be re-activated." msgstr "" @@ -2155,7 +2184,7 @@ msgstr "允许请求邀请:" msgid "Registration closed text:" msgstr "注册关闭文字:" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:31 msgid "No cover" msgstr "没有封面" @@ -2164,15 +2193,15 @@ msgstr "没有封面" msgid "%(title)s by " msgstr "%(title)s 来自" -#: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 +#: bookwyrm/templates/snippets/boost_button.html:10 #, fuzzy #| msgid "boosted" msgid "Boost" msgstr "转发了" -#: bookwyrm/templates/snippets/boost_button.html:15 #: bookwyrm/templates/snippets/boost_button.html:16 +#: bookwyrm/templates/snippets/boost_button.html:17 #, fuzzy #| msgid "Un-boost status" msgid "Un-boost" @@ -2194,66 +2223,66 @@ msgstr "书评" msgid "Quote" msgstr "引用" -#: bookwyrm/templates/snippets/create_status_form.html:20 +#: bookwyrm/templates/snippets/create_status_form.html:23 msgid "Comment:" msgstr "评论:" -#: bookwyrm/templates/snippets/create_status_form.html:22 +#: bookwyrm/templates/snippets/create_status_form.html:25 msgid "Quote:" msgstr "引用:" -#: bookwyrm/templates/snippets/create_status_form.html:24 +#: bookwyrm/templates/snippets/create_status_form.html:27 msgid "Review:" msgstr "书评:" -#: bookwyrm/templates/snippets/create_status_form.html:53 -#: bookwyrm/templates/snippets/status/layout.html:30 +#: bookwyrm/templates/snippets/create_status_form.html:56 +#: bookwyrm/templates/snippets/status/layout.html:29 +#: bookwyrm/templates/snippets/status/layout.html:47 #: bookwyrm/templates/snippets/status/layout.html:48 -#: bookwyrm/templates/snippets/status/layout.html:49 msgid "Reply" msgstr "回复" -#: bookwyrm/templates/snippets/create_status_form.html:53 +#: bookwyrm/templates/snippets/create_status_form.html:56 #, fuzzy #| msgid "Footer Content" msgid "Content" msgstr "页脚内容" -#: bookwyrm/templates/snippets/create_status_form.html:77 +#: bookwyrm/templates/snippets/create_status_form.html:80 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16 msgid "Progress:" msgstr "进度:" -#: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:26 +#: bookwyrm/templates/snippets/create_status_form.html:88 +#: 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_form.html:86 -#: bookwyrm/templates/snippets/readthrough_form.html:27 +#: bookwyrm/templates/snippets/create_status_form.html:89 +#: 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_form.html:92 +#: bookwyrm/templates/snippets/create_status_form.html:95 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:36 #, python-format msgid "of %(pages)s pages" msgstr "全书 %(pages)s 页" -#: bookwyrm/templates/snippets/create_status_form.html:107 +#: bookwyrm/templates/snippets/create_status_form.html:110 msgid "Include spoiler alert" msgstr "加入剧透警告" -#: bookwyrm/templates/snippets/create_status_form.html:114 +#: bookwyrm/templates/snippets/create_status_form.html:117 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" msgstr "私密" -#: bookwyrm/templates/snippets/create_status_form.html:125 +#: bookwyrm/templates/snippets/create_status_form.html:128 msgid "Post" msgstr "发布" @@ -2267,17 +2296,17 @@ msgid "You are deleting this readthrough and its %(count)s associated progress u msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 -#: bookwyrm/templates/snippets/follow_request_buttons.html:13 +#: bookwyrm/templates/snippets/follow_request_buttons.html:12 msgid "Delete" msgstr "删除" -#: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:9 +#: bookwyrm/templates/snippets/fav_button.html:11 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:15 -#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 +#: bookwyrm/templates/snippets/fav_button.html:18 #, fuzzy #| msgid "Un-like status" msgid "Un-like" @@ -2311,11 +2340,11 @@ msgstr "撤回关注请求" msgid "Unfollow" msgstr "取消关注" -#: bookwyrm/templates/snippets/follow_request_buttons.html:8 +#: bookwyrm/templates/snippets/follow_request_buttons.html:7 msgid "Accept" msgstr "接受" -#: bookwyrm/templates/snippets/form_rate_stars.html:20 +#: bookwyrm/templates/snippets/form_rate_stars.html:19 #: bookwyrm/templates/snippets/stars.html:13 msgid "No rating" msgstr "没有评价" @@ -2361,8 +2390,8 @@ msgid "Goal privacy:" msgstr "目标隐私:" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:45 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:33 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 msgid "Post to feed" msgstr "发布到消息流中" @@ -2473,12 +2502,12 @@ msgstr "删除这些阅读日期" msgid "Started reading" msgstr "已开始阅读" -#: bookwyrm/templates/snippets/readthrough_form.html:18 +#: bookwyrm/templates/snippets/readthrough_form.html:14 msgid "Progress" msgstr "进度" -#: bookwyrm/templates/snippets/readthrough_form.html:34 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 +#: bookwyrm/templates/snippets/readthrough_form.html:30 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 msgid "Finished reading" msgstr "已完成阅读" @@ -2486,27 +2515,27 @@ msgstr "已完成阅读" msgid "Sign Up" msgstr "注册" -#: bookwyrm/templates/snippets/report_button.html:5 +#: bookwyrm/templates/snippets/report_button.html:6 msgid "Report" msgstr "报告" #: bookwyrm/templates/snippets/rss_title.html:5 -#: bookwyrm/templates/snippets/status/status_header.html:34 +#: bookwyrm/templates/snippets/status/status_header.html:35 msgid "rated" msgstr "评价了" #: bookwyrm/templates/snippets/rss_title.html:7 -#: bookwyrm/templates/snippets/status/status_header.html:36 +#: bookwyrm/templates/snippets/status/status_header.html:37 msgid "reviewed" msgstr "写了书评给" #: bookwyrm/templates/snippets/rss_title.html:9 -#: bookwyrm/templates/snippets/status/status_header.html:38 +#: bookwyrm/templates/snippets/status/status_header.html:39 msgid "commented on" msgstr "评论了" #: bookwyrm/templates/snippets/rss_title.html:11 -#: bookwyrm/templates/snippets/status/status_header.html:40 +#: bookwyrm/templates/snippets/status/status_header.html:41 msgid "quoted" msgstr "引用了" @@ -2524,7 +2553,7 @@ 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:34 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:36 msgid "Update progress" msgstr "更新进度" @@ -2532,20 +2561,20 @@ msgstr "更新进度" msgid "More shelves" msgstr "更多书架" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:10 msgid "Start reading" msgstr "开始阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:15 msgid "Finish reading" msgstr "完成阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:18 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 msgid "Want to read" msgstr "想要阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 #, python-format msgid "Remove from %(name)s" msgstr "从 %(name)s 移除" @@ -2560,40 +2589,40 @@ msgstr "开始 \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "想要阅读 \"%(book_title)s\"" -#: bookwyrm/templates/snippets/status/content_status.html:70 -#: bookwyrm/templates/snippets/trimmed_text.html:14 +#: bookwyrm/templates/snippets/status/content_status.html:71 +#: bookwyrm/templates/snippets/trimmed_text.html:15 msgid "Show more" msgstr "显示更多" -#: bookwyrm/templates/snippets/status/content_status.html:85 -#: bookwyrm/templates/snippets/trimmed_text.html:29 +#: bookwyrm/templates/snippets/status/content_status.html:86 +#: bookwyrm/templates/snippets/trimmed_text.html:30 msgid "Show less" msgstr "显示更少" -#: bookwyrm/templates/snippets/status/content_status.html:115 +#: bookwyrm/templates/snippets/status/content_status.html:116 msgid "Open image in new window" msgstr "在新窗口中打开图像" -#: bookwyrm/templates/snippets/status/layout.html:22 +#: bookwyrm/templates/snippets/status/layout.html:21 #: bookwyrm/templates/snippets/status/status_options.html:17 msgid "Delete status" msgstr "删除发文" +#: bookwyrm/templates/snippets/status/layout.html:51 #: bookwyrm/templates/snippets/status/layout.html:52 -#: bookwyrm/templates/snippets/status/layout.html:53 msgid "Boost status" msgstr "转发状态" +#: bookwyrm/templates/snippets/status/layout.html:55 #: bookwyrm/templates/snippets/status/layout.html:56 -#: bookwyrm/templates/snippets/status/layout.html:57 msgid "Like status" msgstr "喜欢状态" -#: bookwyrm/templates/snippets/status/status.html:9 +#: bookwyrm/templates/snippets/status/status.html:10 msgid "boosted" msgstr "转发了" -#: bookwyrm/templates/snippets/status/status_header.html:44 +#: bookwyrm/templates/snippets/status/status_header.html:45 #, python-format msgid "replied to %(username)s's status" msgstr "回复了 %(username)s状态" @@ -2627,15 +2656,15 @@ msgstr "升序排序" msgid "Sorted descending" msgstr "降序排序" -#: bookwyrm/templates/user/layout.html:12 bookwyrm/templates/user/user.html:10 +#: bookwyrm/templates/user/layout.html:13 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "用户个人资料" -#: bookwyrm/templates/user/layout.html:36 +#: bookwyrm/templates/user/layout.html:37 msgid "Follow Requests" msgstr "关注请求" -#: bookwyrm/templates/user/layout.html:61 +#: bookwyrm/templates/user/layout.html:62 msgid "Reading Goal" msgstr "阅读目标" @@ -2681,38 +2710,38 @@ msgstr "编辑书架" msgid "Update shelf" msgstr "更新书架" -#: bookwyrm/templates/user/shelf/shelf.html:24 bookwyrm/views/shelf.py:48 +#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51 msgid "All books" msgstr "所有书目" -#: bookwyrm/templates/user/shelf/shelf.html:37 +#: bookwyrm/templates/user/shelf/shelf.html:38 msgid "Create shelf" msgstr "创建书架" -#: bookwyrm/templates/user/shelf/shelf.html:60 +#: bookwyrm/templates/user/shelf/shelf.html:61 msgid "Edit shelf" msgstr "编辑书架" -#: bookwyrm/templates/user/shelf/shelf.html:79 -#: bookwyrm/templates/user/shelf/shelf.html:101 +#: bookwyrm/templates/user/shelf/shelf.html:80 +#: bookwyrm/templates/user/shelf/shelf.html:104 msgid "Shelved" msgstr "上架时间" -#: bookwyrm/templates/user/shelf/shelf.html:80 -#: bookwyrm/templates/user/shelf/shelf.html:105 +#: bookwyrm/templates/user/shelf/shelf.html:81 +#: bookwyrm/templates/user/shelf/shelf.html:108 msgid "Started" msgstr "开始时间" -#: bookwyrm/templates/user/shelf/shelf.html:81 -#: bookwyrm/templates/user/shelf/shelf.html:108 +#: bookwyrm/templates/user/shelf/shelf.html:82 +#: bookwyrm/templates/user/shelf/shelf.html:111 msgid "Finished" msgstr "完成时间" -#: bookwyrm/templates/user/shelf/shelf.html:134 +#: bookwyrm/templates/user/shelf/shelf.html:137 msgid "This shelf is empty." msgstr "此书架是空的。" -#: bookwyrm/templates/user/shelf/shelf.html:140 +#: bookwyrm/templates/user/shelf/shelf.html:143 msgid "Delete shelf" msgstr "删除书架" @@ -2741,23 +2770,23 @@ msgstr "RSS 流" msgid "No activities yet!" msgstr "还没有活动!" -#: bookwyrm/templates/user/user_preview.html:14 +#: bookwyrm/templates/user/user_preview.html:15 #, python-format msgid "Joined %(date)s" msgstr "在 %(date)s 加入" -#: bookwyrm/templates/user/user_preview.html:18 +#: bookwyrm/templates/user/user_preview.html:19 #, python-format msgid "%(counter)s follower" msgid_plural "%(counter)s followers" msgstr[0] "%(counter)s 个关注者" -#: bookwyrm/templates/user/user_preview.html:19 +#: bookwyrm/templates/user/user_preview.html:20 #, python-format msgid "%(counter)s following" msgstr "关注着 %(counter)s 人" -#: bookwyrm/templates/user/user_preview.html:25 +#: bookwyrm/templates/user/user_preview.html:26 #, fuzzy, python-format #| msgid "%(mutuals)s follower you follow" #| msgid_plural "%(mutuals)s followers you follow" @@ -2765,7 +2794,7 @@ msgid "%(mutuals_display)s follower you follow" msgid_plural "%(mutuals_display)s followers you follow" msgstr[0] "%(mutuals)s 个你也关注的关注者" -#: bookwyrm/templates/user_admin/user.html:11 +#: bookwyrm/templates/user_admin/user.html:9 #, fuzzy #| msgid "Back to reports" msgid "Back to users" @@ -2838,15 +2867,20 @@ msgstr "" msgid "Access level:" msgstr "" -#: bookwyrm/views/password.py:32 +#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35 msgid "No user with that email address was found." msgstr "没有找到使用该邮箱的用户。" -#: bookwyrm/views/password.py:41 +#: bookwyrm/views/password.py:44 #, python-format msgid "A password reset link sent to %s" msgstr "密码重置连接已发送给 %s" +#, fuzzy +#~| msgid "BookWyrm users" +#~ msgid "BookWyrm\\" +#~ msgstr "BookWyrm 用户" + #, fuzzy #~| msgid "Show more" #~ msgid "Show" From 3c7882b055e71448add7eadcdb4b4727d7f7956d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 14 May 2021 16:13:32 -0700 Subject: [PATCH 26/36] Fixes abstract minimal connector test --- bookwyrm/tests/connectors/test_abstract_minimal_connector.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bookwyrm/tests/connectors/test_abstract_minimal_connector.py b/bookwyrm/tests/connectors/test_abstract_minimal_connector.py index bc5625c95..846291399 100644 --- a/bookwyrm/tests/connectors/test_abstract_minimal_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_minimal_connector.py @@ -53,7 +53,6 @@ class AbstractConnector(TestCase): self.assertEqual(connector.isbn_search_url, "https://example.com/isbn?q=") self.assertIsNone(connector.name) self.assertEqual(connector.identifier, "example.com") - self.assertIsNone(connector.max_query_count) self.assertFalse(connector.local) @responses.activate From 7dccce6b1fb3186d785e4ce15b489b92a13266e6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 18 May 2021 09:59:40 -0700 Subject: [PATCH 27/36] Adds keyboard focus to add readthrough form --- bookwyrm/templates/book/book.html | 8 ++++---- bookwyrm/templates/snippets/readthrough_form.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 8f167528c..0aa648360 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -163,12 +163,9 @@
    {% trans "Add read dates" as button_text %} - {% include 'snippets/toggle/open_button.html' with text=button_text icon="plus" class="is-small" controls_text="add-readthrough" %} + {% include 'snippets/toggle/open_button.html' with text=button_text icon="plus" class="is-small" controls_text="add-readthrough" focus="add-readthrough-focus" %}
    - {% if not readthroughs.exists %} -

    {% trans "You don't have any reading activity for this book." %}

    - {% endif %} + {% if not readthroughs.exists %} +

    {% trans "You don't have any reading activity for this book." %}

    + {% endif %} {% for readthrough in readthroughs %} {% include 'snippets/readthrough.html' with readthrough=readthrough %} {% endfor %} diff --git a/bookwyrm/templates/snippets/readthrough_form.html b/bookwyrm/templates/snippets/readthrough_form.html index c5be295e1..891e90715 100644 --- a/bookwyrm/templates/snippets/readthrough_form.html +++ b/bookwyrm/templates/snippets/readthrough_form.html @@ -3,7 +3,7 @@
    -
    {% trans "Add read dates" as button_text %} - {% include 'snippets/toggle/open_button.html' with text=button_text icon="plus" class="is-small" controls_text="add-readthrough" focus="add-readthrough-focus" %} + {% include 'snippets/toggle/open_button.html' with text=button_text icon_with_text="plus" class="is-small" controls_text="add-readthrough" focus="add-readthrough-focus" %}