diff --git a/bookwyrm/activitypub/base_activity.py b/bookwyrm/activitypub/base_activity.py
index fa845f124..095ec0227 100644
--- a/bookwyrm/activitypub/base_activity.py
+++ b/bookwyrm/activitypub/base_activity.py
@@ -194,6 +194,11 @@ class ActivityObject:
try:
if issubclass(type(v), ActivityObject):
data[k] = v.serialize()
+ elif isinstance(v, list):
+ data[k] = [
+ e.serialize() if issubclass(type(e), ActivityObject) else e
+ for e in v
+ ]
except TypeError:
pass
data = {k: v for (k, v) in data.items() if v is not None and k not in omit}
@@ -306,7 +311,9 @@ class Link(ActivityObject):
def serialize(self, **kwargs):
"""remove fields"""
- omit = ("id", "type", "@context")
+ omit = ("id", "@context")
+ if self.type == "Link":
+ omit += ("type",)
return super().serialize(omit=omit)
diff --git a/bookwyrm/activitypub/book.py b/bookwyrm/activitypub/book.py
index e6a01b359..745aa3aab 100644
--- a/bookwyrm/activitypub/book.py
+++ b/bookwyrm/activitypub/book.py
@@ -19,6 +19,8 @@ class BookData(ActivityObject):
viaf: str = None
wikidata: str = None
asin: str = None
+ aasin: str = None
+ isfdb: str = None
lastEditedBy: str = None
links: List[str] = field(default_factory=lambda: [])
fileLinks: List[str] = field(default_factory=lambda: [])
diff --git a/bookwyrm/emailing.py b/bookwyrm/emailing.py
index 03cf4772e..2271077b1 100644
--- a/bookwyrm/emailing.py
+++ b/bookwyrm/emailing.py
@@ -18,6 +18,12 @@ def email_data():
}
+def test_email(user):
+ """Just an admin checking if emails are sending"""
+ data = email_data()
+ send_email(user.email, *format_email("test", data))
+
+
def email_confirmation_email(user):
"""newly registered users confirm email address"""
data = email_data()
diff --git a/bookwyrm/forms/admin.py b/bookwyrm/forms/admin.py
index 2d69ef702..acff6cfaa 100644
--- a/bookwyrm/forms/admin.py
+++ b/bookwyrm/forms/admin.py
@@ -55,11 +55,45 @@ class CreateInviteForm(CustomForm):
class SiteForm(CustomForm):
class Meta:
model = models.SiteSettings
- exclude = ["admin_code", "install_mode", "imports_enabled"]
+ fields = [
+ "name",
+ "instance_tagline",
+ "instance_description",
+ "instance_short_description",
+ "default_theme",
+ "code_of_conduct",
+ "privacy_policy",
+ "impressum",
+ "show_impressum",
+ "logo",
+ "logo_small",
+ "favicon",
+ "support_link",
+ "support_title",
+ "admin_email",
+ "footer_item",
+ ]
widgets = {
"instance_short_description": forms.TextInput(
attrs={"aria-describedby": "desc_instance_short_description"}
),
+ }
+
+
+class RegistrationForm(CustomForm):
+ class Meta:
+ model = models.SiteSettings
+ fields = [
+ "allow_registration",
+ "allow_invite_requests",
+ "registration_closed_text",
+ "invite_request_text",
+ "invite_request_question",
+ "invite_question_text",
+ "require_confirm_email",
+ ]
+
+ widgets = {
"require_confirm_email": forms.CheckboxInput(
attrs={"aria-describedby": "desc_require_confirm_email"}
),
@@ -69,6 +103,23 @@ class SiteForm(CustomForm):
}
+class RegistrationLimitedForm(CustomForm):
+ class Meta:
+ model = models.SiteSettings
+ fields = [
+ "registration_closed_text",
+ "invite_request_text",
+ "invite_request_question",
+ "invite_question_text",
+ ]
+
+ widgets = {
+ "invite_request_text": forms.Textarea(
+ attrs={"aria-describedby": "desc_invite_request_text"}
+ ),
+ }
+
+
class ThemeForm(CustomForm):
class Meta:
model = models.Theme
diff --git a/bookwyrm/forms/author.py b/bookwyrm/forms/author.py
index ca59426de..a7811180f 100644
--- a/bookwyrm/forms/author.py
+++ b/bookwyrm/forms/author.py
@@ -21,6 +21,7 @@ class AuthorForm(CustomForm):
"inventaire_id",
"librarything_key",
"goodreads_key",
+ "isfdb",
"isni",
]
widgets = {
diff --git a/bookwyrm/forms/books.py b/bookwyrm/forms/books.py
index 9b3c84010..623beaa04 100644
--- a/bookwyrm/forms/books.py
+++ b/bookwyrm/forms/books.py
@@ -18,19 +18,30 @@ class CoverForm(CustomForm):
class EditionForm(CustomForm):
class Meta:
model = models.Edition
- exclude = [
- "remote_id",
- "origin_id",
- "created_date",
- "updated_date",
- "edition_rank",
- "authors",
- "parent_work",
- "shelves",
- "connector",
- "search_vector",
- "links",
- "file_links",
+ fields = [
+ "title",
+ "subtitle",
+ "description",
+ "series",
+ "series_number",
+ "languages",
+ "subjects",
+ "publishers",
+ "first_published_date",
+ "published_date",
+ "cover",
+ "physical_format",
+ "physical_format_detail",
+ "pages",
+ "isbn_13",
+ "isbn_10",
+ "openlibrary_key",
+ "inventaire_id",
+ "goodreads_key",
+ "oclc_number",
+ "asin",
+ "aasin",
+ "isfdb",
]
widgets = {
"title": forms.TextInput(attrs={"aria-describedby": "desc_title"}),
@@ -73,10 +84,15 @@ class EditionForm(CustomForm):
"inventaire_id": forms.TextInput(
attrs={"aria-describedby": "desc_inventaire_id"}
),
+ "goodreads_key": forms.TextInput(
+ attrs={"aria-describedby": "desc_goodreads_key"}
+ ),
"oclc_number": forms.TextInput(
attrs={"aria-describedby": "desc_oclc_number"}
),
"ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}),
+ "AASIN": forms.TextInput(attrs={"aria-describedby": "desc_AASIN"}),
+ "isfdb": forms.TextInput(attrs={"aria-describedby": "desc_isfdb"}),
}
diff --git a/bookwyrm/management/commands/confirm_email.py b/bookwyrm/management/commands/confirm_email.py
new file mode 100644
index 000000000..450da7eec
--- /dev/null
+++ b/bookwyrm/management/commands/confirm_email.py
@@ -0,0 +1,19 @@
+""" manually confirm e-mail of user """
+from django.core.management.base import BaseCommand
+
+from bookwyrm import models
+
+
+class Command(BaseCommand):
+ """command-line options"""
+
+ help = "Manually confirm email for user"
+
+ def add_arguments(self, parser):
+ parser.add_argument("username")
+
+ def handle(self, *args, **options):
+ name = options["username"]
+ user = models.User.objects.get(localname=name)
+ user.reactivate()
+ self.stdout.write(self.style.SUCCESS("User's email is now confirmed."))
diff --git a/bookwyrm/management/commands/initdb.py b/bookwyrm/management/commands/initdb.py
index 23020a0a6..fda40bd07 100644
--- a/bookwyrm/management/commands/initdb.py
+++ b/bookwyrm/management/commands/initdb.py
@@ -8,54 +8,64 @@ from bookwyrm import models
def init_groups():
"""permission levels"""
- groups = ["admin", "moderator", "editor"]
+ groups = ["admin", "owner", "moderator", "editor"]
for group in groups:
- Group.objects.create(name=group)
+ Group.objects.get_or_create(name=group)
def init_permissions():
"""permission types"""
permissions = [
+ {
+ "codename": "manage_registration",
+ "name": "allow or prevent user registration",
+ "groups": ["admin"],
+ },
+ {
+ "codename": "system_administration",
+ "name": "technical controls",
+ "groups": ["admin"],
+ },
{
"codename": "edit_instance_settings",
"name": "change the instance info",
- "groups": ["admin"],
+ "groups": ["admin", "owner"],
},
{
"codename": "set_user_group",
"name": "change what group a user is in",
- "groups": ["admin", "moderator"],
+ "groups": ["admin", "owner", "moderator"],
},
{
"codename": "control_federation",
"name": "control who to federate with",
- "groups": ["admin", "moderator"],
+ "groups": ["admin", "owner", "moderator"],
},
{
"codename": "create_invites",
"name": "issue invitations to join",
- "groups": ["admin", "moderator"],
+ "groups": ["admin", "owner", "moderator"],
},
{
"codename": "moderate_user",
"name": "deactivate or silence a user",
- "groups": ["admin", "moderator"],
+ "groups": ["admin", "owner", "moderator"],
},
{
"codename": "moderate_post",
"name": "delete other users' posts",
- "groups": ["admin", "moderator"],
+ "groups": ["admin", "owner", "moderator"],
},
{
"codename": "edit_book",
"name": "edit book info",
- "groups": ["admin", "moderator", "editor"],
+ "groups": ["admin", "owner", "moderator", "editor"],
},
]
content_type = ContentType.objects.get_for_model(models.User)
for permission in permissions:
- permission_obj = Permission.objects.create(
+ permission_obj, _ = Permission.objects.get_or_create(
codename=permission["codename"],
name=permission["name"],
content_type=content_type,
diff --git a/bookwyrm/migrations/0168_auto_20221205_1701.py b/bookwyrm/migrations/0168_auto_20221205_1701.py
new file mode 100644
index 000000000..45d6c30e7
--- /dev/null
+++ b/bookwyrm/migrations/0168_auto_20221205_1701.py
@@ -0,0 +1,28 @@
+# Generated by Django 3.2.16 on 2022-12-05 17:01
+
+import bookwyrm.models.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0167_auto_20221125_1900"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="author",
+ name="aasin",
+ field=bookwyrm.models.fields.CharField(
+ blank=True, max_length=255, null=True
+ ),
+ ),
+ migrations.AddField(
+ model_name="book",
+ name="aasin",
+ field=bookwyrm.models.fields.CharField(
+ blank=True, max_length=255, null=True
+ ),
+ ),
+ ]
diff --git a/bookwyrm/migrations/0168_auto_20221205_2331.py b/bookwyrm/migrations/0168_auto_20221205_2331.py
new file mode 100644
index 000000000..901ca56f0
--- /dev/null
+++ b/bookwyrm/migrations/0168_auto_20221205_2331.py
@@ -0,0 +1,63 @@
+""" I added two new permission types and a new group to the management command that
+creates the database on install, this creates them for existing instances """
+# Generated by Django 3.2.16 on 2022-12-05 23:31
+
+from django.db import migrations
+
+
+def create_groups_and_perms(apps, schema_editor):
+ """create the new "owner" group and "system admin" permission"""
+ db_alias = schema_editor.connection.alias
+ group_model = apps.get_model("auth", "Group")
+ # Add the "owner" group, if needed
+ owner_group, group_created = group_model.objects.using(db_alias).get_or_create(
+ name="owner"
+ )
+
+ # Create perms, if needed
+ user_model = apps.get_model("bookwyrm", "User")
+ content_type_model = apps.get_model("contenttypes", "ContentType")
+ content_type = content_type_model.objects.get_for_model(user_model)
+ perms_model = apps.get_model("auth", "Permission")
+ reg_perm, perm_created = perms_model.objects.using(db_alias).get_or_create(
+ codename="manage_registration",
+ name="allow or prevent user registration",
+ content_type=content_type,
+ )
+ admin_perm, admin_perm_created = perms_model.objects.using(db_alias).get_or_create(
+ codename="system_administration",
+ name="technical controls",
+ content_type=content_type,
+ )
+
+ # Add perms to the group if anything was created
+ if group_created or perm_created or admin_perm_created:
+ perms = [
+ "edit_instance_settings",
+ "set_user_group",
+ "control_federation",
+ "create_invites",
+ "moderate_user",
+ "moderate_post",
+ "edit_book",
+ ]
+ owner_group.permissions.set(
+ perms_model.objects.using(db_alias).filter(codename__in=perms).all()
+ )
+
+ # also extend these perms to admins
+ # This is get or create so the tests don't fail -- it should already exist
+ admin_group, _ = group_model.objects.using(db_alias).get_or_create(name="admin")
+ admin_group.permissions.add(reg_perm)
+ admin_group.permissions.add(admin_perm)
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0167_auto_20221125_1900"),
+ ]
+
+ operations = [
+ migrations.RunPython(create_groups_and_perms, migrations.RunPython.noop)
+ ]
diff --git a/bookwyrm/migrations/0169_auto_20221206_0902.py b/bookwyrm/migrations/0169_auto_20221206_0902.py
new file mode 100644
index 000000000..7235490eb
--- /dev/null
+++ b/bookwyrm/migrations/0169_auto_20221206_0902.py
@@ -0,0 +1,28 @@
+# Generated by Django 3.2.16 on 2022-12-06 09:02
+
+import bookwyrm.models.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0168_auto_20221205_1701"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="author",
+ name="isfdb",
+ field=bookwyrm.models.fields.CharField(
+ blank=True, max_length=255, null=True
+ ),
+ ),
+ migrations.AddField(
+ model_name="book",
+ name="isfdb",
+ field=bookwyrm.models.fields.CharField(
+ blank=True, max_length=255, null=True
+ ),
+ ),
+ ]
diff --git a/bookwyrm/migrations/0170_merge_0168_auto_20221205_2331_0169_auto_20221206_0902.py b/bookwyrm/migrations/0170_merge_0168_auto_20221205_2331_0169_auto_20221206_0902.py
new file mode 100644
index 000000000..3e199b014
--- /dev/null
+++ b/bookwyrm/migrations/0170_merge_0168_auto_20221205_2331_0169_auto_20221206_0902.py
@@ -0,0 +1,13 @@
+# Generated by Django 3.2.16 on 2022-12-11 20:00
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookwyrm", "0168_auto_20221205_2331"),
+ ("bookwyrm", "0169_auto_20221206_0902"),
+ ]
+
+ operations = []
diff --git a/bookwyrm/models/author.py b/bookwyrm/models/author.py
index 7d2a0e62b..de0c6483f 100644
--- a/bookwyrm/models/author.py
+++ b/bookwyrm/models/author.py
@@ -24,6 +24,9 @@ class Author(BookDataModel):
gutenberg_id = fields.CharField(
max_length=255, blank=True, null=True, deduplication_field=True
)
+ isfdb = fields.CharField(
+ max_length=255, blank=True, null=True, deduplication_field=True
+ )
# idk probably other keys would be useful here?
born = fields.DateTimeField(blank=True, null=True)
died = fields.DateTimeField(blank=True, null=True)
@@ -60,6 +63,11 @@ class Author(BookDataModel):
"""generate the url from the openlibrary id"""
return f"https://openlibrary.org/authors/{self.openlibrary_key}"
+ @property
+ def isfdb_link(self):
+ """generate the url from the isni id"""
+ return f"https://www.isfdb.org/cgi-bin/ea.cgi?{self.isfdb}"
+
def get_remote_id(self):
"""editions and works both use "book" instead of model_name"""
return f"https://{DOMAIN}/author/{self.id}"
diff --git a/bookwyrm/models/book.py b/bookwyrm/models/book.py
index 5bef5c1ee..e990b6d64 100644
--- a/bookwyrm/models/book.py
+++ b/bookwyrm/models/book.py
@@ -55,6 +55,12 @@ class BookDataModel(ObjectMixin, BookWyrmModel):
asin = fields.CharField(
max_length=255, blank=True, null=True, deduplication_field=True
)
+ aasin = fields.CharField(
+ max_length=255, blank=True, null=True, deduplication_field=True
+ )
+ isfdb = fields.CharField(
+ max_length=255, blank=True, null=True, deduplication_field=True
+ )
search_vector = SearchVectorField(null=True)
last_edited_by = fields.ForeignKey(
@@ -73,6 +79,11 @@ class BookDataModel(ObjectMixin, BookWyrmModel):
"""generate the url from the inventaire id"""
return f"https://inventaire.io/entity/{self.inventaire_id}"
+ @property
+ def isfdb_link(self):
+ """generate the url from the isfdb id"""
+ return f"https://www.isfdb.org/cgi-bin/title.cgi?{self.isfdb}"
+
class Meta:
"""can't initialize this model, that wouldn't make sense"""
diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py
index 785f3397c..d11f5fb1d 100644
--- a/bookwyrm/models/fields.py
+++ b/bookwyrm/models/fields.py
@@ -13,6 +13,7 @@ from django.forms import ClearableFileInput, ImageField as DjangoImageField
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from django.utils.encoding import filepath_to_uri
+from markdown import markdown
from bookwyrm import activitypub
from bookwyrm.connectors import get_image
@@ -499,6 +500,9 @@ class HtmlField(ActivitypubFieldMixin, models.TextField):
return None
return clean(value)
+ def field_to_activity(self, value):
+ return markdown(value) if value else value
+
class ArrayField(ActivitypubFieldMixin, DjangoArrayField):
"""activitypub-aware array field"""
diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py
index e48d86572..c885902f9 100644
--- a/bookwyrm/models/user.py
+++ b/bookwyrm/models/user.py
@@ -390,7 +390,10 @@ class User(OrderedCollectionPageMixin, AbstractUser):
self.is_active = True
self.deactivation_reason = None
self.allow_reactivation = False
- super().save(broadcast=False)
+ super().save(
+ broadcast=False,
+ update_fields=["deactivation_reason", "is_active", "allow_reactivation"],
+ )
@property
def local_path(self):
diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py
index 1a3238a1f..0780f8c54 100644
--- a/bookwyrm/settings.py
+++ b/bookwyrm/settings.py
@@ -11,7 +11,7 @@ from django.utils.translation import gettext_lazy as _
env = Env()
env.read_env()
DOMAIN = env("DOMAIN")
-VERSION = "0.5.2"
+VERSION = "0.5.3"
RELEASE_API = env(
"RELEASE_API",
@@ -21,7 +21,7 @@ RELEASE_API = env(
PAGE_LENGTH = env("PAGE_LENGTH", 15)
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
-JS_CACHE = "e678183c"
+JS_CACHE = "ad848b97"
# email
EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend")
diff --git a/bookwyrm/templates/author/author.html b/bookwyrm/templates/author/author.html
index fe34736cf..ade654568 100644
--- a/bookwyrm/templates/author/author.html
+++ b/bookwyrm/templates/author/author.html
@@ -28,7 +28,7 @@
{% firstof author.aliases author.born author.died as details %}
- {% firstof author.wikipedia_link author.openlibrary_key author.inventaire_id author.isni as links %}
+ {% firstof author.wikipedia_link author.openlibrary_key author.inventaire_id author.isni author.isfdb as links %}
{% if details or links %}
{% if details %}
@@ -81,6 +81,14 @@
{% endif %}
+ {% if author.isfdb %}
+
+ {% endif %}
+
{% trans "Load data" as button_text %}
{% if author.openlibrary_key %}
@@ -128,6 +136,14 @@
{% endif %}
+
+ {% if author.isfdb %}
+
+ {% endif %}
{% endif %}
diff --git a/bookwyrm/templates/author/edit_author.html b/bookwyrm/templates/author/edit_author.html
index b0727c43b..1916df6be 100644
--- a/bookwyrm/templates/author/edit_author.html
+++ b/bookwyrm/templates/author/edit_author.html
@@ -101,6 +101,13 @@
{% include 'snippets/form_errors.html' with errors_list=form.goodreads_key.errors id="desc_goodreads_key" %}
+
+ {% trans "ISFDB:" %}
+ {{ form.isfdb }}
+
+ {% include 'snippets/form_errors.html' with errors_list=form.isfdb.errors id="desc_isfdb" %}
+
+
{% trans "ISNI:" %}
{{ form.isni }}
diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html
index c5736776d..6a8d4d794 100644
--- a/bookwyrm/templates/book/book.html
+++ b/bookwyrm/templates/book/book.html
@@ -25,7 +25,7 @@
-
+
{{ book.title }}
@@ -37,7 +37,7 @@
content="{{ book.subtitle | escape }}"
>
-
+
{{ book.subtitle }}
{% endif %}
@@ -52,7 +52,7 @@
{% endif %}
{% if book.authors.exists %}
-
+
{% trans "by" %} {% include 'snippets/authors.html' with book=book %}
{% endif %}
@@ -158,6 +158,13 @@
{% endif %}
{% endif %}
+ {% if book.isfdb %}
+
+
+ {% trans "View on ISFDB" %}
+
+
+ {% endif %}
diff --git a/bookwyrm/templates/book/book_identifiers.html b/bookwyrm/templates/book/book_identifiers.html
index 19ab619da..ff5aad0bb 100644
--- a/bookwyrm/templates/book/book_identifiers.html
+++ b/bookwyrm/templates/book/book_identifiers.html
@@ -1,7 +1,7 @@
{% spaceless %}
{% load i18n %}
-{% if book.isbn_13 or book.oclc_number or book.asin %}
+{% if book.isbn_13 or book.oclc_number or book.asin or book.aasin or book.isfdb %}
{% if book.isbn_13 %}
@@ -23,6 +23,27 @@
{{ book.asin }}
{% endif %}
+
+ {% if book.aasin %}
+
+
{% trans "Audible ASIN:" %}
+ {{ book.aasin }}
+
+ {% endif %}
+
+ {% if book.isfdb %}
+
+
{% trans "ISFDB ID:" %}
+ {{ book.isfdb }}
+
+ {% endif %}
+
+ {% if book.goodreads_key %}
+
+
{% trans "Goodreads:" %}
+ {{ book.goodreads_key }}
+
+ {% endif %}
{% endif %}
{% endspaceless %}
diff --git a/bookwyrm/templates/book/edit/edit_book.html b/bookwyrm/templates/book/edit/edit_book.html
index 70ec827eb..f1b60d6c2 100644
--- a/bookwyrm/templates/book/edit/edit_book.html
+++ b/bookwyrm/templates/book/edit/edit_book.html
@@ -65,17 +65,17 @@
{% for author in author_matches %}
-
+
{% blocktrans with name=author.name %}Is "{{ name }}" one of these authors?{% endblocktrans %}
{% with forloop.counter0 as counter %}
{% for match in author.matches %}
-
+
{{ match.name }}
-
+
{% with book_title=match.book_set.first.title alt_title=match.bio %}
{% if book_title %}
{% blocktrans trimmed %}
@@ -98,6 +98,9 @@
{% endwith %}
+ {% if not forloop.last %}
+
+ {% endif %}
{% endfor %}
{% else %}
diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html
index ff77443e7..728b4819d 100644
--- a/bookwyrm/templates/book/edit/edit_book_form.html
+++ b/bookwyrm/templates/book/edit/edit_book_form.html
@@ -327,6 +327,15 @@
{% include 'snippets/form_errors.html' with errors_list=form.inventaire_id.errors id="desc_inventaire_id" %}
+
+
+ {% trans "Goodreads key:" %}
+
+ {{ form.goodreads_key }}
+
+ {% include 'snippets/form_errors.html' with errors_list=form.goodreads_key.errors id="desc_goodreads_key" %}
+
+
{% trans "OCLC Number:" %}
@@ -344,6 +353,24 @@
{% include 'snippets/form_errors.html' with errors_list=form.ASIN.errors id="desc_ASIN" %}
+
+
+
+ {% trans "Audible ASIN:" %}
+
+ {{ form.aasin }}
+
+ {% include 'snippets/form_errors.html' with errors_list=form.AASIN.errors id="desc_AASIN" %}
+
+
+
+
+ {% trans "ISFDB ID:" %}
+
+ {{ form.isfdb }}
+
+ {% include 'snippets/form_errors.html' with errors_list=form.isfdb.errors id="desc_isfdb" %}
+
diff --git a/bookwyrm/templates/email/test/html_content.html b/bookwyrm/templates/email/test/html_content.html
new file mode 100644
index 000000000..7cf577f45
--- /dev/null
+++ b/bookwyrm/templates/email/test/html_content.html
@@ -0,0 +1,12 @@
+{% extends 'email/html_layout.html' %}
+{% load i18n %}
+
+{% block content %}
+
+{% blocktrans trimmed %}
+This is a test email.
+{% endblocktrans %}
+
+
+
+{% endblock %}
diff --git a/bookwyrm/templates/email/test/subject.html b/bookwyrm/templates/email/test/subject.html
new file mode 100644
index 000000000..6ddada523
--- /dev/null
+++ b/bookwyrm/templates/email/test/subject.html
@@ -0,0 +1,4 @@
+{% load i18n %}
+{% blocktrans trimmed %}
+Test email
+{% endblocktrans %}
diff --git a/bookwyrm/templates/email/test/text_content.html b/bookwyrm/templates/email/test/text_content.html
new file mode 100644
index 000000000..9d8a8f685
--- /dev/null
+++ b/bookwyrm/templates/email/test/text_content.html
@@ -0,0 +1,9 @@
+{% extends 'email/text_layout.html' %}
+{% load i18n %}
+{% block content %}
+{% blocktrans trimmed %}
+This is a test email.
+{% endblocktrans %}
+
+
+{% endblock %}
diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html
index e58f65edd..81aaee575 100644
--- a/bookwyrm/templates/layout.html
+++ b/bookwyrm/templates/layout.html
@@ -13,6 +13,7 @@
+
{% if preview_images_enabled is True %}
diff --git a/bookwyrm/templates/settings/email_config.html b/bookwyrm/templates/settings/email_config.html
new file mode 100644
index 000000000..3b10761ec
--- /dev/null
+++ b/bookwyrm/templates/settings/email_config.html
@@ -0,0 +1,96 @@
+{% extends 'settings/layout.html' %}
+{% load humanize %}
+{% load i18n %}
+{% load celery_tags %}
+
+{% block title %}{% trans "Email Configuration" %}{% endblock %}
+
+{% block header %}{% trans "Email Configuration" %}{% endblock %}
+
+{% block panel %}
+
+{% if error %}
+
+
+
+ {% trans "Error sending test email:" %}
+ {{ error }}
+
+
+{% elif success %}
+
+
+
+ {% trans "Successfully sent test email." %}
+
+
+{% endif %}
+
+
+
+
+ {% trans "Email sender:" %}
+
+
+ {{ email_sender }}
+
+
+
+ {% trans "Email backend:" %}
+
+
+ {{ email_backend }}
+
+
+
+ {% trans "Host:" %}
+
+
+ {{ email_host }}
+
+
+
+ {% trans "Host user:" %}
+
+
+ {% firstof email_host_user "-" %}
+
+
+
+ {% trans "Port:" %}
+
+
+ {{ email_port }}
+
+
+
+ {% trans "Use TLS:" %}
+
+
+ {{ email_use_tls|yesno }}
+
+
+
+ {% trans "Use SSL:" %}
+
+
+ {{ email_use_ssl|yesno }}
+
+
+
+
+
+ {% blocktrans trimmed with email=request.user.email %}
+ Send test email to {{ email }}
+ {% endblocktrans %}
+
+
+
+
+{% endblock %}
+
diff --git a/bookwyrm/templates/settings/layout.html b/bookwyrm/templates/settings/layout.html
index f195bf754..b87fdf974 100644
--- a/bookwyrm/templates/settings/layout.html
+++ b/bookwyrm/templates/settings/layout.html
@@ -81,12 +81,14 @@
{% url 'settings-imports' as url %}
{% trans "Imports" %}
-
-
{% endif %}
{% if perms.bookwyrm.edit_instance_settings %}
@@ -101,10 +103,21 @@
{% trans "Site Settings" %}
{% block site-subtabs %}{% endblock %}
+
+ {% if perms.bookwyrm.manage_registration %}
+ {% url 'settings-registration' as url %}
+ {% trans "Registration" %}
+ {% else %}
+ {% url 'settings-registration-limited' as url %}
+ {% trans "Registration" %}
+ {% endif %}
+
+ {% if perms.bookwyrm.system_administration %}
{% url 'settings-themes' as url %}
{% trans "Themes" %}
+ {% endif %}
{% endif %}
diff --git a/bookwyrm/templates/settings/registration.html b/bookwyrm/templates/settings/registration.html
new file mode 100644
index 000000000..6126f6b92
--- /dev/null
+++ b/bookwyrm/templates/settings/registration.html
@@ -0,0 +1,83 @@
+{% extends 'settings/layout.html' %}
+{% load i18n %}
+
+{% block title %}{% trans "Registration" %}{% endblock %}
+
+{% block header %}{% trans "Registration" %}{% endblock %}
+
+{% block panel %}
+{% if success %}
+
+
+
+ {% trans "Settings saved" %}
+
+
+{% endif %}
+
+{% if form.errors %}
+
+
+
+ {% trans "Unable to save settings" %}
+
+
+{% endif %}
+
+
+{% endblock %}
+
diff --git a/bookwyrm/templates/settings/registration_limited.html b/bookwyrm/templates/settings/registration_limited.html
new file mode 100644
index 000000000..343afefbb
--- /dev/null
+++ b/bookwyrm/templates/settings/registration_limited.html
@@ -0,0 +1,81 @@
+{% extends 'settings/layout.html' %}
+{% load i18n %}
+
+{% block title %}{% trans "Registration" %}{% endblock %}
+
+{% block header %}{% trans "Registration" %}{% endblock %}
+
+{% block panel %}
+{% if success %}
+
+
+
+ {% trans "Settings saved" %}
+
+
+{% endif %}
+
+{% if form.errors %}
+
+
+
+ {% trans "Unable to save settings" %}
+
+
+{% endif %}
+
+{% if site.allow_registration %}
+
+ {% trans "Registration is enabled on this instance" %}
+
+{% else %}
+
+{% endif %}
+{% endblock %}
+
diff --git a/bookwyrm/templates/settings/site.html b/bookwyrm/templates/settings/site.html
index 4cfa531e5..b6aef774a 100644
--- a/bookwyrm/templates/settings/site.html
+++ b/bookwyrm/templates/settings/site.html
@@ -10,7 +10,6 @@
{% trans "Instance Info" %}
{% trans "Display" %}
{% trans "Footer Content" %}
-
{% trans "Registration" %}
{% endblock %}
@@ -141,55 +140,6 @@
-
-
-
- {% trans "Registration" %}
-
-
-
- {{ site_form.allow_registration }}
- {% trans "Allow registration" %}
-
-
-
-
- {{ site_form.require_confirm_email }}
- {% trans "Require users to confirm email address" %}
-
-
{% trans "(Recommended if registration is open)" %}
-
-
-
- {{ site_form.allow_invite_requests }}
- {% trans "Allow invite requests" %}
-
-
-
-
- {{ site_form.invite_request_question }}
- {% trans "Set a question for invite requests" %}
-
-
-
-
- {% trans "Question:" %}
- {{ site_form.invite_question_text }}
-
-
-
- {% trans "Registration closed text:" %}
- {{ site_form.registration_closed_text }}
-
-
- {% trans "Invite request text:" %}
- {{ site_form.invite_request_text }}
-
- {% include 'snippets/form_errors.html' with errors_list=site_form.invite_request_text.errors id="desc_invite_request_text" %}
-
-
-
-
diff --git a/bookwyrm/templates/user/layout.html b/bookwyrm/templates/user/layout.html
index f0254e187..ecf36845c 100755
--- a/bookwyrm/templates/user/layout.html
+++ b/bookwyrm/templates/user/layout.html
@@ -66,6 +66,10 @@
{% trans "Activity" %}
+ {% url 'user-reviews-comments' user|username as url %}
+
+ {% trans "Reviews and Comments" %}
+
{% if is_self or user.goal.exists %}
{% now 'Y' as year %}
{% url 'user-goal' user|username year as url %}
diff --git a/bookwyrm/templates/user/reviews_comments.html b/bookwyrm/templates/user/reviews_comments.html
new file mode 100644
index 000000000..f5c5c9265
--- /dev/null
+++ b/bookwyrm/templates/user/reviews_comments.html
@@ -0,0 +1,30 @@
+{% extends 'user/layout.html' %}
+{% load i18n %}
+{% load utilities %}
+
+{% block title %}{{ user.display_name }}{% endblock %}
+
+{% block header %}
+
+
+
{% trans "Reviews and Comments" %}
+
+
+{% endblock %}
+
+{% block panel %}
+
+ {% for activity in activities %}
+
+ {% include 'snippets/status/status.html' with status=activity %}
+
+ {% endfor %}
+ {% if not activities %}
+
+
{% trans "No reviews or comments yet!" %}
+
+ {% endif %}
+
+ {% include 'snippets/pagination.html' with page=activities path=path %}
+
+{% endblock %}
diff --git a/bookwyrm/tests/data/bw_edition.json b/bookwyrm/tests/data/bw_edition.json
index 6194e4090..b61ceb1c1 100644
--- a/bookwyrm/tests/data/bw_edition.json
+++ b/bookwyrm/tests/data/bw_edition.json
@@ -21,6 +21,7 @@
"openlibrary_key": "OL29486417M",
"librarything_key": null,
"goodreads_key": null,
+ "isfdb": null,
"attachment": [
{
"url": "https://bookwyrm.social/images/covers/50202953._SX318_.jpg",
diff --git a/bookwyrm/tests/management/test_initdb.py b/bookwyrm/tests/management/test_initdb.py
index a00c6d674..229009a55 100644
--- a/bookwyrm/tests/management/test_initdb.py
+++ b/bookwyrm/tests/management/test_initdb.py
@@ -12,7 +12,7 @@ class InitDB(TestCase):
def test_init_groups(self):
"""Create groups"""
initdb.init_groups()
- self.assertEqual(Group.objects.count(), 3)
+ self.assertEqual(Group.objects.count(), 4)
self.assertTrue(Group.objects.filter(name="admin").exists())
self.assertTrue(Group.objects.filter(name="moderator").exists())
self.assertTrue(Group.objects.filter(name="editor").exists())
@@ -87,7 +87,7 @@ class InitDB(TestCase):
command.handle()
# everything should have been called
- self.assertEqual(Group.objects.count(), 3)
+ self.assertEqual(Group.objects.count(), 4)
self.assertTrue(Permission.objects.exists())
self.assertEqual(models.Connector.objects.count(), 3)
self.assertEqual(models.SiteSettings.objects.count(), 1)
@@ -99,7 +99,7 @@ class InitDB(TestCase):
command.handle(limit="group")
# everything should have been called
- self.assertEqual(Group.objects.count(), 3)
+ self.assertEqual(Group.objects.count(), 4)
self.assertEqual(models.Connector.objects.count(), 0)
self.assertEqual(models.SiteSettings.objects.count(), 0)
self.assertEqual(models.LinkDomain.objects.count(), 0)
diff --git a/bookwyrm/tests/models/test_activitypub_mixin.py b/bookwyrm/tests/models/test_activitypub_mixin.py
index 1556de44e..fdd1883a8 100644
--- a/bookwyrm/tests/models/test_activitypub_mixin.py
+++ b/bookwyrm/tests/models/test_activitypub_mixin.py
@@ -383,16 +383,16 @@ class ActivitypubMixins(TestCase):
self.assertEqual(page_1.partOf, "http://fish.com/")
self.assertEqual(page_1.id, "http://fish.com/?page=1")
self.assertEqual(page_1.next, "http://fish.com/?page=2")
- self.assertEqual(page_1.orderedItems[0]["content"], "test status 29")
- self.assertEqual(page_1.orderedItems[1]["content"], "test status 28")
+ self.assertEqual(page_1.orderedItems[0]["content"], "test status 29
")
+ self.assertEqual(page_1.orderedItems[1]["content"], "test status 28
")
page_2 = to_ordered_collection_page(
models.Status.objects.all(), "http://fish.com/", page=2
)
self.assertEqual(page_2.partOf, "http://fish.com/")
self.assertEqual(page_2.id, "http://fish.com/?page=2")
- self.assertEqual(page_2.orderedItems[0]["content"], "test status 14")
- self.assertEqual(page_2.orderedItems[-1]["content"], "test status 0")
+ self.assertEqual(page_2.orderedItems[0]["content"], "test status 14
")
+ self.assertEqual(page_2.orderedItems[-1]["content"], "test status 0
")
def test_to_ordered_collection(self, *_):
"""convert a queryset into an ordered collection object"""
@@ -420,8 +420,8 @@ class ActivitypubMixins(TestCase):
)
self.assertEqual(page_2.partOf, "http://fish.com/")
self.assertEqual(page_2.id, "http://fish.com/?page=2")
- self.assertEqual(page_2.orderedItems[0]["content"], "test status 14")
- self.assertEqual(page_2.orderedItems[-1]["content"], "test status 0")
+ self.assertEqual(page_2.orderedItems[0]["content"], "test status 14
")
+ self.assertEqual(page_2.orderedItems[-1]["content"], "test status 0
")
def test_broadcast_task(self, *_):
"""Should be calling asyncio"""
diff --git a/bookwyrm/tests/models/test_status_model.py b/bookwyrm/tests/models/test_status_model.py
index 9c2e2da59..4f0570a3f 100644
--- a/bookwyrm/tests/models/test_status_model.py
+++ b/bookwyrm/tests/models/test_status_model.py
@@ -132,7 +132,7 @@ class Status(TestCase):
activity = status.to_activity()
self.assertEqual(activity["id"], status.remote_id)
self.assertEqual(activity["type"], "Note")
- self.assertEqual(activity["content"], "test content")
+ self.assertEqual(activity["content"], "test content
")
self.assertEqual(activity["sensitive"], False)
def test_status_to_activity_tombstone(self, *_):
@@ -156,7 +156,7 @@ class Status(TestCase):
activity = status.to_activity(pure=True)
self.assertEqual(activity["id"], status.remote_id)
self.assertEqual(activity["type"], "Note")
- self.assertEqual(activity["content"], "test content")
+ self.assertEqual(activity["content"], "test content
")
self.assertEqual(activity["sensitive"], False)
self.assertEqual(activity["attachment"], [])
@@ -170,7 +170,7 @@ class Status(TestCase):
activity = status.to_activity()
self.assertEqual(activity["id"], status.remote_id)
self.assertEqual(activity["type"], "GeneratedNote")
- self.assertEqual(activity["content"], "test content")
+ self.assertEqual(activity["content"], "test content
")
self.assertEqual(activity["sensitive"], False)
self.assertEqual(len(activity["tag"]), 2)
@@ -191,14 +191,14 @@ class Status(TestCase):
self.assertEqual(activity["type"], "Note")
self.assertEqual(activity["sensitive"], False)
self.assertIsInstance(activity["attachment"], list)
- self.assertEqual(activity["attachment"][0].type, "Document")
+ self.assertEqual(activity["attachment"][0]["type"], "Document")
self.assertTrue(
re.match(
- r"https:\/\/your.domain.here\/images\/covers\/test_[A-z0-9]+.jpg",
- activity["attachment"][0].url,
+ r"https:\/\/your.domain.here\/images\/covers\/test(_[A-z0-9]+)?.jpg",
+ activity["attachment"][0]["url"],
)
)
- self.assertEqual(activity["attachment"][0].name, "Test Edition")
+ self.assertEqual(activity["attachment"][0]["name"], "Test Edition")
def test_comment_to_activity(self, *_):
"""subclass of the base model version with a "pure" serializer"""
@@ -208,7 +208,7 @@ class Status(TestCase):
activity = status.to_activity()
self.assertEqual(activity["id"], status.remote_id)
self.assertEqual(activity["type"], "Comment")
- self.assertEqual(activity["content"], "test content")
+ self.assertEqual(activity["content"], "test content
")
self.assertEqual(activity["inReplyToBook"], self.book.remote_id)
def test_comment_to_pure_activity(self, *_):
@@ -223,14 +223,14 @@ class Status(TestCase):
activity["content"],
f'test content(comment on "Test Edition" )
',
)
- self.assertEqual(activity["attachment"][0].type, "Document")
+ self.assertEqual(activity["attachment"][0]["type"], "Document")
# self.assertTrue(
# re.match(
# r"https:\/\/your.domain.here\/images\/covers\/test_[A-z0-9]+.jpg",
# activity["attachment"][0].url,
# )
# )
- self.assertEqual(activity["attachment"][0].name, "Test Edition")
+ self.assertEqual(activity["attachment"][0]["name"], "Test Edition")
def test_quotation_to_activity(self, *_):
"""subclass of the base model version with a "pure" serializer"""
@@ -243,8 +243,8 @@ class Status(TestCase):
activity = status.to_activity()
self.assertEqual(activity["id"], status.remote_id)
self.assertEqual(activity["type"], "Quotation")
- self.assertEqual(activity["quote"], "a sickening sense")
- self.assertEqual(activity["content"], "test content")
+ self.assertEqual(activity["quote"], "a sickening sense
")
+ self.assertEqual(activity["content"], "test content
")
self.assertEqual(activity["inReplyToBook"], self.book.remote_id)
def test_quotation_to_pure_activity(self, *_):
@@ -262,14 +262,14 @@ class Status(TestCase):
activity["content"],
f'a sickening sense -- "Test Edition"
test content',
)
- self.assertEqual(activity["attachment"][0].type, "Document")
+ self.assertEqual(activity["attachment"][0]["type"], "Document")
self.assertTrue(
re.match(
r"https:\/\/your.domain.here\/images\/covers\/test_[A-z0-9]+.jpg",
- activity["attachment"][0].url,
+ activity["attachment"][0]["url"],
)
)
- self.assertEqual(activity["attachment"][0].name, "Test Edition")
+ self.assertEqual(activity["attachment"][0]["name"], "Test Edition")
def test_review_to_activity(self, *_):
"""subclass of the base model version with a "pure" serializer"""
@@ -285,7 +285,7 @@ class Status(TestCase):
self.assertEqual(activity["type"], "Review")
self.assertEqual(activity["rating"], 3)
self.assertEqual(activity["name"], "Review name")
- self.assertEqual(activity["content"], "test content")
+ self.assertEqual(activity["content"], "test content
")
self.assertEqual(activity["inReplyToBook"], self.book.remote_id)
def test_review_to_pure_activity(self, *_):
@@ -305,14 +305,14 @@ class Status(TestCase):
f'Review of "{self.book.title}" (3 stars): Review\'s name',
)
self.assertEqual(activity["content"], "test content")
- self.assertEqual(activity["attachment"][0].type, "Document")
+ self.assertEqual(activity["attachment"][0]["type"], "Document")
self.assertTrue(
re.match(
r"https:\/\/your.domain.here\/images\/covers\/test_[A-z0-9]+.jpg",
- activity["attachment"][0].url,
+ activity["attachment"][0]["url"],
)
)
- self.assertEqual(activity["attachment"][0].name, "Test Edition")
+ self.assertEqual(activity["attachment"][0]["name"], "Test Edition")
def test_review_to_pure_activity_no_rating(self, *_):
"""subclass of the base model version with a "pure" serializer"""
@@ -330,14 +330,14 @@ class Status(TestCase):
f'Review of "{self.book.title}": Review name',
)
self.assertEqual(activity["content"], "test content")
- self.assertEqual(activity["attachment"][0].type, "Document")
+ self.assertEqual(activity["attachment"][0]["type"], "Document")
self.assertTrue(
re.match(
r"https:\/\/your.domain.here\/images\/covers\/test_[A-z0-9]+.jpg",
- activity["attachment"][0].url,
+ activity["attachment"][0]["url"],
)
)
- self.assertEqual(activity["attachment"][0].name, "Test Edition")
+ self.assertEqual(activity["attachment"][0]["name"], "Test Edition")
def test_reviewrating_to_pure_activity(self, *_):
"""subclass of the base model version with a "pure" serializer"""
@@ -353,14 +353,14 @@ class Status(TestCase):
activity["content"],
f'rated {self.book.title} : 3 stars',
)
- self.assertEqual(activity["attachment"][0].type, "Document")
+ self.assertEqual(activity["attachment"][0]["type"], "Document")
self.assertTrue(
re.match(
r"https:\/\/your.domain.here\/images\/covers\/test_[A-z0-9]+.jpg",
- activity["attachment"][0].url,
+ activity["attachment"][0]["url"],
)
)
- self.assertEqual(activity["attachment"][0].name, "Test Edition")
+ self.assertEqual(activity["attachment"][0]["name"], "Test Edition")
def test_favorite(self, *_):
"""fav a status"""
diff --git a/bookwyrm/tests/views/admin/test_email_config.py b/bookwyrm/tests/views/admin/test_email_config.py
new file mode 100644
index 000000000..3aa16cb1d
--- /dev/null
+++ b/bookwyrm/tests/views/admin/test_email_config.py
@@ -0,0 +1,46 @@
+""" test for app action functionality """
+from unittest.mock import patch
+
+from django.contrib.auth.models import Group
+from django.template.response import TemplateResponse
+from django.test import TestCase
+from django.test.client import RequestFactory
+
+from bookwyrm import models, views
+from bookwyrm.management.commands import initdb
+from bookwyrm.tests.validate_html import validate_html
+
+
+class EmailConfigViews(TestCase):
+ """every response to a get request, html or json"""
+
+ # pylint: disable=invalid-name
+ 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",
+ )
+ initdb.init_groups()
+ initdb.init_permissions()
+ group = Group.objects.get(name="admin")
+ self.local_user.groups.set([group])
+ models.SiteSettings.objects.create()
+
+ def test_email_config_get(self):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.EmailConfig.as_view()
+ request = self.factory.get("")
+ request.user = self.local_user
+
+ result = view(request)
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
diff --git a/bookwyrm/tests/views/preferences/test_export.py b/bookwyrm/tests/views/preferences/test_export.py
index 7b13989f3..a3d930f6c 100644
--- a/bookwyrm/tests/views/preferences/test_export.py
+++ b/bookwyrm/tests/views/preferences/test_export.py
@@ -63,7 +63,7 @@ class ExportViews(TestCase):
# pylint: disable=line-too-long
self.assertEqual(
result[0],
- b"title,author_text,remote_id,openlibrary_key,inventaire_id,librarything_key,goodreads_key,bnf_id,viaf,wikidata,asin,isbn_10,isbn_13,oclc_number,rating,review_name,review_cw,review_content\r\n",
+ b"title,author_text,remote_id,openlibrary_key,inventaire_id,librarything_key,goodreads_key,bnf_id,viaf,wikidata,asin,aasin,isfdb,isbn_10,isbn_13,oclc_number,rating,review_name,review_cw,review_content\r\n",
)
- expected = f"Test Book,,{self.book.remote_id},,,,,beep,,,,123456789X,9781234567890,,,,,\r\n"
+ expected = f"Test Book,,{self.book.remote_id},,,,,beep,,,,,,123456789X,9781234567890,,,,,\r\n"
self.assertEqual(result[1].decode("utf-8"), expected)
diff --git a/bookwyrm/tests/views/test_user.py b/bookwyrm/tests/views/test_user.py
index d338d97be..903f2321b 100644
--- a/bookwyrm/tests/views/test_user.py
+++ b/bookwyrm/tests/views/test_user.py
@@ -233,3 +233,19 @@ class UserViews(TestCase):
result = views.user_redirect(request, "mouse")
self.assertEqual(result.status_code, 302)
+
+ def test_reviews_comments_page(self):
+ """there are so many views, this just makes sure it LOADS"""
+ view = views.UserReviewsComments.as_view()
+ request = self.factory.get("")
+ request.user = self.local_user
+ result = view(request, "mouse")
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
+
+ request.user = self.anonymous_user
+ result = view(request, "mouse")
+ self.assertIsInstance(result, TemplateResponse)
+ validate_html(result.render())
+ self.assertEqual(result.status_code, 200)
diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py
index 90d0d0edc..ac3a80580 100644
--- a/bookwyrm/urls.py
+++ b/bookwyrm/urls.py
@@ -86,6 +86,16 @@ urlpatterns = [
r"^settings/dashboard/?$", views.Dashboard.as_view(), name="settings-dashboard"
),
re_path(r"^settings/site-settings/?$", views.Site.as_view(), name="settings-site"),
+ re_path(
+ r"^settings/site-registration/?$",
+ views.RegistrationLimited.as_view(),
+ name="settings-registration-limited",
+ ),
+ re_path(
+ r"^settings/site-registration-admin/?$",
+ views.Registration.as_view(),
+ name="settings-registration",
+ ),
re_path(r"^settings/themes/?$", views.Themes.as_view(), name="settings-themes"),
re_path(
r"^settings/themes/(?P\d+)/delete/?$",
@@ -119,7 +129,7 @@ urlpatterns = [
),
re_path(
r"^settings/email-preview/?$",
- views.admin.site.email_preview,
+ views.admin.email_config.email_preview,
name="settings-email-preview",
),
re_path(
@@ -314,6 +324,11 @@ urlpatterns = [
re_path(
r"^settings/celery/?$", views.CeleryStatus.as_view(), name="settings-celery"
),
+ re_path(
+ r"^settings/email-config/?$",
+ views.EmailConfig.as_view(),
+ name="settings-email-config",
+ ),
# landing pages
re_path(r"^about/?$", views.about, name="about"),
re_path(r"^privacy/?$", views.privacy, name="privacy"),
@@ -410,6 +425,11 @@ urlpatterns = [
name="user-relationships",
),
re_path(r"^hide-suggestions/?$", views.hide_suggestions, name="hide-suggestions"),
+ re_path(
+ rf"{USER_PATH}/reviews-comments",
+ views.UserReviewsComments.as_view(),
+ name="user-reviews-comments",
+ ),
# groups
re_path(rf"{USER_PATH}/groups/?$", views.UserGroups.as_view(), name="user-groups"),
re_path(
diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py
index bc70490c5..db88f1ae2 100644
--- a/bookwyrm/views/__init__.py
+++ b/bookwyrm/views/__init__.py
@@ -10,6 +10,7 @@ from .admin.federation import Federation, FederatedServer
from .admin.federation import AddFederatedServer, ImportServerBlocklist
from .admin.federation import block_server, unblock_server, refresh_server
from .admin.email_blocklist import EmailBlocklist
+from .admin.email_config import EmailConfig
from .admin.imports import ImportList, disable_imports, enable_imports
from .admin.ip_blocklist import IPBlocklist
from .admin.invite import ManageInvites, Invite, InviteRequest
@@ -23,7 +24,7 @@ from .admin.reports import (
unsuspend_user,
moderator_delete_user,
)
-from .admin.site import Site
+from .admin.site import Site, Registration, RegistrationLimited
from .admin.themes import Themes, delete_theme
from .admin.user_admin import UserAdmin, UserAdminList
@@ -137,7 +138,13 @@ from .setup import InstanceConfig, CreateAdmin
from .status import CreateStatus, EditStatus, DeleteStatus, update_progress
from .status import edit_readthrough
from .updates import get_notification_count, get_unread_status_string
-from .user import User, hide_suggestions, user_redirect, toggle_guided_tour
+from .user import (
+ User,
+ UserReviewsComments,
+ hide_suggestions,
+ user_redirect,
+ toggle_guided_tour,
+)
from .relationships import Relationships
from .wellknown import *
from .annual_summary import (
diff --git a/bookwyrm/views/admin/email_config.py b/bookwyrm/views/admin/email_config.py
new file mode 100644
index 000000000..474c3ea5a
--- /dev/null
+++ b/bookwyrm/views/admin/email_config.py
@@ -0,0 +1,65 @@
+""" is your email running? """
+from django.contrib.auth.decorators import login_required, permission_required
+from django.template.response import TemplateResponse
+from django.utils.decorators import method_decorator
+from django.views import View
+
+from bookwyrm import emailing
+from bookwyrm import settings
+
+# pylint: disable= no-self-use
+@method_decorator(login_required, name="dispatch")
+@method_decorator(
+ permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
+ name="dispatch",
+)
+class EmailConfig(View):
+ """View and test your emailing setup"""
+
+ def get(self, request):
+ """View email config"""
+ data = view_data()
+ # TODO: show email previews
+ return TemplateResponse(request, "settings/email_config.html", data)
+
+ def post(self, request):
+ """Send test email"""
+ data = view_data()
+ try:
+ emailing.test_email(request.user)
+ data["success"] = True
+ except Exception as err: # pylint: disable=broad-except
+ data["error"] = err
+ return TemplateResponse(request, "settings/email_config.html", data)
+
+
+def view_data():
+ """helper to get data for view"""
+ return {
+ "email_backend": settings.EMAIL_BACKEND,
+ "email_host": settings.EMAIL_HOST,
+ "email_port": settings.EMAIL_PORT,
+ "Email_host_user": settings.EMAIL_HOST_USER,
+ "email_use_tls": settings.EMAIL_USE_TLS,
+ "email_use_ssl": settings.EMAIL_USE_SSL,
+ "email_sender": settings.EMAIL_SENDER,
+ }
+
+
+@login_required
+@permission_required("bookwyrm.edit_instance_settings", raise_exception=True)
+def email_preview(request):
+ """for development, renders and example email template"""
+ template = request.GET.get("email")
+ data = emailing.email_data()
+ data["subject_path"] = f"email/{template}/subject.html"
+ data["html_content_path"] = f"email/{template}/html_content.html"
+ data["text_content_path"] = f"email/{template}/text_content.html"
+ data["reset_link"] = "https://example.com/link"
+ data["invite_link"] = "https://example.com/link"
+ data["confirmation_link"] = "https://example.com/link"
+ data["confirmation_code"] = "AKJHKDGKJSDFG"
+ data["reporter"] = "ConcernedUser"
+ data["reportee"] = "UserName"
+ data["report_link"] = "https://example.com/link"
+ return TemplateResponse(request, "email/preview.html", data)
diff --git a/bookwyrm/views/admin/site.py b/bookwyrm/views/admin/site.py
index df3b12aa0..4b0a9c7d8 100644
--- a/bookwyrm/views/admin/site.py
+++ b/bookwyrm/views/admin/site.py
@@ -4,7 +4,7 @@ from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
-from bookwyrm import emailing, forms, models
+from bookwyrm import forms, models
# pylint: disable= no-self-use
@@ -35,20 +35,55 @@ class Site(View):
return TemplateResponse(request, "settings/site.html", data)
-@login_required
-@permission_required("bookwyrm.edit_instance_settings", raise_exception=True)
-def email_preview(request):
- """for development, renders and example email template"""
- template = request.GET.get("email")
- data = emailing.email_data()
- data["subject_path"] = f"email/{template}/subject.html"
- data["html_content_path"] = f"email/{template}/html_content.html"
- data["text_content_path"] = f"email/{template}/text_content.html"
- data["reset_link"] = "https://example.com/link"
- data["invite_link"] = "https://example.com/link"
- data["confirmation_link"] = "https://example.com/link"
- data["confirmation_code"] = "AKJHKDGKJSDFG"
- data["reporter"] = "ConcernedUser"
- data["reportee"] = "UserName"
- data["report_link"] = "https://example.com/link"
- return TemplateResponse(request, "email/preview.html", data)
+@method_decorator(login_required, name="dispatch")
+@method_decorator(
+ permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
+ name="dispatch",
+)
+class RegistrationLimited(View):
+ """Things related to registering that non-admins owners can change"""
+
+ def get(self, request):
+ """edit form"""
+ site = models.SiteSettings.objects.get()
+ data = {"form": forms.RegistrationLimitedForm(instance=site)}
+ return TemplateResponse(request, "settings/registration_limited.html", data)
+
+ def post(self, request):
+ """edit the site settings"""
+ site = models.SiteSettings.objects.get()
+ form = forms.RegistrationLimitedForm(request.POST, request.FILES, instance=site)
+ if not form.is_valid():
+ data = {"form": form}
+ return TemplateResponse(request, "settings/registration_limited.html", data)
+ site = form.save(request)
+
+ data = {"form": forms.RegistrationLimitedForm(instance=site), "success": True}
+ return TemplateResponse(request, "settings/registration_limited.html", data)
+
+
+@method_decorator(login_required, name="dispatch")
+@method_decorator(
+ permission_required("bookwyrm.manage_registration", raise_exception=True),
+ name="dispatch",
+)
+class Registration(View):
+ """Control everything about registration"""
+
+ def get(self, request):
+ """edit form"""
+ site = models.SiteSettings.objects.get()
+ data = {"form": forms.RegistrationForm(instance=site)}
+ return TemplateResponse(request, "settings/registration.html", data)
+
+ def post(self, request):
+ """edit the site settings"""
+ site = models.SiteSettings.objects.get()
+ form = forms.RegistrationForm(request.POST, request.FILES, instance=site)
+ if not form.is_valid():
+ data = {"form": form}
+ return TemplateResponse(request, "settings/registration.html", data)
+ site = form.save(request)
+
+ data = {"form": forms.RegistrationForm(instance=site), "success": True}
+ return TemplateResponse(request, "settings/registration.html", data)
diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py
index 4d795fbe0..5658d243a 100644
--- a/bookwyrm/views/admin/themes.py
+++ b/bookwyrm/views/admin/themes.py
@@ -12,7 +12,7 @@ from bookwyrm import forms, models
# pylint: disable= no-self-use
@method_decorator(login_required, name="dispatch")
@method_decorator(
- permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
+ permission_required("bookwyrm.system_administration", raise_exception=True),
name="dispatch",
)
class Themes(View):
@@ -46,7 +46,7 @@ def get_view_data():
@require_POST
-@permission_required("bookwyrm.edit_instance_settings", raise_exception=True)
+@permission_required("bookwyrm.system_administration", raise_exception=True)
# pylint: disable=unused-argument
def delete_theme(request, theme_id):
"""Remove a theme"""
diff --git a/bookwyrm/views/books/editions.py b/bookwyrm/views/books/editions.py
index 8044f78e4..54d1bd84c 100644
--- a/bookwyrm/views/books/editions.py
+++ b/bookwyrm/views/books/editions.py
@@ -49,6 +49,8 @@ class Editions(View):
"isbn_13",
"oclc_number",
"asin",
+ "aasin",
+ "isfdb",
]
search_filter_entries = [
{f"{f}__icontains": query} for f in searchable_fields
diff --git a/bookwyrm/views/landing/register.py b/bookwyrm/views/landing/register.py
index c5fd17424..ff199b57e 100644
--- a/bookwyrm/views/landing/register.py
+++ b/bookwyrm/views/landing/register.py
@@ -105,9 +105,7 @@ class ConfirmEmailCode(View):
request, "confirm_email/confirm_email.html", {"valid": False}
)
# update the user
- user.is_active = True
- user.deactivation_reason = None
- user.save(broadcast=False, update_fields=["is_active", "deactivation_reason"])
+ user.reactivate()
# direct the user to log in
return redirect("login", confirmed="confirmed")
diff --git a/bookwyrm/views/user.py b/bookwyrm/views/user.py
index a4ce9d259..b027ffa56 100644
--- a/bookwyrm/views/user.py
+++ b/bookwyrm/views/user.py
@@ -1,6 +1,7 @@
""" The user profile """
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator
+from django.db.models import Q
from django.http import Http404
from django.shortcuts import redirect
from django.template.response import TemplateResponse
@@ -100,6 +101,49 @@ class User(View):
return TemplateResponse(request, "user/user.html", data)
+class UserReviewsComments(View):
+ """user's activity filtered by reviews and comments"""
+
+ def get(self, request, username):
+ """user's activity filtered by reviews and comments"""
+ user = get_user_from_username(request.user, username)
+ is_self = request.user.id == user.id
+
+ activities = (
+ models.Status.privacy_filter(
+ request.user,
+ )
+ .filter(
+ Q(review__isnull=False) | Q(comment__isnull=False),
+ user=user,
+ )
+ .exclude(
+ privacy="direct",
+ )
+ .select_related(
+ "user",
+ "reply_parent",
+ "review__book",
+ "comment__book",
+ "quotation__book",
+ )
+ .prefetch_related(
+ "mention_books",
+ "mention_users",
+ "attachments",
+ )
+ )
+
+ paginated = Paginator(activities, PAGE_LENGTH)
+
+ data = {
+ "user": user,
+ "is_self": is_self,
+ "activities": paginated.get_page(request.GET.get("page", 1)),
+ }
+ return TemplateResponse(request, "user/reviews_comments.html", data)
+
+
@require_POST
@login_required
def hide_suggestions(request):
diff --git a/bw-dev b/bw-dev
index 7033f16b3..ef5dec813 100755
--- a/bw-dev
+++ b/bw-dev
@@ -174,6 +174,10 @@ case "$CMD" in
prod_error
docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js
;;
+ eslint)
+ prod_error
+ docker-compose run --rm dev-tools npx eslint bookwyrm/static --ext .js
+ ;;
stylelint)
prod_error
docker-compose run --rm dev-tools npx stylelint \
@@ -185,6 +189,7 @@ case "$CMD" in
runweb pylint bookwyrm/
docker-compose run --rm dev-tools black celerywyrm bookwyrm
docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js
+ docker-compose run --rm dev-tools npx eslint bookwyrm/static --ext .js
docker-compose run --rm dev-tools npx stylelint \
bookwyrm/static/css/bookwyrm.scss bookwyrm/static/css/bookwyrm/**/*.scss --fix \
--config dev-tools/.stylelintrc.js
@@ -260,6 +265,9 @@ case "$CMD" in
remove_2fa)
runweb python manage.py remove_2fa "$@"
;;
+ confirm_email)
+ runweb python manage.py confirm_email "$@"
+ ;;
*)
set +x # No need to echo echo
echo "Unrecognised command. Try:"
@@ -283,6 +291,7 @@ case "$CMD" in
echo " clean"
echo " black"
echo " prettier"
+ echo " eslint"
echo " stylelint"
echo " formatters"
echo " collectstatic_watch"
@@ -296,5 +305,6 @@ case "$CMD" in
echo " set_cors_to_s3 [cors file]"
echo " runweb [command]"
echo " remove_2fa"
+ echo " confirm_email"
;;
esac
diff --git a/complete_bwdev.fish b/complete_bwdev.fish
index 208d7ee4f..e680ede43 100644
--- a/complete_bwdev.fish
+++ b/complete_bwdev.fish
@@ -22,6 +22,7 @@ build \
clean \
black \
prettier \
+eslint \
stylelint \
formatters \
collectstatic_watch \
@@ -34,6 +35,8 @@ copy_media_to_s3 \
set_cors_to_s3 \
setup \
admin_code \
+remove_2fa \
+confirm_email \
runweb
function __bw_complete -a cmds cmd desc
@@ -59,6 +62,7 @@ __bw_complete "$commands" "build" "build the containers"
__bw_complete "$commands" "clean" "bring the cluster down and remove all containers"
__bw_complete "$commands" "black" "run Python code formatting tool"
__bw_complete "$commands" "prettier" "run JavaScript code formatting tool"
+__bw_complete "$commands" "eslint" "run JavaScript linting tool"
__bw_complete "$commands" "stylelint" "run SCSS linting tool"
__bw_complete "$commands" "formatters" "run multiple formatter tools"
__bw_complete "$commands" "populate_streams" "populate the main streams"
@@ -72,6 +76,8 @@ __bw_complete "$commands" "sync_media_to_s3" "run the `s3 sync` command t
__bw_complete "$commands" "set_cors_to_s3" "push a CORS configuration defined in .json to s3"
__bw_complete "$commands" "setup" "perform first-time setup"
__bw_complete "$commands" "admin_code" "get the admin code"
+__bw_complete "$commands" "remove_2fa" "remove 2FA from user"
+__bw_complete "$commands" "confirm_email" "manually confirm email of user and set active"
__bw_complete "$commands" "runweb" "run a command on the web container"
diff --git a/complete_bwdev.sh b/complete_bwdev.sh
index 92b102362..7976b2126 100644
--- a/complete_bwdev.sh
+++ b/complete_bwdev.sh
@@ -19,6 +19,7 @@ build
clean
black
prettier
+eslint
stylelint
formatters
collectstatic_watch
@@ -31,4 +32,6 @@ copy_media_to_s3
set_cors_to_s3
setup
admin_code
+remove_2fa
+confirm_email
runweb" -o bashdefault -o default bw-dev
diff --git a/complete_bwdev.zsh b/complete_bwdev.zsh
index fa6dbfa3f..e9c8028c1 100644
--- a/complete_bwdev.zsh
+++ b/complete_bwdev.zsh
@@ -21,6 +21,7 @@ build
clean
black
prettier
+eslint
stylelint
formatters
collectstatic_watch
@@ -33,4 +34,6 @@ copy_media_to_s3
set_cors_to_s3
setup
admin_code
+remove_2fa
+confirm_email
runweb" -o bashdefault -o default bw-dev
diff --git a/docker-compose.yml b/docker-compose.yml
index 09a07ba99..c6e76e12a 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -100,10 +100,8 @@ services:
restart: on-failure
flower:
build: .
- command: celery -A celerywyrm flower --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD}
+ command: celery -A celerywyrm flower --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD} --url_prefix=flower
env_file: .env
- ports:
- - ${FLOWER_PORT}:${FLOWER_PORT}
volumes:
- .:/app
networks:
diff --git a/locale/ca_ES/LC_MESSAGES/django.mo b/locale/ca_ES/LC_MESSAGES/django.mo
index 44ea66190..4e3a66b7c 100644
Binary files a/locale/ca_ES/LC_MESSAGES/django.mo and b/locale/ca_ES/LC_MESSAGES/django.mo differ
diff --git a/locale/ca_ES/LC_MESSAGES/django.po b/locale/ca_ES/LC_MESSAGES/django.po
index e8d97480a..78c903d53 100644
--- a/locale/ca_ES/LC_MESSAGES/django.po
+++ b/locale/ca_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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Catalan\n"
"Language: ca\n"
@@ -90,7 +90,7 @@ msgstr "Codi incorrecte"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Aquest domini ha estat bloquejat. Poseu-vos en contacte amb l'administració d'aquesta instància si creieu que és un error."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Ja s'ha afegit un enllaç a aquest tipus de fitxer per a aquest llibre. Si encara no és visible és que el domini encara està pendent."
@@ -256,14 +256,14 @@ msgstr "Seguidors"
msgid "Private"
msgstr "Privat"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Actiu"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Complet"
@@ -517,6 +517,11 @@ msgstr "Sobre %(site_name)s"
msgid "Privacy Policy"
msgstr "Política de privacitat"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Desa"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domini"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Usuari desconegut"
msgid "Report spam"
msgstr "Marqueu com a brossa"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "No hi ha enllaços disponibles per aquest llibre."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Afegiu enllaç a fitxer"
@@ -2626,85 +2631,89 @@ msgstr "Troba un llibre"
msgid "Import Books"
msgstr "Importa Llibres"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "Les importacions recents han durat %(hours)s de mitjana."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "Les importacions recents han durat %(minutes)s de mitjana."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Font de la informació:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr "Podeu descarregar-vos les vostres dades de Goodreads des de la pàgina d'Importa/Exporta del vostre compte de Goodreads."
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Arxiu de dades:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Inclou ressenyes"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Configuració de privacitat per les ressenyes importades:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importa"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importacions recents"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr "Data de creació"
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Darrera actualització"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr "Items"
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "No hi ha cap importació recent"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Suprimir aquesta llista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Edita la llista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "a %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Aquesta llista és buida"
@@ -3205,6 +3213,10 @@ msgstr "Has suggerit un llibre per aquesta llista amb èxit!"
msgid "You successfully added a book to this list!"
msgstr "Has afegit un llibre a aquesta llista amb èxit!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Edita les notes"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s ha suggerit afegi
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s ha afegit %(book_title)s , %(second_book_title)s , i %(display_count)s altre llibre a la vostra llista \"%(list_name)s \""
msgstr[1] "%(related_user)s ha afegit %(book_title)s , %(second_book_title)s , i %(display_count)s altres llibres a la vostra llista \"%(list_name)s \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Perfil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Mostra"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Scan Barcode\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Sol·licitant permisos per a la càmera..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Dona permisos d'accés a la càmera per escanejar el codi de barres d'aquest llibre."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "No s'ha pogut accedir a la càmera"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "S'està escanejant..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Alinea el codi de barres del teu llibre amb la càmera."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "S'ha escanejat l'ISBN"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Cercant el llibre:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultats de"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importa un llibre"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Carrega resultats d'altres catàlegs"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Afegeix manualment un llibre"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Inicia la sessió per importar o afegir llibres."
@@ -4113,7 +4142,7 @@ msgstr "Tipus de Cerca"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Crea un anunci"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Data en què va ser afegit"
@@ -4669,21 +4698,21 @@ msgstr "Ha fallat:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nom de la instància"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Darrera actualització"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Programari"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "No s'ha trobat cap instància"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Configuració del lloc"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Informació de la instància"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Contingut del peu de pàgina"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registre"
@@ -5118,71 +5147,79 @@ msgstr "Codi de conducta:"
msgid "Privacy Policy:"
msgstr "Política de privacitat:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Imatges"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo petit:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Tema per defecte:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Enllaç de suport:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Títol de suport:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Correu electrònic de l'administrador:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Informació addicional:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Permet el registre"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Requereix els usuaris que confirmin les seves adreces de correu"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recomanat si el registre està obert)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Permet peticions d'invitació"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Estableix una pregunta per les sol·licituds d'invitació"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Pregunta:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Text de registre tancat:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Text de sol·licitud d'invitació:"
@@ -5741,12 +5778,12 @@ msgstr "Accepta"
msgid "Documentation"
msgstr "Documentació"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Dona suport a %(site_name)s a %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "El codi font de BookWyrm està disponible de manera oberta. Pots contribuir-hi o informar de problemes a GitHub ."
@@ -6290,10 +6327,6 @@ msgstr "El fitxer sobrepassa la mida màxima: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "No és un fitxer csv vàlid"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo
index ea665f970..92c303031 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 637e4f72f..9ac9e5d65 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-28 16:53\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-09 02:41\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: German\n"
"Language: de\n"
@@ -60,11 +60,11 @@ msgstr "Enddatum darf nicht vor dem Startdatum liegen."
#: bookwyrm/forms/forms.py:59
msgid "Reading stopped date cannot be before start date."
-msgstr "Das Datum für Lesen gestoppt kann nicht vor dem Lesestart sein."
+msgstr "Das Datum für \"Lesen gestoppt\" kann nicht vor dem Lesestart sein."
#: bookwyrm/forms/forms.py:67
msgid "Reading stopped date cannot be in the future."
-msgstr "Das Datum für Lesen gestoppt kann nicht in der Zukunft sein."
+msgstr "Das Datum für \"Lesen gestoppt\" kann nicht in der Zukunft sein."
#: bookwyrm/forms/forms.py:74
msgid "Reading finished date cannot be in the future."
@@ -90,7 +90,7 @@ msgstr "Falscher Code"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Diese Domain ist blockiert. Bitte kontaktiere einen Administrator, wenn du denkst, dass dies ein Fehler ist."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Dieser Link mit dem Dateityp wurde bereits für dieses Buch hinzugefügt. Falls es nicht sichtbar ist, befindet sich die Domain noch in der Freischaltung."
@@ -256,14 +256,14 @@ msgstr "Follower*innen"
msgid "Private"
msgstr "Privat"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Aktiv"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Abgeschlossen"
@@ -517,6 +517,11 @@ msgstr "Über %(site_name)s"
msgid "Privacy Policy"
msgstr "Datenschutzerklärung"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr "Impressum"
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Speichern"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domain"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Unbekannter Benutzer"
msgid "Report spam"
msgstr "Spam melden"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Keine Links für dieses Buch vorhanden."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Link zur Datei hinzufügen"
@@ -1778,7 +1783,7 @@ msgstr "Hier sind noch keine Aktivitäten! Folge Anderen, um loszulegen"
#: bookwyrm/templates/feed/feed.html:56
msgid "Alternatively, you can try enabling more status types"
-msgstr "Alternativ könntest du auch weitere Statustypen aktivieren"
+msgstr "Alternativ kannst Du auch versuchen, weitere Statustypen zu aktivieren"
#: bookwyrm/templates/feed/goal_card.html:6
#: bookwyrm/templates/feed/layout.html:14
@@ -1808,7 +1813,7 @@ msgstr "Hier sind noch keine Bücher! Versuche, nach Büchern zu suchen, um losz
#: bookwyrm/templates/feed/suggested_books.html:13
msgid "Do you have book data from another service like GoodReads?"
-msgstr "Hast Du Buchdaten von einem anderen Service wie GoodReads?"
+msgstr "Hast Du Buchdaten von einem anderen Dienst wie GoodReads?"
#: bookwyrm/templates/feed/suggested_books.html:16
msgid "Import your reading history"
@@ -2626,85 +2631,89 @@ msgstr "Finden Sie ein Buch"
msgid "Import Books"
msgstr "Bücher importieren"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr "Keine gültige CSV-Datei"
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "Im Durchschnitt haben die letzten Importe %(hours)s Stunden in Anspruch genommen."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "Im Durchschnitt haben die letzten Importe %(minutes)s Minuten in Anspruch genommen."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Datenquelle:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
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/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Datei:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Besprechungen einschließen"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Datenschutzeinstellung für importierte Besprechungen:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importieren"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr "Importe sind vorübergehend deaktiviert; vielen Dank für Deine Geduld."
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Zuletzt importiert"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr "Erstellungsdatum"
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr "Einträge"
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Keine aktuellen Importe"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Diese Liste löschen?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Liste bearbeiten"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "auf %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Diese Liste ist momentan leer"
@@ -3205,6 +3213,10 @@ msgstr "Dein Buchvorschlag wurde dieser Liste hinzugefügt!"
msgid "You successfully added a book to this list!"
msgstr "Du hast ein Buch zu dieser Liste hinzugefügt!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr "Diese Liste ist derzeit leer."
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Notizen bearbeiten"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s schlug vor, <
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr "%(related_user)s hat einer Deiner Listen ein Buch hinzugefügt"
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s hat %(book_title)s , %(second_book_title)s und %(display_count)s andere Bücher zu Ihrer Liste \"%(list_name)s hinzugefügt \""
msgstr[1] "%(related_user)s hat %(book_title)s , %(second_book_title)s und %(display_count)s andere Bücher zu Ihrer Liste \"%(list_name)s hinzugefügt \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Profil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Anzeige"
@@ -3896,7 +3913,7 @@ msgstr "Dieses Benutzer*inkonto in vorgeschlagene Benutzer*innen einschließen"
#: bookwyrm/templates/preferences/edit_user.html:85
#, python-format
msgid "Your account will show up in the directory , and may be recommended to other BookWyrm users."
-msgstr "Dein Benutzer*inkonto wird im Verzeichnis angezeigt und eventuell anderen Benutzer*innen empfohlen."
+msgstr "Dein Konto wird im Verzeichnis angezeigt und eventuell anderen Benutzer*innen empfohlen."
#: bookwyrm/templates/preferences/edit_user.html:89
msgid "Preferred Timezone: "
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Barcode scannen\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Kamera wird angefragt..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Erlaube Zugriff auf die Kamera, um den Barcode eines Buches zu scannen."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Konnte nicht auf die Kamera zugreifen"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Scannen..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Richten Sie den Barcode Ihres Buches mit der Kamera aus."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN gescannt"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Nach Buch suchen:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] "%(formatted_review_count)s Besprechung"
+msgstr[1] "%(formatted_review_count)s Besprechungen"
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr "(veröffentlicht %(pub_year)s)"
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Ergebnisse von"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Buch importieren"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Ergebnisse aus anderen Katalogen laden"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Buch manuell hinzufügen"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Melde dich an, um Bücher zu importieren oder hinzuzufügen."
@@ -4113,7 +4142,7 @@ msgstr "Suchart"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Ankündigung erstellen"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Hinzugefügt am"
@@ -4669,21 +4698,21 @@ msgstr "Fehlgeschlagen:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr "Erwartet eine json-Datei im Format von FediBlock, mit einer Liste von Einträgen, die Instanz
und Url
Felder haben. Zum Beispiel:"
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Name der Instanz"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Zuletzt aktualisiert"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Software"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Keine Instanzen gefunden"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Seiteneinstellungen"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Instanzinformationen"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Inhalt der Fußzeile"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registrierung"
@@ -5118,71 +5147,79 @@ msgstr "Verhaltenskodex:"
msgid "Privacy Policy:"
msgstr "Datenschutzerklärung:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr "Impressum:"
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr "Impressum ausgeben::"
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Bilder"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Kleines Logo:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Standard-Design:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Support-Link:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Support-Titel:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "E-Mail-Adresse des*r Administrator*in:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Zusätzliche Angaben:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Selbstregistrierung zulassen"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Benutzer*innen müssen ihre E-Mail-Adresse bestätigen"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(empfohlen, falls Selbstregistrierung zulässig ist)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Einladungsanfragen zulassen"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Eine Frage für Einladungsanfragen festlegen"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Frage:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Hinweis, wenn Selbtregistrierung nicht erlaubt ist:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Hinweis für Einladungsanfragen:"
@@ -5741,12 +5778,12 @@ msgstr "Annehmen"
msgid "Documentation"
msgstr "Handbuch"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Unterstütze %(site_name)s auf %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "Der Quellcode von BookWyrm ist frei verfügbar. Du kannst zu ihm auf GitHub beisteuern oder Probleme melden."
@@ -6290,10 +6327,6 @@ msgstr "Datei überschreitet die maximale Größe von 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Keine gültige CSV-Datei"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po
index a05004035..5b45289e1 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-11-30 01:00+0000\n"
+"POT-Creation-Date: 2022-12-11 21:08+0000\n"
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -172,23 +172,23 @@ msgstr ""
msgid "Domain block"
msgstr ""
-#: bookwyrm/models/book.py:266
+#: bookwyrm/models/book.py:277
msgid "Audiobook"
msgstr ""
-#: bookwyrm/models/book.py:267
+#: bookwyrm/models/book.py:278
msgid "eBook"
msgstr ""
-#: bookwyrm/models/book.py:268
+#: bookwyrm/models/book.py:279
msgid "Graphic novel"
msgstr ""
-#: bookwyrm/models/book.py:269
+#: bookwyrm/models/book.py:280
msgid "Hardcover"
msgstr ""
-#: bookwyrm/models/book.py:270
+#: bookwyrm/models/book.py:281
msgid "Paperback"
msgstr ""
@@ -216,7 +216,7 @@ msgstr ""
msgid "%(value)s is not a valid username"
msgstr ""
-#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:141
+#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142
#: bookwyrm/templates/ostatus/error.html:29
msgid "username"
msgstr ""
@@ -301,7 +301,7 @@ msgstr ""
msgid "Approved"
msgstr ""
-#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289
+#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296
msgid "Reviews"
msgstr ""
@@ -333,7 +333,7 @@ msgstr ""
#: bookwyrm/templates/guided_tour/user_profile.html:101
#: bookwyrm/templates/search/layout.html:22
#: bookwyrm/templates/search/layout.html:43
-#: bookwyrm/templates/user/layout.html:91
+#: bookwyrm/templates/user/layout.html:95
msgid "Books"
msgstr ""
@@ -493,6 +493,8 @@ msgstr ""
#: bookwyrm/templates/about/impressum.html:4
#: bookwyrm/templates/about/impressum.html:9
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
msgid "Impressum"
msgstr ""
@@ -698,32 +700,41 @@ msgstr ""
msgid "View ISNI record"
msgstr ""
-#: bookwyrm/templates/author/author.html:84
+#: bookwyrm/templates/author/author.html:87
+#: bookwyrm/templates/book/book.html:164
+msgid "View on ISFDB"
+msgstr ""
+
+#: bookwyrm/templates/author/author.html:92
#: bookwyrm/templates/author/sync_modal.html:5
#: bookwyrm/templates/book/book.html:131
#: bookwyrm/templates/book/sync_modal.html:5
msgid "Load data"
msgstr ""
-#: bookwyrm/templates/author/author.html:88
+#: bookwyrm/templates/author/author.html:96
#: bookwyrm/templates/book/book.html:135
msgid "View on OpenLibrary"
msgstr ""
-#: bookwyrm/templates/author/author.html:103
+#: bookwyrm/templates/author/author.html:111
#: bookwyrm/templates/book/book.html:149
msgid "View on Inventaire"
msgstr ""
-#: bookwyrm/templates/author/author.html:119
+#: bookwyrm/templates/author/author.html:127
msgid "View on LibraryThing"
msgstr ""
-#: bookwyrm/templates/author/author.html:127
+#: bookwyrm/templates/author/author.html:135
msgid "View on Goodreads"
msgstr ""
-#: bookwyrm/templates/author/author.html:142
+#: bookwyrm/templates/author/author.html:143
+msgid "View ISFDB entry"
+msgstr ""
+
+#: bookwyrm/templates/author/author.html:158
#, python-format
msgid "Books by %(name)s"
msgstr ""
@@ -799,16 +810,21 @@ msgid "Librarything key:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:98
+#: bookwyrm/templates/book/edit/edit_book_form.html:332
msgid "Goodreads key:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:105
+msgid "ISFDB:"
+msgstr ""
+
+#: bookwyrm/templates/author/edit_author.html:112
msgid "ISNI:"
msgstr ""
-#: bookwyrm/templates/author/edit_author.html:115
-#: bookwyrm/templates/book/book.html:202
-#: bookwyrm/templates/book/edit/edit_book.html:139
+#: bookwyrm/templates/author/edit_author.html:122
+#: bookwyrm/templates/book/book.html:209
+#: bookwyrm/templates/book/edit/edit_book.html:142
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:86
#: bookwyrm/templates/groups/form.html:32
@@ -820,19 +836,21 @@ msgstr ""
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/registration.html:79
+#: bookwyrm/templates/settings/registration_limited.html:76
+#: bookwyrm/templates/settings/site.html:144
#: 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"
msgstr ""
-#: bookwyrm/templates/author/edit_author.html:116
+#: bookwyrm/templates/author/edit_author.html:123
#: bookwyrm/templates/author/sync_modal.html:23
-#: bookwyrm/templates/book/book.html:203
+#: bookwyrm/templates/book/book.html:210
#: bookwyrm/templates/book/cover_add_modal.html:33
-#: bookwyrm/templates/book/edit/edit_book.html:141
#: bookwyrm/templates/book/edit/edit_book.html:144
+#: bookwyrm/templates/book/edit/edit_book.html:147
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
@@ -842,7 +860,7 @@ msgstr ""
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -856,7 +874,7 @@ msgid "Loading data will connect to %(source_name)s and check f
msgstr ""
#: bookwyrm/templates/author/sync_modal.html:24
-#: bookwyrm/templates/book/edit/edit_book.html:126
+#: bookwyrm/templates/book/edit/edit_book.html:129
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:52
@@ -886,91 +904,91 @@ msgstr ""
msgid "Click to enlarge"
msgstr ""
-#: bookwyrm/templates/book/book.html:179
+#: bookwyrm/templates/book/book.html:186
#, python-format
msgid "(%(review_count)s review)"
msgid_plural "(%(review_count)s reviews)"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/book/book.html:191
+#: bookwyrm/templates/book/book.html:198
msgid "Add Description"
msgstr ""
-#: bookwyrm/templates/book/book.html:198
+#: bookwyrm/templates/book/book.html:205
#: bookwyrm/templates/book/edit/edit_book_form.html:42
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
msgid "Description:"
msgstr ""
-#: bookwyrm/templates/book/book.html:214
+#: bookwyrm/templates/book/book.html:221
#, python-format
msgid "%(count)s edition"
msgid_plural "%(count)s editions"
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/book/book.html:228
+#: bookwyrm/templates/book/book.html:235
msgid "You have shelved this edition in:"
msgstr ""
-#: bookwyrm/templates/book/book.html:243
+#: bookwyrm/templates/book/book.html:250
#, python-format
msgid "A different edition of this book is on your %(shelf_name)s shelf."
msgstr ""
-#: bookwyrm/templates/book/book.html:254
+#: bookwyrm/templates/book/book.html:261
msgid "Your reading activity"
msgstr ""
-#: bookwyrm/templates/book/book.html:260
+#: bookwyrm/templates/book/book.html:267
#: bookwyrm/templates/guided_tour/book.html:56
msgid "Add read dates"
msgstr ""
-#: bookwyrm/templates/book/book.html:268
+#: bookwyrm/templates/book/book.html:275
msgid "You don't have any reading activity for this book."
msgstr ""
-#: bookwyrm/templates/book/book.html:294
+#: bookwyrm/templates/book/book.html:301
msgid "Your reviews"
msgstr ""
-#: bookwyrm/templates/book/book.html:300
+#: bookwyrm/templates/book/book.html:307
msgid "Your comments"
msgstr ""
-#: bookwyrm/templates/book/book.html:306
+#: bookwyrm/templates/book/book.html:313
msgid "Your quotes"
msgstr ""
-#: bookwyrm/templates/book/book.html:342
+#: bookwyrm/templates/book/book.html:349
msgid "Subjects"
msgstr ""
-#: bookwyrm/templates/book/book.html:354
+#: bookwyrm/templates/book/book.html:361
msgid "Places"
msgstr ""
-#: bookwyrm/templates/book/book.html:365
+#: bookwyrm/templates/book/book.html:372
#: bookwyrm/templates/groups/group.html:19
#: bookwyrm/templates/guided_tour/lists.html:14
#: bookwyrm/templates/guided_tour/user_books.html:102
#: bookwyrm/templates/guided_tour/user_profile.html:78
-#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8
+#: bookwyrm/templates/layout.html:102 bookwyrm/templates/lists/curate.html:8
#: bookwyrm/templates/lists/list.html:12 bookwyrm/templates/lists/lists.html:5
#: bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:26
#: bookwyrm/templates/search/layout.html:51
-#: bookwyrm/templates/user/layout.html:85
+#: bookwyrm/templates/user/layout.html:89
msgid "Lists"
msgstr ""
-#: bookwyrm/templates/book/book.html:377
+#: bookwyrm/templates/book/book.html:384
msgid "Add to list"
msgstr ""
-#: bookwyrm/templates/book/book.html:387
+#: bookwyrm/templates/book/book.html:394
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
@@ -984,15 +1002,29 @@ msgid "ISBN:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:15
-#: bookwyrm/templates/book/edit/edit_book_form.html:332
+#: bookwyrm/templates/book/edit/edit_book_form.html:341
msgid "OCLC Number:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:22
-#: bookwyrm/templates/book/edit/edit_book_form.html:341
+#: bookwyrm/templates/book/edit/edit_book_form.html:350
msgid "ASIN:"
msgstr ""
+#: bookwyrm/templates/book/book_identifiers.html:29
+#: bookwyrm/templates/book/edit/edit_book_form.html:359
+msgid "Audible ASIN:"
+msgstr ""
+
+#: bookwyrm/templates/book/book_identifiers.html:36
+#: bookwyrm/templates/book/edit/edit_book_form.html:368
+msgid "ISFDB ID:"
+msgstr ""
+
+#: bookwyrm/templates/book/book_identifiers.html:43
+msgid "Goodreads:"
+msgstr ""
+
#: bookwyrm/templates/book/cover_add_modal.html:5
msgid "Add cover"
msgstr ""
@@ -1059,20 +1091,20 @@ msgstr ""
msgid "This is a new author"
msgstr ""
-#: bookwyrm/templates/book/edit/edit_book.html:104
+#: bookwyrm/templates/book/edit/edit_book.html:107
#, python-format
msgid "Creating a new author: %(name)s"
msgstr ""
-#: bookwyrm/templates/book/edit/edit_book.html:111
+#: bookwyrm/templates/book/edit/edit_book.html:114
msgid "Is this an edition of an existing work?"
msgstr ""
-#: bookwyrm/templates/book/edit/edit_book.html:119
+#: bookwyrm/templates/book/edit/edit_book.html:122
msgid "This is a new work"
msgstr ""
-#: bookwyrm/templates/book/edit/edit_book.html:128
+#: bookwyrm/templates/book/edit/edit_book.html:131
#: bookwyrm/templates/feed/status.html:21
#: bookwyrm/templates/guided_tour/book.html:44
#: bookwyrm/templates/guided_tour/book.html:68
@@ -1620,7 +1652,7 @@ msgstr ""
#: bookwyrm/templates/discover/discover.html:4
#: bookwyrm/templates/discover/discover.html:10
-#: bookwyrm/templates/layout.html:104
+#: bookwyrm/templates/layout.html:105
msgid "Discover"
msgstr ""
@@ -1743,7 +1775,16 @@ msgstr ""
msgid "Reset your %(site_name)s password"
msgstr ""
-#: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:40
+#: bookwyrm/templates/email/test/html_content.html:6
+#: bookwyrm/templates/email/test/text_content.html:4
+msgid "This is a test email."
+msgstr ""
+
+#: bookwyrm/templates/email/test/subject.html:2
+msgid "Test email"
+msgstr ""
+
+#: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:41
#: bookwyrm/templates/setup/layout.html:15
#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18
#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18
@@ -1882,7 +1923,7 @@ msgid "What are you reading?"
msgstr ""
#: bookwyrm/templates/get_started/books.html:9
-#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:213
+#: bookwyrm/templates/layout.html:49 bookwyrm/templates/lists/list.html:213
msgid "Search for a book"
msgstr ""
@@ -1901,8 +1942,8 @@ msgstr ""
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/groups/members.html:15
-#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54
-#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:217
+#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:55
+#: bookwyrm/templates/layout.html:56 bookwyrm/templates/lists/list.html:217
#: bookwyrm/templates/search/layout.html:5
#: bookwyrm/templates/search/layout.html:10
msgid "Search"
@@ -2380,8 +2421,8 @@ msgid "The bell will light up when you have a new notification. When it does, cl
msgstr ""
#: bookwyrm/templates/guided_tour/home.html:177
-#: bookwyrm/templates/layout.html:85 bookwyrm/templates/layout.html:117
-#: bookwyrm/templates/layout.html:118
+#: bookwyrm/templates/layout.html:86 bookwyrm/templates/layout.html:118
+#: bookwyrm/templates/layout.html:119
#: bookwyrm/templates/notifications/notifications_page.html:5
#: bookwyrm/templates/notifications/notifications_page.html:10
msgid "Notifications"
@@ -2544,7 +2585,7 @@ msgstr ""
#: bookwyrm/templates/guided_tour/user_groups.html:11
#: bookwyrm/templates/guided_tour/user_profile.html:55
-#: bookwyrm/templates/user/layout.html:79
+#: bookwyrm/templates/user/layout.html:83
msgid "Groups"
msgstr ""
@@ -2598,7 +2639,7 @@ msgid "This tab shows everything you have read towards your annual reading goal,
msgstr ""
#: bookwyrm/templates/guided_tour/user_profile.html:32
-#: bookwyrm/templates/user/layout.html:73
+#: bookwyrm/templates/user/layout.html:77
msgid "Reading Goal"
msgstr ""
@@ -2953,7 +2994,7 @@ msgid "Login"
msgstr ""
#: bookwyrm/templates/landing/login.html:7
-#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:149
+#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:150
#: bookwyrm/templates/ostatus/error.html:37
msgid "Log in"
msgstr ""
@@ -2964,7 +3005,7 @@ msgstr ""
#: bookwyrm/templates/landing/login.html:21
#: bookwyrm/templates/landing/reactivate.html:17
-#: bookwyrm/templates/layout.html:140 bookwyrm/templates/ostatus/error.html:28
+#: bookwyrm/templates/layout.html:141 bookwyrm/templates/ostatus/error.html:28
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr ""
@@ -2972,13 +3013,13 @@ msgstr ""
#: bookwyrm/templates/landing/login.html:27
#: bookwyrm/templates/landing/password_reset.html:26
#: bookwyrm/templates/landing/reactivate.html:23
-#: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32
+#: bookwyrm/templates/layout.html:145 bookwyrm/templates/ostatus/error.html:32
#: bookwyrm/templates/preferences/2fa.html:91
#: bookwyrm/templates/snippets/register_form.html:45
msgid "Password:"
msgstr ""
-#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:146
+#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:147
#: bookwyrm/templates/ostatus/error.html:34
msgid "Forgot your password?"
msgstr ""
@@ -3021,35 +3062,35 @@ msgstr ""
msgid "%(site_name)s search"
msgstr ""
-#: bookwyrm/templates/layout.html:46
+#: bookwyrm/templates/layout.html:47
msgid "Search for a book, user, or list"
msgstr ""
-#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62
+#: bookwyrm/templates/layout.html:62 bookwyrm/templates/layout.html:63
msgid "Scan Barcode"
msgstr ""
-#: bookwyrm/templates/layout.html:76
+#: bookwyrm/templates/layout.html:77
msgid "Main navigation menu"
msgstr ""
-#: bookwyrm/templates/layout.html:98
+#: bookwyrm/templates/layout.html:99
msgid "Feed"
msgstr ""
-#: bookwyrm/templates/layout.html:145 bookwyrm/templates/ostatus/error.html:33
+#: bookwyrm/templates/layout.html:146 bookwyrm/templates/ostatus/error.html:33
msgid "password"
msgstr ""
-#: bookwyrm/templates/layout.html:157
+#: bookwyrm/templates/layout.html:158
msgid "Join"
msgstr ""
-#: bookwyrm/templates/layout.html:191
+#: bookwyrm/templates/layout.html:192
msgid "Successfully posted status"
msgstr ""
-#: bookwyrm/templates/layout.html:192
+#: bookwyrm/templates/layout.html:193
msgid "Error posting status"
msgstr ""
@@ -3118,7 +3159,7 @@ msgid "Delete this list?"
msgstr ""
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr ""
@@ -3133,7 +3174,6 @@ msgid "on %(site_name)s "
msgstr ""
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr ""
@@ -3215,6 +3255,10 @@ msgstr ""
msgid "You successfully added a book to this list!"
msgstr ""
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr ""
@@ -3886,7 +3930,7 @@ msgstr ""
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:89
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr ""
@@ -4065,33 +4109,33 @@ msgid ""
" "
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr ""
@@ -4174,7 +4218,7 @@ msgstr ""
#: bookwyrm/templates/settings/announcements/announcements.html:3
#: bookwyrm/templates/settings/announcements/announcements.html:5
#: bookwyrm/templates/settings/announcements/edit_announcement.html:15
-#: bookwyrm/templates/settings/layout.html:97
+#: bookwyrm/templates/settings/layout.html:99
msgid "Announcements"
msgstr ""
@@ -4560,6 +4604,58 @@ msgstr[1] ""
msgid "No email domains currently blocked"
msgstr ""
+#: bookwyrm/templates/settings/email_config.html:6
+#: bookwyrm/templates/settings/email_config.html:8
+#: bookwyrm/templates/settings/layout.html:90
+msgid "Email Configuration"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:16
+msgid "Error sending test email:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:24
+msgid "Successfully sent test email."
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:32
+#: bookwyrm/templates/setup/config.html:102
+msgid "Email sender:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:39
+msgid "Email backend:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:46
+msgid "Host:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:53
+msgid "Host user:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:60
+msgid "Port:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:67
+msgid "Use TLS:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:74
+msgid "Use SSL:"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:83
+#, python-format
+msgid "Send test email to %(email)s"
+msgstr ""
+
+#: bookwyrm/templates/settings/email_config.html:90
+msgid "Send test email"
+msgstr ""
+
#: bookwyrm/templates/settings/federation/edit_instance.html:3
#: bookwyrm/templates/settings/federation/edit_instance.html:6
#: bookwyrm/templates/settings/federation/edit_instance.html:15
@@ -4943,22 +5039,31 @@ msgstr ""
msgid "System"
msgstr ""
-#: bookwyrm/templates/settings/layout.html:88
+#: bookwyrm/templates/settings/layout.html:86
msgid "Celery status"
msgstr ""
-#: bookwyrm/templates/settings/layout.html:93
+#: bookwyrm/templates/settings/layout.html:95
msgid "Instance Settings"
msgstr ""
-#: bookwyrm/templates/settings/layout.html:101
+#: bookwyrm/templates/settings/layout.html:103
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr ""
-#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/layout.html:109
+#: bookwyrm/templates/settings/layout.html:112
+#: bookwyrm/templates/settings/registration.html:4
+#: bookwyrm/templates/settings/registration.html:6
+#: bookwyrm/templates/settings/registration_limited.html:4
+#: bookwyrm/templates/settings/registration_limited.html:6
+msgid "Registration"
+msgstr ""
+
+#: bookwyrm/templates/settings/layout.html:118
+#: bookwyrm/templates/settings/site.html:107
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -4997,6 +5102,58 @@ msgstr ""
msgid "No links available for this domain."
msgstr ""
+#: bookwyrm/templates/settings/registration.html:13
+#: bookwyrm/templates/settings/registration_limited.html:13
+#: bookwyrm/templates/settings/site.html:21
+msgid "Settings saved"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:22
+#: bookwyrm/templates/settings/registration_limited.html:22
+#: bookwyrm/templates/settings/site.html:30
+msgid "Unable to save settings"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:38
+msgid "Allow registration"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:44
+msgid "Require users to confirm email address"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:46
+msgid "(Recommended if registration is open)"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:51
+msgid "Allow invite requests"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:55
+#: bookwyrm/templates/settings/registration_limited.html:42
+msgid "Invite request text:"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:63
+#: bookwyrm/templates/settings/registration_limited.html:50
+msgid "Set a question for invite requests"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:68
+#: bookwyrm/templates/settings/registration_limited.html:55
+msgid "Question:"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration.html:73
+#: bookwyrm/templates/settings/registration_limited.html:67
+msgid "Registration closed text:"
+msgstr ""
+
+#: bookwyrm/templates/settings/registration_limited.html:29
+msgid "Registration is enabled on this instance"
+msgstr ""
+
#: bookwyrm/templates/settings/reports/report.html:12
msgid "Back to reports"
msgstr ""
@@ -5094,124 +5251,87 @@ msgid "No reports found."
msgstr ""
#: bookwyrm/templates/settings/site.html:10
-#: bookwyrm/templates/settings/site.html:44
+#: bookwyrm/templates/settings/site.html:43
msgid "Instance Info"
msgstr ""
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:122
msgid "Footer Content"
msgstr ""
-#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
-msgid "Registration"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:22
-msgid "Settings saved"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:31
-msgid "Unable to save settings"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:47
+#: bookwyrm/templates/settings/site.html:46
msgid "Instance Name:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:51
+#: bookwyrm/templates/settings/site.html:50
msgid "Tagline:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:55
+#: bookwyrm/templates/settings/site.html:54
msgid "Instance description:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:59
+#: bookwyrm/templates/settings/site.html:58
msgid "Short description:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:60
+#: bookwyrm/templates/settings/site.html:59
msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown."
msgstr ""
-#: bookwyrm/templates/settings/site.html:64
+#: bookwyrm/templates/settings/site.html:63
msgid "Code of conduct:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:68
+#: bookwyrm/templates/settings/site.html:67
msgid "Privacy Policy:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:72
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:77
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:91
msgid "Images"
msgstr ""
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:94
msgid "Logo:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:98
msgid "Logo small:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:102
msgid "Favicon:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:110
msgid "Default theme:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:125
msgid "Support link:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:129
msgid "Support title:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:133
msgid "Admin email:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:137
msgid "Additional info:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:139
-msgid "Allow registration"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:145
-msgid "Require users to confirm email address"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:147
-msgid "(Recommended if registration is open)"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:152
-msgid "Allow invite requests"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:158
-msgid "Set a question for invite requests"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:163
-msgid "Question:"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:168
-msgid "Registration closed text:"
-msgstr ""
-
-#: bookwyrm/templates/settings/site.html:172
-msgid "Invite request text:"
-msgstr ""
-
#: bookwyrm/templates/settings/themes.html:10
msgid "Set instance default theme"
msgstr ""
@@ -5472,10 +5592,6 @@ msgstr ""
msgid "Default interface language:"
msgstr ""
-#: bookwyrm/templates/setup/config.html:102
-msgid "Email sender:"
-msgstr ""
-
#: bookwyrm/templates/setup/config.html:109
msgid "Enable preview images:"
msgstr ""
@@ -5767,12 +5883,12 @@ msgstr ""
msgid "Documentation"
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6217,6 +6333,11 @@ msgstr ""
msgid "Follow Requests"
msgstr ""
+#: bookwyrm/templates/user/layout.html:71
+#: bookwyrm/templates/user/reviews_comments.html:10
+msgid "Reviews and Comments"
+msgstr ""
+
#: bookwyrm/templates/user/lists.html:11
#, python-format
msgid "Lists: %(username)s"
@@ -6241,6 +6362,10 @@ msgstr ""
msgid "%(username)s isn't following any users"
msgstr ""
+#: bookwyrm/templates/user/reviews_comments.html:24
+msgid "No reviews or comments yet!"
+msgstr ""
+
#: bookwyrm/templates/user/user.html:16
msgid "Edit profile"
msgstr ""
diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo
index 030a06129..3c35b9ef8 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 68496b1e4..25856cba9 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-29 04:54\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Spanish\n"
"Language: es\n"
@@ -90,7 +90,7 @@ msgstr "Código incorrecto"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Este dominio está bloqueado. Ponte en contacto con le admin si crees que se trata de un error."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Este enlace con ese tipo de archivo ya ha sido añadido a este libro. Si no aparece, es porque el dominio todavía está pendiente."
@@ -256,14 +256,14 @@ msgstr "Seguidores"
msgid "Private"
msgstr "Privado"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Activo"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Completado"
@@ -517,6 +517,11 @@ msgstr "Sobre %(site_name)s"
msgid "Privacy Policy"
msgstr "Política de privacidad"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Guardar"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Dominio"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Usuario/a desconocido/a"
msgid "Report spam"
msgstr "Denunciar spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Ningún enlace disponible para este libro."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Añadir enlace a archivo"
@@ -2626,85 +2631,89 @@ msgstr "Encontrar un libro"
msgid "Import Books"
msgstr "Importar libros"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "En promedio, las importaciones recientes han tomado %(hours)s horas."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "En promedio, las importaciones recientes han tomado %(minutes)s minutos."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Fuente de datos:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr "Puede descargar tus datos de Goodreads desde la página de Importación/Exportación de tu cuenta de Goodreads."
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Archivo de datos:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Incluir reseñas"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Configuración de privacidad para las reseñas importadas:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importar"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr "Las importaciones se han deshabilitado temporalmente, gracias por tu paciencia."
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importaciones recientes"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr "Fecha de Creación"
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Última Actualización"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr "Elementos"
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "No hay ninguna importación reciente"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "¿Eliminar esta lista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Editar lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "en %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Esta lista está vacia"
@@ -3205,6 +3213,10 @@ msgstr "¡Has sugerido un libro para esta lista exitosamente!"
msgid "You successfully added a book to this list!"
msgstr "¡Has agregado un libro a esta lista exitosamente!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Editar notas"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s ha sugerido añad
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s ha añadido %(book_title)s , %(second_book_title)s , y %(display_count)s y otros libros en tu lista \"%(list_name)s \""
msgstr[1] "%(related_user)s ha añadido %(book_title)s , %(second_book_title)s , y %(display_count)s libros más a tu lista \"%(list_name)s \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Perfil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Apariencia"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Escanear código de barras\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Solicitando acceso a cámara..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Otorga acceso a la cámara para poder escanear el código de barras de tus libros."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "No se ha podido acceder a la cámara."
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Escaneando..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Alinea el código de barras del libro con la cámara."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "Se ha escaneado el ISBN."
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Buscando libro:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importar libro"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Cargar resultados de otros catálogos"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Agregar libro a mano"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Iniciar una sesión para importar o agregar libros."
@@ -4113,7 +4142,7 @@ msgstr "Tipo de búsqueda"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Crear anuncio"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Fecha agregada"
@@ -4669,21 +4698,21 @@ msgstr "Falló:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr "Se espera un archivo json en el formato que provee FediBlock, con una lista de entradas que contenga los campos instance
y url
, por ejemplo:"
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nombre de instancia"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Última actualización"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Software"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "No se encontró ningun anuncio"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Configurar sitio"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Información de instancia"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Contenido del pie de página"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registración"
@@ -5118,71 +5147,79 @@ msgstr "Código de conducta:"
msgid "Privacy Policy:"
msgstr "Política de privacidad:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Imagenes"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo pequeño:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Tema por defecto:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Enlace de apoyo:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Título de apoyo:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Correo electrónico de administradorx:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Más informacion:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Permitir registración"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Requerir a usuarios a confirmar dirección de correo electrónico"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recomendado si la registración es abierta)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Permitir solicitudes de invitación"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Establece una pregunta para las solicitudes de invitación."
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Pregunta:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Texto de registración cerrada:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Texto de solicitud de invitación:"
@@ -5741,12 +5778,12 @@ msgstr "Aceptar"
msgid "Documentation"
msgstr "Documentación de Django"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Apoya a %(site_name)s en %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "BookWyrm es software libre y de código abierto. Puedes contribuir o reportar problemas en GitHub ."
@@ -6290,10 +6327,6 @@ msgstr "Archivo excede el tamaño máximo: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "No un archivo csv válido"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/fi_FI/LC_MESSAGES/django.mo b/locale/fi_FI/LC_MESSAGES/django.mo
index c79e7ab18..e224d3224 100644
Binary files a/locale/fi_FI/LC_MESSAGES/django.mo and b/locale/fi_FI/LC_MESSAGES/django.mo differ
diff --git a/locale/fi_FI/LC_MESSAGES/django.po b/locale/fi_FI/LC_MESSAGES/django.po
index 81a1caac3..8e974e72e 100644
--- a/locale/fi_FI/LC_MESSAGES/django.po
+++ b/locale/fi_FI/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Finnish\n"
"Language: fi\n"
@@ -90,7 +90,7 @@ msgstr "Virheellinen koodi"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Verkkotunnus on estetty. Jos epäilet virhettä, ota yhteyttä ylläpitäjään."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Linkki ja tiedostotyyppi on jo lisätty kirjan tietoihin. Jos se ei näy, verkkotunnusta on vielä odotettava."
@@ -256,14 +256,14 @@ msgstr "Seuraajat"
msgid "Private"
msgstr "Yksityinen"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Aktiivinen"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "%(site_name)s — tietoja"
msgid "Privacy Policy"
msgstr "Tietosuojakäytäntö"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Tallenna"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Verkkotunnus"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Tuntematon käyttäjä"
msgid "Report spam"
msgstr "Ilmoita roskapostiksi"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Tähän kirjaan ei liity linkkejä."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Lisää linkki tiedostoon"
@@ -2626,85 +2631,89 @@ msgstr "Etsi kirja"
msgid "Import Books"
msgstr "Tuo kirjoja"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Tietolähde:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr "Goodreads-tiedot voi ladata Goodreads-käyttäjätilin Import/Export-sivun kautta."
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Datatiedosto:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Myös arviot"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Tuotavien arvioiden yksityisyysvalinta:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Tuo"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Viimeksi tuotu"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Ei viimeaikaisia tuonteja"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Poistetaanko lista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Muokkaa listaa"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "— %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Lista on tyhjä"
@@ -3205,6 +3213,10 @@ msgstr "Kirjan ehdottaminen listaan onnistui."
msgid "You successfully added a book to this list!"
msgstr "Kirjan lisääminen listaan onnistui."
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Muokkaa merkintöjä"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s ehdotti teoksia <
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s lisäsi teokset %(book_title)s ja %(second_book_title)s sekä %(display_count)s muun teoksen listaasi %(list_name)s "
msgstr[1] "%(related_user)s lisäsi teokset %(book_title)s ja %(second_book_title)s sekä %(display_count)s muuta teosta listaasi %(list_name)s "
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Profiili"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Näyttövalinnat"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Skannaa viivakoodi\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Pyydetään kameraa..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Anna lupa käyttää kameraa, jotta viivakoodi voidaan skannata."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Kameraa ei löytynyt"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Skannataan..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Kohdista kirjan viivakoodi kameraan."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN skannattu"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Haetaan kirjaa:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Tulokset lähteestä"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Tuo kirja"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Lataa tuloksia muista katalogeista"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Lisää kirja käsin"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Kirjojen tuonti tai lisääminen edellyttää sisäänkirjautumista."
@@ -4113,7 +4142,7 @@ msgstr "Hakutyyppi"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Luo tiedote"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Lisätty"
@@ -4669,21 +4698,21 @@ msgstr "Epäonnistuneet:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Palvelimen nimi"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Viimeisin päivitys"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Ohjelmisto"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Palvelimia ei löytynyt"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Sivuston asetukset"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Tietoja palvelimesta"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Alatunnisteen sisältö"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Käyttäjätilien avaaminen"
@@ -5118,71 +5147,79 @@ msgstr "Käyttöehdot:"
msgid "Privacy Policy:"
msgstr "Tietosuojakäytäntö:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Kuvat"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Pieni logo:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Oletusteema:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Rahankeruulinkki:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Rahankeruulinkin otsikko:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Ylläpitäjän sähköpostiosoite:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Lisätietoja:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Salli käyttäjätilien avaaminen"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Vaadi käyttäjiä vahvistamaan sähköpostiosoitteensa"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Suositellaan, jos käyttäjätilejä voi avata vapaasti)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Salli kutsulinkin pyytäminen"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Kutsupyyntöjen lisätietokysymys"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Kysymys:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Teksti, joka näytetään, kun käyttäjätilin avaaminen ei ole mahdollista:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Kutsupyyntökehote ja -ohje:"
@@ -5741,12 +5778,12 @@ msgstr "Hyväksy"
msgid "Documentation"
msgstr "Käyttöohjeet"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Tue %(site_name)s-sivustoa osoitteessa %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "BookWyrmin lähdekoodi on avointa. Kehitystyöhön voi osallistua ja ongelmista voi ilmoittaa GitHubissa ."
@@ -6290,10 +6327,6 @@ msgstr "Tiedosto on enimmäiskokoa 10 Mt suurempi"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Epäkelpo csv-tiedosto"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo
index d112f530b..7af120da4 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 29200c0a1..3e43e1687 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 20:23\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 06:26\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: French\n"
"Language: fr\n"
@@ -90,7 +90,7 @@ msgstr "Code incorrect"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Ce domaine est bloqué. Contactez l’admin de votre instance si vous pensez que c’est une erreur."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Le lien avec ce type de fichier a déjà été ajouté pour ce livre. S’il n’est pas visible, le domaine est encore en attente."
@@ -256,14 +256,14 @@ msgstr "Abonné(e)s"
msgid "Private"
msgstr "Privé"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Actif"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Terminé"
@@ -402,7 +402,7 @@ msgstr "简化字"
#: bookwyrm/settings.py:302
msgid "繁體中文 (Traditional Chinese)"
-msgstr "Infos supplémentaires :"
+msgstr "繁體中文 (chinois traditionnel)"
#: bookwyrm/templates/404.html:4 bookwyrm/templates/404.html:8
msgid "Not Found"
@@ -517,6 +517,11 @@ msgstr "À propos de %(site_name)s"
msgid "Privacy Policy"
msgstr "Politique de vie privée"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr "Mentions légales"
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI :"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Enregistrer"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domaine"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Compte inconnu"
msgid "Report spam"
msgstr "Signaler un spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Aucun lien disponible pour ce livre."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Ajouter un lien vers un fichier"
@@ -2626,85 +2631,89 @@ msgstr "Trouver un livre"
msgid "Import Books"
msgstr "Importer des livres"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr "Fichier CSV non valide"
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "En moyenne, les dernières importations ont pris %(hours)s heures."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "En moyenne, les dernières importations ont pris %(minutes)s minutes."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Source de données :"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
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/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Fichier de données :"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Importer les critiques"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Confidentialité des critiques importées :"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importer"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr "Les importations sont temporairement désactivées, merci pour votre patience."
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importations récentes"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr "Date de Création"
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Dernière Mise à jour"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr "Éléments"
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Aucune importation récente"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Supprimer cette liste ?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Modifier la liste"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "sur %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Cette liste est actuellement vide"
@@ -3205,6 +3213,10 @@ msgstr "Vous avez suggéré un livre à cette liste !"
msgid "You successfully added a book to this list!"
msgstr "Vous avez ajouté un livre à cette liste !"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr "Cette liste est actuellement vide."
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Modifier les notes"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s a suggéré d'ajo
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr "%(related_user)s a ajouté un livre à l'une de vos listes"
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s a ajouté %(book_title)s , %(second_book_title)s et %(display_count)s autre livre à votre liste \"%(list_name)s \""
msgstr[1] "%(related_user)s a ajouté %(book_title)s , %(second_book_title)s et %(display_count)s autres livres dans votre liste \"%(list_name)s \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Profil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Affichage"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Scanner le code-barres\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "En attente de la caméra…"
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Autorisez l’accès à la caméra pour scanner le code-barres d’un livre."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Impossible d’accéder à la caméra"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Scan en cours…"
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Alignez le code-barres de votre livre avec la caméra."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN scanné"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Recherche du livre :"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] "%(formatted_review_count)s critique"
+msgstr[1] "%(formatted_review_count)s critiques"
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr "(publié en %(pub_year)s)"
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Résultats de"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importer le livre"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Charger les résultats d’autres catalogues"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Ajouter un livre manuellement"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Authentifiez-vous pour importer ou ajouter des livres."
@@ -4113,7 +4142,7 @@ msgstr "Type de recherche"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Ajouter une annonce"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Date d’ajout"
@@ -4669,21 +4698,21 @@ msgstr "Échec :"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr "Attend un fichier json dans le format fourni par FediBlock, avec une liste d'entrées qui ont des champs instance
et url
. Par exemple :"
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nom de l’instance"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Dernière modification"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Logiciel"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Aucune instance trouvée"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Paramètres du site"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Information sur l’instance"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Contenu du pied de page"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Inscription"
@@ -5118,71 +5147,79 @@ msgstr "Code de conduite :"
msgid "Privacy Policy:"
msgstr "Politique de vie privée :"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr "Mentions légales :"
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr "Inclure les mentions légales :"
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Images"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo :"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo réduit :"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon :"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Thème par défaut :"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "URL pour soutenir l’instance :"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Titre pour soutenir l’instance :"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Email de l’administrateur :"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Infos supplémentaires :"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Autoriser les inscriptions"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Demander aux utilisateurs et utilisatrices de confirmer leur adresse email"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recommandé si les inscriptions sont ouvertes)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Autoriser les demandes d’invitation"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Définir une question pour les demandes d’invitation"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Question :"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Texte affiché lorsque les inscriptions sont closes :"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Texte de la demande d'invitation :"
@@ -5741,12 +5778,12 @@ msgstr "Accepter"
msgid "Documentation"
msgstr "Documentation"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Soutenez %(site_name)s sur %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "Le code source de BookWyrm est librement disponible. Vous pouvez contribuer ou rapporter des problèmes sur GitHub ."
@@ -6290,10 +6327,6 @@ msgstr "Ce fichier dépasse la taille limite : 10 Mo"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s (%(subtitle)s)"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Fichier CSV non valide"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo
index 464cd03ab..42a5bbda6 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 056257914..22855be33 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-27 08:39\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 18:13\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Galician\n"
"Language: gl\n"
@@ -90,7 +90,7 @@ msgstr "Código incorrecto"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Este dominio está bloqueado. Contacta coa administración se cres que é un erro."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Esta ligazón co tipo de ficheiro xa foi engadida para este libro. Se non é visible, o dominio aínda está pendente."
@@ -256,14 +256,14 @@ msgstr "Seguidoras"
msgid "Private"
msgstr "Privado"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Activa"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Completa"
@@ -517,6 +517,11 @@ msgstr "Acerca de %(site_name)s"
msgid "Privacy Policy"
msgstr "Política de Privacidade"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr "Legal"
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Gardar"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Dominio"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Usuaria descoñecida"
msgid "Report spam"
msgstr "Denunciar spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Sen ligazóns para para este libro."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Engadir ligazón ao ficheiro"
@@ -2626,85 +2631,89 @@ msgstr "Atopa un libro"
msgid "Import Books"
msgstr "Importar libros"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr "Non é un ficheiro CSV válido"
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "De media, ás importacións recentes levoulles %(hours)s horas."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "De media, ás importacións recentes levoulles %(minutes)s minutos."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Fonte de datos:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
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/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Ficheiro de datos:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Incluír recensións"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Axuste de privacidade para recensións importadas:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importar"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr "As importacións están temporalmente desactivadas; grazas pola paciencia."
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importacións recentes"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr "Data de creación"
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Última actualización"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr "Elementos"
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Sen importacións recentes"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Eliminar esta lista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Editar lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "en %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "A lista está baleira neste intre"
@@ -3205,6 +3213,10 @@ msgstr "Suxeriches correctamente un libro para esta lista!"
msgid "You successfully added a book to this list!"
msgstr "Engadiches correctamente un libro a esta lista!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr "A lista está baleira neste intre."
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Editar notas"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s suxeriu engadir <
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr "%(related_user)s engadiu un libro a unha das túas listas"
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s engadiu %(book_title)s , %(second_book_title)s , e %(display_count)s libro máis á tua lista \"%(list_name)s \""
msgstr[1] "%(related_user)s engadiu %(book_title)s , %(second_book_title)s , e %(display_count)s libros máis á túa lista \"%(list_name)s \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Perfil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Axustes"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Escanear Código de barras\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Accedendo á cámara..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Permite o acceso á cámara para escanear o código de barras do libro."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Non hai acceso á cámara"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Escaneando..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Aliña o código de barras do libro coa cámara."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN escaneado"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Buscando o libro:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] "%(formatted_review_count)s recensión"
+msgstr[1] "%(formatted_review_count)s recensións"
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr "(publicado en %(pub_year)s)"
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importar libro"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Cargar resultados desde outros catálogos"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Engadir un libro manualmente"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Accede para importar ou engadir libros."
@@ -4113,7 +4142,7 @@ msgstr "Tipo de busca"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Crear Anuncio"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Data engadida"
@@ -4669,21 +4698,21 @@ msgstr "Fallou:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr "Agardase un ficheiro json no formato que proporciona FediBlock, cunha lista de entradas con campos para instancia
e url
. Exemplo:"
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nome da instancia"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Última actualización"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Software"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Non hai instancias"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Axustes da web"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Info da instancia"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Contido web do pé"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Rexistro"
@@ -5118,71 +5147,79 @@ msgstr "Código de conduta:"
msgid "Privacy Policy:"
msgstr "Política de privacidade:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr "Legal:"
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr "Incluír información legal:"
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Imaxes"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo pequeno:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Decorado por defecto:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Ligazón de axuda:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Título de axuda:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Email de Admin:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Info adicional:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Abrir rexistro"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Requerir que a usuaria confirme o enderezo de email"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recomendable se o rexistro está aberto)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Permitir solicitudes de convite"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Escribe a pregunta para as solicitudes de convite"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Pregunta:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Texto se o rexistro está pechado:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Texto para a solicitude do convite:"
@@ -5741,12 +5778,12 @@ msgstr "Aceptar"
msgid "Documentation"
msgstr "Documentación"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Axuda a %(site_name)s en %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "O código fonte de BookWyrm é público. Podes colaborar ou informar de problemas en GitHub ."
@@ -6290,10 +6327,6 @@ msgstr "O ficheiro supera o tamaño máximo: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Non é un ficheiro csv válido"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo
index d8c58dae8..2cf5ff960 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 5c1630ca9..7e496f86c 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-27 15:39\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Italian\n"
"Language: it\n"
@@ -90,7 +90,7 @@ msgstr "Codice errato"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Questo dominio è bloccato. Per favore contatta l'amministratore se pensi che si tratti di un errore."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Questo collegamento è già stato aggiunto per questo libro. Se non è visibile, il dominio è ancora in sospeso."
@@ -256,14 +256,14 @@ msgstr "Followers"
msgid "Private"
msgstr "Privata"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Attivo"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Completato"
@@ -517,6 +517,11 @@ msgstr "Informazioni su %(site_name)s"
msgid "Privacy Policy"
msgstr "Informativa sulla Privacy"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Salva"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Dominio"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Utente sconosciuto"
msgid "Report spam"
msgstr "Segnala come spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Nessun collegamento disponibile per questo libro."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Aggiungi collegamento al file"
@@ -2626,85 +2631,89 @@ msgstr "Cerca un libro"
msgid "Import Books"
msgstr "Importa libri"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "In media, le importazioni recenti hanno richiesto %(hours)s ore."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "In media, le importazioni recenti hanno richiesto %(minutes)s ore."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Sorgenti dati:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
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/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Dati file:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Includi recensioni"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Impostazione della privacy per le recensioni importate:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importa"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr "Le importazioni sono temporaneamente disabilitate; grazie per la pazienza."
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importazioni recenti"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr "Data Creazione"
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Ultimo Aggiornamento"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr "Elementi"
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Nessuna importazione recente"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Vuoi eliminare la lista selezionata?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Modifica lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "su %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Questa lista è attualmente vuota"
@@ -3205,6 +3213,10 @@ msgstr "Hai consigliato con successo un libro per questa lista!"
msgid "You successfully added a book to this list!"
msgstr "Hai consigliato con successo un libro per questa lista!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Modifica note"
@@ -3328,12 +3340,17 @@ msgstr "%(related_user)s ha suggerito di a
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s ha aggiunto %(book_title)s , %(second_book_title)s , e un %(display_count)s altro libro alla tua lista \"%(list_name)s \""
msgstr[1] "%(related_user)s ha aggiunto %(book_title)s , %(second_book_title)s , e %(display_count)s altri libri alla tua lista \"%(list_name)s \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Profilo"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Visualizzazione"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Scansiona codice a barre\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Richiesta fotocamera..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Concedi l'accesso alla fotocamera per scansionare il codice a barre di un libro."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Impossibile accedere alla fotocamera"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Ricerca in corso..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Allinea il codice a barre del tuo libro con la fotocamera."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN scansionato"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Ricerca libro:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Risultati da"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importa libro"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Carica i risultati da altri cataloghi"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Aggiungi manualmente un libro"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Accedi per importare o aggiungere libri."
@@ -4113,7 +4142,7 @@ msgstr "Tipo di ricerca"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Crea annuncio"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Data inserimento"
@@ -4669,21 +4698,21 @@ msgstr "Non riuscito:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nome dell'istanza"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Ultimo aggiornamento"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Software"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Nessun istanza trovata"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Impostazioni Sito"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Informazioni istanza"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Contenuto del footer"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registrazione"
@@ -5118,71 +5147,79 @@ msgstr "Codice di comportamento:"
msgid "Privacy Policy:"
msgstr "Informativa sulla privacy:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Immagini"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo piccolo:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Tema predefinito:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Link supporto:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Titolo supporto:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Email amministratore:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Informazioni aggiuntive:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Consenti registrazioni"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Richiedi agli utenti per confermare l'indirizzo email"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Raccomandato se la registrazione è aperta)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Consenti richieste di invito"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Imposta una domanda per le richieste di invito"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Domanda:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Registrazioni chiuse:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Testo della richiesta di invito:"
@@ -5741,12 +5778,12 @@ msgstr "Accetta"
msgid "Documentation"
msgstr "Documentazione"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr "Supporta %(site_name)s su %(support_title)s "
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr "Il codice sorgente di BookWyrm è disponibile liberamente. Puoi contribuire o segnalare problemi su GitHub ."
@@ -6290,10 +6327,6 @@ msgstr "Il file supera la dimensione massima: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Non è un file di csv valido"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo
index 75b2f6c8f..2707083e8 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 91e22d8be..80b7e34ea 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Lithuanian\n"
"Language: lt\n"
@@ -90,7 +90,7 @@ msgstr ""
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Šis domenas užblokuotas. Jei manote, kad tai klaida, susisiekite su savo administratoriumi."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Ši nuoroda su failo tipu knygai jau buvo pridėta. Jei nematote, reiškia dar laukiama domeno."
@@ -256,14 +256,14 @@ msgstr "Sekėjai"
msgid "Private"
msgstr "Privatu"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Aktyvus"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "Apie %(site_name)s"
msgid "Privacy Policy"
msgstr "Privatumo politika"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -822,7 +827,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -844,7 +849,7 @@ msgstr "Išsaugoti"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1334,7 +1339,7 @@ msgid "Domain"
msgstr "Domenas"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1363,11 +1368,11 @@ msgstr "Nežinomas vartotojas"
msgid "Report spam"
msgstr "Pranešti apie brukalą"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Šiai knygai nuorodų nėra."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Pridėti nuorodą į failą"
@@ -2646,85 +2651,89 @@ msgstr ""
msgid "Import Books"
msgstr "Importuoti knygas"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Duomenų šaltinis:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Duomenų failas:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Įtraukti atsiliepimus"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Privatumo nustatymai svarbiems atsiliepimams:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importuoti"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Pastaruoju metu importuota"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Pastaruoju metu neimportuota"
@@ -3132,7 +3141,7 @@ msgid "Delete this list?"
msgstr "Ištrinti šį sąrašą?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Redaguoti sąrašą"
@@ -3147,7 +3156,6 @@ msgid "on %(site_name)s "
msgstr "per %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Šiuo metu sąrašas tuščias"
@@ -3229,6 +3237,10 @@ msgstr "Sėkmingai pasiūlėte knygą šiam sąrašui!"
msgid "You successfully added a book to this list!"
msgstr "Sėkmingai pridėjote knygą į šį sąrašą!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Redaguoti užrašus"
@@ -3352,6 +3364,11 @@ msgstr "%(related_user)s pasiūlė pridėt
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s pridėjo %(book_title)s , %(second_book_title)s ir %(display_count)s kitą knygą į jūsų sąrašą „%(list_name)s “"
@@ -3359,7 +3376,7 @@ msgstr[1] "%(related_user)s pridėjo <
msgstr[2] "%(related_user)s pridėjo %(book_title)s , %(second_book_title)s ir %(display_count)s kitų knygų į jūsų sąrašą „%(list_name)s “"
msgstr[3] "%(related_user)s pridėjo %(book_title)s , %(second_book_title)s ir %(display_count)s kitas knygas į jūsų sąrašą „%(list_name)s “"
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3901,7 +3918,7 @@ msgstr "Paskyra"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Rodyti"
@@ -4081,54 +4098,68 @@ msgstr "\n"
" Nuskaityti barkodą\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Reikia kameros..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Suteikite prieigą prie kameros, kad galėtumėte nuskaityti knygos barkodą."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Nepavyko pasiekti kameros"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Skenuojama..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Kamerą laikykite virš barkodo."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN nuskaitytas"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Ieškoma knygos:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Rezultatai iš"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importuoti knygą"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Įkelti rezultatus iš kitų katalogų"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Pridėti knygą"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Prisijunkite, kad importuotumėte arba pridėtumėte knygas."
@@ -4143,7 +4174,7 @@ msgstr "Paieškos tipas"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4219,7 +4250,7 @@ msgid "Create Announcement"
msgstr "Sukurti pranešimą"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Pridėjimo data"
@@ -4709,21 +4740,21 @@ msgstr "Nepavyko:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Serverio pavadinimas"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Paskutinį kartą atnaujinta"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Programinė įranga"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Serverių nerasta"
@@ -4972,7 +5003,7 @@ msgid "Site Settings"
msgstr "Puslapio nustatymai"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5113,12 +5144,12 @@ msgid "Instance Info"
msgstr "Serverio informacija"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Poraštės turinys"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registracija"
@@ -5158,71 +5189,79 @@ msgstr "Elgesio kodeksas:"
msgid "Privacy Policy:"
msgstr "Privatumo politika:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Paveikslėliai"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logotipas:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Mažas logotipas:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Puslapio ikonėlė:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Numatytoji tema:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Paramos nuoroda:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Paramos pavadinimas:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Administratoriaus el. paštas:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Papildoma informacija:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Leisti registruotis"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Reikalauti el. pašto patvirtinimo"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Rekomenduojama, jei leidžiama registruotis)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Leisti prašyti kvietimų"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Kvietimo užklausoms parinkite klausimą"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Klausimas:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Užrakintos registracijos tekstas:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Kvietimo prašymo tekstas:"
@@ -5785,12 +5824,12 @@ msgstr "Sutikti"
msgid "Documentation"
msgstr "Dokumentacija"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6348,10 +6387,6 @@ msgstr "Failas viršijo maksimalų dydį: 10 MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Netinkamas csv failas"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo
index 24b839045..4ee87d1c7 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 74c6ea639..5a1073a3a 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:55\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Norwegian\n"
"Language: no\n"
@@ -90,7 +90,7 @@ msgstr "Feil kode"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Dette domenet er blokkert. Kontakt systemansvarlig hvis du tror dette er en feil."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Denne lenka med filtype har allerede blitt lagt til for denne boka. Hvis lenka ikke er synlig er domenet fortsatt under behandling."
@@ -256,14 +256,14 @@ msgstr "Følgere"
msgid "Private"
msgstr "Privat"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Aktiv"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "Om %(site_name)s"
msgid "Privacy Policy"
msgstr "Personvernerklæring"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Lagre"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domene"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr "Ukjent bruker"
msgid "Report spam"
msgstr "Rapporter spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Ingen lenker er tilgjengelig for denne boka."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Legg til lenke til fil"
@@ -2626,85 +2631,89 @@ msgstr ""
msgid "Import Books"
msgstr "Importer bøker"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Datakilde:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Datafil:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Inkluder anmeldelser"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Personverninnstilling for importerte anmeldelser:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importér"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Nylig importer"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Ingen nylige importer"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Slett denne lista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Redigér lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "på %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Denne lista er for tida tom"
@@ -3205,6 +3213,10 @@ msgstr "Du har nå foreslått en bok for denne lista!"
msgid "You successfully added a book to this list!"
msgstr "Du har nå lagt til ei bok i denne lista!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Rediger merknader"
@@ -3328,12 +3340,17 @@ msgstr ""
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Profil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr ""
@@ -4049,54 +4066,66 @@ msgid "\n"
" "
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr ""
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultat fra"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importer bok"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Last resultater fra andre kataloger"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Legg til bok manuelt"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Logg på for å importere eller legge til bøker."
@@ -4111,7 +4140,7 @@ msgstr "Søketype"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4185,7 +4214,7 @@ msgid "Create Announcement"
msgstr "Opprett en kunngjøring"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Dato lagt til"
@@ -4667,21 +4696,21 @@ msgstr "Mislyktes:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Instansnavn"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Programvare"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Ingen instanser funnet"
@@ -4930,7 +4959,7 @@ msgid "Site Settings"
msgstr "Sideinnstillinger"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5071,12 +5100,12 @@ msgid "Instance Info"
msgstr "Instansinformasjon"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Bunntekst Innhold"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registrering"
@@ -5116,71 +5145,79 @@ msgstr "Atferdsregler:"
msgid "Privacy Policy:"
msgstr "Personvernregler:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Bilder"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo liten:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Lenke til brukerstøtte:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Tittel på brukerstøtte:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Admin e-post:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Ytterligere info:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Tillat registrering"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Medlemmer må bekrefte e-postadresse"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(anbefales for åpen registrering)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Tillat invitasjonsforespørsler"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr ""
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Registrering lukket tekst:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Invitasjonsforespørsel tekst:"
@@ -5739,12 +5776,12 @@ msgstr "Godta"
msgid "Documentation"
msgstr "Dokumentasjon"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6288,10 +6325,6 @@ msgstr "Filen overskrider maksimal størrelse: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Ikke en gyldig csv-fil"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/pl_PL/LC_MESSAGES/django.mo b/locale/pl_PL/LC_MESSAGES/django.mo
index fbacd9b07..23d79604c 100644
Binary files a/locale/pl_PL/LC_MESSAGES/django.mo and b/locale/pl_PL/LC_MESSAGES/django.mo differ
diff --git a/locale/pl_PL/LC_MESSAGES/django.po b/locale/pl_PL/LC_MESSAGES/django.po
index aef80aa3d..91f07b8bb 100644
--- a/locale/pl_PL/LC_MESSAGES/django.po
+++ b/locale/pl_PL/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-27 10:30\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:55\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Polish\n"
"Language: pl\n"
@@ -90,7 +90,7 @@ msgstr "Niepoprawny kod"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Ta domena jest zablokowana. Skontaktuj się z administratorem, jeśli uważasz, że wystąpił błąd."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Ten odnośnik z typem pliku został już dodany do tej książki. Jeśli nie jest on widoczny, domena jest nadal sprawdzana."
@@ -256,14 +256,14 @@ msgstr "Obserwujący"
msgid "Private"
msgstr "Prywatne"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Aktywne"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Zakończone"
@@ -517,6 +517,11 @@ msgstr "Informacje o %(site_name)s"
msgid "Privacy Policy"
msgstr "Polityka prywatności"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -822,7 +827,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -844,7 +849,7 @@ msgstr "Zapisz"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1334,7 +1339,7 @@ msgid "Domain"
msgstr "Domena"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1363,11 +1368,11 @@ msgstr "Nieznany użytkownik"
msgid "Report spam"
msgstr "Zgłoś spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Brak odnośników dla tej książki."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Dodaj odnośnik do pliku"
@@ -2646,85 +2651,89 @@ msgstr "Znajdź książkę"
msgid "Import Books"
msgstr "Importuj książki"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr "Ostatnie importy zajmowały średnio %(hours)s godzin."
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr "Ostatnie importy zajmowały średnio %(minutes)s minut."
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Źródło danych:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr "Goodreads (CSV)"
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr "Storygraph (CSV)"
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr "LibraryThing (TSV)"
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr "OpenLibrary (CSV)"
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr "Calibre (CSV)"
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Plik danych:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Uwzględnij recenzje"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Ustawienia prywatności dla importowanych recenzji:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importuj"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Najnowsze recenzje"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr "Najnowsza aktualizacja"
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Brak ostatnich importów"
@@ -3132,7 +3141,7 @@ msgid "Delete this list?"
msgstr "Usunąć te listę?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Edytuj listę"
@@ -3147,7 +3156,6 @@ msgid "on %(site_name)s "
msgstr "na %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Ta lista jest obecnie pusta"
@@ -3229,6 +3237,10 @@ msgstr "Pomyślnie zaproponowano książkę dla tej listy!"
msgid "You successfully added a book to this list!"
msgstr "Pomyślnie dodano książkę do tej listy!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Edytuj notatki"
@@ -3352,6 +3364,11 @@ msgstr "%(related_user)s proponuje dodanie
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] "%(related_user)s dodaje %(book_title)s , %(second_book_title)s oraz jeszcze %(display_count)s książkę do Twojej listy \"%(list_name)s \""
@@ -3359,7 +3376,7 @@ msgstr[1] "%(related_user)s dodaje %(related_user)s dodaje %(book_title)s , %(second_book_title)s oraz jeszcze %(display_count)s książek do Twojej listy \"%(list_name)s \""
msgstr[3] "%(related_user)s dodaje %(book_title)s , %(second_book_title)s oraz jeszcze %(display_count)s książek do Twojej listy \"%(list_name)s \""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3901,7 +3918,7 @@ msgstr "Profil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Wyświetlanie"
@@ -4081,54 +4098,68 @@ msgstr "\n"
" Skanuj kod kreskowy\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Uruchamianie aparatu..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Udziel dostęp do aparatu, aby zeskanować kod kreskowy książki."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Nie można uruchomić aparatu"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Skanowanie..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Umieść kod kreskowy książki przez aparatem."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "Zeskanowano ISBN"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Wyszukiwanie książki:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Wyniki z"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importuj książkę"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Wczytaj wyniki z pozostałych katalogów"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Ręcznie dodaj książkę"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Zaloguj się, aby importować lub dodawać książki."
@@ -4143,7 +4174,7 @@ msgstr "Typ wyszukiwania"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4219,7 +4250,7 @@ msgid "Create Announcement"
msgstr "Utwórz ogłoszenie"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Data dodania"
@@ -4709,21 +4740,21 @@ msgstr "Błąd:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nazwa instancji"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Ostatnia aktualizacja"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Oprogramowanie"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Brak instancji"
@@ -4972,7 +5003,7 @@ msgid "Site Settings"
msgstr "Ustawienia witryny"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5113,12 +5144,12 @@ msgid "Instance Info"
msgstr "Informacje o instancji"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Zawartość stopki"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Rejestracja"
@@ -5158,71 +5189,79 @@ msgstr "Regulamin:"
msgid "Privacy Policy:"
msgstr "Polityka prywatności:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Obrazy"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Małe logo:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Ikonka strony:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Domyślny motyw:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Odnośnik wsparcia:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "E-mail administratora:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Dodatkowe informacje:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Zezwól na rejestrację"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Wymagaj od użytkowników potwierdzenia adresu e-mail"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Zalecane, gdy rejestracja jest otwarta)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr ""
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr ""
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Pytanie:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr ""
@@ -5785,12 +5824,12 @@ msgstr "Akceptuj"
msgid "Documentation"
msgstr "Dokumentacja"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6348,10 +6387,6 @@ msgstr "Rozmiar pliku przekracza maksymalny rozmiar: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "To nie jest prawidłowy plik csv"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo
index c7f92e6b8..53ef7c69b 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 fe1fdb486..968098bcd 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt\n"
@@ -90,7 +90,7 @@ msgstr "Código incorreto"
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Este domínio está bloqueado. Entre em contato com a administração se você acha que isso é um engano."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Este link e tipo de arquivo já foram adicionados ao livro. Se não estiverem visíveis, o domínio ainda está em processo de análise."
@@ -256,14 +256,14 @@ msgstr "Seguidores"
msgid "Private"
msgstr "Particular"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Ativo"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr "Completo"
@@ -517,6 +517,11 @@ msgstr "Sobre %(site_name)s"
msgid "Privacy Policy"
msgstr "Política de privacidade"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Salvar"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domínio"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr ""
msgid "Report spam"
msgstr "Denunciar spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Nenhum link disponível para este livro."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Adicionar link ao arquivo"
@@ -2626,85 +2631,89 @@ msgstr ""
msgid "Import Books"
msgstr "Importar livros"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Fonte dos dados:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Arquivo de dados:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Incluir resenhas"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Configurações de privacidade para resenhas importadas:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importar"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importações recentes"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Nenhuma importação recente"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Deletar esta lista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Editar lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "em %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Esta lista está vazia"
@@ -3205,6 +3213,10 @@ msgstr "Você sugeriu um livro para esta lista com sucesso!"
msgid "You successfully added a book to this list!"
msgstr "Você adicionou um livro a esta lista com sucesso!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Editar anotações"
@@ -3328,12 +3340,17 @@ msgstr ""
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Perfil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Exibir"
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Escanear código de barras\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Solicitando a câmera..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Dê acesso à câmera para escanearmos o código de barras do livro."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Não conseguimos acessar a câmera"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Escaneando..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Alinhe o código de barras do livro com a câmera."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN escaneado"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Pesquisando livro:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importar livro"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Carregar resultados de outros acervos"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Adicionar livro manualmente"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Entre para importar ou adicionar livros."
@@ -4113,7 +4142,7 @@ msgstr "Tipo de pesquisa"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Criar aviso"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Adicionada em"
@@ -4669,21 +4698,21 @@ msgstr "Falhou:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nome da instância"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Última atualização"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Software"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Nenhuma instância encontrada"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Configurações do site"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Informações da instância"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Conteúdo do rodapé"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Cadastro"
@@ -5118,71 +5147,79 @@ msgstr "Código de conduta:"
msgid "Privacy Policy:"
msgstr "Política de privacidade:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Imagens"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo pequeno:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Tema padrão:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Link de suporte:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Título de suporte:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "E-mail da administração:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Informações adicionais:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Permitir cadastro"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Exigir que usuários confirmem o e-mail"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recomendado se o cadastro estiver aberto)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Permitir solicitação de convites"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Definir uma pergunta para os pedidos de convite"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Pergunta:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Texto quando o cadastro está fechado:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Texto solicitação de convite:"
@@ -5741,12 +5778,12 @@ msgstr "Aceitar"
msgid "Documentation"
msgstr "Documentação"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6290,10 +6327,6 @@ msgstr "Arquivo excede o tamanho máximo: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Não é um arquivo csv válido"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo
index 98dfebc92..ddf16486d 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 467f69170..46bcc3075 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:55\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Portuguese\n"
"Language: pt\n"
@@ -90,7 +90,7 @@ msgstr ""
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Este domínio está bloqueado. Por favor, entre em contacto com o administrador caso aches que isto é um erro."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr ""
@@ -256,14 +256,14 @@ msgstr "Seguidores"
msgid "Private"
msgstr "Privado"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Ativo"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "Acerca de %(site_name)s"
msgid "Privacy Policy"
msgstr "Política de Privacidade"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Salvar"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domínio"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr ""
msgid "Report spam"
msgstr "Denunciar spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Não existem links disponíveis para este livro."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr ""
@@ -2626,85 +2631,89 @@ msgstr ""
msgid "Import Books"
msgstr "Importar livros"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Origem dos dados:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Ficheiro de dados:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Incluir criticas"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Configuração de privacidade para criticas importadas:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importar"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importações recentes"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Nenhuma importação recente"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Apagar esta lista?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Editar lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "em %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Esta lista está vazia"
@@ -3205,6 +3213,10 @@ msgstr "Sugeriste um livro para esta lista com sucesso!"
msgid "You successfully added a book to this list!"
msgstr "Adicionaste um livro a esta lista com sucesso!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Editar notas"
@@ -3328,12 +3340,17 @@ msgstr ""
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Perfil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr ""
@@ -4051,54 +4068,66 @@ msgstr "\n"
" Leia o código de barras\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Solicitando câmera..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Conceder acesso à câmara para fazer scan ao código de barras do livro."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Não foi possível aceder a câmara"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Fazendo scan..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Alinha o código de barras do livro com a câmara."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN digitalizado"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Pesquisando pelo livro:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultados de"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importar livro"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Carregar resultados de outros catálogos"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Adicionar manualmente um livro"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Inicia sessão para importares ou adicionares livros."
@@ -4113,7 +4142,7 @@ msgstr "Tipo de pesquisa"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Criar comunicado"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Data de adição"
@@ -4669,21 +4698,21 @@ msgstr "Falha:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Nome do domínio"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Última atualização"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Software"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Nenhum domínio encontrado"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Configurações do site"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Informação do domínio"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Conteúdo do Rodapé"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registo"
@@ -5118,71 +5147,79 @@ msgstr "Código de Conduta:"
msgid "Privacy Policy:"
msgstr "Política de Privacidade:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Imagens"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logotipo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Pequeno logótipo:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Tema padrão:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Links de suporte:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Título de suporte:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "E-Mail da administração:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Informação adicional:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Permitir novos registos"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Requir utilizadores confirmarem o E-Mail"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recomendado se o registo estiver aberto)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Permitir solicitações de convite"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Definir uma pergunta para as solicitações de convite"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Pergunta:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Mensagem caso o registo esteja fechado:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Texto da solicitação de convite:"
@@ -5741,12 +5778,12 @@ msgstr "Aceitar"
msgid "Documentation"
msgstr "Documentação"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6290,10 +6327,6 @@ msgstr "Ficheiro excede o tamanho máximo: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Não é um ficheiro csv válido"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/ro_RO/LC_MESSAGES/django.mo b/locale/ro_RO/LC_MESSAGES/django.mo
index 8313be0f5..439ec54c8 100644
Binary files a/locale/ro_RO/LC_MESSAGES/django.mo and b/locale/ro_RO/LC_MESSAGES/django.mo differ
diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po
index 54c1cffa3..183d02a6b 100644
--- a/locale/ro_RO/LC_MESSAGES/django.po
+++ b/locale/ro_RO/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Romanian\n"
"Language: ro\n"
@@ -90,7 +90,7 @@ msgstr ""
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Acest domeniu este blocat. Vă rugăm să contactați administratorul vostru dacă credeți că este o eroare."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Această legătură cu tipul fișierului a fost deja adăugată la această carte. Dacă nu este vizibilă, domeniul este încă în așteptare."
@@ -256,14 +256,14 @@ msgstr "Urmăritori"
msgid "Private"
msgstr "Privat"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Activ"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "Despre %(site_name)s"
msgid "Privacy Policy"
msgstr "Politica de confidențialitate"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -818,7 +823,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -840,7 +845,7 @@ msgstr "Salvați"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1328,7 +1333,7 @@ msgid "Domain"
msgstr "Domeniu"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1357,11 +1362,11 @@ msgstr "Utilizator necunoscut"
msgid "Report spam"
msgstr "Raportați spam"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Nicio legătură disponibilă pentru această carte."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Adăugați o legătură către fișier"
@@ -2636,85 +2641,89 @@ msgstr "Căutați o carte"
msgid "Import Books"
msgstr "Importați cărți"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Sursa de date:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Fișierul de date:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Includeți recenzii"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Setare de confidențialitate pentru recenziile importate:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importați"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Importuri recente"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Niciun import recent"
@@ -3120,7 +3129,7 @@ msgid "Delete this list?"
msgstr "Ștergeți această listă?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Editați listă"
@@ -3135,7 +3144,6 @@ msgid "on %(site_name)s "
msgstr "în %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Această listă este momentan vidă"
@@ -3217,6 +3225,10 @@ msgstr "Ați sugerat cu succes o carte pentru această listă!"
msgid "You successfully added a book to this list!"
msgstr "Ați adăugat cu succes o carte la această listă!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Editați note"
@@ -3340,13 +3352,18 @@ msgstr "%(related_user)s a sugerat adăuga
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
msgstr[1] ""
msgstr[2] "%(related_user)s a adăugat %(book_title)s , %(second_book_title)s și alte %(display_count)s cărți la lista dvs. „%(list_name)s ”"
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3886,7 +3903,7 @@ msgstr "Profil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Afișați"
@@ -4065,54 +4082,67 @@ msgid "\n"
msgstr "\n"
"Scanați codul de bare "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "În așteptarea camerei foto..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Acordați acces camerei foto pentru a scana codul de bare al cărții."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Camera foto nu a putut fi accesată"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Se scanează..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Poziționați codul de bare al cărții în fața camerei foto."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "Cod ISBN scanat"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Căutați o carte:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Rezultate de la"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importați o carte"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Încărcați rezultatele din alte cataloage"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Adăugați manual o carte"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Autentificați-vă pentru a importa sau adăuga cărți."
@@ -4127,7 +4157,7 @@ msgstr "Tipul căutării"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4202,7 +4232,7 @@ msgid "Create Announcement"
msgstr "Creați anunț"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Dată adăugată"
@@ -4688,21 +4718,21 @@ msgstr "Eșuat:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Numele instanței"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Ultima actualizare"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Program"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "N-a fost găsită nicio instanță"
@@ -4951,7 +4981,7 @@ msgid "Site Settings"
msgstr "Setările site-ului"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5092,12 +5122,12 @@ msgid "Instance Info"
msgstr "Informații despre instanță"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Conținutul subsolului"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Înregistrare"
@@ -5137,71 +5167,79 @@ msgstr "Cod de conduită:"
msgid "Privacy Policy:"
msgstr "Politica de confidențialitate:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Imagini"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logo:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Logo mic:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Tema de bază:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Legătură asistență:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Titlu asistență:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Emailul adminului:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Informații adiționale:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Permiteți înscrierea"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Solicitați utilizatorilor să-și confirme adresa de email"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Recomandat dacă înscrierea este deschisă)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Permiteți cererile de invitație"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Stabiliți o întrebare pentru cererile de invitație"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Întrebare:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Text pentru înscrieri închise:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Text pentru cereri de invitație:"
@@ -5763,12 +5801,12 @@ msgstr "Acceptați"
msgid "Documentation"
msgstr "Documentație"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6319,10 +6357,6 @@ msgstr "Fișierul depășește dimensiuneaz maximă: 10Mo"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Nu este un fișier csv valid"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo
index d4c69bb2c..376960cd2 100644
Binary files a/locale/sv_SE/LC_MESSAGES/django.mo and b/locale/sv_SE/LC_MESSAGES/django.mo differ
diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po
index eeb324376..3f3d6f5ec 100644
--- a/locale/sv_SE/LC_MESSAGES/django.po
+++ b/locale/sv_SE/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:55\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Swedish\n"
"Language: sv\n"
@@ -90,7 +90,7 @@ msgstr ""
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "Den här domänen är blockerad. Vänligen kontakta din administratör om du tror att det här är felaktigt."
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "Denna länk med filtyp har redan lagts till för denna bok. Om den inte är synlig så är domänen fortfarande väntande."
@@ -256,14 +256,14 @@ msgstr "Följare"
msgid "Private"
msgstr "Privat"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "Aktiv"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "Om %(site_name)s"
msgid "Privacy Policy"
msgstr "Integritetspolicy"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -814,7 +819,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -836,7 +841,7 @@ msgstr "Spara"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1322,7 +1327,7 @@ msgid "Domain"
msgstr "Domän"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1351,11 +1356,11 @@ msgstr ""
msgid "Report spam"
msgstr "Rapportera skräppost"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "Inga länkar tillgängliga för den här boken."
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "Lägg till länk till filen"
@@ -2626,85 +2631,89 @@ msgstr ""
msgid "Import Books"
msgstr "Importera böcker"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "Datakälla:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "Datafil:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "Inkludera recensioner"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "Integritetsinställning för importerade recensioner:"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "Importera"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "Senaste importer"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "Ingen importering nyligen"
@@ -3108,7 +3117,7 @@ msgid "Delete this list?"
msgstr "Ta bort den här listan?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "Redigera lista"
@@ -3123,7 +3132,6 @@ msgid "on %(site_name)s "
msgstr "på %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "Den här listan är för närvarande tom"
@@ -3205,6 +3213,10 @@ msgstr "Du föreslog framgångsrikt en bok för den här listan!"
msgid "You successfully added a book to this list!"
msgstr "Du lade framgångsrikt till en bok i här listan!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "Redigera anteckningar"
@@ -3328,12 +3340,17 @@ msgstr ""
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
msgstr[1] ""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3871,7 +3888,7 @@ msgstr "Profil"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "Visa"
@@ -4051,54 +4068,66 @@ msgstr "\n"
"Skanna streckkod\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "Begär kamera..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "Bevilja åtkomst till kameran för att skanna en boks streckkod."
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "Kunde inte komma åt kameran"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "Skannar..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "Justera din boks streckkod med kameran."
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN skannades"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "Söker efter bok:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+msgstr[1] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "Resultat från"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "Importera bok"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "Ladda resultat från andra kataloger"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "Lägg till bok manuellt"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "Logga in för att importera eller lägga till böcker."
@@ -4113,7 +4142,7 @@ msgstr "Typ av sökning"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4187,7 +4216,7 @@ msgid "Create Announcement"
msgstr "Skapa ett tillkännagivande"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "Datumet lades till"
@@ -4669,21 +4698,21 @@ msgstr "Misslyckades:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "Namn på instans"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "Uppdaterades senast"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "Mjukvara"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "Inga instanser hittades"
@@ -4932,7 +4961,7 @@ msgid "Site Settings"
msgstr "Inställningar för sidan"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5073,12 +5102,12 @@ msgid "Instance Info"
msgstr "Info om instans"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "Sidfotens innehåll"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "Registrering"
@@ -5118,71 +5147,79 @@ msgstr "Uppförandekod:"
msgid "Privacy Policy:"
msgstr "Integritetspolicy:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "Bilder"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "Logga:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "Liten logga:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favikon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "Standardtema:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "Länk för support:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "Supporttitel:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "Administratörens e-postadress:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "Ytterligare info:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "Tillåt registrering"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "Kräv att användarna ska bekräfta e-postadressen"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(Rekommenderas om registreringen är öppen)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "Tillåt inbjudningsförfrågningar"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "Lägg till en fråga för inbjudningar"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "Fråga:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "Text för stängd registrering:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "Text för inbjudningsförfrågning:"
@@ -5741,12 +5778,12 @@ msgstr "Acceptera"
msgid "Documentation"
msgstr "Dokumentation"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6290,10 +6327,6 @@ msgstr "Filen överskrider maximal storlek: 10 MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s: %(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "Inte en giltig csv-fil"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo
index 21d927bfb..59eb92033 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 c1d9fcf30..887d9de22 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-09 08:40\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Chinese Simplified\n"
"Language: zh\n"
@@ -44,15 +44,15 @@ msgstr "不受限"
#: bookwyrm/forms/edit_user.py:88
msgid "Incorrect password"
-msgstr ""
+msgstr "密码错误"
#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:89
msgid "Password does not match"
-msgstr ""
+msgstr "两次输入的密码不一致"
#: bookwyrm/forms/edit_user.py:118
msgid "Incorrect Password"
-msgstr ""
+msgstr "密码错误"
#: bookwyrm/forms/forms.py:54
msgid "Reading finish date cannot be before start date."
@@ -60,15 +60,15 @@ msgstr "读完日期不得早于开始日期。"
#: bookwyrm/forms/forms.py:59
msgid "Reading stopped date cannot be before start date."
-msgstr ""
+msgstr "阅读完成日期不能早于开始日期。"
#: bookwyrm/forms/forms.py:67
msgid "Reading stopped date cannot be in the future."
-msgstr ""
+msgstr "阅读停止的日期不能是将来的日期"
#: bookwyrm/forms/forms.py:74
msgid "Reading finished date cannot be in the future."
-msgstr ""
+msgstr "读完日期不能是未来日期"
#: bookwyrm/forms/landing.py:37
msgid "Username or password are incorrect"
@@ -84,13 +84,13 @@ msgstr "已经存在使用该邮箱的用户。"
#: bookwyrm/forms/landing.py:123 bookwyrm/forms/landing.py:131
msgid "Incorrect code"
-msgstr ""
+msgstr "验证码错误"
#: bookwyrm/forms/links.py:36
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr "此域名已被屏蔽。如果您认为这是一个错误,请联系您的管理员。"
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr "此文件类型的链接已经被添加到这本书。如果不可见,域名仍在等待处理中。"
@@ -157,7 +157,7 @@ msgstr "自我删除"
#: bookwyrm/models/base_model.py:20
msgid "Self deactivation"
-msgstr ""
+msgstr "自我停用"
#: bookwyrm/models/base_model.py:21
msgid "Moderator suspension"
@@ -256,24 +256,24 @@ msgstr "关注者"
msgid "Private"
msgstr "私密"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "活跃"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
-msgstr ""
+msgstr "已完成"
#: bookwyrm/models/import_job.py:50
msgid "Stopped"
-msgstr ""
+msgstr "已停止"
#: bookwyrm/models/import_job.py:84 bookwyrm/models/import_job.py:92
msgid "Import stopped"
-msgstr ""
+msgstr "导入停止"
#: bookwyrm/models/import_job.py:359 bookwyrm/models/import_job.py:384
msgid "Error loading book"
@@ -342,7 +342,7 @@ msgstr "English(英语)"
#: bookwyrm/settings.py:287
msgid "Català (Catalan)"
-msgstr ""
+msgstr "Català (加泰罗尼亚语)"
#: bookwyrm/settings.py:288
msgid "Deutsch (German)"
@@ -378,7 +378,7 @@ msgstr "Norsk(挪威语)"
#: bookwyrm/settings.py:296
msgid "Polski (Polish)"
-msgstr ""
+msgstr "Polski (波兰语)"
#: bookwyrm/settings.py:297
msgid "Português do Brasil (Brazilian Portuguese)"
@@ -438,7 +438,7 @@ msgstr "欢迎来到 %(site_name)s!"
#: bookwyrm/templates/about/about.html:24
#, python-format
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 ""
+msgstr "%(site_name)s 是 BookWyrm 的一部分,这是一个为读者建立的独立、自我导向的社区网络。 虽然您可以在 BookWyrm 网络 中与任何地方的用户无缝互动,但这个社区是独一无二的。"
#: bookwyrm/templates/about/about.html:44
#, python-format
@@ -457,7 +457,7 @@ msgstr "在 %(site_name)s 上,对 %(title)s
#: bookwyrm/templates/about/about.html:93
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 "记录您的阅读、谈论书籍、撰写评论、发现下一本书。 BookWyrm 永远是无广告、反公司化和面向社区的为人设计的软件,其目的是保持小规模和个人性。 如果您有特性请求、错误报告或大梦想, 联系我们 ,为自己发声。"
#: bookwyrm/templates/about/about.html:104
msgid "Meet your admins"
@@ -517,6 +517,11 @@ msgstr "关于 %(site_name)s"
msgid "Privacy Policy"
msgstr "隐私政策"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr "免责声明"
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -810,7 +815,7 @@ msgstr "ISNI:"
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -832,7 +837,7 @@ msgstr "保存"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1032,12 +1037,12 @@ msgstr "“%(name)s” 是这些作者之一吗?"
#: bookwyrm/templates/book/edit/edit_book.html:81
#, python-format
msgid "Author of %(book_title)s "
-msgstr ""
+msgstr "%(book_title)s 的作者"
#: bookwyrm/templates/book/edit/edit_book.html:85
#, python-format
msgid "Author of %(alt_title)s "
-msgstr ""
+msgstr "%(alt_title)s 的作者"
#: bookwyrm/templates/book/edit/edit_book.html:87
msgid "Find more information at isni.org"
@@ -1316,7 +1321,7 @@ msgid "Domain"
msgstr "域名"
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1338,18 +1343,18 @@ msgstr "动作"
#: bookwyrm/templates/book/file_links/edit_links.html:48
#: bookwyrm/templates/settings/link_domains/link_table.html:21
msgid "Unknown user"
-msgstr ""
+msgstr "未知的用户"
#: bookwyrm/templates/book/file_links/edit_links.html:57
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "举报垃圾信息"
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr "此书没有可用链接。"
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr "为文件添加链接"
@@ -2616,85 +2621,89 @@ msgstr ""
msgid "Import Books"
msgstr "导入书目"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "数据来源:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "数据文件:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "纳入书评"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "导入书评的隐私设定"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "导入"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "最近的导入"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "无最近的导入"
@@ -3096,7 +3105,7 @@ msgid "Delete this list?"
msgstr "删除此列表?"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "编辑列表"
@@ -3111,7 +3120,6 @@ msgid "on %(site_name)s "
msgstr "在 %(site_name)s "
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "此列表当前是空的"
@@ -3193,6 +3201,10 @@ msgstr "你成功向该列表推荐了一本书!"
msgid "You successfully added a book to this list!"
msgstr "你成功向此列表添加了一本书!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr "编辑笔记"
@@ -3316,11 +3328,16 @@ msgstr ""
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3856,7 +3873,7 @@ msgstr "个人资料"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr "显示"
@@ -4036,54 +4053,65 @@ msgstr "\n"
" 扫描条码\n"
" "
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr "正在启用摄像头..."
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr "允许访问相机以扫描书条码。"
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr "无法使用摄像头"
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr "正在扫描..."
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr "使您的书条码与相机对齐。"
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr "ISBN 扫描"
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr "搜索书目:"
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr "结果来自"
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "导入书目"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "从其它分类加载结果"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "手动添加书目"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "登录以导入或添加书目。"
@@ -4098,7 +4126,7 @@ msgstr "搜索类型"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4171,7 +4199,7 @@ msgid "Create Announcement"
msgstr "创建公告"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "添加日期:"
@@ -4649,21 +4677,21 @@ msgstr "已失败:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "实例名称"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr "最近更新"
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "软件"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr "未找到实例"
@@ -4912,7 +4940,7 @@ msgid "Site Settings"
msgstr "站点设置"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5053,12 +5081,12 @@ msgid "Instance Info"
msgstr "实例信息"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "页脚内容"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "注册"
@@ -5098,71 +5126,79 @@ msgstr "行为准则:"
msgid "Privacy Policy:"
msgstr "隐私政策:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "图像"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "图标:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "小号图标:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr "预设主题:"
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "支持链接:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "支持标题:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "管理员邮件:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "附加信息:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr "允许注册"
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr "要求用户确认邮箱地址"
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr "(当开放注册时推荐)"
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr "允许请求邀请"
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr "设置一个邀请请求问题"
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr "问题:"
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "注册关闭文字:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr "邀请请求文本:"
@@ -5719,12 +5755,12 @@ msgstr "接受"
msgid "Documentation"
msgstr "文档"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6261,10 +6297,6 @@ msgstr "文件超过了最大大小: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr "%(title)s:%(subtitle)s"
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "不是有效的 csv 文件"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo
index 571dc545a..596608544 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 5ef4b025a..41bcf6374 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-11-25 16:31+0000\n"
-"PO-Revision-Date: 2022-11-25 17:34\n"
+"POT-Creation-Date: 2022-12-05 02:21+0000\n"
+"PO-Revision-Date: 2022-12-05 03:56\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: Chinese Traditional\n"
"Language: zh\n"
@@ -90,7 +90,7 @@ msgstr ""
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
msgstr ""
-#: bookwyrm/forms/links.py:46
+#: bookwyrm/forms/links.py:49
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
msgstr ""
@@ -256,14 +256,14 @@ msgstr "關注者"
msgid "Private"
msgstr "私密"
-#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:151
+#: bookwyrm/models/import_job.py:48 bookwyrm/templates/import/import.html:157
#: bookwyrm/templates/settings/imports/imports.html:67
#: bookwyrm/templates/settings/users/user_admin.html:81
#: bookwyrm/templates/settings/users/user_info.html:28
msgid "Active"
msgstr "活躍"
-#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:149
+#: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155
msgid "Complete"
msgstr ""
@@ -517,6 +517,11 @@ msgstr "關於 %(site_name)s"
msgid "Privacy Policy"
msgstr "隱私政策"
+#: bookwyrm/templates/about/layout.html:54
+#: bookwyrm/templates/snippets/footer.html:34
+msgid "Impressum"
+msgstr ""
+
#: bookwyrm/templates/annual_summary/layout.html:7
#: bookwyrm/templates/feed/summary_card.html:8
#, python-format
@@ -810,7 +815,7 @@ msgstr ""
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
-#: bookwyrm/templates/settings/site.html:181
+#: bookwyrm/templates/settings/site.html:194
#: bookwyrm/templates/settings/users/user_moderation_actions.html:69
#: bookwyrm/templates/shelf/form.html:25
#: bookwyrm/templates/snippets/reading_modals/layout.html:18
@@ -832,7 +837,7 @@ msgstr "儲存"
#: bookwyrm/templates/preferences/disable-2fa.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:80
-#: bookwyrm/templates/search/barcode_modal.html:45
+#: bookwyrm/templates/search/barcode_modal.html:43
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/imports/complete_import_modal.html:16
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
@@ -1316,7 +1321,7 @@ msgid "Domain"
msgstr ""
#: bookwyrm/templates/book/file_links/edit_links.html:36
-#: bookwyrm/templates/import/import.html:116
+#: bookwyrm/templates/import/import.html:122
#: bookwyrm/templates/import/import_status.html:134
#: bookwyrm/templates/settings/announcements/announcements.html:37
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:48
@@ -1345,11 +1350,11 @@ msgstr ""
msgid "Report spam"
msgstr ""
-#: bookwyrm/templates/book/file_links/edit_links.html:101
+#: bookwyrm/templates/book/file_links/edit_links.html:102
msgid "No links available for this book."
msgstr ""
-#: bookwyrm/templates/book/file_links/edit_links.html:112
+#: bookwyrm/templates/book/file_links/edit_links.html:113
#: bookwyrm/templates/book/file_links/links.html:18
msgid "Add link to file"
msgstr ""
@@ -2616,85 +2621,89 @@ msgstr ""
msgid "Import Books"
msgstr "匯入書目"
-#: bookwyrm/templates/import/import.html:16
+#: bookwyrm/templates/import/import.html:13
+msgid "Not a valid CSV file"
+msgstr ""
+
+#: bookwyrm/templates/import/import.html:22
#, python-format
msgid "On average, recent imports have taken %(hours)s hours."
msgstr ""
-#: bookwyrm/templates/import/import.html:20
+#: bookwyrm/templates/import/import.html:26
#, python-format
msgid "On average, recent imports have taken %(minutes)s minutes."
msgstr ""
-#: bookwyrm/templates/import/import.html:35
+#: bookwyrm/templates/import/import.html:41
msgid "Data source:"
msgstr "資料來源:"
-#: bookwyrm/templates/import/import.html:41
+#: bookwyrm/templates/import/import.html:47
msgid "Goodreads (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:44
+#: bookwyrm/templates/import/import.html:50
msgid "Storygraph (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:47
+#: bookwyrm/templates/import/import.html:53
msgid "LibraryThing (TSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:50
+#: bookwyrm/templates/import/import.html:56
msgid "OpenLibrary (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:53
+#: bookwyrm/templates/import/import.html:59
msgid "Calibre (CSV)"
msgstr ""
-#: bookwyrm/templates/import/import.html:59
+#: bookwyrm/templates/import/import.html:65
msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account."
msgstr ""
-#: bookwyrm/templates/import/import.html:68
+#: bookwyrm/templates/import/import.html:74
msgid "Data file:"
msgstr "資料檔案:"
-#: bookwyrm/templates/import/import.html:76
+#: bookwyrm/templates/import/import.html:82
msgid "Include reviews"
msgstr "納入書評"
-#: bookwyrm/templates/import/import.html:81
+#: bookwyrm/templates/import/import.html:87
msgid "Privacy setting for imported reviews:"
msgstr "匯入書評的私隱設定"
-#: bookwyrm/templates/import/import.html:87
+#: bookwyrm/templates/import/import.html:93
#: bookwyrm/templates/preferences/layout.html:35
#: bookwyrm/templates/settings/federation/instance_blocklist.html:78
msgid "Import"
msgstr "匯入"
-#: bookwyrm/templates/import/import.html:95
+#: bookwyrm/templates/import/import.html:101
msgid "Imports are temporarily disabled; thank you for your patience."
msgstr ""
-#: bookwyrm/templates/import/import.html:102
+#: bookwyrm/templates/import/import.html:108
msgid "Recent Imports"
msgstr "最近的匯入"
-#: bookwyrm/templates/import/import.html:107
+#: bookwyrm/templates/import/import.html:113
#: bookwyrm/templates/settings/imports/imports.html:89
msgid "Date Created"
msgstr ""
-#: bookwyrm/templates/import/import.html:110
+#: bookwyrm/templates/import/import.html:116
msgid "Last Updated"
msgstr ""
-#: bookwyrm/templates/import/import.html:113
+#: bookwyrm/templates/import/import.html:119
#: bookwyrm/templates/settings/imports/imports.html:98
msgid "Items"
msgstr ""
-#: bookwyrm/templates/import/import.html:122
+#: bookwyrm/templates/import/import.html:128
msgid "No recent imports"
msgstr "無最近的匯入"
@@ -3096,7 +3105,7 @@ msgid "Delete this list?"
msgstr ""
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/layout.html:17
+#: bookwyrm/templates/lists/layout.html:18
msgid "Edit List"
msgstr "編輯列表"
@@ -3111,7 +3120,6 @@ msgid "on %(site_name)s "
msgstr ""
#: bookwyrm/templates/lists/embed-list.html:29
-#: bookwyrm/templates/lists/list.html:54
msgid "This list is currently empty"
msgstr "此列表當前是空的"
@@ -3193,6 +3201,10 @@ msgstr "你成功!向該列表推薦了一本書"
msgid "You successfully added a book to this list!"
msgstr "你成功在此列表新增了一本書!"
+#: bookwyrm/templates/lists/list.html:54
+msgid "This list is currently empty."
+msgstr ""
+
#: bookwyrm/templates/lists/list.html:104
msgid "Edit notes"
msgstr ""
@@ -3316,11 +3328,16 @@ msgstr ""
#: bookwyrm/templates/notifications/items/add.html:66
#, python-format
+msgid "%(related_user)s added a book to one of your lists"
+msgstr ""
+
+#: bookwyrm/templates/notifications/items/add.html:72
+#, python-format
msgid "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s added %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
msgstr[0] ""
-#: bookwyrm/templates/notifications/items/add.html:82
+#: bookwyrm/templates/notifications/items/add.html:88
#, python-format
msgid "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other book to your list \"%(list_name)s \""
msgid_plural "%(related_user)s suggested adding %(book_title)s , %(second_book_title)s , and %(display_count)s other books to your list \"%(list_name)s \""
@@ -3856,7 +3873,7 @@ msgstr "使用者資料"
#: bookwyrm/templates/preferences/edit_user.html:13
#: bookwyrm/templates/preferences/edit_user.html:64
#: bookwyrm/templates/settings/site.html:11
-#: bookwyrm/templates/settings/site.html:77
+#: bookwyrm/templates/settings/site.html:90
#: bookwyrm/templates/setup/config.html:91
msgid "Display"
msgstr ""
@@ -4034,54 +4051,65 @@ msgid "\n"
" "
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:23
+#: bookwyrm/templates/search/barcode_modal.html:21
msgid "Requesting camera..."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:24
+#: bookwyrm/templates/search/barcode_modal.html:22
msgid "Grant access to the camera to scan a book's barcode."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:29
+#: bookwyrm/templates/search/barcode_modal.html:27
msgid "Could not access camera"
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:33
+#: bookwyrm/templates/search/barcode_modal.html:31
msgctxt "barcode scanner"
msgid "Scanning..."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:34
+#: bookwyrm/templates/search/barcode_modal.html:32
msgid "Align your book's barcode with the camera."
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:38
+#: bookwyrm/templates/search/barcode_modal.html:36
msgctxt "barcode scanner"
msgid "ISBN scanned"
msgstr ""
-#: bookwyrm/templates/search/barcode_modal.html:39
+#: bookwyrm/templates/search/barcode_modal.html:37
msgctxt "followed by ISBN"
msgid "Searching for book:"
msgstr ""
-#: bookwyrm/templates/search/book.html:39
+#: bookwyrm/templates/search/book.html:25
+#, python-format
+msgid "%(formatted_review_count)s review"
+msgid_plural "%(formatted_review_count)s reviews"
+msgstr[0] ""
+
+#: bookwyrm/templates/search/book.html:34
+#, python-format
+msgid "(published %(pub_year)s)"
+msgstr ""
+
+#: bookwyrm/templates/search/book.html:50
msgid "Results from"
msgstr ""
-#: bookwyrm/templates/search/book.html:78
+#: bookwyrm/templates/search/book.html:89
msgid "Import book"
msgstr "匯入書目"
-#: bookwyrm/templates/search/book.html:102
+#: bookwyrm/templates/search/book.html:113
msgid "Load results from other catalogues"
msgstr "從其它分類載入結果"
-#: bookwyrm/templates/search/book.html:106
+#: bookwyrm/templates/search/book.html:117
msgid "Manually add book"
msgstr "手動新增書目"
-#: bookwyrm/templates/search/book.html:111
+#: bookwyrm/templates/search/book.html:122
msgid "Log in to import or add books."
msgstr "登陸以匯入或新增書目。"
@@ -4096,7 +4124,7 @@ msgstr "搜尋類別"
#: bookwyrm/templates/search/layout.html:24
#: bookwyrm/templates/search/layout.html:47
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27
-#: bookwyrm/templates/settings/federation/instance_list.html:51
+#: bookwyrm/templates/settings/federation/instance_list.html:52
#: bookwyrm/templates/settings/layout.html:36
#: bookwyrm/templates/settings/users/user.html:13
#: bookwyrm/templates/settings/users/user_admin.html:5
@@ -4169,7 +4197,7 @@ msgid "Create Announcement"
msgstr "建立公告"
#: bookwyrm/templates/settings/announcements/announcements.html:21
-#: bookwyrm/templates/settings/federation/instance_list.html:39
+#: bookwyrm/templates/settings/federation/instance_list.html:40
msgid "Date added"
msgstr "新增日期:"
@@ -4647,21 +4675,21 @@ msgstr "已失敗:"
msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance
and url
fields. For example:"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:35
+#: bookwyrm/templates/settings/federation/instance_list.html:36
#: bookwyrm/templates/settings/users/server_filter.html:5
msgid "Instance name"
msgstr "實例名稱"
-#: bookwyrm/templates/settings/federation/instance_list.html:43
+#: bookwyrm/templates/settings/federation/instance_list.html:44
msgid "Last updated"
msgstr ""
-#: bookwyrm/templates/settings/federation/instance_list.html:47
+#: bookwyrm/templates/settings/federation/instance_list.html:48
#: bookwyrm/templates/settings/federation/software_filter.html:5
msgid "Software"
msgstr "軟體"
-#: bookwyrm/templates/settings/federation/instance_list.html:69
+#: bookwyrm/templates/settings/federation/instance_list.html:70
msgid "No instances found"
msgstr ""
@@ -4910,7 +4938,7 @@ msgid "Site Settings"
msgstr "網站設定"
#: bookwyrm/templates/settings/layout.html:106
-#: bookwyrm/templates/settings/site.html:95
+#: bookwyrm/templates/settings/site.html:108
#: bookwyrm/templates/settings/themes.html:4
#: bookwyrm/templates/settings/themes.html:6
msgid "Themes"
@@ -5051,12 +5079,12 @@ msgid "Instance Info"
msgstr "實例資訊"
#: bookwyrm/templates/settings/site.html:12
-#: bookwyrm/templates/settings/site.html:110
+#: bookwyrm/templates/settings/site.html:123
msgid "Footer Content"
msgstr "頁尾內容"
#: bookwyrm/templates/settings/site.html:13
-#: bookwyrm/templates/settings/site.html:134
+#: bookwyrm/templates/settings/site.html:147
msgid "Registration"
msgstr "註冊"
@@ -5096,71 +5124,79 @@ msgstr "行為準則:"
msgid "Privacy Policy:"
msgstr "隱私政策:"
-#: bookwyrm/templates/settings/site.html:79
+#: bookwyrm/templates/settings/site.html:73
+msgid "Impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:78
+msgid "Include impressum:"
+msgstr ""
+
+#: bookwyrm/templates/settings/site.html:92
msgid "Images"
msgstr "圖片"
-#: bookwyrm/templates/settings/site.html:82
+#: bookwyrm/templates/settings/site.html:95
msgid "Logo:"
msgstr "圖示:"
-#: bookwyrm/templates/settings/site.html:86
+#: bookwyrm/templates/settings/site.html:99
msgid "Logo small:"
msgstr "小號圖示:"
-#: bookwyrm/templates/settings/site.html:90
+#: bookwyrm/templates/settings/site.html:103
msgid "Favicon:"
msgstr "Favicon:"
-#: bookwyrm/templates/settings/site.html:98
+#: bookwyrm/templates/settings/site.html:111
msgid "Default theme:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:113
+#: bookwyrm/templates/settings/site.html:126
msgid "Support link:"
msgstr "支援連結:"
-#: bookwyrm/templates/settings/site.html:117
+#: bookwyrm/templates/settings/site.html:130
msgid "Support title:"
msgstr "支援標題:"
-#: bookwyrm/templates/settings/site.html:121
+#: bookwyrm/templates/settings/site.html:134
msgid "Admin email:"
msgstr "管理員郵件:"
-#: bookwyrm/templates/settings/site.html:125
+#: bookwyrm/templates/settings/site.html:138
msgid "Additional info:"
msgstr "附加資訊:"
-#: bookwyrm/templates/settings/site.html:139
+#: bookwyrm/templates/settings/site.html:152
msgid "Allow registration"
msgstr ""
-#: bookwyrm/templates/settings/site.html:145
+#: bookwyrm/templates/settings/site.html:158
msgid "Require users to confirm email address"
msgstr ""
-#: bookwyrm/templates/settings/site.html:147
+#: bookwyrm/templates/settings/site.html:160
msgid "(Recommended if registration is open)"
msgstr ""
-#: bookwyrm/templates/settings/site.html:152
+#: bookwyrm/templates/settings/site.html:165
msgid "Allow invite requests"
msgstr ""
-#: bookwyrm/templates/settings/site.html:158
+#: bookwyrm/templates/settings/site.html:171
msgid "Set a question for invite requests"
msgstr ""
-#: bookwyrm/templates/settings/site.html:163
+#: bookwyrm/templates/settings/site.html:176
msgid "Question:"
msgstr ""
-#: bookwyrm/templates/settings/site.html:168
+#: bookwyrm/templates/settings/site.html:181
msgid "Registration closed text:"
msgstr "註冊關閉文字:"
-#: bookwyrm/templates/settings/site.html:172
+#: bookwyrm/templates/settings/site.html:185
msgid "Invite request text:"
msgstr ""
@@ -5717,12 +5753,12 @@ msgstr "接受"
msgid "Documentation"
msgstr "文件:"
-#: bookwyrm/templates/snippets/footer.html:37
+#: bookwyrm/templates/snippets/footer.html:42
#, python-format
msgid "Support %(site_name)s on %(support_title)s "
msgstr ""
-#: bookwyrm/templates/snippets/footer.html:44
+#: bookwyrm/templates/snippets/footer.html:49
msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub ."
msgstr ""
@@ -6259,10 +6295,6 @@ msgstr "檔案超過了最大大小: 10MB"
msgid "%(title)s: %(subtitle)s"
msgstr ""
-#: bookwyrm/views/imports/import_data.py:91
-msgid "Not a valid csv file"
-msgstr "不是有效的 csv 檔案"
-
#: bookwyrm/views/rss_feed.py:34
#, python-brace-format
msgid "Status updates from {obj.display_name}"
diff --git a/nginx/development b/nginx/development
index be33cea17..841db0124 100644
--- a/nginx/development
+++ b/nginx/development
@@ -5,29 +5,75 @@ upstream web {
}
server {
+ access_log /var/log/nginx/access.log cache_log;
+
listen 80;
+ sendfile on;
+ tcp_nopush on;
+ tcp_nodelay on;
+ keepalive_timeout 65;
+ types_hash_max_size 2048;
+ #include /etc/nginx/mime.types;
+ #default_type application/octet-stream;
+
+ gzip on;
+ gzip_disable "msie6";
+
+ proxy_read_timeout 1800s;
+ chunked_transfer_encoding on;
+
+ # store responses to anonymous users for up to 1 minute
+ proxy_cache bookwyrm_cache;
+ proxy_cache_valid any 1m;
+ add_header X-Cache-Status $upstream_cache_status;
+
+ # ignore the set cookie header when deciding to
+ # store a response in the cache
+ proxy_ignore_headers Cache-Control Set-Cookie Expires;
+
+ # PUT requests always bypass the cache
+ # logged in sessions also do not populate the cache
+ # to avoid serving personal data to anonymous users
+ proxy_cache_methods GET HEAD;
+ proxy_no_cache $cookie_sessionid;
+ proxy_cache_bypass $cookie_sessionid;
+
+ # tell the web container the address of the outside client
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header Host $host;
+ proxy_redirect off;
+
+ # rate limit the login or password reset pages
location ~ ^/(login[^-/]|password-reset|resend-link|2fa-check) {
limit_req zone=loginlimit;
-
proxy_pass http://web;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header Host $host;
- proxy_redirect off;
}
+ # do not log periodic polling requests from logged in users
+ location /api/updates/ {
+ access_log off;
+ proxy_pass http://web;
+ }
+
+ # forward any cache misses or bypass to the web container
location / {
proxy_pass http://web;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header Host $host;
- proxy_redirect off;
}
- location /images/ {
- alias /app/images/;
+ # directly serve images and static files from the
+ # bookwyrm filesystem using sendfile.
+ # make the logs quieter by not reporting these requests
+ location ~ ^/(images|static)/ {
+ root /app;
+ try_files $uri =404;
+ add_header X-Cache-Status STATIC;
+ access_log off;
}
- location /static/ {
- alias /app/static/;
+ # monitor the celery queues with flower, no caching enabled
+ location /flower/ {
+ proxy_pass http://flower:8888;
+ proxy_cache_bypass 1;
}
}
diff --git a/nginx/server_config b/nginx/server_config
index 385f747ec..8afab66a5 100644
--- a/nginx/server_config
+++ b/nginx/server_config
@@ -1,2 +1,22 @@
client_max_body_size 10m;
limit_req_zone $binary_remote_addr zone=loginlimit:10m rate=1r/s;
+
+# include the cache status in the log message
+log_format cache_log '$upstream_cache_status - '
+ '$remote_addr [$time_local] '
+ '"$request" $status $body_bytes_sent '
+ '"$http_referer" "$http_user_agent" '
+ '$upstream_response_time $request_time';
+
+# Create a cache for responses from the web app
+proxy_cache_path
+ /var/cache/nginx/bookwyrm_cache
+ keys_zone=bookwyrm_cache:20m
+ loader_threshold=400
+ loader_files=400
+ max_size=400m;
+
+# use the accept header as part of the cache key
+# since activitypub endpoints have both HTML and JSON
+# on the same URI.
+proxy_cache_key $scheme$proxy_host$uri$is_args$args$http_accept;