From 36439506b646c245f5b68135021c922f501d48ed Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 14:00:51 -0300 Subject: [PATCH 01/29] add storygraph import --- bookwyrm/importers/__init__.py | 1 + bookwyrm/importers/storygraph_import.py | 32 +++++++++++++++++++++++++ bookwyrm/templates/import.html | 3 +++ bookwyrm/views/import_data.py | 4 +++- 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 bookwyrm/importers/storygraph_import.py diff --git a/bookwyrm/importers/__init__.py b/bookwyrm/importers/__init__.py index f13672e0..d4890070 100644 --- a/bookwyrm/importers/__init__.py +++ b/bookwyrm/importers/__init__.py @@ -3,3 +3,4 @@ from .importer import Importer from .goodreads_import import GoodreadsImporter from .librarything_import import LibrarythingImporter +from .storygraph_import import StorygraphImporter diff --git a/bookwyrm/importers/storygraph_import.py b/bookwyrm/importers/storygraph_import.py new file mode 100644 index 00000000..020adf3e --- /dev/null +++ b/bookwyrm/importers/storygraph_import.py @@ -0,0 +1,32 @@ +""" handle reading a csv from librarything """ +import re +import math + +from . import Importer + + +class StorygraphImporter(Importer): + """csv downloads from librarything""" + + service = "Storygraph" + # mandatory_fields : fields matching the book title and author + mandatory_fields = ["Title", "Author"] + + def parse_fields(self, entry): + """custom parsing for storygraph""" + data = {} + data["import_source"] = self.service + data["Title"] = entry["Title"] + data["Author"] = entry["Author"] + data["ISBN13"] = entry["ISBN"] + data["My Review"] = entry["Review"] + if entry["Star Rating"]: + data["My Rating"] = math.ceil(float(entry["Star Rating"])) + else: + data["My Rating"] = "" + + data["Date Added"] = re.sub(r"[/]", "-", entry["Date Added"]) + data["Date Read"] = re.sub(r"[/]", "-", entry["Last Date Read"]) + + data["Exclusive Shelf"] = ({"read": "read", "currently-reading": "reading", "to-read": "to-read"}).get(entry["Read Status"],None) + return data diff --git a/bookwyrm/templates/import.html b/bookwyrm/templates/import.html index c4f0dfae..2b7d69e1 100644 --- a/bookwyrm/templates/import.html +++ b/bookwyrm/templates/import.html @@ -20,6 +20,9 @@ + diff --git a/bookwyrm/views/import_data.py b/bookwyrm/views/import_data.py index a2abbc69..ccf4ec6d 100644 --- a/bookwyrm/views/import_data.py +++ b/bookwyrm/views/import_data.py @@ -10,7 +10,7 @@ from django.utils.decorators import method_decorator from django.views import View from bookwyrm import forms, models -from bookwyrm.importers import Importer, LibrarythingImporter, GoodreadsImporter +from bookwyrm.importers import Importer, LibrarythingImporter, GoodreadsImporter, StorygraphImporter from bookwyrm.tasks import app # pylint: disable= no-self-use @@ -42,6 +42,8 @@ class Import(View): importer = None if source == "LibraryThing": importer = LibrarythingImporter() + elif source == "Storygraph": + importer = StorygraphImporter() else: # Default : GoodReads importer = GoodreadsImporter() From 623bb181e42a91a931339ebe8f7894e45dbf4769 Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 15:56:35 -0300 Subject: [PATCH 02/29] fix formatting --- bookwyrm/importers/storygraph_import.py | 4 +++- bookwyrm/views/import_data.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bookwyrm/importers/storygraph_import.py b/bookwyrm/importers/storygraph_import.py index 020adf3e..8e43cabc 100644 --- a/bookwyrm/importers/storygraph_import.py +++ b/bookwyrm/importers/storygraph_import.py @@ -28,5 +28,7 @@ class StorygraphImporter(Importer): data["Date Added"] = re.sub(r"[/]", "-", entry["Date Added"]) data["Date Read"] = re.sub(r"[/]", "-", entry["Last Date Read"]) - data["Exclusive Shelf"] = ({"read": "read", "currently-reading": "reading", "to-read": "to-read"}).get(entry["Read Status"],None) + data["Exclusive Shelf"] = ( + {"read": "read", "currently-reading": "reading", "to-read": "to-read"} + ).get(entry["Read Status"], None) return data diff --git a/bookwyrm/views/import_data.py b/bookwyrm/views/import_data.py index ccf4ec6d..2bbb5947 100644 --- a/bookwyrm/views/import_data.py +++ b/bookwyrm/views/import_data.py @@ -10,7 +10,12 @@ from django.utils.decorators import method_decorator from django.views import View from bookwyrm import forms, models -from bookwyrm.importers import Importer, LibrarythingImporter, GoodreadsImporter, StorygraphImporter +from bookwyrm.importers import ( + Importer, + LibrarythingImporter, + GoodreadsImporter, + StorygraphImporter, +) from bookwyrm.tasks import app # pylint: disable= no-self-use From 85a8210f5e2d1b5cda5b2f42b97909faa75562c6 Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 18:11:28 -0300 Subject: [PATCH 03/29] fix rating property on ImportItem --- bookwyrm/models/import_job.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/models/import_job.py b/bookwyrm/models/import_job.py index 1b1152ab..c8130af2 100644 --- a/bookwyrm/models/import_job.py +++ b/bookwyrm/models/import_job.py @@ -128,7 +128,9 @@ class ImportItem(models.Model): @property def rating(self): """x/5 star rating for a book""" - return int(self.data["My Rating"]) + if self.data.get("My Rating", None): + return int(self.data["My Rating"]) + return None @property def date_added(self): From 07c84a6e1a1e82f455f096ae55c80559da9f7473 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 15:35:46 -0700 Subject: [PATCH 04/29] Adds confidence ratings to inventaire results Fixes bad matches in csv imports --- bookwyrm/connectors/inventaire.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bookwyrm/connectors/inventaire.py b/bookwyrm/connectors/inventaire.py index 0c573265..102c9d72 100644 --- a/bookwyrm/connectors/inventaire.py +++ b/bookwyrm/connectors/inventaire.py @@ -74,6 +74,14 @@ class Connector(AbstractConnector): **{k: data.get(k) for k in ["uri", "image", "labels", "sitelinks"]}, } + def search(self, query, min_confidence=None): + """overrides default search function with confidence ranking""" + results = super().search(query) + if min_confidence: + # filter the search results after the fact + return [r for r in results if r.confidence >= min_confidence] + return results + def parse_search_data(self, data): return data.get("results") @@ -84,6 +92,9 @@ class Connector(AbstractConnector): if images else None ) + # a deeply messy translation of inventaire's scores + confidence = float(search_result.get("_score", 0.1)) + confidence = 0.1 if confidence < 150 else 0.999 return SearchResult( title=search_result.get("label"), key=self.get_remote_id(search_result.get("uri")), @@ -92,6 +103,7 @@ class Connector(AbstractConnector): self.base_url, search_result.get("uri") ), cover=cover, + confidence=confidence, connector=self, ) From 8c2552f73909fd6a746a27f0cf550f5f6f21de12 Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 20:09:16 -0300 Subject: [PATCH 05/29] storygraph renamed the author field --- bookwyrm/importers/storygraph_import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/importers/storygraph_import.py b/bookwyrm/importers/storygraph_import.py index 8e43cabc..c312e4ba 100644 --- a/bookwyrm/importers/storygraph_import.py +++ b/bookwyrm/importers/storygraph_import.py @@ -17,7 +17,7 @@ class StorygraphImporter(Importer): data = {} data["import_source"] = self.service data["Title"] = entry["Title"] - data["Author"] = entry["Author"] + data["Author"] = entry["Authors"] data["ISBN13"] = entry["ISBN"] data["My Review"] = entry["Review"] if entry["Star Rating"]: From d40ff5c75118e6ae593087ca0026fbdb52e7e7e1 Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 20:11:44 -0300 Subject: [PATCH 06/29] support both author field names --- bookwyrm/importers/storygraph_import.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/importers/storygraph_import.py b/bookwyrm/importers/storygraph_import.py index c312e4ba..25498432 100644 --- a/bookwyrm/importers/storygraph_import.py +++ b/bookwyrm/importers/storygraph_import.py @@ -10,14 +10,14 @@ class StorygraphImporter(Importer): service = "Storygraph" # mandatory_fields : fields matching the book title and author - mandatory_fields = ["Title", "Author"] + mandatory_fields = ["Title"] def parse_fields(self, entry): """custom parsing for storygraph""" data = {} data["import_source"] = self.service data["Title"] = entry["Title"] - data["Author"] = entry["Authors"] + data["Author"] = entry["Authors"] if "Authors" in entry else entry["Author"] data["ISBN13"] = entry["ISBN"] data["My Review"] = entry["Review"] if entry["Star Rating"]: From 867a33de5731bb79a43d0824c7c7967fbf192c47 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 16:32:24 -0700 Subject: [PATCH 07/29] 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 41298161..e51dc7d8 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 08/29] 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 a7ea9db5..c7fdea0e 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 25249c96..00000000 --- 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 09/29] 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 b575bbb2..010d36ef 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 bcf11126..a230e290 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 10/29] 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 c7fdea0e..d342da47 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 11/29] 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 3de35b1e..d767e2b9 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 00000000..30c44a2c --- /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 12/29] 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 d767e2b9..d6ad0e86 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 bfd61790..75bb5d48 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 13/29] 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 5f12858f..3c6f212d 100644 --- a/bookwyrm/templates/snippets/book_cover.html +++ b/bookwyrm/templates/snippets/book_cover.html @@ -6,6 +6,7 @@

