From 558c9c4d675ff2675c2b88171294d52b989105d4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 5 May 2021 07:52:57 -0700 Subject: [PATCH 01/21] Sort edition list for better import results from inventaire --- bookwyrm/connectors/inventaire.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/connectors/inventaire.py b/bookwyrm/connectors/inventaire.py index 60f490f3e..3f26da68a 100644 --- a/bookwyrm/connectors/inventaire.py +++ b/bookwyrm/connectors/inventaire.py @@ -123,7 +123,7 @@ class Connector(AbstractConnector): def load_edition_data(self, work_uri): """get a list of editions for a work""" - url = "{:s}?action=reverse-claims&property=wdt:P629&value={:s}".format( + url = "{:s}?action=reverse-claims&property=wdt:P629&value={:s}&sort=true".format( self.books_url, work_uri ) return get_data(url) From c15358d715566e883149ac0332037b86ebce0df2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 5 May 2021 07:58:09 -0700 Subject: [PATCH 02/21] Python formatting --- bookwyrm/connectors/inventaire.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bookwyrm/connectors/inventaire.py b/bookwyrm/connectors/inventaire.py index 3f26da68a..0c5732652 100644 --- a/bookwyrm/connectors/inventaire.py +++ b/bookwyrm/connectors/inventaire.py @@ -123,8 +123,10 @@ class Connector(AbstractConnector): def load_edition_data(self, work_uri): """get a list of editions for a work""" - url = "{:s}?action=reverse-claims&property=wdt:P629&value={:s}&sort=true".format( - self.books_url, work_uri + url = ( + "{:s}?action=reverse-claims&property=wdt:P629&value={:s}&sort=true".format( + self.books_url, work_uri + ) ) return get_data(url) From a137bd21ff97cb187eeb65f57915d556cdf6e964 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Thu, 6 May 2021 17:24:05 +0200 Subject: [PATCH 03/21] Display author biography with style. :sunglasses: --- bookwyrm/templates/author.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/author.html b/bookwyrm/templates/author.html index 0ef876fd3..ec952d4c6 100644 --- a/bookwyrm/templates/author.html +++ b/bookwyrm/templates/author.html @@ -22,12 +22,11 @@ -
+
{% if author.bio %} -

{{ author.bio | to_markdown | safe }} -

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

{% trans "Wikipedia" %}

{% endif %} From 1cc63c6d456f867791867787d6ee6377abec3128 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 7 May 2021 13:55:41 -0700 Subject: [PATCH 04/21] Adds filtered view for notifications --- bookwyrm/urls.py | 5 +++++ bookwyrm/views/notifications.py | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 3e7dea58a..3fdced387 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -139,6 +139,11 @@ urlpatterns = [ path("", views.Home.as_view(), name="landing"), re_path(r"^discover/?$", views.Discover.as_view()), re_path(r"^notifications/?$", views.Notifications.as_view(), name="notifications"), + re_path( + r"^notifications/(?Pmentions)/?$", + views.Notifications.as_view(), + name="notifications", + ), re_path(r"^directory/?", views.Directory.as_view(), name="directory"), # Get started re_path( diff --git a/bookwyrm/views/notifications.py b/bookwyrm/views/notifications.py index 3d08cade5..b96bc9259 100644 --- a/bookwyrm/views/notifications.py +++ b/bookwyrm/views/notifications.py @@ -11,10 +11,14 @@ from django.views import View class Notifications(View): """notifications view""" - def get(self, request): + def get(self, request, notification_type=None): """people are interacting with you, get hyped""" notifications = request.user.notification_set.all().order_by("-created_date") - unread = [n.id for n in notifications.filter(read=False)] + if notification_type == "mentions": + notifications = notifications.filter( + notification_type__in=["REPLY", "MENTION", "TAG"] + ) + unread = [n.id for n in notifications.filter(read=False)[:50]] data = { "notifications": notifications[:50], "unread": unread, From 852f8da62e4fa3b5a65c200109d7f0455feae881 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 7 May 2021 14:00:55 -0700 Subject: [PATCH 05/21] Adds tabs to notifications --- bookwyrm/templates/notifications.html | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/notifications.html b/bookwyrm/templates/notifications.html index 8f8fede2f..ed623b129 100644 --- a/bookwyrm/templates/notifications.html +++ b/bookwyrm/templates/notifications.html @@ -6,13 +6,30 @@ {% block title %}{% trans "Notifications" %}{% endblock %} {% block content %} -
-

{% trans "Notifications" %}

+
+
+

{% trans "Notifications" %}

+
-
+ {% csrf_token %}
+
+ +
+
From f2d985e58323b3d3e7595103b2c9edd4184fcf3c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 09:57:53 -0700 Subject: [PATCH 06/21] Uses one set of search logic for all results or just first --- bookwyrm/connectors/connector_manager.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index 86cebe80a..cac8eb7c3 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -19,7 +19,7 @@ class ConnectorException(HTTPError): """when the connector can't do what was asked""" -def search(query, min_confidence=0.1): +def search(query, min_confidence=0.1, return_first=False): """find books based on arbitary keywords""" if not query: return [] @@ -51,6 +51,9 @@ def search(query, min_confidence=0.1): logger.exception(e) continue + if return_first and result_set: + return result_set[0] + results.append( { "connector": connector, @@ -58,6 +61,9 @@ def search(query, min_confidence=0.1): } ) + if return_first: + return None + return results @@ -77,12 +83,7 @@ def isbn_local_search(query, raw=False): def first_search_result(query, min_confidence=0.1): """search until you find a result that fits""" - for connector in get_connectors(): - result = connector.search(query, min_confidence=min_confidence) - if result: - return result[0] - return None - + return search(query, min_confidence=min_confidence, return_first=True) def get_connectors(): """load all connectors""" From 36439506b646c245f5b68135021c922f501d48ed Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 14:00:51 -0300 Subject: [PATCH 07/21] 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 f13672e06..d4890070b 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 000000000..020adf3e0 --- /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 c4f0dfae4..2b7d69e10 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 a2abbc695..ccf4ec6d4 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 5cd974b78d3b0475b87c6b40d228301f0eca3864 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 10:03:05 -0700 Subject: [PATCH 08/21] Python formatting --- bookwyrm/connectors/connector_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index cac8eb7c3..6fe458ca5 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -85,6 +85,7 @@ def first_search_result(query, min_confidence=0.1): """search until you find a result that fits""" return search(query, min_confidence=min_confidence, return_first=True) + def get_connectors(): """load all connectors""" for info in models.Connector.objects.order_by("priority").all(): From 623bb181e42a91a931339ebe8f7894e45dbf4769 Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 15:56:35 -0300 Subject: [PATCH 09/21] 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 020adf3e0..8e43cabc7 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 ccf4ec6d4..2bbb59474 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 13dc5efe712cc11df4aab0f6125a19b10d645ad1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 12:53:36 -0700 Subject: [PATCH 10/21] More comprehensive tests for connector search --- bookwyrm/connectors/connector_manager.py | 20 ++++--- .../connectors/test_connector_manager.py | 53 +++++++++++++++++-- 2 files changed, 58 insertions(+), 15 deletions(-) diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index 6fe458ca5..1c938b4b6 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -31,18 +31,15 @@ def search(query, min_confidence=0.1, return_first=False): for connector in get_connectors(): result_set = None - if maybe_isbn: + if maybe_isbn and connector.isbn_search_url and connector.isbn_search_url == "": # Search on ISBN - if not connector.isbn_search_url or connector.isbn_search_url == "": - result_set = [] - else: - try: - result_set = connector.isbn_search(isbn) - except Exception as e: # pylint: disable=broad-except - logger.exception(e) - continue + try: + result_set = connector.isbn_search(isbn) + except Exception as e: # pylint: disable=broad-except + logger.exception(e) + # if this fails, we can still try regular search - # if no isbn search or results, we fallback to generic search + # if no isbn search results, we fallback to generic search if result_set in (None, []): try: result_set = connector.search(query, min_confidence=min_confidence) @@ -52,6 +49,7 @@ def search(query, min_confidence=0.1, return_first=False): continue if return_first and result_set: + # if we found anything, return it return result_set[0] results.append( @@ -83,7 +81,7 @@ def isbn_local_search(query, raw=False): def first_search_result(query, min_confidence=0.1): """search until you find a result that fits""" - return search(query, min_confidence=min_confidence, return_first=True) + return search(query, min_confidence=min_confidence, return_first=True) or None def get_connectors(): diff --git a/bookwyrm/tests/connectors/test_connector_manager.py b/bookwyrm/tests/connectors/test_connector_manager.py index 34abbeaf6..67b108dd1 100644 --- a/bookwyrm/tests/connectors/test_connector_manager.py +++ b/bookwyrm/tests/connectors/test_connector_manager.py @@ -1,5 +1,6 @@ """ interface between the app and various connectors """ from django.test import TestCase +import responses from bookwyrm import models from bookwyrm.connectors import connector_manager @@ -17,6 +18,9 @@ class ConnectorManager(TestCase): self.edition = models.Edition.objects.create( title="Example Edition", parent_work=self.work, isbn_10="0000000000" ) + self.edition = models.Edition.objects.create( + title="Another Edition", parent_work=self.work, isbn_10="1111111111" + ) self.connector = models.Connector.objects.create( identifier="test_connector", @@ -29,6 +33,18 @@ class ConnectorManager(TestCase): isbn_search_url="http://test.com/isbn/", ) + self.remote_connector = models.Connector.objects.create( + identifier="test_connector_remote", + priority=1, + local=False, + connector_file="bookwyrm_connector", + base_url="http://fake.ciom/", + books_url="http://fake.ciom/", + search_url="http://fake.ciom/search/", + covers_url="http://covers.fake.ciom/", + isbn_search_url="http://fake.ciom/isbn/", + ) + def test_get_or_create_connector(self): """loads a connector if the data source is known or creates one""" remote_id = "https://example.com/object/1" @@ -42,23 +58,38 @@ class ConnectorManager(TestCase): def test_get_connectors(self): """load all connectors""" - remote_id = "https://example.com/object/1" - connector_manager.get_or_create_connector(remote_id) connectors = list(connector_manager.get_connectors()) self.assertEqual(len(connectors), 2) self.assertIsInstance(connectors[0], SelfConnector) self.assertIsInstance(connectors[1], BookWyrmConnector) + @responses.activate def test_search(self): """search all connectors""" + responses.add( + responses.GET, + "http://fake.ciom/search/Example?min_confidence=0.1", + json={}, + ) results = connector_manager.search("Example") self.assertEqual(len(results), 1) self.assertIsInstance(results[0]["connector"], SelfConnector) self.assertEqual(len(results[0]["results"]), 1) self.assertEqual(results[0]["results"][0].title, "Example Edition") + def test_search_empty_query(self): + """don't panic on empty queries""" + results = connector_manager.search("") + self.assertEqual(results, []) + + @responses.activate def test_search_isbn(self): """special handling if a query resembles an isbn""" + responses.add( + responses.GET, + "http://fake.ciom/isbn/0000000000", + json={}, + ) results = connector_manager.search("0000000000") self.assertEqual(len(results), 1) self.assertIsInstance(results[0]["connector"], SelfConnector) @@ -75,8 +106,22 @@ class ConnectorManager(TestCase): """only get one search result""" result = connector_manager.first_search_result("Example") self.assertEqual(result.title, "Example Edition") - no_result = connector_manager.first_search_result("dkjfhg") - self.assertIsNone(no_result) + + def test_first_search_result_empty_query(self): + """only get one search result""" + result = connector_manager.first_search_result("") + self.assertIsNone(result) + + @responses.activate + def test_first_search_result_no_results(self): + """only get one search result""" + responses.add( + responses.GET, + "http://fake.ciom/search/dkjfhg?min_confidence=0.1", + json={}, + ) + result = connector_manager.first_search_result("dkjfhg") + self.assertIsNone(result) def test_load_connector(self): """load a connector object from the database entry""" From 1844dd6b205b75e50a16b55202c10eeb4147beb3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 13:01:11 -0700 Subject: [PATCH 11/21] Only include result blobs with results in search results --- bookwyrm/connectors/connector_manager.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index 86cebe80a..1fb375c9d 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -43,7 +43,7 @@ def search(query, min_confidence=0.1): continue # if no isbn search or results, we fallback to generic search - if result_set in (None, []): + if not result_set: try: result_set = connector.search(query, min_confidence=min_confidence) except Exception as e: # pylint: disable=broad-except @@ -51,12 +51,13 @@ def search(query, min_confidence=0.1): logger.exception(e) continue - results.append( - { - "connector": connector, - "results": result_set, - } - ) + if result_set or connector.local: + results.append( + { + "connector": connector, + "results": result_set, + } + ) return results From b0055f398d2286096964ead303b6fd72bdf2291c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 13:24:00 -0700 Subject: [PATCH 12/21] Makes the show/hide buttons easier to find in book search --- bookwyrm/templates/search/book.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/search/book.html b/bookwyrm/templates/search/book.html index 84c2fafea..9af8a3943 100644 --- a/bookwyrm/templates/search/book.html +++ b/bookwyrm/templates/search/book.html @@ -27,8 +27,10 @@
- {% trans "Show" as button_text %} - {% include 'snippets/toggle/open_button.html' with text=button_text small=True controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon="arrow-down" pressed=forloop.first %} + {% trans "Open" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text small=True controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon_with_text="arrow-down" pressed=forloop.first %} + {% trans "Close" as button_text %} + {% include 'snippets/toggle/close_button.html' with text=button_text small=True controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon_with_text="arrow-up" pressed=forloop.first %}
{% endif %} @@ -36,8 +38,6 @@
- {% trans "Close" as button_text %} - {% include 'snippets/toggle/toggle_button.html' with label=button_text class="delete" nonbutton=True controls_text="more-results-panel" controls_uid=result_set.connector.identifier pressed=forloop.first %}
    From c869129323e9907aecc41bfc53cb9537232f1409 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 13:26:10 -0700 Subject: [PATCH 13/21] Updates locales --- locale/de_DE/LC_MESSAGES/django.mo | Bin 25234 -> 24553 bytes locale/de_DE/LC_MESSAGES/django.po | 153 ++++++++++--------- locale/en_US/LC_MESSAGES/django.po | 211 ++++++++++++++------------- locale/es/LC_MESSAGES/django.mo | Bin 65330 -> 40709 bytes locale/es/LC_MESSAGES/django.po | 153 ++++++++++--------- locale/fr_FR/LC_MESSAGES/django.mo | Bin 41556 -> 40827 bytes locale/fr_FR/LC_MESSAGES/django.po | 153 ++++++++++--------- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 37261 -> 36647 bytes locale/zh_Hans/LC_MESSAGES/django.po | 153 ++++++++++--------- 9 files changed, 436 insertions(+), 387 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 3f41eda575696af9585b5df60f4b09c991259496..90bc281759ba7efcf8aafd19283ddea45364b730 100644 GIT binary patch delta 7462 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 delta 8055 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 A*Z=?k diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 65677cd9a..7f274af9d 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-03 11:22-0700\n" +"POT-Creation-Date: 2021-05-10 13:23-0700\n" "PO-Revision-Date: 2021-03-02 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -145,11 +145,11 @@ msgstr "Etwas lief schief. Entschuldigung!" msgid "Edit Author" msgstr "Autor*in editieren" -#: bookwyrm/templates/author.html:32 +#: bookwyrm/templates/author.html:31 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author.html:37 +#: bookwyrm/templates/author.html:36 #, python-format msgid "Books by %(name)s" msgstr "Bücher von %(name)s" @@ -203,32 +203,32 @@ msgid "Description:" msgstr "Beschreibung:" #: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:241 +#: 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:42 +#: 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:34 +#: 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:242 +#: 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:43 +#: 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:35 +#: 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" @@ -328,24 +328,24 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:235 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:231 +#: bookwyrm/templates/book/edit_book.html:239 msgid "ASIN:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:179 +#: bookwyrm/templates/book/edit_book.html:187 #, fuzzy #| msgid "Add cover" msgid "Upload cover:" msgstr "Cover hinzufügen" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:185 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Load cover from url:" msgstr "Cover von URL laden:" @@ -455,63 +455,63 @@ msgstr "Mehrere Herausgeber:innen durch Kommata trennen" msgid "First published date:" msgstr "Erstveröffentlichungsdatum:" -#: bookwyrm/templates/book/edit_book.html:143 +#: bookwyrm/templates/book/edit_book.html:147 msgid "Published date:" msgstr "Veröffentlichungsdatum:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:160 #, fuzzy #| msgid "Author" msgid "Authors" msgstr "Autor*in" -#: bookwyrm/templates/book/edit_book.html:158 +#: bookwyrm/templates/book/edit_book.html:166 #, fuzzy, python-format #| msgid "Direct Messages with %(username)s" msgid "Remove %(name)s" msgstr "Direktnachrichten mit %(username)s" -#: bookwyrm/templates/book/edit_book.html:163 +#: bookwyrm/templates/book/edit_book.html:171 #, fuzzy #| msgid "Edit Author" msgid "Add Authors:" msgstr "Autor*in editieren" -#: bookwyrm/templates/book/edit_book.html:164 +#: bookwyrm/templates/book/edit_book.html:172 msgid "John Doe, Jane Smith" msgstr "" -#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/book/edit_book.html:178 #: bookwyrm/templates/user/shelf/shelf.html:76 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit_book.html:198 +#: bookwyrm/templates/book/edit_book.html:206 msgid "Physical Properties" msgstr "Physikalische Eigenschaften" -#: bookwyrm/templates/book/edit_book.html:199 +#: bookwyrm/templates/book/edit_book.html:207 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:215 msgid "Pages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:222 msgid "Book Identifiers" msgstr "Buchidentifikatoren" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:223 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:219 +#: bookwyrm/templates/book/edit_book.html:227 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:231 #: bookwyrm/templates/edit_author.html:59 msgid "Openlibrary key:" msgstr "" @@ -577,7 +577,7 @@ msgstr "Veröffentlicht von %(publisher)s." #: bookwyrm/templates/feed/feed_layout.html:70 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 -#: bookwyrm/templates/search/book.html:39 +#: bookwyrm/templates/search/book.html:32 msgid "Close" msgstr "Schließen" @@ -1304,7 +1304,7 @@ msgstr "Abmelden" #: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135 #: bookwyrm/templates/notifications.html:6 -#: bookwyrm/templates/notifications.html:10 +#: bookwyrm/templates/notifications.html:11 msgid "Notifications" msgstr "Benachrichtigungen" @@ -1422,6 +1422,7 @@ msgstr "Alle können Bücher vorschlagen, du kannst diese bestätigen" #: bookwyrm/templates/lists/form.html:31 #: bookwyrm/templates/moderation/reports.html:25 +#: bookwyrm/templates/search/book.html:30 msgid "Open" msgstr "Offen" @@ -1628,119 +1629,130 @@ msgstr "Ins Regal gestellt" msgid "No reports found." msgstr "Keine Bücher gefunden" -#: bookwyrm/templates/notifications.html:14 +#: bookwyrm/templates/notifications.html:16 msgid "Delete notifications" msgstr "Benachrichtigungen löschen" -#: bookwyrm/templates/notifications.html:53 +#: bookwyrm/templates/notifications.html:25 +msgid "All" +msgstr "" + +#: bookwyrm/templates/notifications.html:29 +#, fuzzy +#| msgid "More options" +msgid "Mentions" +msgstr "Mehr Optionen" + +#: bookwyrm/templates/notifications.html:70 #, python-format msgid "favorited your review of %(book_title)s" msgstr "hat deine Bewertung von %(book_title)s favorisiert" -#: bookwyrm/templates/notifications.html:55 +#: bookwyrm/templates/notifications.html:72 #, python-format msgid "favorited your comment on %(book_title)s" msgstr "hat deinen Kommentar zu %(book_title)s favorisiert" -#: bookwyrm/templates/notifications.html:57 +#: bookwyrm/templates/notifications.html:74 #, python-format msgid "favorited your quote from %(book_title)s" msgstr " hat dein Zitat aus %(book_title)s favorisiert" -#: bookwyrm/templates/notifications.html:59 +#: bookwyrm/templates/notifications.html:76 #, python-format msgid "favorited your status" msgstr "hat deinen Status favorisiert" -#: bookwyrm/templates/notifications.html:64 +#: bookwyrm/templates/notifications.html:81 #, python-format msgid "mentioned you in a review of %(book_title)s" msgstr "hat dich in einer Bewertung von %(book_title)s erwähnt" -#: bookwyrm/templates/notifications.html:66 +#: bookwyrm/templates/notifications.html:83 #, python-format msgid "mentioned you in a comment on %(book_title)s" msgstr "hat dich in einem Kommentar zu %(book_title)s erwähnt" -#: bookwyrm/templates/notifications.html:68 +#: bookwyrm/templates/notifications.html:85 #, python-format msgid "mentioned you in a quote from %(book_title)s" msgstr "hat dich in einem Zitat von %(book_title)s erwähnt" -#: bookwyrm/templates/notifications.html:70 +#: bookwyrm/templates/notifications.html:87 #, python-format msgid "mentioned you in a status" msgstr "hat dich in einem Status erwähnt" -#: bookwyrm/templates/notifications.html:75 +#: bookwyrm/templates/notifications.html:92 #, python-format msgid "replied to your review of %(book_title)s" msgstr "hat auf deine Bewertung von %(book_title)s geantwortet " -#: bookwyrm/templates/notifications.html:77 +#: bookwyrm/templates/notifications.html:94 #, python-format msgid "replied to your comment on %(book_title)s" msgstr "hat auf deinen Kommentar zu %(book_title)s geantwortet" -#: bookwyrm/templates/notifications.html:79 +#: bookwyrm/templates/notifications.html:96 #, python-format msgid "replied to your quote from %(book_title)s" msgstr "hat auf dein Zitat aus %(book_title)s geantwortet" -#: bookwyrm/templates/notifications.html:81 +#: bookwyrm/templates/notifications.html:98 #, python-format msgid "replied to your status" msgstr "hat auf deinen Status geantwortet" -#: bookwyrm/templates/notifications.html:85 +#: bookwyrm/templates/notifications.html:102 msgid "followed you" msgstr "folgt dir" -#: bookwyrm/templates/notifications.html:88 +#: bookwyrm/templates/notifications.html:105 msgid "sent you a follow request" msgstr "hat dir eine Folgeanfrage geschickt" -#: bookwyrm/templates/notifications.html:94 +#: bookwyrm/templates/notifications.html:111 #, python-format msgid "boosted your review of %(book_title)s" msgstr "hat deine Bewertung von %(book_title)s geteilt" -#: bookwyrm/templates/notifications.html:96 +#: bookwyrm/templates/notifications.html:113 #, python-format msgid "boosted your comment on%(book_title)s" msgstr "hat deinen Kommentar zu%(book_title)s geteilt" -#: bookwyrm/templates/notifications.html:98 +#: bookwyrm/templates/notifications.html:115 #, python-format msgid "boosted your quote from %(book_title)s" msgstr "hat dein Zitat aus %(book_title)s geteilt" -#: bookwyrm/templates/notifications.html:100 +#: bookwyrm/templates/notifications.html:117 #, python-format msgid "boosted your status" msgstr "hat deinen Status geteilt" -#: bookwyrm/templates/notifications.html:104 +#: bookwyrm/templates/notifications.html:121 #, python-format msgid " added %(book_title)s to your list \"%(list_name)s\"" msgstr "hat %(book_title)s zu deiner Liste \"%(list_name)s\" Hinzugefügt" -#: bookwyrm/templates/notifications.html:106 +#: bookwyrm/templates/notifications.html:123 #, python-format msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" msgstr "hat %(book_title)s für deine Liste \"%(list_name)s\" vorgeschlagen" -#: bookwyrm/templates/notifications.html:110 -#, python-format -msgid "Your import completed." +#: bookwyrm/templates/notifications.html:128 +#, fuzzy, python-format +#| msgid "Your import completed." +msgid "Your import completed." msgstr "Dein Import ist abgeschlossen." -#: bookwyrm/templates/notifications.html:113 +#: bookwyrm/templates/notifications.html:131 #, python-format msgid "A new report needs moderation." msgstr "Eine neue Meldung muss moderiert werden." -#: bookwyrm/templates/notifications.html:139 +#: bookwyrm/templates/notifications.html:157 msgid "You're all caught up!" msgstr "Du bist auf dem neusten Stand!" @@ -1759,7 +1771,7 @@ msgstr "Passwort zurücksetzen" #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/preferences_layout.html:23 +#: bookwyrm/templates/preferences/preferences_layout.html:26 msgid "Blocked Users" msgstr "Blockierte Nutzer*innen" @@ -1770,7 +1782,7 @@ msgstr "Momentan keine Nutzer*innen blockiert." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 #: bookwyrm/templates/preferences/change_password.html:21 -#: bookwyrm/templates/preferences/preferences_layout.html:17 +#: bookwyrm/templates/preferences/preferences_layout.html:19 msgid "Change Password" msgstr "Passwort ändern" @@ -1800,20 +1812,14 @@ msgstr "" msgid "Account" msgstr "" -#: bookwyrm/templates/preferences/preferences_layout.html:14 +#: bookwyrm/templates/preferences/preferences_layout.html:15 msgid "Profile" msgstr "Profil" -#: bookwyrm/templates/preferences/preferences_layout.html:20 +#: bookwyrm/templates/preferences/preferences_layout.html:22 msgid "Relationships" msgstr "Beziehungen" -#: bookwyrm/templates/search/book.html:30 -#, fuzzy -#| msgid "Show more" -msgid "Show" -msgstr "Mehr anzeigen" - #: bookwyrm/templates/search/book.html:64 #, fuzzy #| msgid "Show results from other catalogues" @@ -2353,13 +2359,13 @@ msgid "Progress:" msgstr "Fortschritt:" #: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:22 +#: bookwyrm/templates/snippets/readthrough_form.html:26 #: 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:23 +#: bookwyrm/templates/snippets/readthrough_form.html:27 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31 msgid "percent" msgstr "Prozent" @@ -2499,8 +2505,8 @@ msgid "Goal privacy:" msgstr "Sichtbarkeit des Ziels" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 +#: 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/want_to_read_modal.html:20 msgid "Post to feed" msgstr "Posten" @@ -2613,12 +2619,12 @@ msgstr "Diese Lesedaten löschen" msgid "Started reading" msgstr "Zu lesen angefangen" -#: bookwyrm/templates/snippets/readthrough_form.html:14 +#: bookwyrm/templates/snippets/readthrough_form.html:18 msgid "Progress" msgstr "Fortschritt" -#: bookwyrm/templates/snippets/readthrough_form.html:30 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 +#: bookwyrm/templates/snippets/readthrough_form.html:34 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 msgid "Finished reading" msgstr "Lesen abgeschlossen" @@ -3014,6 +3020,11 @@ msgstr "Dieser Benutzename ist bereits vergeben." msgid "A password reset link sent to %s" msgstr "" +#, fuzzy +#~| msgid "Show more" +#~ msgid "Show" +#~ msgstr "Mehr anzeigen" + #, fuzzy #~| msgid "All messages" #~ msgid "Messages" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 079301976..dac6e2539 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-03 11:22-0700\n" +"POT-Creation-Date: 2021-05-10 13:23-0700\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -135,11 +135,11 @@ msgstr "" msgid "Edit Author" msgstr "" -#: bookwyrm/templates/author.html:32 +#: bookwyrm/templates/author.html:31 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author.html:37 +#: bookwyrm/templates/author.html:36 #, python-format msgid "Books by %(name)s" msgstr "" @@ -189,32 +189,32 @@ msgid "Description:" msgstr "" #: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:241 +#: 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:42 +#: 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:34 +#: 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:242 +#: 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:43 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 msgid "Cancel" msgstr "" @@ -301,22 +301,22 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:235 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:231 +#: bookwyrm/templates/book/edit_book.html:239 msgid "ASIN:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:179 +#: bookwyrm/templates/book/edit_book.html:187 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:185 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Load cover from url:" msgstr "" @@ -420,58 +420,58 @@ msgstr "" msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:143 +#: bookwyrm/templates/book/edit_book.html:147 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:160 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit_book.html:158 +#: bookwyrm/templates/book/edit_book.html:166 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit_book.html:163 +#: bookwyrm/templates/book/edit_book.html:171 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:164 +#: bookwyrm/templates/book/edit_book.html:172 msgid "John Doe, Jane Smith" msgstr "" -#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/book/edit_book.html:178 #: bookwyrm/templates/user/shelf/shelf.html:76 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit_book.html:198 +#: bookwyrm/templates/book/edit_book.html:206 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit_book.html:199 +#: bookwyrm/templates/book/edit_book.html:207 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:215 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:222 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:223 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:219 +#: bookwyrm/templates/book/edit_book.html:227 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:231 #: bookwyrm/templates/edit_author.html:59 msgid "Openlibrary key:" msgstr "" @@ -535,7 +535,7 @@ msgstr "" #: bookwyrm/templates/feed/feed_layout.html:70 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 -#: bookwyrm/templates/search/book.html:39 +#: bookwyrm/templates/search/book.html:32 msgid "Close" msgstr "" @@ -1214,7 +1214,7 @@ msgstr "" #: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135 #: bookwyrm/templates/notifications.html:6 -#: bookwyrm/templates/notifications.html:10 +#: bookwyrm/templates/notifications.html:11 msgid "Notifications" msgstr "" @@ -1328,6 +1328,7 @@ msgstr "" #: bookwyrm/templates/lists/form.html:31 #: bookwyrm/templates/moderation/reports.html:25 +#: bookwyrm/templates/search/book.html:30 msgid "Open" msgstr "" @@ -1507,119 +1508,127 @@ msgstr "" msgid "No reports found." msgstr "" -#: bookwyrm/templates/notifications.html:14 +#: bookwyrm/templates/notifications.html:16 msgid "Delete notifications" msgstr "" -#: bookwyrm/templates/notifications.html:53 -#, python-format -msgid "favorited your review of %(book_title)s" +#: bookwyrm/templates/notifications.html:25 +msgid "All" msgstr "" -#: bookwyrm/templates/notifications.html:55 -#, python-format -msgid "favorited your comment on %(book_title)s" -msgstr "" - -#: bookwyrm/templates/notifications.html:57 -#, python-format -msgid "favorited your quote from %(book_title)s" -msgstr "" - -#: bookwyrm/templates/notifications.html:59 -#, python-format -msgid "favorited your status" -msgstr "" - -#: bookwyrm/templates/notifications.html:64 -#, python-format -msgid "mentioned you in a review of %(book_title)s" -msgstr "" - -#: bookwyrm/templates/notifications.html:66 -#, python-format -msgid "mentioned you in a comment on %(book_title)s" -msgstr "" - -#: bookwyrm/templates/notifications.html:68 -#, python-format -msgid "mentioned you in a quote from %(book_title)s" +#: bookwyrm/templates/notifications.html:29 +msgid "Mentions" msgstr "" #: bookwyrm/templates/notifications.html:70 #, python-format -msgid "mentioned you in a status" +msgid "favorited your review of %(book_title)s" msgstr "" -#: bookwyrm/templates/notifications.html:75 +#: bookwyrm/templates/notifications.html:72 #, python-format -msgid "replied to your review of %(book_title)s" +msgid "favorited your comment on %(book_title)s" msgstr "" -#: bookwyrm/templates/notifications.html:77 +#: bookwyrm/templates/notifications.html:74 #, python-format -msgid "replied to your comment on %(book_title)s" +msgid "favorited your quote from %(book_title)s" msgstr "" -#: bookwyrm/templates/notifications.html:79 +#: bookwyrm/templates/notifications.html:76 #, python-format -msgid "replied to your quote from %(book_title)s" +msgid "favorited your status" msgstr "" #: bookwyrm/templates/notifications.html:81 #, python-format -msgid "replied to your status" +msgid "mentioned you in a review of %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:83 +#, python-format +msgid "mentioned you in a comment on %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:85 -msgid "followed you" +#, python-format +msgid "mentioned you in a quote from %(book_title)s" msgstr "" -#: bookwyrm/templates/notifications.html:88 -msgid "sent you a follow request" +#: bookwyrm/templates/notifications.html:87 +#, python-format +msgid "mentioned you in a status" +msgstr "" + +#: bookwyrm/templates/notifications.html:92 +#, python-format +msgid "replied to your review of %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:94 #, python-format -msgid "boosted your review of %(book_title)s" +msgid "replied to your comment on %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:96 #, python-format -msgid "boosted your comment on%(book_title)s" +msgid "replied to your quote from %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:98 #, python-format -msgid "boosted your quote from %(book_title)s" +msgid "replied to your status" msgstr "" -#: bookwyrm/templates/notifications.html:100 -#, python-format -msgid "boosted your status" +#: bookwyrm/templates/notifications.html:102 +msgid "followed you" msgstr "" -#: bookwyrm/templates/notifications.html:104 -#, python-format -msgid " added %(book_title)s to your list \"%(list_name)s\"" +#: bookwyrm/templates/notifications.html:105 +msgid "sent you a follow request" msgstr "" -#: bookwyrm/templates/notifications.html:106 +#: bookwyrm/templates/notifications.html:111 #, python-format -msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" -msgstr "" - -#: bookwyrm/templates/notifications.html:110 -#, python-format -msgid "Your import completed." +msgid "boosted your review of %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:113 #, python-format +msgid "boosted your comment on%(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:115 +#, python-format +msgid "boosted your quote from %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:117 +#, python-format +msgid "boosted your status" +msgstr "" + +#: bookwyrm/templates/notifications.html:121 +#, python-format +msgid " added %(book_title)s to your list \"%(list_name)s\"" +msgstr "" + +#: bookwyrm/templates/notifications.html:123 +#, python-format +msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" +msgstr "" + +#: bookwyrm/templates/notifications.html:128 +#, python-format +msgid "Your import completed." +msgstr "" + +#: bookwyrm/templates/notifications.html:131 +#, python-format msgid "A new report needs moderation." msgstr "" -#: bookwyrm/templates/notifications.html:139 +#: bookwyrm/templates/notifications.html:157 msgid "You're all caught up!" msgstr "" @@ -1638,7 +1647,7 @@ msgstr "" #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/preferences_layout.html:23 +#: bookwyrm/templates/preferences/preferences_layout.html:26 msgid "Blocked Users" msgstr "" @@ -1649,7 +1658,7 @@ msgstr "" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 #: bookwyrm/templates/preferences/change_password.html:21 -#: bookwyrm/templates/preferences/preferences_layout.html:17 +#: bookwyrm/templates/preferences/preferences_layout.html:19 msgid "Change Password" msgstr "" @@ -1679,18 +1688,14 @@ msgstr "" msgid "Account" msgstr "" -#: bookwyrm/templates/preferences/preferences_layout.html:14 +#: bookwyrm/templates/preferences/preferences_layout.html:15 msgid "Profile" msgstr "" -#: bookwyrm/templates/preferences/preferences_layout.html:20 +#: bookwyrm/templates/preferences/preferences_layout.html:22 msgid "Relationships" msgstr "" -#: bookwyrm/templates/search/book.html:30 -msgid "Show" -msgstr "" - #: bookwyrm/templates/search/book.html:64 msgid "Load results from other catalogues" msgstr "" @@ -2159,13 +2164,13 @@ msgid "Progress:" msgstr "" #: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:22 +#: bookwyrm/templates/snippets/readthrough_form.html:26 #: 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:23 +#: bookwyrm/templates/snippets/readthrough_form.html:27 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31 msgid "percent" msgstr "" @@ -2296,8 +2301,8 @@ msgid "Goal privacy:" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 +#: 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/want_to_read_modal.html:20 msgid "Post to feed" msgstr "" @@ -2408,12 +2413,12 @@ msgstr "" msgid "Started reading" msgstr "" -#: bookwyrm/templates/snippets/readthrough_form.html:14 +#: bookwyrm/templates/snippets/readthrough_form.html:18 msgid "Progress" msgstr "" -#: bookwyrm/templates/snippets/readthrough_form.html:30 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 +#: bookwyrm/templates/snippets/readthrough_form.html:34 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 msgid "Finished reading" msgstr "" diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo index 1fb1ae530173b3a63652ee8d1e2face2a044ffc5..a814aa0f567a3f3018e2f7eda9ea4d8cc7b331f6 100644 GIT binary patch delta 13595 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 O_<{5vd27 diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 899ff19fe..864c9dbb7 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-03 11:22-0700\n" +"POT-Creation-Date: 2021-05-10 13:23-0700\n" "PO-Revision-Date: 2021-03-19 11:49+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -135,11 +135,11 @@ msgstr "¡Algo salió mal! Disculpa." msgid "Edit Author" msgstr "Editar Autor/Autora" -#: bookwyrm/templates/author.html:32 +#: bookwyrm/templates/author.html:31 msgid "Wikipedia" msgstr "Wikipedia" -#: bookwyrm/templates/author.html:37 +#: bookwyrm/templates/author.html:36 #, python-format msgid "Books by %(name)s" msgstr "Libros de %(name)s" @@ -191,32 +191,32 @@ msgid "Description:" msgstr "Descripción:" #: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:241 +#: 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:42 +#: 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:34 +#: 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:242 +#: 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:43 +#: 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:35 +#: 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" @@ -311,22 +311,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:235 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:231 +#: bookwyrm/templates/book/edit_book.html:239 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:179 +#: bookwyrm/templates/book/edit_book.html:187 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:185 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Load cover from url:" msgstr "Agregar portada de url:" @@ -430,58 +430,58 @@ msgstr "Separar varios editores con comas." msgid "First published date:" msgstr "Fecha de primera publicación:" -#: bookwyrm/templates/book/edit_book.html:143 +#: bookwyrm/templates/book/edit_book.html:147 msgid "Published date:" msgstr "Fecha de publicación:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:160 msgid "Authors" msgstr "Autores" -#: bookwyrm/templates/book/edit_book.html:158 +#: bookwyrm/templates/book/edit_book.html:166 #, python-format msgid "Remove %(name)s" msgstr "Eliminar %(name)s" -#: bookwyrm/templates/book/edit_book.html:163 +#: bookwyrm/templates/book/edit_book.html:171 msgid "Add Authors:" msgstr "Agregar Autores:" -#: bookwyrm/templates/book/edit_book.html:164 +#: bookwyrm/templates/book/edit_book.html:172 msgid "John Doe, Jane Smith" msgstr "Juan Nadie, Natalia Natalia" -#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/book/edit_book.html:178 #: bookwyrm/templates/user/shelf/shelf.html:76 msgid "Cover" msgstr "Portada:" -#: bookwyrm/templates/book/edit_book.html:198 +#: bookwyrm/templates/book/edit_book.html:206 msgid "Physical Properties" msgstr "Propiedades físicas:" -#: bookwyrm/templates/book/edit_book.html:199 +#: bookwyrm/templates/book/edit_book.html:207 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:215 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:222 msgid "Book Identifiers" msgstr "Identificadores de libro" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:223 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:219 +#: bookwyrm/templates/book/edit_book.html:227 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:231 #: bookwyrm/templates/edit_author.html:59 msgid "Openlibrary key:" msgstr "Clave OpenLibrary:" @@ -545,7 +545,7 @@ msgstr "Publicado por %(publisher)s." #: bookwyrm/templates/feed/feed_layout.html:70 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 -#: bookwyrm/templates/search/book.html:39 +#: bookwyrm/templates/search/book.html:32 msgid "Close" msgstr "Cerrar" @@ -1224,7 +1224,7 @@ msgstr "Cerrar sesión" #: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135 #: bookwyrm/templates/notifications.html:6 -#: bookwyrm/templates/notifications.html:10 +#: bookwyrm/templates/notifications.html:11 msgid "Notifications" msgstr "Notificaciones" @@ -1340,6 +1340,7 @@ msgstr "Cualquier usuario puede sugerir libros, en cuanto lo hayas aprobado" #: bookwyrm/templates/lists/form.html:31 #: bookwyrm/templates/moderation/reports.html:25 +#: bookwyrm/templates/search/book.html:30 msgid "Open" msgstr "Abierto" @@ -1521,119 +1522,130 @@ msgstr "Resuelto" msgid "No reports found." msgstr "No se encontró ningún informe." -#: bookwyrm/templates/notifications.html:14 +#: bookwyrm/templates/notifications.html:16 msgid "Delete notifications" msgstr "Borrar notificaciones" -#: bookwyrm/templates/notifications.html:53 +#: bookwyrm/templates/notifications.html:25 +msgid "All" +msgstr "" + +#: bookwyrm/templates/notifications.html:29 +#, fuzzy +#| msgid "More options" +msgid "Mentions" +msgstr "Más opciones" + +#: bookwyrm/templates/notifications.html:70 #, python-format msgid "favorited your review of %(book_title)s" msgstr "le gustó tu reseña de %(book_title)s" -#: bookwyrm/templates/notifications.html:55 +#: bookwyrm/templates/notifications.html:72 #, python-format msgid "favorited your comment on %(book_title)s" msgstr "le gustó tu comentario en %(book_title)s" -#: bookwyrm/templates/notifications.html:57 +#: bookwyrm/templates/notifications.html:74 #, python-format msgid "favorited your quote from %(book_title)s" msgstr "le gustó tu cita de %(book_title)s" -#: bookwyrm/templates/notifications.html:59 +#: bookwyrm/templates/notifications.html:76 #, python-format msgid "favorited your status" msgstr "le gustó tu status" -#: bookwyrm/templates/notifications.html:64 +#: bookwyrm/templates/notifications.html:81 #, python-format msgid "mentioned you in a review of %(book_title)s" msgstr "te mencionó en una reseña de %(book_title)s" -#: bookwyrm/templates/notifications.html:66 +#: bookwyrm/templates/notifications.html:83 #, python-format msgid "mentioned you in a comment on %(book_title)s" msgstr "te mencionó en un comentario de %(book_title)s" -#: bookwyrm/templates/notifications.html:68 +#: bookwyrm/templates/notifications.html:85 #, python-format msgid "mentioned you in a quote from %(book_title)s" msgstr "te mencionó en una cita de %(book_title)s" -#: bookwyrm/templates/notifications.html:70 +#: bookwyrm/templates/notifications.html:87 #, python-format msgid "mentioned you in a status" msgstr "te mencionó en un status" -#: bookwyrm/templates/notifications.html:75 +#: bookwyrm/templates/notifications.html:92 #, python-format msgid "replied to your review of %(book_title)s" msgstr "respondió a tu reseña de %(book_title)s" -#: bookwyrm/templates/notifications.html:77 +#: bookwyrm/templates/notifications.html:94 #, python-format msgid "replied to your comment on %(book_title)s" msgstr "respondió a tu comentario en %(book_title)s" -#: bookwyrm/templates/notifications.html:79 +#: bookwyrm/templates/notifications.html:96 #, python-format msgid "replied to your quote from %(book_title)s" msgstr "respondió a tu cita de %(book_title)s" -#: bookwyrm/templates/notifications.html:81 +#: bookwyrm/templates/notifications.html:98 #, python-format msgid "replied to your status" msgstr "respondió a tu status" -#: bookwyrm/templates/notifications.html:85 +#: bookwyrm/templates/notifications.html:102 msgid "followed you" msgstr "te siguió" -#: bookwyrm/templates/notifications.html:88 +#: bookwyrm/templates/notifications.html:105 msgid "sent you a follow request" msgstr "te quiere seguir" -#: bookwyrm/templates/notifications.html:94 +#: bookwyrm/templates/notifications.html:111 #, python-format msgid "boosted your review of %(book_title)s" msgstr "respaldó tu reseña de %(book_title)s" -#: bookwyrm/templates/notifications.html:96 +#: bookwyrm/templates/notifications.html:113 #, python-format msgid "boosted your comment on%(book_title)s" msgstr "respaldó tu comentario en%(book_title)s" -#: bookwyrm/templates/notifications.html:98 +#: bookwyrm/templates/notifications.html:115 #, python-format msgid "boosted your quote from %(book_title)s" msgstr "respaldó tucita de %(book_title)s" -#: bookwyrm/templates/notifications.html:100 +#: bookwyrm/templates/notifications.html:117 #, python-format msgid "boosted your status" msgstr "respaldó tu status" -#: bookwyrm/templates/notifications.html:104 +#: bookwyrm/templates/notifications.html:121 #, python-format msgid " added %(book_title)s to your list \"%(list_name)s\"" msgstr " agregó %(book_title)s a tu lista \"%(list_name)s\"" -#: bookwyrm/templates/notifications.html:106 +#: bookwyrm/templates/notifications.html:123 #, python-format msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" msgstr " sugirió agregar %(book_title)s a tu lista \"%(list_name)s\"" -#: bookwyrm/templates/notifications.html:110 -#, python-format -msgid "Your import completed." +#: bookwyrm/templates/notifications.html:128 +#, fuzzy, python-format +#| msgid "Your import completed." +msgid "Your import completed." msgstr "Tu importación ha terminado." -#: bookwyrm/templates/notifications.html:113 +#: bookwyrm/templates/notifications.html:131 #, python-format msgid "A new report needs moderation." msgstr "Un informe nuevo se requiere moderación." -#: bookwyrm/templates/notifications.html:139 +#: bookwyrm/templates/notifications.html:157 msgid "You're all caught up!" msgstr "¡Estás al día!" @@ -1652,7 +1664,7 @@ msgstr "Restablecer contraseña" #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/preferences_layout.html:23 +#: bookwyrm/templates/preferences/preferences_layout.html:26 msgid "Blocked Users" msgstr "Usuarios bloqueados" @@ -1663,7 +1675,7 @@ msgstr "No hay ningún usuario bloqueado actualmente." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 #: bookwyrm/templates/preferences/change_password.html:21 -#: bookwyrm/templates/preferences/preferences_layout.html:17 +#: bookwyrm/templates/preferences/preferences_layout.html:19 msgid "Change Password" msgstr "Cambiar contraseña" @@ -1693,20 +1705,14 @@ msgstr "Huso horario preferido" msgid "Account" msgstr "Cuenta" -#: bookwyrm/templates/preferences/preferences_layout.html:14 +#: bookwyrm/templates/preferences/preferences_layout.html:15 msgid "Profile" msgstr "Perfil" -#: bookwyrm/templates/preferences/preferences_layout.html:20 +#: bookwyrm/templates/preferences/preferences_layout.html:22 msgid "Relationships" msgstr "Relaciones" -#: bookwyrm/templates/search/book.html:30 -#, fuzzy -#| msgid "Show more" -msgid "Show" -msgstr "Mostrar más" - #: bookwyrm/templates/search/book.html:64 #, fuzzy #| msgid "Show results from other catalogues" @@ -2188,13 +2194,13 @@ msgid "Progress:" msgstr "Progreso:" #: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:22 +#: bookwyrm/templates/snippets/readthrough_form.html:26 #: 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:23 +#: bookwyrm/templates/snippets/readthrough_form.html:27 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31 msgid "percent" msgstr "por ciento" @@ -2327,8 +2333,8 @@ msgid "Goal privacy:" msgstr "Privacidad de meta:" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 +#: 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/want_to_read_modal.html:20 msgid "Post to feed" msgstr "Compartir con tu feed" @@ -2440,12 +2446,12 @@ msgstr "Eliminar estas fechas de lectura" msgid "Started reading" msgstr "Lectura se empezó" -#: bookwyrm/templates/snippets/readthrough_form.html:14 +#: bookwyrm/templates/snippets/readthrough_form.html:18 msgid "Progress" msgstr "Progreso" -#: bookwyrm/templates/snippets/readthrough_form.html:30 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 +#: bookwyrm/templates/snippets/readthrough_form.html:34 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 msgid "Finished reading" msgstr "Lectura se terminó" @@ -2808,6 +2814,11 @@ msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónic msgid "A password reset link sent to %s" msgstr "Un enlace para reestablecer tu contraseña se enviará a %s" +#, fuzzy +#~| msgid "Show more" +#~ msgid "Show" +#~ msgstr "Mostrar más" + #, python-format #~ msgid "ambiguous option: %(option)s could match %(matches)s" #~ msgstr "opción ambiguo: %(option)s pudiera coincidir con %(matches)s" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index b88e6e3e553d7ff3d88570f27eff191e6a57ad71..a822eea4aef7397e08897d9ac41908c8d5b8d58d 100644 GIT binary patch delta 11811 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 delta 12399 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 pm94P2QJ@Lw&PJ}dwL diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 23d81e957..cb6c74d17 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-03 11:22-0700\n" +"POT-Creation-Date: 2021-05-10 13:23-0700\n" "PO-Revision-Date: 2021-04-05 12:44+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -141,11 +141,11 @@ msgstr "Une erreur s’est produite ; désolé !" msgid "Edit Author" msgstr "Modifier l’auteur ou autrice" -#: bookwyrm/templates/author.html:32 +#: bookwyrm/templates/author.html:31 msgid "Wikipedia" msgstr "Wikipedia" -#: bookwyrm/templates/author.html:37 +#: bookwyrm/templates/author.html:36 #, python-format msgid "Books by %(name)s" msgstr "Livres par %(name)s" @@ -197,32 +197,32 @@ msgid "Description:" msgstr "Description :" #: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:241 +#: 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:42 +#: 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:34 +#: 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:242 +#: 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:43 +#: 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:35 +#: 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" @@ -317,22 +317,22 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:235 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:231 +#: bookwyrm/templates/book/edit_book.html:239 msgid "ASIN:" msgstr "ASIN :" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:179 +#: bookwyrm/templates/book/edit_book.html:187 msgid "Upload cover:" msgstr "Charger une couverture :" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:185 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Load cover from url:" msgstr "Charger la couverture depuis une URL :" @@ -436,58 +436,58 @@ msgstr "Séparez plusieurs éditeurs par une virgule." msgid "First published date:" msgstr "Première date de publication :" -#: bookwyrm/templates/book/edit_book.html:143 +#: bookwyrm/templates/book/edit_book.html:147 msgid "Published date:" msgstr "Date de publication :" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:160 msgid "Authors" msgstr "Auteurs ou autrices" -#: bookwyrm/templates/book/edit_book.html:158 +#: bookwyrm/templates/book/edit_book.html:166 #, python-format msgid "Remove %(name)s" msgstr "Supprimer %(name)s" -#: bookwyrm/templates/book/edit_book.html:163 +#: bookwyrm/templates/book/edit_book.html:171 msgid "Add Authors:" msgstr "Ajouter des auteurs ou autrices :" -#: bookwyrm/templates/book/edit_book.html:164 +#: bookwyrm/templates/book/edit_book.html:172 msgid "John Doe, Jane Smith" msgstr "Claude Dupont, Dominique Durand" -#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/book/edit_book.html:178 #: bookwyrm/templates/user/shelf/shelf.html:76 msgid "Cover" msgstr "Couverture" -#: bookwyrm/templates/book/edit_book.html:198 +#: bookwyrm/templates/book/edit_book.html:206 msgid "Physical Properties" msgstr "Propriétés physiques" -#: bookwyrm/templates/book/edit_book.html:199 +#: bookwyrm/templates/book/edit_book.html:207 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "Format :" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:215 msgid "Pages:" msgstr "Pages :" -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:222 msgid "Book Identifiers" msgstr "Identifiants du livre" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:223 msgid "ISBN 13:" msgstr "ISBN 13 :" -#: bookwyrm/templates/book/edit_book.html:219 +#: bookwyrm/templates/book/edit_book.html:227 msgid "ISBN 10:" msgstr "ISBN 10 :" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:231 #: bookwyrm/templates/edit_author.html:59 msgid "Openlibrary key:" msgstr "Clé Openlibrary :" @@ -551,7 +551,7 @@ msgstr "Publié par %(publisher)s." #: bookwyrm/templates/feed/feed_layout.html:70 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 -#: bookwyrm/templates/search/book.html:39 +#: bookwyrm/templates/search/book.html:32 msgid "Close" msgstr "Fermer" @@ -1230,7 +1230,7 @@ msgstr "Se déconnecter" #: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135 #: bookwyrm/templates/notifications.html:6 -#: bookwyrm/templates/notifications.html:10 +#: bookwyrm/templates/notifications.html:11 msgid "Notifications" msgstr "Notifications" @@ -1346,6 +1346,7 @@ msgstr "N’importe qui peut suggérer des livres, soumis à votre approbation" #: bookwyrm/templates/lists/form.html:31 #: bookwyrm/templates/moderation/reports.html:25 +#: bookwyrm/templates/search/book.html:30 msgid "Open" msgstr "Ouverte" @@ -1537,119 +1538,130 @@ msgstr "Résolus" msgid "No reports found." msgstr "Aucun signalement trouvé." -#: bookwyrm/templates/notifications.html:14 +#: bookwyrm/templates/notifications.html:16 msgid "Delete notifications" msgstr "Supprimer les notifications" -#: bookwyrm/templates/notifications.html:53 +#: bookwyrm/templates/notifications.html:25 +msgid "All" +msgstr "" + +#: bookwyrm/templates/notifications.html:29 +#, fuzzy +#| msgid "More options" +msgid "Mentions" +msgstr "Plus d’options" + +#: bookwyrm/templates/notifications.html:70 #, python-format msgid "favorited your review of %(book_title)s" msgstr "a ajouté votre critique de %(book_title)s à ses favoris" -#: bookwyrm/templates/notifications.html:55 +#: bookwyrm/templates/notifications.html:72 #, python-format msgid "favorited your comment on %(book_title)s" msgstr "a ajouté votre commentaire sur %(book_title)s à ses favoris" -#: bookwyrm/templates/notifications.html:57 +#: bookwyrm/templates/notifications.html:74 #, python-format msgid "favorited your quote from %(book_title)s" msgstr "a ajouté votre citation de %(book_title)s à ses favoris" -#: bookwyrm/templates/notifications.html:59 +#: bookwyrm/templates/notifications.html:76 #, python-format msgid "favorited your status" msgstr "a ajouté votre statut à ses favoris" -#: bookwyrm/templates/notifications.html:64 +#: bookwyrm/templates/notifications.html:81 #, python-format msgid "mentioned you in a review of %(book_title)s" msgstr "vous a mentionné dans sa critique de %(book_title)s" -#: bookwyrm/templates/notifications.html:66 +#: bookwyrm/templates/notifications.html:83 #, python-format msgid "mentioned you in a comment on %(book_title)s" msgstr "vous a mentionné dans son commentaire sur %(book_title)s" -#: bookwyrm/templates/notifications.html:68 +#: bookwyrm/templates/notifications.html:85 #, python-format msgid "mentioned you in a quote from %(book_title)s" msgstr "vous a mentionné dans sa citation de %(book_title)s" -#: bookwyrm/templates/notifications.html:70 +#: bookwyrm/templates/notifications.html:87 #, python-format msgid "mentioned you in a status" msgstr "vous a mentionné dans son statut" -#: bookwyrm/templates/notifications.html:75 +#: bookwyrm/templates/notifications.html:92 #, python-format msgid "replied to your review of %(book_title)s" msgstr "a répondu à votre critique de %(book_title)s" -#: bookwyrm/templates/notifications.html:77 +#: bookwyrm/templates/notifications.html:94 #, python-format msgid "replied to your comment on %(book_title)s" msgstr "a répondu à votre commentaire sur %(book_title)s" -#: bookwyrm/templates/notifications.html:79 +#: bookwyrm/templates/notifications.html:96 #, python-format msgid "replied to your quote from %(book_title)s" msgstr "a répondu à votre citation de %(book_title)s" -#: bookwyrm/templates/notifications.html:81 +#: bookwyrm/templates/notifications.html:98 #, python-format msgid "replied to your status" msgstr "a répondu à votre statut" -#: bookwyrm/templates/notifications.html:85 +#: bookwyrm/templates/notifications.html:102 msgid "followed you" msgstr "s’est abonné(e)" -#: bookwyrm/templates/notifications.html:88 +#: bookwyrm/templates/notifications.html:105 msgid "sent you a follow request" msgstr "vous a envoyé une demande d’abonnement" -#: bookwyrm/templates/notifications.html:94 +#: bookwyrm/templates/notifications.html:111 #, python-format msgid "boosted your review of %(book_title)s" msgstr "a partagé votre critique de %(book_title)s" -#: bookwyrm/templates/notifications.html:96 +#: bookwyrm/templates/notifications.html:113 #, python-format msgid "boosted your comment on%(book_title)s" msgstr "a partagé votre commentaire sur %(book_title)s" -#: bookwyrm/templates/notifications.html:98 +#: bookwyrm/templates/notifications.html:115 #, python-format msgid "boosted your quote from %(book_title)s" msgstr "a partagé votre citation de %(book_title)s" -#: bookwyrm/templates/notifications.html:100 +#: bookwyrm/templates/notifications.html:117 #, python-format msgid "boosted your status" msgstr "a partagé votre statut" -#: bookwyrm/templates/notifications.html:104 +#: bookwyrm/templates/notifications.html:121 #, python-format msgid " added %(book_title)s to your list \"%(list_name)s\"" msgstr " a ajouté %(book_title)s à votre liste « %(list_name)s »" -#: bookwyrm/templates/notifications.html:106 +#: bookwyrm/templates/notifications.html:123 #, python-format msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" msgstr " a suggégré l’ajout de %(book_title)s à votre liste « %(list_name)s »" -#: bookwyrm/templates/notifications.html:110 -#, python-format -msgid "Your import completed." +#: bookwyrm/templates/notifications.html:128 +#, fuzzy, python-format +#| msgid "Your import completed." +msgid "Your import completed." msgstr "Votre importation est terminée." -#: bookwyrm/templates/notifications.html:113 +#: bookwyrm/templates/notifications.html:131 #, python-format msgid "A new report needs moderation." msgstr "Un nouveau signalement a besoin d’être traité." -#: bookwyrm/templates/notifications.html:139 +#: bookwyrm/templates/notifications.html:157 msgid "You're all caught up!" msgstr "Aucune nouvelle notification !" @@ -1668,7 +1680,7 @@ msgstr "Changer de mot de passe" #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/preferences_layout.html:23 +#: bookwyrm/templates/preferences/preferences_layout.html:26 msgid "Blocked Users" msgstr "Comptes bloqués" @@ -1679,7 +1691,7 @@ msgstr "Aucun compte bloqué actuellement" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 #: bookwyrm/templates/preferences/change_password.html:21 -#: bookwyrm/templates/preferences/preferences_layout.html:17 +#: bookwyrm/templates/preferences/preferences_layout.html:19 msgid "Change Password" msgstr "Changer le mot de passe" @@ -1709,20 +1721,14 @@ msgstr "Fuseau horaire préféré" msgid "Account" msgstr "Compte" -#: bookwyrm/templates/preferences/preferences_layout.html:14 +#: bookwyrm/templates/preferences/preferences_layout.html:15 msgid "Profile" msgstr "Profil" -#: bookwyrm/templates/preferences/preferences_layout.html:20 +#: bookwyrm/templates/preferences/preferences_layout.html:22 msgid "Relationships" msgstr "Relations" -#: bookwyrm/templates/search/book.html:30 -#, fuzzy -#| msgid "Show more" -msgid "Show" -msgstr "Déplier" - #: bookwyrm/templates/search/book.html:64 #, fuzzy #| msgid "Show results from other catalogues" @@ -2218,13 +2224,13 @@ msgid "Progress:" msgstr "Progression :" #: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:22 +#: bookwyrm/templates/snippets/readthrough_form.html:26 #: 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:23 +#: bookwyrm/templates/snippets/readthrough_form.html:27 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31 msgid "percent" msgstr "pourcent" @@ -2357,8 +2363,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:37 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 +#: 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/want_to_read_modal.html:20 msgid "Post to feed" msgstr "Publier sur le fil d’actualité" @@ -2469,12 +2475,12 @@ msgstr "Supprimer ces dates de lecture" msgid "Started reading" msgstr "Lecture commencée le" -#: bookwyrm/templates/snippets/readthrough_form.html:14 +#: bookwyrm/templates/snippets/readthrough_form.html:18 msgid "Progress" msgstr "Progression" -#: bookwyrm/templates/snippets/readthrough_form.html:30 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 +#: bookwyrm/templates/snippets/readthrough_form.html:34 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 msgid "Finished reading" msgstr "Lecture terminée le" @@ -2843,6 +2849,11 @@ msgstr "Aucun compte avec cette adresse email n’a été trouvé." msgid "A password reset link sent to %s" msgstr "Un lien de réinitialisation a été envoyé à %s." +#, fuzzy +#~| msgid "Show more" +#~ msgid "Show" +#~ msgstr "Déplier" + #, fuzzy #~| msgid "All messages" #~ msgid "Messages" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 765ee77f337dbac59fdba575943504652b01f890..fa845263a2bff33a706da53f66617e5933d7f0bd 100644 GIT binary patch delta 11745 zcmZA737C%6|HturEMtZl#xTQ}$!@G;A7dZcx3LaJ_Oh=b*1_#q9`9ieEK$z$ z@?ceL?s-116@}-hScb{C3u7^iyHuZmxv?D<#{Q_a%|T7P1*7l)R>ljc336BPyrNhJ zD`IOLf>X?Ya4_?GJ!x%A!wDRX#Vfg$zlYk%MU2M>SP;uIOG#{vTId+ejPGGCT#Gqz zHwNN27=))V3!b<7E6SPQyI~b~P#qs(M$F8tAsCFRkHlasfH|hq&leHhK!uhM?X(}?|1s~%M7NQR+SJOQ8J_bwD#4gi9ba3+kxu0 z4>jR2)P{aWJ+iB)lf7;A4^i`FtmcgHQP9g&9CbvkQ4{n;P0$~;fLBmESAQ*Z7HXiy zR=?irx1&yMKUT-nSQf)c3gGjo1@=JQ@9Re)D}^zrfu~uXhB~U{sEIeB7P1qyu!EQz zzd_x1(b{ie9`eVS7b9!9?}c)xe$7w|NI_1{=XIyRsdz7=j%uBCNOv8)U8sowwmt#yk=pu463~fYNPcmZ-F`V`R`;6127*QhNBiVAN42>p-$pB>KR`^ z?ckPq-}Gv^enF^{$%A?a%AhtDk2>;1^gn9MrO$s)3VLftqEViGpgoJRfQSrBLHkw!9wtKmSP-G*D;M&W54}9F3ZABI>1@ zY4yudN4XmHXttsT-iy!SQPhNgpf+>|wZRODu74KPxDkn*zY6)O&`}r1#u$fMz;M*d zG|uuj%%!M-SE7FbsCQv6YUhVgCvgs=@H%Rqz&g$xsP?>dd~W9@sL(*QQ9Egl8mJTM zWCo#bn2b81G}JfQ5-g5;P|y4_YNroS<2^x59QwSwKN35U$D&SXl8=H`KHEAh#unsj zu>jsfEhtZ2x1d;5|Ej2o>Z975piVFa^{Bd{7BtlAr=$AKLEXO;b;7>26ttr)r~y8< z4tp&B8a2={H|qXT7=v?B_iu3eyd4yD6bDcX zIEFg9Q>YzYL_LbDr~x0KCJe35dxJ3;hc!?O=!fb*6gBP?%jcT!qE6sL%&pJ=UJ9kC zIDygl7&UOd25x|As1vG(T39pG4mw(WZ`4GCQ41J}WpN^A#;uqMx1+uhccDJMCozcm zy~`BzEdE3dbO-$}4{9f&4c#*>fa+HXHBfcbz->_rN-=w(|JkD!G#zzf^H4AGJ6H_2 zpietHMM3_Ay5TZv;y+Of@*25`v!WhBPArN=Q76^}HE=J~_d+UW#t9gR(@^8iK`nR@ zF2E&?IDd60+t@829<|b1sE*B1J8O+Pk*<~xMD-hmns|oQFGhXdSEKsxGmoO?Ig7FQ zE9!)Tn{fVGY5pdzLs2Y3UK-V*C6>dUs1sR;S@3-f!p*2h@i7+1Z_o}N%2w8K;2PqWk1wPQ*kbi#WI+!nY*DX>SXGmKIaWk{X3#gq&w>69fDf$ zT-1rYYxyUbmHY_me&1;d*(m&h8u%WT#7C$BW1HKfK|P9EsQyiH5Vl8c;0yC8YG>c0 z-tzMpf;Uko^2iKK^1p;WFU%FZDySPfqh7L}7>XlM3z>?VXd!B#WvC-xgQf8pYQl%8 zorkn= zPGBgWMfJOen)q+jNn~v4#tXxa`us;x&<(>dJ5Iz%oQFEOB>E#JMTq>CLV^$$D?kTjT-PR)Wj<- z--ue^cGLoQV=>&1>UYij3v-e`M4fDCTlc79Pz$fvmh)GKhE&923Tk2>YK5~=AD@M& zXS^A;z%Nh>`wq3kbI56X*D)SzC3DO;47=i|SP=`fb1z>T98EsdMPeRr4b$Zy@riZ6E;IFD8*cdyno&Utc*=xa7XV$^`C(y@D0>Uycg@>A>=T;Z2SyD ze*aV8)VzI8dP{d6CNEL6<3ibbd+Uxr%HcGTy1KdRpu)IxqiO>h&n)4QmJ z2KICH`B3$RP;Y+)9EY>5K5Kv1&zFyaCMblOFu@w?Tiy&cP>SV!tvwZksUK_g(@+ab zv-TCJ1+TSytNAhNg!dx-ecrbe^o!*JY9WtNJIg)58I4+4VY8fB(`;h4H(x@X;LE6& z_BGUB#m`Wmid(4hBL+&Ie+&h!yog!BOvDiClPrJ1^1i46QY{~AzGf~$Enp>TW4qD+ zRg5~3+o=2hmHPbaca&C`1=Uc+tc4-u^)VD%Tiy-xkPozc3Wk!;xBMM*qq!4x8T z#_}uZQ^UX35Hi?(Geu!F>f=!h8iJuX9JQb+sF!WNwXa6)Y@@YrLyh|x2H{E6I6qna zCDc20PyhW@17;cGI^;&>(UzCMg5>3_zLnVpb5P$OwXo5s31*<~e;u{JrRG-D%ld`2 ze`B5VDq=>+qdbTsHqQpP&W|8R~AxhZ>+b#$s8F!*-|>m~8C}P&LCepe7IFo(z#Eo7MEw!U@T&W(nFrOcENVgV zs0B6f*Yo__Sci^gchrD=Q13!2>c(+c3+JE)IE?zU{DZaM#BlN_sG|-~b@#=fz7NWv zz7HCp?(Zq}`G3VK#-k>jg;_BTwesbtfmfS5%)_Xc?L3yifZ=Z7QmFn3mN&J$gW2Ee z$DvOvn@OQKu0;KHI*c0l25Ki^Bb@nA3o2@PY0Kj+uW5NhtVF*gtDk7~vrxZ$7N8#W z<`MS!-$#XZe#AV9+QB*0QQb5jp%xH4(*38}FjQU|)vqE(U?OUQcGlk8+6SQ??P%0O zW{l+gHNYzCumP3tu#Wps3p;A{r!W`!InK3GrZol z`@CbW;GMA!7g0O8g^lqZmccq>-GqZs?Ww38jJ13oYT`FB8dq8VDe9d#YWYRc#b zeg4Z+&^O(Sr~zhJhu6)er~%el`%ct?KE>krm3a%bkh}~ki(x*jh}uXJYMf435C@=7 z9cNRJZ&`=;Q486QnrM&Z2h1a=xBLX^#LlAzzH06FQR6+a_K*p#JrY$PiyF7m1U~fPvV z`J_p#Fp-KSRH)-w)J|@rCJdPDRvLuL!%z##V-`g%w1VaJQ76*c>}2)5%%P~0^P$F@ zse*Ps-+Tu(!6wwepICkrHSmw90WP5ixQRN-yBLd)EiX33jT47a)K^E1myFtIAB;rb zI0|_wEJO{k3AKQes0n_-=kO}(#=xm=pcquYa;T4CO>B#;uo|wy6g-bZFkzZ|G;2`v zokHq;-k(;{b-FwH5m4CBcUp!z*TolNH0?!>}T zc?qn8@u-s-E}7puW)&soxTBkhxvAfU`YU!EOX4r61!bG-3`b2EWqA?HOPQ6;+Ncw3 zjC#3Op~l&UK7AZ^QK*5ZQ3K|B-T52_kn6f?h2JTEMtK_X66GyK0m=u6s)VkSrpw&F z`yfB{OyPgwKg8$^oWGv6p6hZN`w-e`)(rgj8az#8Co&U3v~49?5FZh#)ZN0L@#*!L zf?mEt)MsRjaAGm}NTLMMjruBtu2mSU=dbG;$%n*sYn+0Es2@UPx4O3}ZzXCGPp>~| z`_Yn<$fwW$%O?ao(Uyk=w80DHA(VTdJ}vK2cM$#apC!>1j=$o1q5|drFay4cpA&0| zkI9!1w<+uTj3`U~3-ROmD_t`x&oIY=mReXn^5+Bf!-<{rR ztFLS~{(tm$KyUFU^!v&h7f}9<&=<@?t9#kpk2{I)iPvrHCr_XMc&qr^9DtYY#xhp- zBhDjIiQL2*+NWX)!C&70bG=9Q7WEx*H8Fq)<1u8zQ0$4i>ig)lh!{((CSIVjk-v%O zPyY0(O!;e)io{W36A@|cr6>nbeqi}U@)ML3iEK=k)9R`A`ciJ80@nhVTVx5z2|5i2nW-_fK=xbG?bZh$}=ks|&syCc({iPkDWAn?EJ(Dqw#+!{ z>GS`K4vUCxL^~Q@Cbm(&Md-RqUI){O!9)%w-9cS0Le~>4irp>WkAsQA)XgWlT75&x zx~h>gg!}x<$5dRw>O_6wIMJHA6f9{sucZ9Q$}dv>l+e|Wx?RL%YwJZ_0pbtx8|q+J zCGzt`dF!WY|My=G3U{s3bQ+T>CnJBCyjPGPu--$W1EFgmbBkfsOeLi9&<TyY>ick-|6@&79@0iMIM9s zi6WGyVN^Od4}Gj>^~MgPBNto)_g={Mz>HWil<9ce3sbBGf}Px4~;0ye;zL_F~&5y%)>_55|MaCjkf zd`PJJC_YDAr~DeRg>qv;S83v16}UQET>^Ho@-gb;DAyuZ5^4UP?w`ZZ&T{=vF>eSR zE)o@qr`IGaVCkrL}DRrM=&FyYnH?Rt2%>! zeCE$fr~5QSP;r5B1aX@fMl>NB)0Sj6ic8dehu;wAh#cfyFr2tS`6txXlE_WGqlBw3 zanoP&yuaw@zqHz`L?4%WnKPvCjVqHqJ!j1o8PiWCw#}5DP`^MxdTN8VL1|Z$lG0OJ xoC!`JloB49zGU#;jOnREpU;&3vJT2$qU*oXQx5 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 Mot`r$dryh~0Nqg&C;$Ke diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index c32474383..a6fdfa75e 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-03 11:22-0700\n" +"POT-Creation-Date: 2021-05-10 13:23-0700\n" "PO-Revision-Date: 2021-03-20 00:56+0000\n" "Last-Translator: Kana \n" "Language-Team: Mouse Reeve \n" @@ -141,11 +141,11 @@ msgstr "某些东西出错了!对不起啦。" msgid "Edit Author" msgstr "编辑作者" -#: bookwyrm/templates/author.html:32 +#: bookwyrm/templates/author.html:31 msgid "Wikipedia" msgstr "维基百科" -#: bookwyrm/templates/author.html:37 +#: bookwyrm/templates/author.html:36 #, python-format msgid "Books by %(name)s" msgstr "%(name)s 所著的书" @@ -196,32 +196,32 @@ msgid "Description:" msgstr "描述:" #: bookwyrm/templates/book/book.html:127 -#: bookwyrm/templates/book/edit_book.html:241 +#: 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:42 +#: 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:34 +#: 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:242 +#: 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:43 +#: 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:35 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:39 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 msgid "Cancel" msgstr "取消" @@ -316,22 +316,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit_book.html:227 +#: bookwyrm/templates/book/edit_book.html:235 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit_book.html:231 +#: bookwyrm/templates/book/edit_book.html:239 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:179 +#: bookwyrm/templates/book/edit_book.html:187 msgid "Upload cover:" msgstr "上传封面:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:185 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Load cover from url:" msgstr "从网址加载封面:" @@ -435,58 +435,58 @@ msgstr "请用英文逗号(,)分开多个出版社。" msgid "First published date:" msgstr "初版时间:" -#: bookwyrm/templates/book/edit_book.html:143 +#: bookwyrm/templates/book/edit_book.html:147 msgid "Published date:" msgstr "出版时间:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:160 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit_book.html:158 +#: bookwyrm/templates/book/edit_book.html:166 #, python-format msgid "Remove %(name)s" msgstr "移除 %(name)s" -#: bookwyrm/templates/book/edit_book.html:163 +#: bookwyrm/templates/book/edit_book.html:171 msgid "Add Authors:" msgstr "添加作者:" -#: bookwyrm/templates/book/edit_book.html:164 +#: bookwyrm/templates/book/edit_book.html:172 msgid "John Doe, Jane Smith" msgstr "张三, 李四" -#: bookwyrm/templates/book/edit_book.html:170 +#: bookwyrm/templates/book/edit_book.html:178 #: bookwyrm/templates/user/shelf/shelf.html:76 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit_book.html:198 +#: bookwyrm/templates/book/edit_book.html:206 msgid "Physical Properties" msgstr "实体性质" -#: bookwyrm/templates/book/edit_book.html:199 +#: bookwyrm/templates/book/edit_book.html:207 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit_book.html:207 +#: bookwyrm/templates/book/edit_book.html:215 msgid "Pages:" msgstr "页数:" -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:222 msgid "Book Identifiers" msgstr "书目标识号" -#: bookwyrm/templates/book/edit_book.html:215 +#: bookwyrm/templates/book/edit_book.html:223 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:219 +#: bookwyrm/templates/book/edit_book.html:227 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:223 +#: bookwyrm/templates/book/edit_book.html:231 #: bookwyrm/templates/edit_author.html:59 msgid "Openlibrary key:" msgstr "Openlibrary key:" @@ -550,7 +550,7 @@ msgstr "由 %(publisher)s 出版。" #: bookwyrm/templates/feed/feed_layout.html:70 #: bookwyrm/templates/get_started/layout.html:19 #: bookwyrm/templates/get_started/layout.html:52 -#: bookwyrm/templates/search/book.html:39 +#: bookwyrm/templates/search/book.html:32 msgid "Close" msgstr "关闭" @@ -1227,7 +1227,7 @@ msgstr "登出" #: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135 #: bookwyrm/templates/notifications.html:6 -#: bookwyrm/templates/notifications.html:10 +#: bookwyrm/templates/notifications.html:11 msgid "Notifications" msgstr "通知" @@ -1343,6 +1343,7 @@ msgstr "任何人都可以推荐书目、主题让你批准" #: bookwyrm/templates/lists/form.html:31 #: bookwyrm/templates/moderation/reports.html:25 +#: bookwyrm/templates/search/book.html:30 msgid "Open" msgstr "开放" @@ -1534,119 +1535,130 @@ msgstr "已解决" msgid "No reports found." msgstr "没有找到报告" -#: bookwyrm/templates/notifications.html:14 +#: bookwyrm/templates/notifications.html:16 msgid "Delete notifications" msgstr "删除通知" -#: bookwyrm/templates/notifications.html:53 +#: bookwyrm/templates/notifications.html:25 +msgid "All" +msgstr "" + +#: bookwyrm/templates/notifications.html:29 +#, fuzzy +#| msgid "More options" +msgid "Mentions" +msgstr "更多选项" + +#: bookwyrm/templates/notifications.html:70 #, python-format msgid "favorited your review of %(book_title)s" msgstr "喜欢了你 %(book_title)s 的书评" -#: bookwyrm/templates/notifications.html:55 +#: bookwyrm/templates/notifications.html:72 #, python-format msgid "favorited your comment on %(book_title)s" msgstr "喜欢了你 %(book_title)s 的评论" -#: bookwyrm/templates/notifications.html:57 +#: bookwyrm/templates/notifications.html:74 #, python-format msgid "favorited your quote from %(book_title)s" msgstr "喜欢了你 来自 %(book_title)s 的引用" -#: bookwyrm/templates/notifications.html:59 +#: bookwyrm/templates/notifications.html:76 #, python-format msgid "favorited your status" msgstr "喜欢了你的 状态" -#: bookwyrm/templates/notifications.html:64 +#: bookwyrm/templates/notifications.html:81 #, python-format msgid "mentioned you in a review of %(book_title)s" msgstr "在 %(book_title)s 的书评 里提到了你" -#: bookwyrm/templates/notifications.html:66 +#: bookwyrm/templates/notifications.html:83 #, python-format msgid "mentioned you in a comment on %(book_title)s" msgstr "在 %(book_title)s 的评论 里提到了你" -#: bookwyrm/templates/notifications.html:68 +#: bookwyrm/templates/notifications.html:85 #, python-format msgid "mentioned you in a quote from %(book_title)s" msgstr "在 %(book_title)s 的引用 中提到了你" -#: bookwyrm/templates/notifications.html:70 +#: bookwyrm/templates/notifications.html:87 #, python-format msgid "mentioned you in a status" msgstr "在 状态 中提到了你" -#: bookwyrm/templates/notifications.html:75 +#: bookwyrm/templates/notifications.html:92 #, python-format msgid "replied to your review of %(book_title)s" msgstr "回复 了你的 %(book_title)s 的书评" -#: bookwyrm/templates/notifications.html:77 +#: bookwyrm/templates/notifications.html:94 #, python-format msgid "replied to your comment on %(book_title)s" msgstr "回复 了你的 %(book_title)s 的评论" -#: bookwyrm/templates/notifications.html:79 +#: bookwyrm/templates/notifications.html:96 #, python-format msgid "replied to your quote from %(book_title)s" msgstr "回复 了你 %(book_title)s 中的引用" -#: bookwyrm/templates/notifications.html:81 +#: bookwyrm/templates/notifications.html:98 #, python-format msgid "replied to your status" msgstr "回复 了你的 状态" -#: bookwyrm/templates/notifications.html:85 +#: bookwyrm/templates/notifications.html:102 msgid "followed you" msgstr "关注了你" -#: bookwyrm/templates/notifications.html:88 +#: bookwyrm/templates/notifications.html:105 msgid "sent you a follow request" msgstr "向你发送了关注请求" -#: bookwyrm/templates/notifications.html:94 +#: bookwyrm/templates/notifications.html:111 #, python-format msgid "boosted your review of %(book_title)s" msgstr "转发了你的 %(book_title)s 的书评" -#: bookwyrm/templates/notifications.html:96 +#: bookwyrm/templates/notifications.html:113 #, python-format msgid "boosted your comment on%(book_title)s" msgstr "转发了你的 %(book_title)s 的评论" -#: bookwyrm/templates/notifications.html:98 +#: bookwyrm/templates/notifications.html:115 #, python-format msgid "boosted your quote from %(book_title)s" msgstr "转发了你的 %(book_title)s 的引用" -#: bookwyrm/templates/notifications.html:100 +#: bookwyrm/templates/notifications.html:117 #, python-format msgid "boosted your status" msgstr "转发了你的 状态" -#: bookwyrm/templates/notifications.html:104 +#: bookwyrm/templates/notifications.html:121 #, python-format msgid " added %(book_title)s to your list \"%(list_name)s\"" msgstr " 添加了 %(book_title)s 到你的列表 \"%(list_name)s\"" -#: bookwyrm/templates/notifications.html:106 +#: bookwyrm/templates/notifications.html:123 #, python-format msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" msgstr " 推荐添加 %(book_title)s 到你的列表 \"%(list_name)s\"" -#: bookwyrm/templates/notifications.html:110 -#, python-format -msgid "Your import completed." +#: bookwyrm/templates/notifications.html:128 +#, fuzzy, python-format +#| msgid "Your import completed." +msgid "Your import completed." msgstr "你的 导入 已完成。" -#: bookwyrm/templates/notifications.html:113 +#: bookwyrm/templates/notifications.html:131 #, python-format msgid "A new report needs moderation." msgstr "有新的 报告 需要仲裁。" -#: bookwyrm/templates/notifications.html:139 +#: bookwyrm/templates/notifications.html:157 msgid "You're all caught up!" msgstr "你什么也没错过!" @@ -1665,7 +1677,7 @@ msgstr "重设密码" #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/preferences_layout.html:23 +#: bookwyrm/templates/preferences/preferences_layout.html:26 msgid "Blocked Users" msgstr "屏蔽的用户" @@ -1676,7 +1688,7 @@ msgstr "当前没有被屏蔽的用户。" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 #: bookwyrm/templates/preferences/change_password.html:21 -#: bookwyrm/templates/preferences/preferences_layout.html:17 +#: bookwyrm/templates/preferences/preferences_layout.html:19 msgid "Change Password" msgstr "更改密码" @@ -1706,20 +1718,14 @@ msgstr "偏好的时区:" msgid "Account" msgstr "帐号" -#: bookwyrm/templates/preferences/preferences_layout.html:14 +#: bookwyrm/templates/preferences/preferences_layout.html:15 msgid "Profile" msgstr "个人资料" -#: bookwyrm/templates/preferences/preferences_layout.html:20 +#: bookwyrm/templates/preferences/preferences_layout.html:22 msgid "Relationships" msgstr "关系" -#: bookwyrm/templates/search/book.html:30 -#, fuzzy -#| msgid "Show more" -msgid "Show" -msgstr "显示更多" - #: bookwyrm/templates/search/book.html:64 #, fuzzy #| msgid "Show results from other catalogues" @@ -2219,13 +2225,13 @@ msgid "Progress:" msgstr "进度:" #: bookwyrm/templates/snippets/create_status_form.html:85 -#: bookwyrm/templates/snippets/readthrough_form.html:22 +#: bookwyrm/templates/snippets/readthrough_form.html:26 #: 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:23 +#: bookwyrm/templates/snippets/readthrough_form.html:27 #: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:31 msgid "percent" msgstr "百分比" @@ -2355,8 +2361,8 @@ msgid "Goal privacy:" msgstr "目标隐私:" #: bookwyrm/templates/snippets/goal_form.html:26 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 -#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 +#: 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/want_to_read_modal.html:20 msgid "Post to feed" msgstr "发布到消息流中" @@ -2467,12 +2473,12 @@ msgstr "删除这些阅读日期" msgid "Started reading" msgstr "已开始阅读" -#: bookwyrm/templates/snippets/readthrough_form.html:14 +#: bookwyrm/templates/snippets/readthrough_form.html:18 msgid "Progress" msgstr "进度" -#: bookwyrm/templates/snippets/readthrough_form.html:30 -#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 +#: bookwyrm/templates/snippets/readthrough_form.html:34 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:29 msgid "Finished reading" msgstr "已完成阅读" @@ -2841,6 +2847,11 @@ msgstr "没有找到使用该邮箱的用户。" msgid "A password reset link sent to %s" msgstr "密码重置连接已发送给 %s" +#, fuzzy +#~| msgid "Show more" +#~ msgid "Show" +#~ msgstr "显示更多" + #, fuzzy #~| msgid "All messages" #~ msgid "Messages" From 85a8210f5e2d1b5cda5b2f42b97909faa75562c6 Mon Sep 17 00:00:00 2001 From: Allie Signet Date: Mon, 10 May 2021 18:11:28 -0300 Subject: [PATCH 14/21] 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 1b1152abc..c8130af26 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 b4ae639dabffcee63b4810648383be38fe27ebbf Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 14:19:50 -0700 Subject: [PATCH 15/21] Imports bookwyrm settings into celery settings It was redundant and super bug-prone! --- bookwyrm/settings.py | 10 +-- celerywyrm/settings.py | 148 +---------------------------------------- 2 files changed, 8 insertions(+), 150 deletions(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 1bc3c587b..45d8cb9d6 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -38,7 +38,7 @@ LOCALE_PATHS = [ DEFAULT_AUTO_FIELD = "django.db.models.AutoField" # Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/ +# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = env("SECRET_KEY") @@ -107,7 +107,7 @@ MAX_STREAM_LENGTH = int(env("MAX_STREAM_LENGTH", 200)) STREAMS = ["home", "local", "federated"] # Database -# https://docs.djangoproject.com/en/2.0/ref/settings/#databases +# https://docs.djangoproject.com/en/3.2/ref/settings/#databases BOOKWYRM_DATABASE_BACKEND = env("BOOKWYRM_DATABASE_BACKEND", "postgres") @@ -129,7 +129,7 @@ LOGIN_URL = "/login/" AUTH_USER_MODEL = "bookwyrm.User" # Password validation -# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators +# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { @@ -148,7 +148,7 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization -# https://docs.djangoproject.com/en/2.0/topics/i18n/ +# https://docs.djangoproject.com/en/3.2/topics/i18n/ LANGUAGE_CODE = "en-us" LANGUAGES = [ @@ -170,7 +170,7 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/3.1/howto/static-files/ +# https://docs.djangoproject.com/en/3.2/howto/static-files/ PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) STATIC_URL = "/static/" diff --git a/celerywyrm/settings.py b/celerywyrm/settings.py index cd5b00ba4..e4fa73ca2 100644 --- a/celerywyrm/settings.py +++ b/celerywyrm/settings.py @@ -1,157 +1,15 @@ -""" -Django settings for celerywyrm project. +""" bookwyrm settings and configuration """ +from bookwyrm.settings import * -Generated by 'django-admin startproject' using Django 3.0.3. - -For more information on this file, see -https://docs.djangoproject.com/en/3.0/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/3.0/ref/settings/ -""" - -import os -from environs import Env - -env = Env() - -# emailing -EMAIL_HOST = env("EMAIL_HOST") -EMAIL_PORT = env("EMAIL_PORT") -EMAIL_HOST_USER = env("EMAIL_HOST_USER") -EMAIL_HOST_PASSWORD = env("EMAIL_HOST_PASSWORD") -EMAIL_USE_TLS = env.bool("EMAIL_USE_TLS") -EMAIL_USE_SSL = env.bool("EMAIL_USE_SSL", False) - - -# Build paths inside the project like this: os.path.join(BASE_DIR, ...) -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - -# celery/rebbitmq CELERY_BROKER_URL = env("CELERY_BROKER") CELERY_ACCEPT_CONTENT = ["json"] CELERY_TASK_SERIALIZER = "json" CELERY_RESULT_BACKEND = "redis" - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = "0a^0gpwjc1ap+lb$dinin=efc@e&_0%102$o3(>9e7lndiaw" - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = env.bool("DEBUG", True) - - -ALLOWED_HOSTS = [] - - -# Application definition - -INSTALLED_APPS = [ - "django.contrib.admin", - "django.contrib.auth", - "django.contrib.contenttypes", - "django.contrib.sessions", - "django.contrib.messages", - "django.contrib.staticfiles", +INSTALLED_APPS = INSTALLED_APPS + [ "celerywyrm", - "bookwyrm", - "celery", -] - -MIDDLEWARE = [ - "django.middleware.security.SecurityMiddleware", - "django.contrib.sessions.middleware.SessionMiddleware", - "django.middleware.common.CommonMiddleware", - "django.middleware.csrf.CsrfViewMiddleware", - "django.contrib.auth.middleware.AuthenticationMiddleware", - "django.contrib.messages.middleware.MessageMiddleware", - "django.middleware.clickjacking.XFrameOptionsMiddleware", ] ROOT_URLCONF = "celerywyrm.urls" -TEMPLATES = [ - { - "BACKEND": "django.template.backends.django.DjangoTemplates", - "DIRS": [], - "APP_DIRS": True, - "OPTIONS": { - "context_processors": [ - "django.template.context_processors.debug", - "django.template.context_processors.request", - "django.contrib.auth.context_processors.auth", - "django.contrib.messages.context_processors.messages", - ], - }, - }, -] - WSGI_APPLICATION = "celerywyrm.wsgi.application" - - -# Database -# https://docs.djangoproject.com/en/3.0/ref/settings/#databases - -BOOKWYRM_DATABASE_BACKEND = env("BOOKWYRM_DATABASE_BACKEND", "postgres") - -BOOKWYRM_DBS = { - "postgres": { - "ENGINE": "django.db.backends.postgresql_psycopg2", - "NAME": env("POSTGRES_DB", "fedireads"), - "USER": env("POSTGRES_USER", "fedireads"), - "PASSWORD": env("POSTGRES_PASSWORD", "fedireads"), - "HOST": env("POSTGRES_HOST", ""), - "PORT": 5432, - }, - "sqlite": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": os.path.join(BASE_DIR, "fedireads.db"), - }, -} - -DATABASES = {"default": BOOKWYRM_DBS[BOOKWYRM_DATABASE_BACKEND]} - - -# Password validation -# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/3.0/topics/i18n/ - -LANGUAGE_CODE = "en-us" - -TIME_ZONE = "UTC" - -USE_I18N = False - -USE_L10N = False - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/3.1/howto/static-files/ - -STATIC_URL = "/static/" -STATIC_ROOT = os.path.join(BASE_DIR, env("STATIC_ROOT", "static")) -MEDIA_URL = "/images/" -MEDIA_ROOT = os.path.join(BASE_DIR, env("MEDIA_ROOT", "images")) From e34ae18e98ce3aea26b0e3c9a3ffd05d72a7dec6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 14:38:57 -0700 Subject: [PATCH 16/21] Don't show following years' books in a year's goal --- bookwyrm/models/user.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 7c943bec9..5f0e64e3b 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -372,7 +372,10 @@ class AnnualGoal(BookWyrmModel): def books(self): """the books you've read this year""" return ( - self.user.readthrough_set.filter(finish_date__year__gte=self.year) + self.user.readthrough_set.filter( + finish_date__year__gte=self.year, + finish_date__year__lt=self.year + 1, + ) .order_by("-finish_date") .all() ) @@ -396,7 +399,8 @@ class AnnualGoal(BookWyrmModel): def book_count(self): """how many books you've read this year""" return self.user.readthrough_set.filter( - finish_date__year__gte=self.year + finish_date__year__gte=self.year, + finish_date__year__lt=self.year + 1, ).count() From 485f4b7eba1e819b64fe01139de02fe5d7ca70c6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 14:56:33 -0700 Subject: [PATCH 17/21] Revert "Replaces date elements with datepicker" This reverts commit 869cfa6d341f25ee25d8576adcdc2e3b8d239b9c. --- bookwyrm/templates/book/edit_book.html | 12 ++---------- bookwyrm/templates/snippets/datepicker_js.html | 3 --- bookwyrm/templates/snippets/readthrough_form.html | 12 ++---------- .../snippets/shelve_button/finish_reading_modal.html | 12 ++---------- .../snippets/shelve_button/start_reading_modal.html | 6 +----- 5 files changed, 7 insertions(+), 38 deletions(-) delete mode 100644 bookwyrm/templates/snippets/datepicker_js.html diff --git a/bookwyrm/templates/book/edit_book.html b/bookwyrm/templates/book/edit_book.html index e75bd96eb..5fe63595e 100644 --- a/bookwyrm/templates/book/edit_book.html +++ b/bookwyrm/templates/book/edit_book.html @@ -133,11 +133,7 @@

    - +

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

    {{ error | escape }}

    @@ -145,11 +141,7 @@

    - +

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

    {{ error | escape }}

    diff --git a/bookwyrm/templates/snippets/datepicker_js.html b/bookwyrm/templates/snippets/datepicker_js.html deleted file mode 100644 index abfadaaf8..000000000 --- a/bookwyrm/templates/snippets/datepicker_js.html +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/bookwyrm/templates/snippets/readthrough_form.html b/bookwyrm/templates/snippets/readthrough_form.html index 256fcea54..c5be295e1 100644 --- a/bookwyrm/templates/snippets/readthrough_form.html +++ b/bookwyrm/templates/snippets/readthrough_form.html @@ -5,11 +5,7 @@
    {# Only show progress for editing existing readthroughs #} @@ -32,10 +28,6 @@
    diff --git a/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html b/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html index 6d4ea5eac..ca65bf06c 100644 --- a/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html +++ b/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html @@ -17,21 +17,13 @@
    diff --git a/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html b/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html index 47d620e0d..213416836 100644 --- a/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html +++ b/bookwyrm/templates/snippets/shelve_button/start_reading_modal.html @@ -15,11 +15,7 @@
    From 3f4807a3451ff6b3271c9d9f4161f0928181e885 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 14:56:43 -0700 Subject: [PATCH 18/21] Revert "Adds datepicker script dependencies to templates" This reverts commit 33ca7b4b763c118cf84ee85205e64ccd1355b220. --- bookwyrm/templates/author.html | 3 --- bookwyrm/templates/book/book.html | 1 - bookwyrm/templates/book/edit_book.html | 8 ++------ bookwyrm/templates/book/editions.html | 4 ---- bookwyrm/templates/edit_author.html | 4 ---- bookwyrm/templates/feed/feed_layout.html | 1 - bookwyrm/templates/get_started/books.html | 4 ---- bookwyrm/templates/user/layout.html | 5 ----- 8 files changed, 2 insertions(+), 28 deletions(-) diff --git a/bookwyrm/templates/author.html b/bookwyrm/templates/author.html index ec952d4c6..a7ea9db56 100644 --- a/bookwyrm/templates/author.html +++ b/bookwyrm/templates/author.html @@ -38,6 +38,3 @@
{% endblock %} -{% block scripts %} -{% include 'snippets/datepicker_js.html' %} -{% endblock %} diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 53be123d8..40da64861 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -333,5 +333,4 @@ {% block scripts %} -{% include 'snippets/datepicker_js.html' %} {% endblock %} diff --git a/bookwyrm/templates/book/edit_book.html b/bookwyrm/templates/book/edit_book.html index 5fe63595e..bcf111267 100644 --- a/bookwyrm/templates/book/edit_book.html +++ b/bookwyrm/templates/book/edit_book.html @@ -133,7 +133,7 @@

- +

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

{{ error | escape }}

@@ -141,7 +141,7 @@

- +

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

{{ error | escape }}

@@ -245,7 +245,3 @@ {% endblock %} - -{% block scripts %} -{% include 'snippets/datepicker_js.html' %} -{% endblock %} diff --git a/bookwyrm/templates/book/editions.html b/bookwyrm/templates/book/editions.html index 64dd2775f..775b05c86 100644 --- a/bookwyrm/templates/book/editions.html +++ b/bookwyrm/templates/book/editions.html @@ -51,7 +51,3 @@ {% include 'snippets/pagination.html' with page=editions path=request.path %}
{% endblock %} - -{% block scripts %} -{% include 'snippets/datepicker_js.html' %} -{% endblock %} diff --git a/bookwyrm/templates/edit_author.html b/bookwyrm/templates/edit_author.html index ecf32358e..b575bbb2f 100644 --- a/bookwyrm/templates/edit_author.html +++ b/bookwyrm/templates/edit_author.html @@ -81,7 +81,3 @@ {% endblock %} - -{% block scripts %} -{% include 'snippets/datepicker_js.html' %} -{% endblock %} diff --git a/bookwyrm/templates/feed/feed_layout.html b/bookwyrm/templates/feed/feed_layout.html index 431cf6dd7..75fc1951a 100644 --- a/bookwyrm/templates/feed/feed_layout.html +++ b/bookwyrm/templates/feed/feed_layout.html @@ -105,5 +105,4 @@ {% block scripts %} -{% include 'snippets/datepicker_js.html' %} {% endblock %} diff --git a/bookwyrm/templates/get_started/books.html b/bookwyrm/templates/get_started/books.html index e3fd87bbd..9613508b9 100644 --- a/bookwyrm/templates/get_started/books.html +++ b/bookwyrm/templates/get_started/books.html @@ -64,7 +64,3 @@ {% endblock %} - -{% block scripts %} -{% include 'snippets/datepicker_js.html' %} -{% endblock %} diff --git a/bookwyrm/templates/user/layout.html b/bookwyrm/templates/user/layout.html index 1aa762027..661d80781 100644 --- a/bookwyrm/templates/user/layout.html +++ b/bookwyrm/templates/user/layout.html @@ -81,8 +81,3 @@ {% block panel %}{% endblock %} {% endblock %} - - -{% block scripts %} -{% include 'snippets/datepicker_js.html' %} -{% endblock %} From 07c84a6e1a1e82f455f096ae55c80559da9f7473 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 10 May 2021 15:35:46 -0700 Subject: [PATCH 19/21] 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 0c5732652..102c9d727 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 20/21] 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 8e43cabc7..c312e4ba8 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 21/21] 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 c312e4ba8..25498432c 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"]: