diff --git a/bookwyrm/activitypub/base_activity.py b/bookwyrm/activitypub/base_activity.py
index d20e7e944..52b1b1f27 100644
--- a/bookwyrm/activitypub/base_activity.py
+++ b/bookwyrm/activitypub/base_activity.py
@@ -275,6 +275,8 @@ def resolve_remote_id(
):
"""take a remote_id and return an instance, creating if necessary"""
if model: # a bonus check we can do if we already know the model
+ if isinstance(model, str):
+ model = apps.get_model(f"bookwyrm.{model}", require_ready=True)
result = model.find_existing_by_remote_id(remote_id)
if result and not refresh:
return result if not get_activity else result.to_activity_dataclass()
diff --git a/bookwyrm/activitypub/note.py b/bookwyrm/activitypub/note.py
index 556ef1853..aca62d7c5 100644
--- a/bookwyrm/activitypub/note.py
+++ b/bookwyrm/activitypub/note.py
@@ -30,8 +30,8 @@ class Note(ActivityObject):
to: List[str] = field(default_factory=lambda: [])
cc: List[str] = field(default_factory=lambda: [])
replies: Dict = field(default_factory=lambda: {})
- inReplyTo: str = ""
- summary: str = ""
+ inReplyTo: str = None
+ summary: str = None
tag: List[Link] = field(default_factory=lambda: [])
attachment: List[Document] = field(default_factory=lambda: [])
sensitive: bool = False
diff --git a/bookwyrm/migrations/0086_auto_20210827_1727.py b/bookwyrm/migrations/0086_auto_20210827_1727.py
new file mode 100644
index 000000000..ef6af206b
--- /dev/null
+++ b/bookwyrm/migrations/0086_auto_20210827_1727.py
@@ -0,0 +1,40 @@
+# Generated by Django 3.2.4 on 2021-08-27 17:27
+
+from django.db import migrations, models
+import django.db.models.expressions
+
+
+def normalize_readthrough_dates(app_registry, schema_editor):
+ """Find any invalid dates and reset them"""
+ db_alias = schema_editor.connection.alias
+ app_registry.get_model("bookwyrm", "ReadThrough").objects.using(db_alias).filter(
+ start_date__gt=models.F("finish_date")
+ ).update(start_date=models.F("finish_date"))
+
+
+def reverse_func(apps, schema_editor):
+ """nothing to do here"""
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0085_user_saved_lists"),
+ ]
+
+ operations = [
+ migrations.RunPython(normalize_readthrough_dates, reverse_func),
+ migrations.AlterModelOptions(
+ name="readthrough",
+ options={"ordering": ("-start_date",)},
+ ),
+ migrations.AddConstraint(
+ model_name="readthrough",
+ constraint=models.CheckConstraint(
+ check=models.Q(
+ ("finish_date__gte", django.db.models.expressions.F("start_date"))
+ ),
+ name="chronology",
+ ),
+ ),
+ ]
diff --git a/bookwyrm/migrations/0086_auto_20210828_1724.py b/bookwyrm/migrations/0086_auto_20210828_1724.py
new file mode 100644
index 000000000..212477118
--- /dev/null
+++ b/bookwyrm/migrations/0086_auto_20210828_1724.py
@@ -0,0 +1,49 @@
+# Generated by Django 3.2.4 on 2021-08-28 17:24
+
+import bookwyrm.models.fields
+from django.conf import settings
+from django.db import migrations, models
+from django.db.models import F, Value, CharField
+from django.db.models.functions import Concat
+
+
+def forwards_func(apps, schema_editor):
+ """generate followers url"""
+ db_alias = schema_editor.connection.alias
+ apps.get_model("bookwyrm", "User").objects.using(db_alias).annotate(
+ generated_url=Concat(
+ F("remote_id"), Value("/followers"), output_field=CharField()
+ )
+ ).update(followers_url=models.F("generated_url"))
+
+
+def reverse_func(apps, schema_editor):
+ """noop"""
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0085_user_saved_lists"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="user",
+ name="followers_url",
+ field=bookwyrm.models.fields.CharField(
+ default="/followers", max_length=255
+ ),
+ preserve_default=False,
+ ),
+ migrations.RunPython(forwards_func, reverse_func),
+ migrations.AlterField(
+ model_name="user",
+ name="followers",
+ field=models.ManyToManyField(
+ related_name="following",
+ through="bookwyrm.UserFollows",
+ to=settings.AUTH_USER_MODEL,
+ ),
+ ),
+ ]
diff --git a/bookwyrm/migrations/0087_merge_0086_auto_20210827_1727_0086_auto_20210828_1724.py b/bookwyrm/migrations/0087_merge_0086_auto_20210827_1727_0086_auto_20210828_1724.py
new file mode 100644
index 000000000..cd5311619
--- /dev/null
+++ b/bookwyrm/migrations/0087_merge_0086_auto_20210827_1727_0086_auto_20210828_1724.py
@@ -0,0 +1,13 @@
+# Generated by Django 3.2.4 on 2021-08-29 18:19
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0086_auto_20210827_1727"),
+ ("bookwyrm", "0086_auto_20210828_1724"),
+ ]
+
+ operations = []
diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py
index 6ed5aa5e6..cc5a7bb55 100644
--- a/bookwyrm/models/fields.py
+++ b/bookwyrm/models/fields.py
@@ -224,8 +224,20 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField):
original = getattr(instance, self.name)
to = data.to
cc = data.cc
+
+ # we need to figure out who this is to get their followers link
+ for field in ["attributedTo", "owner", "actor"]:
+ if hasattr(data, field):
+ user_field = field
+ break
+ if not user_field:
+ raise ValidationError("No user field found for privacy", data)
+ user = activitypub.resolve_remote_id(getattr(data, user_field), model="User")
+
if to == [self.public]:
setattr(instance, self.name, "public")
+ elif to == [user.followers_url]:
+ setattr(instance, self.name, "followers")
elif cc == []:
setattr(instance, self.name, "direct")
elif self.public in cc:
@@ -241,9 +253,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField):
mentions = [u.remote_id for u in instance.mention_users.all()]
# this is a link to the followers list
# pylint: disable=protected-access
- followers = instance.user.__class__._meta.get_field(
- "followers"
- ).field_to_activity(instance.user.followers)
+ followers = instance.user.followers_url
if instance.privacy == "public":
activity["to"] = [self.public]
activity["cc"] = [followers] + mentions
diff --git a/bookwyrm/models/readthrough.py b/bookwyrm/models/readthrough.py
index df341c8b2..343d3c115 100644
--- a/bookwyrm/models/readthrough.py
+++ b/bookwyrm/models/readthrough.py
@@ -1,7 +1,8 @@
""" progress in a book """
-from django.db import models
-from django.utils import timezone
from django.core import validators
+from django.db import models
+from django.db.models import F, Q
+from django.utils import timezone
from .base_model import BookWyrmModel
@@ -41,6 +42,16 @@ class ReadThrough(BookWyrmModel):
)
return None
+ class Meta:
+ """Don't let readthroughs end before they start"""
+
+ constraints = [
+ models.CheckConstraint(
+ check=Q(finish_date__gte=F("start_date")), name="chronology"
+ )
+ ]
+ ordering = ("-start_date",)
+
class ProgressUpdate(BookWyrmModel):
"""Store progress through a book in the database."""
diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py
index 0ef23d3f0..0745dffa2 100644
--- a/bookwyrm/models/user.py
+++ b/bookwyrm/models/user.py
@@ -82,9 +82,9 @@ class User(OrderedCollectionPageMixin, AbstractUser):
preview_image = models.ImageField(
upload_to="previews/avatars/", blank=True, null=True
)
- followers = fields.ManyToManyField(
+ followers_url = fields.CharField(max_length=255, activitypub_field="followers")
+ followers = models.ManyToManyField(
"self",
- link_only=True,
symmetrical=False,
through="UserFollows",
through_fields=("user_object", "user_subject"),
@@ -228,7 +228,7 @@ class User(OrderedCollectionPageMixin, AbstractUser):
def to_followers_activity(self, **kwargs):
"""activitypub followers list"""
- remote_id = "%s/followers" % self.remote_id
+ remote_id = self.followers_url
return self.to_ordered_collection(
self.followers.order_by("-updated_date").all(),
remote_id=remote_id,
@@ -275,10 +275,12 @@ class User(OrderedCollectionPageMixin, AbstractUser):
return
# populate fields for local users
- self.remote_id = "%s/user/%s" % (site_link(), self.localname)
- self.inbox = "%s/inbox" % self.remote_id
- self.shared_inbox = "%s/inbox" % site_link()
- self.outbox = "%s/outbox" % self.remote_id
+ link = site_link()
+ self.remote_id = f"{link}/user/{self.localname}"
+ self.followers_url = f"{self.remote_id}/followers"
+ self.inbox = f"{self.remote_id}/inbox"
+ self.shared_inbox = f"{link}/inbox"
+ self.outbox = f"{self.remote_id}/outbox"
# an id needs to be set before we can proceed with related models
super().save(*args, **kwargs)
diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html
index 2b8364ec9..43ca81c74 100644
--- a/bookwyrm/templates/layout.html
+++ b/bookwyrm/templates/layout.html
@@ -109,17 +109,17 @@
{% trans 'Settings' %}
- {% if perms.bookwyrm.create_invites or perms.moderate_users %}
+ {% if perms.bookwyrm.create_invites or perms.moderate_user %}
{% endif %}
- {% if perms.bookwyrm.create_invites %}
+ {% if perms.bookwyrm.create_invites and not site.allow_registration %}
{% trans 'Invites' %}
{% endif %}
- {% if perms.bookwyrm.moderate_users %}
+ {% if perms.bookwyrm.moderate_user %}
{% trans 'Admin' %}
diff --git a/bookwyrm/templates/settings/admin_layout.html b/bookwyrm/templates/settings/admin_layout.html
index 9e57076bf..6d6516476 100644
--- a/bookwyrm/templates/settings/admin_layout.html
+++ b/bookwyrm/templates/settings/admin_layout.html
@@ -21,23 +21,29 @@
{% if perms.bookwyrm.create_invites %}
{% endif %}
{% if perms.bookwyrm.edit_instance_settings %}
diff --git a/bookwyrm/tests/activitypub/test_person.py b/bookwyrm/tests/activitypub/test_person.py
index 67aaf891e..2722aaefd 100644
--- a/bookwyrm/tests/activitypub/test_person.py
+++ b/bookwyrm/tests/activitypub/test_person.py
@@ -25,3 +25,4 @@ class Person(TestCase):
self.assertEqual(user.username, "mouse@example.com")
self.assertEqual(user.remote_id, "https://example.com/user/mouse")
self.assertFalse(user.local)
+ self.assertEqual(user.followers_url, "https://example.com/user/mouse/followers")
diff --git a/bookwyrm/tests/models/test_fields.py b/bookwyrm/tests/models/test_fields.py
index 2520a2fd2..6730d37b9 100644
--- a/bookwyrm/tests/models/test_fields.py
+++ b/bookwyrm/tests/models/test_fields.py
@@ -146,6 +146,15 @@ class ModelFields(TestCase):
def test_privacy_field_set_field_from_activity(self, _):
"""translate between to/cc fields and privacy"""
+ with patch("bookwyrm.models.user.set_remote_server.delay"):
+ test_user = User.objects.create_user(
+ username="test_user@example.com",
+ local=False,
+ remote_id="https://example.com/test_user",
+ inbox="https://example.com/users/test_user/inbox",
+ followers_url="https://example.com/users/test_user/followers",
+ )
+
@dataclass(init=False)
class TestActivity(ActivityObject):
"""real simple mock"""
@@ -154,6 +163,7 @@ class ModelFields(TestCase):
cc: List[str]
id: str = "http://hi.com"
type: str = "Test"
+ attributedTo: str = test_user.remote_id
class TestPrivacyModel(ActivitypubMixin, BookWyrmModel):
"""real simple mock model because BookWyrmModel is abstract"""
@@ -185,6 +195,16 @@ class ModelFields(TestCase):
instance.set_field_from_activity(model_instance, data)
self.assertEqual(model_instance.privacy_field, "unlisted")
+ data.to = [test_user.followers_url]
+ data.cc = []
+ instance.set_field_from_activity(model_instance, data)
+ self.assertEqual(model_instance.privacy_field, "followers")
+
+ data.to = ["http://user_remote/followers"]
+ data.cc = ["http://mentioned_user/remote_id"]
+ instance.set_field_from_activity(model_instance, data)
+ self.assertEqual(model_instance.privacy_field, "followers")
+
@patch("bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast")
@patch("bookwyrm.activitystreams.ActivityStream.add_status")
def test_privacy_field_set_activity_from_field(self, *_):
diff --git a/bookwyrm/tests/models/test_readthrough_model.py b/bookwyrm/tests/models/test_readthrough_model.py
index 596753f79..2b6e4fdd2 100644
--- a/bookwyrm/tests/models/test_readthrough_model.py
+++ b/bookwyrm/tests/models/test_readthrough_model.py
@@ -1,7 +1,9 @@
""" testing models """
+import datetime
from unittest.mock import patch
from django.test import TestCase
from django.core.exceptions import ValidationError
+from django.utils import timezone
from bookwyrm import models
@@ -21,27 +23,79 @@ class ReadThrough(TestCase):
title="Example Edition", parent_work=self.work
)
- self.readthrough = models.ReadThrough.objects.create(
- user=self.user, book=self.edition
+ def test_valid_date(self):
+ """can't finish a book before you start it"""
+ start = timezone.now()
+ finish = start + datetime.timedelta(days=1)
+ # just make sure there's no errors
+ models.ReadThrough.objects.create(
+ user=self.user,
+ book=self.edition,
+ start_date=start,
+ finish_date=finish,
+ )
+
+ def test_valid_date_null_start(self):
+ """can't finish a book before you start it"""
+ start = timezone.now()
+ finish = start + datetime.timedelta(days=1)
+ # just make sure there's no errors
+ models.ReadThrough.objects.create(
+ user=self.user,
+ book=self.edition,
+ finish_date=finish,
+ )
+
+ def test_valid_date_null_finish(self):
+ """can't finish a book before you start it"""
+ start = timezone.now()
+ # just make sure there's no errors
+ models.ReadThrough.objects.create(
+ user=self.user,
+ book=self.edition,
+ start_date=start,
+ )
+
+ def test_valid_date_null(self):
+ """can't finish a book before you start it"""
+ # just make sure there's no errors
+ models.ReadThrough.objects.create(
+ user=self.user,
+ book=self.edition,
+ )
+
+ def test_valid_date_same(self):
+ """can't finish a book before you start it"""
+ start = timezone.now()
+ # just make sure there's no errors
+ models.ReadThrough.objects.create(
+ user=self.user,
+ book=self.edition,
+ start_date=start,
+ finish_date=start,
)
def test_progress_update(self):
"""Test progress updates"""
- self.readthrough.create_update() # No-op, no progress yet
- self.readthrough.progress = 10
- self.readthrough.create_update()
- self.readthrough.progress = 20
- self.readthrough.progress_mode = models.ProgressMode.PERCENT
- self.readthrough.create_update()
+ readthrough = models.ReadThrough.objects.create(
+ user=self.user, book=self.edition
+ )
- updates = self.readthrough.progressupdate_set.order_by("created_date").all()
+ readthrough.create_update() # No-op, no progress yet
+ readthrough.progress = 10
+ readthrough.create_update()
+ readthrough.progress = 20
+ readthrough.progress_mode = models.ProgressMode.PERCENT
+ readthrough.create_update()
+
+ updates = readthrough.progressupdate_set.order_by("created_date").all()
self.assertEqual(len(updates), 2)
self.assertEqual(updates[0].progress, 10)
self.assertEqual(updates[0].mode, models.ProgressMode.PAGE)
self.assertEqual(updates[1].progress, 20)
self.assertEqual(updates[1].mode, models.ProgressMode.PERCENT)
- self.readthrough.progress = -10
- self.assertRaises(ValidationError, self.readthrough.clean_fields)
- update = self.readthrough.create_update()
+ readthrough.progress = -10
+ self.assertRaises(ValidationError, readthrough.clean_fields)
+ update = readthrough.create_update()
self.assertRaises(ValidationError, update.clean_fields)
diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py
index 177b2ad62..230c503b0 100644
--- a/bookwyrm/tests/models/test_user_model.py
+++ b/bookwyrm/tests/models/test_user_model.py
@@ -5,11 +5,13 @@ from django.test import TestCase
import responses
from bookwyrm import models
-from bookwyrm.settings import DOMAIN
+from bookwyrm.settings import USE_HTTPS, DOMAIN
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
class User(TestCase):
+ protocol = "https://" if USE_HTTPS else "http://"
+
def setUp(self):
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"):
self.user = models.User.objects.create_user(
@@ -24,13 +26,14 @@ class User(TestCase):
def test_computed_fields(self):
"""username instead of id here"""
- expected_id = "https://%s/user/mouse" % DOMAIN
+ expected_id = f"{self.protocol}{DOMAIN}/user/mouse"
self.assertEqual(self.user.remote_id, expected_id)
- self.assertEqual(self.user.username, "mouse@%s" % DOMAIN)
+ self.assertEqual(self.user.username, f"mouse@{DOMAIN}")
self.assertEqual(self.user.localname, "mouse")
- self.assertEqual(self.user.shared_inbox, "https://%s/inbox" % DOMAIN)
- self.assertEqual(self.user.inbox, "%s/inbox" % expected_id)
- self.assertEqual(self.user.outbox, "%s/outbox" % expected_id)
+ self.assertEqual(self.user.shared_inbox, f"{self.protocol}{DOMAIN}/inbox")
+ self.assertEqual(self.user.inbox, f"{expected_id}/inbox")
+ self.assertEqual(self.user.outbox, f"{expected_id}/outbox")
+ self.assertEqual(self.user.followers_url, f"{expected_id}/followers")
self.assertIsNotNone(self.user.key_pair.private_key)
self.assertIsNotNone(self.user.key_pair.public_key)
diff --git a/bookwyrm/tests/views/test_feed.py b/bookwyrm/tests/views/test_feed.py
index 666c3e02b..e13dd7f8a 100644
--- a/bookwyrm/tests/views/test_feed.py
+++ b/bookwyrm/tests/views/test_feed.py
@@ -82,6 +82,27 @@ class FeedViews(TestCase):
self.assertEqual(result.status_code, 404)
+ def test_status_page_not_found_wrong_user(self, *_):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.Status.as_view()
+ another_user = models.User.objects.create_user(
+ "rat@local.com",
+ "rat@rat.rat",
+ "password",
+ local=True,
+ localname="rat",
+ )
+ with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"):
+ status = models.Status.objects.create(content="hi", user=another_user)
+
+ request = self.factory.get("")
+ request.user = self.local_user
+ with patch("bookwyrm.views.feed.is_api_request") as is_api:
+ is_api.return_value = False
+ result = view(request, "mouse", status.id)
+
+ self.assertEqual(result.status_code, 404)
+
def test_status_page_with_image(self, *_):
"""there are so many views, this just makes sure it LOADS"""
view = views.Status.as_view()
diff --git a/bookwyrm/tests/views/test_reading.py b/bookwyrm/tests/views/test_reading.py
index bebd9f5a9..61464bc7f 100644
--- a/bookwyrm/tests/views/test_reading.py
+++ b/bookwyrm/tests/views/test_reading.py
@@ -107,7 +107,7 @@ class ReadingViews(TestCase):
{
"post-status": True,
"privacy": "followers",
- "finish_date": "2020-01-07",
+ "finish_date": timezone.now().isoformat(),
"id": readthrough.id,
},
)
diff --git a/bookwyrm/tests/views/test_status.py b/bookwyrm/tests/views/test_status.py
index d4edee0b3..ff429e20f 100644
--- a/bookwyrm/tests/views/test_status.py
+++ b/bookwyrm/tests/views/test_status.py
@@ -303,6 +303,19 @@ class StatusViews(TestCase):
'openlibrary.org/search'
"?q=arkady+strugatsky&mode=everything" % url,
)
+ url = "https://tech.lgbt/@bookwyrm"
+ self.assertEqual(
+ views.status.format_links(url), 'tech.lgbt/@bookwyrm' % url
+ )
+ url = "https://users.speakeasy.net/~lion/nb/book.pdf"
+ self.assertEqual(
+ views.status.format_links(url),
+ 'users.speakeasy.net/~lion/nb/book.pdf' % url,
+ )
+ url = "https://pkm.one/#/page/The%20Book%20which%20launched%20a%201000%20Note%20taking%20apps"
+ self.assertEqual(
+ views.status.format_links(url), '%s' % (url, url[8:])
+ )
def test_to_markdown(self, *_):
"""this is mostly handled in other places, but nonetheless"""
diff --git a/bookwyrm/tests/views/test_wellknown.py b/bookwyrm/tests/views/test_wellknown.py
index 4a3eb579f..fcbcc12b7 100644
--- a/bookwyrm/tests/views/test_wellknown.py
+++ b/bookwyrm/tests/views/test_wellknown.py
@@ -51,6 +51,16 @@ class UserViews(TestCase):
data = json.loads(result.getvalue())
self.assertEqual(data["subject"], "acct:mouse@local.com")
+ def test_webfinger_case_sensitivty(self):
+ """ensure that webfinger queries are not case sensitive"""
+ request = self.factory.get("", {"resource": "acct:MoUsE@local.com"})
+ request.user = self.anonymous_user
+
+ result = views.webfinger(request)
+ self.assertIsInstance(result, JsonResponse)
+ data = json.loads(result.getvalue())
+ self.assertEqual(data["subject"], "acct:mouse@local.com")
+
def test_nodeinfo_pointer(self):
"""just tells you where nodeinfo is"""
request = self.factory.get("")
diff --git a/bookwyrm/views/feed.py b/bookwyrm/views/feed.py
index 7a46ca57d..d17de8f96 100644
--- a/bookwyrm/views/feed.py
+++ b/bookwyrm/views/feed.py
@@ -96,15 +96,11 @@ class Status(View):
try:
user = get_user_from_username(request.user, username)
status = models.Status.objects.select_subclasses().get(
- id=status_id, deleted=False
+ user=user, id=status_id, deleted=False
)
except (ValueError, models.Status.DoesNotExist):
return HttpResponseNotFound()
- # the url should have the poster's username in it
- if user != status.user:
- return HttpResponseNotFound()
-
# make sure the user is authorized to see the status
if not status.visible_to_user(request.user):
return HttpResponseNotFound()
diff --git a/bookwyrm/views/status.py b/bookwyrm/views/status.py
index 651021b63..fe1dfda13 100644
--- a/bookwyrm/views/status.py
+++ b/bookwyrm/views/status.py
@@ -1,13 +1,17 @@
""" what are we here for if not for posting """
import re
+from urllib.parse import urlparse
+
from django.contrib.auth.decorators import login_required
+from django.core.validators import URLValidator
+from django.core.exceptions import ValidationError
from django.http import HttpResponseBadRequest
from django.shortcuts import get_object_or_404, redirect
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
-from markdown import markdown
+from markdown import markdown
from bookwyrm import forms, models
from bookwyrm.sanitize_html import InputHtmlParser
from bookwyrm.settings import DOMAIN
@@ -149,17 +153,54 @@ def find_mentions(content):
def format_links(content):
"""detect and format links"""
- return re.sub(
- r'([^(href=")]|^|\()(https?:\/\/(%s([\w\.\-_\/+&\?=:;,@#])*))' % regex.DOMAIN,
- r'\g<1>\g<3>',
- content,
- )
+ validator = URLValidator()
+ formatted_content = ""
+ split_content = content.split()
+
+ for index, potential_link in enumerate(split_content):
+ wrapped = _wrapped(potential_link)
+ if wrapped:
+ wrapper_close = potential_link[-1]
+ formatted_content += potential_link[0]
+ potential_link = potential_link[1:-1]
+
+ try:
+ # raises an error on anything that's not a valid link
+ validator(potential_link)
+
+ # use everything but the scheme in the presentation of the link
+ url = urlparse(potential_link)
+ link = url.netloc + url.path + url.params
+ if url.query != "":
+ link += "?" + url.query
+ if url.fragment != "":
+ link += "#" + url.fragment
+
+ formatted_content += '%s' % (potential_link, link)
+ except (ValidationError, UnicodeError):
+ formatted_content += potential_link
+
+ if wrapped:
+ formatted_content += wrapper_close
+ if index < len(split_content) - 1:
+ formatted_content += " "
+
+ return formatted_content
+
+
+def _wrapped(text):
+ """check if a line of text is wrapped"""
+ wrappers = [("(", ")"), ("[", "]"), ("{", "}")]
+ for wrapper in wrappers:
+ if text[0] == wrapper[0] and text[-1] == wrapper[-1]:
+ return True
+ return False
def to_markdown(content):
"""catch links and convert to markdown"""
- content = markdown(content)
content = format_links(content)
+ content = markdown(content)
# sanitize resulting html
sanitizer = InputHtmlParser()
sanitizer.feed(content)
diff --git a/bookwyrm/views/user_admin.py b/bookwyrm/views/user_admin.py
index 7cfefb0f4..3a9ea3392 100644
--- a/bookwyrm/views/user_admin.py
+++ b/bookwyrm/views/user_admin.py
@@ -13,7 +13,7 @@ from bookwyrm.settings import PAGE_LENGTH
# pylint: disable= no-self-use
@method_decorator(login_required, name="dispatch")
@method_decorator(
- permission_required("bookwyrm.moderate_users", raise_exception=True),
+ permission_required("bookwyrm.moderate_user", raise_exception=True),
name="dispatch",
)
class UserAdminList(View):
diff --git a/bookwyrm/views/wellknown.py b/bookwyrm/views/wellknown.py
index 2462c5a49..9c76beafa 100644
--- a/bookwyrm/views/wellknown.py
+++ b/bookwyrm/views/wellknown.py
@@ -20,7 +20,7 @@ def webfinger(request):
username = resource.replace("acct:", "")
try:
- user = models.User.objects.get(username=username)
+ user = models.User.objects.get(username__iexact=username)
except models.User.DoesNotExist:
return HttpResponseNotFound("No account found")
diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo
index 543d53559..d2d1bc5f3 100644
Binary files a/locale/de_DE/LC_MESSAGES/django.mo and b/locale/de_DE/LC_MESSAGES/django.mo differ
diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po
index 00fbd0e8b..397e18c28 100644
--- a/locale/de_DE/LC_MESSAGES/django.po
+++ b/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-16 21:26+0000\n"
+"POT-Creation-Date: 2021-08-27 19:11+0000\n"
"PO-Revision-Date: 2021-03-02 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -94,29 +94,29 @@ msgstr "%(value)s ist keine gültige remote_id"
msgid "%(value)s is not a valid username"
msgstr "%(value)s ist kein gültiger Username"
-#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164
msgid "username"
msgstr "Username"
-#: bookwyrm/models/fields.py:179
+#: bookwyrm/models/fields.py:186
msgid "A user with that username already exists."
msgstr "Dieser Benutzename ist bereits vergeben."
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home Timeline"
msgstr ""
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home"
msgstr ""
-#: bookwyrm/settings.py:124
+#: bookwyrm/settings.py:125
#, fuzzy
#| msgid "Title"
msgid "Books Timeline"
msgstr "Titel"
-#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:81
#, fuzzy
@@ -124,27 +124,27 @@ msgstr "Titel"
msgid "Books"
msgstr "Buch"
-#: bookwyrm/settings.py:170
+#: bookwyrm/settings.py:171
msgid "English"
msgstr "Englisch"
-#: bookwyrm/settings.py:171
+#: bookwyrm/settings.py:172
msgid "German"
msgstr "Deutsch"
-#: bookwyrm/settings.py:172
+#: bookwyrm/settings.py:173
msgid "Spanish"
msgstr "Spanisch"
-#: bookwyrm/settings.py:173
+#: bookwyrm/settings.py:174
msgid "French"
msgstr "Französisch"
-#: bookwyrm/settings.py:174
+#: bookwyrm/settings.py:175
msgid "Simplified Chinese"
msgstr "Vereinfachtes Chinesisch"
-#: bookwyrm/settings.py:175
+#: bookwyrm/settings.py:176
msgid "Traditional Chinese"
msgstr ""
@@ -239,7 +239,7 @@ msgid "Last edited by:"
msgstr "Zuletzt bearbeitet von:"
#: bookwyrm/templates/author/edit_author.html:31
-#: bookwyrm/templates/book/edit_book.html:117
+#: bookwyrm/templates/book/edit_book.html:124
msgid "Metadata"
msgstr "Metadaten"
@@ -251,9 +251,9 @@ msgid "Name:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:43
-#: bookwyrm/templates/book/edit_book.html:162
-#: bookwyrm/templates/book/edit_book.html:171
-#: bookwyrm/templates/book/edit_book.html:214
+#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:221
#, fuzzy
#| msgid "Separate multiple publishers with commas."
msgid "Separate multiple values with commas."
@@ -284,7 +284,7 @@ msgid "Openlibrary key:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:89
-#: bookwyrm/templates/book/edit_book.html:293
+#: bookwyrm/templates/book/edit_book.html:300
#, fuzzy
#| msgid "View on OpenLibrary"
msgid "Inventaire ID:"
@@ -300,8 +300,9 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/book/book.html:141
-#: bookwyrm/templates/book/edit_book.html:321
-#: bookwyrm/templates/book/readthrough.html:77
+#: bookwyrm/templates/book/edit_book.html:328
+#: bookwyrm/templates/book/readthrough.html:76
+#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:78
#: bookwyrm/templates/settings/announcement_form.html:69
@@ -317,8 +318,8 @@ msgstr "Speichern"
#: bookwyrm/templates/author/edit_author.html:117
#: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191
#: bookwyrm/templates/book/cover_modal.html:32
-#: bookwyrm/templates/book/edit_book.html:322
-#: bookwyrm/templates/book/readthrough.html:78
+#: bookwyrm/templates/book/edit_book.html:329
+#: bookwyrm/templates/book/readthrough.html:77
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
@@ -361,7 +362,7 @@ msgid "Add Description"
msgstr "Beschreibung hinzufügen"
#: bookwyrm/templates/book/book.html:137
-#: bookwyrm/templates/book/edit_book.html:136
+#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "Beschreibung:"
@@ -457,24 +458,24 @@ msgid "ISBN:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:14
-#: bookwyrm/templates/book/edit_book.html:301
+#: bookwyrm/templates/book/edit_book.html:308
msgid "OCLC Number:"
msgstr "OCLC Nummer:"
#: bookwyrm/templates/book/book_identifiers.html:21
-#: bookwyrm/templates/book/edit_book.html:309
+#: bookwyrm/templates/book/edit_book.html:316
msgid "ASIN:"
msgstr ""
#: bookwyrm/templates/book/cover_modal.html:17
-#: bookwyrm/templates/book/edit_book.html:229
+#: bookwyrm/templates/book/edit_book.html:236
#, fuzzy
#| msgid "Add cover"
msgid "Upload cover:"
msgstr "Cover hinzufügen"
#: bookwyrm/templates/book/cover_modal.html:23
-#: bookwyrm/templates/book/edit_book.html:235
+#: bookwyrm/templates/book/edit_book.html:242
msgid "Load cover from url:"
msgstr "Cover von URL laden:"
@@ -492,144 +493,144 @@ msgstr "Editionen von %(book_title)s"
msgid "Add Book"
msgstr "Bücher hinzufügen"
-#: bookwyrm/templates/book/edit_book.html:54
+#: bookwyrm/templates/book/edit_book.html:61
msgid "Confirm Book Info"
msgstr "Buchinfo bestätigen"
-#: bookwyrm/templates/book/edit_book.html:62
+#: bookwyrm/templates/book/edit_book.html:69
#, python-format
msgid "Is \"%(name)s\" an existing author?"
msgstr "Existiert \"%(name)s\" bereits als Autor:in?"
-#: bookwyrm/templates/book/edit_book.html:71
+#: bookwyrm/templates/book/edit_book.html:78
#, fuzzy, python-format
#| msgid "Start \"%(book_title)s\""
msgid "Author of %(book_title)s"
msgstr "\"%(book_title)s\" beginnen"
-#: bookwyrm/templates/book/edit_book.html:75
+#: bookwyrm/templates/book/edit_book.html:82
msgid "This is a new author"
msgstr "Neue:r Autor:in"
-#: bookwyrm/templates/book/edit_book.html:82
+#: bookwyrm/templates/book/edit_book.html:89
#, python-format
msgid "Creating a new author: %(name)s"
msgstr "Neu als Autor:in erstellen: %(name)s"
-#: bookwyrm/templates/book/edit_book.html:89
+#: bookwyrm/templates/book/edit_book.html:96
msgid "Is this an edition of an existing work?"
msgstr "Ist das eine Edition eines vorhandenen Werkes?"
-#: bookwyrm/templates/book/edit_book.html:97
+#: bookwyrm/templates/book/edit_book.html:104
msgid "This is a new work"
msgstr "Dies ist ein neues Werk."
-#: bookwyrm/templates/book/edit_book.html:104
+#: bookwyrm/templates/book/edit_book.html:111
#: bookwyrm/templates/password_reset.html:30
msgid "Confirm"
msgstr "Bestätigen"
-#: bookwyrm/templates/book/edit_book.html:106
+#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/feed/status.html:8
msgid "Back"
msgstr "Zurück"
-#: bookwyrm/templates/book/edit_book.html:120
+#: bookwyrm/templates/book/edit_book.html:127
#: bookwyrm/templates/snippets/create_status/review.html:18
msgid "Title:"
msgstr "Titel:"
-#: bookwyrm/templates/book/edit_book.html:128
+#: bookwyrm/templates/book/edit_book.html:135
msgid "Subtitle:"
msgstr "Untertitel:"
-#: bookwyrm/templates/book/edit_book.html:144
+#: bookwyrm/templates/book/edit_book.html:151
msgid "Series:"
msgstr "Serie:"
-#: bookwyrm/templates/book/edit_book.html:152
+#: bookwyrm/templates/book/edit_book.html:159
msgid "Series number:"
msgstr "Seriennummer:"
-#: bookwyrm/templates/book/edit_book.html:160
+#: bookwyrm/templates/book/edit_book.html:167
#, fuzzy
#| msgid "Pages:"
msgid "Languages:"
msgstr "Seiten:"
-#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:176
#, fuzzy
#| msgid "Published"
msgid "Publisher:"
msgstr "Veröffentlicht"
-#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:185
msgid "First published date:"
msgstr "Erstveröffentlichungsdatum:"
-#: bookwyrm/templates/book/edit_book.html:186
+#: bookwyrm/templates/book/edit_book.html:193
msgid "Published date:"
msgstr "Veröffentlichungsdatum:"
-#: bookwyrm/templates/book/edit_book.html:195
+#: bookwyrm/templates/book/edit_book.html:202
#, fuzzy
#| msgid "Author"
msgid "Authors"
msgstr "Autor*in"
-#: bookwyrm/templates/book/edit_book.html:202
+#: bookwyrm/templates/book/edit_book.html:209
#, fuzzy, python-format
#| msgid "Lists: %(username)s"
msgid "Remove %(name)s"
msgstr "Listen: %(username)s"
-#: bookwyrm/templates/book/edit_book.html:205
+#: bookwyrm/templates/book/edit_book.html:212
#, fuzzy, python-format
#| msgid "Lists: %(username)s"
msgid "Author page for %(name)s"
msgstr "Listen: %(username)s"
-#: bookwyrm/templates/book/edit_book.html:212
+#: bookwyrm/templates/book/edit_book.html:219
#, fuzzy
#| msgid "Edit Author"
msgid "Add Authors:"
msgstr "Autor*in editieren"
-#: bookwyrm/templates/book/edit_book.html:213
+#: bookwyrm/templates/book/edit_book.html:220
msgid "John Doe, Jane Smith"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:220
+#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:248
+#: bookwyrm/templates/book/edit_book.html:255
msgid "Physical Properties"
msgstr "Physikalische Eigenschaften"
-#: bookwyrm/templates/book/edit_book.html:250
+#: bookwyrm/templates/book/edit_book.html:257
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:258
+#: bookwyrm/templates/book/edit_book.html:265
msgid "Pages:"
msgstr "Seiten:"
-#: bookwyrm/templates/book/edit_book.html:267
+#: bookwyrm/templates/book/edit_book.html:274
msgid "Book Identifiers"
msgstr "Buchidentifikatoren"
-#: bookwyrm/templates/book/edit_book.html:269
+#: bookwyrm/templates/book/edit_book.html:276
msgid "ISBN 13:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:277
+#: bookwyrm/templates/book/edit_book.html:284
msgid "ISBN 10:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:285
+#: bookwyrm/templates/book/edit_book.html:292
msgid "Openlibrary ID:"
msgstr ""
@@ -697,31 +698,37 @@ msgstr "bewertet"
msgid "Progress Updates:"
msgstr "Fortschrittsupdates:"
-#: bookwyrm/templates/book/readthrough.html:14
+#: bookwyrm/templates/book/readthrough.html:13
msgid "finished"
msgstr "Abgeschlossen"
-#: bookwyrm/templates/book/readthrough.html:25
+#: bookwyrm/templates/book/readthrough.html:24
msgid "Show all updates"
msgstr "Zeige alle Updates"
-#: bookwyrm/templates/book/readthrough.html:41
+#: bookwyrm/templates/book/readthrough.html:40
msgid "Delete this progress update"
msgstr "Dieses Fortschrittsupdate löschen"
-#: bookwyrm/templates/book/readthrough.html:52
+#: bookwyrm/templates/book/readthrough.html:51
msgid "started"
msgstr "Angefangen"
-#: bookwyrm/templates/book/readthrough.html:59
-#: bookwyrm/templates/book/readthrough.html:73
+#: bookwyrm/templates/book/readthrough.html:58
+#: bookwyrm/templates/book/readthrough.html:72
msgid "Edit read dates"
msgstr "Lesedaten bearbeiten"
-#: bookwyrm/templates/book/readthrough.html:63
+#: bookwyrm/templates/book/readthrough.html:62
msgid "Delete these read dates"
msgstr "Diese Lesedaten löschen"
+#: bookwyrm/templates/book/search_filter.html:5
+#, fuzzy
+#| msgid "Search Results"
+msgid "Search editions"
+msgstr "Suchergebnisse"
+
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/layout.html:71
@@ -1064,22 +1071,22 @@ msgid "There are no books here right now! Try searching for a book to get starte
msgstr "Hier sind noch keine Bücher! Versuche nach Büchern zu suchen um loszulegen"
#: bookwyrm/templates/feed/layout.html:25
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
#, fuzzy
#| msgid "Read"
msgid "To Read"
msgstr "Auf der Leseliste"
#: bookwyrm/templates/feed/layout.html:26
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
#, fuzzy
#| msgid "Start reading"
msgid "Currently Reading"
msgstr "Gerade lesend"
#: bookwyrm/templates/feed/layout.html:27
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Read"
msgstr "Gelesen"
@@ -1094,6 +1101,10 @@ msgstr "%(year)s Leseziel"
msgid "Who to follow"
msgstr ""
+#: bookwyrm/templates/feed/suggested_users.html:5
+msgid "View directory"
+msgstr ""
+
#: bookwyrm/templates/get_started/book_preview.html:6
#, fuzzy, python-format
#| msgid "Want to Read \"%(book_title)s\""
@@ -1112,7 +1123,6 @@ msgid "Search for a book"
msgstr "Nach einem Buch suchen"
#: bookwyrm/templates/get_started/books.html:11
-#: bookwyrm/templates/isbn_search_results.html:17
#, python-format
msgid "No books found for \"%(query)s\""
msgstr "Keine Bücher für \"%(query)s\" gefunden"
@@ -1274,7 +1284,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "%(username)ss %(year)s Bücher"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/user/shelf/shelf.html:40
+#: bookwyrm/templates/user/shelf/shelf.html:42
msgid "Import Books"
msgstr "Bücher importieren"
@@ -1328,7 +1338,7 @@ msgstr "Import gestartet:"
msgid "Import completed:"
msgstr "Import abgeschlossen:"
-#: bookwyrm/templates/import_status.html:25
+#: bookwyrm/templates/import_status.html:24
msgid "TASK FAILED"
msgstr "AUFGABE GESCHEITERT"
@@ -1405,19 +1415,6 @@ msgstr "Zugiff verweigert"
msgid "Sorry! This invite code is no longer valid."
msgstr "Sorry! Dieser Einladecode ist mehr gültig."
-#: bookwyrm/templates/isbn_search_results.html:4
-msgid "Search Results"
-msgstr "Suchergebnisse"
-
-#: bookwyrm/templates/isbn_search_results.html:9
-#, python-format
-msgid "Search Results for \"%(query)s\""
-msgstr "Suchergebnisse für \"%(query)s\""
-
-#: bookwyrm/templates/isbn_search_results.html:14
-msgid "Matching Books"
-msgstr "Passende Bücher"
-
#: bookwyrm/templates/landing/about.html:7
#, python-format
msgid "About %(site_name)s"
@@ -1563,6 +1560,10 @@ msgstr "%(site_name)s auf %(suppo
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub."
msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden."
+#: bookwyrm/templates/lists/bookmark_button.html:30
+msgid "Un-save"
+msgstr ""
+
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
@@ -1715,10 +1716,28 @@ msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden"
msgid "Suggest"
msgstr "Vorschlagen"
+#: bookwyrm/templates/lists/list_items.html:15
+#, fuzzy
+#| msgid "Save"
+msgid "Saved"
+msgstr "Speichern"
+
#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9
msgid "Your Lists"
msgstr "Deine Listen"
+#: bookwyrm/templates/lists/lists.html:35
+#, fuzzy
+#| msgid "Lists"
+msgid "All Lists"
+msgstr "Listen"
+
+#: bookwyrm/templates/lists/lists.html:39
+#, fuzzy
+#| msgid "Create List"
+msgid "Saved Lists"
+msgstr "Liste erstellen"
+
#: bookwyrm/templates/login.html:4
msgid "Login"
msgstr ""
@@ -2232,31 +2251,31 @@ msgstr "Aktivität"
msgid "Create Announcement"
msgstr "Ankündigungen"
-#: bookwyrm/templates/settings/announcements.html:22
+#: bookwyrm/templates/settings/announcements.html:21
#, fuzzy
#| msgid "Added:"
msgid "Date added"
msgstr "Hinzugefügt:"
-#: bookwyrm/templates/settings/announcements.html:26
+#: bookwyrm/templates/settings/announcements.html:25
#, fuzzy
#| msgid "reviewed"
msgid "Preview"
msgstr "bewertete"
-#: bookwyrm/templates/settings/announcements.html:30
+#: bookwyrm/templates/settings/announcements.html:29
#, fuzzy
#| msgid "Started"
msgid "Start date"
msgstr "Gestartet"
-#: bookwyrm/templates/settings/announcements.html:34
+#: bookwyrm/templates/settings/announcements.html:33
#, fuzzy
#| msgid "Edit read dates"
msgid "End date"
msgstr "Lesedaten bearbeiten"
-#: bookwyrm/templates/settings/announcements.html:38
+#: bookwyrm/templates/settings/announcements.html:37
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
@@ -2264,13 +2283,13 @@ msgstr "Lesedaten bearbeiten"
msgid "Status"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
#, fuzzy
#| msgid "Activity"
msgid "active"
msgstr "Aktivität"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
#, fuzzy
#| msgid "Activity"
msgid "inactive"
@@ -2666,7 +2685,7 @@ msgid_plural "and %(remainder_count_display)s others"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/snippets/book_cover.html:32
+#: bookwyrm/templates/snippets/book_cover.html:61
#, fuzzy
#| msgid "Add cover"
msgid "No cover"
@@ -2803,13 +2822,13 @@ msgstr "Diese Lesedaten löschen?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates."
-#: bookwyrm/templates/snippets/fav_button.html:10
-#: bookwyrm/templates/snippets/fav_button.html:12
+#: bookwyrm/templates/snippets/fav_button.html:16
+#: bookwyrm/templates/snippets/fav_button.html:17
msgid "Like"
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:18
-#: bookwyrm/templates/snippets/fav_button.html:19
+#: bookwyrm/templates/snippets/fav_button.html:30
+#: bookwyrm/templates/snippets/fav_button.html:31
#, fuzzy
#| msgid "Un-like status"
msgid "Un-like"
@@ -3021,7 +3040,7 @@ msgid "(Optional)"
msgstr ""
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47
#, fuzzy
#| msgid "Progress"
msgid "Update progress"
@@ -3069,15 +3088,15 @@ msgstr "Mehr Regale"
msgid "Start reading"
msgstr "Zu lesen beginnen"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
msgid "Finish reading"
msgstr "Lesen abschließen"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27
msgid "Want to read"
msgstr "Auf Leseliste setzen"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59
#, fuzzy, python-format
#| msgid "Lists: %(username)s"
msgid "Remove from %(name)s"
@@ -3273,13 +3292,13 @@ msgstr "Regal bearbeiten"
msgid "Update shelf"
msgstr "Regal aktualisieren"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
+#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56
#, fuzzy
#| msgid "books"
msgid "All books"
msgstr "Bücher"
-#: bookwyrm/templates/user/shelf/shelf.html:38
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Create shelf"
msgstr "Regal erstellen"
@@ -3453,11 +3472,11 @@ msgstr ""
msgid "Access level:"
msgstr ""
-#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28
msgid "File exceeds maximum size: 10MB"
msgstr ""
-#: bookwyrm/templatetags/utilities.py:30
+#: bookwyrm/templatetags/utilities.py:31
#, python-format
msgid "%(title)s: %(subtitle)s"
msgstr ""
@@ -3488,6 +3507,12 @@ msgstr ""
msgid "Status updates from {obj.display_name}"
msgstr ""
+#~ msgid "Search Results for \"%(query)s\""
+#~ msgstr "Suchergebnisse für \"%(query)s\""
+
+#~ msgid "Matching Books"
+#~ msgstr "Passende Bücher"
+
#, fuzzy
#~| msgid "Federated Servers"
#~ msgid "Federated Timeline"
diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po
index ac2acf350..65c402b1f 100644
--- a/locale/en_US/LC_MESSAGES/django.po
+++ b/locale/en_US/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-16 21:26+0000\n"
+"POT-Creation-Date: 2021-08-27 19:11+0000\n"
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -84,53 +84,53 @@ msgstr ""
msgid "%(value)s is not a valid username"
msgstr ""
-#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164
msgid "username"
msgstr ""
-#: bookwyrm/models/fields.py:179
+#: bookwyrm/models/fields.py:186
msgid "A user with that username already exists."
msgstr ""
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home Timeline"
msgstr ""
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home"
msgstr ""
-#: bookwyrm/settings.py:124
+#: bookwyrm/settings.py:125
msgid "Books Timeline"
msgstr ""
-#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:81
msgid "Books"
msgstr ""
-#: bookwyrm/settings.py:170
+#: bookwyrm/settings.py:171
msgid "English"
msgstr ""
-#: bookwyrm/settings.py:171
+#: bookwyrm/settings.py:172
msgid "German"
msgstr ""
-#: bookwyrm/settings.py:172
+#: bookwyrm/settings.py:173
msgid "Spanish"
msgstr ""
-#: bookwyrm/settings.py:173
+#: bookwyrm/settings.py:174
msgid "French"
msgstr ""
-#: bookwyrm/settings.py:174
+#: bookwyrm/settings.py:175
msgid "Simplified Chinese"
msgstr ""
-#: bookwyrm/settings.py:175
+#: bookwyrm/settings.py:176
msgid "Traditional Chinese"
msgstr ""
@@ -219,7 +219,7 @@ msgid "Last edited by:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:31
-#: bookwyrm/templates/book/edit_book.html:117
+#: bookwyrm/templates/book/edit_book.html:124
msgid "Metadata"
msgstr ""
@@ -231,9 +231,9 @@ msgid "Name:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:43
-#: bookwyrm/templates/book/edit_book.html:162
-#: bookwyrm/templates/book/edit_book.html:171
-#: bookwyrm/templates/book/edit_book.html:214
+#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:221
msgid "Separate multiple values with commas."
msgstr ""
@@ -262,7 +262,7 @@ msgid "Openlibrary key:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:89
-#: bookwyrm/templates/book/edit_book.html:293
+#: bookwyrm/templates/book/edit_book.html:300
msgid "Inventaire ID:"
msgstr ""
@@ -276,8 +276,9 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/book/book.html:141
-#: bookwyrm/templates/book/edit_book.html:321
-#: bookwyrm/templates/book/readthrough.html:77
+#: bookwyrm/templates/book/edit_book.html:328
+#: bookwyrm/templates/book/readthrough.html:76
+#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:78
#: bookwyrm/templates/settings/announcement_form.html:69
@@ -293,8 +294,8 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:117
#: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191
#: bookwyrm/templates/book/cover_modal.html:32
-#: bookwyrm/templates/book/edit_book.html:322
-#: bookwyrm/templates/book/readthrough.html:78
+#: bookwyrm/templates/book/edit_book.html:329
+#: bookwyrm/templates/book/readthrough.html:77
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
@@ -335,7 +336,7 @@ msgid "Add Description"
msgstr ""
#: bookwyrm/templates/book/book.html:137
-#: bookwyrm/templates/book/edit_book.html:136
+#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr ""
@@ -418,22 +419,22 @@ msgid "ISBN:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:14
-#: bookwyrm/templates/book/edit_book.html:301
+#: bookwyrm/templates/book/edit_book.html:308
msgid "OCLC Number:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:21
-#: bookwyrm/templates/book/edit_book.html:309
+#: bookwyrm/templates/book/edit_book.html:316
msgid "ASIN:"
msgstr ""
#: bookwyrm/templates/book/cover_modal.html:17
-#: bookwyrm/templates/book/edit_book.html:229
+#: bookwyrm/templates/book/edit_book.html:236
msgid "Upload cover:"
msgstr ""
#: bookwyrm/templates/book/cover_modal.html:23
-#: bookwyrm/templates/book/edit_book.html:235
+#: bookwyrm/templates/book/edit_book.html:242
msgid "Load cover from url:"
msgstr ""
@@ -448,133 +449,133 @@ msgstr ""
msgid "Add Book"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:54
+#: bookwyrm/templates/book/edit_book.html:61
msgid "Confirm Book Info"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:62
+#: bookwyrm/templates/book/edit_book.html:69
#, python-format
msgid "Is \"%(name)s\" an existing author?"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:71
+#: bookwyrm/templates/book/edit_book.html:78
#, python-format
msgid "Author of %(book_title)s"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:75
+#: bookwyrm/templates/book/edit_book.html:82
msgid "This is a new author"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:82
+#: bookwyrm/templates/book/edit_book.html:89
#, python-format
msgid "Creating a new author: %(name)s"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:89
+#: bookwyrm/templates/book/edit_book.html:96
msgid "Is this an edition of an existing work?"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:97
+#: bookwyrm/templates/book/edit_book.html:104
msgid "This is a new work"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:104
+#: bookwyrm/templates/book/edit_book.html:111
#: bookwyrm/templates/password_reset.html:30
msgid "Confirm"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:106
+#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/feed/status.html:8
msgid "Back"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:120
+#: bookwyrm/templates/book/edit_book.html:127
#: bookwyrm/templates/snippets/create_status/review.html:18
msgid "Title:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:128
+#: bookwyrm/templates/book/edit_book.html:135
msgid "Subtitle:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:144
+#: bookwyrm/templates/book/edit_book.html:151
msgid "Series:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:152
+#: bookwyrm/templates/book/edit_book.html:159
msgid "Series number:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:160
+#: bookwyrm/templates/book/edit_book.html:167
msgid "Languages:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:176
msgid "Publisher:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:185
msgid "First published date:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:186
+#: bookwyrm/templates/book/edit_book.html:193
msgid "Published date:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:195
+#: bookwyrm/templates/book/edit_book.html:202
msgid "Authors"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:202
+#: bookwyrm/templates/book/edit_book.html:209
#, python-format
msgid "Remove %(name)s"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:205
+#: bookwyrm/templates/book/edit_book.html:212
#, python-format
msgid "Author page for %(name)s"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:212
+#: bookwyrm/templates/book/edit_book.html:219
msgid "Add Authors:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:213
+#: bookwyrm/templates/book/edit_book.html:220
msgid "John Doe, Jane Smith"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:220
+#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:248
+#: bookwyrm/templates/book/edit_book.html:255
msgid "Physical Properties"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:250
+#: bookwyrm/templates/book/edit_book.html:257
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:258
+#: bookwyrm/templates/book/edit_book.html:265
msgid "Pages:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:267
+#: bookwyrm/templates/book/edit_book.html:274
msgid "Book Identifiers"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:269
+#: bookwyrm/templates/book/edit_book.html:276
msgid "ISBN 13:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:277
+#: bookwyrm/templates/book/edit_book.html:284
msgid "ISBN 10:"
msgstr ""
-#: bookwyrm/templates/book/edit_book.html:285
+#: bookwyrm/templates/book/edit_book.html:292
msgid "Openlibrary ID:"
msgstr ""
@@ -640,31 +641,35 @@ msgstr ""
msgid "Progress Updates:"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:14
+#: bookwyrm/templates/book/readthrough.html:13
msgid "finished"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:25
+#: bookwyrm/templates/book/readthrough.html:24
msgid "Show all updates"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:41
+#: bookwyrm/templates/book/readthrough.html:40
msgid "Delete this progress update"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:52
+#: bookwyrm/templates/book/readthrough.html:51
msgid "started"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:59
-#: bookwyrm/templates/book/readthrough.html:73
+#: bookwyrm/templates/book/readthrough.html:58
+#: bookwyrm/templates/book/readthrough.html:72
msgid "Edit read dates"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:63
+#: bookwyrm/templates/book/readthrough.html:62
msgid "Delete these read dates"
msgstr ""
+#: bookwyrm/templates/book/search_filter.html:5
+msgid "Search editions"
+msgstr ""
+
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/layout.html:71
@@ -972,18 +977,18 @@ msgid "There are no books here right now! Try searching for a book to get starte
msgstr ""
#: bookwyrm/templates/feed/layout.html:25
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "To Read"
msgstr ""
#: bookwyrm/templates/feed/layout.html:26
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Currently Reading"
msgstr ""
#: bookwyrm/templates/feed/layout.html:27
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Read"
msgstr ""
@@ -998,6 +1003,10 @@ msgstr ""
msgid "Who to follow"
msgstr ""
+#: bookwyrm/templates/feed/suggested_users.html:5
+msgid "View directory"
+msgstr ""
+
#: bookwyrm/templates/get_started/book_preview.html:6
#, python-format
msgid "Have you read %(book_title)s?"
@@ -1013,7 +1022,6 @@ msgid "Search for a book"
msgstr ""
#: bookwyrm/templates/get_started/books.html:11
-#: bookwyrm/templates/isbn_search_results.html:17
#, python-format
msgid "No books found for \"%(query)s\""
msgstr ""
@@ -1161,7 +1169,7 @@ msgid "%(username)s's %(year)s Books"
msgstr ""
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/user/shelf/shelf.html:40
+#: bookwyrm/templates/user/shelf/shelf.html:42
msgid "Import Books"
msgstr ""
@@ -1211,7 +1219,7 @@ msgstr ""
msgid "Import completed:"
msgstr ""
-#: bookwyrm/templates/import_status.html:25
+#: bookwyrm/templates/import_status.html:24
msgid "TASK FAILED"
msgstr ""
@@ -1286,19 +1294,6 @@ msgstr ""
msgid "Sorry! This invite code is no longer valid."
msgstr ""
-#: bookwyrm/templates/isbn_search_results.html:4
-msgid "Search Results"
-msgstr ""
-
-#: bookwyrm/templates/isbn_search_results.html:9
-#, python-format
-msgid "Search Results for \"%(query)s\""
-msgstr ""
-
-#: bookwyrm/templates/isbn_search_results.html:14
-msgid "Matching Books"
-msgstr ""
-
#: bookwyrm/templates/landing/about.html:7
#, python-format
msgid "About %(site_name)s"
@@ -1438,6 +1433,10 @@ msgstr ""
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub."
msgstr ""
+#: bookwyrm/templates/lists/bookmark_button.html:30
+msgid "Un-save"
+msgstr ""
+
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
@@ -1577,10 +1576,22 @@ msgstr ""
msgid "Suggest"
msgstr ""
+#: bookwyrm/templates/lists/list_items.html:15
+msgid "Saved"
+msgstr ""
+
#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9
msgid "Your Lists"
msgstr ""
+#: bookwyrm/templates/lists/lists.html:35
+msgid "All Lists"
+msgstr ""
+
+#: bookwyrm/templates/lists/lists.html:39
+msgid "Saved Lists"
+msgstr ""
+
#: bookwyrm/templates/login.html:4
msgid "Login"
msgstr ""
@@ -2045,23 +2056,23 @@ msgstr ""
msgid "Create Announcement"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:22
+#: bookwyrm/templates/settings/announcements.html:21
msgid "Date added"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:26
+#: bookwyrm/templates/settings/announcements.html:25
msgid "Preview"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:30
+#: bookwyrm/templates/settings/announcements.html:29
msgid "Start date"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:34
+#: bookwyrm/templates/settings/announcements.html:33
msgid "End date"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:38
+#: bookwyrm/templates/settings/announcements.html:37
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
@@ -2069,11 +2080,11 @@ msgstr ""
msgid "Status"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "active"
msgstr ""
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "inactive"
msgstr ""
@@ -2414,7 +2425,7 @@ msgid_plural "and %(remainder_count_display)s others"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/snippets/book_cover.html:32
+#: bookwyrm/templates/snippets/book_cover.html:61
msgid "No cover"
msgstr ""
@@ -2534,13 +2545,13 @@ msgstr ""
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:10
-#: bookwyrm/templates/snippets/fav_button.html:12
+#: bookwyrm/templates/snippets/fav_button.html:16
+#: bookwyrm/templates/snippets/fav_button.html:17
msgid "Like"
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:18
-#: bookwyrm/templates/snippets/fav_button.html:19
+#: bookwyrm/templates/snippets/fav_button.html:30
+#: bookwyrm/templates/snippets/fav_button.html:31
msgid "Un-like"
msgstr ""
@@ -2739,7 +2750,7 @@ msgid "(Optional)"
msgstr ""
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47
msgid "Update progress"
msgstr ""
@@ -2781,15 +2792,15 @@ msgstr ""
msgid "Start reading"
msgstr ""
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
msgid "Finish reading"
msgstr ""
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27
msgid "Want to read"
msgstr ""
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59
#, python-format
msgid "Remove from %(name)s"
msgstr ""
@@ -2967,11 +2978,11 @@ msgstr ""
msgid "Update shelf"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
+#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:38
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Create shelf"
msgstr ""
@@ -3126,11 +3137,11 @@ msgstr ""
msgid "Access level:"
msgstr ""
-#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28
msgid "File exceeds maximum size: 10MB"
msgstr ""
-#: bookwyrm/templatetags/utilities.py:30
+#: bookwyrm/templatetags/utilities.py:31
#, python-format
msgid "%(title)s: %(subtitle)s"
msgstr ""
diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo
index a7b3e1812..6881c1026 100644
Binary files a/locale/es/LC_MESSAGES/django.mo and b/locale/es/LC_MESSAGES/django.mo differ
diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po
index 04497a2a1..117102781 100644
--- a/locale/es/LC_MESSAGES/django.po
+++ b/locale/es/LC_MESSAGES/django.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-16 21:26+0000\n"
+"POT-Creation-Date: 2021-08-29 18:01+0000\n"
"PO-Revision-Date: 2021-03-19 11:49+0800\n"
-"Last-Translator: FULL NAME \n"
+"Last-Translator: Reese Porter \n"
"Language-Team: LANGUAGE \n"
"Language: \n"
"MIME-Version: 1.0\n"
@@ -84,53 +84,53 @@ msgstr "%(value)s no es un remote_id válido"
msgid "%(value)s is not a valid username"
msgstr "%(value)s no es un usuario válido"
-#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164
msgid "username"
msgstr "nombre de usuario"
-#: bookwyrm/models/fields.py:179
+#: bookwyrm/models/fields.py:186
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con ese nombre."
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home Timeline"
msgstr "Línea temporal de hogar"
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home"
msgstr "Hogar"
-#: bookwyrm/settings.py:124
+#: bookwyrm/settings.py:125
msgid "Books Timeline"
msgstr "Línea temporal de libros"
-#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:81
msgid "Books"
msgstr "Libros"
-#: bookwyrm/settings.py:170
+#: bookwyrm/settings.py:171
msgid "English"
msgstr "Inglés"
-#: bookwyrm/settings.py:171
+#: bookwyrm/settings.py:172
msgid "German"
msgstr "Aléman"
-#: bookwyrm/settings.py:172
+#: bookwyrm/settings.py:173
msgid "Spanish"
msgstr "Español"
-#: bookwyrm/settings.py:173
+#: bookwyrm/settings.py:174
msgid "French"
msgstr "Francés"
-#: bookwyrm/settings.py:174
+#: bookwyrm/settings.py:175
msgid "Simplified Chinese"
msgstr "Chino simplificado"
-#: bookwyrm/settings.py:175
+#: bookwyrm/settings.py:176
msgid "Traditional Chinese"
msgstr "Chino tradicional"
@@ -219,7 +219,7 @@ msgid "Last edited by:"
msgstr "Editado más recientemente por:"
#: bookwyrm/templates/author/edit_author.html:31
-#: bookwyrm/templates/book/edit_book.html:117
+#: bookwyrm/templates/book/edit_book.html:124
msgid "Metadata"
msgstr "Metadatos"
@@ -231,9 +231,9 @@ msgid "Name:"
msgstr "Nombre:"
#: bookwyrm/templates/author/edit_author.html:43
-#: bookwyrm/templates/book/edit_book.html:162
-#: bookwyrm/templates/book/edit_book.html:171
-#: bookwyrm/templates/book/edit_book.html:214
+#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:221
msgid "Separate multiple values with commas."
msgstr "Separar varios valores con comas."
@@ -262,7 +262,7 @@ msgid "Openlibrary key:"
msgstr "Clave OpenLibrary:"
#: bookwyrm/templates/author/edit_author.html:89
-#: bookwyrm/templates/book/edit_book.html:293
+#: bookwyrm/templates/book/edit_book.html:300
msgid "Inventaire ID:"
msgstr "ID Inventaire:"
@@ -276,8 +276,9 @@ msgstr "Clave Goodreads:"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/book/book.html:141
-#: bookwyrm/templates/book/edit_book.html:321
-#: bookwyrm/templates/book/readthrough.html:77
+#: bookwyrm/templates/book/edit_book.html:328
+#: bookwyrm/templates/book/readthrough.html:76
+#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:78
#: bookwyrm/templates/settings/announcement_form.html:69
@@ -293,8 +294,8 @@ msgstr "Guardar"
#: bookwyrm/templates/author/edit_author.html:117
#: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191
#: bookwyrm/templates/book/cover_modal.html:32
-#: bookwyrm/templates/book/edit_book.html:322
-#: bookwyrm/templates/book/readthrough.html:78
+#: bookwyrm/templates/book/edit_book.html:329
+#: bookwyrm/templates/book/readthrough.html:77
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
@@ -335,7 +336,7 @@ msgid "Add Description"
msgstr "Agregar descripción"
#: bookwyrm/templates/book/book.html:137
-#: bookwyrm/templates/book/edit_book.html:136
+#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "Descripción:"
@@ -418,22 +419,22 @@ msgid "ISBN:"
msgstr "ISBN:"
#: bookwyrm/templates/book/book_identifiers.html:14
-#: bookwyrm/templates/book/edit_book.html:301
+#: bookwyrm/templates/book/edit_book.html:308
msgid "OCLC Number:"
msgstr "Número OCLC:"
#: bookwyrm/templates/book/book_identifiers.html:21
-#: bookwyrm/templates/book/edit_book.html:309
+#: bookwyrm/templates/book/edit_book.html:316
msgid "ASIN:"
msgstr "ASIN:"
#: bookwyrm/templates/book/cover_modal.html:17
-#: bookwyrm/templates/book/edit_book.html:229
+#: bookwyrm/templates/book/edit_book.html:236
msgid "Upload cover:"
msgstr "Subir portada:"
#: bookwyrm/templates/book/cover_modal.html:23
-#: bookwyrm/templates/book/edit_book.html:235
+#: bookwyrm/templates/book/edit_book.html:242
msgid "Load cover from url:"
msgstr "Agregar portada de url:"
@@ -448,133 +449,133 @@ msgstr "Editar \"%(book_title)s\""
msgid "Add Book"
msgstr "Agregar libro"
-#: bookwyrm/templates/book/edit_book.html:54
+#: bookwyrm/templates/book/edit_book.html:61
msgid "Confirm Book Info"
msgstr "Confirmar información de libro"
-#: bookwyrm/templates/book/edit_book.html:62
+#: bookwyrm/templates/book/edit_book.html:69
#, python-format
msgid "Is \"%(name)s\" an existing author?"
msgstr "¿Es \"%(name)s\" un autor ya existente?"
-#: bookwyrm/templates/book/edit_book.html:71
+#: bookwyrm/templates/book/edit_book.html:78
#, python-format
msgid "Author of %(book_title)s"
msgstr "Autor de %(book_title)s"
-#: bookwyrm/templates/book/edit_book.html:75
+#: bookwyrm/templates/book/edit_book.html:82
msgid "This is a new author"
msgstr "Este es un autor nuevo"
-#: bookwyrm/templates/book/edit_book.html:82
+#: bookwyrm/templates/book/edit_book.html:89
#, python-format
msgid "Creating a new author: %(name)s"
msgstr "Creando un autor nuevo: %(name)s"
-#: bookwyrm/templates/book/edit_book.html:89
+#: bookwyrm/templates/book/edit_book.html:96
msgid "Is this an edition of an existing work?"
msgstr "¿Es esta una edición de una obra ya existente?"
-#: bookwyrm/templates/book/edit_book.html:97
+#: bookwyrm/templates/book/edit_book.html:104
msgid "This is a new work"
msgstr "Esta es una obra nueva"
-#: bookwyrm/templates/book/edit_book.html:104
+#: bookwyrm/templates/book/edit_book.html:111
#: bookwyrm/templates/password_reset.html:30
msgid "Confirm"
msgstr "Confirmar"
-#: bookwyrm/templates/book/edit_book.html:106
+#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/feed/status.html:8
msgid "Back"
msgstr "Volver"
-#: bookwyrm/templates/book/edit_book.html:120
+#: bookwyrm/templates/book/edit_book.html:127
#: bookwyrm/templates/snippets/create_status/review.html:18
msgid "Title:"
msgstr "Título:"
-#: bookwyrm/templates/book/edit_book.html:128
+#: bookwyrm/templates/book/edit_book.html:135
msgid "Subtitle:"
msgstr "Subtítulo:"
-#: bookwyrm/templates/book/edit_book.html:144
+#: bookwyrm/templates/book/edit_book.html:151
msgid "Series:"
msgstr "Serie:"
-#: bookwyrm/templates/book/edit_book.html:152
+#: bookwyrm/templates/book/edit_book.html:159
msgid "Series number:"
msgstr "Número de serie:"
-#: bookwyrm/templates/book/edit_book.html:160
+#: bookwyrm/templates/book/edit_book.html:167
msgid "Languages:"
msgstr "Idiomas:"
-#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:176
msgid "Publisher:"
msgstr "Editorial:"
-#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:185
msgid "First published date:"
msgstr "Fecha de primera publicación:"
-#: bookwyrm/templates/book/edit_book.html:186
+#: bookwyrm/templates/book/edit_book.html:193
msgid "Published date:"
msgstr "Fecha de publicación:"
-#: bookwyrm/templates/book/edit_book.html:195
+#: bookwyrm/templates/book/edit_book.html:202
msgid "Authors"
msgstr "Autores"
-#: bookwyrm/templates/book/edit_book.html:202
+#: bookwyrm/templates/book/edit_book.html:209
#, python-format
msgid "Remove %(name)s"
msgstr "Quitar %(name)s"
-#: bookwyrm/templates/book/edit_book.html:205
+#: bookwyrm/templates/book/edit_book.html:212
#, python-format
msgid "Author page for %(name)s"
msgstr "Página de autor por %(name)s"
-#: bookwyrm/templates/book/edit_book.html:212
+#: bookwyrm/templates/book/edit_book.html:219
msgid "Add Authors:"
msgstr "Agregar Autores:"
-#: bookwyrm/templates/book/edit_book.html:213
+#: bookwyrm/templates/book/edit_book.html:220
msgid "John Doe, Jane Smith"
msgstr "Juan Nadie, Natalia Natalia"
-#: bookwyrm/templates/book/edit_book.html:220
+#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr "Portada:"
-#: bookwyrm/templates/book/edit_book.html:248
+#: bookwyrm/templates/book/edit_book.html:255
msgid "Physical Properties"
msgstr "Propiedades físicas:"
-#: bookwyrm/templates/book/edit_book.html:250
+#: bookwyrm/templates/book/edit_book.html:257
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr "Formato:"
-#: bookwyrm/templates/book/edit_book.html:258
+#: bookwyrm/templates/book/edit_book.html:265
msgid "Pages:"
msgstr "Páginas:"
-#: bookwyrm/templates/book/edit_book.html:267
+#: bookwyrm/templates/book/edit_book.html:274
msgid "Book Identifiers"
msgstr "Identificadores de libro"
-#: bookwyrm/templates/book/edit_book.html:269
+#: bookwyrm/templates/book/edit_book.html:276
msgid "ISBN 13:"
msgstr "ISBN 13:"
-#: bookwyrm/templates/book/edit_book.html:277
+#: bookwyrm/templates/book/edit_book.html:284
msgid "ISBN 10:"
msgstr "ISBN 10:"
-#: bookwyrm/templates/book/edit_book.html:285
+#: bookwyrm/templates/book/edit_book.html:292
msgid "Openlibrary ID:"
msgstr "ID OpenLibrary:"
@@ -640,31 +641,35 @@ msgstr "lo calificó con"
msgid "Progress Updates:"
msgstr "Actualizaciones de progreso:"
-#: bookwyrm/templates/book/readthrough.html:14
+#: bookwyrm/templates/book/readthrough.html:13
msgid "finished"
msgstr "terminado"
-#: bookwyrm/templates/book/readthrough.html:25
+#: bookwyrm/templates/book/readthrough.html:24
msgid "Show all updates"
msgstr "Mostrar todas las actualizaciones"
-#: bookwyrm/templates/book/readthrough.html:41
+#: bookwyrm/templates/book/readthrough.html:40
msgid "Delete this progress update"
msgstr "Eliminar esta actualización de progreso"
-#: bookwyrm/templates/book/readthrough.html:52
+#: bookwyrm/templates/book/readthrough.html:51
msgid "started"
msgstr "empezado"
-#: bookwyrm/templates/book/readthrough.html:59
-#: bookwyrm/templates/book/readthrough.html:73
+#: bookwyrm/templates/book/readthrough.html:58
+#: bookwyrm/templates/book/readthrough.html:72
msgid "Edit read dates"
msgstr "Editar fechas de lectura"
-#: bookwyrm/templates/book/readthrough.html:63
+#: bookwyrm/templates/book/readthrough.html:62
msgid "Delete these read dates"
msgstr "Eliminar estas fechas de lectura"
+#: bookwyrm/templates/book/search_filter.html:5
+msgid "Search editions"
+msgstr "Buscar ediciones"
+
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/layout.html:71
@@ -950,10 +955,8 @@ msgid "You have no messages right now."
msgstr "No tienes ningún mensaje en este momento."
#: bookwyrm/templates/feed/feed.html:22
-#, fuzzy, python-format
-#| msgid "load 0 unread status(es)"
msgid "load 0 unread status(es)"
-msgstr "cargar 0 status(es) no leído(s)"
+msgstr "cargar 0 status(es) no leído(s)"
#: bookwyrm/templates/feed/feed.html:38
msgid "There aren't any activities right now! Try following a user to get started"
@@ -973,18 +976,18 @@ msgid "There are no books here right now! Try searching for a book to get starte
msgstr "¡No hay ningún libro aqui ahorita! Busca a un libro para empezar"
#: bookwyrm/templates/feed/layout.html:25
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "To Read"
msgstr "Para leer"
#: bookwyrm/templates/feed/layout.html:26
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Currently Reading"
msgstr "Leyendo actualmente"
#: bookwyrm/templates/feed/layout.html:27
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Read"
msgstr "Leido"
@@ -999,6 +1002,10 @@ msgstr "%(year)s Meta de lectura"
msgid "Who to follow"
msgstr "A quién seguir"
+#: bookwyrm/templates/feed/suggested_users.html:5
+msgid "View directory"
+msgstr "Ver directorio"
+
#: bookwyrm/templates/get_started/book_preview.html:6
#, python-format
msgid "Have you read %(book_title)s?"
@@ -1014,7 +1021,6 @@ msgid "Search for a book"
msgstr "Buscar libros"
#: bookwyrm/templates/get_started/books.html:11
-#: bookwyrm/templates/isbn_search_results.html:17
#, python-format
msgid "No books found for \"%(query)s\""
msgstr "No se encontró ningún libro correspondiente a \"%(query)s\""
@@ -1162,7 +1168,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "Los libros de %(username)s para %(year)s"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/user/shelf/shelf.html:40
+#: bookwyrm/templates/user/shelf/shelf.html:42
msgid "Import Books"
msgstr "Importar libros"
@@ -1212,7 +1218,7 @@ msgstr "Importación ha empezado:"
msgid "Import completed:"
msgstr "Importación ha terminado:"
-#: bookwyrm/templates/import_status.html:25
+#: bookwyrm/templates/import_status.html:24
msgid "TASK FAILED"
msgstr "TAREA FALLÓ"
@@ -1287,19 +1293,6 @@ msgstr "Permiso denegado"
msgid "Sorry! This invite code is no longer valid."
msgstr "¡Disculpa! Este código de invitación no queda válido."
-#: bookwyrm/templates/isbn_search_results.html:4
-msgid "Search Results"
-msgstr "Resultados de búsqueda"
-
-#: bookwyrm/templates/isbn_search_results.html:9
-#, python-format
-msgid "Search Results for \"%(query)s\""
-msgstr "Resultados de búsqueda por \"%(query)s\""
-
-#: bookwyrm/templates/isbn_search_results.html:14
-msgid "Matching Books"
-msgstr "Libros correspondientes"
-
#: bookwyrm/templates/landing/about.html:7
#, python-format
msgid "About %(site_name)s"
@@ -1439,6 +1432,10 @@ msgstr "Apoyar %(site_name)s en %
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub."
msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en GitHub."
+#: bookwyrm/templates/lists/bookmark_button.html:30
+msgid "Un-save"
+msgstr "Des-guardar"
+
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
@@ -1578,10 +1575,22 @@ msgstr "No se encontró ningún libro correspondiente a la búsqueda: \"%(query)
msgid "Suggest"
msgstr "Sugerir"
+#: bookwyrm/templates/lists/list_items.html:15
+msgid "Saved"
+msgstr "Guardado"
+
#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9
msgid "Your Lists"
msgstr "Tus listas"
+#: bookwyrm/templates/lists/lists.html:35
+msgid "All Lists"
+msgstr "Todas las listas"
+
+#: bookwyrm/templates/lists/lists.html:39
+msgid "Saved Lists"
+msgstr "Listas guardadas"
+
#: bookwyrm/templates/login.html:4
msgid "Login"
msgstr "Iniciar sesión"
@@ -2046,23 +2055,23 @@ msgstr "Activ@:"
msgid "Create Announcement"
msgstr "Crear anuncio"
-#: bookwyrm/templates/settings/announcements.html:22
+#: bookwyrm/templates/settings/announcements.html:21
msgid "Date added"
msgstr "Fecha agregada"
-#: bookwyrm/templates/settings/announcements.html:26
+#: bookwyrm/templates/settings/announcements.html:25
msgid "Preview"
msgstr "Vista preliminar"
-#: bookwyrm/templates/settings/announcements.html:30
+#: bookwyrm/templates/settings/announcements.html:29
msgid "Start date"
msgstr "Fecha de inicio"
-#: bookwyrm/templates/settings/announcements.html:34
+#: bookwyrm/templates/settings/announcements.html:33
msgid "End date"
msgstr "Fecha final"
-#: bookwyrm/templates/settings/announcements.html:38
+#: bookwyrm/templates/settings/announcements.html:37
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
@@ -2070,11 +2079,11 @@ msgstr "Fecha final"
msgid "Status"
msgstr "Status"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "active"
msgstr "activo"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "inactive"
msgstr "inactivo"
@@ -2415,7 +2424,7 @@ msgid_plural "and %(remainder_count_display)s others"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/snippets/book_cover.html:32
+#: bookwyrm/templates/snippets/book_cover.html:61
msgid "No cover"
msgstr "Sin portada"
@@ -2535,13 +2544,13 @@ msgstr "¿Eliminar estas fechas de lectura?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "Estás eliminando esta lectura y sus %(count)s actualizaciones de progreso asociados."
-#: bookwyrm/templates/snippets/fav_button.html:10
-#: bookwyrm/templates/snippets/fav_button.html:12
+#: bookwyrm/templates/snippets/fav_button.html:16
+#: bookwyrm/templates/snippets/fav_button.html:17
msgid "Like"
msgstr "Me gusta"
-#: bookwyrm/templates/snippets/fav_button.html:18
-#: bookwyrm/templates/snippets/fav_button.html:19
+#: bookwyrm/templates/snippets/fav_button.html:30
+#: bookwyrm/templates/snippets/fav_button.html:31
msgid "Un-like"
msgstr "Quitar me gusta"
@@ -2673,10 +2682,8 @@ msgid "page %(page)s of %(total_pages)s"
msgstr "página %(page)s de %(total_pages)s"
#: bookwyrm/templates/snippets/page_text.html:6
-#, fuzzy, python-format
-#| msgid "page %(page)s"
msgid "page %(page)s"
-msgstr "página %(pages)s"
+msgstr "página %(page)s"
#: bookwyrm/templates/snippets/pagination.html:12
msgid "Previous"
@@ -2738,10 +2745,10 @@ msgstr "Lectura se terminó"
#: bookwyrm/templates/snippets/reading_modals/form.html:8
msgid "(Optional)"
-msgstr ""
+msgstr "(Opcional)"
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47
msgid "Update progress"
msgstr "Progreso de actualización"
@@ -2783,15 +2790,15 @@ msgstr "Más estantes"
msgid "Start reading"
msgstr "Empezar leer"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
msgid "Finish reading"
msgstr "Terminar de leer"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27
msgid "Want to read"
msgstr "Quiero leer"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59
#, python-format
msgid "Remove from %(name)s"
msgstr "Quitar de %(name)s"
@@ -2969,11 +2976,11 @@ msgstr "Editar estante"
msgid "Update shelf"
msgstr "Actualizar estante"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
+#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr "Todos los libros"
-#: bookwyrm/templates/user/shelf/shelf.html:38
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Create shelf"
msgstr "Crear estante"
@@ -3128,11 +3135,11 @@ msgstr "Des-suspender usuario"
msgid "Access level:"
msgstr "Nivel de acceso:"
-#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28
msgid "File exceeds maximum size: 10MB"
msgstr "Archivo excede el tamaño máximo: 10MB"
-#: bookwyrm/templatetags/utilities.py:30
+#: bookwyrm/templatetags/utilities.py:31
#, python-format
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
@@ -3157,7 +3164,13 @@ msgstr "Un enlace para reestablecer tu contraseña se enviará a %s"
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
-msgstr ""
+msgstr "Actualizaciones de status de {obj.display_name}"
+
+#~ msgid "Search Results for \"%(query)s\""
+#~ msgstr "Resultados de búsqueda por \"%(query)s\""
+
+#~ msgid "Matching Books"
+#~ msgstr "Libros correspondientes"
#~ msgid "Local Timeline"
#~ msgstr "Línea temporal local"
diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo
index 75ac69ebf..a28c903f6 100644
Binary files a/locale/fr_FR/LC_MESSAGES/django.mo and b/locale/fr_FR/LC_MESSAGES/django.mo differ
diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po
index 46416931e..81130aa34 100644
--- a/locale/fr_FR/LC_MESSAGES/django.po
+++ b/locale/fr_FR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-16 21:26+0000\n"
+"POT-Creation-Date: 2021-08-27 19:11+0000\n"
"PO-Revision-Date: 2021-04-05 12:44+0100\n"
"Last-Translator: Fabien Basmaison \n"
"Language-Team: Mouse Reeve \n"
@@ -84,55 +84,55 @@ msgstr "%(value)s n’est pas une remote_id valide."
msgid "%(value)s is not a valid username"
msgstr "%(value)s n’est pas un nom de compte valide."
-#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164
msgid "username"
msgstr "nom du compte :"
-#: bookwyrm/models/fields.py:179
+#: bookwyrm/models/fields.py:186
msgid "A user with that username already exists."
msgstr "Ce nom est déjà associé à un compte."
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home Timeline"
msgstr "Mon fil d’actualité"
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home"
msgstr "Accueil"
-#: bookwyrm/settings.py:124
+#: bookwyrm/settings.py:125
#, fuzzy
#| msgid "Book Title"
msgid "Books Timeline"
msgstr "Titre du livre"
-#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:81
msgid "Books"
msgstr "Livres"
-#: bookwyrm/settings.py:170
+#: bookwyrm/settings.py:171
msgid "English"
msgstr "English"
-#: bookwyrm/settings.py:171
+#: bookwyrm/settings.py:172
msgid "German"
msgstr "Deutsch"
-#: bookwyrm/settings.py:172
+#: bookwyrm/settings.py:173
msgid "Spanish"
msgstr "Español"
-#: bookwyrm/settings.py:173
+#: bookwyrm/settings.py:174
msgid "French"
msgstr "Français"
-#: bookwyrm/settings.py:174
+#: bookwyrm/settings.py:175
msgid "Simplified Chinese"
msgstr "简化字"
-#: bookwyrm/settings.py:175
+#: bookwyrm/settings.py:176
#, fuzzy
#| msgid "Additional info:"
msgid "Traditional Chinese"
@@ -223,7 +223,7 @@ msgid "Last edited by:"
msgstr "Dernière modification par :"
#: bookwyrm/templates/author/edit_author.html:31
-#: bookwyrm/templates/book/edit_book.html:117
+#: bookwyrm/templates/book/edit_book.html:124
msgid "Metadata"
msgstr "Métadonnées"
@@ -235,9 +235,9 @@ msgid "Name:"
msgstr "Nom :"
#: bookwyrm/templates/author/edit_author.html:43
-#: bookwyrm/templates/book/edit_book.html:162
-#: bookwyrm/templates/book/edit_book.html:171
-#: bookwyrm/templates/book/edit_book.html:214
+#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:221
msgid "Separate multiple values with commas."
msgstr "Séparez plusieurs valeurs par une virgule."
@@ -266,7 +266,7 @@ msgid "Openlibrary key:"
msgstr "Clé Openlibrary :"
#: bookwyrm/templates/author/edit_author.html:89
-#: bookwyrm/templates/book/edit_book.html:293
+#: bookwyrm/templates/book/edit_book.html:300
msgid "Inventaire ID:"
msgstr "Identifiant Inventaire :"
@@ -280,8 +280,9 @@ msgstr "Clé Goodreads :"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/book/book.html:141
-#: bookwyrm/templates/book/edit_book.html:321
-#: bookwyrm/templates/book/readthrough.html:77
+#: bookwyrm/templates/book/edit_book.html:328
+#: bookwyrm/templates/book/readthrough.html:76
+#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:78
#: bookwyrm/templates/settings/announcement_form.html:69
@@ -297,8 +298,8 @@ msgstr "Enregistrer"
#: bookwyrm/templates/author/edit_author.html:117
#: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191
#: bookwyrm/templates/book/cover_modal.html:32
-#: bookwyrm/templates/book/edit_book.html:322
-#: bookwyrm/templates/book/readthrough.html:78
+#: bookwyrm/templates/book/edit_book.html:329
+#: bookwyrm/templates/book/readthrough.html:77
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
@@ -339,7 +340,7 @@ msgid "Add Description"
msgstr "Ajouter une description"
#: bookwyrm/templates/book/book.html:137
-#: bookwyrm/templates/book/edit_book.html:136
+#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "Description :"
@@ -422,22 +423,22 @@ msgid "ISBN:"
msgstr "ISBN :"
#: bookwyrm/templates/book/book_identifiers.html:14
-#: bookwyrm/templates/book/edit_book.html:301
+#: bookwyrm/templates/book/edit_book.html:308
msgid "OCLC Number:"
msgstr "Numéro OCLC :"
#: bookwyrm/templates/book/book_identifiers.html:21
-#: bookwyrm/templates/book/edit_book.html:309
+#: bookwyrm/templates/book/edit_book.html:316
msgid "ASIN:"
msgstr "ASIN :"
#: bookwyrm/templates/book/cover_modal.html:17
-#: bookwyrm/templates/book/edit_book.html:229
+#: bookwyrm/templates/book/edit_book.html:236
msgid "Upload cover:"
msgstr "Charger une couverture :"
#: bookwyrm/templates/book/cover_modal.html:23
-#: bookwyrm/templates/book/edit_book.html:235
+#: bookwyrm/templates/book/edit_book.html:242
msgid "Load cover from url:"
msgstr "Charger la couverture depuis une URL :"
@@ -452,133 +453,133 @@ msgstr "Modifier « %(book_title)s »"
msgid "Add Book"
msgstr "Ajouter un livre"
-#: bookwyrm/templates/book/edit_book.html:54
+#: bookwyrm/templates/book/edit_book.html:61
msgid "Confirm Book Info"
msgstr "Confirmer les informations de ce livre"
-#: bookwyrm/templates/book/edit_book.html:62
+#: bookwyrm/templates/book/edit_book.html:69
#, python-format
msgid "Is \"%(name)s\" an existing author?"
msgstr "Est‑ce que l’auteur/autrice « %(name)s » existe déjà ?"
-#: bookwyrm/templates/book/edit_book.html:71
+#: bookwyrm/templates/book/edit_book.html:78
#, python-format
msgid "Author of %(book_title)s"
msgstr "Auteur/autrice de %(book_title)s"
-#: bookwyrm/templates/book/edit_book.html:75
+#: bookwyrm/templates/book/edit_book.html:82
msgid "This is a new author"
msgstr "Il s’agit d’un nouvel auteur ou d’une nouvelle autrice."
-#: bookwyrm/templates/book/edit_book.html:82
+#: bookwyrm/templates/book/edit_book.html:89
#, python-format
msgid "Creating a new author: %(name)s"
msgstr "Création d’un nouvel auteur/autrice : %(name)s"
-#: bookwyrm/templates/book/edit_book.html:89
+#: bookwyrm/templates/book/edit_book.html:96
msgid "Is this an edition of an existing work?"
msgstr "Est‑ce l’édition d’un ouvrage existant ?"
-#: bookwyrm/templates/book/edit_book.html:97
+#: bookwyrm/templates/book/edit_book.html:104
msgid "This is a new work"
msgstr "Il s’agit d’un nouvel ouvrage."
-#: bookwyrm/templates/book/edit_book.html:104
+#: bookwyrm/templates/book/edit_book.html:111
#: bookwyrm/templates/password_reset.html:30
msgid "Confirm"
msgstr "Confirmer"
-#: bookwyrm/templates/book/edit_book.html:106
+#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/feed/status.html:8
msgid "Back"
msgstr "Retour"
-#: bookwyrm/templates/book/edit_book.html:120
+#: bookwyrm/templates/book/edit_book.html:127
#: bookwyrm/templates/snippets/create_status/review.html:18
msgid "Title:"
msgstr "Titre :"
-#: bookwyrm/templates/book/edit_book.html:128
+#: bookwyrm/templates/book/edit_book.html:135
msgid "Subtitle:"
msgstr "Sous‑titre :"
-#: bookwyrm/templates/book/edit_book.html:144
+#: bookwyrm/templates/book/edit_book.html:151
msgid "Series:"
msgstr "Série :"
-#: bookwyrm/templates/book/edit_book.html:152
+#: bookwyrm/templates/book/edit_book.html:159
msgid "Series number:"
msgstr "Numéro dans la série :"
-#: bookwyrm/templates/book/edit_book.html:160
+#: bookwyrm/templates/book/edit_book.html:167
msgid "Languages:"
msgstr "Langues :"
-#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:176
msgid "Publisher:"
msgstr "Éditeur :"
-#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:185
msgid "First published date:"
msgstr "Première date de publication :"
-#: bookwyrm/templates/book/edit_book.html:186
+#: bookwyrm/templates/book/edit_book.html:193
msgid "Published date:"
msgstr "Date de publication :"
-#: bookwyrm/templates/book/edit_book.html:195
+#: bookwyrm/templates/book/edit_book.html:202
msgid "Authors"
msgstr "Auteurs ou autrices"
-#: bookwyrm/templates/book/edit_book.html:202
+#: bookwyrm/templates/book/edit_book.html:209
#, python-format
msgid "Remove %(name)s"
msgstr "Retirer %(name)s"
-#: bookwyrm/templates/book/edit_book.html:205
+#: bookwyrm/templates/book/edit_book.html:212
#, python-format
msgid "Author page for %(name)s"
msgstr "Page de %(name)s"
-#: bookwyrm/templates/book/edit_book.html:212
+#: bookwyrm/templates/book/edit_book.html:219
msgid "Add Authors:"
msgstr "Ajouter des auteurs ou autrices :"
-#: bookwyrm/templates/book/edit_book.html:213
+#: bookwyrm/templates/book/edit_book.html:220
msgid "John Doe, Jane Smith"
msgstr "Claude Dupont, Dominique Durand"
-#: bookwyrm/templates/book/edit_book.html:220
+#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr "Couverture"
-#: bookwyrm/templates/book/edit_book.html:248
+#: bookwyrm/templates/book/edit_book.html:255
msgid "Physical Properties"
msgstr "Propriétés physiques"
-#: bookwyrm/templates/book/edit_book.html:250
+#: bookwyrm/templates/book/edit_book.html:257
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr "Format :"
-#: bookwyrm/templates/book/edit_book.html:258
+#: bookwyrm/templates/book/edit_book.html:265
msgid "Pages:"
msgstr "Pages :"
-#: bookwyrm/templates/book/edit_book.html:267
+#: bookwyrm/templates/book/edit_book.html:274
msgid "Book Identifiers"
msgstr "Identifiants du livre"
-#: bookwyrm/templates/book/edit_book.html:269
+#: bookwyrm/templates/book/edit_book.html:276
msgid "ISBN 13:"
msgstr "ISBN 13 :"
-#: bookwyrm/templates/book/edit_book.html:277
+#: bookwyrm/templates/book/edit_book.html:284
msgid "ISBN 10:"
msgstr "ISBN 10 :"
-#: bookwyrm/templates/book/edit_book.html:285
+#: bookwyrm/templates/book/edit_book.html:292
msgid "Openlibrary ID:"
msgstr "Identifiant Openlibrary :"
@@ -644,31 +645,37 @@ msgstr "l’a noté"
msgid "Progress Updates:"
msgstr "Progression :"
-#: bookwyrm/templates/book/readthrough.html:14
+#: bookwyrm/templates/book/readthrough.html:13
msgid "finished"
msgstr "terminé"
-#: bookwyrm/templates/book/readthrough.html:25
+#: bookwyrm/templates/book/readthrough.html:24
msgid "Show all updates"
msgstr "Montrer toutes les progressions"
-#: bookwyrm/templates/book/readthrough.html:41
+#: bookwyrm/templates/book/readthrough.html:40
msgid "Delete this progress update"
msgstr "Supprimer cette mise à jour"
-#: bookwyrm/templates/book/readthrough.html:52
+#: bookwyrm/templates/book/readthrough.html:51
msgid "started"
msgstr "commencé"
-#: bookwyrm/templates/book/readthrough.html:59
-#: bookwyrm/templates/book/readthrough.html:73
+#: bookwyrm/templates/book/readthrough.html:58
+#: bookwyrm/templates/book/readthrough.html:72
msgid "Edit read dates"
msgstr "Modifier les date de lecture"
-#: bookwyrm/templates/book/readthrough.html:63
+#: bookwyrm/templates/book/readthrough.html:62
msgid "Delete these read dates"
msgstr "Supprimer ces dates de lecture"
+#: bookwyrm/templates/book/search_filter.html:5
+#, fuzzy
+#| msgid "Search Results"
+msgid "Search editions"
+msgstr "Résultats de recherche"
+
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/layout.html:71
@@ -983,18 +990,18 @@ msgid "There are no books here right now! Try searching for a book to get starte
msgstr "Aucun livre ici pour l’instant ! Cherchez un livre pour commencer"
#: bookwyrm/templates/feed/layout.html:25
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "To Read"
msgstr "À lire"
#: bookwyrm/templates/feed/layout.html:26
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Currently Reading"
msgstr "Lectures en cours"
#: bookwyrm/templates/feed/layout.html:27
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Read"
msgstr "Lu"
@@ -1009,6 +1016,12 @@ msgstr "Défi lecture pour %(year)s"
msgid "Who to follow"
msgstr "À qui s’abonner"
+#: bookwyrm/templates/feed/suggested_users.html:5
+#, fuzzy
+#| msgid "Directory"
+msgid "View directory"
+msgstr "Répertoire"
+
#: bookwyrm/templates/get_started/book_preview.html:6
#, python-format
msgid "Have you read %(book_title)s?"
@@ -1024,7 +1037,6 @@ msgid "Search for a book"
msgstr "Chercher un livre"
#: bookwyrm/templates/get_started/books.html:11
-#: bookwyrm/templates/isbn_search_results.html:17
#, python-format
msgid "No books found for \"%(query)s\""
msgstr "Aucun livre trouvé pour « %(query)s »"
@@ -1172,7 +1184,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "Livres de %(username)s en %(year)s"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/user/shelf/shelf.html:40
+#: bookwyrm/templates/user/shelf/shelf.html:42
msgid "Import Books"
msgstr "Importer des livres"
@@ -1224,7 +1236,7 @@ msgstr "Début de l’importation :"
msgid "Import completed:"
msgstr "Fin de l’importation :"
-#: bookwyrm/templates/import_status.html:25
+#: bookwyrm/templates/import_status.html:24
msgid "TASK FAILED"
msgstr "la tâche a échoué"
@@ -1301,19 +1313,6 @@ msgstr "Autorisation refusée"
msgid "Sorry! This invite code is no longer valid."
msgstr "Cette invitation n’est plus valide ; désolé !"
-#: bookwyrm/templates/isbn_search_results.html:4
-msgid "Search Results"
-msgstr "Résultats de recherche"
-
-#: bookwyrm/templates/isbn_search_results.html:9
-#, python-format
-msgid "Search Results for \"%(query)s\""
-msgstr "Résultats de recherche pour « %(query)s »"
-
-#: bookwyrm/templates/isbn_search_results.html:14
-msgid "Matching Books"
-msgstr "Livres correspondants"
-
#: bookwyrm/templates/landing/about.html:7
#, python-format
msgid "About %(site_name)s"
@@ -1453,6 +1452,10 @@ msgstr "Soutenez %(site_name)s avec GitHub."
msgstr "BookWyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub."
+#: bookwyrm/templates/lists/bookmark_button.html:30
+msgid "Un-save"
+msgstr ""
+
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
@@ -1592,10 +1595,28 @@ msgstr "Aucun livre trouvé pour la requête « %(query)s »"
msgid "Suggest"
msgstr "Suggérer"
+#: bookwyrm/templates/lists/list_items.html:15
+#, fuzzy
+#| msgid "Save"
+msgid "Saved"
+msgstr "Enregistrer"
+
#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9
msgid "Your Lists"
msgstr "Vos listes"
+#: bookwyrm/templates/lists/lists.html:35
+#, fuzzy
+#| msgid "Lists"
+msgid "All Lists"
+msgstr "Listes"
+
+#: bookwyrm/templates/lists/lists.html:39
+#, fuzzy
+#| msgid "Create List"
+msgid "Saved Lists"
+msgstr "Créer une liste"
+
#: bookwyrm/templates/login.html:4
msgid "Login"
msgstr "Connexion"
@@ -2067,23 +2088,23 @@ msgstr "Active :"
msgid "Create Announcement"
msgstr "Ajouter une annonce"
-#: bookwyrm/templates/settings/announcements.html:22
+#: bookwyrm/templates/settings/announcements.html:21
msgid "Date added"
msgstr "Date d’ajout"
-#: bookwyrm/templates/settings/announcements.html:26
+#: bookwyrm/templates/settings/announcements.html:25
msgid "Preview"
msgstr "Aperçu"
-#: bookwyrm/templates/settings/announcements.html:30
+#: bookwyrm/templates/settings/announcements.html:29
msgid "Start date"
msgstr "Date de début"
-#: bookwyrm/templates/settings/announcements.html:34
+#: bookwyrm/templates/settings/announcements.html:33
msgid "End date"
msgstr "Date de fin"
-#: bookwyrm/templates/settings/announcements.html:38
+#: bookwyrm/templates/settings/announcements.html:37
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
@@ -2091,11 +2112,11 @@ msgstr "Date de fin"
msgid "Status"
msgstr "Statut"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "active"
msgstr "active"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "inactive"
msgstr "inactive"
@@ -2436,7 +2457,7 @@ msgid_plural "and %(remainder_count_display)s others"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/snippets/book_cover.html:32
+#: bookwyrm/templates/snippets/book_cover.html:61
msgid "No cover"
msgstr "Pas de couverture"
@@ -2559,13 +2580,13 @@ msgstr "Supprimer ces dates de lecture ?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "Vous avez supprimé ce résumé et ses %(count)s progressions associées."
-#: bookwyrm/templates/snippets/fav_button.html:10
-#: bookwyrm/templates/snippets/fav_button.html:12
+#: bookwyrm/templates/snippets/fav_button.html:16
+#: bookwyrm/templates/snippets/fav_button.html:17
msgid "Like"
msgstr "Ajouter aux favoris"
-#: bookwyrm/templates/snippets/fav_button.html:18
-#: bookwyrm/templates/snippets/fav_button.html:19
+#: bookwyrm/templates/snippets/fav_button.html:30
+#: bookwyrm/templates/snippets/fav_button.html:31
msgid "Un-like"
msgstr "Retirer des favoris"
@@ -2768,7 +2789,7 @@ msgid "(Optional)"
msgstr ""
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47
msgid "Update progress"
msgstr "Progression de la mise à jour"
@@ -2810,15 +2831,15 @@ msgstr "Plus d’étagères"
msgid "Start reading"
msgstr "Commencer la lecture"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
msgid "Finish reading"
msgstr "Terminer la lecture"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27
msgid "Want to read"
msgstr "Je veux le lire"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59
#, python-format
msgid "Remove from %(name)s"
msgstr "Retirer de %(name)s"
@@ -3005,11 +3026,11 @@ msgstr "Modifier l’étagère"
msgid "Update shelf"
msgstr "Mettre l’étagère à jour"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
+#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr "Tous les livres"
-#: bookwyrm/templates/user/shelf/shelf.html:38
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Create shelf"
msgstr "Créer une étagère"
@@ -3167,11 +3188,11 @@ msgstr "Rétablir le compte"
msgid "Access level:"
msgstr "Niveau d’accès :"
-#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28
msgid "File exceeds maximum size: 10MB"
msgstr "Ce fichier dépasse la taille limite : 10 Mo"
-#: bookwyrm/templatetags/utilities.py:30
+#: bookwyrm/templatetags/utilities.py:31
#, python-format
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s (%(subtitle)s)"
@@ -3198,6 +3219,12 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
msgid "Status updates from {obj.display_name}"
msgstr ""
+#~ msgid "Search Results for \"%(query)s\""
+#~ msgstr "Résultats de recherche pour « %(query)s »"
+
+#~ msgid "Matching Books"
+#~ msgstr "Livres correspondants"
+
#~ msgid "Local Timeline"
#~ msgstr "Fil d’actualité local"
diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo
index 673939927..bfcd3d019 100644
Binary files a/locale/zh_Hans/LC_MESSAGES/django.mo and b/locale/zh_Hans/LC_MESSAGES/django.mo differ
diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po
index 75def3735..df3ee019e 100644
--- a/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/locale/zh_Hans/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-16 21:26+0000\n"
+"POT-Creation-Date: 2021-08-27 19:11+0000\n"
"PO-Revision-Date: 2021-03-20 00:56+0000\n"
"Last-Translator: Kana \n"
"Language-Team: Mouse Reeve \n"
@@ -84,53 +84,53 @@ msgstr "%(value)s 不是有效的 remote_id"
msgid "%(value)s is not a valid username"
msgstr "%(value)s 不是有效的用户名"
-#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164
msgid "username"
msgstr "用户名"
-#: bookwyrm/models/fields.py:179
+#: bookwyrm/models/fields.py:186
msgid "A user with that username already exists."
msgstr "已经存在使用该用户名的用户。"
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home Timeline"
msgstr "主页时间线"
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home"
msgstr "主页"
-#: bookwyrm/settings.py:124
+#: bookwyrm/settings.py:125
msgid "Books Timeline"
msgstr "书目时间线"
-#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:81
msgid "Books"
msgstr "书目"
-#: bookwyrm/settings.py:170
+#: bookwyrm/settings.py:171
msgid "English"
msgstr "English(英语)"
-#: bookwyrm/settings.py:171
+#: bookwyrm/settings.py:172
msgid "German"
msgstr "Deutsch(德语)"
-#: bookwyrm/settings.py:172
+#: bookwyrm/settings.py:173
msgid "Spanish"
msgstr "Español(西班牙语)"
-#: bookwyrm/settings.py:173
+#: bookwyrm/settings.py:174
msgid "French"
msgstr "Français(法语)"
-#: bookwyrm/settings.py:174
+#: bookwyrm/settings.py:175
msgid "Simplified Chinese"
msgstr "简体中文"
-#: bookwyrm/settings.py:175
+#: bookwyrm/settings.py:176
msgid "Traditional Chinese"
msgstr "繁體中文(繁体中文)"
@@ -219,7 +219,7 @@ msgid "Last edited by:"
msgstr "最后编辑人:"
#: bookwyrm/templates/author/edit_author.html:31
-#: bookwyrm/templates/book/edit_book.html:117
+#: bookwyrm/templates/book/edit_book.html:124
msgid "Metadata"
msgstr "元数据"
@@ -231,9 +231,9 @@ msgid "Name:"
msgstr "名称:"
#: bookwyrm/templates/author/edit_author.html:43
-#: bookwyrm/templates/book/edit_book.html:162
-#: bookwyrm/templates/book/edit_book.html:171
-#: bookwyrm/templates/book/edit_book.html:214
+#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:221
msgid "Separate multiple values with commas."
msgstr "请用英文逗号(,)分隔多个值。"
@@ -262,7 +262,7 @@ msgid "Openlibrary key:"
msgstr "Openlibrary key:"
#: bookwyrm/templates/author/edit_author.html:89
-#: bookwyrm/templates/book/edit_book.html:293
+#: bookwyrm/templates/book/edit_book.html:300
msgid "Inventaire ID:"
msgstr "Inventaire ID:"
@@ -276,8 +276,9 @@ msgstr "Goodreads key:"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/book/book.html:141
-#: bookwyrm/templates/book/edit_book.html:321
-#: bookwyrm/templates/book/readthrough.html:77
+#: bookwyrm/templates/book/edit_book.html:328
+#: bookwyrm/templates/book/readthrough.html:76
+#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:78
#: bookwyrm/templates/settings/announcement_form.html:69
@@ -293,8 +294,8 @@ msgstr "保存"
#: bookwyrm/templates/author/edit_author.html:117
#: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191
#: bookwyrm/templates/book/cover_modal.html:32
-#: bookwyrm/templates/book/edit_book.html:322
-#: bookwyrm/templates/book/readthrough.html:78
+#: bookwyrm/templates/book/edit_book.html:329
+#: bookwyrm/templates/book/readthrough.html:77
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
@@ -334,7 +335,7 @@ msgid "Add Description"
msgstr "添加描述"
#: bookwyrm/templates/book/book.html:137
-#: bookwyrm/templates/book/edit_book.html:136
+#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "描述:"
@@ -417,22 +418,22 @@ msgid "ISBN:"
msgstr "ISBN:"
#: bookwyrm/templates/book/book_identifiers.html:14
-#: bookwyrm/templates/book/edit_book.html:301
+#: bookwyrm/templates/book/edit_book.html:308
msgid "OCLC Number:"
msgstr "OCLC 号:"
#: bookwyrm/templates/book/book_identifiers.html:21
-#: bookwyrm/templates/book/edit_book.html:309
+#: bookwyrm/templates/book/edit_book.html:316
msgid "ASIN:"
msgstr "ASIN:"
#: bookwyrm/templates/book/cover_modal.html:17
-#: bookwyrm/templates/book/edit_book.html:229
+#: bookwyrm/templates/book/edit_book.html:236
msgid "Upload cover:"
msgstr "上传封面:"
#: bookwyrm/templates/book/cover_modal.html:23
-#: bookwyrm/templates/book/edit_book.html:235
+#: bookwyrm/templates/book/edit_book.html:242
msgid "Load cover from url:"
msgstr "从网址加载封面:"
@@ -447,133 +448,133 @@ msgstr "编辑《%(book_title)s》"
msgid "Add Book"
msgstr "添加书目"
-#: bookwyrm/templates/book/edit_book.html:54
+#: bookwyrm/templates/book/edit_book.html:61
msgid "Confirm Book Info"
msgstr "确认书目信息"
-#: bookwyrm/templates/book/edit_book.html:62
+#: bookwyrm/templates/book/edit_book.html:69
#, python-format
msgid "Is \"%(name)s\" an existing author?"
msgstr "“%(name)s” 是已存在的作者吗?"
-#: bookwyrm/templates/book/edit_book.html:71
+#: bookwyrm/templates/book/edit_book.html:78
#, python-format
msgid "Author of %(book_title)s"
msgstr "%(book_title)s 的作者"
-#: bookwyrm/templates/book/edit_book.html:75
+#: bookwyrm/templates/book/edit_book.html:82
msgid "This is a new author"
msgstr "这是一位新的作者"
-#: bookwyrm/templates/book/edit_book.html:82
+#: bookwyrm/templates/book/edit_book.html:89
#, python-format
msgid "Creating a new author: %(name)s"
msgstr "正在创建新的作者: %(name)s"
-#: bookwyrm/templates/book/edit_book.html:89
+#: bookwyrm/templates/book/edit_book.html:96
msgid "Is this an edition of an existing work?"
msgstr "这是已存在的作品的一个版本吗?"
-#: bookwyrm/templates/book/edit_book.html:97
+#: bookwyrm/templates/book/edit_book.html:104
msgid "This is a new work"
msgstr "这是一个新的作品。"
-#: bookwyrm/templates/book/edit_book.html:104
+#: bookwyrm/templates/book/edit_book.html:111
#: bookwyrm/templates/password_reset.html:30
msgid "Confirm"
msgstr "确认"
-#: bookwyrm/templates/book/edit_book.html:106
+#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/feed/status.html:8
msgid "Back"
msgstr "返回"
-#: bookwyrm/templates/book/edit_book.html:120
+#: bookwyrm/templates/book/edit_book.html:127
#: bookwyrm/templates/snippets/create_status/review.html:18
msgid "Title:"
msgstr "标题:"
-#: bookwyrm/templates/book/edit_book.html:128
+#: bookwyrm/templates/book/edit_book.html:135
msgid "Subtitle:"
msgstr "副标题:"
-#: bookwyrm/templates/book/edit_book.html:144
+#: bookwyrm/templates/book/edit_book.html:151
msgid "Series:"
msgstr "系列:"
-#: bookwyrm/templates/book/edit_book.html:152
+#: bookwyrm/templates/book/edit_book.html:159
msgid "Series number:"
msgstr "系列编号:"
-#: bookwyrm/templates/book/edit_book.html:160
+#: bookwyrm/templates/book/edit_book.html:167
msgid "Languages:"
msgstr "语言:"
-#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:176
msgid "Publisher:"
msgstr "出版社:"
-#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:185
msgid "First published date:"
msgstr "初版时间:"
-#: bookwyrm/templates/book/edit_book.html:186
+#: bookwyrm/templates/book/edit_book.html:193
msgid "Published date:"
msgstr "出版时间:"
-#: bookwyrm/templates/book/edit_book.html:195
+#: bookwyrm/templates/book/edit_book.html:202
msgid "Authors"
msgstr "作者"
-#: bookwyrm/templates/book/edit_book.html:202
+#: bookwyrm/templates/book/edit_book.html:209
#, python-format
msgid "Remove %(name)s"
msgstr "移除 %(name)s"
-#: bookwyrm/templates/book/edit_book.html:205
+#: bookwyrm/templates/book/edit_book.html:212
#, python-format
msgid "Author page for %(name)s"
msgstr "%(name)s 的作者页面"
-#: bookwyrm/templates/book/edit_book.html:212
+#: bookwyrm/templates/book/edit_book.html:219
msgid "Add Authors:"
msgstr "添加作者:"
-#: bookwyrm/templates/book/edit_book.html:213
+#: bookwyrm/templates/book/edit_book.html:220
msgid "John Doe, Jane Smith"
msgstr "张三, 李四"
-#: bookwyrm/templates/book/edit_book.html:220
+#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr "封面"
-#: bookwyrm/templates/book/edit_book.html:248
+#: bookwyrm/templates/book/edit_book.html:255
msgid "Physical Properties"
msgstr "实体性质"
-#: bookwyrm/templates/book/edit_book.html:250
+#: bookwyrm/templates/book/edit_book.html:257
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr "格式:"
-#: bookwyrm/templates/book/edit_book.html:258
+#: bookwyrm/templates/book/edit_book.html:265
msgid "Pages:"
msgstr "页数:"
-#: bookwyrm/templates/book/edit_book.html:267
+#: bookwyrm/templates/book/edit_book.html:274
msgid "Book Identifiers"
msgstr "书目标识号"
-#: bookwyrm/templates/book/edit_book.html:269
+#: bookwyrm/templates/book/edit_book.html:276
msgid "ISBN 13:"
msgstr "ISBN 13:"
-#: bookwyrm/templates/book/edit_book.html:277
+#: bookwyrm/templates/book/edit_book.html:284
msgid "ISBN 10:"
msgstr "ISBN 10:"
-#: bookwyrm/templates/book/edit_book.html:285
+#: bookwyrm/templates/book/edit_book.html:292
msgid "Openlibrary ID:"
msgstr "Openlibrary ID:"
@@ -639,31 +640,37 @@ msgstr "评价了"
msgid "Progress Updates:"
msgstr "进度更新:"
-#: bookwyrm/templates/book/readthrough.html:14
+#: bookwyrm/templates/book/readthrough.html:13
msgid "finished"
msgstr "已完成"
-#: bookwyrm/templates/book/readthrough.html:25
+#: bookwyrm/templates/book/readthrough.html:24
msgid "Show all updates"
msgstr "显示所有更新"
-#: bookwyrm/templates/book/readthrough.html:41
+#: bookwyrm/templates/book/readthrough.html:40
msgid "Delete this progress update"
msgstr "删除此进度更新"
-#: bookwyrm/templates/book/readthrough.html:52
+#: bookwyrm/templates/book/readthrough.html:51
msgid "started"
msgstr "已开始"
-#: bookwyrm/templates/book/readthrough.html:59
-#: bookwyrm/templates/book/readthrough.html:73
+#: bookwyrm/templates/book/readthrough.html:58
+#: bookwyrm/templates/book/readthrough.html:72
msgid "Edit read dates"
msgstr "编辑阅读日期"
-#: bookwyrm/templates/book/readthrough.html:63
+#: bookwyrm/templates/book/readthrough.html:62
msgid "Delete these read dates"
msgstr "删除这些阅读日期"
+#: bookwyrm/templates/book/search_filter.html:5
+#, fuzzy
+#| msgid "Search Results"
+msgid "Search editions"
+msgstr "搜索结果"
+
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/layout.html:71
@@ -969,18 +976,18 @@ msgid "There are no books here right now! Try searching for a book to get starte
msgstr "现在这里还没有任何书目!尝试着从搜索某本书开始吧"
#: bookwyrm/templates/feed/layout.html:25
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "To Read"
msgstr "想读"
#: bookwyrm/templates/feed/layout.html:26
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Currently Reading"
msgstr "在读"
#: bookwyrm/templates/feed/layout.html:27
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Read"
msgstr "读过"
@@ -995,6 +1002,12 @@ msgstr "%(year)s 阅读目标"
msgid "Who to follow"
msgstr "可以关注的人"
+#: bookwyrm/templates/feed/suggested_users.html:5
+#, fuzzy
+#| msgid "Directory"
+msgid "View directory"
+msgstr "目录"
+
#: bookwyrm/templates/get_started/book_preview.html:6
#, python-format
msgid "Have you read %(book_title)s?"
@@ -1010,7 +1023,6 @@ msgid "Search for a book"
msgstr "搜索书目"
#: bookwyrm/templates/get_started/books.html:11
-#: bookwyrm/templates/isbn_search_results.html:17
#, python-format
msgid "No books found for \"%(query)s\""
msgstr "没有找到 \"%(query)s\" 的书目"
@@ -1158,7 +1170,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "%(username)s 在 %(year)s 的书目"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/user/shelf/shelf.html:40
+#: bookwyrm/templates/user/shelf/shelf.html:42
msgid "Import Books"
msgstr "导入书目"
@@ -1208,7 +1220,7 @@ msgstr "导入开始:"
msgid "Import completed:"
msgstr "导入完成:"
-#: bookwyrm/templates/import_status.html:25
+#: bookwyrm/templates/import_status.html:24
msgid "TASK FAILED"
msgstr "任务失败"
@@ -1283,19 +1295,6 @@ msgstr "没有权限"
msgid "Sorry! This invite code is no longer valid."
msgstr "抱歉!此邀请码已不再有效。"
-#: bookwyrm/templates/isbn_search_results.html:4
-msgid "Search Results"
-msgstr "搜索结果"
-
-#: bookwyrm/templates/isbn_search_results.html:9
-#, python-format
-msgid "Search Results for \"%(query)s\""
-msgstr "\"%(query)s\" 的搜索结果"
-
-#: bookwyrm/templates/isbn_search_results.html:14
-msgid "Matching Books"
-msgstr "匹配的书目"
-
#: bookwyrm/templates/landing/about.html:7
#, python-format
msgid "About %(site_name)s"
@@ -1435,6 +1434,10 @@ msgstr "在 %(support_title)s
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub."
msgstr "BookWyrm 是开源软件。你可以在 GitHub 贡献或报告问题。"
+#: bookwyrm/templates/lists/bookmark_button.html:30
+msgid "Un-save"
+msgstr ""
+
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
@@ -1574,10 +1577,28 @@ msgstr "没有符合 “%(query)s” 请求的书目"
msgid "Suggest"
msgstr "推荐"
+#: bookwyrm/templates/lists/list_items.html:15
+#, fuzzy
+#| msgid "Save"
+msgid "Saved"
+msgstr "保存"
+
#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9
msgid "Your Lists"
msgstr "你的列表"
+#: bookwyrm/templates/lists/lists.html:35
+#, fuzzy
+#| msgid "Lists"
+msgid "All Lists"
+msgstr "列表"
+
+#: bookwyrm/templates/lists/lists.html:39
+#, fuzzy
+#| msgid "Create List"
+msgid "Saved Lists"
+msgstr "创建列表"
+
#: bookwyrm/templates/login.html:4
msgid "Login"
msgstr "登录"
@@ -2043,23 +2064,23 @@ msgstr "活跃:"
msgid "Create Announcement"
msgstr "创建公告"
-#: bookwyrm/templates/settings/announcements.html:22
+#: bookwyrm/templates/settings/announcements.html:21
msgid "Date added"
msgstr "添加日期:"
-#: bookwyrm/templates/settings/announcements.html:26
+#: bookwyrm/templates/settings/announcements.html:25
msgid "Preview"
msgstr "预览"
-#: bookwyrm/templates/settings/announcements.html:30
+#: bookwyrm/templates/settings/announcements.html:29
msgid "Start date"
msgstr "开始日期"
-#: bookwyrm/templates/settings/announcements.html:34
+#: bookwyrm/templates/settings/announcements.html:33
msgid "End date"
msgstr "结束日期"
-#: bookwyrm/templates/settings/announcements.html:38
+#: bookwyrm/templates/settings/announcements.html:37
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
@@ -2067,11 +2088,11 @@ msgstr "结束日期"
msgid "Status"
msgstr "状态"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "active"
msgstr "活跃"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "inactive"
msgstr "停用"
@@ -2411,7 +2432,7 @@ msgid "and %(remainder_count_display)s other"
msgid_plural "and %(remainder_count_display)s others"
msgstr[0] "与其它 %(remainder_count_display)s 位"
-#: bookwyrm/templates/snippets/book_cover.html:32
+#: bookwyrm/templates/snippets/book_cover.html:61
msgid "No cover"
msgstr "没有封面"
@@ -2531,13 +2552,13 @@ msgstr "删除这些阅读日期吗?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。"
-#: bookwyrm/templates/snippets/fav_button.html:10
-#: bookwyrm/templates/snippets/fav_button.html:12
+#: bookwyrm/templates/snippets/fav_button.html:16
+#: bookwyrm/templates/snippets/fav_button.html:17
msgid "Like"
msgstr "喜欢"
-#: bookwyrm/templates/snippets/fav_button.html:18
-#: bookwyrm/templates/snippets/fav_button.html:19
+#: bookwyrm/templates/snippets/fav_button.html:30
+#: bookwyrm/templates/snippets/fav_button.html:31
msgid "Un-like"
msgstr "取消喜欢"
@@ -2732,7 +2753,7 @@ msgid "(Optional)"
msgstr ""
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47
msgid "Update progress"
msgstr "更新进度"
@@ -2774,15 +2795,15 @@ msgstr "更多书架"
msgid "Start reading"
msgstr "开始阅读"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
msgid "Finish reading"
msgstr "完成阅读"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27
msgid "Want to read"
msgstr "想要阅读"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59
#, python-format
msgid "Remove from %(name)s"
msgstr "从 %(name)s 移除"
@@ -2958,11 +2979,11 @@ msgstr "编辑书架"
msgid "Update shelf"
msgstr "更新书架"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
+#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr "所有书目"
-#: bookwyrm/templates/user/shelf/shelf.html:38
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Create shelf"
msgstr "创建书架"
@@ -3115,11 +3136,11 @@ msgstr "取消停用用户"
msgid "Access level:"
msgstr "访问级别:"
-#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28
msgid "File exceeds maximum size: 10MB"
msgstr "文件超过了最大大小: 10MB"
-#: bookwyrm/templatetags/utilities.py:30
+#: bookwyrm/templatetags/utilities.py:31
#, python-format
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s:%(subtitle)s"
@@ -3146,6 +3167,12 @@ msgstr "密码重置连接已发送给 %s"
msgid "Status updates from {obj.display_name}"
msgstr ""
+#~ msgid "Search Results for \"%(query)s\""
+#~ msgstr "\"%(query)s\" 的搜索结果"
+
+#~ msgid "Matching Books"
+#~ msgstr "匹配的书目"
+
#~ msgid "Local Timeline"
#~ msgstr "本地时间线"
diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo
index a1075ef48..0ee84d693 100644
Binary files a/locale/zh_Hant/LC_MESSAGES/django.mo and b/locale/zh_Hant/LC_MESSAGES/django.mo differ
diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po
index 2a39f3887..c8224be61 100644
--- a/locale/zh_Hant/LC_MESSAGES/django.po
+++ b/locale/zh_Hant/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-16 21:26+0000\n"
+"POT-Creation-Date: 2021-08-27 19:11+0000\n"
"PO-Revision-Date: 2021-06-30 10:36+0000\n"
"Last-Translator: Grace Cheng \n"
"Language-Team: LANGUAGE \n"
@@ -84,55 +84,55 @@ msgstr "%(value)s 不是有效的 remote_id"
msgid "%(value)s is not a valid username"
msgstr "%(value)s 不是有效的使用者名稱"
-#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164
msgid "username"
msgstr "使用者名稱"
-#: bookwyrm/models/fields.py:179
+#: bookwyrm/models/fields.py:186
msgid "A user with that username already exists."
msgstr "已經存在使用該名稱的使用者。"
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home Timeline"
msgstr "主頁時間線"
-#: bookwyrm/settings.py:123
+#: bookwyrm/settings.py:124
msgid "Home"
msgstr "主頁"
-#: bookwyrm/settings.py:124
+#: bookwyrm/settings.py:125
#, fuzzy
#| msgid "Book Title"
msgid "Books Timeline"
msgstr "書名"
-#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:81
msgid "Books"
msgstr "書目"
-#: bookwyrm/settings.py:170
+#: bookwyrm/settings.py:171
msgid "English"
msgstr "English(英語)"
-#: bookwyrm/settings.py:171
+#: bookwyrm/settings.py:172
msgid "German"
msgstr "Deutsch(德語)"
-#: bookwyrm/settings.py:172
+#: bookwyrm/settings.py:173
msgid "Spanish"
msgstr "Español(西班牙語)"
-#: bookwyrm/settings.py:173
+#: bookwyrm/settings.py:174
msgid "French"
msgstr "Français(法語)"
-#: bookwyrm/settings.py:174
+#: bookwyrm/settings.py:175
msgid "Simplified Chinese"
msgstr "簡體中文"
-#: bookwyrm/settings.py:175
+#: bookwyrm/settings.py:176
#, fuzzy
#| msgid "Tranditional Chinese"
msgid "Traditional Chinese"
@@ -225,7 +225,7 @@ msgid "Last edited by:"
msgstr "最後編輯者:"
#: bookwyrm/templates/author/edit_author.html:31
-#: bookwyrm/templates/book/edit_book.html:117
+#: bookwyrm/templates/book/edit_book.html:124
msgid "Metadata"
msgstr "元資料"
@@ -237,9 +237,9 @@ msgid "Name:"
msgstr "名稱:"
#: bookwyrm/templates/author/edit_author.html:43
-#: bookwyrm/templates/book/edit_book.html:162
-#: bookwyrm/templates/book/edit_book.html:171
-#: bookwyrm/templates/book/edit_book.html:214
+#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:221
msgid "Separate multiple values with commas."
msgstr "請用逗號(,)分隔多個值。"
@@ -268,7 +268,7 @@ msgid "Openlibrary key:"
msgstr "Openlibrary key:"
#: bookwyrm/templates/author/edit_author.html:89
-#: bookwyrm/templates/book/edit_book.html:293
+#: bookwyrm/templates/book/edit_book.html:300
msgid "Inventaire ID:"
msgstr "Inventaire ID:"
@@ -282,8 +282,9 @@ msgstr "Goodreads key:"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/book/book.html:141
-#: bookwyrm/templates/book/edit_book.html:321
-#: bookwyrm/templates/book/readthrough.html:77
+#: bookwyrm/templates/book/edit_book.html:328
+#: bookwyrm/templates/book/readthrough.html:76
+#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:78
#: bookwyrm/templates/settings/announcement_form.html:69
@@ -299,8 +300,8 @@ msgstr "儲存"
#: bookwyrm/templates/author/edit_author.html:117
#: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191
#: bookwyrm/templates/book/cover_modal.html:32
-#: bookwyrm/templates/book/edit_book.html:322
-#: bookwyrm/templates/book/readthrough.html:78
+#: bookwyrm/templates/book/edit_book.html:329
+#: bookwyrm/templates/book/readthrough.html:77
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
@@ -340,7 +341,7 @@ msgid "Add Description"
msgstr "新增描述"
#: bookwyrm/templates/book/book.html:137
-#: bookwyrm/templates/book/edit_book.html:136
+#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "描述:"
@@ -423,22 +424,22 @@ msgid "ISBN:"
msgstr "ISBN:"
#: bookwyrm/templates/book/book_identifiers.html:14
-#: bookwyrm/templates/book/edit_book.html:301
+#: bookwyrm/templates/book/edit_book.html:308
msgid "OCLC Number:"
msgstr "OCLC 號:"
#: bookwyrm/templates/book/book_identifiers.html:21
-#: bookwyrm/templates/book/edit_book.html:309
+#: bookwyrm/templates/book/edit_book.html:316
msgid "ASIN:"
msgstr "ASIN:"
#: bookwyrm/templates/book/cover_modal.html:17
-#: bookwyrm/templates/book/edit_book.html:229
+#: bookwyrm/templates/book/edit_book.html:236
msgid "Upload cover:"
msgstr "上載封面:"
#: bookwyrm/templates/book/cover_modal.html:23
-#: bookwyrm/templates/book/edit_book.html:235
+#: bookwyrm/templates/book/edit_book.html:242
msgid "Load cover from url:"
msgstr "從網址載入封面:"
@@ -453,135 +454,135 @@ msgstr "編輯 \"%(book_title)s\""
msgid "Add Book"
msgstr "新增書目"
-#: bookwyrm/templates/book/edit_book.html:54
+#: bookwyrm/templates/book/edit_book.html:61
msgid "Confirm Book Info"
msgstr "確認書目資料"
-#: bookwyrm/templates/book/edit_book.html:62
+#: bookwyrm/templates/book/edit_book.html:69
#, python-format
msgid "Is \"%(name)s\" an existing author?"
msgstr "\"%(name)s\" 是已存在的作者嗎?"
-#: bookwyrm/templates/book/edit_book.html:71
+#: bookwyrm/templates/book/edit_book.html:78
#, python-format
msgid "Author of %(book_title)s"
msgstr "%(book_title)s 的作者"
-#: bookwyrm/templates/book/edit_book.html:75
+#: bookwyrm/templates/book/edit_book.html:82
msgid "This is a new author"
msgstr "這是一位新的作者"
-#: bookwyrm/templates/book/edit_book.html:82
+#: bookwyrm/templates/book/edit_book.html:89
#, python-format
msgid "Creating a new author: %(name)s"
msgstr "正在建立新的作者: %(name)s"
-#: bookwyrm/templates/book/edit_book.html:89
+#: bookwyrm/templates/book/edit_book.html:96
msgid "Is this an edition of an existing work?"
msgstr "這是已存在的作品的另一個版本嗎?"
-#: bookwyrm/templates/book/edit_book.html:97
+#: bookwyrm/templates/book/edit_book.html:104
msgid "This is a new work"
msgstr "這是一個新的作品。"
-#: bookwyrm/templates/book/edit_book.html:104
+#: bookwyrm/templates/book/edit_book.html:111
#: bookwyrm/templates/password_reset.html:30
msgid "Confirm"
msgstr "確認"
-#: bookwyrm/templates/book/edit_book.html:106
+#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/feed/status.html:8
msgid "Back"
msgstr "返回"
-#: bookwyrm/templates/book/edit_book.html:120
+#: bookwyrm/templates/book/edit_book.html:127
#: bookwyrm/templates/snippets/create_status/review.html:18
msgid "Title:"
msgstr "標題:"
-#: bookwyrm/templates/book/edit_book.html:128
+#: bookwyrm/templates/book/edit_book.html:135
msgid "Subtitle:"
msgstr "副標題:"
-#: bookwyrm/templates/book/edit_book.html:144
+#: bookwyrm/templates/book/edit_book.html:151
msgid "Series:"
msgstr "系列:"
-#: bookwyrm/templates/book/edit_book.html:152
+#: bookwyrm/templates/book/edit_book.html:159
msgid "Series number:"
msgstr "系列編號:"
-#: bookwyrm/templates/book/edit_book.html:160
+#: bookwyrm/templates/book/edit_book.html:167
msgid "Languages:"
msgstr "語言:"
-#: bookwyrm/templates/book/edit_book.html:169
+#: bookwyrm/templates/book/edit_book.html:176
msgid "Publisher:"
msgstr "出版社:"
-#: bookwyrm/templates/book/edit_book.html:178
+#: bookwyrm/templates/book/edit_book.html:185
msgid "First published date:"
msgstr "初版時間:"
-#: bookwyrm/templates/book/edit_book.html:186
+#: bookwyrm/templates/book/edit_book.html:193
msgid "Published date:"
msgstr "出版時間:"
-#: bookwyrm/templates/book/edit_book.html:195
+#: bookwyrm/templates/book/edit_book.html:202
msgid "Authors"
msgstr "作者"
-#: bookwyrm/templates/book/edit_book.html:202
+#: bookwyrm/templates/book/edit_book.html:209
#, fuzzy, python-format
#| msgid "Remove from %(name)s"
msgid "Remove %(name)s"
msgstr "從 %(name)s 移除"
-#: bookwyrm/templates/book/edit_book.html:205
+#: bookwyrm/templates/book/edit_book.html:212
#, fuzzy, python-format
#| msgid "Remove from %(name)s"
msgid "Author page for %(name)s"
msgstr "從 %(name)s 移除"
-#: bookwyrm/templates/book/edit_book.html:212
+#: bookwyrm/templates/book/edit_book.html:219
msgid "Add Authors:"
msgstr "新增作者:"
-#: bookwyrm/templates/book/edit_book.html:213
+#: bookwyrm/templates/book/edit_book.html:220
msgid "John Doe, Jane Smith"
msgstr "John Doe, Jane Smith"
-#: bookwyrm/templates/book/edit_book.html:220
+#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr "封面"
-#: bookwyrm/templates/book/edit_book.html:248
+#: bookwyrm/templates/book/edit_book.html:255
msgid "Physical Properties"
msgstr "實體性質"
-#: bookwyrm/templates/book/edit_book.html:250
+#: bookwyrm/templates/book/edit_book.html:257
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr "格式:"
-#: bookwyrm/templates/book/edit_book.html:258
+#: bookwyrm/templates/book/edit_book.html:265
msgid "Pages:"
msgstr "頁數:"
-#: bookwyrm/templates/book/edit_book.html:267
+#: bookwyrm/templates/book/edit_book.html:274
msgid "Book Identifiers"
msgstr "書目標識號"
-#: bookwyrm/templates/book/edit_book.html:269
+#: bookwyrm/templates/book/edit_book.html:276
msgid "ISBN 13:"
msgstr "ISBN 13:"
-#: bookwyrm/templates/book/edit_book.html:277
+#: bookwyrm/templates/book/edit_book.html:284
msgid "ISBN 10:"
msgstr "ISBN 10:"
-#: bookwyrm/templates/book/edit_book.html:285
+#: bookwyrm/templates/book/edit_book.html:292
msgid "Openlibrary ID:"
msgstr "Openlibrary ID:"
@@ -647,31 +648,37 @@ msgstr "評價了"
msgid "Progress Updates:"
msgstr "進度更新:"
-#: bookwyrm/templates/book/readthrough.html:14
+#: bookwyrm/templates/book/readthrough.html:13
msgid "finished"
msgstr "已完成"
-#: bookwyrm/templates/book/readthrough.html:25
+#: bookwyrm/templates/book/readthrough.html:24
msgid "Show all updates"
msgstr "顯示所有更新"
-#: bookwyrm/templates/book/readthrough.html:41
+#: bookwyrm/templates/book/readthrough.html:40
msgid "Delete this progress update"
msgstr "刪除此進度更新"
-#: bookwyrm/templates/book/readthrough.html:52
+#: bookwyrm/templates/book/readthrough.html:51
msgid "started"
msgstr "已開始"
-#: bookwyrm/templates/book/readthrough.html:59
-#: bookwyrm/templates/book/readthrough.html:73
+#: bookwyrm/templates/book/readthrough.html:58
+#: bookwyrm/templates/book/readthrough.html:72
msgid "Edit read dates"
msgstr "編輯閱讀日期"
-#: bookwyrm/templates/book/readthrough.html:63
+#: bookwyrm/templates/book/readthrough.html:62
msgid "Delete these read dates"
msgstr "刪除這些閱讀日期"
+#: bookwyrm/templates/book/search_filter.html:5
+#, fuzzy
+#| msgid "Search Results"
+msgid "Search editions"
+msgstr "搜尋結果"
+
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/layout.html:71
@@ -994,18 +1001,18 @@ msgid "There are no books here right now! Try searching for a book to get starte
msgstr "現在這裡還沒有任何書目!嘗試著從搜尋某本書開始吧"
#: bookwyrm/templates/feed/layout.html:25
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "To Read"
msgstr "想讀"
#: bookwyrm/templates/feed/layout.html:26
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Currently Reading"
msgstr "在讀"
#: bookwyrm/templates/feed/layout.html:27
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16
-#: bookwyrm/templates/user/shelf/shelf.html:29
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17
+#: bookwyrm/templates/user/shelf/shelf.html:31
msgid "Read"
msgstr "讀過"
@@ -1020,6 +1027,12 @@ msgstr "%(year)s 閱讀目標"
msgid "Who to follow"
msgstr "可以關注的人"
+#: bookwyrm/templates/feed/suggested_users.html:5
+#, fuzzy
+#| msgid "Directory"
+msgid "View directory"
+msgstr "目錄"
+
#: bookwyrm/templates/get_started/book_preview.html:6
#, python-format
msgid "Have you read %(book_title)s?"
@@ -1035,7 +1048,6 @@ msgid "Search for a book"
msgstr "搜尋書目"
#: bookwyrm/templates/get_started/books.html:11
-#: bookwyrm/templates/isbn_search_results.html:17
#, python-format
msgid "No books found for \"%(query)s\""
msgstr "沒有找到 \"%(query)s\" 的書目"
@@ -1183,7 +1195,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "%(username)s 在 %(year)s 的書目"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/user/shelf/shelf.html:40
+#: bookwyrm/templates/user/shelf/shelf.html:42
msgid "Import Books"
msgstr "匯入書目"
@@ -1235,7 +1247,7 @@ msgstr "匯入開始:"
msgid "Import completed:"
msgstr "匯入完成:"
-#: bookwyrm/templates/import_status.html:25
+#: bookwyrm/templates/import_status.html:24
msgid "TASK FAILED"
msgstr "任務失敗"
@@ -1312,19 +1324,6 @@ msgstr "沒有權限"
msgid "Sorry! This invite code is no longer valid."
msgstr "抱歉!此邀請碼已不再有效。"
-#: bookwyrm/templates/isbn_search_results.html:4
-msgid "Search Results"
-msgstr "搜尋結果"
-
-#: bookwyrm/templates/isbn_search_results.html:9
-#, python-format
-msgid "Search Results for \"%(query)s\""
-msgstr "\"%(query)s\" 的搜尋結果"
-
-#: bookwyrm/templates/isbn_search_results.html:14
-msgid "Matching Books"
-msgstr "匹配的書目"
-
#: bookwyrm/templates/landing/about.html:7
#, python-format
msgid "About %(site_name)s"
@@ -1464,6 +1463,10 @@ msgstr "在 %(support_title)s
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub."
msgstr "BookWyrm 是開源軟體。你可以在 GitHub 貢獻或報告問題。"
+#: bookwyrm/templates/lists/bookmark_button.html:30
+msgid "Un-save"
+msgstr ""
+
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
@@ -1603,10 +1606,28 @@ msgstr "沒有符合 \"%(query)s\" 請求的書目"
msgid "Suggest"
msgstr "推薦"
+#: bookwyrm/templates/lists/list_items.html:15
+#, fuzzy
+#| msgid "Save"
+msgid "Saved"
+msgstr "儲存"
+
#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9
msgid "Your Lists"
msgstr "你的列表"
+#: bookwyrm/templates/lists/lists.html:35
+#, fuzzy
+#| msgid "Lists"
+msgid "All Lists"
+msgstr "列表"
+
+#: bookwyrm/templates/lists/lists.html:39
+#, fuzzy
+#| msgid "Create List"
+msgid "Saved Lists"
+msgstr "建立列表"
+
#: bookwyrm/templates/login.html:4
msgid "Login"
msgstr "登入"
@@ -2078,23 +2099,23 @@ msgstr "活躍:"
msgid "Create Announcement"
msgstr "建立公告"
-#: bookwyrm/templates/settings/announcements.html:22
+#: bookwyrm/templates/settings/announcements.html:21
msgid "Date added"
msgstr "新增日期:"
-#: bookwyrm/templates/settings/announcements.html:26
+#: bookwyrm/templates/settings/announcements.html:25
msgid "Preview"
msgstr "預覽"
-#: bookwyrm/templates/settings/announcements.html:30
+#: bookwyrm/templates/settings/announcements.html:29
msgid "Start date"
msgstr "開始日期"
-#: bookwyrm/templates/settings/announcements.html:34
+#: bookwyrm/templates/settings/announcements.html:33
msgid "End date"
msgstr "結束日期"
-#: bookwyrm/templates/settings/announcements.html:38
+#: bookwyrm/templates/settings/announcements.html:37
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
@@ -2102,11 +2123,11 @@ msgstr "結束日期"
msgid "Status"
msgstr "狀態"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "active"
msgstr "啟用"
-#: bookwyrm/templates/settings/announcements.html:48
+#: bookwyrm/templates/settings/announcements.html:47
msgid "inactive"
msgstr "停用"
@@ -2450,7 +2471,7 @@ msgid "and %(remainder_count_display)s other"
msgid_plural "and %(remainder_count_display)s others"
msgstr[0] ""
-#: bookwyrm/templates/snippets/book_cover.html:32
+#: bookwyrm/templates/snippets/book_cover.html:61
msgid "No cover"
msgstr "沒有封面"
@@ -2573,13 +2594,13 @@ msgstr "刪除這些閱讀日期嗎?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "你正要刪除這篇閱讀經過以及與之相關的 %(count)s 次進度更新。"
-#: bookwyrm/templates/snippets/fav_button.html:10
-#: bookwyrm/templates/snippets/fav_button.html:12
+#: bookwyrm/templates/snippets/fav_button.html:16
+#: bookwyrm/templates/snippets/fav_button.html:17
msgid "Like"
msgstr "喜歡"
-#: bookwyrm/templates/snippets/fav_button.html:18
-#: bookwyrm/templates/snippets/fav_button.html:19
+#: bookwyrm/templates/snippets/fav_button.html:30
+#: bookwyrm/templates/snippets/fav_button.html:31
msgid "Un-like"
msgstr "取消喜歡"
@@ -2778,7 +2799,7 @@ msgid "(Optional)"
msgstr ""
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47
msgid "Update progress"
msgstr "更新進度"
@@ -2820,15 +2841,15 @@ msgstr "更多書架"
msgid "Start reading"
msgstr "開始閱讀"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21
msgid "Finish reading"
msgstr "完成閱讀"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27
msgid "Want to read"
msgstr "想要閱讀"
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59
#, python-format
msgid "Remove from %(name)s"
msgstr "從 %(name)s 移除"
@@ -3013,11 +3034,11 @@ msgstr "編輯書架"
msgid "Update shelf"
msgstr "更新書架"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
+#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr "所有書目"
-#: bookwyrm/templates/user/shelf/shelf.html:38
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Create shelf"
msgstr "建立書架"
@@ -3173,11 +3194,11 @@ msgstr "取消停用使用者"
msgid "Access level:"
msgstr "訪問權限:"
-#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28
msgid "File exceeds maximum size: 10MB"
msgstr "檔案超過了最大大小: 10MB"
-#: bookwyrm/templatetags/utilities.py:30
+#: bookwyrm/templatetags/utilities.py:31
#, python-format
msgid "%(title)s: %(subtitle)s"
msgstr ""
@@ -3204,6 +3225,12 @@ msgstr "密碼重置連結已傳送給 %s"
msgid "Status updates from {obj.display_name}"
msgstr ""
+#~ msgid "Search Results for \"%(query)s\""
+#~ msgstr "\"%(query)s\" 的搜尋結果"
+
+#~ msgid "Matching Books"
+#~ msgstr "匹配的書目"
+
#~ msgid "Local Timeline"
#~ msgstr "本地時間線"