diff --git a/bookwyrm/templatetags/book_display_tags.py b/bookwyrm/templatetags/book_display_tags.py
new file mode 100644
index 00000000..9db79f8e
--- /dev/null
+++ b/bookwyrm/templatetags/book_display_tags.py
@@ -0,0 +1,17 @@
+""" template filters """
+from django import template
+
+
+register = template.Library()
+
+
+@register.filter(name="book_description")
+def get_book_description(book):
+ """use the work's text if the book doesn't have it"""
+ return book.description or book.parent_work.description
+
+
+@register.simple_tag(takes_context=False)
+def get_book_file_links(book):
+ """links for a book"""
+ return book.file_links.filter(domain__status="approved")
diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py
deleted file mode 100644
index f24219d2..00000000
--- a/bookwyrm/templatetags/bookwyrm_tags.py
+++ /dev/null
@@ -1,179 +0,0 @@
-""" template filters """
-from django import template
-from django.db.models import Avg, StdDev, Count, F, Q
-
-from bookwyrm import models
-from bookwyrm.views.feed import get_suggested_books
-
-
-register = template.Library()
-
-
-@register.filter(name="rating")
-def get_rating(book, user):
- """get the overall rating of a book"""
- queryset = models.Review.privacy_filter(user).filter(
- book__parent_work__editions=book
- )
- return queryset.aggregate(Avg("rating"))["rating__avg"]
-
-
-@register.filter(name="user_rating")
-def get_user_rating(book, user):
- """get a user's rating of a book"""
- rating = (
- models.Review.objects.filter(
- user=user,
- book=book,
- rating__isnull=False,
- deleted=False,
- )
- .order_by("-published_date")
- .first()
- )
- if rating:
- return rating.rating
- return 0
-
-
-@register.filter(name="book_description")
-def get_book_description(book):
- """use the work's text if the book doesn't have it"""
- return book.description or book.parent_work.description
-
-
-@register.filter(name="next_shelf")
-def get_next_shelf(current_shelf):
- """shelf you'd use to update reading progress"""
- if current_shelf == "to-read":
- return "reading"
- if current_shelf == "reading":
- return "read"
- if current_shelf == "read":
- return "complete"
- return "to-read"
-
-
-@register.filter(name="load_subclass")
-def load_subclass(status):
- """sometimes you didn't select_subclass"""
- if hasattr(status, "quotation"):
- return status.quotation
- if hasattr(status, "review"):
- return status.review
- if hasattr(status, "comment"):
- return status.comment
- if hasattr(status, "generatednote"):
- return status.generatednote
- return status
-
-
-@register.simple_tag(takes_context=False)
-def get_book_superlatives():
- """get book stats for the about page"""
- total_ratings = models.Review.objects.filter(local=True, deleted=False).count()
- data = {}
- data["top_rated"] = (
- models.Work.objects.annotate(
- rating=Avg(
- "editions__review__rating",
- filter=Q(editions__review__local=True, editions__review__deleted=False),
- ),
- rating_count=Count(
- "editions__review",
- filter=Q(editions__review__local=True, editions__review__deleted=False),
- ),
- )
- .annotate(weighted=F("rating") * F("rating_count") / total_ratings)
- .filter(rating__gt=4, weighted__gt=0)
- .order_by("-weighted")
- .first()
- )
-
- data["controversial"] = (
- models.Work.objects.annotate(
- deviation=StdDev(
- "editions__review__rating",
- filter=Q(editions__review__local=True, editions__review__deleted=False),
- ),
- rating_count=Count(
- "editions__review",
- filter=Q(editions__review__local=True, editions__review__deleted=False),
- ),
- )
- .annotate(weighted=F("deviation") * F("rating_count") / total_ratings)
- .filter(weighted__gt=0)
- .order_by("-weighted")
- .first()
- )
-
- data["wanted"] = (
- models.Work.objects.annotate(
- shelf_count=Count(
- "editions__shelves", filter=Q(editions__shelves__identifier="to-read")
- )
- )
- .order_by("-shelf_count")
- .first()
- )
- return data
-
-
-@register.simple_tag(takes_context=False)
-def related_status(notification):
- """for notifications"""
- if not notification.related_status:
- return None
- return load_subclass(notification.related_status)
-
-
-@register.simple_tag(takes_context=True)
-def active_shelf(context, book):
- """check what shelf a user has a book on, if any"""
- if hasattr(book, "current_shelves"):
- read_shelves = [
- s
- for s in book.current_shelves
- if s.shelf.identifier in models.Shelf.READ_STATUS_IDENTIFIERS
- ]
- return read_shelves[0] if len(read_shelves) else {"book": book}
-
- shelf = (
- models.ShelfBook.objects.filter(
- shelf__user=context["request"].user,
- book__parent_work__editions=book,
- )
- .select_related("book", "shelf")
- .first()
- )
- return shelf if shelf else {"book": book}
-
-
-@register.simple_tag(takes_context=False)
-def latest_read_through(book, user):
- """the most recent read activity"""
- if hasattr(book, "active_readthroughs"):
- return book.active_readthroughs[0] if len(book.active_readthroughs) else None
-
- return (
- models.ReadThrough.objects.filter(user=user, book=book, is_active=True)
- .order_by("-start_date")
- .first()
- )
-
-
-@register.simple_tag(takes_context=True)
-def mutuals_count(context, user):
- """how many users that you follow, follow them"""
- viewer = context["request"].user
- if not viewer.is_authenticated:
- return None
- return user.followers.filter(followers=viewer).count()
-
-
-@register.simple_tag(takes_context=True)
-def suggested_books(context):
- """get books for suggested books panel"""
- # this happens here instead of in the view so that the template snippet can
- # be cached in the template
- return get_suggested_books(context["request"].user)
diff --git a/bookwyrm/templatetags/feed_page_tags.py b/bookwyrm/templatetags/feed_page_tags.py
new file mode 100644
index 00000000..3d346b9a
--- /dev/null
+++ b/bookwyrm/templatetags/feed_page_tags.py
@@ -0,0 +1,28 @@
+""" tags used on the feed pages """
+from django import template
+from bookwyrm.views.feed import get_suggested_books
+
+
+register = template.Library()
+
+
+@register.filter(name="load_subclass")
+def load_subclass(status):
+ """sometimes you didn't select_subclass"""
+ if hasattr(status, "quotation"):
+ return status.quotation
+ if hasattr(status, "review"):
+ return status.review
+ if hasattr(status, "comment"):
+ return status.comment
+ if hasattr(status, "generatednote"):
+ return status.generatednote
+ return status
+
+
+@register.simple_tag(takes_context=True)
+def suggested_books(context):
+ """get books for suggested books panel"""
+ # this happens here instead of in the view so that the template snippet can
+ # be cached in the template
+ return get_suggested_books(context["request"].user)
diff --git a/bookwyrm/templatetags/bookwyrm_group_tags.py b/bookwyrm/templatetags/group_tags.py
similarity index 100%
rename from bookwyrm/templatetags/bookwyrm_group_tags.py
rename to bookwyrm/templatetags/group_tags.py
diff --git a/bookwyrm/templatetags/interaction.py b/bookwyrm/templatetags/interaction.py
index 90309aaf..89a25420 100644
--- a/bookwyrm/templatetags/interaction.py
+++ b/bookwyrm/templatetags/interaction.py
@@ -1,8 +1,8 @@
""" template filters for status interaction buttons """
from django import template
-from django.core.cache import cache
from bookwyrm import models
+from bookwyrm.utils.cache import get_or_set
register = template.Library()
@@ -11,20 +11,23 @@ register = template.Library()
@register.filter(name="liked")
def get_user_liked(user, status):
"""did the given user fav a status?"""
- return cache.get_or_set(
+ return get_or_set(
f"fav-{user.id}-{status.id}",
- models.Favorite.objects.filter(user=user, status=status).exists(),
- 259200,
+ lambda u, s: models.Favorite.objects.filter(user=u, status=s).exists(),
+ user,
+ status,
+ timeout=259200,
)
@register.filter(name="boosted")
def get_user_boosted(user, status):
"""did the given user fav a status?"""
- return cache.get_or_set(
+ return get_or_set(
f"boost-{user.id}-{status.id}",
- status.boosters.filter(user=user).exists(),
- 259200,
+ lambda u: status.boosters.filter(user=u).exists(),
+ user,
+ timeout=259200,
)
@@ -32,3 +35,32 @@ def get_user_boosted(user, status):
def get_user_saved_lists(user, book_list):
"""did the user save a list"""
return user.saved_lists.filter(id=book_list.id).exists()
+
+
+@register.simple_tag(takes_context=True)
+def get_relationship(context, user_object):
+ """caches the relationship between the logged in user and another user"""
+ user = context["request"].user
+ return get_or_set(
+ f"relationship-{user.id}-{user_object.id}",
+ get_relationship_name,
+ user,
+ user_object,
+ timeout=259200,
+ )
+
+
+def get_relationship_name(user, user_object):
+ """returns the relationship type"""
+ types = {
+ "is_following": False,
+ "is_follow_pending": False,
+ "is_blocked": False,
+ }
+ if user_object in user.blocks.all():
+ types["is_blocked"] = True
+ elif user_object in user.following.all():
+ types["is_following"] = True
+ elif user_object in user.follower_requests.all():
+ types["is_follow_pending"] = True
+ return types
diff --git a/bookwyrm/templatetags/landing_page_tags.py b/bookwyrm/templatetags/landing_page_tags.py
new file mode 100644
index 00000000..e7d94360
--- /dev/null
+++ b/bookwyrm/templatetags/landing_page_tags.py
@@ -0,0 +1,76 @@
+""" template filters """
+from django import template
+from django.db.models import Avg, StdDev, Count, F, Q
+
+from bookwyrm import models
+
+register = template.Library()
+
+
+@register.simple_tag(takes_context=False)
+def get_book_superlatives():
+ """get book stats for the about page"""
+ total_ratings = models.Review.objects.filter(local=True, deleted=False).count()
+ data = {}
+ data["top_rated"] = (
+ models.Work.objects.annotate(
+ rating=Avg(
+ "editions__review__rating",
+ filter=Q(editions__review__local=True, editions__review__deleted=False),
+ ),
+ rating_count=Count(
+ "editions__review",
+ filter=Q(editions__review__local=True, editions__review__deleted=False),
+ ),
+ )
+ .annotate(weighted=F("rating") * F("rating_count") / total_ratings)
+ .filter(rating__gt=4, weighted__gt=0)
+ .order_by("-weighted")
+ .first()
+ )
+
+ data["controversial"] = (
+ models.Work.objects.annotate(
+ deviation=StdDev(
+ "editions__review__rating",
+ filter=Q(editions__review__local=True, editions__review__deleted=False),
+ ),
+ rating_count=Count(
+ "editions__review",
+ filter=Q(editions__review__local=True, editions__review__deleted=False),
+ ),
+ )
+ .annotate(weighted=F("deviation") * F("rating_count") / total_ratings)
+ .filter(weighted__gt=0)
+ .order_by("-weighted")
+ .first()
+ )
+
+ data["wanted"] = (
+ models.Work.objects.annotate(
+ shelf_count=Count(
+ "editions__shelves", filter=Q(editions__shelves__identifier="to-read")
+ )
+ )
+ .order_by("-shelf_count")
+ .first()
+ )
+ return data
+
+
+@register.simple_tag(takes_context=False)
+def get_landing_books():
+ """list of books for the landing page"""
+ return list(
+ set(
+ models.Edition.objects.filter(
+ review__published_date__isnull=False,
+ review__deleted=False,
+ review__user__local=True,
+ review__privacy__in=["public", "unlisted"],
+ )
+ .exclude(cover__exact="")
+ .distinct()
+ .order_by("-review__published_date")[:6]
+ )
+ )
diff --git a/bookwyrm/templatetags/notification_page_tags.py b/bookwyrm/templatetags/notification_page_tags.py
new file mode 100644
index 00000000..28fa2afb
--- /dev/null
+++ b/bookwyrm/templatetags/notification_page_tags.py
@@ -0,0 +1,14 @@
+""" tags used on the feed pages """
+from django import template
+from bookwyrm.templatetags.feed_page_tags import load_subclass
+
+
+register = template.Library()
+
+
+@register.simple_tag(takes_context=False)
+def related_status(notification):
+ """for notifications"""
+ if not notification.related_status:
+ return None
+ return load_subclass(notification.related_status)
diff --git a/bookwyrm/templatetags/rating_tags.py b/bookwyrm/templatetags/rating_tags.py
new file mode 100644
index 00000000..670599e2
--- /dev/null
+++ b/bookwyrm/templatetags/rating_tags.py
@@ -0,0 +1,42 @@
+""" template filters """
+from django import template
+from django.db.models import Avg
+
+from bookwyrm import models
+from bookwyrm.utils import cache
+
+
+register = template.Library()
+
+
+@register.filter(name="rating")
+def get_rating(book, user):
+ """get the overall rating of a book"""
+ return cache.get_or_set(
+ f"book-rating-{book.parent_work.id}-{user.id}",
+ lambda u, b: models.Review.privacy_filter(u)
+ .filter(book__parent_work__editions=b, rating__gt=0)
+ .aggregate(Avg("rating"))["rating__avg"]
+ or 0,
+ user,
+ book,
+ timeout=15552000,
+ )
+
+
+@register.filter(name="user_rating")
+def get_user_rating(book, user):
+ """get a user's rating of a book"""
+ rating = (
+ models.Review.objects.filter(
+ user=user,
+ book=book,
+ rating__isnull=False,
+ deleted=False,
+ )
+ .order_by("-published_date")
+ .first()
+ )
+ if rating:
+ return rating.rating
+ return 0
diff --git a/bookwyrm/templatetags/shelf_tags.py b/bookwyrm/templatetags/shelf_tags.py
new file mode 100644
index 00000000..7aef638f
--- /dev/null
+++ b/bookwyrm/templatetags/shelf_tags.py
@@ -0,0 +1,71 @@
+""" Filters and tags related to shelving books """
+from django import template
+
+from bookwyrm import models
+from bookwyrm.utils import cache
+
+
+register = template.Library()
+
+
+@register.filter(name="is_book_on_shelf")
+def get_is_book_on_shelf(book, shelf):
+ """is a book on a shelf"""
+ return cache.get_or_set(
+ f"book-on-shelf-{book.id}-{shelf.id}",
+ lambda b, s: s.books.filter(id=b.id).exists(),
+ book,
+ shelf,
+ timeout=15552000,
+ )
+
+
+@register.filter(name="next_shelf")
+def get_next_shelf(current_shelf):
+ """shelf you'd use to update reading progress"""
+ if current_shelf == "to-read":
+ return "reading"
+ if current_shelf == "reading":
+ return "read"
+ if current_shelf == "read":
+ return "complete"
+ return "to-read"
+
+
+@register.simple_tag(takes_context=True)
+def active_shelf(context, book):
+ """check what shelf a user has a book on, if any"""
+ user = context["request"].user
+ return (
+ cache.get_or_set(
+ f"active_shelf-{user.id}-{book.id}",
+ lambda u, b: (
+ models.ShelfBook.objects.filter(
+ shelf__user=u,
+ book__parent_work__editions=b,
+ ).first()
+ or False
+ ),
+ user,
+ book,
+ timeout=15552000,
+ )
+ or {"book": book}
+ )
+
+
+@register.simple_tag(takes_context=False)
+def latest_read_through(book, user):
+ """the most recent read activity"""
+ return cache.get_or_set(
+ f"latest_read_through-{user.id}-{book.id}",
+ lambda u, b: (
+ models.ReadThrough.objects.filter(user=u, book=b, is_active=True)
+ .order_by("-start_date")
+ .first()
+ or False
+ ),
+ user,
+ book,
+ timeout=15552000,
+ )
diff --git a/bookwyrm/templatetags/user_page_tags.py b/bookwyrm/templatetags/user_page_tags.py
new file mode 100644
index 00000000..b3a82597
--- /dev/null
+++ b/bookwyrm/templatetags/user_page_tags.py
@@ -0,0 +1,14 @@
+""" template filters """
+from django import template
+
+
+register = template.Library()
+
+
+@register.simple_tag(takes_context=True)
+def mutuals_count(context, user):
+ """how many users that you follow, follow them"""
+ viewer = context["request"].user
+ if not viewer.is_authenticated:
+ return None
+ return user.followers.filter(followers=viewer).count()
diff --git a/bookwyrm/tests/models/test_link.py b/bookwyrm/tests/models/test_link.py
new file mode 100644
index 00000000..8afecd6c
--- /dev/null
+++ b/bookwyrm/tests/models/test_link.py
@@ -0,0 +1,41 @@
+""" testing models """
+from unittest.mock import patch
+from django.test import TestCase
+
+from bookwyrm import models
+
+
+@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
+class Link(TestCase):
+ """some activitypub oddness ahead"""
+
+ def setUp(self):
+ """look, a list"""
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.local_user = models.User.objects.create_user(
+ "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse"
+ )
+ work = models.Work.objects.create(title="hello")
+ self.book = models.Edition.objects.create(title="hi", parent_work=work)
+
+ def test_create_domain(self, _):
+ """generated default name"""
+ domain = models.LinkDomain.objects.create(domain="beep.com")
+ self.assertEqual(domain.name, "beep.com")
+ self.assertEqual(domain.status, "pending")
+
+ def test_create_link_new_domain(self, _):
+ """generates link and sets domain"""
+ link = models.Link.objects.create(url="https://www.hello.com/hi-there")
+ self.assertEqual(link.domain.domain, "www.hello.com")
+ self.assertEqual(link.name, "www.hello.com")
+
+ def test_create_link_existing_domain(self, _):
+ """generate link with a known domain"""
+ domain = models.LinkDomain.objects.create(domain="www.hello.com", name="Hi")
+
+ link = models.Link.objects.create(url="https://www.hello.com/hi-there")
+ self.assertEqual(link.domain, domain)
+ self.assertEqual(link.name, "Hi")
diff --git a/bookwyrm/tests/models/test_site.py b/bookwyrm/tests/models/test_site.py
index d23f7988..05882268 100644
--- a/bookwyrm/tests/models/test_site.py
+++ b/bookwyrm/tests/models/test_site.py
@@ -93,3 +93,48 @@ class SiteModels(TestCase):
token = models.PasswordReset.objects.create(user=self.local_user, code="hello")
self.assertTrue(token.valid())
self.assertEqual(token.link, f"https://{settings.DOMAIN}/password-reset/hello")
+
+ @patch("bookwyrm.suggested_users.rerank_suggestions_task.delay")
+ @patch("bookwyrm.suggested_users.remove_user_task.delay")
+ @patch("bookwyrm.activitystreams.populate_stream_task.delay")
+ @patch("bookwyrm.lists_stream.populate_lists_task.delay")
+ def test_change_confirmation_scheme(self, *_):
+ """Switch from requiring email confirmation to not"""
+ site = models.SiteSettings.objects.create(
+ id=1, name="Fish Town", require_confirm_email=True
+ )
+ banned_user = models.User.objects.create_user(
+ "rat@local.com",
+ "rat@rat.com",
+ "ratword",
+ local=True,
+ localname="rat",
+ remote_id="https://example.com/users/rat",
+ confirmation_code="HELLO",
+ )
+ banned_user.is_active = False
+ banned_user.deactivation_reason = "banned"
+ banned_user.save(broadcast=False)
+
+ pending_user = models.User.objects.create_user(
+ "nutria@local.com",
+ "nutria@nutria.com",
+ "nutriaword",
+ local=True,
+ localname="nutria",
+ remote_id="https://example.com/users/nutria",
+ confirmation_code="HELLO",
+ )
+ pending_user.is_active = False
+ pending_user.deactivation_reason = "pending"
+ pending_user.save(broadcast=False)
+ site.require_confirm_email = False
+ site.save()
+
+ pending_user.refresh_from_db()
+ self.assertTrue(pending_user.is_active)
+ self.assertIsNone(pending_user.deactivation_reason)
+
+ banned_user.refresh_from_db()
+ self.assertFalse(banned_user.is_active)
+ self.assertIsNotNone(banned_user.deactivation_reason)
diff --git a/bookwyrm/tests/models/test_status_model.py b/bookwyrm/tests/models/test_status_model.py
index 6520094c..837cd41d 100644
--- a/bookwyrm/tests/models/test_status_model.py
+++ b/bookwyrm/tests/models/test_status_model.py
@@ -325,7 +325,8 @@ class Status(TestCase):
self.assertEqual(activity["id"], status.remote_id)
self.assertEqual(activity["type"], "Article")
self.assertEqual(
- activity["name"], f'Review of "{self.book.title}": Review name'
+ activity["name"],
+ f'Review of "{self.book.title}": Review name',
)
self.assertEqual(activity["content"], "test content")
self.assertEqual(activity["attachment"][0].type, "Document")
diff --git a/bookwyrm/tests/templatetags/test_book_display_tags.py b/bookwyrm/tests/templatetags/test_book_display_tags.py
new file mode 100644
index 00000000..54ae8806
--- /dev/null
+++ b/bookwyrm/tests/templatetags/test_book_display_tags.py
@@ -0,0 +1,62 @@
+""" style fixes and lookups for templates """
+from unittest.mock import patch
+
+from django.test import TestCase
+
+from bookwyrm import models
+from bookwyrm.templatetags import book_display_tags
+
+
+@patch("bookwyrm.activitystreams.add_status_task.delay")
+@patch("bookwyrm.activitystreams.remove_status_task.delay")
+@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
+class BookDisplayTags(TestCase):
+ """lotta different things here"""
+
+ def setUp(self):
+ """create some filler objects"""
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.user = models.User.objects.create_user(
+ "mouse@example.com",
+ "mouse@mouse.mouse",
+ "mouseword",
+ local=True,
+ localname="mouse",
+ )
+ self.book = models.Edition.objects.create(title="Test Book")
+
+ def test_get_book_description(self, *_):
+ """grab it from the edition or the parent"""
+ work = models.Work.objects.create(title="Test Work")
+ self.book.parent_work = work
+ self.book.save()
+
+ self.assertIsNone(book_display_tags.get_book_description(self.book))
+
+ work.description = "hi"
+ work.save()
+ self.assertEqual(book_display_tags.get_book_description(self.book), "hi")
+
+ self.book.description = "hello"
+ self.book.save()
+ self.assertEqual(book_display_tags.get_book_description(self.book), "hello")
+
+ def test_get_book_file_links(self, *_):
+ """load approved links"""
+ link = models.FileLink.objects.create(
+ book=self.book,
+ url="https://web.site/hello",
+ )
+ links = book_display_tags.get_book_file_links(self.book)
+ # the link is pending
+ self.assertFalse(links.exists())
+
+ domain = link.domain
+ domain.status = "approved"
+ domain.save()
+
+ links = book_display_tags.get_book_file_links(self.book)
+ self.assertTrue(links.exists())
+ self.assertEqual(links[0], link)
diff --git a/bookwyrm/tests/templatetags/test_bookwyrm_tags.py b/bookwyrm/tests/templatetags/test_bookwyrm_tags.py
deleted file mode 100644
index 7b8d199d..00000000
--- a/bookwyrm/tests/templatetags/test_bookwyrm_tags.py
+++ /dev/null
@@ -1,101 +0,0 @@
-""" style fixes and lookups for templates """
-from unittest.mock import patch
-
-from django.test import TestCase
-
-from bookwyrm import models
-from bookwyrm.templatetags import bookwyrm_tags
-
-
-@patch("bookwyrm.activitystreams.add_status_task.delay")
-@patch("bookwyrm.activitystreams.remove_status_task.delay")
-class BookWyrmTags(TestCase):
- """lotta different things here"""
-
- def setUp(self):
- """create some filler objects"""
- with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
- "bookwyrm.activitystreams.populate_stream_task.delay"
- ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
- self.user = models.User.objects.create_user(
- "mouse@example.com",
- "mouse@mouse.mouse",
- "mouseword",
- local=True,
- localname="mouse",
- )
- with patch("bookwyrm.models.user.set_remote_server.delay"):
- self.remote_user = models.User.objects.create_user(
- "rat",
- "rat@rat.rat",
- "ratword",
- remote_id="http://example.com/rat",
- local=False,
- )
- self.book = models.Edition.objects.create(title="Test Book")
-
- def test_get_user_rating(self, *_):
- """get a user's most recent rating of a book"""
- with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
- models.Review.objects.create(user=self.user, book=self.book, rating=3)
- self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 3)
-
- def test_get_user_rating_doesnt_exist(self, *_):
- """there is no rating available"""
- self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 0)
-
- def test_get_book_description(self, *_):
- """grab it from the edition or the parent"""
- work = models.Work.objects.create(title="Test Work")
- self.book.parent_work = work
- self.book.save()
-
- self.assertIsNone(bookwyrm_tags.get_book_description(self.book))
-
- work.description = "hi"
- work.save()
- self.assertEqual(bookwyrm_tags.get_book_description(self.book), "hi")
-
- self.book.description = "hello"
- self.book.save()
- self.assertEqual(bookwyrm_tags.get_book_description(self.book), "hello")
-
- def test_get_next_shelf(self, *_):
- """self progress helper"""
- self.assertEqual(bookwyrm_tags.get_next_shelf("to-read"), "reading")
- self.assertEqual(bookwyrm_tags.get_next_shelf("reading"), "read")
- self.assertEqual(bookwyrm_tags.get_next_shelf("read"), "complete")
- self.assertEqual(bookwyrm_tags.get_next_shelf("blooooga"), "to-read")
-
- @patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
- def test_load_subclass(self, *_):
- """get a status' real type"""
- review = models.Review.objects.create(user=self.user, book=self.book, rating=3)
- status = models.Status.objects.get(id=review.id)
- self.assertIsInstance(status, models.Status)
- self.assertIsInstance(bookwyrm_tags.load_subclass(status), models.Review)
-
- quote = models.Quotation.objects.create(
- user=self.user, book=self.book, content="hi"
- )
- status = models.Status.objects.get(id=quote.id)
- self.assertIsInstance(status, models.Status)
- self.assertIsInstance(bookwyrm_tags.load_subclass(status), models.Quotation)
-
- comment = models.Comment.objects.create(
- user=self.user, book=self.book, content="hi"
- )
- status = models.Status.objects.get(id=comment.id)
- self.assertIsInstance(status, models.Status)
- self.assertIsInstance(bookwyrm_tags.load_subclass(status), models.Comment)
-
- def test_related_status(self, *_):
- """gets the subclass model for a notification status"""
- with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
- status = models.Status.objects.create(content="hi", user=self.user)
- notification = models.Notification.objects.create(
- user=self.user, notification_type="MENTION", related_status=status
- )
-
- result = bookwyrm_tags.related_status(notification)
- self.assertIsInstance(result, models.Status)
diff --git a/bookwyrm/tests/templatetags/test_feed_page_tags.py b/bookwyrm/tests/templatetags/test_feed_page_tags.py
new file mode 100644
index 00000000..5e5dc235
--- /dev/null
+++ b/bookwyrm/tests/templatetags/test_feed_page_tags.py
@@ -0,0 +1,49 @@
+""" style fixes and lookups for templates """
+from unittest.mock import patch
+
+from django.test import TestCase
+
+from bookwyrm import models
+from bookwyrm.templatetags import feed_page_tags
+
+
+@patch("bookwyrm.activitystreams.add_status_task.delay")
+@patch("bookwyrm.activitystreams.remove_status_task.delay")
+class FeedPageTags(TestCase):
+ """lotta different things here"""
+
+ def setUp(self):
+ """create some filler objects"""
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.user = models.User.objects.create_user(
+ "mouse@example.com",
+ "mouse@mouse.mouse",
+ "mouseword",
+ local=True,
+ localname="mouse",
+ )
+ self.book = models.Edition.objects.create(title="Test Book")
+
+ @patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
+ def test_load_subclass(self, *_):
+ """get a status' real type"""
+ review = models.Review.objects.create(user=self.user, book=self.book, rating=3)
+ status = models.Status.objects.get(id=review.id)
+ self.assertIsInstance(status, models.Status)
+ self.assertIsInstance(feed_page_tags.load_subclass(status), models.Review)
+
+ quote = models.Quotation.objects.create(
+ user=self.user, book=self.book, content="hi"
+ )
+ status = models.Status.objects.get(id=quote.id)
+ self.assertIsInstance(status, models.Status)
+ self.assertIsInstance(feed_page_tags.load_subclass(status), models.Quotation)
+
+ comment = models.Comment.objects.create(
+ user=self.user, book=self.book, content="hi"
+ )
+ status = models.Status.objects.get(id=comment.id)
+ self.assertIsInstance(status, models.Status)
+ self.assertIsInstance(feed_page_tags.load_subclass(status), models.Comment)
diff --git a/bookwyrm/tests/templatetags/test_notification_page_tags.py b/bookwyrm/tests/templatetags/test_notification_page_tags.py
new file mode 100644
index 00000000..3c92181b
--- /dev/null
+++ b/bookwyrm/tests/templatetags/test_notification_page_tags.py
@@ -0,0 +1,37 @@
+""" style fixes and lookups for templates """
+from unittest.mock import patch
+
+from django.test import TestCase
+
+from bookwyrm import models
+from bookwyrm.templatetags import notification_page_tags
+
+
+@patch("bookwyrm.activitystreams.add_status_task.delay")
+@patch("bookwyrm.activitystreams.remove_status_task.delay")
+class NotificationPageTags(TestCase):
+ """lotta different things here"""
+
+ def setUp(self):
+ """create some filler objects"""
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.user = models.User.objects.create_user(
+ "mouse@example.com",
+ "mouse@mouse.mouse",
+ "mouseword",
+ local=True,
+ localname="mouse",
+ )
+
+ def test_related_status(self, *_):
+ """gets the subclass model for a notification status"""
+ with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
+ status = models.Status.objects.create(content="hi", user=self.user)
+ notification = models.Notification.objects.create(
+ user=self.user, notification_type="MENTION", related_status=status
+ )
+
+ result = notification_page_tags.related_status(notification)
+ self.assertIsInstance(result, models.Status)
diff --git a/bookwyrm/tests/templatetags/test_rating_tags.py b/bookwyrm/tests/templatetags/test_rating_tags.py
new file mode 100644
index 00000000..c00f2072
--- /dev/null
+++ b/bookwyrm/tests/templatetags/test_rating_tags.py
@@ -0,0 +1,80 @@
+""" Gettings book ratings """
+from unittest.mock import patch
+
+from django.test import TestCase
+
+from bookwyrm import models
+from bookwyrm.templatetags import rating_tags
+
+
+@patch("bookwyrm.activitystreams.add_status_task.delay")
+@patch("bookwyrm.activitystreams.remove_status_task.delay")
+class RatingTags(TestCase):
+ """lotta different things here"""
+
+ def setUp(self):
+ """create some filler objects"""
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.local_user = models.User.objects.create_user(
+ "mouse@example.com",
+ "mouse@mouse.mouse",
+ "mouseword",
+ local=True,
+ localname="mouse",
+ )
+ with patch("bookwyrm.models.user.set_remote_server.delay"):
+ self.remote_user = models.User.objects.create_user(
+ "rat",
+ "rat@rat.rat",
+ "ratword",
+ remote_id="http://example.com/rat",
+ local=False,
+ )
+ work = models.Work.objects.create(title="Work title")
+ self.book = models.Edition.objects.create(
+ title="Test Book",
+ parent_work=work,
+ )
+
+ @patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
+ def test_get_rating(self, *_):
+ """privacy filtered rating"""
+ # follows-only: not included
+ models.ReviewRating.objects.create(
+ user=self.remote_user,
+ rating=5,
+ book=self.book,
+ privacy="followers",
+ )
+ self.assertEqual(rating_tags.get_rating(self.book, self.local_user), 0)
+
+ # public: included
+ models.ReviewRating.objects.create(
+ user=self.remote_user,
+ rating=5,
+ book=self.book,
+ privacy="public",
+ )
+ self.assertEqual(rating_tags.get_rating(self.book, self.local_user), 5)
+
+ # rating unset: not included
+ models.Review.objects.create(
+ name="blah",
+ user=self.local_user,
+ rating=0,
+ book=self.book,
+ privacy="public",
+ )
+ self.assertEqual(rating_tags.get_rating(self.book, self.local_user), 5)
+
+ def test_get_user_rating(self, *_):
+ """get a user's most recent rating of a book"""
+ with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
+ models.Review.objects.create(user=self.local_user, book=self.book, rating=3)
+ self.assertEqual(rating_tags.get_user_rating(self.book, self.local_user), 3)
+
+ def test_get_user_rating_doesnt_exist(self, *_):
+ """there is no rating available"""
+ self.assertEqual(rating_tags.get_user_rating(self.book, self.local_user), 0)
diff --git a/bookwyrm/tests/templatetags/test_shelf_tags.py b/bookwyrm/tests/templatetags/test_shelf_tags.py
new file mode 100644
index 00000000..5a88604d
--- /dev/null
+++ b/bookwyrm/tests/templatetags/test_shelf_tags.py
@@ -0,0 +1,70 @@
+""" style fixes and lookups for templates """
+from unittest.mock import patch
+
+from django.test import TestCase
+from django.test.client import RequestFactory
+
+from bookwyrm import models
+from bookwyrm.templatetags import shelf_tags
+
+
+@patch("bookwyrm.activitystreams.add_status_task.delay")
+@patch("bookwyrm.activitystreams.remove_status_task.delay")
+@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
+@patch("bookwyrm.activitystreams.add_book_statuses_task.delay")
+class ShelfTags(TestCase):
+ """lotta different things here"""
+
+ def setUp(self):
+ """create some filler objects"""
+ self.factory = RequestFactory()
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.local_user = models.User.objects.create_user(
+ "mouse@example.com",
+ "mouse@mouse.mouse",
+ "mouseword",
+ local=True,
+ localname="mouse",
+ )
+ with patch("bookwyrm.models.user.set_remote_server.delay"):
+ self.remote_user = models.User.objects.create_user(
+ "rat",
+ "rat@rat.rat",
+ "ratword",
+ remote_id="http://example.com/rat",
+ local=False,
+ )
+ self.book = models.Edition.objects.create(
+ title="Test Book",
+ parent_work=models.Work.objects.create(title="Test work"),
+ )
+
+ def test_get_is_book_on_shelf(self, *_):
+ """check if a book is on a shelf"""
+ shelf = self.local_user.shelf_set.first()
+ self.assertFalse(shelf_tags.get_is_book_on_shelf(self.book, shelf))
+ models.ShelfBook.objects.create(
+ shelf=shelf, book=self.book, user=self.local_user
+ )
+ self.assertTrue(shelf_tags.get_is_book_on_shelf(self.book, shelf))
+
+ def test_get_next_shelf(self, *_):
+ """self progress helper"""
+ self.assertEqual(shelf_tags.get_next_shelf("to-read"), "reading")
+ self.assertEqual(shelf_tags.get_next_shelf("reading"), "read")
+ self.assertEqual(shelf_tags.get_next_shelf("read"), "complete")
+ self.assertEqual(shelf_tags.get_next_shelf("blooooga"), "to-read")
+
+ def test_active_shelf(self, *_):
+ """get the shelf a book is on"""
+ shelf = self.local_user.shelf_set.first()
+ request = self.factory.get("")
+ request.user = self.local_user
+ context = {"request": request}
+ self.assertIsInstance(shelf_tags.active_shelf(context, self.book), dict)
+ models.ShelfBook.objects.create(
+ shelf=shelf, book=self.book, user=self.local_user
+ )
+ self.assertEqual(shelf_tags.active_shelf(context, self.book).shelf, shelf)
diff --git a/bookwyrm/tests/templatetags/test_status_display.py b/bookwyrm/tests/templatetags/test_status_display.py
index 50c5571e..af2fc942 100644
--- a/bookwyrm/tests/templatetags/test_status_display.py
+++ b/bookwyrm/tests/templatetags/test_status_display.py
@@ -1,4 +1,5 @@
""" style fixes and lookups for templates """
+from datetime import datetime
from unittest.mock import patch
from django.test import TestCase
@@ -35,6 +36,12 @@ class StatusDisplayTags(TestCase):
)
self.book = models.Edition.objects.create(title="Test Book")
+ def test_get_mentions(self, *_):
+ """list of people mentioned"""
+ status = models.Status.objects.create(content="hi", user=self.remote_user)
+ result = status_display.get_mentions(status, self.user)
+ self.assertEqual(result, "@rat@example.com ")
+
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
def test_get_replies(self, *_):
"""direct replies to a status"""
@@ -83,8 +90,16 @@ class StatusDisplayTags(TestCase):
self.assertIsInstance(boosted, models.Review)
self.assertEqual(boosted, status)
- def test_get_mentions(self, *_):
- """list of people mentioned"""
- status = models.Status.objects.create(content="hi", user=self.remote_user)
- result = status_display.get_mentions(status, self.user)
- self.assertEqual(result, "@rat@example.com ")
+ def test_get_published_date(self, *_):
+ """date formatting"""
+ date = datetime(2020, 1, 1, 0, 0, tzinfo=timezone.utc)
+ with patch("django.utils.timezone.now") as timezone_mock:
+ timezone_mock.return_value = datetime(2022, 1, 1, 0, 0, tzinfo=timezone.utc)
+ result = status_display.get_published_date(date)
+ self.assertEqual(result, "Jan. 1, 2020")
+
+ date = datetime(2022, 1, 1, 0, 0, tzinfo=timezone.utc)
+ with patch("django.utils.timezone.now") as timezone_mock:
+ timezone_mock.return_value = datetime(2022, 1, 8, 0, 0, tzinfo=timezone.utc)
+ result = status_display.get_published_date(date)
+ self.assertEqual(result, "Jan 1")
diff --git a/bookwyrm/tests/templatetags/test_utilities.py b/bookwyrm/tests/templatetags/test_utilities.py
index e41cd21a..0136ca8c 100644
--- a/bookwyrm/tests/templatetags/test_utilities.py
+++ b/bookwyrm/tests/templatetags/test_utilities.py
@@ -35,6 +35,15 @@ class UtilitiesTags(TestCase):
)
self.book = models.Edition.objects.create(title="Test Book")
+ def test_get_uuid(self, *_):
+ """uuid functionality"""
+ uuid = utilities.get_uuid("hi")
+ self.assertTrue(re.match(r"hi[A-Za-z0-9\-]", uuid))
+
+ def test_join(self, *_):
+ """concats things with underscores"""
+ self.assertEqual(utilities.join("hi", 5, "blah", 0.75), "hi_5_blah_0.75")
+
def test_get_user_identifer_local(self, *_):
"""fall back to the simplest uid available"""
self.assertNotEqual(self.user.username, self.user.localname)
@@ -46,11 +55,6 @@ class UtilitiesTags(TestCase):
utilities.get_user_identifier(self.remote_user), "rat@example.com"
)
- def test_get_uuid(self, *_):
- """uuid functionality"""
- uuid = utilities.get_uuid("hi")
- self.assertTrue(re.match(r"hi[A-Za-z0-9\-]", uuid))
-
def test_get_title(self, *_):
"""the title of a book"""
self.assertEqual(utilities.get_title(None), "")
diff --git a/bookwyrm/tests/views/admin/test_link_domains.py b/bookwyrm/tests/views/admin/test_link_domains.py
new file mode 100644
index 00000000..5d440dc5
--- /dev/null
+++ b/bookwyrm/tests/views/admin/test_link_domains.py
@@ -0,0 +1,80 @@
+""" test for app action functionality """
+from unittest.mock import patch
+
+from django.template.response import TemplateResponse
+from django.test import TestCase
+from django.test.client import RequestFactory
+
+from bookwyrm import models, views
+from bookwyrm.tests.validate_html import validate_html
+
+
+class LinkDomainViews(TestCase):
+ """every response to a get request, html or json"""
+
+ def setUp(self):
+ """we need basic test data and mocks"""
+ self.factory = RequestFactory()
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
+ self.local_user = models.User.objects.create_user(
+ "mouse@local.com",
+ "mouse@mouse.mouse",
+ "password",
+ local=True,
+ localname="mouse",
+ )
+ self.book = models.Edition.objects.create(title="hello")
+ models.FileLink.objects.create(
+ book=self.book,
+ url="https://beep.com/book/1",
+ added_by=self.local_user,
+ )
+
+ models.SiteSettings.objects.create()
+
+ def test_domain_page_get(self):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.LinkDomain.as_view()
+ request = self.factory.get("")
+ request.user = self.local_user
+ request.user.is_superuser = True
+
+ result = view(request, "pending")
+
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
+
+ def test_domain_page_post(self):
+ """there are so many views, this just makes sure it LOADS"""
+ domain = models.LinkDomain.objects.get(domain="beep.com")
+ self.assertEqual(domain.name, "beep.com")
+
+ view = views.LinkDomain.as_view()
+ request = self.factory.post("", {"name": "ugh"})
+ request.user = self.local_user
+ request.user.is_superuser = True
+
+ result = view(request, "pending", domain.id)
+ self.assertEqual(result.status_code, 302)
+
+ domain.refresh_from_db()
+ self.assertEqual(domain.name, "ugh")
+
+ def test_domain_page_set_status(self):
+ """there are so many views, this just makes sure it LOADS"""
+ domain = models.LinkDomain.objects.get(domain="beep.com")
+ self.assertEqual(domain.status, "pending")
+
+ view = views.update_domain_status
+ request = self.factory.post("")
+ request.user = self.local_user
+ request.user.is_superuser = True
+
+ result = view(request, domain.id, "approved")
+ self.assertEqual(result.status_code, 302)
+
+ domain.refresh_from_db()
+ self.assertEqual(domain.status, "approved")
diff --git a/bookwyrm/tests/views/admin/test_reports.py b/bookwyrm/tests/views/admin/test_reports.py
index 137d17cb..d0f2e9d9 100644
--- a/bookwyrm/tests/views/admin/test_reports.py
+++ b/bookwyrm/tests/views/admin/test_reports.py
@@ -37,7 +37,7 @@ class ReportViews(TestCase):
def test_reports_page(self):
"""there are so many views, this just makes sure it LOADS"""
- view = views.Reports.as_view()
+ view = views.ReportsAdmin.as_view()
request = self.factory.get("")
request.user = self.local_user
request.user.is_superuser = True
@@ -49,7 +49,7 @@ class ReportViews(TestCase):
def test_reports_page_with_data(self):
"""there are so many views, this just makes sure it LOADS"""
- view = views.Reports.as_view()
+ view = views.ReportsAdmin.as_view()
request = self.factory.get("")
request.user = self.local_user
request.user.is_superuser = True
@@ -62,7 +62,7 @@ class ReportViews(TestCase):
def test_report_page(self):
"""there are so many views, this just makes sure it LOADS"""
- view = views.Report.as_view()
+ view = views.ReportAdmin.as_view()
request = self.factory.get("")
request.user = self.local_user
request.user.is_superuser = True
@@ -76,7 +76,7 @@ class ReportViews(TestCase):
def test_report_comment(self):
"""comment on a report"""
- view = views.Report.as_view()
+ view = views.ReportAdmin.as_view()
request = self.factory.post("", {"note": "hi"})
request.user = self.local_user
request.user.is_superuser = True
@@ -97,7 +97,7 @@ class ReportViews(TestCase):
request = self.factory.post("", form.data)
request.user = self.local_user
- views.make_report(request)
+ views.Report.as_view()(request)
report = models.Report.objects.get()
self.assertEqual(report.reporter, self.local_user)
diff --git a/bookwyrm/tests/views/books/test_links.py b/bookwyrm/tests/views/books/test_links.py
new file mode 100644
index 00000000..2aee5aed
--- /dev/null
+++ b/bookwyrm/tests/views/books/test_links.py
@@ -0,0 +1,146 @@
+""" test for app action functionality """
+import json
+from unittest.mock import patch
+
+from django.contrib.auth.models import Group, Permission
+from django.contrib.contenttypes.models import ContentType
+from django.template.response import TemplateResponse
+from django.test import TestCase
+from django.test.client import RequestFactory
+
+from bookwyrm import forms, models, views
+from bookwyrm.tests.validate_html import validate_html
+
+
+class LinkViews(TestCase):
+ """books books books"""
+
+ def setUp(self):
+ """we need basic test data and mocks"""
+ self.factory = RequestFactory()
+ with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
+ "bookwyrm.activitystreams.populate_stream_task.delay"
+ ):
+ self.local_user = models.User.objects.create_user(
+ "mouse@local.com",
+ "mouse@mouse.com",
+ "mouseword",
+ local=True,
+ localname="mouse",
+ remote_id="https://example.com/users/mouse",
+ )
+ group = Group.objects.create(name="editor")
+ group.permissions.add(
+ Permission.objects.create(
+ name="edit_book",
+ codename="edit_book",
+ content_type=ContentType.objects.get_for_model(models.User),
+ ).id
+ )
+ self.local_user.groups.add(group)
+
+ self.work = models.Work.objects.create(title="Test Work")
+ self.book = models.Edition.objects.create(
+ title="Example Edition",
+ remote_id="https://example.com/book/1",
+ parent_work=self.work,
+ )
+
+ models.SiteSettings.objects.create()
+
+ def test_add_link_page(self):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.AddFileLink.as_view()
+ request = self.factory.get("")
+ request.user = self.local_user
+ result = view(request, self.book.id)
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+
+ self.assertEqual(result.status_code, 200)
+
+ def test_add_link_post(self, *_):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.AddFileLink.as_view()
+ form = forms.FileLinkForm()
+ form.data["url"] = "https://www.example.com"
+ form.data["filetype"] = "HTML"
+ form.data["book"] = self.book.id
+ form.data["added_by"] = self.local_user.id
+ form.data["availability"] = "loan"
+
+ request = self.factory.post("", form.data)
+ request.user = self.local_user
+ with patch(
+ "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
+ ) as mock:
+ view(request, self.book.id)
+ self.assertEqual(mock.call_count, 1)
+
+ activity = json.loads(mock.call_args[1]["args"][1])
+ self.assertEqual(activity["type"], "Update")
+ self.assertEqual(activity["object"]["type"], "Edition")
+
+ link = models.FileLink.objects.get()
+ self.assertEqual(link.name, "www.example.com")
+ self.assertEqual(link.url, "https://www.example.com")
+ self.assertEqual(link.filetype, "HTML")
+
+ self.book.refresh_from_db()
+ self.assertEqual(self.book.file_links.first(), link)
+
+ def test_book_links(self):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.BookFileLinks.as_view()
+ models.FileLink.objects.create(
+ book=self.book,
+ added_by=self.local_user,
+ url="https://www.hello.com",
+ )
+ request = self.factory.get("")
+ request.user = self.local_user
+ result = view(request, self.book.id)
+ self.assertEqual(result.status_code, 200)
+ validate_html(result.render())
+
+ def test_book_links_post(self):
+ """there are so many views, this just makes sure it LOADS"""
+ link = models.FileLink.objects.create(
+ book=self.book,
+ added_by=self.local_user,
+ url="https://www.hello.com",
+ )
+ view = views.BookFileLinks.as_view()
+ form = forms.FileLinkForm()
+ form.data["url"] = link.url
+ form.data["filetype"] = "HTML"
+ form.data["book"] = self.book.id
+ form.data["added_by"] = self.local_user.id
+ form.data["availability"] = "loan"
+
+ request = self.factory.post("", form.data)
+ request.user = self.local_user
+ view(request, self.book.id, link.id)
+
+ link.refresh_from_db()
+ self.assertEqual(link.filetype, "HTML")
+ self.assertEqual(link.availability, "loan")
+
+ def test_delete_link(self):
+ """remove a link"""
+ link = models.FileLink.objects.create(
+ book=self.book,
+ added_by=self.local_user,
+ url="https://www.hello.com",
+ )
+ form = forms.FileLinkForm()
+ form.data["url"] = "https://www.example.com"
+ form.data["filetype"] = "HTML"
+ form.data["book"] = self.book.id
+ form.data["added_by"] = self.local_user.id
+ form.data["availability"] = "loan"
+
+ request = self.factory.post("", form.data)
+ request.user = self.local_user
+ views.delete_link(request, self.book.id, link.id)
+ self.assertFalse(models.FileLink.objects.exists())
diff --git a/bookwyrm/tests/views/inbox/test_inbox_update.py b/bookwyrm/tests/views/inbox/test_inbox_update.py
index 052b47c4..963742c8 100644
--- a/bookwyrm/tests/views/inbox/test_inbox_update.py
+++ b/bookwyrm/tests/views/inbox/test_inbox_update.py
@@ -6,6 +6,7 @@ from unittest.mock import patch
from django.test import TestCase
from bookwyrm import models, views
+from bookwyrm.activitypub.base_activity import set_related_field
# pylint: disable=too-many-public-methods
@@ -147,6 +148,48 @@ class InboxUpdate(TestCase):
self.assertEqual(book.title, "Piranesi")
self.assertEqual(book.last_edited_by, self.remote_user)
+ def test_update_edition_links(self):
+ """add links to edition"""
+ datafile = pathlib.Path(__file__).parent.joinpath("../../data/bw_edition.json")
+ bookdata = json.loads(datafile.read_bytes())
+ del bookdata["authors"]
+ # pylint: disable=line-too-long
+ link_data = {
+ "href": "https://openlibrary.org/books/OL11645413M/Queen_Victoria/daisy",
+ "mediaType": "Daisy",
+ "attributedTo": self.remote_user.remote_id,
+ }
+ bookdata["fileLinks"] = [link_data]
+
+ models.Work.objects.create(
+ title="Test Work", remote_id="https://bookwyrm.social/book/5988"
+ )
+ book = models.Edition.objects.create(
+ title="Test Book", remote_id="https://bookwyrm.social/book/5989"
+ )
+ self.assertFalse(book.file_links.exists())
+
+ with patch(
+ "bookwyrm.activitypub.base_activity.set_related_field.delay"
+ ) as mock:
+ views.inbox.activity_task(
+ {
+ "type": "Update",
+ "to": [],
+ "cc": [],
+ "actor": "hi",
+ "id": "sdkjf",
+ "object": bookdata,
+ }
+ )
+ args = mock.call_args[0]
+ self.assertEqual(args[0], "FileLink")
+ self.assertEqual(args[1], "Edition")
+ self.assertEqual(args[2], "book")
+ self.assertEqual(args[3], book.remote_id)
+ self.assertEqual(args[4], link_data)
+ # idk how to test that related name works, because of the transaction
+
def test_update_work(self):
"""update an existing edition"""
datafile = pathlib.Path(__file__).parent.joinpath("../../data/bw_work.json")
diff --git a/bookwyrm/tests/views/shelf/test_shelf.py b/bookwyrm/tests/views/shelf/test_shelf.py
index 4a74ffb6..9aec632f 100644
--- a/bookwyrm/tests/views/shelf/test_shelf.py
+++ b/bookwyrm/tests/views/shelf/test_shelf.py
@@ -51,6 +51,11 @@ class ShelfViews(TestCase):
def test_shelf_page_all_books(self, *_):
"""there are so many views, this just makes sure it LOADS"""
+ models.ShelfBook.objects.create(
+ book=self.book,
+ shelf=self.shelf,
+ user=self.local_user,
+ )
view = views.Shelf.as_view()
request = self.factory.get("")
request.user = self.local_user
@@ -61,6 +66,41 @@ class ShelfViews(TestCase):
validate_html(result.render())
self.assertEqual(result.status_code, 200)
+ def test_shelf_page_all_books_empty(self, *_):
+ """No books shelved"""
+ view = views.Shelf.as_view()
+ request = self.factory.get("")
+ request.user = self.local_user
+ with patch("bookwyrm.views.shelf.shelf.is_api_request") as is_api:
+ is_api.return_value = False
+ result = view(request, self.local_user.username)
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
+
+ def test_shelf_page_all_books_avoid_duplicates(self, *_):
+ """Make sure books aren't showing up twice on the all shelves view"""
+ models.ShelfBook.objects.create(
+ book=self.book,
+ shelf=self.shelf,
+ user=self.local_user,
+ )
+ models.ShelfBook.objects.create(
+ book=self.book,
+ shelf=self.local_user.shelf_set.first(),
+ user=self.local_user,
+ )
+ view = views.Shelf.as_view()
+ request = self.factory.get("")
+ request.user = self.local_user
+ with patch("bookwyrm.views.shelf.shelf.is_api_request") as is_api:
+ is_api.return_value = False
+ result = view(request, self.local_user.username)
+ self.assertEqual(result.context_data["books"].object_list.count(), 1)
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
+
def test_shelf_page_all_books_json(self, *_):
"""there is no json view here"""
view = views.Shelf.as_view()
diff --git a/bookwyrm/tests/views/test_group.py b/bookwyrm/tests/views/test_group.py
index 7c82b475..e43b040a 100644
--- a/bookwyrm/tests/views/test_group.py
+++ b/bookwyrm/tests/views/test_group.py
@@ -92,6 +92,18 @@ class GroupViews(TestCase):
validate_html(result.render())
self.assertEqual(result.status_code, 200)
+ def test_findusers_get_with_query(self, _):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.FindUsers.as_view()
+ request = self.factory.get("", {"user_query": "rat"})
+ request.user = self.local_user
+ with patch("bookwyrm.suggested_users.SuggestedUsers.get_suggestions") as mock:
+ mock.return_value = models.User.objects.all()
+ result = view(request, group_id=self.testgroup.id)
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
+
def test_group_create(self, _):
"""create group view"""
view = views.UserGroups.as_view()
diff --git a/bookwyrm/tests/views/test_reading.py b/bookwyrm/tests/views/test_reading.py
index 0d6c13aa..75986694 100644
--- a/bookwyrm/tests/views/test_reading.py
+++ b/bookwyrm/tests/views/test_reading.py
@@ -231,11 +231,12 @@ class ReadingViews(TestCase):
"finish_date": "2018-03-07",
"book": self.book.id,
"id": "",
+ "user": self.local_user.id,
},
)
request.user = self.local_user
- views.create_readthrough(request)
+ views.ReadThrough.as_view()(request)
readthrough = models.ReadThrough.objects.get()
self.assertEqual(readthrough.start_date.year, 2017)
self.assertEqual(readthrough.start_date.month, 1)
diff --git a/bookwyrm/tests/views/test_readthrough.py b/bookwyrm/tests/views/test_readthrough.py
index 6697c0e0..f4ca3af6 100644
--- a/bookwyrm/tests/views/test_readthrough.py
+++ b/bookwyrm/tests/views/test_readthrough.py
@@ -41,10 +41,8 @@ class ReadThrough(TestCase):
self.assertEqual(self.edition.readthrough_set.count(), 0)
self.client.post(
- "/reading-status/start/{}".format(self.edition.id),
- {
- "start_date": "2020-11-27",
- },
+ f"/reading-status/start/{self.edition.id}",
+ {"start_date": "2020-11-27"},
)
readthroughs = self.edition.readthrough_set.all()
@@ -62,10 +60,8 @@ class ReadThrough(TestCase):
self.assertEqual(self.edition.readthrough_set.count(), 0)
self.client.post(
- "/reading-status/start/{}".format(self.edition.id),
- {
- "start_date": "2020-11-27",
- },
+ f"/reading-status/start/{self.edition.id}",
+ {"start_date": "2020-11-27"},
)
readthroughs = self.edition.readthrough_set.all()
diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py
index 33199225..7cdfd92a 100644
--- a/bookwyrm/urls.py
+++ b/bookwyrm/urls.py
@@ -158,6 +158,27 @@ urlpatterns = [
views.EmailBlocklist.as_view(),
name="settings-email-blocks-delete",
),
+ re_path(
+ r"^setting/link-domains/?$",
+ views.LinkDomain.as_view(),
+ name="settings-link-domain",
+ ),
+ re_path(
+ r"^setting/link-domains/(?P
(pending|approved|blocked))/?$",
+ views.LinkDomain.as_view(),
+ name="settings-link-domain",
+ ),
+ # pylint: disable=line-too-long
+ re_path(
+ r"^setting/link-domains/(?P(pending|approved|blocked))/(?P\d+)/?$",
+ views.LinkDomain.as_view(),
+ name="settings-link-domain",
+ ),
+ re_path(
+ r"^setting/link-domains/(?P\d+)/(?P(pending|approved|blocked))/?$",
+ views.update_domain_status,
+ name="settings-link-domain-status",
+ ),
re_path(
r"^settings/ip-blocklist/?$",
views.IPBlocklist.as_view(),
@@ -169,10 +190,12 @@ urlpatterns = [
name="settings-ip-blocks-delete",
),
# moderation
- re_path(r"^settings/reports/?$", views.Reports.as_view(), name="settings-reports"),
+ re_path(
+ r"^settings/reports/?$", views.ReportsAdmin.as_view(), name="settings-reports"
+ ),
re_path(
r"^settings/reports/(?P\d+)/?$",
- views.Report.as_view(),
+ views.ReportAdmin.as_view(),
name="settings-report",
),
re_path(
@@ -195,7 +218,18 @@ urlpatterns = [
views.resolve_report,
name="settings-report-resolve",
),
- re_path(r"^report/?$", views.make_report, name="report"),
+ re_path(r"^report/?$", views.Report.as_view(), name="report"),
+ re_path(r"^report/(?P\d+)/?$", views.Report.as_view(), name="report"),
+ re_path(
+ r"^report/(?P\d+)/status/(?P\d+)?$",
+ views.Report.as_view(),
+ name="report-status",
+ ),
+ re_path(
+ r"^report/(?P\d+)/link/(?P\d+)?$",
+ views.Report.as_view(),
+ name="report-link",
+ ),
# landing pages
re_path(r"^about/?$", views.about, name="about"),
re_path(r"^privacy/?$", views.privacy, name="privacy"),
@@ -430,7 +464,29 @@ urlpatterns = [
re_path(
r"^upload-cover/(?P\d+)/?$", views.upload_cover, name="upload-cover"
),
- re_path(r"^add-description/(?P\d+)/?$", views.add_description),
+ re_path(
+ r"^add-description/(?P\d+)/?$",
+ views.add_description,
+ name="add-description",
+ ),
+ re_path(
+ rf"{BOOK_PATH}/filelink/?$", views.BookFileLinks.as_view(), name="file-link"
+ ),
+ re_path(
+ rf"{BOOK_PATH}/filelink/(?P\d+)/?$",
+ views.BookFileLinks.as_view(),
+ name="file-link",
+ ),
+ re_path(
+ rf"{BOOK_PATH}/filelink/(?P\d+)/delete/?$",
+ views.delete_link,
+ name="file-link-delete",
+ ),
+ re_path(
+ rf"{BOOK_PATH}/filelink/add/?$",
+ views.AddFileLink.as_view(),
+ name="file-link-add",
+ ),
re_path(r"^resolve-book/?$", views.resolve_book, name="resolve-book"),
re_path(r"^switch-edition/?$", views.switch_edition, name="switch-edition"),
re_path(
@@ -457,7 +513,11 @@ urlpatterns = [
# reading progress
re_path(r"^edit-readthrough/?$", views.edit_readthrough, name="edit-readthrough"),
re_path(r"^delete-readthrough/?$", views.delete_readthrough),
- re_path(r"^create-readthrough/?$", views.create_readthrough),
+ re_path(
+ r"^create-readthrough/?$",
+ views.ReadThrough.as_view(),
+ name="create-readthrough",
+ ),
re_path(r"^delete-progressupdate/?$", views.delete_progressupdate),
# shelve actions
re_path(
diff --git a/bookwyrm/utils/cache.py b/bookwyrm/utils/cache.py
new file mode 100644
index 00000000..aebb8e75
--- /dev/null
+++ b/bookwyrm/utils/cache.py
@@ -0,0 +1,11 @@
+""" Custom handler for caching """
+from django.core.cache import cache
+
+
+def get_or_set(cache_key, function, *args, timeout=None):
+ """Django's built-in get_or_set isn't cutting it"""
+ value = cache.get(cache_key)
+ if value is None:
+ value = function(*args)
+ cache.set(cache_key, value, timeout=timeout)
+ return value
diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py
index 35058ffa..3f57c274 100644
--- a/bookwyrm/views/__init__.py
+++ b/bookwyrm/views/__init__.py
@@ -9,10 +9,10 @@ from .admin.email_blocklist import EmailBlocklist
from .admin.ip_blocklist import IPBlocklist
from .admin.invite import ManageInvites, Invite, InviteRequest
from .admin.invite import ManageInviteRequests, ignore_invite_request
+from .admin.link_domains import LinkDomain, update_domain_status
from .admin.reports import (
- Report,
- Reports,
- make_report,
+ ReportAdmin,
+ ReportsAdmin,
resolve_report,
suspend_user,
unsuspend_user,
@@ -28,10 +28,16 @@ from .preferences.delete_user import DeleteUser
from .preferences.block import Block, unblock
# books
-from .books.books import Book, upload_cover, add_description, resolve_book
+from .books.books import (
+ Book,
+ upload_cover,
+ add_description,
+ resolve_book,
+)
from .books.books import update_book_from_remote
from .books.edit_book import EditBook, ConfirmEditBook
from .books.editions import Editions, switch_edition
+from .books.links import BookFileLinks, AddFileLink, delete_link
# landing
from .landing.about import about, privacy, conduct
@@ -88,8 +94,9 @@ from .list import Lists, SavedLists, List, Curate, UserLists
from .list import save_list, unsave_list, delete_list, unsafe_embed_list
from .notifications import Notifications
from .outbox import Outbox
-from .reading import create_readthrough, delete_readthrough, delete_progressupdate
+from .reading import ReadThrough, delete_readthrough, delete_progressupdate
from .reading import ReadingStatus
+from .report import Report
from .rss_feed import RssFeed
from .search import Search
from .status import CreateStatus, EditStatus, DeleteStatus, update_progress
diff --git a/bookwyrm/views/admin/dashboard.py b/bookwyrm/views/admin/dashboard.py
index 2766eeeb..6c6ab009 100644
--- a/bookwyrm/views/admin/dashboard.py
+++ b/bookwyrm/views/admin/dashboard.py
@@ -96,6 +96,9 @@ class Dashboard(View):
"statuses": status_queryset.count(),
"works": models.Work.objects.count(),
"reports": models.Report.objects.filter(resolved=False).count(),
+ "pending_domains": models.LinkDomain.objects.filter(
+ status="pending"
+ ).count(),
"invite_requests": models.InviteRequest.objects.filter(
ignored=False, invite_sent=False
).count(),
diff --git a/bookwyrm/views/admin/invite.py b/bookwyrm/views/admin/invite.py
index 8fd68b70..322c5fcb 100644
--- a/bookwyrm/views/admin/invite.py
+++ b/bookwyrm/views/admin/invite.py
@@ -16,7 +16,6 @@ from django.views.decorators.http import require_POST
from bookwyrm import emailing, forms, models
from bookwyrm.settings import PAGE_LENGTH
-from bookwyrm.views import helpers
# pylint: disable= no-self-use
@@ -174,7 +173,6 @@ class InviteRequest(View):
data = {
"request_form": form,
"request_received": received,
- "books": helpers.get_landing_books(),
}
return TemplateResponse(request, "landing/landing.html", data)
diff --git a/bookwyrm/views/admin/link_domains.py b/bookwyrm/views/admin/link_domains.py
new file mode 100644
index 00000000..5f9ec6c0
--- /dev/null
+++ b/bookwyrm/views/admin/link_domains.py
@@ -0,0 +1,55 @@
+""" Manage link domains"""
+from django.contrib.auth.decorators import login_required, permission_required
+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 django.views.decorators.http import require_POST
+
+from bookwyrm import forms, models
+
+# pylint: disable=no-self-use
+@method_decorator(login_required, name="dispatch")
+@method_decorator(
+ permission_required("bookwyrm.moderate_user", raise_exception=True),
+ name="dispatch",
+)
+class LinkDomain(View):
+ """Moderate links"""
+
+ def get(self, request, status="pending"):
+ """view pending domains"""
+ data = {
+ "domains": models.LinkDomain.objects.filter(status=status)
+ .prefetch_related("links")
+ .order_by("-created_date"),
+ "counts": {
+ "pending": models.LinkDomain.objects.filter(status="pending").count(),
+ "approved": models.LinkDomain.objects.filter(status="approved").count(),
+ "blocked": models.LinkDomain.objects.filter(status="blocked").count(),
+ },
+ "form": forms.EmailBlocklistForm(),
+ "status": status,
+ }
+ return TemplateResponse(
+ request, "settings/link_domains/link_domains.html", data
+ )
+
+ def post(self, request, status, domain_id):
+ """Set display name"""
+ domain = get_object_or_404(models.LinkDomain, id=domain_id)
+ form = forms.LinkDomainForm(request.POST, instance=domain)
+ form.save()
+ return redirect("settings-link-domain", status=status)
+
+
+@require_POST
+@login_required
+def update_domain_status(request, domain_id, status):
+ """This domain seems fine"""
+ domain = get_object_or_404(models.LinkDomain, id=domain_id)
+ domain.raise_not_editable(request.user)
+
+ domain.status = status
+ domain.save()
+ return redirect("settings-link-domain", status="pending")
diff --git a/bookwyrm/views/admin/reports.py b/bookwyrm/views/admin/reports.py
index a32e955d..a25357ba 100644
--- a/bookwyrm/views/admin/reports.py
+++ b/bookwyrm/views/admin/reports.py
@@ -5,9 +5,8 @@ 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 django.views.decorators.http import require_POST
-from bookwyrm import emailing, forms, models
+from bookwyrm import forms, models
# pylint: disable=no-self-use
@@ -20,7 +19,7 @@ from bookwyrm import emailing, forms, models
permission_required("bookwyrm.moderate_post", raise_exception=True),
name="dispatch",
)
-class Reports(View):
+class ReportsAdmin(View):
"""list of reports"""
def get(self, request):
@@ -52,7 +51,7 @@ class Reports(View):
permission_required("bookwyrm.moderate_post", raise_exception=True),
name="dispatch",
)
-class Report(View):
+class ReportAdmin(View):
"""view a specific report"""
def get(self, request, report_id):
@@ -132,16 +131,3 @@ def resolve_report(_, report_id):
if not report.resolved:
return redirect("settings-report", report.id)
return redirect("settings-reports")
-
-
-@login_required
-@require_POST
-def make_report(request):
- """a user reports something"""
- form = forms.ReportForm(request.POST)
- if not form.is_valid():
- raise ValueError(form.errors)
-
- report = form.save()
- emailing.moderation_report_email(report)
- return redirect(request.headers.get("Referer", "/"))
diff --git a/bookwyrm/views/author.py b/bookwyrm/views/author.py
index 2acb3b19..3310fef0 100644
--- a/bookwyrm/views/author.py
+++ b/bookwyrm/views/author.py
@@ -1,7 +1,6 @@
""" the good people stuff! the authors! """
from django.contrib.auth.decorators import login_required, permission_required
from django.core.paginator import Paginator
-from django.db.models import OuterRef, Subquery, F, Q
from django.shortcuts import get_object_or_404, redirect
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
@@ -26,17 +25,8 @@ class Author(View):
if is_api_request(request):
return ActivitypubResponse(author.to_activity())
- default_editions = models.Edition.objects.filter(
- parent_work=OuterRef("parent_work")
- ).order_by("-edition_rank")
-
- books = (
- models.Edition.viewer_aware_objects(request.user)
- .filter(Q(authors=author) | Q(parent_work__authors=author))
- .annotate(default_id=Subquery(default_editions.values("id")[:1]))
- .filter(default_id=F("id"))
- .order_by("-first_published_date", "-published_date", "-created_date")
- .prefetch_related("authors")
+ books = models.Work.objects.filter(
+ authors=author, editions__authors=author
).distinct()
paginated = Paginator(books, PAGE_LENGTH)
diff --git a/bookwyrm/views/books/books.py b/bookwyrm/views/books/books.py
index 2d49ae30..7de2d0d2 100644
--- a/bookwyrm/views/books/books.py
+++ b/bookwyrm/views/books/books.py
@@ -40,7 +40,7 @@ class Book(View):
.filter(Q(id=book_id) | Q(parent_work__id=book_id))
.order_by("-edition_rank")
.select_related("parent_work")
- .prefetch_related("authors")
+ .prefetch_related("authors", "file_links")
.first()
)
@@ -84,6 +84,7 @@ class Book(View):
}
if request.user.is_authenticated:
+ data["file_link_form"] = forms.FileLinkForm()
readthroughs = models.ReadThrough.objects.filter(
user=request.user,
book=book,
diff --git a/bookwyrm/views/books/links.py b/bookwyrm/views/books/links.py
new file mode 100644
index 00000000..51621023
--- /dev/null
+++ b/bookwyrm/views/books/links.py
@@ -0,0 +1,83 @@
+""" the good stuff! the books! """
+from django.contrib.auth.decorators import login_required, permission_required
+from django.db import transaction
+from django.shortcuts import get_object_or_404, redirect
+from django.template.response import TemplateResponse
+from django.views import View
+from django.utils.decorators import method_decorator
+from django.views.decorators.http import require_POST
+
+from bookwyrm import forms, models
+
+
+# pylint: disable=no-self-use
+@method_decorator(login_required, name="dispatch")
+@method_decorator(
+ permission_required("bookwyrm.edit_book", raise_exception=True), name="dispatch"
+)
+class BookFileLinks(View):
+ """View all links"""
+
+ def get(self, request, book_id):
+ """view links"""
+ book = get_object_or_404(models.Edition, id=book_id)
+ links = book.file_links.order_by("domain__status", "created_date")
+ annotated_links = []
+ for link in links.all():
+ link.form = forms.FileLinkForm(instance=link)
+ annotated_links.append(link)
+
+ data = {"book": book, "links": annotated_links}
+ return TemplateResponse(request, "book/file_links/edit_links.html", data)
+
+ def post(self, request, book_id, link_id):
+ """Edit a link"""
+ link = get_object_or_404(models.FileLink, id=link_id, book=book_id)
+ form = forms.FileLinkForm(request.POST, instance=link)
+ form.save()
+ return self.get(request, book_id)
+
+
+@require_POST
+@login_required
+# pylint: disable=unused-argument
+def delete_link(request, book_id, link_id):
+ """delete link"""
+ link = get_object_or_404(models.FileLink, id=link_id, book=book_id)
+ link.delete()
+ return redirect("file-link", book_id)
+
+
+@method_decorator(login_required, name="dispatch")
+@method_decorator(
+ permission_required("bookwyrm.edit_book", raise_exception=True), name="dispatch"
+)
+class AddFileLink(View):
+ """a book! this is the stuff"""
+
+ def get(self, request, book_id):
+ """Create link form"""
+ book = get_object_or_404(models.Edition, id=book_id)
+ data = {
+ "file_link_form": forms.FileLinkForm(),
+ "book": book,
+ }
+ return TemplateResponse(request, "book/file_links/file_link_page.html", data)
+
+ @transaction.atomic
+ def post(self, request, book_id, link_id=None):
+ """Add a link to a copy of the book you can read"""
+ book = get_object_or_404(models.Book.objects.select_subclasses(), id=book_id)
+ link = get_object_or_404(models.FileLink, id=link_id) if link_id else None
+ form = forms.FileLinkForm(request.POST, instance=link)
+ if not form.is_valid():
+ data = {"file_link_form": form, "book": book}
+ return TemplateResponse(
+ request, "book/file_links/file_link_page.html", data
+ )
+
+ link = form.save()
+ book.file_links.add(link)
+ book.last_edited_by = request.user
+ book.save()
+ return redirect("book", book.id)
diff --git a/bookwyrm/views/group.py b/bookwyrm/views/group.py
index cbdae0d2..89392985 100644
--- a/bookwyrm/views/group.py
+++ b/bookwyrm/views/group.py
@@ -151,8 +151,8 @@ class FindUsers(View):
no_results = not user_results
if user_results.count() < 5:
- user_results = list(user_results) + suggested_users.get_suggestions(
- request.user, local=True
+ user_results = list(user_results) + list(
+ suggested_users.get_suggestions(request.user, local=True)
)
data = {
diff --git a/bookwyrm/views/helpers.py b/bookwyrm/views/helpers.py
index 8cc0aea8..74d867b6 100644
--- a/bookwyrm/views/helpers.py
+++ b/bookwyrm/views/helpers.py
@@ -153,24 +153,6 @@ def is_blocked(viewer, user):
return False
-def get_landing_books():
- """list of books for the landing page"""
-
- return list(
- set(
- models.Edition.objects.filter(
- review__published_date__isnull=False,
- review__deleted=False,
- review__user__local=True,
- review__privacy__in=["public", "unlisted"],
- )
- .exclude(cover__exact="")
- .distinct()
- .order_by("-review__published_date")[:6]
- )
- )
-
-
def load_date_in_user_tz_as_utc(date_str: str, user: models.User) -> datetime:
"""ensures that data is stored consistently in the UTC timezone"""
if not date_str:
diff --git a/bookwyrm/views/inbox.py b/bookwyrm/views/inbox.py
index 23982495..6320b450 100644
--- a/bookwyrm/views/inbox.py
+++ b/bookwyrm/views/inbox.py
@@ -1,7 +1,10 @@
""" incoming activities """
import json
import re
+import logging
+
from urllib.parse import urldefrag
+import requests
from django.http import HttpResponse, Http404
from django.core.exceptions import BadRequest, PermissionDenied
@@ -9,13 +12,14 @@ from django.shortcuts import get_object_or_404
from django.utils.decorators import method_decorator
from django.views import View
from django.views.decorators.csrf import csrf_exempt
-import requests
from bookwyrm import activitypub, models
from bookwyrm.tasks import app
from bookwyrm.signatures import Signature
from bookwyrm.utils import regex
+logger = logging.getLogger(__name__)
+
@method_decorator(csrf_exempt, name="dispatch")
# pylint: disable=no-self-use
@@ -71,6 +75,7 @@ def raise_is_blocked_user_agent(request):
return
url = url.group()
if models.FederatedServer.is_blocked(url):
+ logger.debug("%s is blocked, denying request based on user agent", url)
raise PermissionDenied()
@@ -78,16 +83,18 @@ def raise_is_blocked_activity(activity_json):
"""get the sender out of activity json and check if it's blocked"""
actor = activity_json.get("actor")
- # check if the user is banned/deleted
- existing = models.User.find_existing_by_remote_id(actor)
- if existing and existing.deleted:
- raise PermissionDenied()
-
if not actor:
# well I guess it's not even a valid activity so who knows
return
+ # check if the user is banned/deleted
+ existing = models.User.find_existing_by_remote_id(actor)
+ if existing and existing.deleted:
+ logger.debug("%s is banned/deleted, denying request based on actor", actor)
+ raise PermissionDenied()
+
if models.FederatedServer.is_blocked(actor):
+ logger.debug("%s is blocked, denying request based on actor", actor)
raise PermissionDenied()
diff --git a/bookwyrm/views/landing/landing.py b/bookwyrm/views/landing/landing.py
index c1db28c7..cfd9b48b 100644
--- a/bookwyrm/views/landing/landing.py
+++ b/bookwyrm/views/landing/landing.py
@@ -3,7 +3,6 @@ from django.template.response import TemplateResponse
from django.views import View
from bookwyrm import forms
-from bookwyrm.views import helpers
from bookwyrm.views.feed import Feed
@@ -28,6 +27,5 @@ class Landing(View):
data = {
"register_form": forms.RegisterForm(),
"request_form": forms.InviteRequestForm(),
- "books": helpers.get_landing_books(),
}
return TemplateResponse(request, "landing/landing.html", data)
diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py
index c7eda10e..2cd05202 100644
--- a/bookwyrm/views/reading.py
+++ b/bookwyrm/views/reading.py
@@ -1,7 +1,6 @@
""" the good stuff! the books! """
from django.contrib.auth.decorators import login_required
from django.core.cache import cache
-from django.core.cache.utils import make_template_fragment_key
from django.db import transaction
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotFound
from django.shortcuts import get_object_or_404, redirect
@@ -10,16 +9,16 @@ from django.utils.decorators import method_decorator
from django.views import View
from django.views.decorators.http import require_POST
-from bookwyrm import models
+from bookwyrm import forms, models
from bookwyrm.views.shelf.shelf_actions import unshelve
from .status import CreateStatus
from .helpers import get_edition, handle_reading_status, is_api_request
from .helpers import load_date_in_user_tz_as_utc
-@method_decorator(login_required, name="dispatch")
# pylint: disable=no-self-use
# pylint: disable=too-many-return-statements
+@method_decorator(login_required, name="dispatch")
class ReadingStatus(View):
"""consider reading a book"""
@@ -46,12 +45,8 @@ class ReadingStatus(View):
if not identifier:
return HttpResponseBadRequest()
- # invalidate the template cache
- cache_keys = [
- make_template_fragment_key("shelve_button", [request.user.id, book_id]),
- make_template_fragment_key("suggested_books", [request.user.id]),
- ]
- cache.delete_many(cache_keys)
+ # invalidate related caches
+ cache.delete(f"active_shelf-{request.user.id}-{book_id}")
desired_shelf = get_object_or_404(
models.Shelf, identifier=identifier, user=request.user
@@ -118,6 +113,45 @@ class ReadingStatus(View):
return redirect(referer)
+@method_decorator(login_required, name="dispatch")
+class ReadThrough(View):
+ """Add new read dates"""
+
+ def get(self, request, book_id, readthrough_id=None):
+ """standalone form in case of errors"""
+ book = get_object_or_404(models.Edition, id=book_id)
+ form = forms.ReadThroughForm()
+ data = {"form": form, "book": book}
+ if readthrough_id:
+ data["readthrough"] = get_object_or_404(
+ models.ReadThrough, id=readthrough_id
+ )
+ return TemplateResponse(request, "readthrough/readthrough.html", data)
+
+ def post(self, request):
+ """can't use the form normally because the dates are too finnicky"""
+ book_id = request.POST.get("book")
+ normalized_post = request.POST.copy()
+
+ normalized_post["start_date"] = load_date_in_user_tz_as_utc(
+ request.POST.get("start_date"), request.user
+ )
+ normalized_post["finish_date"] = load_date_in_user_tz_as_utc(
+ request.POST.get("finish_date"), request.user
+ )
+ form = forms.ReadThroughForm(request.POST)
+ if not form.is_valid():
+ book = get_object_or_404(models.Edition, id=book_id)
+ data = {"form": form, "book": book}
+ if request.POST.get("id"):
+ data["readthrough"] = get_object_or_404(
+ models.ReadThrough, id=request.POST.get("id")
+ )
+ return TemplateResponse(request, "readthrough/readthrough.html", data)
+ form.save()
+ return redirect("book", book_id)
+
+
@transaction.atomic
def update_readthrough_on_shelve(
user, annotated_book, status, start_date=None, finish_date=None
@@ -159,27 +193,6 @@ def delete_readthrough(request):
return redirect(request.headers.get("Referer", "/"))
-@login_required
-@require_POST
-def create_readthrough(request):
- """can't use the form because the dates are too finnicky"""
- book = get_object_or_404(models.Edition, id=request.POST.get("book"))
-
- start_date = load_date_in_user_tz_as_utc(
- request.POST.get("start_date"), request.user
- )
- finish_date = load_date_in_user_tz_as_utc(
- request.POST.get("finish_date"), request.user
- )
- models.ReadThrough.objects.create(
- user=request.user,
- book=book,
- start_date=start_date,
- finish_date=finish_date,
- )
- return redirect("book", book.id)
-
-
@login_required
@require_POST
def delete_progressupdate(request):
diff --git a/bookwyrm/views/report.py b/bookwyrm/views/report.py
new file mode 100644
index 00000000..6469f3cb
--- /dev/null
+++ b/bookwyrm/views/report.py
@@ -0,0 +1,39 @@
+""" moderation via flagged posts and users """
+from django.contrib.auth.decorators import login_required
+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 bookwyrm import emailing, forms, models
+
+
+# pylint: disable=no-self-use
+@method_decorator(login_required, name="dispatch")
+class Report(View):
+ """Make reports"""
+
+ def get(self, request, user_id, status_id=None, link_id=None):
+ """static view of report modal"""
+ data = {"user": get_object_or_404(models.User, id=user_id)}
+ if status_id:
+ data["status"] = status_id
+ if link_id:
+ data["link"] = get_object_or_404(models.Link, id=link_id)
+
+ return TemplateResponse(request, "report.html", data)
+
+ def post(self, request):
+ """a user reports something"""
+ form = forms.ReportForm(request.POST)
+ if not form.is_valid():
+ raise ValueError(form.errors)
+
+ report = form.save()
+ if report.links.exists():
+ # revert the domain to pending
+ domain = report.links.first().domain
+ domain.status = "pending"
+ domain.save()
+ emailing.moderation_report_email(report)
+ return redirect("/")
diff --git a/bookwyrm/views/rss_feed.py b/bookwyrm/views/rss_feed.py
index b924095c..1e9d5746 100644
--- a/bookwyrm/views/rss_feed.py
+++ b/bookwyrm/views/rss_feed.py
@@ -4,7 +4,6 @@ from django.contrib.syndication.views import Feed
from django.template.loader import get_template
from django.utils.translation import gettext_lazy as _
-from bookwyrm import models
from .helpers import get_user_from_username
# pylint: disable=no-self-use, unused-argument
@@ -36,10 +35,9 @@ class RssFeed(Feed):
def items(self, obj):
"""the user's activity feed"""
- return models.Status.privacy_filter(
- obj,
- privacy_levels=["public", "unlisted"],
- ).filter(user=obj)
+ return obj.status_set.select_subclasses().filter(
+ privacy__in=["public", "unlisted"],
+ )[:10]
def item_link(self, item):
"""link to the status"""
diff --git a/bookwyrm/views/shelf/shelf.py b/bookwyrm/views/shelf/shelf.py
index 0662f302..378b346b 100644
--- a/bookwyrm/views/shelf/shelf.py
+++ b/bookwyrm/views/shelf/shelf.py
@@ -1,7 +1,7 @@
""" shelf views """
from collections import namedtuple
-from django.db.models import OuterRef, Subquery, F
+from django.db.models import OuterRef, Subquery, F, Max
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator
from django.http import HttpResponseBadRequest
@@ -72,11 +72,7 @@ class Shelf(View):
"start_date"
)
- if shelf_identifier:
- books = books.annotate(shelved_date=F("shelfbook__shelved_date"))
- else:
- # sorting by shelved date will cause duplicates in the "all books" view
- books = books.annotate(shelved_date=F("updated_date"))
+ books = books.annotate(shelved_date=Max("shelfbook__shelved_date"))
books = books.annotate(
rating=Subquery(reviews.values("rating")[:1]),
start_date=Subquery(reading.values("start_date")[:1]),
diff --git a/bookwyrm/views/status.py b/bookwyrm/views/status.py
index bb69d30c..5dc8e8fa 100644
--- a/bookwyrm/views/status.py
+++ b/bookwyrm/views/status.py
@@ -159,6 +159,7 @@ def update_progress(request, book_id): # pylint: disable=unused-argument
@require_POST
def edit_readthrough(request):
"""can't use the form because the dates are too finnicky"""
+ # TODO: remove this, it duplicates the code in the ReadThrough view
readthrough = get_object_or_404(models.ReadThrough, id=request.POST.get("id"))
readthrough.raise_not_editable(request.user)
diff --git a/bw-dev b/bw-dev
index 29c2660d..0d24b28b 100755
--- a/bw-dev
+++ b/bw-dev
@@ -31,7 +31,7 @@ function execweb {
function initdb {
runweb python manage.py migrate
- runweb python manage.py initdb
+ runweb python manage.py initdb "$@"
}
function makeitblack {
@@ -65,7 +65,7 @@ case "$CMD" in
docker-compose run --rm --service-ports web
;;
initdb)
- initdb
+ initdb "$@"
;;
resetdb)
clean
@@ -136,6 +136,13 @@ case "$CMD" in
prettier)
npx prettier --write bookwyrm/static/js/*.js
;;
+ update)
+ git pull
+ docker-compose build
+ runweb python manage.py migrate
+ runweb python manage.py collectstatic --no-input
+ docker-compose up -d
+ ;;
populate_streams)
runweb python manage.py populate_streams "$@"
;;
diff --git a/celerywyrm/settings.py b/celerywyrm/settings.py
index 24729345..bd7805e5 100644
--- a/celerywyrm/settings.py
+++ b/celerywyrm/settings.py
@@ -6,13 +6,10 @@ from bookwyrm.settings import *
REDIS_BROKER_PASSWORD = requests.utils.quote(env("REDIS_BROKER_PASSWORD", None))
REDIS_BROKER_HOST = env("REDIS_BROKER_HOST", "redis_broker")
REDIS_BROKER_PORT = env("REDIS_BROKER_PORT", 6379)
+REDIS_BROKER_DB_INDEX = env("REDIS_BROKER_DB_INDEX", 0)
-CELERY_BROKER_URL = (
- f"redis://:{REDIS_BROKER_PASSWORD}@{REDIS_BROKER_HOST}:{REDIS_BROKER_PORT}/0"
-)
-CELERY_RESULT_BACKEND = (
- f"redis://:{REDIS_BROKER_PASSWORD}@{REDIS_BROKER_HOST}:{REDIS_BROKER_PORT}/0"
-)
+CELERY_BROKER_URL = f"redis://:{REDIS_BROKER_PASSWORD}@{REDIS_BROKER_HOST}:{REDIS_BROKER_PORT}/{REDIS_BROKER_DB_INDEX}"
+CELERY_RESULT_BACKEND = f"redis://:{REDIS_BROKER_PASSWORD}@{REDIS_BROKER_HOST}:{REDIS_BROKER_PORT}/{REDIS_BROKER_DB_INDEX}"
CELERY_DEFAULT_QUEUE = "low_priority"
diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo
index fb95dcac..4ce83f72 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 7a79918b..174a6165 100644
--- a/locale/de_DE/LC_MESSAGES/django.po
+++ b/locale/de_DE/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 14:07\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-20 08:20\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: German\n"
"Language: de\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Ein Tag"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Eine Woche"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Ein Monat"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Läuft nicht ab"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i}-mal verwendbar"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Unbegrenzt"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Reihenfolge der Liste"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Buchtitel"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Bewertung"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Sortieren nach"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Aufsteigend"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Absteigend"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "Enddatum darf nicht vor dem Startdatum liegen."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Fehler beim Laden des Buches"
@@ -80,8 +84,9 @@ msgstr "Fehler beim Laden des Buches"
msgid "Could not find a match for book"
msgstr "Keine Übereinstimmung für das Buch gefunden"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Ausstehend"
@@ -101,23 +106,23 @@ msgstr "Moderator*in löschen"
msgid "Domain block"
msgstr "Domainsperrung"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Hörbuch"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "E-Book"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Graphic Novel"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Hardcover"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Taschenbuch"
@@ -127,10 +132,11 @@ msgstr "Taschenbuch"
msgid "Federated"
msgstr "Föderiert"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Blockiert"
@@ -153,7 +159,56 @@ msgstr "Benutzer*inname"
msgid "A user with that username already exists."
msgstr "Dieser Benutzer*inname ist bereits vergeben."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Öffentlich"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Ungelistet"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Follower*innen"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privat"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr "Kostenlos"
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr "Käuflich erhältlich"
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr "Zum Liehen erhältlich"
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr "Bestätigt"
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Besprechungen"
@@ -167,71 +222,71 @@ msgstr "Zitate"
#: bookwyrm/models/user.py:35
msgid "Everything else"
-msgstr "Alles Andere"
+msgstr "Alles andere"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Start-Zeitleiste"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Startseite"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Bücher-Zeitleiste"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Bücher"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Englisch)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (Spanisch)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Galizisch)"
-#: bookwyrm/settings.py:199
-msgid "Italiano (Italian)"
-msgstr ""
-
#: bookwyrm/settings.py:200
+msgid "Italiano (Italian)"
+msgstr "Italiano (Italienisch)"
+
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Französisch)"
-#: bookwyrm/settings.py:201
-msgid "Lietuvių (Lithuanian)"
-msgstr "Litauisch (Lithuanian)"
-
#: bookwyrm/settings.py:202
-msgid "Norsk (Norwegian)"
-msgstr ""
+msgid "Lietuvių (Lithuanian)"
+msgstr "Lietuvių (Litauisch)"
#: bookwyrm/settings.py:203
-msgid "Português do Brasil (Brazilian Portuguese)"
-msgstr "Portugiesisch (Brasilien)"
+msgid "Norsk (Norwegian)"
+msgstr "Norsk (Norwegisch)"
#: bookwyrm/settings.py:204
-msgid "Português Europeu (European Portuguese)"
-msgstr "Portugiesisch (Portugal)"
+msgid "Português do Brasil (Brazilian Portuguese)"
+msgstr "Português do Brasil (brasilianisches Portugiesisch)"
#: bookwyrm/settings.py:205
+msgid "Português Europeu (European Portuguese)"
+msgstr "Português Europeu (Portugiesisch)"
+
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (vereinfachtes Chinesisch)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinesisch, traditionell)"
@@ -258,7 +313,7 @@ msgstr "Etwas ist schief gelaufen! Tut uns leid."
#: bookwyrm/templates/about/about.html:9
#: bookwyrm/templates/about/layout.html:35
msgid "About"
-msgstr "Allgemein"
+msgstr "Über"
#: bookwyrm/templates/about/about.html:18
#: bookwyrm/templates/get_started/layout.html:20
@@ -268,8 +323,8 @@ msgstr "Willkommen auf %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr "%(site_name)s ist Teil von BookWyrm, einem Netzwerk von unabhängigen, selbst verwalteten Communities von Bücherfreunden. Obwohl du nahtlos mit anderen Nutzern überall im BookWyrm Netzwerk interagieren kannst, ist die Community hier einzigartig."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr "%(site_name)s ist Teil von BookWyrm, ein Netzwerk unabhängiger, selbstverwalteter Gemeinschaften für Leser*innen. Obwohl du dich nahtlos mit anderen Benutzer*innen überall im BookWyrm-Netzwerk austauschen kannst, ist diese Gemeinschaft einzigartig."
#: bookwyrm/templates/about/about.html:39
#, python-format
@@ -288,7 +343,7 @@ msgstr "%(title)s hat die unterschiedlich
#: bookwyrm/templates/about/about.html:88
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard."
-msgstr ""
+msgstr "Verfolge deine Lektüre, sprich über Bücher, schreibe Besprechungen und entdecke, was Du als Nächstes lesen könntest. BookWyrm ist eine Software im menschlichen Maßstab, die immer übersichtlich, werbefrei, persönlich, und gemeinschaftsorientiert sein wird. Wenn du Feature-Anfragen, Fehlerberichte oder große Träume hast, wende dich an und verschaffe dir Gehör."
#: bookwyrm/templates/about/about.html:95
msgid "Meet your admins"
@@ -300,19 +355,19 @@ msgid "\n"
" %(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior.\n"
" "
msgstr "\n"
-" die Moderatoren und Administratoren von %(site_name)s halten diese Seite am laufen, setzen die Verhaltensregeln durch und reagieren auf Meldungen über Spam oder schlechtes Benehmen von Nutzer*innen.\n"
+" die Moderator*innen und Administrator*innen von %(site_name)s halten diese Seite in Betrieb, setzen die Verhaltensregeln durch und reagieren auf Meldungen über Spam oder schlechtes Benehmen von Nutzer*innen.\n"
" "
#: bookwyrm/templates/about/about.html:112
msgid "Moderator"
-msgstr "Moderator"
+msgstr "Moderator*in"
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
msgid "Admin"
msgstr "Administration"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -326,11 +381,11 @@ msgstr "Verhaltenskodex"
#: bookwyrm/templates/about/layout.html:11
msgid "Active users:"
-msgstr "Aktive Nutzer*innen:"
+msgstr "Aktive Benutzer*innen:"
#: bookwyrm/templates/about/layout.html:15
msgid "Statuses posted:"
-msgstr "Veröffentlichte Status:"
+msgstr "Veröffentlichte Statusmeldungen:"
#: bookwyrm/templates/about/layout.html:19
msgid "Software version:"
@@ -362,11 +417,11 @@ msgstr "Rückblick auf %(year)s"
#: bookwyrm/templates/annual_summary/layout.html:47
#, python-format
msgid "%(display_name)s’s year of reading"
-msgstr "%(display_name)s’s Jahr mit Büchern"
+msgstr "Lektürejahr für %(display_name)s"
#: bookwyrm/templates/annual_summary/layout.html:53
msgid "Share this page"
-msgstr "Teile diese Seite"
+msgstr "Teile diese Seite mit Anderen"
#: bookwyrm/templates/annual_summary/layout.html:67
msgid "Copy address"
@@ -379,11 +434,11 @@ msgstr "Kopiert!"
#: bookwyrm/templates/annual_summary/layout.html:77
msgid "Sharing status: public with key"
-msgstr ""
+msgstr "Freigabestatus: öffentlich mit Schlüssel"
#: bookwyrm/templates/annual_summary/layout.html:78
msgid "The page can be seen by anyone with the complete address."
-msgstr "Diese Seite kann jeder sehen der die vollständige Adresse kennt."
+msgstr "Diese Seite können alle sehen, die die vollständige Adresse kennen."
#: bookwyrm/templates/annual_summary/layout.html:83
msgid "Make page private"
@@ -391,7 +446,7 @@ msgstr "Seite auf privat stellen"
#: bookwyrm/templates/annual_summary/layout.html:89
msgid "Sharing status: private"
-msgstr ""
+msgstr "Freigabestatus: privat"
#: bookwyrm/templates/annual_summary/layout.html:90
msgid "The page is private, only you can see it."
@@ -399,23 +454,23 @@ msgstr "Diese Seite ist privat, nur du kannst sie sehen."
#: bookwyrm/templates/annual_summary/layout.html:95
msgid "Make page public"
-msgstr ""
+msgstr "Seite öffentlich machen"
#: bookwyrm/templates/annual_summary/layout.html:99
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
-msgstr ""
+msgstr "Wenn du diese Seite auf privat stellst, wird der alte Schlüssel ungültig. Ein neuer Schlüssel wird erzeugt, solltest du die Seite erneut freigeben."
#: bookwyrm/templates/annual_summary/layout.html:112
#, python-format
msgid "Sadly %(display_name)s didn’t finish any books in %(year)s"
-msgstr "Leider hat %(display_name)s keine Bücher in %(year)s zu Ende gelesen"
+msgstr "Leider hat %(display_name)s %(year)s keine Bücher zu Ende gelesen"
#: bookwyrm/templates/annual_summary/layout.html:118
#, python-format
msgid "In %(year)s, %(display_name)s read %(books_total)s book
for a total of %(pages_total)s pages!"
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books
for a total of %(pages_total)s pages!"
-msgstr[0] "Im Jahr %(year)s, lass %(display_name)s %(books_total)s Buch
mit %(pages_total)s Seiten!"
-msgstr[1] "Im Jahr %(year)s lass %(display_name)s %(books_total)s Bücher
mit zusammen %(pages_total)s Seiten!"
+msgstr[0] "%(year)s hat %(display_name)s %(books_total)s Buch gelesen
insgesamt %(pages_total)s Seiten!"
+msgstr[1] "%(year)s hat %(display_name)s %(books_total)s Bücher gelesen
insgesamt %(pages_total)s Seiten!"
#: bookwyrm/templates/annual_summary/layout.html:124
msgid "That’s great!"
@@ -424,18 +479,18 @@ msgstr "Großartig!"
#: bookwyrm/templates/annual_summary/layout.html:127
#, python-format
msgid "That makes an average of %(pages)s pages per book."
-msgstr "Im Durschnitt waren das %(pages)s Seiten pro Buch."
+msgstr "Im Durchschnitt waren das %(pages)s Seiten pro Buch."
#: bookwyrm/templates/annual_summary/layout.html:132
#, python-format
msgid "(%(no_page_number)s book doesn’t have pages)"
msgid_plural "(%(no_page_number)s books don’t have pages)"
-msgstr[0] "(zu %(no_page_number)s Buch ist keine Seitenzahl angegeben)"
-msgstr[1] "(zu %(no_page_number)s Büchern ist keine Seitenzahl angegeben)"
+msgstr[0] "(für %(no_page_number)s Buch ist keine Seitenzahl bekannt)"
+msgstr[1] "(für %(no_page_number)s Bücher sind keine Seitenzahlen bekannt)"
#: bookwyrm/templates/annual_summary/layout.html:148
msgid "Their shortest read this year…"
-msgstr "Das am schnellsten gelesene Buch dieses Jahr…"
+msgstr "Das am schnellsten gelesene Buch dieses Jahr …"
#: bookwyrm/templates/annual_summary/layout.html:155
#: bookwyrm/templates/annual_summary/layout.html:176
@@ -455,14 +510,14 @@ msgstr "%(pages)s Seiten"
#: bookwyrm/templates/annual_summary/layout.html:169
msgid "…and the longest"
-msgstr "…und das am längsten"
+msgstr "… und das längste"
#: bookwyrm/templates/annual_summary/layout.html:200
#, python-format
msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
and achieved %(goal_percent)s%% of that goal"
msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
and achieved %(goal_percent)s%% of that goal"
-msgstr[0] "%(display_name)s hat sich als Ziel gesetzt, %(goal)s Buch in %(year)s zu lesen
und hat %(goal_percent)s%% dieses Ziels erreicht"
-msgstr[1] "%(display_name)s hat sich als Ziel gesetzt, %(goal)s Bücher in %(year)s zu lesen
und hat %(goal_percent)s%% dieses Ziels erreicht"
+msgstr[0] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Buch zu lesen
und hat %(goal_percent)s% % dieses Ziels erreicht"
+msgstr[1] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Bücher zu lesen
und hat %(goal_percent)s% % dieses Ziels erreicht"
#: bookwyrm/templates/annual_summary/layout.html:209
msgid "Way to go!"
@@ -472,83 +527,83 @@ msgstr "Weiter so!"
#, python-format
msgid "%(display_name)s left %(ratings_total)s rating,
their average rating is %(rating_average)s"
msgid_plural "%(display_name)s left %(ratings_total)s ratings,
their average rating is %(rating_average)s"
-msgstr[0] "%(display_name)s hat %(ratings_total)s Rezensionen mit einer durchschnittlichen Bewertung von %(rating_average)s geschrieben"
-msgstr[1] "%(display_name)s hat %(ratings_total)s Rezensionen mit einer durchschnittlichen Bewertung von %(rating_average)s geschrieben"
+msgstr[0] "%(display_name)s hat %(ratings_total)s Bewertung geschrieben,
die durchschnittliche Bewertung ist %(rating_average)s"
+msgstr[1] "%(display_name)s hat %(ratings_total)s Bewertungen geschrieben,
die durchschnittliche Bewertung ist %(rating_average)s"
#: bookwyrm/templates/annual_summary/layout.html:238
msgid "Their best rated review"
-msgstr "Ihre oder Seine bestbewertete Rezension"
+msgstr "Am besten bewertete Besprechung"
#: bookwyrm/templates/annual_summary/layout.html:251
#, python-format
msgid "Their rating: %(rating)s"
-msgstr ""
+msgstr "Ihre Bewertung: %(rating)s"
#: bookwyrm/templates/annual_summary/layout.html:268
#, python-format
msgid "All the books %(display_name)s read in %(year)s"
-msgstr "Alle Bücher die %(display_name)s im Jahr %(year)s gelesen hat"
+msgstr "Alle Bücher, die %(display_name)s %(year)s gelesen hat"
#: bookwyrm/templates/author/author.html:18
#: bookwyrm/templates/author/author.html:19
msgid "Edit Author"
msgstr "Autor*in bearbeiten"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
-msgstr "Über den Autor"
+msgstr "Autor*in-Details"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Alternative Namen:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Geboren:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Gestorben:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Externe Links"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "ISNI-Datensatz anzeigen"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
-msgstr ""
+msgstr "Lade Daten"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Auf OpenLibrary ansehen"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Auf Inventaire anzeigen"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Auf LibraryThing anzeigen"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Auf Goodreads ansehen"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Bücher von %(name)s"
@@ -578,7 +633,9 @@ msgid "Metadata"
msgstr "Metadaten"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Name:"
@@ -627,21 +684,23 @@ msgstr "Goodreads-Schlüssel:"
#: bookwyrm/templates/author/edit_author.html:105
msgid "ISNI:"
-msgstr ""
+msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -649,24 +708,27 @@ msgstr "Speichern"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Abbrechen"
#: bookwyrm/templates/author/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
-msgstr ""
+msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s aufbauen und überprüfen, ob Autor*in-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/book/edit/edit_book.html:108
@@ -683,7 +745,7 @@ msgstr "Buch bearbeiten"
#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82
msgid "Click to add cover"
-msgstr "Cover durch Klicken hinzufügen"
+msgstr "Titelbild durch klicken hinzufügen"
#: bookwyrm/templates/book/book.html:88
msgid "Failed to load cover"
@@ -691,7 +753,7 @@ msgstr "Fehler beim Laden des Titelbilds"
#: bookwyrm/templates/book/book.html:99
msgid "Click to enlarge"
-msgstr "Zum Vergrößern anklicken"
+msgstr "Zum vergrößern anklicken"
#: bookwyrm/templates/book/book.html:170
#, python-format
@@ -717,7 +779,7 @@ msgstr "%(count)s Ausgaben"
#: bookwyrm/templates/book/book.html:211
msgid "You have shelved this edition in:"
-msgstr "Du hast diese Ausgabe eingeordnet unter:"
+msgstr "Du hast diese Ausgabe im folgenden Regal:"
#: bookwyrm/templates/book/book.html:226
#, python-format
@@ -728,39 +790,35 @@ msgstr "Eine andere Ausgabe dieses Buches befindet
msgid "Your reading activity"
msgstr "Deine Leseaktivität"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Lesedaten hinzufügen"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Erstellen"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Du hast keine Leseaktivität für dieses Buch."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "Deine Besprechungen"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Deine Kommentare"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "Deine Zitate"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Themen"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Orte"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -770,11 +828,11 @@ msgstr "Orte"
msgid "Lists"
msgstr "Listen"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Zur Liste hinzufügen"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -812,46 +870,20 @@ msgstr "Titelbild von URL laden:"
#: bookwyrm/templates/book/cover_show_modal.html:6
msgid "Book cover preview"
-msgstr "Vorschau auf das Cover"
+msgstr "Vorschau des Titelbilds"
#: bookwyrm/templates/book/cover_show_modal.html:11
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Schließen"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Diese Lesedaten löschen?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Zwischenstände."
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Diese Aktion kann nicht rückgängig gemacht werden"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Löschen"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -870,7 +902,7 @@ msgstr "Buchinfo bestätigen"
#: bookwyrm/templates/book/edit/edit_book.html:56
#, python-format
msgid "Is \"%(name)s\" one of these authors?"
-msgstr "Ist \"%(name)s\" einer dieser Autoren?"
+msgstr "Ist „%(name)s“ einer dieser Autor*innen?"
#: bookwyrm/templates/book/edit/edit_book.html:67
#: bookwyrm/templates/book/edit/edit_book.html:69
@@ -879,7 +911,7 @@ msgstr "Autor*in von "
#: bookwyrm/templates/book/edit/edit_book.html:69
msgid "Find more information at isni.org"
-msgstr "Weitere Informationen finden Sie auf isni.org"
+msgstr "Weitere Informationen auf isni.org finden"
#: bookwyrm/templates/book/edit/edit_book.html:79
msgid "This is a new author"
@@ -966,14 +998,14 @@ msgstr "Autor*in hinzufügen"
#: bookwyrm/templates/book/edit/edit_book_form.html:146
#: bookwyrm/templates/book/edit/edit_book_form.html:149
msgid "Jane Doe"
-msgstr ""
+msgstr "Lisa Musterfrau"
#: bookwyrm/templates/book/edit/edit_book_form.html:152
msgid "Add Another Author"
-msgstr "Weiteren Autor hinzufügen"
+msgstr "Weitere*n Autor*in hinzufügen"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Titelbild"
@@ -1034,6 +1066,118 @@ msgstr "Sprache:"
msgid "Search editions"
msgstr "Ausgaben suchen"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr "Datei-Link hinzufügen"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr "Links zu unbekannten Domains müssen von eine*r Moderator*in genehmigt werden, bevor sie hinzugefügt werden."
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr "URL:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr "Dateityp:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr "Verfügbarkeit:"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr "Links bearbeiten"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr "\n"
+" Links für „%(title)s“\n"
+" "
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr "URL"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr "Hinzugefügt von"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr "Dateityp"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Domain"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Status"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Aktionen"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr "Spam melden"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr "Keine Links für dieses Buch vorhanden."
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr "Link zur Datei hinzufügen"
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr "Datei-Links"
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr "Kopie erhalten"
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr "Keine Links vorhanden"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr "BookWyrm verlassen"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr "Dieser Link führt zu: %(link_url)s
.
Möchtest du dorthin wechseln?"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr "Weiter"
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1068,39 +1212,10 @@ msgstr "Veröffentlicht von %(publisher)s."
msgid "rated it"
msgstr "bewertet"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Zwischenstände:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "abgeschlossen"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Zeige alle Zwischenstände"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Diesen Zwischenstand löschen"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "angefangen"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Lesedaten bearbeiten"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Diese Lesedaten löschen"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
-msgstr ""
+msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s aufbauen und überprüfen, ob Buch-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben."
#: bookwyrm/templates/components/tooltip.html:3
msgid "Help"
@@ -1133,8 +1248,8 @@ msgstr "Bestätigungscode:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Absenden"
@@ -1182,7 +1297,7 @@ msgstr "Mach dein Profil entdeckbar für andere BookWyrm-Benutzer*innen."
#: bookwyrm/templates/directory/directory.html:21
msgid "Join Directory"
-msgstr ""
+msgstr "Verzeichnis beitreten"
#: bookwyrm/templates/directory/directory.html:24
#, python-format
@@ -1268,7 +1383,7 @@ msgstr "%(username)s hat %(username)s started reading %(book_title)s"
-msgstr "%(username)s hat angefangen %(book_title)s zu lesen"
+msgstr "%(username)s hat angefangen, %(book_title)s zu lesen"
#: bookwyrm/templates/discover/card-header.html:23
#, python-format
@@ -1373,17 +1488,17 @@ msgstr "Erfahre mehr über %(site_name)s:"
#: bookwyrm/templates/email/moderation_report/text_content.html:5
#, python-format
msgid "@%(reporter)s has flagged behavior by @%(reportee)s for moderation. "
-msgstr ""
+msgstr "@%(reporter)s hat das Verhalten von @%(reportee)s zur Moderation gekennzeichnet. "
#: bookwyrm/templates/email/moderation_report/html_content.html:9
#: bookwyrm/templates/email/moderation_report/text_content.html:7
msgid "View report"
-msgstr ""
+msgstr "Bericht anzeigen"
#: bookwyrm/templates/email/moderation_report/subject.html:2
#, python-format
msgid "New report for %(site_name)s"
-msgstr ""
+msgstr "Neuer Bericht für %(site_name)s"
#: bookwyrm/templates/email/password_reset/html_content.html:6
#: bookwyrm/templates/email/password_reset/text_content.html:4
@@ -1412,7 +1527,7 @@ msgstr "Passwort für %(site_name)s zurücksetzen"
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:39
#, python-format
msgid "%(site_name)s home page"
-msgstr ""
+msgstr "%(site_name)s-Startseite"
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:233
msgid "Contact site admin"
@@ -1451,7 +1566,7 @@ msgstr "Hier sind noch keine Aktivitäten! Folge Anderen, um loszulegen"
#: bookwyrm/templates/feed/feed.html:52
msgid "Alternatively, you can try enabling more status types"
-msgstr ""
+msgstr "Alternativ könntest du auch weitere Statustypen aktivieren"
#: bookwyrm/templates/feed/goal_card.html:6
#: bookwyrm/templates/feed/layout.html:15
@@ -1478,39 +1593,6 @@ msgstr "Deine Bücher"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Hier sind noch keine Bücher! Versuche, nach Büchern zu suchen, um loszulegen"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Zu lesen"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Aktuell lesend"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Gelesen"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1526,7 +1608,7 @@ msgstr "Verzeichnis anzeigen"
#: bookwyrm/templates/feed/summary_card.html:21
msgid "The end of the year is the best moment to take stock of all the books read during the last 12 months. How many pages have you read? Which book is your best-rated of the year? We compiled these stats, and more!"
-msgstr "Das Ende des Jahrs ist der beste Zeitpunkt um auf all die Bücher zurückzublicken die du in den letzten zwölf Monaten gelesen hast. Wie viele Seiten das wohl waren? Welches Buch hat dir am besten gefallen? Wir haben diese und andere Statistiken für dich zusammengestellt!"
+msgstr "Das Ende des Jahrs ist der beste Zeitpunkt, um auf all die Bücher zurückzublicken, die du in den letzten zwölf Monaten gelesen hast. Wie viele Seiten waren es? Welches Buch hat dir am besten gefallen? Wir haben diese und andere Statistiken für dich zusammengestellt!"
#: bookwyrm/templates/feed/summary_card.html:26
#, python-format
@@ -1542,6 +1624,30 @@ msgstr "Hast du %(book_title)s gelesen?"
msgid "Add to your books"
msgstr "Zu deinen Büchern hinzufügen"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Zu lesen"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Aktuell lesend"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Gelesen"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "Was liest du gerade?"
@@ -1664,36 +1770,53 @@ msgstr "Keine Benutzer*innen für „%(query)s“ gefunden"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
-msgstr "Lesezirkel erstellen"
+msgstr "Gruppe erstellen"
#: bookwyrm/templates/groups/created_text.html:4
#, python-format
msgid "Managed by %(username)s"
-msgstr "Verwaltet von %(username)s"
+msgstr "Verantwortlich: %(username)s"
#: bookwyrm/templates/groups/delete_group_modal.html:4
msgid "Delete this group?"
-msgstr "Diesen Lesezirkel löschen?"
+msgstr "Diese Gruppe löschen?"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Diese Aktion kann nicht rückgängig gemacht werden"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Löschen"
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
-msgstr "Lesezirkel bearbeiten"
+msgstr "Gruppe bearbeiten"
#: bookwyrm/templates/groups/form.html:8
msgid "Group Name:"
-msgstr "Name des Lesezirkels:"
+msgstr "Gruppenname:"
#: bookwyrm/templates/groups/form.html:12
msgid "Group Description:"
-msgstr "Beschreibung des Lesezirkels:"
+msgstr "Gruppenbeschreibung:"
#: bookwyrm/templates/groups/form.html:21
msgid "Delete group"
-msgstr "Lesezirkel löschen"
+msgstr "Gruppe löschen"
#: bookwyrm/templates/groups/group.html:22
msgid "Members of this group can create group-curated lists."
-msgstr "Mitglieder dieses Lesezirkels können durch den Zirkel zu kuratierende Listen anlegen."
+msgstr "Mitglieder dieser Gruppe können von der Gruppe kuratierte Listen anlegen."
#: bookwyrm/templates/groups/group.html:27
#: bookwyrm/templates/lists/create_form.html:5
@@ -1703,11 +1826,11 @@ msgstr "Liste erstellen"
#: bookwyrm/templates/groups/group.html:40
msgid "This group has no lists"
-msgstr "Dieser Lesezirkel hat keine Listen"
+msgstr "Diese Gruppe enthält keine Listen"
#: bookwyrm/templates/groups/layout.html:17
msgid "Edit group"
-msgstr "Lesezirkel bearbeiten"
+msgstr "Gruppe bearbeiten"
#: bookwyrm/templates/groups/members.html:12
msgid "Search to add a user"
@@ -1715,7 +1838,7 @@ msgstr "Hinzuzufügende*n Benutzer*in suchen"
#: bookwyrm/templates/groups/members.html:33
msgid "Leave group"
-msgstr "Lesezirkel verlassen"
+msgstr "Gruppe verlassen"
#: bookwyrm/templates/groups/members.html:55
#: bookwyrm/templates/groups/suggested_users.html:35
@@ -1733,7 +1856,7 @@ msgstr "Mitglieder hinzufügen!"
#, python-format
msgid "%(mutuals)s follower you follow"
msgid_plural "%(mutuals)s followers you follow"
-msgstr[0] "%(mutuals)s Follower*in, der du folgst"
+msgstr[0] "%(mutuals)s Follower*in, der*die du folgst"
msgstr[1] "%(mutuals)s Follower*innen, denen du folgst"
#: bookwyrm/templates/groups/suggested_users.html:27
@@ -1751,11 +1874,11 @@ msgstr "Keine potentiellen Mitglieder für „%(user_query)s“ gefunden"
#: bookwyrm/templates/groups/user_groups.html:15
msgid "Manager"
-msgstr "Verwalter*in"
+msgstr "Verantwortlich"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Bücher importieren"
@@ -1797,11 +1920,11 @@ msgstr "Importstatus"
#: bookwyrm/templates/import/import_status.html:13
#: bookwyrm/templates/import/import_status.html:27
msgid "Retry Status"
-msgstr ""
+msgstr "Wiederholungsstatus"
#: bookwyrm/templates/import/import_status.html:22
msgid "Imports"
-msgstr ""
+msgstr "Importe"
#: bookwyrm/templates/import/import_status.html:39
msgid "Import started:"
@@ -1809,7 +1932,7 @@ msgstr "Import gestartet:"
#: bookwyrm/templates/import/import_status.html:48
msgid "In progress"
-msgstr ""
+msgstr "In Arbeit"
#: bookwyrm/templates/import/import_status.html:50
msgid "Refresh"
@@ -1819,32 +1942,32 @@ msgstr "Aktualisieren"
#, python-format
msgid "%(display_counter)s item needs manual approval."
msgid_plural "%(display_counter)s items need manual approval."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%(display_counter)s Element muss manuell geprüft werden."
+msgstr[1] "%(display_counter)s Elemente müssen manuell geprüft werden."
#: bookwyrm/templates/import/import_status.html:76
#: bookwyrm/templates/import/manual_review.html:8
msgid "Review items"
-msgstr ""
+msgstr "Zu prüfende Elemente"
#: bookwyrm/templates/import/import_status.html:82
#, python-format
msgid "%(display_counter)s item failed to import."
msgid_plural "%(display_counter)s items failed to import."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%(display_counter)s Element konnte nicht importiert werden."
+msgstr[1] "%(display_counter)s Elemente konnten nicht importiert werden."
#: bookwyrm/templates/import/import_status.html:88
msgid "View and troubleshoot failed items"
-msgstr ""
+msgstr "Fehlgeschlagene Elemente anzeigen und bearbeiten"
#: bookwyrm/templates/import/import_status.html:100
msgid "Row"
-msgstr ""
+msgstr "Zeile"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Titel"
@@ -1854,11 +1977,11 @@ msgstr "ISBN"
#: bookwyrm/templates/import/import_status.html:110
msgid "Openlibrary key"
-msgstr ""
+msgstr "Openlibrary-Schlüssel"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autor*in"
@@ -1873,26 +1996,17 @@ msgid "Review"
msgstr "Besprechen"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Buch"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Status"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
-msgstr ""
+msgstr "Importvorschau nicht verfügbar."
#: bookwyrm/templates/import/import_status.html:172
msgid "View imported review"
-msgstr ""
+msgstr "Importbericht ansehen"
#: bookwyrm/templates/import/import_status.html:186
msgid "Imported"
@@ -1900,7 +2014,7 @@ msgstr "Importiert"
#: bookwyrm/templates/import/import_status.html:192
msgid "Needs manual review"
-msgstr ""
+msgstr "Manuelle Überprüfung benötigt"
#: bookwyrm/templates/import/import_status.html:205
msgid "Retry"
@@ -1908,61 +2022,62 @@ msgstr "Erneut versuchen"
#: bookwyrm/templates/import/import_status.html:223
msgid "This import is in an old format that is no longer supported. If you would like to troubleshoot missing items from this import, click the button below to update the import format."
-msgstr ""
+msgstr "Dieser Import ist in einem alten Format, das nicht mehr unterstützt wird. Wenn Sie fehlende Elemente aus diesem Import bearbeiten möchten, klicken Sie auf die Schaltfläche unten, um das Importformat zu aktualisieren."
#: bookwyrm/templates/import/import_status.html:225
msgid "Update import"
-msgstr ""
+msgstr "Import aktualisieren"
#: bookwyrm/templates/import/manual_review.html:5
#: bookwyrm/templates/import/troubleshoot.html:4
msgid "Import Troubleshooting"
-msgstr ""
+msgstr "Problembehebung für Importe"
#: bookwyrm/templates/import/manual_review.html:21
msgid "Approving a suggestion will permanently add the suggested book to your shelves and associate your reading dates, reviews, and ratings with that book."
-msgstr ""
+msgstr "Die Genehmigung eines Vorschlags wird das vorgeschlagene Buch dauerhaft in deine Regale aufnehmen und deine Lesedaten, Besprechungen und Bewertungen mit diesem Buch verknüpfen."
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Bestätigen"
#: bookwyrm/templates/import/manual_review.html:66
msgid "Reject"
-msgstr ""
+msgstr "Ablehnen"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Du kannst deine Goodreads-Daten von der Import/Export-Seite deines Goodreads-Kontos downloaden."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr "Du kannst deine Goodreads-Daten von der Import / Export-Seite deines Goodreads-Kontos downloaden."
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
-msgstr ""
+msgstr "Fehlgeschlagene Elemente"
#: bookwyrm/templates/import/troubleshoot.html:12
msgid "Troubleshooting"
-msgstr ""
+msgstr "Fehlerbehebung"
#: bookwyrm/templates/import/troubleshoot.html:20
msgid "Re-trying an import can fix missing items in cases such as:"
-msgstr ""
+msgstr "Ein erneutes Ausprobieren eines Imports kann bei fehlgeschlagenen Elementen in folgenden Fällen helfen:"
#: bookwyrm/templates/import/troubleshoot.html:23
msgid "The book has been added to the instance since this import"
-msgstr ""
+msgstr "Das Buch wurde seit diesem Import zur Instanz hinzugefügt"
#: bookwyrm/templates/import/troubleshoot.html:24
msgid "A transient error or timeout caused the external data source to be unavailable."
-msgstr ""
+msgstr "Ein vorübergehender Fehler oder ein Timeout haben dazu geführt, dass die externe Datenquelle nicht verfügbar war."
#: bookwyrm/templates/import/troubleshoot.html:25
msgid "BookWyrm has been updated since this import with a bug fix"
-msgstr ""
+msgstr "BookWyrm wurde seit diesem Import mit einem Bugfix aktualisiert"
#: bookwyrm/templates/import/troubleshoot.html:28
msgid "Contact your admin or open an issue if you are seeing unexpected failed items."
-msgstr ""
+msgstr "Kontaktiere deine*n Administrator*in oder melde ein Problem, wenn Importe unerwartet fehlschlagen."
#: bookwyrm/templates/landing/invite.html:4
#: bookwyrm/templates/landing/invite.html:8
@@ -1978,7 +2093,7 @@ msgstr "Zugiff verweigert"
msgid "Sorry! This invite code is no longer valid."
msgstr "Tut uns leid! Dieser Einladungscode ist mehr gültig."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Zuletzt aktive Bücher"
@@ -2228,27 +2343,27 @@ msgstr "Jede*r kann Bücher hinzufügen"
#: bookwyrm/templates/lists/form.html:82
msgid "Group"
-msgstr "Lesezirkel"
+msgstr "Gruppe"
#: bookwyrm/templates/lists/form.html:85
msgid "Group members can add to and remove from this list"
-msgstr "Mitglieder*innen können Bücher zu dieser Liste hinzufügen und von dieser entfernen"
+msgstr "Gruppenmitglieder können Bücher zu dieser Liste hinzufügen und von dieser entfernen"
#: bookwyrm/templates/lists/form.html:90
msgid "Select Group"
-msgstr "Lesezirkel auswählen"
+msgstr "Gruppe auswählen"
#: bookwyrm/templates/lists/form.html:94
msgid "Select a group"
-msgstr "Einen Lesezirkel auswählen"
+msgstr "Eine Gruppe auswählen"
#: bookwyrm/templates/lists/form.html:105
msgid "You don't have any Groups yet!"
-msgstr "Du bist noch nicht in einem Lesezirkel!"
+msgstr "Du hast noch keine Gruppen!"
#: bookwyrm/templates/lists/form.html:107
msgid "Create a Group"
-msgstr "Lesezirkel erstellen"
+msgstr "Gruppe erstellen"
#: bookwyrm/templates/lists/form.html:121
msgid "Delete list"
@@ -2272,6 +2387,7 @@ msgid "List position"
msgstr "Listenposition"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Übernehmen"
@@ -2320,7 +2436,7 @@ msgstr "Diese Liste auf einer Webseite einbetten"
#: bookwyrm/templates/lists/list.html:229
msgid "Copy embed code"
-msgstr "Code zum Einbetten kopieren"
+msgstr "Code zum einbetten kopieren"
#: bookwyrm/templates/lists/list.html:231
#, python-format
@@ -2346,7 +2462,7 @@ msgstr "Gespeicherte Listen"
#: bookwyrm/templates/notifications/items/accept.html:16
#, python-format
msgid "accepted your invitation to join group \"%(group_name)s\""
-msgstr "hat deine Einladung angenommen, dem Lesezirkel „%(group_name)s“ beizutreten"
+msgstr "hat deine Einladung angenommen, der Gruppe „%(group_name)s“ beizutreten"
#: bookwyrm/templates/notifications/items/add.html:24
#, python-format
@@ -2419,12 +2535,12 @@ msgstr "hat dich eingeladen, der Gruppe „%(group_na
#: bookwyrm/templates/notifications/items/join.html:16
#, python-format
msgid "has joined your group \"%(group_name)s\""
-msgstr "ist deinem Lesezirkel „%(group_name)s“ beigetreten"
+msgstr "ist deiner Gruppe „%(group_name)s“ beigetreten"
#: bookwyrm/templates/notifications/items/leave.html:16
#, python-format
msgid "has left your group \"%(group_name)s\""
-msgstr "hat deinen Lesezirkel „%(group_name)s“ verlassen"
+msgstr "hat deine Gruppe „%(group_name)s“ verlassen"
#: bookwyrm/templates/notifications/items/mention.html:20
#, python-format
@@ -2449,12 +2565,12 @@ msgstr "hat dich in einem Status erwähnt"
#: bookwyrm/templates/notifications/items/remove.html:17
#, python-format
msgid "has been removed from your group \"%(group_name)s\""
-msgstr "wurde aus deinem Lesezirkel „%(group_name)s“ entfernt"
+msgstr "wurde aus deiner Gruppe „%(group_name)s“ entfernt"
#: bookwyrm/templates/notifications/items/remove.html:23
#, python-format
msgid "You have been removed from the \"%(group_name)s\" group"
-msgstr "Du wurdest aus dem Lesezirkel „%(group_name)s“ entfernt"
+msgstr "Du wurdest aus der Gruppe „%(group_name)s“ entfernt"
#: bookwyrm/templates/notifications/items/reply.html:21
#, python-format
@@ -2515,36 +2631,36 @@ msgstr "Du bist auf dem neusten Stand!"
#: bookwyrm/templates/ostatus/error.html:7
#, python-format
msgid "%(account)s is not a valid username"
-msgstr ""
+msgstr "%(account)s ist kein gültiger Benutzer*inname"
#: bookwyrm/templates/ostatus/error.html:8
#: bookwyrm/templates/ostatus/error.html:13
msgid "Check you have the correct username before trying again"
-msgstr ""
+msgstr "Überprüfe, ob du den richtigen Benutzernamen benutzt, bevor du es erneut versuchst"
#: bookwyrm/templates/ostatus/error.html:12
#, python-format
msgid "%(account)s could not be found or %(remote_domain)s
does not support identity discovery"
-msgstr ""
+msgstr "%(account)s konnte nicht gefunden werden oder %(remote_domain)s
unterstützt keine Identitätsfindung"
#: bookwyrm/templates/ostatus/error.html:17
#, python-format
msgid "%(account)s was found but %(remote_domain)s
does not support 'remote follow'"
-msgstr ""
+msgstr "%(account)s wurde gefunden, aber %(remote_domain)s
unterstützt kein ‚remote follow‘"
#: bookwyrm/templates/ostatus/error.html:18
#, python-format
msgid "Try searching for %(user)s on %(remote_domain)s
instead"
-msgstr ""
+msgstr "Versuche stattdessen, nach %(user)s auf %(remote_domain)s
zu suchen"
#: bookwyrm/templates/ostatus/error.html:46
#, python-format
msgid "Something went wrong trying to follow %(account)s"
-msgstr ""
+msgstr "Etwas ist schiefgelaufen beim Versuch, %(account)s zu folgen"
#: bookwyrm/templates/ostatus/error.html:47
msgid "Check you have the correct username before trying again."
-msgstr ""
+msgstr "Überprüfe, ob du den richtigen Benutzernamen benutzt, bevor du es erneut versuchst."
#: bookwyrm/templates/ostatus/error.html:51
#, python-format
@@ -2554,7 +2670,7 @@ msgstr "Du hast %(account)s blockiert"
#: bookwyrm/templates/ostatus/error.html:55
#, python-format
msgid "%(account)s has blocked you"
-msgstr ""
+msgstr "%(account)s hat dich blockiert"
#: bookwyrm/templates/ostatus/error.html:59
#, python-format
@@ -2564,7 +2680,7 @@ msgstr "Du folgst %(account)s bereits"
#: bookwyrm/templates/ostatus/error.html:63
#, python-format
msgid "You have already requested to follow %(account)s"
-msgstr "Du hast bei %(account)s bereits angefragt ob du folgen darfst"
+msgstr "Du hast bei %(account)s bereits angefragt, ob du folgen darfst"
#: bookwyrm/templates/ostatus/remote_follow.html:6
#, python-format
@@ -2578,7 +2694,7 @@ msgstr "Folge %(username)s von einem anderen Konto im Fediverse wie BookWyrm, Ma
#: bookwyrm/templates/ostatus/remote_follow.html:40
msgid "User handle to follow from:"
-msgstr ""
+msgstr "Benutzerkennung, mit der gefolgt wird:"
#: bookwyrm/templates/ostatus/remote_follow.html:42
msgid "Follow!"
@@ -2590,7 +2706,7 @@ msgstr "Folge im Fediverse"
#: bookwyrm/templates/ostatus/remote_follow_button.html:12
msgid "This link opens in a pop-up window"
-msgstr "Dieser Link wird in einem Popupfenster geöffnet"
+msgstr "Dieser Link öffnet sich in einem Popup-Fenster"
#: bookwyrm/templates/ostatus/subscribe.html:8
#, python-format
@@ -2600,13 +2716,13 @@ msgstr "Einloggen auf %(sitename)s"
#: bookwyrm/templates/ostatus/subscribe.html:10
#, python-format
msgid "Error following from %(sitename)s"
-msgstr ""
+msgstr "Fehler beim Folgen aus %(sitename)s"
#: bookwyrm/templates/ostatus/subscribe.html:12
#: bookwyrm/templates/ostatus/subscribe.html:22
#, python-format
msgid "Follow from %(sitename)s"
-msgstr ""
+msgstr "Folgen aus %(sitename)s"
#: bookwyrm/templates/ostatus/subscribe.html:18
msgid "Uh oh..."
@@ -2614,7 +2730,7 @@ msgstr "Oh oh..."
#: bookwyrm/templates/ostatus/subscribe.html:20
msgid "Let's log in first..."
-msgstr ""
+msgstr "Zuerst einloggen …"
#: bookwyrm/templates/ostatus/subscribe.html:51
#, python-format
@@ -2687,7 +2803,7 @@ msgstr "Privatsphäre"
#: bookwyrm/templates/preferences/edit_user.html:69
msgid "Show reading goal prompt in feed"
-msgstr ""
+msgstr "Zeige Leseziel-Erinnerung im Feed an"
#: bookwyrm/templates/preferences/edit_user.html:75
msgid "Show suggested users"
@@ -2695,7 +2811,7 @@ msgstr "Vorgeschlagene Benutzer*innen anzeigen"
#: bookwyrm/templates/preferences/edit_user.html:81
msgid "Show this account in suggested users"
-msgstr ""
+msgstr "Dieses Benutzer*inkonto in vorgeschlagene Benutzer*innen einschließen"
#: bookwyrm/templates/preferences/edit_user.html:85
#, python-format
@@ -2708,7 +2824,7 @@ msgstr "Bevorzugte Zeitzone:"
#: bookwyrm/templates/preferences/edit_user.html:111
msgid "Manually approve followers"
-msgstr ""
+msgstr "Follower*innen manuell bestätigen"
#: bookwyrm/templates/preferences/edit_user.html:116
msgid "Default post privacy:"
@@ -2737,23 +2853,94 @@ msgstr "„%(book_title)s“ beginnen"
msgid "Want to Read \"%(book_title)s\""
msgstr "„%(book_title)s“ auf Leseliste setzen"
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Diese Lesedaten löschen?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Zwischenstände."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Lesedaten für „%(title)s“ aktualisieren"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Zu lesen angefangen"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Fortschritt"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Lesen abgeschlossen"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Zwischenstände:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "abgeschlossen"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Zeige alle Zwischenstände"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Diesen Zwischenstand löschen"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "angefangen"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Lesedaten bearbeiten"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Diese Lesedaten löschen"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Lesedaten für „%(title)s“ hinzufügen"
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Melden"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
-msgstr ""
+msgstr "Ergebnisse von"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Buch importieren"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Ergebnisse aus anderen Katalogen laden"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Buch manuell hinzufügen"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Melde dich an, um Bücher zu importieren oder hinzuzufügen."
@@ -2809,13 +2996,13 @@ msgstr "Nein"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Startdatum:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Enddatum:"
@@ -2843,7 +3030,7 @@ msgstr "Ereignisdatum:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Ankündigungen"
@@ -2883,7 +3070,7 @@ msgid "Dashboard"
msgstr "Übersicht"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Benutzer*innen insgesamt"
@@ -2910,36 +3097,43 @@ msgstr[1] "%(display_count)s offene Meldungen"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] "%(display_count)s Domain muss überprüft werden"
+msgstr[1] "%(display_count)s Domains müssen überprüft werden"
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s Einladungsanfrage"
msgstr[1] "%(display_count)s Einladungsanfragen"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Instanzaktivität"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervall:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Tage"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Wochen"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Neuanmeldungen"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Statusaktivitäten"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Erstellte Werke"
@@ -2974,10 +3168,6 @@ msgstr "E-Mail-Sperrliste"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Wenn sich jemand mit einer E-Mail-Adresse von dieser Domain zu registrieren versucht, wird kein Benutzer*inkonto erstellt. Es wird aber so aussehen, als ob die Registrierung funktioniert hätte."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Domain"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3089,12 +3279,8 @@ msgstr "Ändern"
msgid "No notes"
msgstr "Keine Anmerkungen"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Aktionen"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Sperren"
@@ -3307,62 +3493,113 @@ msgstr "Moderation"
msgid "Reports"
msgstr "Meldungen"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr "Domains verlinken"
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Instanzeinstellungen"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Seiteneinstellungen"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Meldung #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr "Anzeigename für %(url)s festlegen"
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr "Link-Domains müssen freigegeben werden, bevor sie auf Buchseiten angezeigt werden. Bitte stelle sicher, dass die Domains nicht Spam, bösartigen Code oder irreführende Links beherbergen, bevor sie freigegeben werden."
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr "Anzeigename festlegen"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr "Links anzeigen"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr "Derzeit keine Domains freigegeben"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr "Derzeit keine zur Freigabe anstehenden Domains"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr "Derzeit keine Domains gesperrt"
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr "Keine Links für diese Domain vorhanden."
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Zurück zu den Meldungen"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Gemeldete Statusmeldungen"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "Statusmeldung gelöscht"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr "Gemeldete Links"
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Moderator*innenkommentare"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Kommentieren"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Gemeldete Statusmeldungen"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr "Bericht #%(report_id)s: Status gepostet von @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Keine Statusmeldungen gemeldet"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr "Bericht #%(report_id)s: Link hinzugefügt von @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "Statusmeldung gelöscht"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr "Bericht #%(report_id)s: Benutzer @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr "Domain blockieren"
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Keine Notizen angegeben."
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Gemeldet von %(username)s"
+msgid "Reported by @%(username)s"
+msgstr "Gemeldet von @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Erneut öffnen"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Beheben"
@@ -3490,7 +3727,7 @@ msgid "Invite request text:"
msgstr "Hinweis für Einladungsanfragen:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Benutzer*in dauerhaft löschen"
@@ -3600,15 +3837,19 @@ msgstr "Instanz anzeigen"
msgid "Permanently deleted"
msgstr "Dauerhaft gelöscht"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr "Benutzeraktionen"
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Benutzer*in vorläufig sperren"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Vorläufige Sperre für Benutzer*in aufheben"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Zugriffsstufe:"
@@ -3620,50 +3861,56 @@ msgstr "Regal erstellen"
msgid "Edit Shelf"
msgstr "Regal bearbeiten"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Benutzer*inprofil"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Alle Bücher"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Regal erstellen"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s Buch"
msgstr[1] "%(formatted_count)s Bücher"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(Anzeige: %(start)s&endash;%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Regal bearbeiten"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Regal löschen"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Ins Regal gestellt"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Gestartet"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Abgeschlossen"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Dieses Regal ist leer."
@@ -3768,14 +4015,6 @@ msgstr "Spoileralarm aktivieren"
msgid "Comment:"
msgstr "Kommentar:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privat"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Veröffentlichen"
@@ -3822,40 +4061,40 @@ msgstr "Favorisierung zurücknehmen"
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:5
msgid "Filters"
-msgstr ""
+msgstr "Filter"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
-msgstr ""
+msgstr "Filter werden angewendet"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Filter zurücksetzen"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Filter anwenden"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "@%(username)s folgen"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Folgen"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Folgeanfrage zurücknehmen"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "@%(username)s entfolgen"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Entfolgen"
@@ -3900,15 +4139,15 @@ msgstr[1] "hat %(title)s mit %(display_rating)
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Besprechung von „%(book_title)s“ (%(display_rating)s Stern): %(review_title)s"
-msgstr[1] "Besprechung von „%(book_title)s“ (%(display_rating)s Sterne): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] "Besprechung von „%(book_title)s“ (%(display_rating)s Stern): %(review_title)s"
+msgstr[1] "Besprechungen von „%(book_title)s“ (%(display_rating)s Stern): %(review_title)s"
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Besprechung von „%(book_title)s“: %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr "Besprechung von „%(book_title)s: %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3969,20 +4208,6 @@ msgstr "Zurück"
msgid "Next"
msgstr "Weiter"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Öffentlich"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Ungelistet"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Nur für Follower*innen"
@@ -3992,12 +4217,6 @@ msgstr "Nur für Follower*innen"
msgid "Post privacy"
msgstr "Beitragssichtbarkeit"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Follower*innen"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Bewerten"
@@ -4011,17 +4230,6 @@ msgstr "Bewerten"
msgid "Finish \"%(book_title)s\""
msgstr "„%(book_title)s“ abschließen"
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Zu lesen angefangen"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Lesen abgeschlossen"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Optional)"
@@ -4041,29 +4249,35 @@ msgstr "„%(book_title)s“ beginnen"
msgid "Want to Read \"%(book_title)s\""
msgstr "„%(book_title)s“ auf Leseliste setzen"
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Fortschritt"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Registrieren"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Melden"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr "Melde Status von @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr "Melde Link zu %(domain)s"
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "@%(username)s melden"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Diese Meldung wird an die Moderato*innen von %(site_name)s weitergeleitet."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr "Links von dieser Domain werden entfernt, bis deine Meldung überprüft wurde."
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Weitere Angaben zu dieser Meldung:"
@@ -4071,13 +4285,13 @@ msgstr "Weitere Angaben zu dieser Meldung:"
msgid "Move book"
msgstr "Buch verschieben"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Zu lesen beginnen"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4086,7 +4300,7 @@ msgstr "Auf Leseliste setzen"
#: bookwyrm/templates/snippets/shelf_selector.html:74
#: bookwyrm/templates/snippets/shelf_selector.html:86
msgid "Remove from"
-msgstr ""
+msgstr "Entfernen aus"
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5
msgid "More shelves"
@@ -4101,29 +4315,29 @@ msgstr "Aus %(name)s entfernen"
msgid "Finish reading"
msgstr "Lesen abschließen"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Inhaltswarnung"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Status anzeigen"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Seite %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Bild in neuem Fenster öffnen"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Status ausblenden"
@@ -4132,7 +4346,12 @@ msgstr "Status ausblenden"
msgid "edited %(date)s"
msgstr "%(date)s bearbeitet"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "hat %(book)s von %(author_name)s kommentiert"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "hat %(book)s kommentiert"
@@ -4142,7 +4361,12 @@ msgstr "hat %(book)s kommentiert"
msgid "replied to %(username)s's status"
msgstr "hat auf die Statusmeldung von %(username)s geantwortet"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "hat aus %(book)s von %(author_name)s zitiert"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "hat %(book)s zitiert"
@@ -4152,25 +4376,45 @@ msgstr "hat %(book)s zitiert"
msgid "rated %(book)s:"
msgstr "hat %(book)s bewertet:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "%(book)s von %(author_name)s zu Ende gelesen"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "hat %(book)s abgeschlossen"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "hat begonnen, %(book)s von %(author_name)s zu lesen"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "hat angefangen, %(book)s zu lesen"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "hat %(book)s von %(author_name)s besprochen"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "hat %(book)s besprochen"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s hat %(book)s auf die Leseliste gesetzt"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "will %(book)s von %(author_name)s lesen"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "will %(book)s lesen"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4216,11 +4460,11 @@ msgstr "Mehr anzeigen"
msgid "Show less"
msgstr "Weniger anzeigen"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Deine Bücher"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "Bücher von %(username)s"
@@ -4251,7 +4495,7 @@ msgstr "Bücher von %(username)s %(year)s"
#: bookwyrm/templates/user/groups.html:9
msgid "Your Groups"
-msgstr "Deine Lesezirkel"
+msgstr "Deine Gruppen"
#: bookwyrm/templates/user/groups.html:11
#, python-format
@@ -4276,7 +4520,7 @@ msgstr "Leseziel"
#: bookwyrm/templates/user/layout.html:79
msgid "Groups"
-msgstr "Lesezirkel"
+msgstr "Gruppen"
#: bookwyrm/templates/user/lists.html:11
#, python-format
@@ -4318,7 +4562,7 @@ msgstr "Alle Bücher anzeigen"
#: bookwyrm/templates/user/user.html:58
#, python-format
msgid "%(current_year)s Reading Goal"
-msgstr ""
+msgstr "Leseziel %(current_year)s"
#: bookwyrm/templates/user/user.html:65
msgid "User Activity"
diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po
index 4b257797..09670d6e 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: 2022-01-09 19:19+0000\n"
+"POT-Creation-Date: 2022-01-20 17:58+0000\n"
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -18,61 +18,65 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr ""
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr ""
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr ""
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr ""
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr ""
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr ""
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr ""
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr ""
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr ""
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
-#: bookwyrm/templates/snippets/create_status/review.html:33
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
+#: bookwyrm/templates/snippets/create_status/review.html:32
msgid "Rating"
msgstr ""
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
msgid "Sort By"
msgstr ""
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr ""
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr ""
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr ""
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr ""
@@ -81,8 +85,9 @@ msgstr ""
msgid "Could not find a match for book"
msgstr ""
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr ""
@@ -102,23 +107,23 @@ msgstr ""
msgid "Domain block"
msgstr ""
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr ""
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr ""
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr ""
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr ""
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr ""
@@ -128,10 +133,11 @@ msgstr ""
msgid "Federated"
msgstr ""
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr ""
@@ -154,7 +160,56 @@ msgstr ""
msgid "A user with that username already exists."
msgstr ""
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr ""
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr ""
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr ""
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr ""
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr ""
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr ""
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr ""
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr ""
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr ""
@@ -170,69 +225,69 @@ msgstr ""
msgid "Everything else"
msgstr ""
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:173
msgid "Home Timeline"
msgstr ""
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:173
msgid "Home"
msgstr ""
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:174
msgid "Books Timeline"
msgstr ""
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr ""
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:248
msgid "English"
msgstr ""
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:249
msgid "Deutsch (German)"
msgstr ""
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:250
msgid "Español (Spanish)"
msgstr ""
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:251
msgid "Galego (Galician)"
msgstr ""
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:252
msgid "Italiano (Italian)"
msgstr ""
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:253
msgid "Français (French)"
msgstr ""
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:254
msgid "Lietuvių (Lithuanian)"
msgstr ""
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:255
msgid "Norsk (Norwegian)"
msgstr ""
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:256
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr ""
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:257
msgid "Português Europeu (European Portuguese)"
msgstr ""
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:258
msgid "简体中文 (Simplified Chinese)"
msgstr ""
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:259
msgid "繁體中文 (Traditional Chinese)"
msgstr ""
@@ -297,10 +352,7 @@ msgstr ""
#: bookwyrm/templates/about/about.html:98
#, python-format
-msgid ""
-"\n"
-" %(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior.\n"
-" "
+msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior."
msgstr ""
#: bookwyrm/templates/about/about.html:112
@@ -312,7 +364,7 @@ msgid "Admin"
msgstr ""
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -373,7 +425,7 @@ msgid "Copy address"
msgstr ""
#: bookwyrm/templates/annual_summary/layout.html:68
-#: bookwyrm/templates/lists/list.html:230
+#: bookwyrm/templates/lists/list.html:231
msgid "Copied!"
msgstr ""
@@ -442,7 +494,7 @@ msgstr ""
#: bookwyrm/templates/annual_summary/layout.html:245
#: bookwyrm/templates/book/book.html:47
#: bookwyrm/templates/discover/large-book.html:22
-#: bookwyrm/templates/landing/large-book.html:25
+#: bookwyrm/templates/landing/large-book.html:26
#: bookwyrm/templates/landing/small-book.html:18
msgid "by"
msgstr ""
@@ -494,61 +546,61 @@ msgstr ""
msgid "Edit Author"
msgstr ""
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr ""
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr ""
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr ""
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr ""
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr ""
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr ""
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr ""
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr ""
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr ""
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr ""
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr ""
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr ""
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr ""
@@ -578,7 +630,9 @@ msgid "Metadata"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr ""
@@ -632,16 +686,18 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -649,17 +705,20 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr ""
@@ -671,9 +730,9 @@ msgstr ""
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
-#: bookwyrm/templates/groups/members.html:30
+#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
-#: bookwyrm/templates/snippets/remove_from_group_button.html:16
+#: bookwyrm/templates/snippets/remove_from_group_button.html:17
msgid "Confirm"
msgstr ""
@@ -728,41 +787,37 @@ msgstr ""
msgid "Your reading activity"
msgstr ""
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr ""
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr ""
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr ""
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr ""
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr ""
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr ""
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr ""
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr ""
-#: bookwyrm/templates/book/book.html:356
-#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
-#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
+#: bookwyrm/templates/book/book.html:348
+#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
+#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@@ -770,13 +825,13 @@ msgstr ""
msgid "Lists"
msgstr ""
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr ""
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
-#: bookwyrm/templates/lists/list.html:208
+#: bookwyrm/templates/lists/list.html:209
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
msgid "Add"
@@ -819,39 +874,13 @@ msgstr ""
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr ""
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr ""
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr ""
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr ""
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr ""
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -904,7 +933,7 @@ msgid "Back"
msgstr ""
#: bookwyrm/templates/book/edit/edit_book_form.html:21
-#: bookwyrm/templates/snippets/create_status/review.html:16
+#: bookwyrm/templates/snippets/create_status/review.html:15
msgid "Title:"
msgstr ""
@@ -973,7 +1002,7 @@ msgid "Add Another Author"
msgstr ""
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr ""
@@ -1034,6 +1063,117 @@ msgstr ""
msgid "Search editions"
msgstr ""
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid ""
+"\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr ""
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1068,35 +1208,6 @@ msgstr ""
msgid "rated it"
msgstr ""
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr ""
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr ""
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr ""
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr ""
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr ""
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr ""
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr ""
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1133,8 +1244,8 @@ msgstr ""
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr ""
@@ -1478,39 +1589,6 @@ msgstr ""
msgid "There are no books here right now! Try searching for a book to get started"
msgstr ""
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr ""
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr ""
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr ""
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1542,12 +1620,36 @@ msgstr ""
msgid "Add to your books"
msgstr ""
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr ""
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr ""
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr ""
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr ""
#: bookwyrm/templates/get_started/books.html:9
-#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
+#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
msgid "Search for a book"
msgstr ""
@@ -1565,9 +1667,9 @@ msgstr ""
#: bookwyrm/templates/get_started/books.html:17
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
-#: bookwyrm/templates/groups/members.html:16
-#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
-#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
+#: bookwyrm/templates/groups/members.html:15
+#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
+#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
msgid "Search"
@@ -1583,7 +1685,7 @@ msgid "Popular on %(site_name)s"
msgstr ""
#: bookwyrm/templates/get_started/books.html:58
-#: bookwyrm/templates/lists/list.html:179
+#: bookwyrm/templates/lists/list.html:180
msgid "No books found"
msgstr ""
@@ -1675,6 +1777,23 @@ msgstr ""
msgid "Delete this group?"
msgstr ""
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr ""
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
+msgid "Delete"
+msgstr ""
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr ""
@@ -1691,17 +1810,17 @@ msgstr ""
msgid "Delete group"
msgstr ""
-#: bookwyrm/templates/groups/group.html:22
+#: bookwyrm/templates/groups/group.html:21
msgid "Members of this group can create group-curated lists."
msgstr ""
-#: bookwyrm/templates/groups/group.html:27
+#: bookwyrm/templates/groups/group.html:26
#: bookwyrm/templates/lists/create_form.html:5
#: bookwyrm/templates/lists/lists.html:20
msgid "Create List"
msgstr ""
-#: bookwyrm/templates/groups/group.html:40
+#: bookwyrm/templates/groups/group.html:39
msgid "This group has no lists"
msgstr ""
@@ -1709,15 +1828,15 @@ msgstr ""
msgid "Edit group"
msgstr ""
-#: bookwyrm/templates/groups/members.html:12
+#: bookwyrm/templates/groups/members.html:11
msgid "Search to add a user"
msgstr ""
-#: bookwyrm/templates/groups/members.html:33
+#: bookwyrm/templates/groups/members.html:32
msgid "Leave group"
msgstr ""
-#: bookwyrm/templates/groups/members.html:55
+#: bookwyrm/templates/groups/members.html:54
#: bookwyrm/templates/groups/suggested_users.html:35
#: bookwyrm/templates/snippets/suggested_users.html:31
#: bookwyrm/templates/user/user_preview.html:36
@@ -1755,7 +1874,7 @@ msgstr ""
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr ""
@@ -1843,8 +1962,8 @@ msgid "Row"
msgstr ""
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr ""
@@ -1857,8 +1976,8 @@ msgid "Openlibrary key"
msgstr ""
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr ""
@@ -1873,19 +1992,10 @@ msgid "Review"
msgstr ""
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr ""
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr ""
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr ""
@@ -1925,6 +2035,7 @@ msgstr ""
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr ""
@@ -1933,7 +2044,7 @@ msgid "Reject"
msgstr ""
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
#: bookwyrm/templates/import/troubleshoot.html:7
@@ -1978,7 +2089,7 @@ msgstr ""
msgid "Sorry! This invite code is no longer valid."
msgstr ""
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr ""
@@ -2182,18 +2293,18 @@ msgstr ""
msgid "Edit List"
msgstr ""
-#: bookwyrm/templates/lists/embed-list.html:7
+#: bookwyrm/templates/lists/embed-list.html:8
#, python-format
msgid "%(list_name)s, a list by %(owner)s"
msgstr ""
-#: bookwyrm/templates/lists/embed-list.html:17
+#: bookwyrm/templates/lists/embed-list.html:18
#, python-format
msgid "on %(site_name)s"
msgstr ""
-#: bookwyrm/templates/lists/embed-list.html:26
-#: bookwyrm/templates/lists/list.html:42
+#: bookwyrm/templates/lists/embed-list.html:27
+#: bookwyrm/templates/lists/list.html:43
msgid "This list is currently empty"
msgstr ""
@@ -2254,75 +2365,76 @@ msgstr ""
msgid "Delete list"
msgstr ""
-#: bookwyrm/templates/lists/list.html:34
+#: bookwyrm/templates/lists/list.html:35
msgid "You successfully suggested a book for this list!"
msgstr ""
-#: bookwyrm/templates/lists/list.html:36
+#: bookwyrm/templates/lists/list.html:37
msgid "You successfully added a book to this list!"
msgstr ""
-#: bookwyrm/templates/lists/list.html:80
+#: bookwyrm/templates/lists/list.html:81
#, python-format
msgid "Added by %(username)s"
msgstr ""
-#: bookwyrm/templates/lists/list.html:95
+#: bookwyrm/templates/lists/list.html:96
msgid "List position"
msgstr ""
-#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/lists/list.html:102
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr ""
-#: bookwyrm/templates/lists/list.html:116
-#: bookwyrm/templates/snippets/remove_from_group_button.html:19
+#: bookwyrm/templates/lists/list.html:117
+#: bookwyrm/templates/snippets/remove_from_group_button.html:20
msgid "Remove"
msgstr ""
-#: bookwyrm/templates/lists/list.html:130
-#: bookwyrm/templates/lists/list.html:147
+#: bookwyrm/templates/lists/list.html:131
+#: bookwyrm/templates/lists/list.html:148
msgid "Sort List"
msgstr ""
-#: bookwyrm/templates/lists/list.html:140
+#: bookwyrm/templates/lists/list.html:141
msgid "Direction"
msgstr ""
-#: bookwyrm/templates/lists/list.html:154
+#: bookwyrm/templates/lists/list.html:155
msgid "Add Books"
msgstr ""
-#: bookwyrm/templates/lists/list.html:156
+#: bookwyrm/templates/lists/list.html:157
msgid "Suggest Books"
msgstr ""
-#: bookwyrm/templates/lists/list.html:167
+#: bookwyrm/templates/lists/list.html:168
msgid "search"
msgstr ""
-#: bookwyrm/templates/lists/list.html:173
+#: bookwyrm/templates/lists/list.html:174
msgid "Clear search"
msgstr ""
-#: bookwyrm/templates/lists/list.html:178
+#: bookwyrm/templates/lists/list.html:179
#, python-format
msgid "No books found matching the query \"%(query)s\""
msgstr ""
-#: bookwyrm/templates/lists/list.html:210
+#: bookwyrm/templates/lists/list.html:211
msgid "Suggest"
msgstr ""
-#: bookwyrm/templates/lists/list.html:221
+#: bookwyrm/templates/lists/list.html:222
msgid "Embed this list on a website"
msgstr ""
-#: bookwyrm/templates/lists/list.html:229
+#: bookwyrm/templates/lists/list.html:230
msgid "Copy embed code"
msgstr ""
-#: bookwyrm/templates/lists/list.html:231
+#: bookwyrm/templates/lists/list.html:232
#, python-format
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
msgstr ""
@@ -2737,23 +2849,94 @@ msgstr ""
msgid "Want to Read \"%(book_title)s\""
msgstr ""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr ""
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr ""
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr ""
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr ""
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr ""
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr ""
@@ -2809,13 +2992,13 @@ msgstr ""
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr ""
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr ""
@@ -2843,7 +3026,7 @@ msgstr ""
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr ""
@@ -2883,7 +3066,7 @@ msgid "Dashboard"
msgstr ""
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr ""
@@ -2910,36 +3093,43 @@ msgstr[1] ""
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr ""
@@ -2974,10 +3164,6 @@ msgstr ""
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr ""
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr ""
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3089,12 +3275,8 @@ msgstr ""
msgid "No notes"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr ""
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr ""
@@ -3307,62 +3489,113 @@ msgstr ""
msgid "Reports"
msgstr ""
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr ""
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
+msgid "Reported by @%(username)s"
msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr ""
@@ -3490,7 +3723,7 @@ msgid "Invite request text:"
msgstr ""
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr ""
@@ -3600,15 +3833,19 @@ msgstr ""
msgid "Permanently deleted"
msgstr ""
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr ""
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr ""
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr ""
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr ""
@@ -3620,62 +3857,68 @@ msgstr ""
msgid "Edit Shelf"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr ""
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr ""
-#: bookwyrm/templates/snippets/add_to_group_button.html:15
+#: bookwyrm/templates/snippets/add_to_group_button.html:16
msgid "Invite"
msgstr ""
-#: bookwyrm/templates/snippets/add_to_group_button.html:24
+#: bookwyrm/templates/snippets/add_to_group_button.html:25
msgid "Uninvite"
msgstr ""
-#: bookwyrm/templates/snippets/add_to_group_button.html:28
+#: bookwyrm/templates/snippets/add_to_group_button.html:29
#, python-format
msgid "Remove @%(username)s"
msgstr ""
@@ -3763,50 +4006,42 @@ msgstr ""
msgid "Include spoiler alert"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/layout.html:48
+#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr ""
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/quotation.html:17
+#: bookwyrm/templates/snippets/create_status/quotation.html:16
msgid "Quote:"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/quotation.html:25
+#: bookwyrm/templates/snippets/create_status/quotation.html:24
#, python-format
msgid "An excerpt from '%(book_title)s'"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/quotation.html:32
+#: bookwyrm/templates/snippets/create_status/quotation.html:31
msgid "Position:"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/quotation.html:45
+#: bookwyrm/templates/snippets/create_status/quotation.html:44
msgid "On page:"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/quotation.html:51
+#: bookwyrm/templates/snippets/create_status/quotation.html:50
msgid "At percent:"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/review.html:25
+#: bookwyrm/templates/snippets/create_status/review.html:24
#, python-format
msgid "Your review of '%(book_title)s'"
msgstr ""
-#: bookwyrm/templates/snippets/create_status/review.html:40
+#: bookwyrm/templates/snippets/create_status/review.html:39
msgid "Review:"
msgstr ""
@@ -3824,43 +4059,43 @@ msgstr ""
msgid "Filters"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr ""
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
msgid "Accept"
msgstr ""
@@ -3905,7 +4140,7 @@ msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
msgid "Review of \"%(book_title)s\": %(review_title)s"
msgstr ""
@@ -3969,20 +4204,6 @@ msgstr ""
msgid "Next"
msgstr ""
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr ""
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr ""
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr ""
@@ -3992,17 +4213,11 @@ msgstr ""
msgid "Post privacy"
msgstr ""
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr ""
-
-#: bookwyrm/templates/snippets/rate_action.html:4
+#: bookwyrm/templates/snippets/rate_action.html:5
msgid "Leave a rating"
msgstr ""
-#: bookwyrm/templates/snippets/rate_action.html:19
+#: bookwyrm/templates/snippets/rate_action.html:20
msgid "Rate"
msgstr ""
@@ -4011,17 +4226,6 @@ msgstr ""
msgid "Finish \"%(book_title)s\""
msgstr ""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr ""
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr ""
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr ""
@@ -4041,29 +4245,35 @@ msgstr ""
msgid "Want to Read \"%(book_title)s\""
msgstr ""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr ""
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr ""
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr ""
@@ -4071,13 +4281,13 @@ msgstr ""
msgid "Move book"
msgstr ""
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr ""
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4101,29 +4311,29 @@ msgstr ""
msgid "Finish reading"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:73
msgid "Content warning"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:80
msgid "Show status"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:102
#, python-format
msgid "(Page %(page)s)"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:104
#, python-format
msgid "(%(percent)s%%)"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:126
msgid "Open image in new window"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:145
msgid "Hide status"
msgstr ""
@@ -4132,7 +4342,12 @@ msgstr ""
msgid "edited %(date)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr ""
@@ -4142,7 +4357,12 @@ msgstr ""
msgid "replied to %(username)s's status"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr ""
@@ -4152,24 +4372,44 @@ msgstr ""
msgid "rated %(book)s:"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
msgstr ""
#: bookwyrm/templates/snippets/status/layout.html:24
@@ -4216,11 +4456,11 @@ msgstr ""
msgid "Show less"
msgstr ""
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr ""
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr ""
diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo
index 7fe4afcc..837c28e0 100644
Binary files a/locale/es_ES/LC_MESSAGES/django.mo and b/locale/es_ES/LC_MESSAGES/django.mo differ
diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po
index bcac2edd..27bc07a8 100644
--- a/locale/es_ES/LC_MESSAGES/django.po
+++ b/locale/es_ES/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 14:07\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 20:55\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Spanish\n"
"Language: es\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Ya existe un usuario con ese correo electrónico."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Un día"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Una semana"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Un mes"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "No expira"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} usos"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Sin límite"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Orden de la lista"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Título"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Valoración"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Ordenar por"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Ascendente"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Descendente"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Error en cargar libro"
@@ -80,8 +84,9 @@ msgstr "Error en cargar libro"
msgid "Could not find a match for book"
msgstr "No se pudo encontrar el libro"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Pendiente"
@@ -101,23 +106,23 @@ msgstr "Eliminación de moderador"
msgid "Domain block"
msgstr "Bloqueo de dominio"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Audio libro"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "Libro electrónico"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Novela gráfica"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Tapa dura"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Tapa blanda"
@@ -127,10 +132,11 @@ msgstr "Tapa blanda"
msgid "Federated"
msgstr "Federalizado"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Bloqueado"
@@ -153,7 +159,56 @@ msgstr "nombre de usuario"
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con ese nombre."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Público"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "No listado"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Seguidores"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privado"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr "Gratuito"
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr "Disponible para compra"
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr "Disponible para préstamo"
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr "Aprobado"
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Reseñas"
@@ -169,69 +224,69 @@ msgstr "Citas"
msgid "Everything else"
msgstr "Todo lo demás"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Línea de tiempo principal"
-#: bookwyrm/settings.py:120
-msgid "Home"
-msgstr "Hogar"
-
#: bookwyrm/settings.py:121
+msgid "Home"
+msgstr "Inicio"
+
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Línea temporal de libros"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Libros"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Inglés)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch (Alemán)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Gallego)"
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr "Italiano"
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Francés)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituano)"
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr "Norsk (Noruego)"
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portugués brasileño)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugués europeo)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chino simplificado)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chino tradicional)"
@@ -268,8 +323,8 @@ msgstr "¡Bienvenido a %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr "%(site_name)s es parte de BookWyrm, una red de comunidades independientes y autocontroladas para lectores. Aunque puedes interactuar directamente con los usuarios de cualquier parte de la red de BookWyrm, esta comunidad es única."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr "%(site_name)s es parte de BookWyrm, una red de comunidades independientes y autogestionadas para lectores. Aunque puedes interactuar sin problemas con los usuarios de cualquier parte de la red BookWyrm, esta comunidad es única."
#: bookwyrm/templates/about/about.html:39
#, python-format
@@ -312,7 +367,7 @@ msgid "Admin"
msgstr "Administrador"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -494,61 +549,61 @@ msgstr "Todos los libros que ha leído %(display_name)s en %(year)s"
msgid "Edit Author"
msgstr "Editar Autor/Autora"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Detalles sobre el/la autor/a"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Alias:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Nacido:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Muerto:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Enlaces externos"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Ver registro ISNI"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Cargar datos"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Ver en OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Ver en Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Ver en LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Ver en Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Libros de %(name)s"
@@ -578,7 +633,9 @@ msgid "Metadata"
msgstr "Metadatos"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Nombre:"
@@ -632,16 +689,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -649,17 +708,20 @@ msgstr "Guardar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Cancelar"
@@ -728,39 +790,35 @@ msgstr "Una edición diferente de este libro está
msgid "Your reading activity"
msgstr "Tu actividad de lectura"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Agregar fechas de lectura"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Crear"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "No tienes ninguna actividad de lectura para este libro."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "Tus reseñas"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Tus comentarios"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "Tus citas"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Sujetos"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Lugares"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -770,11 +828,11 @@ msgstr "Lugares"
msgid "Lists"
msgstr "Listas"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Agregar a lista"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -819,39 +877,13 @@ msgstr "Vista previa de la portada del libro"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Cerrar"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "¿Eliminar estas fechas de lectura?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-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/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Esta acción no se puede deshacer"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Eliminar"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -973,7 +1005,7 @@ msgid "Add Another Author"
msgstr "Añadir Otro Autor"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Portada"
@@ -1034,6 +1066,118 @@ msgstr "Idioma:"
msgid "Search editions"
msgstr "Buscar ediciones"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr "Añadir enlace a archivo"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr "Los enlaces de dominios desconocidos tendrán que ser aprobados por un moderador antes de ser añadidos."
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr "URL:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr "Tipo de archivo:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr "Disponibilidad:"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr "Editar enlaces"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr "\n"
+" Enlaces de \"%(title)s\"\n"
+" "
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr "URL"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr "Añadido por"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr "Tipo de archivo"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Dominio"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Estado"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Acciones"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr "Denunciar spam"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr "Ningún enlace disponible para este libro."
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr "Añadir enlace a archivo"
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr "Enlaces a archivos"
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr "Obtener una copia"
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr "Ningún enlace disponible"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr "Saliendo de BookWyrm"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr "Este enlace te lleva a: %(link_url)s
.
¿Es ahí adonde quieres ir?"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr "Continuar"
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1068,35 +1212,6 @@ msgstr "Publicado por %(publisher)s."
msgid "rated it"
msgstr "lo valoró con"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Actualizaciones de progreso:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "terminado"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Mostrar todas las actualizaciones"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Eliminar esta actualización de progreso"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "empezado"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Editar fechas de lectura"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Eliminar estas fechas de lectura"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1133,8 +1248,8 @@ msgstr "Código de confirmación:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Enviar"
@@ -1478,39 +1593,6 @@ msgstr "Tus libros"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "¡No hay ningún libro aquí ahorita! Busca a un libro para empezar"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Para leer"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Leyendo actualmente"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Leído"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1542,6 +1624,30 @@ msgstr "¿Has leído %(book_title)s?"
msgid "Add to your books"
msgstr "Añadir a tus libros"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Para leer"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Leyendo actualmente"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Leído"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "¿Qué estás leyendo?"
@@ -1675,6 +1781,23 @@ msgstr "Gestionado por %(username)s"
msgid "Delete this group?"
msgstr "¿Eliminar este grupo?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Esta acción no se puede deshacer"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Eliminar"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Editar Grupo"
@@ -1755,7 +1878,7 @@ msgstr "Gestor"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importar libros"
@@ -1843,8 +1966,8 @@ msgid "Row"
msgstr "Fila"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Título"
@@ -1857,8 +1980,8 @@ msgid "Openlibrary key"
msgstr "Clave de OpenLibrary"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autor/Autora"
@@ -1873,19 +1996,10 @@ msgid "Review"
msgstr "Reseña"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Libro"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Estado"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Previsualización de la importación no disponible."
@@ -1925,6 +2039,7 @@ msgstr "La aprobación de una sugerencia añadirá permanentemente el libro suge
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Aprobar"
@@ -1933,8 +2048,8 @@ msgid "Reject"
msgstr "Rechazar"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Puede descargar sus datos de Goodreads desde la página de Importación/Exportación de su cuenta de Goodreads."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr "Puedes descargar tus datos de Goodreads desde la página de importación/exportación de tu cuenta de Goodreads."
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1978,7 +2093,7 @@ 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/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Libros recientes"
@@ -2272,6 +2387,7 @@ msgid "List position"
msgstr "Posición"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Establecido"
@@ -2737,23 +2853,94 @@ msgstr "Empezar \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quiero leer \"%(book_title)s\""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "¿Eliminar estas fechas de lectura?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+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/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Actualizar fechas de lectura de «%(title)s»"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Lectura se empezó"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Progreso"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Lectura se terminó"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Actualizaciones de progreso:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "terminado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Mostrar todas las actualizaciones"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Eliminar esta actualización de progreso"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "empezado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Editar fechas de lectura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Eliminar estas fechas de lectura"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Añadir fechas de lectura de «%(title)s»"
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Reportar"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importar libro"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Cargar resultados de otros catálogos"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Agregar libro a mano"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Iniciar una sesión para importar o agregar libros."
@@ -2809,13 +2996,13 @@ msgstr "Falso"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Fecha de inicio:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Fecha final:"
@@ -2843,7 +3030,7 @@ msgstr "Fecha de evento:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Anuncios"
@@ -2883,7 +3070,7 @@ msgid "Dashboard"
msgstr "Tablero"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Número de usuarios"
@@ -2910,36 +3097,43 @@ msgstr[1] "%(display_count)s informes abiertos"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] "%(display_count)s dominio necesita revisión"
+msgstr[1] "%(display_count)s dominios necesitan revisión"
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s solicitación de invitado"
msgstr[1] "%(display_count)s solicitaciones de invitado"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Actividad de instancia"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervalo:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Dias"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Semanas"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Actividad de inscripciones de usuarios"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Actividad de estado"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Obras creadas"
@@ -2974,10 +3168,6 @@ msgstr "Lista de bloqueo de correos electrónicos"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Cuando alguien intenta registrarse con un correo electrónico de este dominio, ningun cuenta se creerá. El proceso de registración se parecerá a funcionado."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Dominio"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3089,12 +3279,8 @@ msgstr "Editar"
msgid "No notes"
msgstr "Sin notas"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Acciones"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Bloquear"
@@ -3307,62 +3493,113 @@ msgstr "Moderación"
msgid "Reports"
msgstr "Informes"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr "Dominios de enlaces"
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Configuración de instancia"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Configuración de sitio"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Reportar #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr "Establecer nombre con el que mostrar %(url)s"
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr "Los dominios de enlaces deben ser aprobados antes de que se muestren en las páginas de libros. Por favor, asegúrate de que los dominios no contienen spam, código malicioso o enlaces engañosos antes de aprobarlos."
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr "Establecer nombre para mostrar"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr "Ver enlaces"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr "Ningún dominio aprobado actualmente"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr "Ningún dominio pendiente actualmente"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr "No hay dominios bloqueados actualmente"
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr "Ningún enlace disponible para este dominio."
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Volver a los informes"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Estados reportados"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "El estado ha sido eliminado"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr "Enlaces denunciados"
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Comentarios de moderador"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Comentario"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Estados reportados"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr "Reporte #%(report_id)s: Estado publicado por @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "No se reportaron estados"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr "Reporte #%(report_id)s: Enlace añadido por @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "El estado ha sido eliminado"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr "Reporte #%(report_id)s: Usuario @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr "Bloquear dominio"
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "No se proporcionó notas"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Reportado por %(username)s"
+msgid "Reported by @%(username)s"
+msgstr "Denunciado por @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Reabrir"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Resolver"
@@ -3490,7 +3727,7 @@ msgid "Invite request text:"
msgstr "Texto de solicitud de invitación:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Eliminar usuario permanentemente"
@@ -3600,15 +3837,19 @@ msgstr "Ver instancia"
msgid "Permanently deleted"
msgstr "Eliminado permanentemente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr "Acciones de usuario"
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Suspender usuario"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Des-suspender usuario"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Nivel de acceso:"
@@ -3620,50 +3861,56 @@ msgstr "Crear Estantería"
msgid "Edit Shelf"
msgstr "Editar Estantería"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Perfil de usuario"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Todos los libros"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crear estantería"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s libro"
msgstr[1] "%(formatted_count)s libros"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(mostrando %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Editar estantería"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Eliminar estantería"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Archivado"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Empezado"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Terminado"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Esta estantería está vacía."
@@ -3768,14 +4015,6 @@ msgstr "Incluir alerta de spoiler"
msgid "Comment:"
msgstr "Comentario:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privado"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Compartir"
@@ -3824,38 +4063,38 @@ msgstr "Quitar me gusta"
msgid "Filters"
msgstr "Filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Filtros aplicados"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Borrar filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Aplicar filtros"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Seguir a @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Seguir"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Cancelar solicitud de seguimiento"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Dejar de seguir a @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Dejar de seguir"
@@ -3900,15 +4139,15 @@ msgstr[1] "valoró %(title)s: %(display_rating
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Reseña de \"%(book_title)s\" (%(display_rating)s estrella): %(review_title)s"
-msgstr[1] "Reseña de \"%(book_title)s\" (%(display_rating)s estrellas): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] "Reseña de «%(book_title)s» (%(display_rating)s estrella): %(review_title)s"
+msgstr[1] "Reseña de «%(book_title)s» (%(display_rating)s estrellas): %(review_title)s"
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Reseña de \"%(book_title)s\": %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr "Reseña de «%(book_title)s»: %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3969,20 +4208,6 @@ msgstr "Anterior"
msgid "Next"
msgstr "Siguiente"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Público"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "No listado"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Solo seguidores"
@@ -3992,12 +4217,6 @@ msgstr "Solo seguidores"
msgid "Post privacy"
msgstr "Privacidad de publicación"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Seguidores"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Da una valoración"
@@ -4011,17 +4230,6 @@ msgstr "Valorar"
msgid "Finish \"%(book_title)s\""
msgstr "Terminar \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Lectura se empezó"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Lectura se terminó"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Opcional)"
@@ -4041,29 +4249,35 @@ msgstr "Empezar \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quiero leer \"%(book_title)s\""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Progreso"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Inscribirse"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Reportar"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr "Denunciar el estado de @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr "Denunciar el enlace a %(domain)s"
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Reportar @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Este informe se enviará a los moderadores de %(site_name)s para la revisión."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr "Los enlaces a este dominio se eliminarán hasta que tu denuncia haya sido revisada."
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Más información sobre este informe:"
@@ -4071,13 +4285,13 @@ msgstr "Más información sobre este informe:"
msgid "Move book"
msgstr "Mover libro"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Empezar a leer"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4101,29 +4315,29 @@ msgstr "Quitar de %(name)s"
msgid "Finish reading"
msgstr "Terminar de leer"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Advertencia de contenido"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Mostrar estado"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Página %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Abrir imagen en una nueva ventana"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Ocultar estado"
@@ -4132,7 +4346,12 @@ msgstr "Ocultar estado"
msgid "edited %(date)s"
msgstr "editado %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "comentó acerca de %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "comentó en \"%(book)s\""
@@ -4142,7 +4361,12 @@ msgstr "comentó en \"%(book)s\""
msgid "replied to %(username)s's status"
msgstr "respondió al estado de %(username)s"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "citó %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "citó a %(book)s"
@@ -4152,25 +4376,45 @@ msgstr "citó a %(book)s"
msgid "rated %(book)s:"
msgstr "valoró %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "terminó de leer %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "terminó de leer %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "empezó a leer %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "empezó a leer %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "reseñó %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "reseñó a %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s quiere leer %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "quiere leer %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "quiere leer %(book)s"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4216,11 +4460,11 @@ msgstr "Mostrar más"
msgid "Show less"
msgstr "Mostrar menos"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Tus libros"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "Los libros de %(username)s"
diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo
index c1abc8c2..4cdcbf8e 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 9481dd3e..fb2b93dc 100644
--- a/locale/fr_FR/LC_MESSAGES/django.po
+++ b/locale/fr_FR/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 12:56\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 20:55\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: French\n"
"Language: fr\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Cet email est déjà associé à un compte."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Un jour"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Une semaine"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Un mois"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Sans expiration"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} utilisations"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Sans limite"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Ordre de la liste"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Titre du livre"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Note"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Trier par"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Ordre croissant"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Ordre décroissant"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Erreur lors du chargement du livre"
@@ -80,8 +84,9 @@ msgstr "Erreur lors du chargement du livre"
msgid "Could not find a match for book"
msgstr "Impossible de trouver une correspondance pour le livre"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "En attente"
@@ -101,23 +106,23 @@ msgstr "Suppression du modérateur"
msgid "Domain block"
msgstr "Blocage de domaine"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Livre audio"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "eBook"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Roman Graphique"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Couverture rigide"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Couverture souple"
@@ -127,10 +132,11 @@ msgstr "Couverture souple"
msgid "Federated"
msgstr "Fédéré"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Bloqué"
@@ -153,7 +159,56 @@ msgstr "nom du compte :"
msgid "A user with that username already exists."
msgstr "Ce nom est déjà associé à un compte."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Public"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Non listé"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Abonné(e)s"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privé"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr "Gratuit"
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr "Disponible à l’achat"
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr "Disponible à l’emprunt"
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr "Approuvé"
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Critiques"
@@ -169,69 +224,69 @@ msgstr "Citations"
msgid "Everything else"
msgstr "Tout le reste"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Mon fil d’actualité"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Accueil"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Actualité de mes livres"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Livres"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Galicien)"
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr "Italiano (italien)"
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituanien)"
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr "Norsk (norvégien)"
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portugais brésilien)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugais européen)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简化字"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "Infos supplémentaires :"
@@ -268,8 +323,8 @@ msgstr "Bienvenue sur %(site_name)s !"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr "%(site_name)s fait partie de BookWyrm, un réseau de communautés indépendantes et autogérées pour les lecteurs. Bien que vous puissiez interagir apparemment avec les utilisateurs n'importe où dans le réseau BookWyrm, cette communauté est unique."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr "%(site_name)s fait partie de BookWyrm, un réseau de communautés indépendantes et autogérées, à destination des lecteurs. Bien que vous puissiez interagir apparemment avec les comptes n'importe où dans le réseau BookWyrm, cette communauté est unique."
#: bookwyrm/templates/about/about.html:39
#, python-format
@@ -312,7 +367,7 @@ msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -375,7 +430,7 @@ msgstr "Copier l’adresse"
#: bookwyrm/templates/annual_summary/layout.html:68
#: bookwyrm/templates/lists/list.html:230
msgid "Copied!"
-msgstr "Copié!"
+msgstr "Copié !"
#: bookwyrm/templates/annual_summary/layout.html:77
msgid "Sharing status: public with key"
@@ -494,61 +549,61 @@ msgstr "Tous les livres que %(display_name)s a lus en %(year)s"
msgid "Edit Author"
msgstr "Modifier l’auteur ou autrice"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Informations sur l’auteur ou l’autrice"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Pseudonymes :"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Naissance :"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Décès :"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Liens externes"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Voir l’enregistrement ISNI"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Charger les données"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Voir sur OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Voir sur Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Voir sur LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Voir sur Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Livres de %(name)s"
@@ -578,7 +633,9 @@ msgid "Metadata"
msgstr "Métadonnées"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Nom :"
@@ -632,16 +689,18 @@ msgstr "ISNI :"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -649,17 +708,20 @@ msgstr "Enregistrer"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Annuler"
@@ -728,39 +790,35 @@ msgstr "Une édition différente de ce livre exist
msgid "Your reading activity"
msgstr "Votre activité de lecture"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Ajouter des dates de lecture"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Créer"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Vous n’avez aucune activité de lecture pour ce livre"
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "Vos critiques"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Vos commentaires"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "Vos citations"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Sujets"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Lieux"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -770,11 +828,11 @@ msgstr "Lieux"
msgid "Lists"
msgstr "Listes"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Ajouter à la liste"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -819,39 +877,13 @@ msgstr "Aperçu de la couverture"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Fermer"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Supprimer ces dates de lecture ?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-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/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Cette action ne peut pas être annulée"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Supprimer"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -973,7 +1005,7 @@ msgid "Add Another Author"
msgstr "Ajouter un autre auteur ou autrice"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Couverture"
@@ -1034,6 +1066,118 @@ msgstr "Langue :"
msgid "Search editions"
msgstr "Rechercher des éditions"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr "Ajouter un lien vers un fichier"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr "Les liens vers des domaines inconnus devront être modérés avant d'être ajoutés."
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr "URL :"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr "Type de fichier :"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr "Disponibilité :"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr "Modifier les liens"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr "\n"
+" Liens pour \"%(title)s\"\n"
+" "
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr "URL"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr "Ajouté par"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr "Type de fichier"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Domaine"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Statut"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Actions"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr "Signaler un spam"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr "Aucun lien disponible pour ce livre."
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr "Ajouter un lien vers un fichier"
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr "Liens vers un fichier"
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr "Obtenir une copie"
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr "Aucun lien disponible"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr "Vous quittez BookWyrm"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr "Ce lien vous amène à %(link_url)s
.
Est-ce là que vous souhaitez aller ?"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr "Continuer"
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1068,35 +1212,6 @@ msgstr "Publié par %(publisher)s."
msgid "rated it"
msgstr "l’a noté"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Progression :"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "terminé"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Montrer toutes les progressions"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Supprimer cette mise à jour"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "commencé"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Modifier les date de lecture"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Supprimer ces dates de lecture"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1133,8 +1248,8 @@ msgstr "Code de confirmation :"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Valider"
@@ -1478,39 +1593,6 @@ msgstr "Vos Livres"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Aucun livre ici pour l’instant ! Cherchez un livre pour commencer"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "À lire"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Lectures en cours"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Lu"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1542,6 +1624,30 @@ msgstr "Avez‑vous lu « %(book_title)s » ?"
msgid "Add to your books"
msgstr "Ajouter à vos livres"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "À lire"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Lectures en cours"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Lu"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "Que lisez‑vous ?"
@@ -1675,6 +1781,23 @@ msgstr "Géré par %(username)s"
msgid "Delete this group?"
msgstr "Supprimer ce groupe ?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Cette action ne peut pas être annulée"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Supprimer"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Modifier le Groupe"
@@ -1755,7 +1878,7 @@ msgstr "Responsable"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importer des livres"
@@ -1843,8 +1966,8 @@ msgid "Row"
msgstr "Ligne"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Titre"
@@ -1857,8 +1980,8 @@ msgid "Openlibrary key"
msgstr "Clé Openlibrary"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Auteur/autrice"
@@ -1873,19 +1996,10 @@ msgid "Review"
msgstr "Critique"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Livre"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Statut"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Aperçu de l'importation indisponible."
@@ -1925,6 +2039,7 @@ msgstr "Approuver une suggestion ajoutera définitivement le livre suggéré à
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Approuver"
@@ -1933,8 +2048,8 @@ msgid "Reject"
msgstr "Rejeter"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Vous pouvez télécharger vos données GoodReads depuis la page Import/Export de votre compte GoodReads."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr "Vous pouvez télécharger vos données Goodreads depuis la page Import/Export de votre compte Goodreads."
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1978,7 +2093,7 @@ msgstr "Autorisation refusée"
msgid "Sorry! This invite code is no longer valid."
msgstr "Cette invitation n’est plus valide ; désolé !"
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Livres récents"
@@ -2272,6 +2387,7 @@ msgid "List position"
msgstr "Position"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Appliquer"
@@ -2737,23 +2853,94 @@ msgstr "Commencer \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Je veux lire \"%(book_title)s\""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Supprimer ces dates de lecture ?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+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/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Mettre à jour les dates de lecture pour « %(title)s »"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Lecture commencée le"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Progression"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Lecture terminée le"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Progression :"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "terminé"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Montrer toutes les progressions"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Supprimer cette mise à jour"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "commencé"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Modifier les date de lecture"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Supprimer ces dates de lecture"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Ajouter des dates de lecture pour « %(title)s »"
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Signaler"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Résultats de"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importer le livre"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Charger les résultats d’autres catalogues"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Ajouter un livre manuellement"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Authentifiez-vous pour importer ou ajouter des livres."
@@ -2809,13 +2996,13 @@ msgstr "Faux"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Date de début :"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Date de fin :"
@@ -2843,7 +3030,7 @@ msgstr "Date de l'événement :"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Annonces"
@@ -2883,7 +3070,7 @@ msgid "Dashboard"
msgstr "Tableau de bord"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Nombre total d'utilisateurs·rices"
@@ -2910,36 +3097,43 @@ msgstr[1] "%(display_count)s signalements ouverts"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] "%(display_count)s domaine doit être vérifié"
+msgstr[1] "%(display_count)s domaines doivent être vérifiés"
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s demande d'invitation"
msgstr[1] "%(display_count)s demandes d'invitation"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Activité de l'instance"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervalle :"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Jours"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Semaines"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Nouvelles inscriptions"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Nouveaux statuts"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Œuvres créées"
@@ -2974,10 +3168,6 @@ msgstr "Liste des e-mails bloqués"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Quand quelqu'un essaiera de s'inscrire avec un e-mail de ce domaine, aucun compte ne sera créé. Le processus d'inscription semblera avoir fonctionné."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Domaine"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3089,12 +3279,8 @@ msgstr "Modifier"
msgid "No notes"
msgstr "Aucune note"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Actions"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Bloquer"
@@ -3307,62 +3493,113 @@ msgstr "Modération"
msgid "Reports"
msgstr "Signalements"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr "Domaines liés"
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Paramètres de l’instance"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Paramètres du site"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Signalement #%(report_id)s : %(username)s"
+msgid "Set display name for %(url)s"
+msgstr "Définir le nom affiché pour %(url)s"
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr "Les domaines liés doivent être approuvés avant d’être montrés sur les pages des livres. Assurez-vous que ces domaines n’hébergent pas du spam, du code malicieux ou des liens falsifiés avant de les approuver."
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr "Définir le nom à afficher"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr "Voir les liens"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr "Aucun domaine actuellement approuvé"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr "Aucun domaine en attente"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr "Aucun domaine actuellement bloqué"
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr "Aucun lien n’est disponible pour ce domaine."
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Retour aux signalements"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Statuts signalés"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "Le statut a été supprimé"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr "Liens signalés"
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Commentaires de l’équipe de modération"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Commentaire"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Statuts signalés"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr "Signalement #%(report_id)s : statut posté par @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Aucun statut signalé"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr "Signalement #%(report_id)s : lien ajouté par @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "Le statut a été supprimé"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr "Signalement #%(report_id)s : compte @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr "Bloquer le domaine"
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Aucune note fournie"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Signalé par %(username)s"
+msgid "Reported by @%(username)s"
+msgstr "Signalé par @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Réouvrir"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Résoudre"
@@ -3490,7 +3727,7 @@ msgid "Invite request text:"
msgstr "Texte de la demande d'invitation :"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Supprimer définitivement l'utilisateur"
@@ -3600,15 +3837,19 @@ msgstr "Voir l’instance"
msgid "Permanently deleted"
msgstr "Supprimé définitivement"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr "Actions de l'utilisateur"
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Suspendre le compte"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Rétablir le compte"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Niveau d’accès :"
@@ -3620,50 +3861,56 @@ msgstr "Créer une étagère"
msgid "Edit Shelf"
msgstr "Modifier l’étagère"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Profil utilisateur·rice"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Tous les livres"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Créer une étagère"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s livre"
msgstr[1] "%(formatted_count)s livres"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(affichage de %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Modifier l’étagère"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Supprimer l’étagère"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Date d’ajout"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Commencé"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Terminé"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Cette étagère est vide"
@@ -3768,14 +4015,6 @@ msgstr "Afficher une alerte spoiler"
msgid "Comment:"
msgstr "Commentaire :"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privé"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Publier"
@@ -3824,38 +4063,38 @@ msgstr "Retirer des favoris"
msgid "Filters"
msgstr "Filtres"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Des filtres sont appliqués"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Annuler les filtres"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Appliquer les filtres"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "S'abonner à @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "S’abonner"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Annuler la demande d’abonnement"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Se désabonner de @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Se désabonner"
@@ -3900,15 +4139,15 @@ msgstr[1] "a noté %(title)s : %(display_ratin
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Critique de « %(book_title)s » (%(display_rating)s star): %(review_title)s"
-msgstr[1] "Critique de « %(book_title)s » (%(display_rating)s stars) : %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] "Critique de « %(book_title)s » (%(display_rating)s étoile) : %(review_title)s"
+msgstr[1] "Critique de « %(book_title)s » (%(display_rating)s étoile) : %(review_title)s"
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Critique de « %(book_title)s » : %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr "Critique de « %(book_title)s » : %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3969,20 +4208,6 @@ msgstr "Précédente"
msgid "Next"
msgstr "Suivante"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Public"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Non listé"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Abonnemé(e)s uniquement"
@@ -3992,12 +4217,6 @@ msgstr "Abonnemé(e)s uniquement"
msgid "Post privacy"
msgstr "Confidentialité du statut"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Abonné(e)s"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Laisser une note"
@@ -4011,17 +4230,6 @@ msgstr "Noter"
msgid "Finish \"%(book_title)s\""
msgstr "Terminer « %(book_title)s »"
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Lecture commencée le"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Lecture terminée le"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Facultatif)"
@@ -4041,29 +4249,35 @@ msgstr "Commencer « %(book_title)s »"
msgid "Want to Read \"%(book_title)s\""
msgstr "Ajouter « %(book_title)s » aux envies de lecture"
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Progression"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "S’enregistrer"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Signaler"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr "Signaler le statut de @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr "Signaler le lien de %(domain)s"
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Signaler @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Ce signalement sera envoyé à l’équipe de modération de %(site_name)s pour traitement."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr "Les liens vers ce domaine seront retirés jusqu’à ce que votre signalement ait été vérifié."
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "En savoir plus sur ce signalement :"
@@ -4071,13 +4285,13 @@ msgstr "En savoir plus sur ce signalement :"
msgid "Move book"
msgstr "Déplacer le livre"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Commencer la lecture"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4101,29 +4315,29 @@ msgstr "Retirer de %(name)s"
msgid "Finish reading"
msgstr "Terminer la lecture"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Avertissement sur le contenu"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Afficher le statut"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Page %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Ouvrir l’image dans une nouvelle fenêtre"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Masquer le statut"
@@ -4132,7 +4346,12 @@ msgstr "Masquer le statut"
msgid "edited %(date)s"
msgstr "modifié le %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "a commenté %(book)s par %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "a commenté %(book)s"
@@ -4142,7 +4361,12 @@ msgstr "a commenté %(book)s"
msgid "replied to %(username)s's status"
msgstr "a répondu au statut de %(username)s"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "a cité %(book)s par %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "a cité un passage de %(book)s"
@@ -4152,25 +4376,45 @@ msgstr "a cité un passage de %(book)s"
msgid "rated %(book)s:"
msgstr "a noté %(book)s :"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "a terminé la lecture de %(book)s par %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "a terminé %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "a commencé la lecture de %(book)s par %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "a commencé %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "a publié une critique de %(book)s par %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "a critiqué %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s veut lire %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "veut lire %(book)s par %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "veut lire %(book)s"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4216,11 +4460,11 @@ msgstr "Déplier"
msgid "Show less"
msgstr "Replier"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Vos livres"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "Livres de %(username)s"
diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo
index cbec027e..800ecc36 100644
Binary files a/locale/gl_ES/LC_MESSAGES/django.mo and b/locale/gl_ES/LC_MESSAGES/django.mo differ
diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po
index 23af540e..554b764f 100644
--- a/locale/gl_ES/LC_MESSAGES/django.po
+++ b/locale/gl_ES/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 02:52\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-18 06:22\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Galician\n"
"Language: gl\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Xa existe unha usuaria con este email."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Un día"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Unha semana"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Un mes"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Non caduca"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} usos"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Sen límite"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Orde da listaxe"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Título do libro"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Puntuación"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Ordenar por"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Ascendente"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Descendente"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "A data final da lectura non pode ser anterior á de inicio."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Erro ao cargar o libro"
@@ -80,8 +84,9 @@ msgstr "Erro ao cargar o libro"
msgid "Could not find a match for book"
msgstr "Non se atopan coincidencias para o libro"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Pendente"
@@ -101,23 +106,23 @@ msgstr "Eliminado pola moderación"
msgid "Domain block"
msgstr "Bloqueo de dominio"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Audiolibro"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "eBook"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Novela gráfica"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Portada dura"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "En rústica"
@@ -127,10 +132,11 @@ msgstr "En rústica"
msgid "Federated"
msgstr "Federado"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Bloqueado"
@@ -153,7 +159,56 @@ msgstr "nome de usuaria"
msgid "A user with that username already exists."
msgstr "Xa existe unha usuaria con ese nome."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Público"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Non listado"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Seguidoras"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privado"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr "Gratuíto"
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr "Dispoñible"
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr "Dispoñible para aluguer"
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr "Aprobado"
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Recensións"
@@ -169,69 +224,69 @@ msgstr "Citas"
msgid "Everything else"
msgstr "As outras cousas"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Cronoloxía de Inicio"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Inicio"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Cronoloxía de libros"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Libros"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Inglés)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Alemán (Alemaña)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (España)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Galician)"
-#: bookwyrm/settings.py:199
-msgid "Italiano (Italian)"
-msgstr ""
-
#: bookwyrm/settings.py:200
+msgid "Italiano (Italian)"
+msgstr "Italiano (Italian)"
+
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Francés (Francia)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lithuanian)"
-#: bookwyrm/settings.py:202
-msgid "Norsk (Norwegian)"
-msgstr ""
-
#: bookwyrm/settings.py:203
+msgid "Norsk (Norwegian)"
+msgstr "Noruegués (Norwegian)"
+
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portugués brasileiro)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugués europeo)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chinés simplificado)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinés tradicional)"
@@ -258,7 +313,7 @@ msgstr "Algo fallou! Lamentámolo."
#: bookwyrm/templates/about/about.html:9
#: bookwyrm/templates/about/layout.html:35
msgid "About"
-msgstr ""
+msgstr "Acerca de"
#: bookwyrm/templates/about/about.html:18
#: bookwyrm/templates/get_started/layout.html:20
@@ -268,49 +323,51 @@ msgstr "Sexas ben vida a %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr ""
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr "%(site_name)s é parte de BookWyrm, unha rede independente, auto-xestionada por comunidades de persoas lectoras. Aínda que podes interactuar con outras usuarias da rede BookWyrm, esta comunidade é única."
#: bookwyrm/templates/about/about.html:39
#, python-format
msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
-msgstr ""
+msgstr "%(title)s é o libro máis querido de %(site_name)s, cunha valoración media de %(rating)s sobre 5."
#: bookwyrm/templates/about/about.html:58
#, python-format
msgid "More %(site_name)s users want to read %(title)s than any other book."
-msgstr ""
+msgstr "%(title)s é o libro que máis queren ler as usuarias de %(site_name)s."
#: bookwyrm/templates/about/about.html:77
#, python-format
msgid "%(title)s has the most divisive ratings of any book on %(site_name)s."
-msgstr ""
+msgstr "%(title)s é o libro con valoracións máis diverxentes en %(site_name)s."
#: bookwyrm/templates/about/about.html:88
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard."
-msgstr ""
+msgstr "Rexistra as túas lecturas, conversa acerca dos libros, escribe recensións e descubre próximas lecturas. Sempre sen publicidade, anti-corporacións e orientado á comunidade, BookWyrm é software a escala humana, deseñado para ser pequeno e persoal. Se queres propoñer novas ferramentas, informar de fallos, ou colaborar, contacta con nós e deixa oír a túa voz."
#: bookwyrm/templates/about/about.html:95
msgid "Meet your admins"
-msgstr ""
+msgstr "Contacta coa administración"
#: bookwyrm/templates/about/about.html:98
#, python-format
msgid "\n"
" %(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior.\n"
" "
-msgstr ""
+msgstr "\n"
+"A moderación e administración de %(site_name)s coidan e xestionan o sitio web, fan cumprir co código de conducta e responden ás denuncias das usuarias sobre spam e mal comportamento.\n"
+" "
#: bookwyrm/templates/about/about.html:112
msgid "Moderator"
-msgstr ""
+msgstr "Moderación"
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -324,15 +381,15 @@ msgstr "Código de Conduta"
#: bookwyrm/templates/about/layout.html:11
msgid "Active users:"
-msgstr ""
+msgstr "Usuarias activas:"
#: bookwyrm/templates/about/layout.html:15
msgid "Statuses posted:"
-msgstr ""
+msgstr "Estados publicados:"
#: bookwyrm/templates/about/layout.html:19
msgid "Software version:"
-msgstr ""
+msgstr "Versión do software:"
#: bookwyrm/templates/about/layout.html:30
#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229
@@ -406,7 +463,7 @@ msgstr "Cando fas privada unha páxina, a chave antiga non dará acceso á mesma
#: bookwyrm/templates/annual_summary/layout.html:112
#, python-format
msgid "Sadly %(display_name)s didn’t finish any books in %(year)s"
-msgstr ""
+msgstr "%(display_name)s non rematou de ler ningún libro en %(year)s"
#: bookwyrm/templates/annual_summary/layout.html:118
#, python-format
@@ -492,61 +549,61 @@ msgstr "Tódolos libros que %(display_name)s leu en %(year)s"
msgid "Edit Author"
msgstr "Editar Autora"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Detalles da autoría"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Alias:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Nacemento:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Morte:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Ligazóns externas"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Ver rexistro ISNI"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Cargar datos"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Ver en OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Ver en Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Ver en LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Ver en Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Libros de %(name)s"
@@ -576,7 +633,9 @@ msgid "Metadata"
msgstr "Metadatos"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Nome:"
@@ -630,16 +689,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -647,17 +708,20 @@ msgstr "Gardar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Cancelar"
@@ -726,39 +790,35 @@ msgstr "Hai unha edición diferente deste libro no
msgid "Your reading activity"
msgstr "Actividade lectora"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Engadir datas de lectura"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Crear"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Non tes actividade lectora neste libro."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "As túas recensións"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Os teus comentarios"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "As túas citas"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Temas"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Lugares"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -768,11 +828,11 @@ msgstr "Lugares"
msgid "Lists"
msgstr "Listaxes"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Engadir a listaxe"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -817,39 +877,13 @@ msgstr "Vista previa da portada"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Pechar"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Eliminar estas datas de lectura?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr "Vas eliminar o diario de lectura e as súas %(count)s actualizacións de progreso da lectura."
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Esta acción non ten volta atrás"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Eliminar"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -971,7 +1005,7 @@ msgid "Add Another Author"
msgstr "Engade outra Autora"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Portada"
@@ -1032,6 +1066,118 @@ msgstr "Idioma:"
msgid "Search editions"
msgstr "Buscar edicións"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr "Engadir ligazón ao ficheiro"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr "As ligazóns a dominios descoñecidos teñen que ser aprobados pola moderación antes de ser engadidos."
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr "URL:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr "Tipo de ficheiro:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr "Dispoñibilidade:"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr "Editar ligazóns"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr "\n"
+"Ligazóns para \"%(title)s\"\n"
+" "
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr "URL"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr "Engadido por"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr "Tipo de ficheiro"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Dominio"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Estado"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Accións"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr "Denunciar spam"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr "Sen ligazóns para para este libro."
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr "Engadir ligazón ao ficheiro"
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr "Ligazóns do ficheiro"
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr "Obter unha copia"
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr "Sen ligazóns dispoñibles"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr "Saír de BookWyrm"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr "Esta ligazón vaite levar a: %(link_url)s
.
É ahí a onde queres ir?"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr "Continuar"
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1066,35 +1212,6 @@ msgstr "Publicado por %(publisher)s."
msgid "rated it"
msgstr "valorouno"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Actualizacións da lectura:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "rematado"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Mostrar tódalas actualizacións"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Eliminar esta actualización da lectura"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "iniciado"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Editar datas da lectura"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Eliminar estas datas da lectura"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1131,8 +1248,8 @@ msgstr "Código de confirmación:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Enviar"
@@ -1476,39 +1593,6 @@ msgstr "Os teus libros"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Aínda non tes libros! Busca algún co que comezar"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Pendentes"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Lectura actual"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Lido"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1540,6 +1624,30 @@ msgstr "Liches %(book_title)s?"
msgid "Add to your books"
msgstr "Engadir aos teus libros"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Pendentes"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Lectura actual"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Lido"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "Que estás a ler?"
@@ -1673,6 +1781,23 @@ msgstr "Xestionado por %(username)s"
msgid "Delete this group?"
msgstr "Eliminar este grupo?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Esta acción non ten volta atrás"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Eliminar"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Editar grupo"
@@ -1691,7 +1816,7 @@ msgstr "Eliminar grupo"
#: bookwyrm/templates/groups/group.html:22
msgid "Members of this group can create group-curated lists."
-msgstr ""
+msgstr "Os membros deste grupo poden crear listas xestionadas comunitariamente."
#: bookwyrm/templates/groups/group.html:27
#: bookwyrm/templates/lists/create_form.html:5
@@ -1753,7 +1878,7 @@ msgstr "Xestora"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importar libros"
@@ -1841,8 +1966,8 @@ msgid "Row"
msgstr "Fila"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Título"
@@ -1855,8 +1980,8 @@ msgid "Openlibrary key"
msgstr "Chave en Openlibrary"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autor"
@@ -1871,19 +1996,10 @@ msgid "Review"
msgstr "Revisar"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Libro"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Estado"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Non dispoñible vista previa da importación."
@@ -1923,6 +2039,7 @@ msgstr "Ao aceptar unha suxestión engadirá permanentemente o libro suxerido ao
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Admitir"
@@ -1931,8 +2048,8 @@ msgid "Reject"
msgstr "Rexeitar"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Podes descargar os teus datos en Goodreads desde a páxina de Importación/Exportación na túa conta Goodreads."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr "Podes descargar os teus datos de Goodreads desde a páxina de Exportación/Importación da túa conta Goodreads."
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1976,7 +2093,7 @@ msgstr "Permiso denegado"
msgid "Sorry! This invite code is no longer valid."
msgstr "Lamentámolo! Este convite xa non é válido."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Libros recentes"
@@ -2270,6 +2387,7 @@ msgid "List position"
msgstr "Posición da lista"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Establecer"
@@ -2735,23 +2853,94 @@ msgstr "Comecei \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quero ler \"%(book_title)s\""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Eliminar estas datas de lectura?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Vas eliminar o diario de lectura e as súas %(count)s actualizacións de progreso da lectura."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Actualizar as datas de lectura para \"%(title)s\""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Comecei a ler"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Progreso"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Rematei de ler"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Actualizacións da lectura:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "rematado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Mostrar tódalas actualizacións"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Eliminar esta actualización da lectura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "iniciado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Editar datas da lectura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Eliminar estas datas da lectura"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Engadir datas de lectura para \"%(title)s\""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Denunciar"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importar libro"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Cargar resultados desde outros catálogos"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Engadir un libro manualmente"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Conéctate para importar ou engadir libros."
@@ -2807,13 +2996,13 @@ msgstr "Falso"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Data de inicio:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Data de fin:"
@@ -2841,7 +3030,7 @@ msgstr "Data do evento:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Anuncios"
@@ -2881,7 +3070,7 @@ msgid "Dashboard"
msgstr "Taboleiro"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Total de usuarias"
@@ -2908,36 +3097,43 @@ msgstr[1] "%(display_count)s denuncias abertas"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] "hai que revisar %(display_count)s dominio"
+msgstr[1] "hai que revisar %(display_count)s dominios"
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s solicitude de convite"
msgstr[1] "%(display_count)s solicitudes de convite"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Actividade na instancia"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervalo:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Días"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Semanas"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Rexistros de usuarias"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Actividade do estado"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Traballos creados"
@@ -2972,10 +3168,6 @@ msgstr "Lista de bloqueo de email"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Non se creará a conta cando alguén se intente rexistrar usando un email deste dominio. O proceso de rexistro aparentará terse completado."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Dominio"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3087,12 +3279,8 @@ msgstr "Editar"
msgid "No notes"
msgstr "Sen notas"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Accións"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Bloquear"
@@ -3305,62 +3493,113 @@ msgstr "Moderación"
msgid "Reports"
msgstr "Denuncias"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr "Dominios das ligazóns"
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Axustes da instancia"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Axustes da web"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Denuncia #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr "Nome público para %(url)s"
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr "As ligazóns a dominios teñen que ser aprobadas para mostralas nas páxinas dos libros. Pon coidado en que non sexan spam, código pernicioso, ou ligazóns estragadas antes de aprobalas."
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr "Establecer nome público"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr "Ver ligazóns"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr "Non hai dominios aprobados"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr "Non hai dominios pendentes"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr "Non hai dominios bloqueados"
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr "Non hai ligazóns dispoñibles para este dominio."
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Volver a denuncias"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Estados dununciados"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "O estado foi eliminado"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr "Ligazóns denunciadas"
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Comentarios da moderación"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Comentario"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Estados dununciados"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr "Denuncia #%(report_id)s: Estado publicado por @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Sen denuncias sobre estados"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr "Denuncia #%(report_id)s: Ligazón engadida por @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "O estado foi eliminado"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr "Denuncia #%(report_id)s: Usuaria @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr "Bloquear dominio"
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Non hai notas"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Denunciado por %(username)s"
+msgid "Reported by @%(username)s"
+msgstr "Denunciado por @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Volver a abrir"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Resolver"
@@ -3488,7 +3727,7 @@ msgid "Invite request text:"
msgstr "Texto para a solicitude do convite:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Eliminar definitivamente a usuaria"
@@ -3598,15 +3837,19 @@ msgstr "Ver instancia"
msgid "Permanently deleted"
msgstr "Eliminada definitivamente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr "Accións da usuaria"
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Usuaria suspendida"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Usuaria reactivada"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Nivel de acceso:"
@@ -3618,50 +3861,56 @@ msgstr "Crear Estante"
msgid "Edit Shelf"
msgstr "Editar estante"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Perfil da usuaria"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Tódolos libros"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crear estante"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s libro"
msgstr[1] "%(formatted_count)s libros"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(mostrando %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Editar estante"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Eliminar estante"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "No estante"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Comezado"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Rematado"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Este estante esta baleiro."
@@ -3766,14 +4015,6 @@ msgstr "Incluír alerta de spoiler"
msgid "Comment:"
msgstr "Comentario:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privado"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Publicación"
@@ -3822,38 +4063,38 @@ msgstr "Retirar gústame"
msgid "Filters"
msgstr "Filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Filtros aplicados"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Limpar filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Aplicar filtros"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Seguir a @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Seguir"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Retirar solicitude de seguimento"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Deixar de seguir a @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Non seguir"
@@ -3898,15 +4139,15 @@ msgstr[1] "valorado %(title)s: %(display_ratin
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Recensión de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
-msgstr[1] "Recensión de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] "Recensión de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
+msgstr[1] "Recensión de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Recensión de \"%(book_title)s\": %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr "Recensión de \"%(book_title)s\" %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3967,20 +4208,6 @@ msgstr "Anterior"
msgid "Next"
msgstr "Seguinte"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Público"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Non listado"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Só seguidoras"
@@ -3990,12 +4217,6 @@ msgstr "Só seguidoras"
msgid "Post privacy"
msgstr "Privacidade da publicación"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Seguidoras"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Fai unha valoración"
@@ -4009,17 +4230,6 @@ msgstr "Valorar"
msgid "Finish \"%(book_title)s\""
msgstr "Rematei \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Comecei a ler"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Rematei de ler"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Optativo)"
@@ -4039,29 +4249,35 @@ msgstr "Comecei a ler \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quero ler \"%(book_title)s\""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Progreso"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Inscribirse"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Denunciar"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr "Denunciar o estado de @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr "Denunciar ligazón %(domain)s"
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Denunciar a @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Esta denuncia vaise enviar á moderación en %(site_name)s para o seu análise."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr "As ligazóns deste dominio van ser eliminadas ata que se revise a denuncia."
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Máis info acerca desta denuncia:"
@@ -4069,13 +4285,13 @@ msgstr "Máis info acerca desta denuncia:"
msgid "Move book"
msgstr "Mover libro"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Comezar a ler"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4099,29 +4315,29 @@ msgstr "Eliminar de %(name)s"
msgid "Finish reading"
msgstr "Rematar a lectura"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Aviso sobre o contido"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Mostrar estado"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Páxina %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Abrir imaxe en nova ventá"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Agochar estado"
@@ -4130,7 +4346,12 @@ msgstr "Agochar estado"
msgid "edited %(date)s"
msgstr "editado %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "comentada en %(book)s por %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "comentou en %(book)s"
@@ -4140,7 +4361,12 @@ msgstr "comentou en %(book)s"
msgid "replied to %(username)s's status"
msgstr "respondeu ao estado de %(username)s"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "citou %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "citou a %(book)s"
@@ -4150,25 +4376,45 @@ msgstr "citou a %(book)s"
msgid "rated %(book)s:"
msgstr "valorou %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "rematou de ler %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "rematou de ler %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "comezou a ler %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "comezou a ler %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "revisou %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "recensionou %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s quere ler %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "quere ler %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "quere ler %(book)s"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4214,11 +4460,11 @@ msgstr "Mostrar máis"
msgid "Show less"
msgstr "Mostrar menos"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Os teus libros"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "Libros de %(username)s"
diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo
index e9ef6d57..f078e021 100644
Binary files a/locale/it_IT/LC_MESSAGES/django.mo and b/locale/it_IT/LC_MESSAGES/django.mo differ
diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po
index 99da6e4e..3b55812c 100644
--- a/locale/it_IT/LC_MESSAGES/django.po
+++ b/locale/it_IT/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 12:56\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-19 23:20\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Italian\n"
"Language: it\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Esiste già un'utenza con questo indirizzo email."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Un giorno"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Una settimana"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Un mese"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Non scade"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} usi"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Illimitato"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Ordina Lista"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Titolo del libro"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Valutazione"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Ordina per"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Crescente"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Decrescente"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "La data di fine lettura non può essere precedente alla data di inizio."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Errore nel caricamento del libro"
@@ -80,8 +84,9 @@ msgstr "Errore nel caricamento del libro"
msgid "Could not find a match for book"
msgstr "Impossibile trovare una corrispondenza per il libro"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "In attesa"
@@ -101,23 +106,23 @@ msgstr "Cancellazione del moderatore"
msgid "Domain block"
msgstr "Blocco del dominio"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Audiolibro"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "eBook"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Graphic novel"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Copertina rigida"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Brossura"
@@ -127,10 +132,11 @@ msgstr "Brossura"
msgid "Federated"
msgstr "Federato"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Bloccato"
@@ -153,7 +159,56 @@ msgstr "nome utente"
msgid "A user with that username already exists."
msgstr "Un utente con questo nome utente esiste già."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Pubblico"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Non in lista"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Followers"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privata"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr "Libero"
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr "Acquistabile"
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr "Disponibile per il prestito"
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr "Approvato"
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Recensioni"
@@ -169,69 +224,69 @@ msgstr "Citazioni"
msgid "Everything else"
msgstr "Tutto il resto"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "La tua timeline"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Home"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Timeline dei libri"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Libri"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Inglese)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch (Tedesco)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (Spagnolo)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Galiziano)"
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr "Italiano (Italiano)"
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Francese)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituano)"
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norvegese)"
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portoghese Brasiliano)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portoghese europeo)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Cinese Semplificato)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Cinese Tradizionale)"
@@ -268,7 +323,7 @@ msgstr "Benvenuto su %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
msgstr "%(site_name)s fa parte di BookWyrm, una rete di comunità indipendenti e autogestite per i lettori. Mentre puoi interagire apparentemente con gli utenti ovunque nella rete di BookWyrm, questa comunità è unica."
#: bookwyrm/templates/about/about.html:39
@@ -288,29 +343,31 @@ msgstr "%(title)s ha le valutazioni più
#: bookwyrm/templates/about/about.html:88
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard."
-msgstr ""
+msgstr "Traccia la tue letture, parla di libri, scrivi recensioni, e scopri cosa leggere dopo. BookWyrm, sempre libero, anti-corporate, orientato alla comunità, è un software a misura d'uomo, progettato per rimanere piccolo e personale. Se hai richieste di funzionalità, segnalazioni di bug o grandi sogni, contatta e fai sentire la tua voce."
#: bookwyrm/templates/about/about.html:95
msgid "Meet your admins"
-msgstr ""
+msgstr "Incontra gli amministratori"
#: bookwyrm/templates/about/about.html:98
#, python-format
msgid "\n"
" %(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior.\n"
" "
-msgstr ""
+msgstr "\n"
+"I moderatori e gli amministratori di %(site_name)s mantengono il sito attivo e funzionante, applicano il codice di condotta, e rispondono quando gli utenti segnalano spam o comportamenti non adeguati.\n"
+" "
#: bookwyrm/templates/about/about.html:112
msgid "Moderator"
-msgstr ""
+msgstr "Moderatori"
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -324,15 +381,15 @@ msgstr "Codice di comportamento"
#: bookwyrm/templates/about/layout.html:11
msgid "Active users:"
-msgstr ""
+msgstr "Utenti Attivi:"
#: bookwyrm/templates/about/layout.html:15
msgid "Statuses posted:"
-msgstr ""
+msgstr "Stati pubblicati:"
#: bookwyrm/templates/about/layout.html:19
msgid "Software version:"
-msgstr ""
+msgstr "Versione del software:"
#: bookwyrm/templates/about/layout.html:30
#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229
@@ -406,7 +463,7 @@ msgstr "Quando rendi la tua pagina privata, la vecchia chiave non darà più acc
#: bookwyrm/templates/annual_summary/layout.html:112
#, python-format
msgid "Sadly %(display_name)s didn’t finish any books in %(year)s"
-msgstr ""
+msgstr "Purtroppo %(display_name)s non ha completato nessun libro nel %(year)s"
#: bookwyrm/templates/annual_summary/layout.html:118
#, python-format
@@ -492,61 +549,61 @@ msgstr "Tutti i libri %(display_name)s letti nel %(year)s"
msgid "Edit Author"
msgstr "Modifica autore"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Dettagli autore"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Alias:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Nascita:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Morte:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Collegamenti esterni"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Visualizza record ISNI"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Carica dati"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Visualizza su OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Visualizza su Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Visualizza su LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Visualizza su Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Libri di %(name)s"
@@ -576,7 +633,9 @@ msgid "Metadata"
msgstr "Metadati"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Nome:"
@@ -630,16 +689,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -647,17 +708,20 @@ msgstr "Salva"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Cancella"
@@ -726,39 +790,35 @@ msgstr "Una diversa edizione di questo libro è su
msgid "Your reading activity"
msgstr "Le tue attività di lettura"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Aggiungi data di lettura"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Crea"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Non hai alcuna attività di lettura per questo libro."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "Le tue recensioni"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "I tuoi commenti"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "Le tue citazioni"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Argomenti"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Luoghi"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -768,11 +828,11 @@ msgstr "Luoghi"
msgid "Lists"
msgstr "Elenchi"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Aggiungi all'elenco"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -817,39 +877,13 @@ msgstr "Anteprima copertina del libro"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Chiudi"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Elimina queste date di lettura?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr "Stai eliminando questa lettura e i suoi %(count)s aggiornamenti di avanzamento associati."
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Questa azione non può essere annullata"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Elimina"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -971,7 +1005,7 @@ msgid "Add Another Author"
msgstr "Aggiungi un altro autore"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Copertina"
@@ -1032,6 +1066,118 @@ msgstr "Lingua:"
msgid "Search editions"
msgstr "Ricerca edizioni"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr "Aggiungi collegamento al file"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr "I link da domini sconosciuti dovranno essere approvati da un moderatore prima di essere aggiunti."
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr "URL:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr "Tipo di file:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr "Disponibilità:"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr "Modifica collegamenti"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr "\n"
+" Link per \"%(title)s\"\n"
+" "
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr "URL"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr "Aggiunto da"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr "Tipo di file"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Dominio"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Stato"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Azioni"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr "Segnala come spam"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr "Nessun collegamento disponibile per questo libro."
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr "Aggiungi collegamento al file"
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr "Collegamenti ai file"
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr "Ottieni una copia"
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr "Nessun collegamento disponibile"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr "Esci da BookWyrm"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr "Questo link ti sta portando a: %(link_url)s
.
È qui che vuoi andare?"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr "Continua"
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1066,35 +1212,6 @@ msgstr "Pubblicato da %(publisher)s."
msgid "rated it"
msgstr "Valuta"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Aggiornamento progressi:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "completato"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Mostra tutti gli aggiornamenti"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Elimina questo aggiornamento"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "iniziato"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Modifica data di lettura"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Elimina queste date di lettura"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1131,8 +1248,8 @@ msgstr "Codice di conferma:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Invia"
@@ -1172,7 +1289,7 @@ msgstr "Comunità federata"
#: bookwyrm/templates/directory/directory.html:9
#: bookwyrm/templates/layout.html:100
msgid "Directory"
-msgstr "Cartella"
+msgstr "Directory"
#: bookwyrm/templates/directory/directory.html:17
msgid "Make your profile discoverable to other BookWyrm users."
@@ -1180,7 +1297,7 @@ msgstr "Rendi il tuo profilo visibile ad altri utenti di BookWyrm."
#: bookwyrm/templates/directory/directory.html:21
msgid "Join Directory"
-msgstr "Entra nella Cartella"
+msgstr "Iscriviti alla Directory"
#: bookwyrm/templates/directory/directory.html:24
#, python-format
@@ -1476,39 +1593,6 @@ msgstr "I Tuoi Libri"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Non ci sono libri qui in questo momento! Prova a cercare un libro per iniziare"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Da leggere"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Letture correnti"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Leggi"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1540,6 +1624,30 @@ msgstr "Hai letto %(book_title)s?"
msgid "Add to your books"
msgstr "Aggiungi ai tuoi libri"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Da leggere"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Letture correnti"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Letti"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "Cosa stai leggendo?"
@@ -1673,6 +1781,23 @@ msgstr "Gestito da %(username)s"
msgid "Delete this group?"
msgstr "Eliminare questo gruppo?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Questa azione non può essere annullata"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Elimina"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Modifica gruppo"
@@ -1691,7 +1816,7 @@ msgstr "Elimina gruppo"
#: bookwyrm/templates/groups/group.html:22
msgid "Members of this group can create group-curated lists."
-msgstr ""
+msgstr "I membri di questo gruppo possono creare liste curate dal gruppo."
#: bookwyrm/templates/groups/group.html:27
#: bookwyrm/templates/lists/create_form.html:5
@@ -1753,7 +1878,7 @@ msgstr "Gestisci"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importa libri"
@@ -1841,8 +1966,8 @@ msgid "Row"
msgstr "Riga"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Titolo"
@@ -1855,8 +1980,8 @@ msgid "Openlibrary key"
msgstr "Chiave OpenLibrary"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autore"
@@ -1871,19 +1996,10 @@ msgid "Review"
msgstr "Recensione"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Libro"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Stato"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Anteprima di importazione non disponibile."
@@ -1923,6 +2039,7 @@ msgstr "Approvare un suggerimento aggiungerà in modo permanente il libro sugger
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Approvato"
@@ -1931,8 +2048,8 @@ msgid "Reject"
msgstr "Rifiutato"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Puoi scaricare i tuoi dati Goodreads dalla pagina Importa/Esportazione del tuo account Goodreads."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr "Puoi scaricare i tuoi dati Goodreads dalla pagina \"Importa/Esporta\" del tuo account Goodreads."
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1976,7 +2093,7 @@ msgstr "Permesso negato"
msgid "Sorry! This invite code is no longer valid."
msgstr "Spiacenti! Questo invito non è più valido."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Libri recenti"
@@ -2270,6 +2387,7 @@ msgid "List position"
msgstr "Posizione elenco"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Imposta"
@@ -2735,23 +2853,94 @@ msgstr "Inizia \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Vuoi leggere \"%(book_title)s \" \""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Elimina queste date di lettura?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Stai eliminando questa lettura e i suoi %(count)s aggiornamenti di avanzamento associati."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Aggiorna date di lettura per \"%(title)s\""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Inizia la lettura"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Avanzamento"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Finito di leggere"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Aggiornamento progressi:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "completato"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Mostra tutti gli aggiornamenti"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Elimina questo aggiornamento"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "iniziato"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Modifica data di lettura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Elimina queste date di lettura"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Aggiungi date di lettura per \"%(title)s\""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Report"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Risultati da"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importa libro"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Carica i risultati da altri cataloghi"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Aggiungi manualmente un libro"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Accedi per importare o aggiungere libri."
@@ -2807,13 +2996,13 @@ msgstr "Falso"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Data d'inizio:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Data di fine:"
@@ -2841,7 +3030,7 @@ msgstr "Data evento:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Annunci"
@@ -2881,7 +3070,7 @@ msgid "Dashboard"
msgstr "Dashboard"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Totale utenti"
@@ -2908,36 +3097,43 @@ msgstr[1] "%(display_count)s reports aperti"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] "%(display_count)s dominio necessita di una revisione"
+msgstr[1] "%(display_count)s domini necessitano di una revisione"
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s richiesta d'invito"
msgstr[1] "%(display_count)s richieste d'invito"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Attività di Istanza"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervallo:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Giorni"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Settimane"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Attività di registrazione dell'utente"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Attività di stato"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Opere create"
@@ -2972,10 +3168,6 @@ msgstr "Lista email bloccate"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Quando qualcuno tenta di registrarsi con un'email da questo dominio, non verrà creato alcun account. Il processo di registrazione apparirà aver funzionato."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Dominio"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3087,12 +3279,8 @@ msgstr "Modifica"
msgid "No notes"
msgstr "Nessuna nota"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Azioni"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Blocca"
@@ -3305,62 +3493,113 @@ msgstr "Moderazione"
msgid "Reports"
msgstr "Reports"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr "Link ai domini"
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Impostazioni dell'istanza"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Impostazioni Sito"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Report #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr "Imposta il nome visualizzato per %(url)s"
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr "I collegamenti a domini devono essere approvati prima di essere visualizzati nelle pagine dei libri. Si prega di assicurarsi che i domini non ospitino spam, codice dannoso o link ingannevoli prima dell'approvazione."
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr "Imposta nome visualizzato"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr "Visualizza collegamenti"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr "Nessun dominio attualmente approvato"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr "Nessun dominio attualmente in attesa"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr "Nessun dominio attualmente bloccato"
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr "Nessun collegamento disponibile per questo libro."
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Tornare all'elenco dei report"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Stati segnalati"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "Lo stato è stato eliminato"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr "Collegamenti segnalati"
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Commenti del moderatore"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Commenta"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Stati segnalati"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr "Report #%(report_id)s: Stato pubblicato da @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Nessuno stato segnalato"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr "Report #%(report_id)s: Collegamento aggiunto da @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "Lo stato è stato eliminato"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr "Report #%(report_id)s: %(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr "Domini bloccati"
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Nessuna nota disponibile"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
+msgid "Reported by @%(username)s"
msgstr "Segnalato da %(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Riapri"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Risolvi"
@@ -3488,7 +3727,7 @@ msgid "Invite request text:"
msgstr "Testo della richiesta di invito:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Elimina definitivamente utente"
@@ -3598,15 +3837,19 @@ msgstr "Visualizza istanza"
msgid "Permanently deleted"
msgstr "Elimina definitivamente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr "Azioni dell'utente"
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Sospendere utente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Annulla sospensione utente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Livello di accesso:"
@@ -3618,50 +3861,56 @@ msgstr "Crea Scaffale"
msgid "Edit Shelf"
msgstr "Modifica Scaffale"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Profilo utente"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Tutti i libri"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crea scaffale"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s libro"
msgstr[1] "%(formatted_count)s libri"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(mostra %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Modifica scaffale"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Elimina scaffale"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Scaffali"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Iniziato"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Completato"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Questo scaffale è vuoto."
@@ -3766,14 +4015,6 @@ msgstr "Includi avviso spoiler"
msgid "Comment:"
msgstr "Commenta:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privata"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Pubblica"
@@ -3822,38 +4063,38 @@ msgstr "Non piace"
msgid "Filters"
msgstr "Filtri"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Filtri applicati"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Rimuovi filtri"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Applica filtri"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Segui %(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Segui"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Annulla richiesta di seguire"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Smetti di seguire %(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Smetti di seguire"
@@ -3898,15 +4139,15 @@ msgstr[1] "valutato %(title)s: %(display_ratin
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Recensione di \"%(book_title)s\" (%(display_rating)s stella): %(review_title)s"
-msgstr[1] "Recensione di \"%(book_title)s\" (%(display_rating)s stelle): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] "Recensione di \"%(book_title)s\" (%(display_rating)s stella): %(review_title)s"
+msgstr[1] "Recensione di \"%(book_title)s\" (%(display_rating)s stelle): %(review_title)s"
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Recensione di \"%(book_title)s\": %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr "Recensione di \"%(book_title)s\": %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3967,20 +4208,6 @@ msgstr "Precedente"
msgid "Next"
msgstr "Successivo"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Pubblico"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Non in lista"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Solo Followers"
@@ -3990,12 +4217,6 @@ msgstr "Solo Followers"
msgid "Post privacy"
msgstr "Privacy dei post"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Followers"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Lascia una recensione"
@@ -4009,17 +4230,6 @@ msgstr "Vota"
msgid "Finish \"%(book_title)s\""
msgstr "Termina \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Inizia la lettura"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Finito di leggere"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Opzionale)"
@@ -4039,29 +4249,35 @@ msgstr "Inizia \"%(book_title)s \""
msgid "Want to Read \"%(book_title)s\""
msgstr "Vuoi leggere \"%(book_title)s \""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Avanzamento"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Iscriviti"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Report"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr "Segnala lo stato di%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr "Segnala il link %(domain)s"
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Report%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Questo report verrà inviato ai moderatori di %(site_name)s per la revisione."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr "I collegamenti da questo dominio verranno rimossi fino a quando il rapporto non sarà stato rivisto."
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Maggiori informazioni su questo report:"
@@ -4069,13 +4285,13 @@ msgstr "Maggiori informazioni su questo report:"
msgid "Move book"
msgstr "Sposta libro"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Inizia la lettura"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4099,29 +4315,29 @@ msgstr "Rimuovi da %(name)s"
msgid "Finish reading"
msgstr "Finito di leggere"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Avviso sul contenuto"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Mostra stato"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Pagina %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Apri immagine in una nuova finestra"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Nascondi lo stato"
@@ -4130,7 +4346,12 @@ msgstr "Nascondi lo stato"
msgid "edited %(date)s"
msgstr "modificato il %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "commento su %(book)s di %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "commento su %(book)s"
@@ -4140,7 +4361,12 @@ msgstr "commento su %(book)s"
msgid "replied to %(username)s's status"
msgstr "ha risposto allo statodi %(username)s"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "citazione da %(book)s di %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "citato %(book)s"
@@ -4150,25 +4376,45 @@ msgstr "citato %(book)s"
msgid "rated %(book)s:"
msgstr "valutato %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "lettura del libro %(book)s di %(author_name)s completata"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "lettura di %(book)s completata"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "lettura del libro %(book)s di %(author_name)s iniziata"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "hai iniziato a leggere %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "recensito %(book)s di %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "recensito %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s vuole leggere %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "da leggere %(book)s da %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "da leggere %(book)s"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4214,11 +4460,11 @@ msgstr "Mostra di più"
msgid "Show less"
msgstr "Mostra meno"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "I tuoi libri"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "Libri di %(username)s"
@@ -4333,7 +4579,7 @@ msgstr "Ancora nessuna attività!"
#: bookwyrm/templates/user/user_preview.html:22
#, python-format
msgid "Joined %(date)s"
-msgstr "Unisciti a %(date)s"
+msgstr "Registrato %(date)s"
#: bookwyrm/templates/user/user_preview.html:26
#, python-format
diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo
index 71f60a0d..9357a52b 100644
Binary files a/locale/lt_LT/LC_MESSAGES/django.mo and b/locale/lt_LT/LC_MESSAGES/django.mo differ
diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po
index 331dfb8c..838f9051 100644
--- a/locale/lt_LT/LC_MESSAGES/django.po
+++ b/locale/lt_LT/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 02:52\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 19:57\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Lithuanian\n"
"Language: lt\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Vartotojas su šiuo el. pašto adresu jau yra."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Diena"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Savaitė"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Mėnuo"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Galiojimas nesibaigia"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} naudoja"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Neribota"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Kaip pridėta į sąrašą"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Knygos antraštė"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Įvertinimas"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Rūšiuoti pagal"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Didėjančia tvarka"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Mažėjančia tvarka"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr ""
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Klaida įkeliant knygą"
@@ -80,8 +84,9 @@ msgstr "Klaida įkeliant knygą"
msgid "Could not find a match for book"
msgstr "Nepavyko rasti tokios knygos"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Laukiama"
@@ -101,23 +106,23 @@ msgstr "Moderatorius ištrynė"
msgid "Domain block"
msgstr "Blokuoti pagal domeną"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Audioknyga"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "Elektroninė knyga"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Grafinė novelė"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Knyga kietais viršeliais"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Knyga minkštais viršeliais"
@@ -127,10 +132,11 @@ msgstr "Knyga minkštais viršeliais"
msgid "Federated"
msgstr "Susijungę"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Užblokuota"
@@ -153,7 +159,56 @@ msgstr "naudotojo vardas"
msgid "A user with that username already exists."
msgstr "Toks naudotojo vardas jau egzistuoja."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Viešas"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Slaptas"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Sekėjai"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privatu"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr ""
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr ""
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr ""
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr ""
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Apžvalgos"
@@ -169,69 +224,69 @@ msgstr "Citatos"
msgid "Everything else"
msgstr "Visa kita"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Pagrindinė siena"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Pagrindinis"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Knygų siena"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Knygos"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Anglų)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch (Vokiečių)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (Ispanų)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (galisų)"
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr ""
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Prancūzų)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių"
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr ""
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português brasileiro (Brazilijos portugalų)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Europos portugalų)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Supaprastinta kinų)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Tradicinė kinų)"
@@ -268,7 +323,7 @@ msgstr "Sveiki atvykę į %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
msgstr ""
#: bookwyrm/templates/about/about.html:39
@@ -310,7 +365,7 @@ msgid "Admin"
msgstr "Administravimas"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -500,61 +555,61 @@ msgstr "Visos %(display_name)s %(year)s metais perskaitytos knygos"
msgid "Edit Author"
msgstr "Keisti autorių"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Informacija apie autorių"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Pseudonimai:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Gimęs:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Mirė:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Išorinės nuorodos"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Peržiūrėti ISNI įrašą"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Įkelti duomenis"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Žiūrėti „OpenLibrary“"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Žiūrėti „Inventaire“"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Žiūrėti „LibraryThing“"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Žiūrėti „Goodreads“"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "%(name)s knygos"
@@ -584,7 +639,9 @@ msgid "Metadata"
msgstr "Meta duomenys"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Vardas:"
@@ -638,16 +695,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -655,17 +714,20 @@ msgstr "Išsaugoti"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Atšaukti"
@@ -736,39 +798,35 @@ msgstr "kitas šios knygos leidimas yra jūsų %(title)s\"\n"
+" "
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Domenas"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Būsena"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Veiksmai"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr ""
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1076,35 +1218,6 @@ msgstr "Publikavo %(publisher)s."
msgid "rated it"
msgstr "įvertino"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Informacija apie progresą:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "baigta"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Rodyti visus naujinius"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Ištrinti progreso naujinį"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "pradėta"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Redaguoti skaitymo datas"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Ištrinti šias skaitymo datas"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1141,8 +1254,8 @@ msgstr "Patvirtinimo kodas:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Siųsti"
@@ -1490,39 +1603,6 @@ msgstr "Jūsų knygos"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Knygų neturite. Raskite knygą ir pradėkite."
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Norimos perskaityti"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Šiuo metu skaitoma"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Perskaityta"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1554,6 +1634,30 @@ msgstr "Ar skaitėte „%(book_title)s“?"
msgid "Add to your books"
msgstr "Pridėti prie savo knygų"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Norimos perskaityti"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Šiuo metu skaitoma"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Perskaityta"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "Ką skaitome?"
@@ -1687,6 +1791,23 @@ msgstr "Tvarko %(username)s"
msgid "Delete this group?"
msgstr "Ištrinti šią grupę?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Nebegalite atšaukti šio veiksmo"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Ištrinti"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Redaguoti grupę"
@@ -1771,7 +1892,7 @@ msgstr "Vadovas"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importuoti knygas"
@@ -1863,8 +1984,8 @@ msgid "Row"
msgstr "Eilutė"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Pavadinimas"
@@ -1877,8 +1998,8 @@ msgid "Openlibrary key"
msgstr "„Openlibrary“ raktas"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autorius"
@@ -1893,19 +2014,10 @@ msgid "Review"
msgstr "Apžvalga"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Knyga"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Būsena"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Nepavyko įkelti peržiūros."
@@ -1945,6 +2057,7 @@ msgstr "Jei patvirtinsite siūlymą, siūloma knyga visam laikui bus įkelta į
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Patvirtinti"
@@ -1953,8 +2066,8 @@ msgid "Reject"
msgstr "Atmesti"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Galite atsisiųsti savo „Goodreads“ duomenis iš Importavimo ir eksportavimo puslapio, esančio jūsų „Goodreads“ paskyroje."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr ""
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1998,7 +2111,7 @@ msgstr "Prieiga draudžiama"
msgid "Sorry! This invite code is no longer valid."
msgstr "Deja, šis pakvietimo kodas nebegalioja."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Naujos knygos"
@@ -2292,6 +2405,7 @@ msgid "List position"
msgstr "Sąrašo pozicija"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Nustatyti"
@@ -2757,23 +2871,94 @@ msgstr "Pradėti „%(book_title)s“"
msgid "Want to Read \"%(book_title)s\""
msgstr "Noriu perskaityti „%(book_title)s“"
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Ištrinti šias skaitymo datas?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Trinate tai, kas perskaityta ir %(count)s susietų progreso naujinių."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Pradėjo skaityti"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Progresas"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Baigta skaityti"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Informacija apie progresą:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "baigta"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Rodyti visus naujinius"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Ištrinti progreso naujinį"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "pradėta"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Redaguoti skaitymo datas"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Ištrinti šias skaitymo datas"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Pranešti"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Rezultatai iš"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importuoti knygą"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Įkelti rezultatus iš kitų katalogų"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Pridėti knygą"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Prisijunkite, kad importuotumėte arba pridėtumėte knygas."
@@ -2829,13 +3014,13 @@ msgstr "Netiesa"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Pradžios data:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Pabaigos data:"
@@ -2863,7 +3048,7 @@ msgstr "Įvykio data:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Pranešimai"
@@ -2903,7 +3088,7 @@ msgid "Dashboard"
msgstr "Suvestinė"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Iš viso naudotojų"
@@ -2932,6 +3117,15 @@ msgstr[3] "%(display_count)s atvirų ataskaitų"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s prašymas pakviesti"
@@ -2939,31 +3133,31 @@ msgstr[1] "%(display_count)s prašymai pakviesti"
msgstr[2] "%(display_count)s prašymų pakviesti"
msgstr[3] "%(display_count)s prašymai pakviesti"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Serverio statistika"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervalas:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Dienos"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Savaitės"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Naudotojo prisijungimo veikla"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Būsenos"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Darbai sukurti"
@@ -2998,10 +3192,6 @@ msgstr "El. pašto blokavimo sąrašas"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Jei kažkas bandys registruotis prie šio domeno šiuo el. pašto adresu, paskyra nebus sukurta. Registracijos pricesas bus suveikęs."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Domenas"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3115,12 +3305,8 @@ msgstr "Redaguoti"
msgid "No notes"
msgstr "Užrašų nėra"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Veiksmai"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Blokuoti"
@@ -3333,62 +3519,113 @@ msgstr "Moderavimas"
msgid "Reports"
msgstr "Pranešimai"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Serverio nustatymai"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Puslapio nustatymai"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Pranešti apie #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Atgal į pranešimus"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Praneštos būsenos"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "Būsena ištrinta"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Moderatoriaus komentarai"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Komentuoti"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Praneštos būsenos"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Nepranešta apie būsenas"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "Būsena ištrinta"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Užrašų nepateikta"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Pranešė %(username)s"
+msgid "Reported by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Atidaryti pakartotinai"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Išspręsti"
@@ -3516,7 +3753,7 @@ msgid "Invite request text:"
msgstr "Kvietimo prašymo tekstas:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Visam laikui ištrinti vartotoją"
@@ -3626,15 +3863,19 @@ msgstr "Peržiūrėti serverį"
msgid "Permanently deleted"
msgstr "Visam laikui ištrintas"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr ""
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Laikinai išjungti vartotoją"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Atblokuoti narį"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Priėjimo lygis:"
@@ -3646,15 +3887,21 @@ msgstr "Sukurti lentyną"
msgid "Edit Shelf"
msgstr "Redaguoti lentyną"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr ""
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Visos knygos"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Sukurti lentyną"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
@@ -3663,35 +3910,35 @@ msgstr[1] "%(formatted_count)s knygos"
msgstr[2] "%(formatted_count)s knygų"
msgstr[3] "%(formatted_count)s knygos"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(rodoma %(start)s–%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Redaguoti lentyną"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Ištrinti lentyną"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Sudėta į lentynas"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Pradėta"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Baigta"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Ši lentyna tuščia."
@@ -3798,14 +4045,6 @@ msgstr "Įdėti įspėjimą apie turinio atskleidimą"
msgid "Comment:"
msgstr "Komentuoti:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privatu"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Publikuoti"
@@ -3854,38 +4093,38 @@ msgstr "Nebemėgti"
msgid "Filters"
msgstr "Filtrai"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Taikyti filtrai"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Valyti filtrus"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Taikyti filtrus"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Sekti @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Sekti"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Atšaukti prašymus sekti"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Nebesekti @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Nebesekti"
@@ -3938,17 +4177,17 @@ msgstr[3] "įvertinta %(title)s: %(display_rat
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Knygos „%(book_title)s“ (%(display_rating)s žvaigždutė) apžvalga: %(review_title)s"
-msgstr[1] "Knygos „%(book_title)s“ (%(display_rating)s žvaigždutės) apžvalga: %(review_title)s"
-msgstr[2] "Knygos „%(book_title)s“ (%(display_rating)s žvaigždutės) apžvalga: %(review_title)s"
-msgstr[3] "Knygos „%(book_title)s“ (%(display_rating)s žvaigždutės) apžvalga: %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Knygos „%(book_title)s“ apžvalga: %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr ""
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -4009,20 +4248,6 @@ msgstr "Ankstesnis"
msgid "Next"
msgstr "Kitas"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Viešas"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Slaptas"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Tik sekėjai"
@@ -4032,12 +4257,6 @@ msgstr "Tik sekėjai"
msgid "Post privacy"
msgstr "Įrašo privatumas"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Sekėjai"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Palikti įvertinimą"
@@ -4051,17 +4270,6 @@ msgstr "Įvertinti"
msgid "Finish \"%(book_title)s\""
msgstr "Užbaigti „%(book_title)s“"
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Pradėta skaityti"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Baigta skaityti"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Nebūtina)"
@@ -4081,29 +4289,35 @@ msgstr "Pradėti „%(book_title)s“"
msgid "Want to Read \"%(book_title)s\""
msgstr "Noriu perskaityti „%(book_title)s“"
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Progresas"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Registruotis"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Pranešti"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Pranešti apie @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Šis pranešimas bus nusiųstas peržiūrėti %(site_name)s puslapio moderatoriams."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Daugiau informacijos apie šį pranešimą:"
@@ -4111,13 +4325,13 @@ msgstr "Daugiau informacijos apie šį pranešimą:"
msgid "Move book"
msgstr "Perkelti knygą"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Pradėti skaityti"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4141,29 +4355,29 @@ msgstr "Pašalinti iš %(name)s"
msgid "Finish reading"
msgstr "Baigti skaityti"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Įspėjimas dėl turinio"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Rodyti būseną"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Psl. %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Atidaryti paveikslėlį naujame lange"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Slėpti būseną"
@@ -4172,7 +4386,12 @@ msgstr "Slėpti būseną"
msgid "edited %(date)s"
msgstr "redaguota %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "pakomentavo %(book)s"
@@ -4182,7 +4401,12 @@ msgstr "pakomentavo %(book)s"
msgid "replied to %(username)s's status"
msgstr "atsakė į %(username)s statusą"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "pacitavo %(book)s"
@@ -4192,25 +4416,45 @@ msgstr "pacitavo %(book)s"
msgid "rated %(book)s:"
msgstr "įvertino %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "pabaigė skaityti %(author_name)s autoriaus knygą %(book)s"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "baigė skaityti %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "pradėjo skaityti %(author_name)s autoriaus knygą %(book)s"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "pradėjo skaityti %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "apžvelgė %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s nori perskaityti %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr ""
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4256,11 +4500,11 @@ msgstr "Rodyti daugiau"
msgid "Show less"
msgstr "Rodyti mažiau"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Jūsų knygos"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "%(username)s – knygos"
diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo
index c6b14d2a..bffbfa4f 100644
Binary files a/locale/no_NO/LC_MESSAGES/django.mo and b/locale/no_NO/LC_MESSAGES/django.mo differ
diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po
index 9f917de6..a17a94d9 100644
--- a/locale/no_NO/LC_MESSAGES/django.po
+++ b/locale/no_NO/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 11:36\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 19:57\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Norwegian\n"
"Language: no\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Den e-postadressen er allerede registrert."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Én dag"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Én uke"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Én måned"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Uendelig"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} ganger"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Ubegrenset"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Liste rekkefølge"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Boktittel"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Vurdering"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Sorter etter"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Stigende"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Synkende"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "Sluttdato kan ikke være før startdato."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Feilet ved lasting av bok"
@@ -80,8 +84,9 @@ msgstr "Feilet ved lasting av bok"
msgid "Could not find a match for book"
msgstr "Fant ikke den boka"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Avventer"
@@ -101,23 +106,23 @@ msgstr "Moderatør sletting"
msgid "Domain block"
msgstr "Domeneblokkering"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Lydbok"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "e-bok"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Tegneserie"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Innbundet"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Paperback"
@@ -127,10 +132,11 @@ msgstr "Paperback"
msgid "Federated"
msgstr "Føderert"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Blokkert"
@@ -153,7 +159,56 @@ msgstr "brukernavn"
msgid "A user with that username already exists."
msgstr "En bruker med det brukernavnet eksisterer allerede."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Offentlig"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Uoppført"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Følgere"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privat"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr ""
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr ""
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr ""
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr ""
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Anmeldelser"
@@ -169,69 +224,69 @@ msgstr "Sitater"
msgid "Everything else"
msgstr "Andre ting"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Lokal tidslinje"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Hjem"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Boktidslinja"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Bøker"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Engelsk)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch (Tysk)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (Spansk)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Gallisk)"
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr "Italiano (Italiensk)"
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Fransk)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Litauisk)"
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norsk)"
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português - Brasil (Brasiliansk portugisisk)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Europeisk Portugisisk)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Forenklet kinesisk)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Tradisjonelt kinesisk)"
@@ -268,8 +323,8 @@ msgstr "Velkommen til %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr "%(site_name)s er en del av BookWyrm, et nettverk av selvstendige, selvstyrte samfunn for lesere. Du kan kommunisere sømløst med brukere hvor som helst i BookWyrm nettverket, men hvert samfunn er unikt."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr ""
#: bookwyrm/templates/about/about.html:39
#, python-format
@@ -312,7 +367,7 @@ msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -494,61 +549,61 @@ msgstr "Alle bøkene %(display_name)s leste i %(year)s"
msgid "Edit Author"
msgstr "Rediger forfatter"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Detaljer om forfatter"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Kallenavn:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Født:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Død:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Eksterne lenker"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipedia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Vis ISNI -oppføring"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Last inn data"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Vis på OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Vis på Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Vis på LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Vis på Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Bøker av %(name)s"
@@ -578,7 +633,9 @@ msgid "Metadata"
msgstr "Metadata"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Navn:"
@@ -632,16 +689,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -649,17 +708,20 @@ msgstr "Lagre"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Avbryt"
@@ -728,39 +790,35 @@ msgstr "En annen utgave av denne boken ligger i hy
msgid "Your reading activity"
msgstr "Din leseaktivitet"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Legg til lesedatoer"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Opprett"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Du har ikke lagt inn leseaktivitet for denne boka."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "Dine anmeldelser"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Dine kommentarer"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "Dine sitater"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Emner"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Steder"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -770,11 +828,11 @@ msgstr "Steder"
msgid "Lists"
msgstr "Lister"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Legg til i liste"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -819,39 +877,13 @@ msgstr "Bokomslag forhåndsvisning"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Lukk"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Slette disse lesedatoene?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr "Du sletter denne gjennomlesninga og %(count)s tilknyttede fremdriftsoppdateringer."
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Denne handlingen er endelig"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Slett"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -973,7 +1005,7 @@ msgid "Add Another Author"
msgstr "Legg til enda en forfatter"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Omslag"
@@ -1034,6 +1066,116 @@ msgstr "Språk:"
msgid "Search editions"
msgstr "Søk etter utgaver"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Domene"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Status"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Handlinger"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr ""
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1068,35 +1210,6 @@ msgstr "Utgitt av %(publisher)s."
msgid "rated it"
msgstr "vurderte den"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Fremdriftsoppdateringer:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "ferdig"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Vis alle oppdateringer"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Slett denne fremgangsoppdateringen"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "startet"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Rediger lesedatoer"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Slett disse lesedatoene"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1133,8 +1246,8 @@ msgstr "Bekreftelseskode:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Send inn"
@@ -1478,39 +1591,6 @@ msgstr "Bøkene dine"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Det er ingen bøker her nå! Prøv å søke etter en bok for å komme i gang"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Å lese"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Leser nå"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Lest"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1542,6 +1622,30 @@ msgstr "Har du lest %(book_title)s?"
msgid "Add to your books"
msgstr "Legg til i bøkene dine"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Å lese"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Leser nå"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Lest"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "Hva er det du leser nå?"
@@ -1675,6 +1779,23 @@ msgstr "Forvaltet av %(username)s"
msgid "Delete this group?"
msgstr "Slette denne gruppa?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Denne handlingen er endelig"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Slett"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Rediger gruppe"
@@ -1755,7 +1876,7 @@ msgstr "Forvalter"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importer bøker"
@@ -1843,8 +1964,8 @@ msgid "Row"
msgstr "Rad"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Tittel"
@@ -1857,8 +1978,8 @@ msgid "Openlibrary key"
msgstr "Openlibrary nøkkel"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Forfatter"
@@ -1873,19 +1994,10 @@ msgid "Review"
msgstr "Anmeldelse"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Bok"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Status"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Forhåndsvisning av import er ikke tilgjengelig."
@@ -1925,6 +2037,7 @@ msgstr "Aksept av et forslag legger boka til i hyllene dine permanent, og kobler
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Godkjenn"
@@ -1933,8 +2046,8 @@ msgid "Reject"
msgstr "Avslå"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Du kan laste ned Goodread-dataene fra Import/Export sida på Goodread-kontoen din."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr ""
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1978,7 +2091,7 @@ msgstr "Tilgang nektet"
msgid "Sorry! This invite code is no longer valid."
msgstr "Beklager! Denne invitasjonskoden er ikke lenger gyldig."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Nylige bøker"
@@ -2272,6 +2385,7 @@ msgid "List position"
msgstr "Listeposisjon"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Bruk"
@@ -2737,23 +2851,94 @@ msgstr "Start \"%(book_title)s"
msgid "Want to Read \"%(book_title)s\""
msgstr "Ønsker å lese \"%(book_title)s\""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Slette disse lesedatoene?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Du sletter denne gjennomlesninga og %(count)s tilknyttede fremdriftsoppdateringer."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Oppdatér lesedatoer for \"%(title)s\""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Begynte å lese"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Fremdrift"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Leste ferdig"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Fremdriftsoppdateringer:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "ferdig"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Vis alle oppdateringer"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Slett denne fremgangsoppdateringen"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "startet"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Rediger lesedatoer"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Slett disse lesedatoene"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Legg til lesedatoer for \"%(title)s\""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Rapport"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Resultat fra"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importer bok"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Last resultater fra andre kataloger"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Legg til bok manuelt"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Logg på for å importere eller legge til bøker."
@@ -2809,13 +2994,13 @@ msgstr "Usant"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Startdato:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Sluttdato:"
@@ -2843,7 +3028,7 @@ msgstr "Dato for hendelsen:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Kunngjøringer"
@@ -2883,7 +3068,7 @@ msgid "Dashboard"
msgstr "Kontrollpanel"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Totalt antall brukere"
@@ -2910,36 +3095,43 @@ msgstr[1] "%(display_count)s åpne rapporter"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s invitasjonsforespørsel"
msgstr[1] "%(display_count)s invitasjonsforespørsler"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Instansaktivitet"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervall:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Dager"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Uker"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Brukerregistreringsaktivitet"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Statusaktivitet"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Verker laget"
@@ -2974,10 +3166,6 @@ msgstr "E-post blokkeringsliste"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Når noen prøver å registrere seg med en e-post fra dette domenet, vil ingen konto bli opprettet, men registreringsprosessen vil se ut til å ha virket."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Domene"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3089,12 +3277,8 @@ msgstr "Rediger"
msgid "No notes"
msgstr "Ingen notater"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Handlinger"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Blokkér"
@@ -3307,62 +3491,113 @@ msgstr "Moderering"
msgid "Reports"
msgstr "Rapporter"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Instansdetaljer"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Sideinnstillinger"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Rapport #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Tilbake til rapporter"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Rapporterte statuser"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "Status er slettet"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Moderatorkommentarer"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Kommentar"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Rapporterte statuser"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Ingen statuser rapportert"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "Status er slettet"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Ingen merknader finnes"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Rapportert av %(username)s"
+msgid "Reported by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Gjenåpne"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Løs"
@@ -3490,7 +3725,7 @@ msgid "Invite request text:"
msgstr "Invitasjonsforespørsel tekst:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Slett medlem for godt"
@@ -3600,15 +3835,19 @@ msgstr "Vis instans"
msgid "Permanently deleted"
msgstr "Slettet for godt"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr ""
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Deaktiver bruker"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Reaktivér bruker"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Tilgangsnivå:"
@@ -3620,50 +3859,56 @@ msgstr "Lag hylle"
msgid "Edit Shelf"
msgstr "Rediger hylle"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Brukerprofil"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Alle bøker"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Lag hylle"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s bok"
msgstr[1] "%(formatted_count)s bøker"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(viser %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Rediger hylle"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Slett hylle"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Lagt på hylla"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Startet"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Fullført"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Denne hylla er tom."
@@ -3768,14 +4013,6 @@ msgstr "Inkluder spoiler-varsel"
msgid "Comment:"
msgstr "Kommentar:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privat"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Innlegg"
@@ -3824,38 +4061,38 @@ msgstr "Fjern lik"
msgid "Filters"
msgstr "Filtre"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Filtrert visning"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Tøm filtre"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Bruk filtre"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Følg %(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Følg"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Angre følgeforespørsel"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Slutt å følge @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Slutt å følge"
@@ -3900,15 +4137,15 @@ msgstr[1] "vurderte %(title)s til: %(display_r
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Anmeldelse av \"%(book_title)s\" (%(display_rating)s stjerne): %(review_title)s"
-msgstr[1] "Anmeldelse av \"%(book_title)s\" (%(display_rating)s stjerner): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] ""
+msgstr[1] ""
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Anmeldelse av \"%(book_title)s\": %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr ""
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3969,20 +4206,6 @@ msgstr "Forrige"
msgid "Next"
msgstr "Neste"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Offentlig"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Uoppført"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Kun følgere"
@@ -3992,12 +4215,6 @@ msgstr "Kun følgere"
msgid "Post privacy"
msgstr "Delingsinstilling for post"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Følgere"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Legg inn en vurdering"
@@ -4011,17 +4228,6 @@ msgstr "Vurdér"
msgid "Finish \"%(book_title)s\""
msgstr "Fullfør \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Begynte å lese"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Leste ferdig"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Valgfritt)"
@@ -4041,29 +4247,35 @@ msgstr "Start \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Har lyst til å lese \"%(book_title)s\""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Fremdrift"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Registrer deg"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Rapport"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Rapporter @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Denne rapporten vil bli sendt til %(site_name)s sine moderatorer for gjennomsyn."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Mer informasjon om denne rapporten:"
@@ -4071,13 +4283,13 @@ msgstr "Mer informasjon om denne rapporten:"
msgid "Move book"
msgstr "Flytt bok"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Begynn å lese"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4101,29 +4313,29 @@ msgstr "Fjern fra %(name)s"
msgid "Finish reading"
msgstr "Fullfør lesing"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Varsel om følsomt innhold"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Vis status"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(side %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Åpne bilde i nytt vindu"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Skjul status"
@@ -4132,7 +4344,12 @@ msgstr "Skjul status"
msgid "edited %(date)s"
msgstr "endret %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "kommenterte på %(book)s av %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "kommenterte på %(book)s"
@@ -4142,7 +4359,12 @@ msgstr "kommenterte på %(book)s"
msgid "replied to %(username)s's status"
msgstr "svarte på %(username)s sin status"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "sitert %(book)s av %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "siterte %(book)s"
@@ -4152,25 +4374,45 @@ msgstr "siterte %(book)s"
msgid "rated %(book)s:"
msgstr "vurderte %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "leste ferdig %(book)s av %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "leste ferdig %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "begynte å lese %(book)s av %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "begynte å lese %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "anmeldte %(book)s av %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "anmeldte %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s ønsker å lese %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "ønsker å lese %(book)s av %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "ønsker å lese %(book)s"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4216,11 +4458,11 @@ msgstr "Vis mer"
msgid "Show less"
msgstr "Vis mindre"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Dine bøker"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "%(username)s sine bøker"
diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo
index 21305088..543f1b25 100644
Binary files a/locale/pt_BR/LC_MESSAGES/django.mo and b/locale/pt_BR/LC_MESSAGES/django.mo differ
diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po
index 0c6698a4..432f8e6a 100644
--- a/locale/pt_BR/LC_MESSAGES/django.po
+++ b/locale/pt_BR/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 02:53\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-18 14:10\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Já existe um usuário com este endereço de e-mail."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Um dia"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Uma semana"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Um mês"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Não expira"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} usos"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Ilimitado"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Ordem de inserção"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Título do livro"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Avaliação"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Organizar por"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Crescente"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Decrescente"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr "A data de término da leitura não pode ser anterior a de início."
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Erro ao carregar livro"
@@ -80,8 +84,9 @@ msgstr "Erro ao carregar livro"
msgid "Could not find a match for book"
msgstr "Não foi possível encontrar o livro"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Pendente"
@@ -101,23 +106,23 @@ msgstr "Exclusão de moderador"
msgid "Domain block"
msgstr "Bloqueio de domínio"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Audiolivro"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "e-book"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Graphic novel"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Capa dura"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Capa mole"
@@ -127,10 +132,11 @@ msgstr "Capa mole"
msgid "Federated"
msgstr "Federado"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Bloqueado"
@@ -153,7 +159,56 @@ msgstr "nome de usuário"
msgid "A user with that username already exists."
msgstr "Já existe um usuário com este nome."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Público"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Não listado"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Seguidores"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Particular"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr "Gratuito"
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr "Comprável"
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr "Disponível para empréstimo"
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr "Aprovado"
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Resenhas"
@@ -169,69 +224,69 @@ msgstr "Citações"
msgid "Everything else"
msgstr "Todo o resto"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Linha do tempo"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Página inicial"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Linha do tempo dos livros"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Livros"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English (Inglês)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch (Alemão)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (Espanhol)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Galego)"
-#: bookwyrm/settings.py:199
-msgid "Italiano (Italian)"
-msgstr ""
-
#: bookwyrm/settings.py:200
+msgid "Italiano (Italian)"
+msgstr "Italiano (Italiano)"
+
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Francês)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituano)"
-#: bookwyrm/settings.py:202
-msgid "Norsk (Norwegian)"
-msgstr ""
-
#: bookwyrm/settings.py:203
+msgid "Norsk (Norwegian)"
+msgstr "Norsk (Norueguês)"
+
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Português do Brasil)"
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Português Europeu)"
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chinês simplificado)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinês tradicional)"
@@ -258,7 +313,7 @@ msgstr "Algo deu errado! Foi mal."
#: bookwyrm/templates/about/about.html:9
#: bookwyrm/templates/about/layout.html:35
msgid "About"
-msgstr ""
+msgstr "Sobre"
#: bookwyrm/templates/about/about.html:18
#: bookwyrm/templates/get_started/layout.html:20
@@ -268,49 +323,50 @@ msgstr "Bem-vindol(a) a %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr ""
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr "%(site_name)s é parte da BookWyrm, uma rede independente e autogestionada para leitores. Apesar de você poder interagir diretamente com usuários de toda a rede BookWyrm, esta comunidade é única."
#: bookwyrm/templates/about/about.html:39
#, python-format
msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
-msgstr ""
+msgstr "%(title)s é o livro favorito da instância %(site_name)s, com uma avaliação média de %(rating)s em 5."
#: bookwyrm/templates/about/about.html:58
#, python-format
msgid "More %(site_name)s users want to read %(title)s than any other book."
-msgstr ""
+msgstr "O livro mais desejado de toda a instância %(site_name)s é %(title)s."
#: bookwyrm/templates/about/about.html:77
#, python-format
msgid "%(title)s has the most divisive ratings of any book on %(site_name)s."
-msgstr ""
+msgstr "%(title)s tem a avaliação mais polêmica de toda a instância %(site_name)s."
#: bookwyrm/templates/about/about.html:88
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard."
-msgstr ""
+msgstr "Registre o andamento de suas leituras, fale sobre livros, escreva resenhas e ache o que ler em seguida. Sempre sem propagandas, anticorporativa e voltada à comunidade, a BookWyrm é um software em escala humana desenvolvido para permanecer pequeno e pessoal. Se você tem sugestões de funções, avisos sobre bugs ou grandes sonhos para o projeto, fale conosco e faça sua voz ser ouvida."
#: bookwyrm/templates/about/about.html:95
msgid "Meet your admins"
-msgstr ""
+msgstr "Conheça a administração"
#: bookwyrm/templates/about/about.html:98
#, python-format
msgid "\n"
" %(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior.\n"
" "
-msgstr ""
+msgstr "\n"
+" Moderadores/as e administradores/as da instância %(site_name)s mantêm o site em funcionamento, aplicam o código de conduta e respondem às denúncias de spam e mau comportamento na rede. "
#: bookwyrm/templates/about/about.html:112
msgid "Moderator"
-msgstr ""
+msgstr "Moderador/a"
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -324,15 +380,15 @@ msgstr "Código de conduta"
#: bookwyrm/templates/about/layout.html:11
msgid "Active users:"
-msgstr ""
+msgstr "Usuários ativos:"
#: bookwyrm/templates/about/layout.html:15
msgid "Statuses posted:"
-msgstr ""
+msgstr "Publicações:"
#: bookwyrm/templates/about/layout.html:19
msgid "Software version:"
-msgstr ""
+msgstr "Versão do software:"
#: bookwyrm/templates/about/layout.html:30
#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229
@@ -406,7 +462,7 @@ msgstr "Ao tornar a página particular, a chave antiga passa a não funcionar ma
#: bookwyrm/templates/annual_summary/layout.html:112
#, python-format
msgid "Sadly %(display_name)s didn’t finish any books in %(year)s"
-msgstr ""
+msgstr "Infelizmente %(display_name)s não terminou de ler nenhum livro em %(year)s"
#: bookwyrm/templates/annual_summary/layout.html:118
#, python-format
@@ -492,61 +548,61 @@ msgstr "Todos os livros lidos por %(display_name)s em %(year)s"
msgid "Edit Author"
msgstr "Editar autor/a"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Detalhes do/a autor/a"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Pseudônimos:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Nascimento:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Morte:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Links externos"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipédia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Ver registro ISNI"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Carregar informações"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Ver na OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Ver no Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Ver no LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Ver no Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Livros de %(name)s"
@@ -576,7 +632,9 @@ msgid "Metadata"
msgstr "Metadados"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Nome:"
@@ -630,16 +688,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -647,17 +707,20 @@ msgstr "Salvar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Cancelar"
@@ -726,39 +789,35 @@ msgstr "Uma edição diferente deste livro está e
msgid "Your reading activity"
msgstr "Andamento da sua leitura"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Adicionar registro de leitura"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Criar"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Você ainda não registrou sua leitura."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "Suas resenhas"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Seus comentários"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "Suas citações"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Assuntos"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Lugares"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -768,11 +827,11 @@ msgstr "Lugares"
msgid "Lists"
msgstr "Listas"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Adicionar à lista"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -817,39 +876,13 @@ msgstr "Pré-visualização da capa"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Fechar"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Excluir as datas de leitura?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr "Você está excluindo este registro de leitura e as %(count)s atualizações de andamento associadas."
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Esta ação não pode ser desfeita"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Excluir"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -971,7 +1004,7 @@ msgid "Add Another Author"
msgstr "Adicionar outro/a autor/a"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Capa"
@@ -1032,6 +1065,118 @@ msgstr "Idioma:"
msgid "Search editions"
msgstr "Procurar edições"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr "Adicionar link do arquivo"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr "Links de domínios desconhecidos precisarão ser aprovados por um/a moderador/a antes de serem adicionados."
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr "URL:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr "Tipo do arquivo:"
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr "Disponibilidade:"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr "Editar links"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr "\n"
+" Links de \"%(title)s\"\n"
+" "
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr "URL"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr "Adicionado por"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr "Tipo do arquivo"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Domínio"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Publicação"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Ações"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr "Denunciar spam"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr "Nenhum link disponível para este livro."
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr "Adicionar link ao arquivo"
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr "Links de arquivo"
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr "Obter uma cópia"
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr "Nenhum link disponível"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr "Saindo da BookWyrm"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr "Este link te levará a: %(link_url)s
.
Você quer mesmo ir?"
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr "Continuar"
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1066,35 +1211,6 @@ msgstr "Publicado por %(publisher)s."
msgid "rated it"
msgstr "avaliou este livro"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Registro de leitura:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "terminado"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Mostrar andamento da leitura"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Excluir esta atualização de andamento"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "iniciado"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Editar registro de leitura"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Excluir estas datas de leitura"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1131,8 +1247,8 @@ msgstr "Código de confirmação:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Enviar"
@@ -1476,39 +1592,6 @@ msgstr "Seus livros"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Não há nenhum livro aqui! Tente pesquisar livros para começar"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Quero ler"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Lendo atualmente"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Lido"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1540,6 +1623,30 @@ msgstr "Você leu %(book_title)s?"
msgid "Add to your books"
msgstr "Adicionar aos seus livros"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Quero ler"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Lendo atualmente"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Lido"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "O que você está lendo?"
@@ -1673,6 +1780,23 @@ msgstr "Gerenciado por %(username)s"
msgid "Delete this group?"
msgstr "Deletar grupo?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Esta ação não pode ser desfeita"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Excluir"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Editar grupo"
@@ -1691,7 +1815,7 @@ msgstr "Excluir grupo"
#: bookwyrm/templates/groups/group.html:22
msgid "Members of this group can create group-curated lists."
-msgstr ""
+msgstr "Membros deste grupo podem criar listas organizadas coletivamente."
#: bookwyrm/templates/groups/group.html:27
#: bookwyrm/templates/lists/create_form.html:5
@@ -1753,7 +1877,7 @@ msgstr "Gerente"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importar livros"
@@ -1841,8 +1965,8 @@ msgid "Row"
msgstr "Linha"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Título"
@@ -1855,8 +1979,8 @@ msgid "Openlibrary key"
msgstr "Chave Openlibrary"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autor/a"
@@ -1871,19 +1995,10 @@ msgid "Review"
msgstr "Resenhar"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Livro"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Publicação"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Pré-visualização de importação indisponível."
@@ -1923,6 +2038,7 @@ msgstr "Aprovar uma sugestão adicionará permanentemente o livro sugerido às s
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Aprovar"
@@ -1931,8 +2047,8 @@ msgid "Reject"
msgstr "Rejeitar"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Você pode baixar seus dados do Goodreads na página de Importar/Exportar da sua conta."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr "Você pode baixar seus dados do Goodreads na página de Importar/Exportar da sua conta."
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1976,7 +2092,7 @@ msgstr "Permissão negada"
msgid "Sorry! This invite code is no longer valid."
msgstr "Desculpe! Este convite não é mais válido."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Livros recentes"
@@ -2270,6 +2386,7 @@ msgid "List position"
msgstr "Posição na lista"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Definir"
@@ -2735,23 +2852,94 @@ msgstr "Começar \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quero ler \"%(book_title)s\""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Excluir as datas de leitura?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Você está excluindo este registro de leitura e as %(count)s atualizações de andamento associadas."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr "Atualizar datas de leitura de \"%(title)s\""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Começou a ler"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Andamento"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Terminou de ler"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Registro de leitura:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "terminado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Mostrar andamento da leitura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Excluir esta atualização de andamento"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "iniciado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Editar registro de leitura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Excluir estas datas de leitura"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr "Adicionar datas de leitura de \"%(title)s\""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Denunciar"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importar livro"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Carregar resultados de outros acervos"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Adicionar livro manualmente"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Entre para importar ou adicionar livros."
@@ -2807,13 +2995,13 @@ msgstr "Falso"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Data de início:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Data final:"
@@ -2841,7 +3029,7 @@ msgstr "Data do evento:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Avisos"
@@ -2881,7 +3069,7 @@ msgid "Dashboard"
msgstr "Painel"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Total de usuários"
@@ -2908,36 +3096,43 @@ msgstr[1] "%(display_count)s denúncias abertas"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] "%(display_count)s domínio precisa ser analisado"
+msgstr[1] "%(display_count)s domínios precisam ser analisados"
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s pedido de convite"
msgstr[1] "%(display_count)s pedidos de convite"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Atividade da instância"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervalo:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Dias"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Semanas"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Novos usuários"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Publicações"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Obras criadas"
@@ -2972,10 +3167,6 @@ msgstr "Lista de bloqueio de e-mails"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Quando alguém tentar se registrar com um e-mail desta domínio a conta não será criada. O processo de registro apenas parecerá ter funcionado."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Domínio"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3087,12 +3278,8 @@ msgstr "Editar"
msgid "No notes"
msgstr "Sem notas"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Ações"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Bloquear"
@@ -3305,62 +3492,113 @@ msgstr "Moderação"
msgid "Reports"
msgstr "Denúncias"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr "Domínios de links"
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Configurações da instância"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Configurações do site"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Denúncia #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr "Definir nome de exibição para %(url)s"
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr "Os domínios devem ser aprovados antes de poderem ser exibidos nas páginas dos livros. Certifique-se de que os domínios não estejam hospedando spam, códigos maliciosos ou links enganosos antes de aprová-los."
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr "Definir nome de exibição"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr "Ver links"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr "Nenhum domínio aprovado atualmente"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr "Nenhum domínio pendente de aprovação"
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr "Nenhum domínio bloqueado"
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr "Nenhum link disponível para este domínio."
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Voltar às denúncias"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Publicações denunciadas"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "A publicação foi excluída"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr "Links denunciados"
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Comentários da moderação"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Comentar"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Publicações denunciadas"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr "Denúncia #%(report_id)s: Publicação de @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Nenhuma publicação denunciada"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr "Denúncia #%(report_id)s: Link adicionado por @%(username)s"
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "A publicação foi excluída"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr "Denúncia #%(report_id)s: Usuário @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr "Bloquear domínio"
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Nenhum comentário foi feito"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Denunciado por %(username)s"
+msgid "Reported by @%(username)s"
+msgstr "Denunciado por @%(username)s"
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Reabrir"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Concluir"
@@ -3488,7 +3726,7 @@ msgid "Invite request text:"
msgstr "Texto solicitação de convite:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Excluir usuário permanentemente"
@@ -3598,15 +3836,19 @@ msgstr "Ver instância"
msgid "Permanently deleted"
msgstr "Excluído permanentemente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr "Ações do usuário"
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Suspender usuário"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Reativar usuário"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Nível de acesso:"
@@ -3618,50 +3860,56 @@ msgstr "Criar estante"
msgid "Edit Shelf"
msgstr "Editar estante"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr "Perfil do usuário"
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Todos os livros"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Criar estante"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s livro"
msgstr[1] "%(formatted_count)s livros"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(mostrando %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Editar estante"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Excluir estante"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Adicionado"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Iniciado"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Terminado"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Esta estante está vazia."
@@ -3766,14 +4014,6 @@ msgstr "Incluir alerta de spoiler"
msgid "Comment:"
msgstr "Comentário:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Particular"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Publicar"
@@ -3822,38 +4062,38 @@ msgstr "Descurtir"
msgid "Filters"
msgstr "Filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr "Filtros aplicados"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Limpar filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Aplicar filtros"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Seguir @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Seguir"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Cancelar solicitação para seguir"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Deixar de seguir @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Deixar de seguir"
@@ -3898,15 +4138,15 @@ msgstr[1] "avaliou %(title)s: %(display_rating
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Resenha de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
-msgstr[1] "Resenha de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] "Resenha de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
+msgstr[1] "Resenha de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Resenha de \"%(book_title)s\": %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr "Resenha de \"%(book_title)s\": %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3967,20 +4207,6 @@ msgstr "Anterior"
msgid "Next"
msgstr "Próxima"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Público"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Não listado"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Apenas seguidores"
@@ -3990,12 +4216,6 @@ msgstr "Apenas seguidores"
msgid "Post privacy"
msgstr "Privacidade da publicação"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Seguidores"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Deixe uma avaliação"
@@ -4009,17 +4229,6 @@ msgstr "Avaliar"
msgid "Finish \"%(book_title)s\""
msgstr "Terminar \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Começou a ler"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Terminou de ler"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Opcional)"
@@ -4039,29 +4248,35 @@ msgstr "Começar \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quero ler \"%(book_title)s\""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Andamento"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Cadastrar"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Denunciar"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr "Denunciar publicação de @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr "Denunciar link %(domain)s"
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Denunciar @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Esta denúncia será encaminhada à equipe de moderadores de %(site_name)s para análise."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr "Links deste domínio serão excluídos até sua denúncia ser analisada."
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Mais informações sobre esta denúncia:"
@@ -4069,13 +4284,13 @@ msgstr "Mais informações sobre esta denúncia:"
msgid "Move book"
msgstr "Mover livro"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Começar a ler"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4099,29 +4314,29 @@ msgstr "Remover de %(name)s"
msgid "Finish reading"
msgstr "Terminar de ler"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Aviso de conteúdo"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Mostrar publicação"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Página %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Abrir imagem em nova janela"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Esconder publicação"
@@ -4130,7 +4345,12 @@ msgstr "Esconder publicação"
msgid "edited %(date)s"
msgstr "editado %(date)s"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr "comentou %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "comentou %(book)s"
@@ -4140,7 +4360,12 @@ msgstr "comentou %(book)s"
msgid "replied to %(username)s's status"
msgstr "respondeu à publicação de %(username)s"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr "citou %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "citou %(book)s"
@@ -4150,25 +4375,45 @@ msgstr "citou %(book)s"
msgid "rated %(book)s:"
msgstr "avaliou %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr "terminou de ler %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "terminou de ler %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr "começou a ler %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "começou a ler %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr "resenhou %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "resenhou %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s quer ler %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr "quer ler %(book)s de %(author_name)s"
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr "quer ler %(book)s"
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4214,11 +4459,11 @@ msgstr "Mostrar mais"
msgid "Show less"
msgstr "Mostrar menos"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Seus livros"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "livros de %(username)s"
diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo
index e68701c8..3893af9e 100644
Binary files a/locale/pt_PT/LC_MESSAGES/django.mo and b/locale/pt_PT/LC_MESSAGES/django.mo differ
diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po
index 2d5e9432..9917f5d1 100644
--- a/locale/pt_PT/LC_MESSAGES/django.po
+++ b/locale/pt_PT/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 02:52\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 19:57\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Portuguese\n"
"Language: pt\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "Já existe um utilizador com este E-Mail."
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "Um Dia"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "Uma Semana"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "Um Mês"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "Não Expira"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} utilizações"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "Ilimitado"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "Ordem da Lista"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "Título do livro"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "Classificação"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "Ordenar Por"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "Ascendente"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "Descendente"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr ""
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "Erro ao carregar o livro"
@@ -80,8 +84,9 @@ msgstr "Erro ao carregar o livro"
msgid "Could not find a match for book"
msgstr "Não foi possível encontrar um resultado para o livro pedido"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "Pendente"
@@ -101,23 +106,23 @@ msgstr "Exclusão do moderador"
msgid "Domain block"
msgstr "Bloqueio de domínio"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "Livro-áudio"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "eBook"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "Novela gráfica"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "Capa dura"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "Capa mole"
@@ -127,10 +132,11 @@ msgstr "Capa mole"
msgid "Federated"
msgstr "Federado"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "Bloqueado"
@@ -153,7 +159,56 @@ msgstr "nome de utilizador"
msgid "A user with that username already exists."
msgstr "Um utilizador com o mesmo nome de utilizador já existe."
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "Público"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "Não listado"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "Seguidores"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "Privado"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr ""
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr ""
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr ""
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr ""
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "Criticas"
@@ -169,69 +224,69 @@ msgstr "Citações"
msgid "Everything else"
msgstr "Tudo o resto"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "Cronograma Inicial"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "Início"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "Cronograma de Livros"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Livros"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "Inglês"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch (Alemão)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español (Espanhol)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego (Galician)"
-#: bookwyrm/settings.py:199
-msgid "Italiano (Italian)"
-msgstr ""
-
#: bookwyrm/settings.py:200
+msgid "Italiano (Italian)"
+msgstr "Italiano (Italiano)"
+
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français (Francês)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (lituano)"
-#: bookwyrm/settings.py:202
-msgid "Norsk (Norwegian)"
-msgstr ""
-
#: bookwyrm/settings.py:203
-msgid "Português do Brasil (Brazilian Portuguese)"
-msgstr ""
+msgid "Norsk (Norwegian)"
+msgstr "Norsk (Norueguês)"
#: bookwyrm/settings.py:204
-msgid "Português Europeu (European Portuguese)"
-msgstr ""
+msgid "Português do Brasil (Brazilian Portuguese)"
+msgstr "Português do Brasil (Português brasileiro)"
#: bookwyrm/settings.py:205
+msgid "Português Europeu (European Portuguese)"
+msgstr "Português (Português Europeu)"
+
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chinês simplificado)"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinês tradicional)"
@@ -258,7 +313,7 @@ msgstr "Ocorreu um erro! Pedimos desculpa por isto."
#: bookwyrm/templates/about/about.html:9
#: bookwyrm/templates/about/layout.html:35
msgid "About"
-msgstr ""
+msgstr "Sobre"
#: bookwyrm/templates/about/about.html:18
#: bookwyrm/templates/get_started/layout.html:20
@@ -268,8 +323,8 @@ msgstr "Bem-vindo(a) ao %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
-msgstr ""
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
+msgstr "%(site_name)s faz parte do BookWyrm, uma rede de comunidades independentes, focada nos leitores. Enquanto podes interagir continuamente com utilizadores por todo o lado na Rede Boomwyrm, esta comunidade é única."
#: bookwyrm/templates/about/about.html:39
#, python-format
@@ -292,7 +347,7 @@ msgstr ""
#: bookwyrm/templates/about/about.html:95
msgid "Meet your admins"
-msgstr ""
+msgstr "Conheça os nossos administradores"
#: bookwyrm/templates/about/about.html:98
#, python-format
@@ -303,14 +358,14 @@ msgstr ""
#: bookwyrm/templates/about/about.html:112
msgid "Moderator"
-msgstr ""
+msgstr "Moderador"
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -324,15 +379,15 @@ msgstr "Código de Conduta"
#: bookwyrm/templates/about/layout.html:11
msgid "Active users:"
-msgstr ""
+msgstr "Utilizadores ativos:"
#: bookwyrm/templates/about/layout.html:15
msgid "Statuses posted:"
-msgstr ""
+msgstr "Estados publicados:"
#: bookwyrm/templates/about/layout.html:19
msgid "Software version:"
-msgstr ""
+msgstr "Versão do software:"
#: bookwyrm/templates/about/layout.html:30
#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229
@@ -464,7 +519,7 @@ msgstr[1] ""
#: bookwyrm/templates/annual_summary/layout.html:209
msgid "Way to go!"
-msgstr ""
+msgstr "Assim é que é!"
#: bookwyrm/templates/annual_summary/layout.html:224
#, python-format
@@ -492,61 +547,61 @@ msgstr "Todos os livros que %(display_name)s leu em %(year)s"
msgid "Edit Author"
msgstr "Editar Autor(a)"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "Detalhes do autor"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "Pseudónimos:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Nascido a:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Morreu em:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "Links externos"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "Wikipédia"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "Ver registro do ISNI"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "Carregar dados"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "Ver na OpenLibrary"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "Ver no Inventaire"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "Ver na LibraryThing"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "Ver na Goodreads"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "Livros por %(name)s"
@@ -576,7 +631,9 @@ msgid "Metadata"
msgstr "Metadados"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "Nome:"
@@ -630,16 +687,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -647,17 +706,20 @@ msgstr "Salvar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "Cancelar"
@@ -726,39 +788,35 @@ msgstr "Uma edição diferente deste livro está n
msgid "Your reading activity"
msgstr "A tua atividade de leitura"
-#: bookwyrm/templates/book/book.html:240
+#: bookwyrm/templates/book/book.html:243
msgid "Add read dates"
msgstr "Adicionar datas de leitura"
-#: bookwyrm/templates/book/book.html:249
-msgid "Create"
-msgstr "Criar"
-
-#: bookwyrm/templates/book/book.html:259
+#: bookwyrm/templates/book/book.html:251
msgid "You don't have any reading activity for this book."
msgstr "Não tem nenhuma atividade de leitura para este livro."
-#: bookwyrm/templates/book/book.html:285
+#: bookwyrm/templates/book/book.html:277
msgid "Your reviews"
msgstr "As tuas criticas"
-#: bookwyrm/templates/book/book.html:291
+#: bookwyrm/templates/book/book.html:283
msgid "Your comments"
msgstr "Os teus comentários"
-#: bookwyrm/templates/book/book.html:297
+#: bookwyrm/templates/book/book.html:289
msgid "Your quotes"
msgstr "As tuas citações"
-#: bookwyrm/templates/book/book.html:333
+#: bookwyrm/templates/book/book.html:325
msgid "Subjects"
msgstr "Temas/Áreas"
-#: bookwyrm/templates/book/book.html:345
+#: bookwyrm/templates/book/book.html:337
msgid "Places"
msgstr "Lugares"
-#: bookwyrm/templates/book/book.html:356
+#: bookwyrm/templates/book/book.html:348
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
@@ -768,11 +826,11 @@ msgstr "Lugares"
msgid "Lists"
msgstr "Listas"
-#: bookwyrm/templates/book/book.html:367
+#: bookwyrm/templates/book/book.html:359
msgid "Add to list"
msgstr "Adicionar à lista"
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:369
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/list.html:208
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
@@ -817,39 +875,13 @@ msgstr "Visualização da capa"
#: bookwyrm/templates/components/modal.html:13
#: bookwyrm/templates/components/modal.html:30
#: bookwyrm/templates/components/tooltip.html:7
-#: bookwyrm/templates/feed/suggested_books.html:65
+#: bookwyrm/templates/feed/suggested_books.html:62
#: bookwyrm/templates/get_started/layout.html:25
#: bookwyrm/templates/get_started/layout.html:58
#: bookwyrm/templates/snippets/announcement.html:18
msgid "Close"
msgstr "Fechar"
-#: bookwyrm/templates/book/delete_readthrough_modal.html:4
-msgid "Delete these read dates?"
-msgstr "Apagar estas datas de leitura?"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:8
-#, python-format
-msgid "You are deleting this readthrough and its %(count)s associated progress updates."
-msgstr "Estás a apagar esta leitura e suas atualizações de progresso %(count)s associadas."
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:12
-#: bookwyrm/templates/groups/delete_group_modal.html:7
-#: bookwyrm/templates/lists/delete_list_modal.html:7
-msgid "This action cannot be un-done"
-msgstr "Esta ação não pode ser desfeita"
-
-#: bookwyrm/templates/book/delete_readthrough_modal.html:21
-#: bookwyrm/templates/groups/delete_group_modal.html:15
-#: bookwyrm/templates/lists/delete_list_modal.html:15
-#: bookwyrm/templates/settings/announcements/announcement.html:20
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
-#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
-#: bookwyrm/templates/snippets/follow_request_buttons.html:12
-#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
-msgid "Delete"
-msgstr "Apagar"
-
#: bookwyrm/templates/book/edit/edit_book.html:6
#: bookwyrm/templates/book/edit/edit_book.html:12
#, python-format
@@ -971,7 +1003,7 @@ msgid "Add Another Author"
msgstr "Adicionar outro autor(a)"
#: bookwyrm/templates/book/edit/edit_book_form.html:160
-#: bookwyrm/templates/shelf/shelf.html:143
+#: bookwyrm/templates/shelf/shelf.html:146
msgid "Cover"
msgstr "Capa"
@@ -1032,6 +1064,116 @@ msgstr "Idioma:"
msgid "Search editions"
msgstr "Pesquisar edições"
+#: bookwyrm/templates/book/file_links/add_link_modal.html:6
+msgid "Add file link"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:19
+msgid "Links from unknown domains will need to be approved by a moderator before they are added."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:24
+msgid "URL:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:29
+msgid "File type:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/add_link_modal.html:48
+msgid "Availability:"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:5
+#: bookwyrm/templates/book/file_links/edit_links.html:22
+#: bookwyrm/templates/book/file_links/links.html:53
+msgid "Edit links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:11
+#, python-format
+msgid "\n"
+" Links for \"%(title)s\"\n"
+" "
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "Domínio"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "Estado"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "Acções"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr ""
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1066,35 +1208,6 @@ msgstr "Publicado por %(publisher)s."
msgid "rated it"
msgstr "avalia-o"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "Atualizações do progresso:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "concluído"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "Mostrar todas as atualizações"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "Excluir esta atualização do progresso"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "iniciado"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "Editar datas de leitura"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "Excluir estas datas de leitura"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1131,8 +1244,8 @@ msgstr "Código de confirmação:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "Submeter"
@@ -1476,39 +1589,6 @@ msgstr "Os teus Livros"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "Não há nenhum livro aqui de momento! Tente procurar um livro para começar"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "Para Ler"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "Leituras atuais"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "Ler"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1540,6 +1620,30 @@ msgstr "Já leste %(book_title)s?"
msgid "Add to your books"
msgstr "Adicionar aos teus livros"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "Para Ler"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "Leituras atuais"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "Ler"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "O que andas a ler?"
@@ -1673,6 +1777,23 @@ msgstr "Gerido por %(username)s"
msgid "Delete this group?"
msgstr "Apagar este grupo?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "Esta ação não pode ser desfeita"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "Apagar"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "Editar Grupo"
@@ -1691,7 +1812,7 @@ msgstr "Apagar grupo"
#: bookwyrm/templates/groups/group.html:22
msgid "Members of this group can create group-curated lists."
-msgstr ""
+msgstr "Os membros deste grupo podem criar listas administradas apenas pelo grupo."
#: bookwyrm/templates/groups/group.html:27
#: bookwyrm/templates/lists/create_form.html:5
@@ -1753,7 +1874,7 @@ msgstr "Gestor"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "Importar livros"
@@ -1841,8 +1962,8 @@ msgid "Row"
msgstr "Linha"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "Título"
@@ -1855,8 +1976,8 @@ msgid "Openlibrary key"
msgstr "Id da Openlibrary"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "Autor(a)"
@@ -1871,19 +1992,10 @@ msgid "Review"
msgstr "Critica"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "Livro"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "Estado"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "Importação de pré-visualização indisponível."
@@ -1923,6 +2035,7 @@ msgstr "Aprovar uma sugestão adicionará permanentemente o livro sugerido às t
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "Aprovar"
@@ -1931,8 +2044,8 @@ msgid "Reject"
msgstr "Rejeitar"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "Podes fazer download dos teus dados do Goodreads na Importar/Exportar página da tua conta do Goodreads."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr ""
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1976,7 +2089,7 @@ msgstr "Permissão negada"
msgid "Sorry! This invite code is no longer valid."
msgstr "Lamentamos, mas este convite já não é válido."
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "Livros Recentes"
@@ -2270,6 +2383,7 @@ msgid "List position"
msgstr "Posição da lista"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "Definir"
@@ -2735,23 +2849,94 @@ msgstr "Começar \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Quereres ler %(book_title)s\""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "Apagar estas datas de leitura?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "Estás a apagar esta leitura e suas atualizações de progresso %(count)s associadas."
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "Leitura iniciada"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "Progresso"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "Leitura concluída"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "Atualizações do progresso:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "concluído"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "Mostrar todas as atualizações"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "Excluir esta atualização do progresso"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "iniciado"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "Editar datas de leitura"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "Excluir estas datas de leitura"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "Denunciar"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "Importar livro"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "Carregar resultados de outros catálogos"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "Adicionar manualmente um livro"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "Inicia sessão para importares ou adicionares livros."
@@ -2807,13 +2992,13 @@ msgstr "Falso"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "Data de início:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "Data de conclusão:"
@@ -2841,7 +3026,7 @@ msgstr "Data do evento:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "Comunicados"
@@ -2881,7 +3066,7 @@ msgid "Dashboard"
msgstr "Painel de controlo"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "Total de utilizadores"
@@ -2908,36 +3093,43 @@ msgstr[1] "%(display_count)s denúncias abertas"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s pedido de convite"
msgstr[1] "%(display_count)s pedidos de convite"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "Atividade do domínio"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "Intervalo:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "Dias"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "Semanas"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "Atividade de inscrição do utilizador"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "Atividade de estado"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "Obras criadas"
@@ -2972,10 +3164,6 @@ msgstr "Lista de E-Mails bloqueados"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "Quando alguém se tenta registrar com um E-Mail deste domínio, nenhuma conta será criada. O processo de registro parecerá ter funcionado."
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "Domínio"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3087,12 +3275,8 @@ msgstr "Editar"
msgid "No notes"
msgstr "Sem notas"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "Acções"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Bloquear"
@@ -3305,62 +3489,113 @@ msgstr "Moderação"
msgid "Reports"
msgstr "Denúncias"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "Configurações do domínio"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Configurações do site"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "Denunciar #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "Voltar para denúncias"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "Estados denunciados"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "O estado foi eliminado"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "Comentários do Moderador"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "Comentar"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "Estados denunciados"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "Nenhum estado denunciado"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "O estado foi eliminado"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "Nenhuma nota fornecida"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "Denúnciado por %(username)s"
+msgid "Reported by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "Reabrir"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "Resolver"
@@ -3488,7 +3723,7 @@ msgid "Invite request text:"
msgstr "Texto da solicitação de convite:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "Apagar permanentemente o utilizador"
@@ -3598,15 +3833,19 @@ msgstr "Ver domínio"
msgid "Permanently deleted"
msgstr "Apagar permanentemente"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr ""
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "Suspender utilizador"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "Retirar a suspensão do utilizador"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "Nível de acesso:"
@@ -3618,50 +3857,56 @@ msgstr "Criar prateleira"
msgid "Edit Shelf"
msgstr "Editar prateleira"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr ""
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "Todos os livros"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Criar prateleira"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s livro"
msgstr[1] "%(formatted_count)s livros"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(a exibir %(start)s-%(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "Editar prateleira"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "Apagar prateleira"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "Arquivado"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "Iniciado"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "Concluído"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "Esta prateleira está vazia."
@@ -3766,14 +4011,6 @@ msgstr "Incluir aviso de spoiler"
msgid "Comment:"
msgstr "Comentar:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "Privado"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "Publicação"
@@ -3820,40 +4057,40 @@ msgstr "Desgostar"
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:5
msgid "Filters"
-msgstr ""
+msgstr "Filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
-msgstr ""
+msgstr "Filtros aplicados"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "Limpar filtros"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "Aplicar filtros"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "Seguir %(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "Seguir"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "Cancelar pedido para seguir"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "Deixar de seguir @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "Deixar de seguir"
@@ -3886,8 +4123,8 @@ msgstr[1] "%(rating)s estrelas"
#, python-format
msgid "set a goal to read %(counter)s book in %(year)s"
msgid_plural "set a goal to read %(counter)s books in %(year)s"
-msgstr[0] "defina a meta para ler %(counter)s livro em %(year)s"
-msgstr[1] "defina a meta para ler %(counter)s livros em %(year)s"
+msgstr[0] "definou a meta de ler %(counter)s livro em %(year)s"
+msgstr[1] "definou a meta de ler %(counter)s livros em %(year)s"
#: bookwyrm/templates/snippets/generated_status/rating.html:3
#, python-format
@@ -3898,15 +4135,15 @@ msgstr[1] "avaliado %(title)s: %(display_ratin
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "Avaliação de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
-msgstr[1] "Avaliação de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] ""
+msgstr[1] ""
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "Critica de \"%(book_title)s\": %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr ""
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3967,20 +4204,6 @@ msgstr "Anterior"
msgid "Next"
msgstr "Seguinte"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "Público"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "Não listado"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "Apenas seguidores"
@@ -3990,12 +4213,6 @@ msgstr "Apenas seguidores"
msgid "Post privacy"
msgstr "Privacidade de publicação"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "Seguidores"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "Deixar uma avaliação"
@@ -4009,17 +4226,6 @@ msgstr "Avaliação"
msgid "Finish \"%(book_title)s\""
msgstr "Concluir \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "Leitura iniciada"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "Leitura concluída"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(Opcional)"
@@ -4039,29 +4245,35 @@ msgstr "Começar \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "Queres ler \"%(book_title)s\"\""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "Progresso"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "Criar conta"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "Denunciar"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "Denunciar @%(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "Esta denúncia será enviada aos moderadores de %(site_name)s para revisão."
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "Mais informações sobre esta denúncia:"
@@ -4069,13 +4281,13 @@ msgstr "Mais informações sobre esta denúncia:"
msgid "Move book"
msgstr "Mover livro"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "Começar a ler"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4099,29 +4311,29 @@ msgstr "Remover de %(name)s"
msgid "Finish reading"
msgstr "Terminar leitura"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "Aviso de Conteúdo"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "Mostrar o estado"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(Página %(page)s)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "Abrir imagem numa nova janela"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "Ocultar estado"
@@ -4130,7 +4342,12 @@ msgstr "Ocultar estado"
msgid "edited %(date)s"
msgstr "%(date)s editada"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "comentou em %(book)s"
@@ -4140,7 +4357,12 @@ msgstr "comentou em %(book)s"
msgid "replied to %(username)s's status"
msgstr "respondeu ao estado do %(username)s"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "citou %(book)s"
@@ -4150,25 +4372,45 @@ msgstr "citou %(book)s"
msgid "rated %(book)s:"
msgstr "avaliou %(book)s:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "terminou de ler %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "começou a ler %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "criticou %(book)s"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s quer ler %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr ""
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4214,11 +4456,11 @@ msgstr "Mostrar mais"
msgid "Show less"
msgstr "Mostrar menos"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "Os teus livros"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "Livro de %(username)s"
diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo
index c832a8a4..1d1227f8 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 d51a72bf..55769422 100644
--- a/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 02:52\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 19:57\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Chinese Simplified\n"
"Language: zh\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "已经存在使用该邮箱的用户。"
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "一天"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "一周"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "一个月"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "永不失效"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr "{i} 次使用"
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "不受限"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "列表顺序"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "书名"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "评价"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "排序方式"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "升序"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "降序"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr ""
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr "加载书籍时出错"
@@ -80,8 +84,9 @@ msgstr "加载书籍时出错"
msgid "Could not find a match for book"
msgstr "找不到匹配的书"
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr "待处理"
@@ -101,23 +106,23 @@ msgstr "仲裁员删除"
msgid "Domain block"
msgstr "域名屏蔽"
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr "有声书籍"
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr "电子书"
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr "图像小说"
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr "精装"
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr "平装"
@@ -127,10 +132,11 @@ msgstr "平装"
msgid "Federated"
msgstr "跨站"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "已屏蔽"
@@ -153,7 +159,56 @@ msgstr "用户名"
msgid "A user with that username already exists."
msgstr "已经存在使用该用户名的用户。"
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "公开"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "不公开"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "关注者"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "私密"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr ""
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr ""
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr ""
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr ""
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "书评"
@@ -169,69 +224,69 @@ msgstr "引用"
msgid "Everything else"
msgstr "所有其它内容"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "主页时间线"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "主页"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr "书目时间线"
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "书目"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English(英语)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch(德语)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español(西班牙语)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr "Galego(加利西亚语)"
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr ""
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français(法语)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių(立陶宛语)"
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr ""
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr ""
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr ""
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文(繁体中文)"
@@ -268,7 +323,7 @@ msgstr "欢迎来到 %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
msgstr ""
#: bookwyrm/templates/about/about.html:39
@@ -310,7 +365,7 @@ msgid "Admin"
msgstr "管理员"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -488,61 +543,61 @@ msgstr "在 %(year)s 里 %(display_name)s 阅读的所有书"
msgid "Edit Author"
msgstr "编辑作者"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr "作者详情"
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "别名:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "出生:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "逝世:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr "外部链接"
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "维基百科"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr "查看 ISNI 记录"
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr "加载数据"
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "在 OpenLibrary 查看"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "在 Inventaire 查看"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr "在 LibraryThing 查看"
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr "在 Goodreads 查看"
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "%(name)s 所著的书"
@@ -572,7 +627,9 @@ msgid "Metadata"
msgstr "元数据"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "名称:"
@@ -626,16 +683,18 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -643,17 +702,20 @@ msgstr "保存"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "取消"
@@ -721,39 +783,35 @@ msgstr "本书的 另一个版本 在你的 %(title)s\"\n"
+" "
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr "域名"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "状态"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "动作"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr ""
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1061,35 +1203,6 @@ msgstr "%(publisher)s 出版。"
msgid "rated it"
msgstr "评价了"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "进度更新:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "已完成"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "显示所有更新"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "删除此进度更新"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "已开始"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "编辑阅读日期"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "删除这些阅读日期"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1126,8 +1239,8 @@ msgstr "确认代码:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "提交"
@@ -1469,39 +1582,6 @@ msgstr "你的书目"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "现在这里还没有任何书目!尝试着从搜索某本书开始吧"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "想读"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "在读"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "读过"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1533,6 +1613,30 @@ msgstr "你读过 %(book_title)s 了吗?"
msgid "Add to your books"
msgstr "添加到您的书籍中"
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "想读"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "在读"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "读过"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "你在阅读什么?"
@@ -1666,6 +1770,23 @@ msgstr "由 %(username)s 管理"
msgid "Delete this group?"
msgstr "删除该群组?"
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr "此操作无法被撤销"
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "删除"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr "编辑群组"
@@ -1744,7 +1865,7 @@ msgstr "管理员"
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "导入书目"
@@ -1830,8 +1951,8 @@ msgid "Row"
msgstr "行"
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "标题"
@@ -1844,8 +1965,8 @@ msgid "Openlibrary key"
msgstr "Openlibrary key"
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "作者"
@@ -1860,19 +1981,10 @@ msgid "Review"
msgstr "书评"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "书目"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "状态"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr "导入预览不可用。"
@@ -1912,6 +2024,7 @@ msgstr "批准建议后,被提议的书将会永久添加到您的书架上并
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "批准"
@@ -1920,8 +2033,8 @@ msgid "Reject"
msgstr "驳回"
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
-msgstr "您可以从 导入/导出页面 下载或导出您的 Goodread 数据。"
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgstr ""
#: bookwyrm/templates/import/troubleshoot.html:7
msgid "Failed items"
@@ -1965,7 +2078,7 @@ msgstr "没有权限"
msgid "Sorry! This invite code is no longer valid."
msgstr "抱歉!此邀请码已不再有效。"
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "最近书目"
@@ -2259,6 +2372,7 @@ msgid "List position"
msgstr "列表位置:"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "设定"
@@ -2724,23 +2838,94 @@ msgstr "开始《%(book_title)s》"
msgid "Want to Read \"%(book_title)s\""
msgstr "想要阅读《%(book_title)s》"
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "删除这些阅读日期吗?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。"
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "已开始阅读"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "进度"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "已完成阅读"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "进度更新:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "已完成"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "显示所有更新"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "删除此进度更新"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "已开始"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "编辑阅读日期"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "删除这些阅读日期"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "报告"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr "结果来自"
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "导入书目"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "从其它分类加载结果"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "手动添加书目"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "登录以导入或添加书目。"
@@ -2796,13 +2981,13 @@ msgstr "否"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "开始日期:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "结束日期:"
@@ -2830,7 +3015,7 @@ msgstr "事件日期:"
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "公告"
@@ -2870,7 +3055,7 @@ msgid "Dashboard"
msgstr "仪表盘"
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr "用户总数"
@@ -2896,35 +3081,41 @@ msgstr[0] "%(display_count)s 条待处理报告"
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] ""
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] "%(display_count)s 条邀请请求"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr "实例活动"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr "区段:"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr "天"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr "周"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr "用户注册活动"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr "状态动态"
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr "创建的作品"
@@ -2959,10 +3150,6 @@ msgstr "邮件屏蔽列表"
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr "当有人试图使用此域名的电子邮件注册时,帐户将不会被创建,但注册过程看起来会像是成功了的样子。"
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr "域名"
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3073,12 +3260,8 @@ msgstr "编辑"
msgid "No notes"
msgstr "没有备注"
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "动作"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "屏蔽"
@@ -3291,62 +3474,113 @@ msgstr "仲裁"
msgid "Reports"
msgstr "报告"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "实例设置"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "站点设置"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "报告 #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "回到报告"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "被报告的状态"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "状态已被删除"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "监察员评论"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "评论"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "被报告的状态"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "没有被报告的状态"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "状态已被删除"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "没有提供摘记"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "由 %(username)s 报告"
+msgid "Reported by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "重新开启"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "已解决"
@@ -3474,7 +3708,7 @@ msgid "Invite request text:"
msgstr "邀请请求文本:"
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr "永久删除用户"
@@ -3584,15 +3818,19 @@ msgstr "查看实例"
msgid "Permanently deleted"
msgstr "已永久删除"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr ""
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "停用用户"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "取消停用用户"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "访问级别:"
@@ -3604,49 +3842,55 @@ msgstr "创建书架"
msgid "Edit Shelf"
msgstr "编辑书架"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr ""
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "所有书目"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "创建书架"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] "%(formatted_count)s 本书籍"
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr "(正在显示 %(start)s 到 %(end)s)"
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "编辑书架"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "删除书架"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "上架时间"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "开始时间"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "完成时间"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "此书架是空的。"
@@ -3750,14 +3994,6 @@ msgstr "加入剧透警告"
msgid "Comment:"
msgstr "评论:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "私密"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "发布"
@@ -3806,38 +4042,38 @@ msgstr "取消喜欢"
msgid "Filters"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "清除过滤器"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "应用过滤器"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr "关注 @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "关注"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "撤回关注请求"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr "取消关注 @%(username)s"
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "取消关注"
@@ -3878,14 +4114,14 @@ msgstr[0] "为 %(title)s 打了分: %(display_
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "《%(book_title)s》的书评(%(display_rating)s 星): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] ""
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "《%(book_title)s》的书评: %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr ""
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3946,20 +4182,6 @@ msgstr "往前"
msgid "Next"
msgstr "往后"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "公开"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "不公开"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "仅关注者"
@@ -3969,12 +4191,6 @@ msgstr "仅关注者"
msgid "Post privacy"
msgstr "发文隐私"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "关注者"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "留下评价"
@@ -3988,17 +4204,6 @@ msgstr "评价"
msgid "Finish \"%(book_title)s\""
msgstr "完成《%(book_title)s》"
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "已开始阅读"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "已完成阅读"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr "(可选)"
@@ -4018,29 +4223,35 @@ msgstr "开始《%(book_title)s》"
msgid "Want to Read \"%(book_title)s\""
msgstr "想要阅读《%(book_title)s》"
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "进度"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "注册"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "报告"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "报告 %(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "本报告会被发送至 %(site_name)s 的监察员以复查。"
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "关于本报告的更多信息"
@@ -4048,13 +4259,13 @@ msgstr "关于本报告的更多信息"
msgid "Move book"
msgstr "移动书目"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "开始阅读"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4078,29 +4289,29 @@ msgstr "从 %(name)s 移除"
msgid "Finish reading"
msgstr "完成阅读"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr "内容警告"
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr "显示状态"
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr "(第 %(page)s 页)"
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr "(%(percent)s%%)"
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "在新窗口中打开图像"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr "隐藏状态"
@@ -4109,7 +4320,12 @@ msgstr "隐藏状态"
msgid "edited %(date)s"
msgstr "在 %(date)s 已编辑"
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr "评论了 %(book)s"
@@ -4119,7 +4335,12 @@ msgstr "评论了 %(book)s"
msgid "replied to %(username)s's status"
msgstr "回复了 %(username)s 的 状态"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr "引用了 %(book)s"
@@ -4129,25 +4350,45 @@ msgstr "引用了 %(book)s"
msgid "rated %(book)s:"
msgstr "为 %(book)s 打了分:"
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr "完成阅读 %(book)s"
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr "开始阅读 %(book)s"
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr "为 %(book)s 撰写了书评"
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
-msgstr "%(username)s 想要阅读 %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
+msgstr ""
#: bookwyrm/templates/snippets/status/layout.html:24
#: bookwyrm/templates/snippets/status/status_options.html:17
@@ -4193,11 +4434,11 @@ msgstr "显示更多"
msgid "Show less"
msgstr "显示更少"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "你的书目"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "%(username)s 的书目"
diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo
index 359de873..f9ca27be 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 1459c1e4..b2c6bde9 100644
--- a/locale/zh_Hant/LC_MESSAGES/django.po
+++ b/locale/zh_Hant/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-09 00:54+0000\n"
-"PO-Revision-Date: 2022-01-09 02:52\n"
+"POT-Creation-Date: 2022-01-17 19:26+0000\n"
+"PO-Revision-Date: 2022-01-17 19:57\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Chinese Traditional\n"
"Language: zh\n"
@@ -17,61 +17,65 @@ msgstr ""
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 1553\n"
-#: bookwyrm/forms.py:351
+#: bookwyrm/forms.py:365
msgid "A user with this email already exists."
msgstr "已經存在使用該郵箱的使用者。"
-#: bookwyrm/forms.py:365
+#: bookwyrm/forms.py:379
msgid "One Day"
msgstr "一天"
-#: bookwyrm/forms.py:366
+#: bookwyrm/forms.py:380
msgid "One Week"
msgstr "一週"
-#: bookwyrm/forms.py:367
+#: bookwyrm/forms.py:381
msgid "One Month"
msgstr "一個月"
-#: bookwyrm/forms.py:368
+#: bookwyrm/forms.py:382
msgid "Does Not Expire"
msgstr "永不失效"
-#: bookwyrm/forms.py:372
+#: bookwyrm/forms.py:386
#, python-brace-format
msgid "{i} uses"
msgstr ""
-#: bookwyrm/forms.py:373
+#: bookwyrm/forms.py:387
msgid "Unlimited"
msgstr "不受限"
-#: bookwyrm/forms.py:469
+#: bookwyrm/forms.py:483
msgid "List Order"
msgstr "列表順序"
-#: bookwyrm/forms.py:470
+#: bookwyrm/forms.py:484
msgid "Book Title"
msgstr "書名"
-#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:152
-#: bookwyrm/templates/shelf/shelf.html:184
+#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
+#: bookwyrm/templates/shelf/shelf.html:187
#: bookwyrm/templates/snippets/create_status/review.html:33
msgid "Rating"
msgstr "評價"
-#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134
+#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
msgid "Sort By"
msgstr "排序方式"
-#: bookwyrm/forms.py:477
+#: bookwyrm/forms.py:491
msgid "Ascending"
msgstr "升序"
-#: bookwyrm/forms.py:478
+#: bookwyrm/forms.py:492
msgid "Descending"
msgstr "降序"
+#: bookwyrm/forms.py:505
+msgid "Reading finish date cannot be before start date."
+msgstr ""
+
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
msgid "Error loading book"
msgstr ""
@@ -80,8 +84,9 @@ msgstr ""
msgid "Could not find a match for book"
msgstr ""
-#: bookwyrm/models/base_model.py:17
+#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72
#: bookwyrm/templates/import/import_status.html:200
+#: bookwyrm/templates/settings/link_domains/link_domains.html:19
msgid "Pending"
msgstr ""
@@ -101,23 +106,23 @@ msgstr ""
msgid "Domain block"
msgstr ""
-#: bookwyrm/models/book.py:250
+#: bookwyrm/models/book.py:253
msgid "Audiobook"
msgstr ""
-#: bookwyrm/models/book.py:251
+#: bookwyrm/models/book.py:254
msgid "eBook"
msgstr ""
-#: bookwyrm/models/book.py:252
+#: bookwyrm/models/book.py:255
msgid "Graphic novel"
msgstr ""
-#: bookwyrm/models/book.py:253
+#: bookwyrm/models/book.py:256
msgid "Hardcover"
msgstr ""
-#: bookwyrm/models/book.py:254
+#: bookwyrm/models/book.py:257
msgid "Paperback"
msgstr ""
@@ -127,10 +132,11 @@ msgstr ""
msgid "Federated"
msgstr "跨站"
-#: bookwyrm/models/federated_server.py:12
+#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71
#: bookwyrm/templates/settings/federation/edit_instance.html:44
#: bookwyrm/templates/settings/federation/instance.html:10
#: bookwyrm/templates/settings/federation/instance_list.html:23
+#: bookwyrm/templates/settings/link_domains/link_domains.html:27
msgid "Blocked"
msgstr "已封鎖"
@@ -153,7 +159,56 @@ msgstr "使用者名稱"
msgid "A user with that username already exists."
msgstr "已經存在使用該名稱的使用者。"
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:280
+#: bookwyrm/models/fields.py:207
+#: bookwyrm/templates/snippets/privacy-icons.html:3
+#: bookwyrm/templates/snippets/privacy-icons.html:4
+#: bookwyrm/templates/snippets/privacy_select.html:11
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
+msgid "Public"
+msgstr "公開"
+
+#: bookwyrm/models/fields.py:208
+#: bookwyrm/templates/snippets/privacy-icons.html:7
+#: bookwyrm/templates/snippets/privacy-icons.html:8
+#: bookwyrm/templates/snippets/privacy_select.html:14
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
+msgid "Unlisted"
+msgstr "不公開"
+
+#: bookwyrm/models/fields.py:209
+#: bookwyrm/templates/snippets/privacy_select.html:17
+#: bookwyrm/templates/user/relationships/followers.html:6
+#: bookwyrm/templates/user/relationships/layout.html:11
+msgid "Followers"
+msgstr "關注者"
+
+#: bookwyrm/models/fields.py:210
+#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
+#: bookwyrm/templates/snippets/privacy-icons.html:15
+#: bookwyrm/templates/snippets/privacy-icons.html:16
+#: bookwyrm/templates/snippets/privacy_select.html:20
+#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
+msgid "Private"
+msgstr "私密"
+
+#: bookwyrm/models/link.py:51
+msgid "Free"
+msgstr ""
+
+#: bookwyrm/models/link.py:52
+msgid "Purchasable"
+msgstr ""
+
+#: bookwyrm/models/link.py:53
+msgid "Available for loan"
+msgstr ""
+
+#: bookwyrm/models/link.py:70
+#: bookwyrm/templates/settings/link_domains/link_domains.html:23
+msgid "Approved"
+msgstr ""
+
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
msgid "Reviews"
msgstr "書評"
@@ -169,69 +224,69 @@ msgstr ""
msgid "Everything else"
msgstr ""
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home Timeline"
msgstr "主頁時間線"
-#: bookwyrm/settings.py:120
+#: bookwyrm/settings.py:121
msgid "Home"
msgstr "主頁"
-#: bookwyrm/settings.py:121
+#: bookwyrm/settings.py:122
msgid "Books Timeline"
msgstr ""
-#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21
+#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "書目"
-#: bookwyrm/settings.py:195
+#: bookwyrm/settings.py:196
msgid "English"
msgstr "English(英語)"
-#: bookwyrm/settings.py:196
+#: bookwyrm/settings.py:197
msgid "Deutsch (German)"
msgstr "Deutsch(德語)"
-#: bookwyrm/settings.py:197
+#: bookwyrm/settings.py:198
msgid "Español (Spanish)"
msgstr "Español(西班牙語)"
-#: bookwyrm/settings.py:198
+#: bookwyrm/settings.py:199
msgid "Galego (Galician)"
msgstr ""
-#: bookwyrm/settings.py:199
+#: bookwyrm/settings.py:200
msgid "Italiano (Italian)"
msgstr ""
-#: bookwyrm/settings.py:200
+#: bookwyrm/settings.py:201
msgid "Français (French)"
msgstr "Français(法語)"
-#: bookwyrm/settings.py:201
+#: bookwyrm/settings.py:202
msgid "Lietuvių (Lithuanian)"
msgstr ""
-#: bookwyrm/settings.py:202
+#: bookwyrm/settings.py:203
msgid "Norsk (Norwegian)"
msgstr ""
-#: bookwyrm/settings.py:203
+#: bookwyrm/settings.py:204
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr ""
-#: bookwyrm/settings.py:204
+#: bookwyrm/settings.py:205
msgid "Português Europeu (European Portuguese)"
msgstr ""
-#: bookwyrm/settings.py:205
+#: bookwyrm/settings.py:206
msgid "简体中文 (Simplified Chinese)"
msgstr "簡體中文"
-#: bookwyrm/settings.py:206
+#: bookwyrm/settings.py:207
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文"
@@ -268,7 +323,7 @@ msgstr "歡迎來到 %(site_name)s!"
#: bookwyrm/templates/about/about.html:22
#, python-format
-msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seemlessly with users anywhere in the BookWyrm network, this community is unique."
+msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique."
msgstr ""
#: bookwyrm/templates/about/about.html:39
@@ -310,7 +365,7 @@ msgid "Admin"
msgstr "管理員"
#: bookwyrm/templates/about/about.html:130
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:13
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:13
msgid "Send direct message"
@@ -488,61 +543,61 @@ msgstr ""
msgid "Edit Author"
msgstr "編輯作者"
-#: bookwyrm/templates/author/author.html:40
+#: bookwyrm/templates/author/author.html:35
msgid "Author details"
msgstr ""
-#: bookwyrm/templates/author/author.html:44
+#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/edit_author.html:42
msgid "Aliases:"
msgstr "別名:"
-#: bookwyrm/templates/author/author.html:53
+#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "出生:"
-#: bookwyrm/templates/author/author.html:60
+#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "逝世:"
-#: bookwyrm/templates/author/author.html:70
+#: bookwyrm/templates/author/author.html:65
msgid "External links"
msgstr ""
-#: bookwyrm/templates/author/author.html:75
+#: bookwyrm/templates/author/author.html:70
msgid "Wikipedia"
msgstr "維基百科"
-#: bookwyrm/templates/author/author.html:83
+#: bookwyrm/templates/author/author.html:78
msgid "View ISNI record"
msgstr ""
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:83
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:122
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr ""
-#: bookwyrm/templates/author/author.html:92
+#: bookwyrm/templates/author/author.html:87
#: bookwyrm/templates/book/book.html:126
msgid "View on OpenLibrary"
msgstr "在 OpenLibrary 檢視"
-#: bookwyrm/templates/author/author.html:107
+#: bookwyrm/templates/author/author.html:102
#: bookwyrm/templates/book/book.html:140
msgid "View on Inventaire"
msgstr "在 Inventaire 檢視"
-#: bookwyrm/templates/author/author.html:123
+#: bookwyrm/templates/author/author.html:118
msgid "View on LibraryThing"
msgstr ""
-#: bookwyrm/templates/author/author.html:131
+#: bookwyrm/templates/author/author.html:126
msgid "View on Goodreads"
msgstr ""
-#: bookwyrm/templates/author/author.html:145
+#: bookwyrm/templates/author/author.html:141
#, python-format
msgid "Books by %(name)s"
msgstr "%(name)s 所著的書"
@@ -572,7 +627,9 @@ msgid "Metadata"
msgstr "元資料"
#: bookwyrm/templates/author/edit_author.html:35
-#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9
+#: bookwyrm/templates/lists/form.html:9
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14
+#: bookwyrm/templates/shelf/form.html:9
msgid "Name:"
msgstr "名稱:"
@@ -626,16 +683,18 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
-#: bookwyrm/templates/book/readthrough.html:82
+#: bookwyrm/templates/book/file_links/add_link_modal.html:58
+#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:124
+#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
#: bookwyrm/templates/settings/federation/edit_instance.html:82
#: bookwyrm/templates/settings/federation/instance.html:87
#: bookwyrm/templates/settings/site.html:133
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:68
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
msgid "Save"
@@ -643,17 +702,20 @@ msgstr "儲存"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:194 bookwyrm/templates/book/book.html:252
+#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
-#: bookwyrm/templates/book/delete_readthrough_modal.html:23
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
-#: bookwyrm/templates/book/readthrough.html:83
+#: bookwyrm/templates/book/file_links/add_link_modal.html:60
+#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:18
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
+#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/federation/instance.html:88
-#: bookwyrm/templates/snippets/report_modal.html:38
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
+#: bookwyrm/templates/snippets/report_modal.html:54
msgid "Cancel"
msgstr "取消"
@@ -721,39 +783,35 @@ msgstr "本書的 另一個版本 在你的 %(title)s\"\n"
+" "
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:32
+#: bookwyrm/templates/settings/link_domains/link_table.html:6
+msgid "URL"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:33
+#: bookwyrm/templates/settings/link_domains/link_table.html:7
+msgid "Added by"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:34
+#: bookwyrm/templates/settings/link_domains/link_table.html:8
+msgid "Filetype"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:35
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
+#: bookwyrm/templates/settings/reports/report_links_table.html:5
+msgid "Domain"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:36
+#: bookwyrm/templates/import/import_status.html:127
+#: bookwyrm/templates/settings/announcements/announcements.html:38
+#: bookwyrm/templates/settings/federation/instance_list.html:46
+#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
+#: bookwyrm/templates/settings/invites/status_filter.html:5
+#: bookwyrm/templates/settings/users/user_admin.html:34
+#: bookwyrm/templates/settings/users/user_info.html:20
+msgid "Status"
+msgstr "狀態"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:37
+#: bookwyrm/templates/settings/federation/instance.html:94
+#: bookwyrm/templates/settings/reports/report_links_table.html:6
+msgid "Actions"
+msgstr "動作"
+
+#: bookwyrm/templates/book/file_links/edit_links.html:53
+#: bookwyrm/templates/book/file_links/verification_modal.html:25
+msgid "Report spam"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:97
+msgid "No links available for this book."
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/edit_links.html:108
+#: bookwyrm/templates/book/file_links/links.html:18
+msgid "Add link to file"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/file_link_page.html:6
+msgid "File Links"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:9
+msgid "Get a copy"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/links.html:47
+msgid "No links available"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:5
+msgid "Leaving BookWyrm"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:11
+#, python-format
+msgid "This link is taking you to: %(link_url)s
.
Is that where you'd like to go?"
+msgstr ""
+
+#: bookwyrm/templates/book/file_links/verification_modal.html:20
+msgid "Continue"
+msgstr ""
+
#: bookwyrm/templates/book/publisher_info.html:23
#, python-format
msgid "%(format)s, %(pages)s pages"
@@ -1061,35 +1203,6 @@ msgstr "由 %(publisher)s 出版。"
msgid "rated it"
msgstr "評價了"
-#: bookwyrm/templates/book/readthrough.html:9
-msgid "Progress Updates:"
-msgstr "進度更新:"
-
-#: bookwyrm/templates/book/readthrough.html:14
-msgid "finished"
-msgstr "已完成"
-
-#: bookwyrm/templates/book/readthrough.html:25
-msgid "Show all updates"
-msgstr "顯示所有更新"
-
-#: bookwyrm/templates/book/readthrough.html:41
-msgid "Delete this progress update"
-msgstr "刪除此進度更新"
-
-#: bookwyrm/templates/book/readthrough.html:53
-msgid "started"
-msgstr "已開始"
-
-#: bookwyrm/templates/book/readthrough.html:60
-#: bookwyrm/templates/book/readthrough.html:78
-msgid "Edit read dates"
-msgstr "編輯閱讀日期"
-
-#: bookwyrm/templates/book/readthrough.html:64
-msgid "Delete these read dates"
-msgstr "刪除這些閱讀日期"
-
#: bookwyrm/templates/book/sync_modal.html:15
#, python-format
msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
@@ -1126,8 +1239,8 @@ msgstr ""
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
-#: bookwyrm/templates/settings/dashboard/dashboard.html:93
-#: bookwyrm/templates/snippets/report_modal.html:37
+#: bookwyrm/templates/settings/dashboard/dashboard.html:104
+#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Submit"
msgstr "提交"
@@ -1469,39 +1582,6 @@ msgstr "你的書目"
msgid "There are no books here right now! Try searching for a book to get started"
msgstr "現在這裡還沒有任何書目!嘗試著從搜尋某本書開始吧"
-#: bookwyrm/templates/feed/suggested_books.html:19
-#: bookwyrm/templates/get_started/book_preview.html:10
-#: bookwyrm/templates/shelf/shelf.html:38
-#: bookwyrm/templates/shelf/shelf.html:83
-#: bookwyrm/templates/snippets/shelf_selector.html:28
-#: bookwyrm/templates/user/books_header.html:4
-#: bookwyrm/templates/user/user.html:33
-msgid "To Read"
-msgstr "想讀"
-
-#: bookwyrm/templates/feed/suggested_books.html:20
-#: bookwyrm/templates/get_started/book_preview.html:11
-#: bookwyrm/templates/shelf/shelf.html:40
-#: bookwyrm/templates/shelf/shelf.html:84
-#: bookwyrm/templates/snippets/shelf_selector.html:29
-#: bookwyrm/templates/user/books_header.html:6
-#: bookwyrm/templates/user/user.html:34
-msgid "Currently Reading"
-msgstr "在讀"
-
-#: bookwyrm/templates/feed/suggested_books.html:21
-#: bookwyrm/templates/get_started/book_preview.html:12
-#: bookwyrm/templates/shelf/shelf.html:42
-#: bookwyrm/templates/shelf/shelf.html:85
-#: bookwyrm/templates/snippets/shelf_selector.html:30
-#: bookwyrm/templates/snippets/shelf_selector.html:49
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
-#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
-#: bookwyrm/templates/user/books_header.html:8
-#: bookwyrm/templates/user/user.html:35
-msgid "Read"
-msgstr "讀過"
-
#: bookwyrm/templates/feed/suggested_users.html:5
#: bookwyrm/templates/get_started/users.html:6
msgid "Who to follow"
@@ -1533,6 +1613,30 @@ msgstr "你讀過 %(book_title)s 了嗎?"
msgid "Add to your books"
msgstr ""
+#: bookwyrm/templates/get_started/book_preview.html:10
+#: bookwyrm/templates/shelf/shelf.html:86
+#: bookwyrm/templates/snippets/translated_shelf_name.html:5
+#: bookwyrm/templates/user/user.html:33
+msgid "To Read"
+msgstr "想讀"
+
+#: bookwyrm/templates/get_started/book_preview.html:11
+#: bookwyrm/templates/shelf/shelf.html:87
+#: bookwyrm/templates/snippets/translated_shelf_name.html:7
+#: bookwyrm/templates/user/user.html:34
+msgid "Currently Reading"
+msgstr "在讀"
+
+#: bookwyrm/templates/get_started/book_preview.html:12
+#: bookwyrm/templates/shelf/shelf.html:88
+#: bookwyrm/templates/snippets/shelf_selector.html:47
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24
+#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12
+#: bookwyrm/templates/snippets/translated_shelf_name.html:9
+#: bookwyrm/templates/user/user.html:35
+msgid "Read"
+msgstr "讀過"
+
#: bookwyrm/templates/get_started/books.html:6
msgid "What are you reading?"
msgstr "你在閱讀什麼?"
@@ -1666,6 +1770,23 @@ msgstr ""
msgid "Delete this group?"
msgstr ""
+#: bookwyrm/templates/groups/delete_group_modal.html:7
+#: bookwyrm/templates/lists/delete_list_modal.html:7
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12
+msgid "This action cannot be un-done"
+msgstr ""
+
+#: bookwyrm/templates/groups/delete_group_modal.html:15
+#: bookwyrm/templates/lists/delete_list_modal.html:15
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
+#: bookwyrm/templates/settings/announcements/announcement.html:20
+#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
+#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
+#: bookwyrm/templates/snippets/follow_request_buttons.html:12
+#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
+msgid "Delete"
+msgstr "刪除"
+
#: bookwyrm/templates/groups/edit_form.html:5
msgid "Edit Group"
msgstr ""
@@ -1744,7 +1865,7 @@ msgstr ""
#: bookwyrm/templates/import/import.html:5
#: bookwyrm/templates/import/import.html:9
-#: bookwyrm/templates/shelf/shelf.html:61
+#: bookwyrm/templates/shelf/shelf.html:64
msgid "Import Books"
msgstr "匯入書目"
@@ -1830,8 +1951,8 @@ msgid "Row"
msgstr ""
#: bookwyrm/templates/import/import_status.html:103
-#: bookwyrm/templates/shelf/shelf.html:144
-#: bookwyrm/templates/shelf/shelf.html:166
+#: bookwyrm/templates/shelf/shelf.html:147
+#: bookwyrm/templates/shelf/shelf.html:169
msgid "Title"
msgstr "標題"
@@ -1844,8 +1965,8 @@ msgid "Openlibrary key"
msgstr ""
#: bookwyrm/templates/import/import_status.html:114
-#: bookwyrm/templates/shelf/shelf.html:145
-#: bookwyrm/templates/shelf/shelf.html:169
+#: bookwyrm/templates/shelf/shelf.html:148
+#: bookwyrm/templates/shelf/shelf.html:172
msgid "Author"
msgstr "作者"
@@ -1860,19 +1981,10 @@ msgid "Review"
msgstr "書評"
#: bookwyrm/templates/import/import_status.html:124
+#: bookwyrm/templates/settings/link_domains/link_table.html:9
msgid "Book"
msgstr "書目"
-#: bookwyrm/templates/import/import_status.html:127
-#: bookwyrm/templates/settings/announcements/announcements.html:38
-#: bookwyrm/templates/settings/federation/instance_list.html:46
-#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44
-#: bookwyrm/templates/settings/invites/status_filter.html:5
-#: bookwyrm/templates/settings/users/user_admin.html:34
-#: bookwyrm/templates/settings/users/user_info.html:20
-msgid "Status"
-msgstr "狀態"
-
#: bookwyrm/templates/import/import_status.html:135
msgid "Import preview unavailable."
msgstr ""
@@ -1912,6 +2024,7 @@ msgstr ""
#: bookwyrm/templates/import/manual_review.html:58
#: bookwyrm/templates/lists/curate.html:59
+#: bookwyrm/templates/settings/link_domains/link_domains.html:76
msgid "Approve"
msgstr "批准"
@@ -1920,7 +2033,7 @@ msgid "Reject"
msgstr ""
#: bookwyrm/templates/import/tooltip.html:6
-msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
+msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
#: bookwyrm/templates/import/troubleshoot.html:7
@@ -1965,7 +2078,7 @@ msgstr "沒有權限"
msgid "Sorry! This invite code is no longer valid."
msgstr "抱歉!此邀請碼已不再有效。"
-#: bookwyrm/templates/landing/landing.html:7
+#: bookwyrm/templates/landing/landing.html:9
msgid "Recent Books"
msgstr "最近書目"
@@ -2259,6 +2372,7 @@ msgid "List position"
msgstr "列表位置:"
#: bookwyrm/templates/lists/list.html:101
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
msgid "Set"
msgstr "設定"
@@ -2724,23 +2838,94 @@ msgstr ""
msgid "Want to Read \"%(book_title)s\""
msgstr ""
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4
+msgid "Delete these read dates?"
+msgstr "刪除這些閱讀日期嗎?"
+
+#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8
+#, python-format
+msgid "You are deleting this readthrough and its %(count)s associated progress updates."
+msgstr "你正要刪除這篇閱讀經過以及與之相關的 %(count)s 次進度更新。"
+
+#: bookwyrm/templates/readthrough/readthrough.html:6
+#: bookwyrm/templates/readthrough/readthrough_modal.html:8
+#, python-format
+msgid "Update read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:10
+#: bookwyrm/templates/readthrough/readthrough_modal.html:31
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
+#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
+msgid "Started reading"
+msgstr "已開始閱讀"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:18
+#: bookwyrm/templates/readthrough/readthrough_modal.html:49
+msgid "Progress"
+msgstr "進度"
+
+#: bookwyrm/templates/readthrough/readthrough_form.html:24
+#: bookwyrm/templates/readthrough/readthrough_modal.html:56
+#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
+msgid "Finished reading"
+msgstr "已完成閱讀"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:9
+msgid "Progress Updates:"
+msgstr "進度更新:"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:14
+msgid "finished"
+msgstr "已完成"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:25
+msgid "Show all updates"
+msgstr "顯示所有更新"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:41
+msgid "Delete this progress update"
+msgstr "刪除此進度更新"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:53
+msgid "started"
+msgstr "已開始"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:60
+msgid "Edit read dates"
+msgstr "編輯閱讀日期"
+
+#: bookwyrm/templates/readthrough/readthrough_list.html:68
+msgid "Delete these read dates"
+msgstr "刪除這些閱讀日期"
+
+#: bookwyrm/templates/readthrough/readthrough_modal.html:12
+#, python-format
+msgid "Add read dates for \"%(title)s\""
+msgstr ""
+
+#: bookwyrm/templates/report.html:5
+#: bookwyrm/templates/snippets/report_button.html:13
+msgid "Report"
+msgstr "舉報"
+
#: bookwyrm/templates/search/book.html:44
msgid "Results from"
msgstr ""
-#: bookwyrm/templates/search/book.html:79
+#: bookwyrm/templates/search/book.html:80
msgid "Import book"
msgstr "匯入書目"
-#: bookwyrm/templates/search/book.html:104
+#: bookwyrm/templates/search/book.html:106
msgid "Load results from other catalogues"
msgstr "從其它分類載入結果"
-#: bookwyrm/templates/search/book.html:108
+#: bookwyrm/templates/search/book.html:110
msgid "Manually add book"
msgstr "手動新增書目"
-#: bookwyrm/templates/search/book.html:113
+#: bookwyrm/templates/search/book.html:115
msgid "Log in to import or add books."
msgstr "登陸以匯入或新增書目。"
@@ -2796,13 +2981,13 @@ msgstr "否"
#: bookwyrm/templates/settings/announcements/announcement.html:46
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
-#: bookwyrm/templates/settings/dashboard/dashboard.html:71
+#: bookwyrm/templates/settings/dashboard/dashboard.html:82
msgid "Start date:"
msgstr "開始日期:"
#: bookwyrm/templates/settings/announcements/announcement.html:51
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
-#: bookwyrm/templates/settings/dashboard/dashboard.html:77
+#: bookwyrm/templates/settings/dashboard/dashboard.html:88
msgid "End date:"
msgstr "結束日期:"
@@ -2830,7 +3015,7 @@ msgstr ""
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
-#: bookwyrm/templates/settings/layout.html:72
+#: bookwyrm/templates/settings/layout.html:76
msgid "Announcements"
msgstr "公告"
@@ -2870,7 +3055,7 @@ msgid "Dashboard"
msgstr ""
#: bookwyrm/templates/settings/dashboard/dashboard.html:15
-#: bookwyrm/templates/settings/dashboard/dashboard.html:100
+#: bookwyrm/templates/settings/dashboard/dashboard.html:111
msgid "Total users"
msgstr ""
@@ -2896,35 +3081,41 @@ msgstr[0] ""
#: bookwyrm/templates/settings/dashboard/dashboard.html:54
#, python-format
+msgid "%(display_count)s domain needs review"
+msgid_plural "%(display_count)s domains need review"
+msgstr[0] ""
+
+#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#, python-format
msgid "%(display_count)s invite request"
msgid_plural "%(display_count)s invite requests"
msgstr[0] ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:65
+#: bookwyrm/templates/settings/dashboard/dashboard.html:76
msgid "Instance Activity"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:83
+#: bookwyrm/templates/settings/dashboard/dashboard.html:94
msgid "Interval:"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:87
+#: bookwyrm/templates/settings/dashboard/dashboard.html:98
msgid "Days"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:88
+#: bookwyrm/templates/settings/dashboard/dashboard.html:99
msgid "Weeks"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:106
+#: bookwyrm/templates/settings/dashboard/dashboard.html:117
msgid "User signup activity"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:112
+#: bookwyrm/templates/settings/dashboard/dashboard.html:123
msgid "Status activity"
msgstr ""
-#: bookwyrm/templates/settings/dashboard/dashboard.html:118
+#: bookwyrm/templates/settings/dashboard/dashboard.html:129
msgid "Works created"
msgstr ""
@@ -2959,10 +3150,6 @@ msgstr ""
msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked."
msgstr ""
-#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
-msgid "Domain"
-msgstr ""
-
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27
msgid "Options"
@@ -3073,12 +3260,8 @@ msgstr "編輯"
msgid "No notes"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance.html:94
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
-msgid "Actions"
-msgstr "動作"
-
#: bookwyrm/templates/settings/federation/instance.html:98
+#: bookwyrm/templates/settings/link_domains/link_domains.html:87
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "封鎖"
@@ -3291,62 +3474,113 @@ msgstr ""
msgid "Reports"
msgstr "舉報"
-#: bookwyrm/templates/settings/layout.html:68
+#: bookwyrm/templates/settings/layout.html:67
+#: bookwyrm/templates/settings/link_domains/link_domains.html:5
+#: bookwyrm/templates/settings/link_domains/link_domains.html:7
+msgid "Link Domains"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:72
msgid "Instance Settings"
msgstr "實例設定"
-#: bookwyrm/templates/settings/layout.html:76
+#: bookwyrm/templates/settings/layout.html:80
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "網站設定"
-#: bookwyrm/templates/settings/reports/report.html:5
-#: bookwyrm/templates/settings/reports/report.html:8
-#: bookwyrm/templates/settings/reports/report_preview.html:6
+#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
#, python-format
-msgid "Report #%(report_id)s: %(username)s"
-msgstr "舉報 #%(report_id)s: %(username)s"
+msgid "Set display name for %(url)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:9
+#: bookwyrm/templates/settings/link_domains/link_domains.html:11
+msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:45
+msgid "Set display name"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:53
+msgid "View links"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:96
+msgid "No domains currently approved"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:98
+msgid "No domains currently pending"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_domains.html:100
+msgid "No domains currently blocked"
+msgstr ""
+
+#: bookwyrm/templates/settings/link_domains/link_table.html:39
+msgid "No links available for this domain."
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:11
msgid "Back to reports"
msgstr "回到舉報"
-#: bookwyrm/templates/settings/reports/report.html:23
+#: bookwyrm/templates/settings/reports/report.html:22
+msgid "Reported statuses"
+msgstr "被舉報的狀態"
+
+#: bookwyrm/templates/settings/reports/report.html:27
+msgid "Status has been deleted"
+msgstr "狀態已被刪除"
+
+#: bookwyrm/templates/settings/reports/report.html:39
+msgid "Reported links"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report.html:55
msgid "Moderator Comments"
msgstr "監察員評論"
-#: bookwyrm/templates/settings/reports/report.html:41
+#: bookwyrm/templates/settings/reports/report.html:73
#: bookwyrm/templates/snippets/create_status.html:28
msgid "Comment"
msgstr "評論"
-#: bookwyrm/templates/settings/reports/report.html:46
-msgid "Reported statuses"
-msgstr "被舉報的狀態"
+#: bookwyrm/templates/settings/reports/report_header.html:6
+#, python-format
+msgid "Report #%(report_id)s: Status posted by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:48
-msgid "No statuses reported"
-msgstr "沒有被舉報的狀態"
+#: bookwyrm/templates/settings/reports/report_header.html:12
+#, python-format
+msgid "Report #%(report_id)s: Link added by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report.html:54
-msgid "Status has been deleted"
-msgstr "狀態已被刪除"
+#: bookwyrm/templates/settings/reports/report_header.html:18
+#, python-format
+msgid "Report #%(report_id)s: User @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:13
+#: bookwyrm/templates/settings/reports/report_links_table.html:17
+msgid "Block domain"
+msgstr ""
+
+#: bookwyrm/templates/settings/reports/report_preview.html:17
msgid "No notes provided"
msgstr "沒有提供摘記"
-#: bookwyrm/templates/settings/reports/report_preview.html:20
+#: bookwyrm/templates/settings/reports/report_preview.html:24
#, python-format
-msgid "Reported by %(username)s"
-msgstr "由 %(username)s 舉報"
+msgid "Reported by @%(username)s"
+msgstr ""
-#: bookwyrm/templates/settings/reports/report_preview.html:30
+#: bookwyrm/templates/settings/reports/report_preview.html:34
msgid "Re-open"
msgstr "重新開啟"
-#: bookwyrm/templates/settings/reports/report_preview.html:32
+#: bookwyrm/templates/settings/reports/report_preview.html:36
msgid "Resolve"
msgstr "已解決"
@@ -3474,7 +3708,7 @@ msgid "Invite request text:"
msgstr ""
#: bookwyrm/templates/settings/users/delete_user_form.html:5
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:31
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:32
msgid "Permanently delete user"
msgstr ""
@@ -3584,15 +3818,19 @@ msgstr "檢視實例"
msgid "Permanently deleted"
msgstr ""
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:20
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
+msgid "User Actions"
+msgstr ""
+
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
msgid "Suspend user"
msgstr "停用使用者"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:25
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:26
msgid "Un-suspend user"
msgstr "取消停用使用者"
-#: bookwyrm/templates/settings/users/user_moderation_actions.html:47
+#: bookwyrm/templates/settings/users/user_moderation_actions.html:48
msgid "Access level:"
msgstr "訪問權限:"
@@ -3604,49 +3842,55 @@ msgstr "建立書架"
msgid "Edit Shelf"
msgstr "編輯書架"
-#: bookwyrm/templates/shelf/shelf.html:28 bookwyrm/views/shelf/shelf.py:53
+#: bookwyrm/templates/shelf/shelf.html:24
+msgid "User profile"
+msgstr ""
+
+#: bookwyrm/templates/shelf/shelf.html:39
+#: bookwyrm/templates/snippets/translated_shelf_name.html:3
+#: bookwyrm/views/shelf/shelf.py:53
msgid "All books"
msgstr "所有書目"
-#: bookwyrm/templates/shelf/shelf.html:69
+#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "建立書架"
-#: bookwyrm/templates/shelf/shelf.html:93
+#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
msgid_plural "%(formatted_count)s books"
msgstr[0] ""
-#: bookwyrm/templates/shelf/shelf.html:100
+#: bookwyrm/templates/shelf/shelf.html:103
#, python-format
msgid "(showing %(start)s-%(end)s)"
msgstr ""
-#: bookwyrm/templates/shelf/shelf.html:112
+#: bookwyrm/templates/shelf/shelf.html:115
msgid "Edit shelf"
msgstr "編輯書架"
-#: bookwyrm/templates/shelf/shelf.html:120
+#: bookwyrm/templates/shelf/shelf.html:123
msgid "Delete shelf"
msgstr "刪除書架"
-#: bookwyrm/templates/shelf/shelf.html:148
-#: bookwyrm/templates/shelf/shelf.html:174
+#: bookwyrm/templates/shelf/shelf.html:151
+#: bookwyrm/templates/shelf/shelf.html:177
msgid "Shelved"
msgstr "上架時間"
-#: bookwyrm/templates/shelf/shelf.html:149
-#: bookwyrm/templates/shelf/shelf.html:177
+#: bookwyrm/templates/shelf/shelf.html:152
+#: bookwyrm/templates/shelf/shelf.html:180
msgid "Started"
msgstr "開始時間"
-#: bookwyrm/templates/shelf/shelf.html:150
-#: bookwyrm/templates/shelf/shelf.html:180
+#: bookwyrm/templates/shelf/shelf.html:153
+#: bookwyrm/templates/shelf/shelf.html:183
msgid "Finished"
msgstr "完成時間"
-#: bookwyrm/templates/shelf/shelf.html:206
+#: bookwyrm/templates/shelf/shelf.html:209
msgid "This shelf is empty."
msgstr "此書架是空的。"
@@ -3750,14 +3994,6 @@ msgstr "加入劇透警告"
msgid "Comment:"
msgstr "評論:"
-#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
-#: bookwyrm/templates/snippets/privacy-icons.html:15
-#: bookwyrm/templates/snippets/privacy-icons.html:16
-#: bookwyrm/templates/snippets/privacy_select.html:20
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17
-msgid "Private"
-msgstr "私密"
-
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
msgid "Post"
msgstr "釋出"
@@ -3806,38 +4042,38 @@ msgstr "取消喜歡"
msgid "Filters"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:11
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:18
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17
msgid "Filters are applied"
msgstr ""
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:21
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20
msgid "Clear filters"
msgstr "清除過濾器"
-#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
+#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
msgid "Apply filters"
msgstr "使用過濾器"
-#: bookwyrm/templates/snippets/follow_button.html:15
+#: bookwyrm/templates/snippets/follow_button.html:20
#, python-format
msgid "Follow @%(username)s"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:17
+#: bookwyrm/templates/snippets/follow_button.html:22
msgid "Follow"
msgstr "關注"
-#: bookwyrm/templates/snippets/follow_button.html:26
+#: bookwyrm/templates/snippets/follow_button.html:31
msgid "Undo follow request"
msgstr "撤回關注請求"
-#: bookwyrm/templates/snippets/follow_button.html:31
+#: bookwyrm/templates/snippets/follow_button.html:36
#, python-format
msgid "Unfollow @%(username)s"
msgstr ""
-#: bookwyrm/templates/snippets/follow_button.html:33
+#: bookwyrm/templates/snippets/follow_button.html:38
msgid "Unfollow"
msgstr "取消關注"
@@ -3878,14 +4114,14 @@ msgstr[0] ""
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
#, python-format
-msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
-msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
-msgstr[0] "\"%(book_title)s\" 的書評(%(display_rating)s 星): %(review_title)s"
+msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
+msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
+msgstr[0] ""
-#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
+#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
#, python-format
-msgid "Review of \"%(book_title)s\": %(review_title)s"
-msgstr "\"%(book_title)s\" 的書評: %(review_title)s"
+msgid "Review of \"%(book_title)s\": %(review_title)s"
+msgstr ""
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
@@ -3946,20 +4182,6 @@ msgstr "往前"
msgid "Next"
msgstr "往後"
-#: bookwyrm/templates/snippets/privacy-icons.html:3
-#: bookwyrm/templates/snippets/privacy-icons.html:4
-#: bookwyrm/templates/snippets/privacy_select.html:11
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11
-msgid "Public"
-msgstr "公開"
-
-#: bookwyrm/templates/snippets/privacy-icons.html:7
-#: bookwyrm/templates/snippets/privacy-icons.html:8
-#: bookwyrm/templates/snippets/privacy_select.html:14
-#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14
-msgid "Unlisted"
-msgstr "不公開"
-
#: bookwyrm/templates/snippets/privacy-icons.html:12
msgid "Followers-only"
msgstr "僅關注者"
@@ -3969,12 +4191,6 @@ msgstr "僅關注者"
msgid "Post privacy"
msgstr "發文隱私"
-#: bookwyrm/templates/snippets/privacy_select.html:17
-#: bookwyrm/templates/user/relationships/followers.html:6
-#: bookwyrm/templates/user/relationships/layout.html:11
-msgid "Followers"
-msgstr "關注者"
-
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
msgstr "留下評價"
@@ -3988,17 +4204,6 @@ msgstr "評價"
msgid "Finish \"%(book_title)s\""
msgstr "完成 \"%(book_title)s\""
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24
-#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21
-#: bookwyrm/templates/snippets/readthrough_form.html:9
-msgid "Started reading"
-msgstr "已開始閱讀"
-
-#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32
-#: bookwyrm/templates/snippets/readthrough_form.html:23
-msgid "Finished reading"
-msgstr "已完成閱讀"
-
#: bookwyrm/templates/snippets/reading_modals/form.html:9
msgid "(Optional)"
msgstr ""
@@ -4018,29 +4223,35 @@ msgstr "開始 \"%(book_title)s\""
msgid "Want to Read \"%(book_title)s\""
msgstr "想要閱讀 \"%(book_title)s\""
-#: bookwyrm/templates/snippets/readthrough_form.html:17
-msgid "Progress"
-msgstr "進度"
-
#: bookwyrm/templates/snippets/register_form.html:30
msgid "Sign Up"
msgstr "註冊"
-#: bookwyrm/templates/snippets/report_button.html:13
-msgid "Report"
-msgstr "舉報"
+#: bookwyrm/templates/snippets/report_modal.html:8
+#, python-format
+msgid "Report @%(username)s's status"
+msgstr ""
-#: bookwyrm/templates/snippets/report_modal.html:6
+#: bookwyrm/templates/snippets/report_modal.html:10
+#, python-format
+msgid "Report %(domain)s link"
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:12
#, python-format
msgid "Report @%(username)s"
msgstr "舉報 %(username)s"
-#: bookwyrm/templates/snippets/report_modal.html:23
+#: bookwyrm/templates/snippets/report_modal.html:34
#, python-format
msgid "This report will be sent to %(site_name)s's moderators for review."
msgstr "本舉報會被發送至 %(site_name)s 的監察員以複查。"
-#: bookwyrm/templates/snippets/report_modal.html:26
+#: bookwyrm/templates/snippets/report_modal.html:36
+msgid "Links from this domain will be removed until your report has been reviewed."
+msgstr ""
+
+#: bookwyrm/templates/snippets/report_modal.html:41
msgid "More info about this report:"
msgstr "關於本舉報的更多資訊"
@@ -4048,13 +4259,13 @@ msgstr "關於本舉報的更多資訊"
msgid "Move book"
msgstr "移動書目"
-#: bookwyrm/templates/snippets/shelf_selector.html:42
+#: bookwyrm/templates/snippets/shelf_selector.html:39
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24
msgid "Start reading"
msgstr "開始閱讀"
-#: bookwyrm/templates/snippets/shelf_selector.html:55
+#: bookwyrm/templates/snippets/shelf_selector.html:54
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38
msgid "Want to read"
@@ -4078,29 +4289,29 @@ msgstr "從 %(name)s 移除"
msgid "Finish reading"
msgstr "完成閱讀"
-#: bookwyrm/templates/snippets/status/content_status.html:75
+#: bookwyrm/templates/snippets/status/content_status.html:72
msgid "Content warning"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:82
+#: bookwyrm/templates/snippets/status/content_status.html:79
msgid "Show status"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:104
+#: bookwyrm/templates/snippets/status/content_status.html:101
#, python-format
msgid "(Page %(page)s)"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:106
+#: bookwyrm/templates/snippets/status/content_status.html:103
#, python-format
msgid "(%(percent)s%%)"
msgstr ""
-#: bookwyrm/templates/snippets/status/content_status.html:128
+#: bookwyrm/templates/snippets/status/content_status.html:125
msgid "Open image in new window"
msgstr "在新視窗中開啟圖片"
-#: bookwyrm/templates/snippets/status/content_status.html:147
+#: bookwyrm/templates/snippets/status/content_status.html:144
msgid "Hide status"
msgstr ""
@@ -4109,7 +4320,12 @@ msgstr ""
msgid "edited %(date)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/comment.html:2
+#: bookwyrm/templates/snippets/status/headers/comment.html:8
+#, python-format
+msgid "commented on %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/comment.html:15
#, python-format
msgid "commented on %(book)s"
msgstr ""
@@ -4119,7 +4335,12 @@ msgstr ""
msgid "replied to %(username)s's status"
msgstr "回覆了 %(username)s 的 狀態"
-#: bookwyrm/templates/snippets/status/headers/quotation.html:2
+#: bookwyrm/templates/snippets/status/headers/quotation.html:8
+#, python-format
+msgid "quoted %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/quotation.html:15
#, python-format
msgid "quoted %(book)s"
msgstr ""
@@ -4129,24 +4350,44 @@ msgstr ""
msgid "rated %(book)s:"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/read.html:7
+#: bookwyrm/templates/snippets/status/headers/read.html:10
+#, python-format
+msgid "finished reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/read.html:17
#, python-format
msgid "finished reading %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/reading.html:7
+#: bookwyrm/templates/snippets/status/headers/reading.html:10
+#, python-format
+msgid "started reading %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/reading.html:17
#, python-format
msgid "started reading %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/review.html:3
+#: bookwyrm/templates/snippets/status/headers/review.html:8
+#, python-format
+msgid "reviewed %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/review.html:15
#, python-format
msgid "reviewed %(book)s"
msgstr ""
-#: bookwyrm/templates/snippets/status/headers/to_read.html:7
+#: bookwyrm/templates/snippets/status/headers/to_read.html:10
#, python-format
-msgid "%(username)s wants to read %(book)s"
+msgid "wants to read %(book)s by %(author_name)s"
+msgstr ""
+
+#: bookwyrm/templates/snippets/status/headers/to_read.html:17
+#, python-format
+msgid "wants to read %(book)s"
msgstr ""
#: bookwyrm/templates/snippets/status/layout.html:24
@@ -4193,11 +4434,11 @@ msgstr "顯示更多"
msgid "Show less"
msgstr "顯示更少"
-#: bookwyrm/templates/user/books_header.html:10
+#: bookwyrm/templates/user/books_header.html:4
msgid "Your books"
msgstr "你的書目"
-#: bookwyrm/templates/user/books_header.html:15
+#: bookwyrm/templates/user/books_header.html:9
#, python-format
msgid "%(username)s's books"
msgstr "%(username)s 的書目"
diff --git a/pytest.ini b/pytest.ini
index 9ef72449..c5cdc35d 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -6,13 +6,18 @@ markers =
integration: marks tests as requiring external resources (deselect with '-m "not integration"')
env =
+ SECRET_KEY = beepbeep
DEBUG = false
- USE_HTTPS=true
+ USE_HTTPS = true
DOMAIN = your.domain.here
BOOKWYRM_DATABASE_BACKEND = postgres
MEDIA_ROOT = images/
CELERY_BROKER = ""
REDIS_BROKER_PORT = 6379
+ REDIS_BROKER_PASSWORD = beep
+ REDIS_ACTIVITY_PORT = 6379
+ REDIS_ACTIVITY_PASSWORD = beep
+ USE_DUMMY_CACHE = true
FLOWER_PORT = 8888
EMAIL_HOST = "smtp.mailgun.org"
EMAIL_PORT = 587
@@ -20,4 +25,3 @@ env =
EMAIL_HOST_PASSWORD = ""
EMAIL_USE_TLS = true
ENABLE_PREVIEW_IMAGES = false
- USE_S3 = false