{{ 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 15/29] 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 639ab502..86610629 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 5312ac21..758e290e 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 16/29] 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 eda3d102..caab30a8 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 a92e887a..1c05e992 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 17/29] 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 caab30a8..fa2998e6 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 1c05e992..df4df671 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 18/29] 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 42e69153..d9101802 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 fa2998e6..81019fe5 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 df4df671..3e2ecf37 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 19/29] 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 81019fe5..c992b9e5 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 3e2ecf37..3b782fd5 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 20/29] 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 c992b9e5..719dc9ad 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 00000000..6e8d0549 --- /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 21/29] 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 96dce823..35caa55b 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 bc654401..becf7781 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 3a01fc82..5b84ea44 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 7dee4b70..b1a8e846 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 f6021622..ca9cb5b4 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 cd22822a..40fa2d25 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 e8008509..f6959de5 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 2fa0a3f3..19414c16 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 dc07fb64..754907c2 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 1eaa2463..1ce10e7c 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 775b05c8..17d5474c 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 0f609cf7..1b6aa735 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 8e7538c8..c52c1f7a 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 8e507531..946482cb 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 7def6e13..93026991 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 f106b4ce..21e71ae1 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 75fc1951..3c6b65a1 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 18ab6ea3..793cddfc 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 2902f793..55dc68aa 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 b59e2a96..1fdaaca9 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 c0899c84..de7665e8 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 a7a54811..d4b0a7c2 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 934799e3..db03850f 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 ed623b12..a51b2fdb 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 c6adc613..56bb1bfa 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 386433f3..b300a92d 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 d53acf2b..bb37c46d 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 3c6f212d..f64ec3e4 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 ca9cb5b4..5fd91898 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 3abebac0..a53733df 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 605b46cc..b06c6bfc 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 6e222e97..cfffe055 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 32e83ed2..01cc09bf 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 661d8078..0830a406 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 f36b304c..0348d82f 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 86610629..0f386385 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 99698575..5afe168a 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 c450365b..22d44c87 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 46390650..c79c6971 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 e5f5d580..579b3af7 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 db9335e8..70228799 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 00000000..370d60a1 --- /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 00000000..589881bf --- /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 23/29] 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 589881bf..f39de9e3 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 24/29] 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 3c6f212d..5f12858f 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 26/29] 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 b06c6bfc..9ff7f9ff 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 f39de9e3..4d9984c8 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 27/29] 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 becf7781..3a4fd6c8 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 7f274af9..7b9a929d 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 dac6e253..a27ae380 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 864c9dbb..d426b029 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 cb6c74d1..6362adcc 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 a6fdfa75..0f399924 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 7dccce6b1fb3186d785e4ce15b489b92a13266e6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 18 May 2021 09:59:40 -0700 Subject: [PATCH 28/29] 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 8f167528..0aa64836 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 c5be295e..891e9071 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" %}