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 %} +
+ + {% trans "View on ISFDB" %} + +
+ {% endif %} + {% trans "Load data" as button_text %} {% if author.openlibrary_key %}
@@ -128,6 +136,14 @@
{% endif %} + + {% if author.isfdb %} +
+ + {% trans "View ISFDB entry" %} + +
+ {% 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" %} +
+ + {{ form.isfdb }} + + {% include 'snippets/form_errors.html' with errors_list=form.isfdb.errors id="desc_isfdb" %} +
+
{{ 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 %} -
+ {% 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" %}
+
+ + {{ form.goodreads_key }} + + {% include 'snippets/form_errors.html' with errors_list=form.goodreads_key.errors id="desc_goodreads_key" %} +
+
+ +
+ + {{ form.aasin }} + + {% include 'snippets/form_errors.html' with errors_list=form.AASIN.errors id="desc_AASIN" %} +
+ +
+ + {{ 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 %} +

+
+ {% csrf_token %} + +
+
+ +{% 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 %} + +
    + {% csrf_token %} +
    +
    + +
    +
    + +

    {% trans "(Recommended if registration is open)" %}

    +
    +
    + +
    +
    + + {{ form.invite_request_text }} + + {% include 'snippets/form_errors.html' with errors_list=form.invite_request_text.errors id="desc_invite_request_text" %} +
    +
    + +
    +
    + +
    +
    + + {{ form.registration_closed_text }} +
    +
    + +
    + +
    +
    +{% 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 %} +
    + {% csrf_token %} +
    + {% if site.allow_invite_requests %} +
    + + {{ form.invite_request_text }} + + {% include 'snippets/form_errors.html' with errors_list=form.invite_request_text.errors id="desc_invite_request_text" %} +
    +
    + +
    +
    + +
    + {% else %} + + + + {% endif %} + + {% if not site.allow_invite_requests and not site.allow_registration %} +
    + + {{ form.registration_closed_text }} +
    + {% else %} + + {% endif %} +
    + +
    + +
    +
    +{% 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" %}

    -
    -
    - -
    -
    - -

    {% trans "(Recommended if registration is open)" %}

    -
    -
    - -
    -
    - -
    -
    - -
    -
    - - {{ site_form.registration_closed_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;