From 2b27889457bfb213742db7e9bf8c516bc634d0e7 Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Fri, 11 Feb 2022 14:33:46 +0100 Subject: [PATCH 001/458] Add 'Partially Read' shelf --- .../migrations/0134_alter_partially_read.py | 29 +++++++++++++ bookwyrm/models/shelf.py | 3 +- bookwyrm/models/status.py | 2 +- bookwyrm/models/user.py | 4 ++ .../templates/get_started/book_preview.html | 1 + bookwyrm/templates/shelf/shelf.html | 1 + .../reading_modals/partially_read_modal.html | 42 +++++++++++++++++++ .../templates/snippets/shelf_selector.html | 10 +++++ .../snippets/shelve_button/shelve_button.html | 3 ++ .../shelve_button_dropdown_options.html | 7 ++++ .../shelve_button/shelve_button_options.html | 7 ++++ .../snippets/translated_shelf_name.html | 2 + bookwyrm/templates/user/user.html | 3 +- bookwyrm/tests/models/test_user_model.py | 2 + bookwyrm/urls.py | 2 +- bookwyrm/views/reading.py | 2 + 16 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 bookwyrm/migrations/0134_alter_partially_read.py create mode 100644 bookwyrm/templates/snippets/reading_modals/partially_read_modal.html diff --git a/bookwyrm/migrations/0134_alter_partially_read.py b/bookwyrm/migrations/0134_alter_partially_read.py new file mode 100644 index 000000000..85e9ed9f8 --- /dev/null +++ b/bookwyrm/migrations/0134_alter_partially_read.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2.11 on 2022-02-11 13:19 + +import bookwyrm.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0133_alter_listitem_notes'), + ] + + operations = [ + migrations.AlterField( + model_name='comment', + name='reading_status', + field=bookwyrm.models.fields.CharField(blank=True, choices=[('to-read', 'To-Read'), ('reading', 'Reading'), ('read', 'Read'), ('partially-read', 'Partially-Read')], max_length=255, null=True), + ), + migrations.AlterField( + model_name='quotation', + name='reading_status', + field=bookwyrm.models.fields.CharField(blank=True, choices=[('to-read', 'To-Read'), ('reading', 'Reading'), ('read', 'Read'), ('partially-read', 'Partially-Read')], max_length=255, null=True), + ), + migrations.AlterField( + model_name='review', + name='reading_status', + field=bookwyrm.models.fields.CharField(blank=True, choices=[('to-read', 'To-Read'), ('reading', 'Reading'), ('read', 'Read'), ('partially-read', 'Partially-Read')], max_length=255, null=True), + ), + ] diff --git a/bookwyrm/models/shelf.py b/bookwyrm/models/shelf.py index 320d495d2..4c57eb96c 100644 --- a/bookwyrm/models/shelf.py +++ b/bookwyrm/models/shelf.py @@ -17,8 +17,9 @@ class Shelf(OrderedCollectionMixin, BookWyrmModel): TO_READ = "to-read" READING = "reading" READ_FINISHED = "read" + PARTIALLY_READ = "partially-read" - READ_STATUS_IDENTIFIERS = (TO_READ, READING, READ_FINISHED) + READ_STATUS_IDENTIFIERS = (TO_READ, READING, READ_FINISHED, PARTIALLY_READ) name = fields.CharField(max_length=100) identifier = models.CharField(max_length=100) diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 29b3ba9cc..99756df51 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -265,7 +265,7 @@ class GeneratedNote(Status): ReadingStatusChoices = models.TextChoices( - "ReadingStatusChoices", ["to-read", "reading", "read"] + "ReadingStatusChoices", ["to-read", "reading", "read", "partially-read"] ) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 6367dcaef..223bad0fa 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -372,6 +372,10 @@ class User(OrderedCollectionPageMixin, AbstractUser): "name": "Read", "identifier": "read", }, + { + "name": "Partially Read", + "identifier": "partially-read", + }, ] for shelf in shelves: diff --git a/bookwyrm/templates/get_started/book_preview.html b/bookwyrm/templates/get_started/book_preview.html index 8a20d0d77..51a5a4e6e 100644 --- a/bookwyrm/templates/get_started/book_preview.html +++ b/bookwyrm/templates/get_started/book_preview.html @@ -10,6 +10,7 @@ {% if shelf.identifier == 'to-read' %}{% trans "To Read" %} {% elif shelf.identifier == 'reading' %}{% trans "Currently Reading" %} {% elif shelf.identifier == 'read' %}{% trans "Read" %} + {% elif shelf.identifier == 'partially-read' %}{% trans "Partially Read" %} {% else %}{{ shelf.name }}{% endif %} {% endfor %} diff --git a/bookwyrm/templates/shelf/shelf.html b/bookwyrm/templates/shelf/shelf.html index cc4bb1436..67faf0a48 100644 --- a/bookwyrm/templates/shelf/shelf.html +++ b/bookwyrm/templates/shelf/shelf.html @@ -86,6 +86,7 @@ {% if shelf.identifier == 'to-read' %}{% trans "To Read" %} {% elif shelf.identifier == 'reading' %}{% trans "Currently Reading" %} {% elif shelf.identifier == 'read' %}{% trans "Read" %} + {% elif shelf.identifier == 'partially-read' %}{% trans "Partially Read" %} {% else %}{{ shelf.name }}{% endif %} {% include 'snippets/privacy-icons.html' with item=shelf %} diff --git a/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html b/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html new file mode 100644 index 000000000..60c39c408 --- /dev/null +++ b/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html @@ -0,0 +1,42 @@ +{% extends 'snippets/reading_modals/layout.html' %} +{% load i18n %} +{% load utilities %} + +{% block modal-title %} +{% blocktrans trimmed with book_title=book|book_title %} +Partially Read "{{ book_title }}" +{% endblocktrans %} +{% endblock %} + +{% block modal-form-open %} +
+{% csrf_token %} + + + +{% endblock %} + +{% block reading-dates %} +
+
+
+ + +
+
+
+
+ + +
+
+
+{% endblock %} + +{% block form %} +{% include "snippets/reading_modals/form.html" with optional=True type="partially_read_model" %} +{% endblock %} diff --git a/bookwyrm/templates/snippets/shelf_selector.html b/bookwyrm/templates/snippets/shelf_selector.html index 197cf5b6c..7589ffc61 100644 --- a/bookwyrm/templates/snippets/shelf_selector.html +++ b/bookwyrm/templates/snippets/shelf_selector.html @@ -49,6 +49,13 @@ {% join "finish_reading" uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=button_class fallback_url=fallback_url %} +{% elif shelf.identifier == 'partially-read' %} + +{% trans "Partially read" as button_text %} +{% url 'reading-status' 'stop' book.id as fallback_url %} +{% join "partially_read" uuid as modal_id %} +{% include 'snippets/shelve_button/modal_button.html' with class=button_class fallback_url=fallback_url %} + {% elif shelf.identifier == 'to-read' %} {% trans "Want to read" as button_text %} @@ -97,5 +104,8 @@ {% join "finish_reading" uuid as modal_id %} {% include 'snippets/reading_modals/finish_reading_modal.html' with book=active_shelf.book id=modal_id move_from=current.id readthrough=readthrough refresh=True class="" %} +{% join "partially_read" uuid as modal_id %} +{% include 'snippets/reading_modals/partially_read_modal.html' with book=active_shelf.book id=modal_id move_from=current.id readthrough=readthrough refresh=True class="" %} + {% endwith %} {% endblock %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button.html b/bookwyrm/templates/snippets/shelve_button/shelve_button.html index 04dc4e4b0..6944db6af 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button.html @@ -29,6 +29,9 @@ {% join "finish_reading" uuid as modal_id %} {% include 'snippets/reading_modals/finish_reading_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} +{% join "partially_read" uuid as modal_id %} +{% include 'snippets/reading_modals/partially_read_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} + {% join "progress_update" uuid as modal_id %} {% include 'snippets/reading_modals/progress_update_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html index 1fa26a886..23e5f4a44 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html @@ -26,6 +26,13 @@ {% join "finish_reading" button_uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} + {% elif shelf.identifier == 'partially-read' %} + + {% trans "Partially read" as button_text %} + {% url 'reading-status' 'stop' book.id as fallback_url %} + {% join "partially_read" button_uuid as modal_id %} + {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} + {% elif shelf.identifier == 'to-read' %} {% trans "Want to read" as button_text %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html index 04f4bdc26..0a711addd 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html @@ -33,6 +33,13 @@ {% join "finish_reading" button_uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} + {% elif shelf.identifier == 'partially-read' %} + + {% trans "Stop reading" as button_text %} + {% url 'reading-status' 'stop' book.id as fallback_url %} + {% join "partially_read" button_uuid as modal_id %} + {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} + {% elif shelf.identifier == 'to-read' %} {% trans "Want to read" as button_text %} diff --git a/bookwyrm/templates/snippets/translated_shelf_name.html b/bookwyrm/templates/snippets/translated_shelf_name.html index 4da47e370..dc1c579b3 100644 --- a/bookwyrm/templates/snippets/translated_shelf_name.html +++ b/bookwyrm/templates/snippets/translated_shelf_name.html @@ -7,6 +7,8 @@ {% trans "Currently Reading" %} {% elif shelf.identifier == 'read' %} {% trans "Read" %} +{% elif shelf.identifier == 'partially-read' %} + {% trans "Partially Read" %} {% else %} {{ shelf.name }} {% endif %} diff --git a/bookwyrm/templates/user/user.html b/bookwyrm/templates/user/user.html index ccc4a44ea..8d7fd31a2 100755 --- a/bookwyrm/templates/user/user.html +++ b/bookwyrm/templates/user/user.html @@ -33,8 +33,9 @@ {% if shelf.name == 'To Read' %}{% trans "To Read" %} {% elif shelf.name == 'Currently Reading' %}{% trans "Currently Reading" %} {% elif shelf.name == 'Read' %}{% trans "Read" %} + {% elif shelf.name == 'Partially Read' %}{% trans "Partially Read" %} {% else %}{{ shelf.name }}{% endif %} - {% if shelf.size > 3 %}({% blocktrans with size=shelf.size %}View all {{ size }}{% endblocktrans %}){% endif %} + {% if shelf.size > 4 %}({% blocktrans with size=shelf.size %}View all {{ size }}{% endblocktrans %}){% endif %}
{% for book in shelf.books %} diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index aa62dce3a..8d3439632 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -58,10 +58,12 @@ class User(TestCase): self.assertTrue("To Read" in names) self.assertTrue("Currently Reading" in names) self.assertTrue("Read" in names) + self.assertTrue("Partially Read" in names) ids = [s.identifier for s in shelves] self.assertTrue("to-read" in ids) self.assertTrue("reading" in ids) self.assertTrue("read" in ids) + self.assertTrue("partially-read" in ids) def test_activitypub_serialize(self): activity = self.user.to_activity() diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 79d868c95..670610bd7 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -543,7 +543,7 @@ urlpatterns = [ name="reading-status-update", ), re_path( - r"^reading-status/(?Pwant|start|finish)/(?P\d+)/?$", + r"^reading-status/(?Pwant|start|finish|stop)/(?P\d+)/?$", views.ReadingStatus.as_view(), name="reading-status", ), diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py index 2cd05202c..b80bc50df 100644 --- a/bookwyrm/views/reading.py +++ b/bookwyrm/views/reading.py @@ -29,6 +29,7 @@ class ReadingStatus(View): "want": "want.html", "start": "start.html", "finish": "finish.html", + "stop": "stop.html", }.get(status) if not template: return HttpResponseNotFound() @@ -41,6 +42,7 @@ class ReadingStatus(View): "want": models.Shelf.TO_READ, "start": models.Shelf.READING, "finish": models.Shelf.READ_FINISHED, + "stop": models.Shelf.PARTIALLY_READ, }.get(status) if not identifier: return HttpResponseBadRequest() From bc89dd704127e5c289c3576e87f6e8d86b75591b Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Sat, 12 Feb 2022 11:19:00 +0100 Subject: [PATCH 002/458] Change shelf Finished label When the shelf is read the label is 'Finished', otherwise it's 'Until'. --- bookwyrm/templates/shelf/shelf.html | 4 ++-- .../snippets/reading_modals/partially_read_modal.html | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bookwyrm/templates/shelf/shelf.html b/bookwyrm/templates/shelf/shelf.html index 67faf0a48..2a980e15a 100644 --- a/bookwyrm/templates/shelf/shelf.html +++ b/bookwyrm/templates/shelf/shelf.html @@ -151,7 +151,7 @@ {% if is_self %} {% trans "Shelved" as text %}{% include 'snippets/table-sort-header.html' with field="shelved_date" sort=sort text=text %} {% trans "Started" as text %}{% include 'snippets/table-sort-header.html' with field="start_date" sort=sort text=text %} - {% trans "Finished" as text %}{% include 'snippets/table-sort-header.html' with field="finish_date" sort=sort text=text %} + {% if shelf.identifier == 'read' %}{% trans "Finished" as text %}{% else %}{% trans "Until" as text %}{% endif %}{% include 'snippets/table-sort-header.html' with field="finish_date" sort=sort text=text %} {% endif %} {% trans "Rating" as text %}{% include 'snippets/table-sort-header.html' with field="rating" sort=sort text=text %} {% endif %} @@ -181,7 +181,7 @@ {{ book.start_date|naturalday|default_if_none:""}} - + {{ book.finish_date|naturalday|default_if_none:""}} {% endif %} diff --git a/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html b/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html index 60c39c408..2260f8c16 100644 --- a/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html +++ b/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html @@ -28,10 +28,10 @@ Partially Read "{{ book_title }}"
-
From c88b34814f2530b5d14197c89743a00a31cebfb0 Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Sat, 12 Feb 2022 19:44:06 +0100 Subject: [PATCH 003/458] Rename 'Partially Read' to 'Stopped Reading' --- .../migrations/0134_alter_partially_read.py | 29 --------- .../migrations/0134_alter_stopped_reading.py | 59 +++++++++++++++++++ bookwyrm/models/shelf.py | 4 +- bookwyrm/models/status.py | 2 +- bookwyrm/models/user.py | 4 +- .../templates/get_started/book_preview.html | 2 +- bookwyrm/templates/shelf/shelf.html | 6 +- ...ead_modal.html => stop_reading_modal.html} | 6 +- .../templates/snippets/shelf_selector.html | 10 ++-- .../snippets/shelve_button/shelve_button.html | 4 +- .../shelve_button_dropdown_options.html | 6 +- .../shelve_button/shelve_button_options.html | 4 +- .../snippets/translated_shelf_name.html | 4 +- bookwyrm/templates/user/user.html | 2 +- bookwyrm/templatetags/shelf_tags.py | 29 +++++---- bookwyrm/tests/models/test_user_model.py | 4 +- bookwyrm/views/reading.py | 2 +- 17 files changed, 105 insertions(+), 72 deletions(-) delete mode 100644 bookwyrm/migrations/0134_alter_partially_read.py create mode 100644 bookwyrm/migrations/0134_alter_stopped_reading.py rename bookwyrm/templates/snippets/reading_modals/{partially_read_modal.html => stop_reading_modal.html} (85%) diff --git a/bookwyrm/migrations/0134_alter_partially_read.py b/bookwyrm/migrations/0134_alter_partially_read.py deleted file mode 100644 index 85e9ed9f8..000000000 --- a/bookwyrm/migrations/0134_alter_partially_read.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.11 on 2022-02-11 13:19 - -import bookwyrm.models.fields -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('bookwyrm', '0133_alter_listitem_notes'), - ] - - operations = [ - migrations.AlterField( - model_name='comment', - name='reading_status', - field=bookwyrm.models.fields.CharField(blank=True, choices=[('to-read', 'To-Read'), ('reading', 'Reading'), ('read', 'Read'), ('partially-read', 'Partially-Read')], max_length=255, null=True), - ), - migrations.AlterField( - model_name='quotation', - name='reading_status', - field=bookwyrm.models.fields.CharField(blank=True, choices=[('to-read', 'To-Read'), ('reading', 'Reading'), ('read', 'Read'), ('partially-read', 'Partially-Read')], max_length=255, null=True), - ), - migrations.AlterField( - model_name='review', - name='reading_status', - field=bookwyrm.models.fields.CharField(blank=True, choices=[('to-read', 'To-Read'), ('reading', 'Reading'), ('read', 'Read'), ('partially-read', 'Partially-Read')], max_length=255, null=True), - ), - ] diff --git a/bookwyrm/migrations/0134_alter_stopped_reading.py b/bookwyrm/migrations/0134_alter_stopped_reading.py new file mode 100644 index 000000000..c0c2c6520 --- /dev/null +++ b/bookwyrm/migrations/0134_alter_stopped_reading.py @@ -0,0 +1,59 @@ +# Generated by Django 3.2.11 on 2022-02-11 13:19 + +import bookwyrm.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0133_alter_listitem_notes"), + ] + + operations = [ + migrations.AlterField( + model_name="comment", + name="reading_status", + field=bookwyrm.models.fields.CharField( + blank=True, + choices=[ + ("to-read", "To-Read"), + ("reading", "Reading"), + ("read", "Read"), + ("stopped-reading", "Stopped-Reading"), + ], + max_length=255, + null=True, + ), + ), + migrations.AlterField( + model_name="quotation", + name="reading_status", + field=bookwyrm.models.fields.CharField( + blank=True, + choices=[ + ("to-read", "To-Read"), + ("reading", "Reading"), + ("read", "Read"), + ("stopped-reading", "Stopped-Reading"), + ], + max_length=255, + null=True, + ), + ), + migrations.AlterField( + model_name="review", + name="reading_status", + field=bookwyrm.models.fields.CharField( + blank=True, + choices=[ + ("to-read", "To-Read"), + ("reading", "Reading"), + ("read", "Read"), + ("stopped-reading", "Stopped-Reading"), + ], + max_length=255, + null=True, + ), + ), + ] diff --git a/bookwyrm/models/shelf.py b/bookwyrm/models/shelf.py index 4c57eb96c..14bb45c39 100644 --- a/bookwyrm/models/shelf.py +++ b/bookwyrm/models/shelf.py @@ -17,9 +17,9 @@ class Shelf(OrderedCollectionMixin, BookWyrmModel): TO_READ = "to-read" READING = "reading" READ_FINISHED = "read" - PARTIALLY_READ = "partially-read" + STOPPED_READING = "stopped-reading" - READ_STATUS_IDENTIFIERS = (TO_READ, READING, READ_FINISHED, PARTIALLY_READ) + READ_STATUS_IDENTIFIERS = (TO_READ, READING, READ_FINISHED, STOPPED_READING) name = fields.CharField(max_length=100) identifier = models.CharField(max_length=100) diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 99756df51..66fd76aa1 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -265,7 +265,7 @@ class GeneratedNote(Status): ReadingStatusChoices = models.TextChoices( - "ReadingStatusChoices", ["to-read", "reading", "read", "partially-read"] + "ReadingStatusChoices", ["to-read", "reading", "read", "stopped-reading"] ) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 223bad0fa..157b5f88e 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -373,8 +373,8 @@ class User(OrderedCollectionPageMixin, AbstractUser): "identifier": "read", }, { - "name": "Partially Read", - "identifier": "partially-read", + "name": "Stopped Reading", + "identifier": "stopped-reading", }, ] diff --git a/bookwyrm/templates/get_started/book_preview.html b/bookwyrm/templates/get_started/book_preview.html index 51a5a4e6e..9cfb56b00 100644 --- a/bookwyrm/templates/get_started/book_preview.html +++ b/bookwyrm/templates/get_started/book_preview.html @@ -10,7 +10,7 @@ {% if shelf.identifier == 'to-read' %}{% trans "To Read" %} {% elif shelf.identifier == 'reading' %}{% trans "Currently Reading" %} {% elif shelf.identifier == 'read' %}{% trans "Read" %} - {% elif shelf.identifier == 'partially-read' %}{% trans "Partially Read" %} + {% elif shelf.identifier == 'stopped-reading' %}{% trans "Stopped Reading" %} {% else %}{{ shelf.name }}{% endif %} {% endfor %} diff --git a/bookwyrm/templates/shelf/shelf.html b/bookwyrm/templates/shelf/shelf.html index 2a980e15a..b36dc01cb 100644 --- a/bookwyrm/templates/shelf/shelf.html +++ b/bookwyrm/templates/shelf/shelf.html @@ -86,7 +86,7 @@ {% if shelf.identifier == 'to-read' %}{% trans "To Read" %} {% elif shelf.identifier == 'reading' %}{% trans "Currently Reading" %} {% elif shelf.identifier == 'read' %}{% trans "Read" %} - {% elif shelf.identifier == 'partially-read' %}{% trans "Partially Read" %} + {% elif shelf.identifier == 'stopped-reading' %}{% trans "Stopped Reading" %} {% else %}{{ shelf.name }}{% endif %} {% include 'snippets/privacy-icons.html' with item=shelf %} @@ -151,7 +151,7 @@ {% if is_self %} {% trans "Shelved" as text %}{% include 'snippets/table-sort-header.html' with field="shelved_date" sort=sort text=text %} {% trans "Started" as text %}{% include 'snippets/table-sort-header.html' with field="start_date" sort=sort text=text %} - {% if shelf.identifier == 'read' %}{% trans "Finished" as text %}{% else %}{% trans "Until" as text %}{% endif %}{% include 'snippets/table-sort-header.html' with field="finish_date" sort=sort text=text %} + {% if shelf.identifier == 'read' %}{% trans "Finished" as text %}{% else %}{% trans "Until" as text %}{% endif %}{% include 'snippets/table-sort-header.html' with field="finish_date" sort=sort text=text %} {% endif %} {% trans "Rating" as text %}{% include 'snippets/table-sort-header.html' with field="rating" sort=sort text=text %} {% endif %} @@ -181,7 +181,7 @@ {{ book.start_date|naturalday|default_if_none:""}} - + {{ book.finish_date|naturalday|default_if_none:""}} {% endif %} diff --git a/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html b/bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html similarity index 85% rename from bookwyrm/templates/snippets/reading_modals/partially_read_modal.html rename to bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html index 2260f8c16..163a34155 100644 --- a/bookwyrm/templates/snippets/reading_modals/partially_read_modal.html +++ b/bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html @@ -4,12 +4,12 @@ {% block modal-title %} {% blocktrans trimmed with book_title=book|book_title %} -Partially Read "{{ book_title }}" +Stop Reading "{{ book_title }}" {% endblocktrans %} {% endblock %} {% block modal-form-open %} - + {% csrf_token %} @@ -38,5 +38,5 @@ Partially Read "{{ book_title }}" {% endblock %} {% block form %} -{% include "snippets/reading_modals/form.html" with optional=True type="partially_read_model" %} +{% include "snippets/reading_modals/form.html" with optional=True type="stop_modal" %} {% endblock %} diff --git a/bookwyrm/templates/snippets/shelf_selector.html b/bookwyrm/templates/snippets/shelf_selector.html index 7589ffc61..ef245cec8 100644 --- a/bookwyrm/templates/snippets/shelf_selector.html +++ b/bookwyrm/templates/snippets/shelf_selector.html @@ -49,11 +49,11 @@ {% join "finish_reading" uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=button_class fallback_url=fallback_url %} -{% elif shelf.identifier == 'partially-read' %} +{% elif shelf.identifier == 'stopped-reading' %} -{% trans "Partially read" as button_text %} +{% trans "Stopped reading" as button_text %} {% url 'reading-status' 'stop' book.id as fallback_url %} -{% join "partially_read" uuid as modal_id %} +{% join "stop_reading" uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=button_class fallback_url=fallback_url %} {% elif shelf.identifier == 'to-read' %} @@ -104,8 +104,8 @@ {% join "finish_reading" uuid as modal_id %} {% include 'snippets/reading_modals/finish_reading_modal.html' with book=active_shelf.book id=modal_id move_from=current.id readthrough=readthrough refresh=True class="" %} -{% join "partially_read" uuid as modal_id %} -{% include 'snippets/reading_modals/partially_read_modal.html' with book=active_shelf.book id=modal_id move_from=current.id readthrough=readthrough refresh=True class="" %} +{% join "stop_reading" uuid as modal_id %} +{% include 'snippets/reading_modals/stop_reading_modal.html' with book=active_shelf.book id=modal_id move_from=current.id readthrough=readthrough refresh=True class="" %} {% endwith %} {% endblock %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button.html b/bookwyrm/templates/snippets/shelve_button/shelve_button.html index 6944db6af..010bff055 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button.html @@ -29,8 +29,8 @@ {% join "finish_reading" uuid as modal_id %} {% include 'snippets/reading_modals/finish_reading_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} -{% join "partially_read" uuid as modal_id %} -{% include 'snippets/reading_modals/partially_read_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} +{% join "stop_reading" uuid as modal_id %} +{% include 'snippets/reading_modals/stop_reading_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} {% join "progress_update" uuid as modal_id %} {% include 'snippets/reading_modals/progress_update_modal.html' with book=active_shelf_book id=modal_id readthrough=readthrough class="" %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html index 23e5f4a44..236c07972 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html @@ -26,11 +26,11 @@ {% join "finish_reading" button_uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} - {% elif shelf.identifier == 'partially-read' %} + {% elif shelf.identifier == 'stopped-reading' %} - {% trans "Partially read" as button_text %} + {% trans "Stop reading" as button_text %} {% url 'reading-status' 'stop' book.id as fallback_url %} - {% join "partially_read" button_uuid as modal_id %} + {% join "stop_reading" button_uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} {% elif shelf.identifier == 'to-read' %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html index 0a711addd..fb7ee452c 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html @@ -33,11 +33,11 @@ {% join "finish_reading" button_uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} - {% elif shelf.identifier == 'partially-read' %} + {% elif shelf.identifier == 'stopped-reading' %} {% trans "Stop reading" as button_text %} {% url 'reading-status' 'stop' book.id as fallback_url %} - {% join "partially_read" button_uuid as modal_id %} + {% join "stop_reading" button_uuid as modal_id %} {% include 'snippets/shelve_button/modal_button.html' with class=class fallback_url=fallback_url %} {% elif shelf.identifier == 'to-read' %} diff --git a/bookwyrm/templates/snippets/translated_shelf_name.html b/bookwyrm/templates/snippets/translated_shelf_name.html index dc1c579b3..763ca8544 100644 --- a/bookwyrm/templates/snippets/translated_shelf_name.html +++ b/bookwyrm/templates/snippets/translated_shelf_name.html @@ -7,8 +7,8 @@ {% trans "Currently Reading" %} {% elif shelf.identifier == 'read' %} {% trans "Read" %} -{% elif shelf.identifier == 'partially-read' %} - {% trans "Partially Read" %} +{% elif shelf.identifier == 'stopped-reading' %} + {% trans "Stopped Reading" %} {% else %} {{ shelf.name }} {% endif %} diff --git a/bookwyrm/templates/user/user.html b/bookwyrm/templates/user/user.html index 8d7fd31a2..af85159fc 100755 --- a/bookwyrm/templates/user/user.html +++ b/bookwyrm/templates/user/user.html @@ -33,7 +33,7 @@ {% if shelf.name == 'To Read' %}{% trans "To Read" %} {% elif shelf.name == 'Currently Reading' %}{% trans "Currently Reading" %} {% elif shelf.name == 'Read' %}{% trans "Read" %} - {% elif shelf.name == 'Partially Read' %}{% trans "Partially Read" %} + {% elif shelf.name == 'Stopped Reading' %}{% trans "Stopped Reading" %} {% else %}{{ shelf.name }}{% endif %} {% if shelf.size > 4 %}({% blocktrans with size=shelf.size %}View all {{ size }}{% endblocktrans %}){% endif %} diff --git a/bookwyrm/templatetags/shelf_tags.py b/bookwyrm/templatetags/shelf_tags.py index 6c4f59c36..7aef638f4 100644 --- a/bookwyrm/templatetags/shelf_tags.py +++ b/bookwyrm/templatetags/shelf_tags.py @@ -36,19 +36,22 @@ def get_next_shelf(current_shelf): def active_shelf(context, book): """check what shelf a user has a book on, if any""" user = context["request"].user - return cache.get_or_set( - f"active_shelf-{user.id}-{book.id}", - lambda u, b: ( - models.ShelfBook.objects.filter( - shelf__user=u, - book__parent_work__editions=b, - ).first() - or False - ), - user, - book, - timeout=15552000, - ) or {"book": book} + return ( + cache.get_or_set( + f"active_shelf-{user.id}-{book.id}", + lambda u, b: ( + models.ShelfBook.objects.filter( + shelf__user=u, + book__parent_work__editions=b, + ).first() + or False + ), + user, + book, + timeout=15552000, + ) + or {"book": book} + ) @register.simple_tag(takes_context=False) diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index 8d3439632..e4395e2f9 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -58,12 +58,12 @@ class User(TestCase): self.assertTrue("To Read" in names) self.assertTrue("Currently Reading" in names) self.assertTrue("Read" in names) - self.assertTrue("Partially Read" in names) + self.assertTrue("Stopped Reading" in names) ids = [s.identifier for s in shelves] self.assertTrue("to-read" in ids) self.assertTrue("reading" in ids) self.assertTrue("read" in ids) - self.assertTrue("partially-read" in ids) + self.assertTrue("stopped-reading" in ids) def test_activitypub_serialize(self): activity = self.user.to_activity() diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py index b80bc50df..3cd153d2f 100644 --- a/bookwyrm/views/reading.py +++ b/bookwyrm/views/reading.py @@ -42,7 +42,7 @@ class ReadingStatus(View): "want": models.Shelf.TO_READ, "start": models.Shelf.READING, "finish": models.Shelf.READ_FINISHED, - "stop": models.Shelf.PARTIALLY_READ, + "stop": models.Shelf.STOPPED_READING, }.get(status) if not identifier: return HttpResponseBadRequest() From 27c26b4d166afb985be50c90078d480d4b58bff1 Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 09:34:28 +0100 Subject: [PATCH 004/458] add test for dashed ISBN --- bookwyrm/tests/test_book_search.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bookwyrm/tests/test_book_search.py b/bookwyrm/tests/test_book_search.py index 16435ffff..41b102fb6 100644 --- a/bookwyrm/tests/test_book_search.py +++ b/bookwyrm/tests/test_book_search.py @@ -28,6 +28,14 @@ class BookSearch(TestCase): openlibrary_key="hello", ) + self.third_edition = models.Edition.objects.create( + title="Python Testing", + parent_work=self.work, + isbn_13="9781680502404", + physical_format="Paperback", + published_date=datetime.datetime(2017, 9, 1, 0, 0, tzinfo=timezone.utc), + ) + def test_search(self): """search for a book in the db""" # title/author @@ -39,6 +47,14 @@ class BookSearch(TestCase): results = book_search.search("0000000000") self.assertEqual(len(results), 1) self.assertEqual(results[0], self.first_edition) + + results = book_search.search("9781680502404") + self.assertEqual(len(results), 1) + self.assertEqual(results[0], self.third_edition) + + results = book_search.search("9-781-68050-2-404") + self.assertEqual(len(results), 1) + self.assertEqual(results[0], self.third_edition) # identifier results = book_search.search("hello") From 5801ef011fc535f11da6091b06579b9b14acbc3f Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 09:35:15 +0100 Subject: [PATCH 005/458] add isbn check --- bookwyrm/book_search.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/bookwyrm/book_search.py b/bookwyrm/book_search.py index e42a6d8c3..10bf6499e 100644 --- a/bookwyrm/book_search.py +++ b/bookwyrm/book_search.py @@ -12,6 +12,9 @@ from bookwyrm.settings import MEDIA_FULL_URL # pylint: disable=arguments-differ def search(query, min_confidence=0, filters=None, return_first=False): + # check if query is isbn + if isbn_check(query): + query = query.replace('-','') """search your local database""" filters = filters or [] if not query: @@ -133,6 +136,32 @@ def search_title_author(query, min_confidence, *filters, return_first=False): return list_results +def isbn_check(query): + n = query.replace('-','') + if len(n) == 13: + # Multiply every other digit by 3 + # Add these numbers and the other digits + product = (sum(int(ch) for ch in n[::2]) + + sum(int(ch) * 3 for ch in n[1::2])) + if product % 10 == 0: + return True + elif len(n) == 10: + if n[0:8].isdigit() and (n[9].isdigit() or n[9].lower() == "x"): + product = 0 + # Iterate through code_string + for i in range(9): + # for each character, multiply by a different decreasing number: 10 - x + product = product + int(n[i]) * (10 - i) + # Handle last character + if n[9].lower() == "x": + product += 10 + else: + product += int(n[9]) + if product % 11 == 0: + return True + return False + + @dataclass class SearchResult: """standardized search result object""" From a4b08d72135d67f8fd0c203f68f63e5a3f34b0f1 Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 17:10:32 +0100 Subject: [PATCH 006/458] add test with valid isbn10 --- bookwyrm/tests/test_book_search.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bookwyrm/tests/test_book_search.py b/bookwyrm/tests/test_book_search.py index 41b102fb6..f5c8b43f7 100644 --- a/bookwyrm/tests/test_book_search.py +++ b/bookwyrm/tests/test_book_search.py @@ -28,6 +28,7 @@ class BookSearch(TestCase): openlibrary_key="hello", ) + # isbn13 entry self.third_edition = models.Edition.objects.create( title="Python Testing", parent_work=self.work, @@ -36,6 +37,15 @@ class BookSearch(TestCase): published_date=datetime.datetime(2017, 9, 1, 0, 0, tzinfo=timezone.utc), ) + # isbn10 entry + self.fourth_edition = models.Edition.objects.create( + title="Pride and Prejudice: Jane Austen", + parent_work=self.work, + isbn_13="190962165X", + physical_format="Paperback", + published_date=datetime.datetime(2017, 9, 1, 0, 0, tzinfo=timezone.utc), + ) + def test_search(self): """search for a book in the db""" # title/author @@ -56,6 +66,10 @@ class BookSearch(TestCase): self.assertEqual(len(results), 1) self.assertEqual(results[0], self.third_edition) + results = book_search.search("1-9096-2165-X") + self.assertEqual(len(results), 1) + self.assertEqual(results[0], self.fourth_edition) + # identifier results = book_search.search("hello") self.assertEqual(len(results), 1) From 3c05cecb503dc8fb51f3c1d95f9a1d96c6e2e57f Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 19:07:25 +0100 Subject: [PATCH 007/458] function moved --- bookwyrm/views/search.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/bookwyrm/views/search.py b/bookwyrm/views/search.py index 7a56ae72f..ba3127003 100644 --- a/bookwyrm/views/search.py +++ b/bookwyrm/views/search.py @@ -24,6 +24,8 @@ class Search(View): def get(self, request): """that search bar up top""" query = request.GET.get("q") + # check if query is isbn + query = isbn_check(query) min_confidence = request.GET.get("min_confidence", 0) search_type = request.GET.get("type") search_remote = ( @@ -123,3 +125,29 @@ def list_search(query, viewer, *_): ) .order_by("-similarity") ), None + + +def isbn_check(query): + n = query.replace('-','').replace(' ', '') + if len(n) == 13: + # Multiply every other digit by 3 + # Add these numbers and the other digits + product = (sum(int(ch) for ch in n[::2]) + + sum(int(ch) * 3 for ch in n[1::2])) + if product % 10 == 0: + return n + elif len(n) == 10: + if n[0:8].isdigit() and (n[9].isdigit() or n[9].lower() == "x"): + product = 0 + # Iterate through code_string + for i in range(9): + # for each character, multiply by a different decreasing number: 10 - x + product = product + int(n[i]) * (10 - i) + # Handle last character + if n[9].lower() == "x": + product += 10 + else: + product += int(n[9]) + if product % 11 == 0: + return n + return query From 54eeeb579896c837ea7ae9b1d585f7b024583892 Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 20:30:11 +0100 Subject: [PATCH 008/458] fix style to pass tests --- bookwyrm/tests/test_book_search.py | 30 ------------------- bookwyrm/views/search.py | 46 +++++++++++++++--------------- 2 files changed, 23 insertions(+), 53 deletions(-) diff --git a/bookwyrm/tests/test_book_search.py b/bookwyrm/tests/test_book_search.py index f5c8b43f7..16435ffff 100644 --- a/bookwyrm/tests/test_book_search.py +++ b/bookwyrm/tests/test_book_search.py @@ -28,24 +28,6 @@ class BookSearch(TestCase): openlibrary_key="hello", ) - # isbn13 entry - self.third_edition = models.Edition.objects.create( - title="Python Testing", - parent_work=self.work, - isbn_13="9781680502404", - physical_format="Paperback", - published_date=datetime.datetime(2017, 9, 1, 0, 0, tzinfo=timezone.utc), - ) - - # isbn10 entry - self.fourth_edition = models.Edition.objects.create( - title="Pride and Prejudice: Jane Austen", - parent_work=self.work, - isbn_13="190962165X", - physical_format="Paperback", - published_date=datetime.datetime(2017, 9, 1, 0, 0, tzinfo=timezone.utc), - ) - def test_search(self): """search for a book in the db""" # title/author @@ -57,18 +39,6 @@ class BookSearch(TestCase): results = book_search.search("0000000000") self.assertEqual(len(results), 1) self.assertEqual(results[0], self.first_edition) - - results = book_search.search("9781680502404") - self.assertEqual(len(results), 1) - self.assertEqual(results[0], self.third_edition) - - results = book_search.search("9-781-68050-2-404") - self.assertEqual(len(results), 1) - self.assertEqual(results[0], self.third_edition) - - results = book_search.search("1-9096-2165-X") - self.assertEqual(len(results), 1) - self.assertEqual(results[0], self.fourth_edition) # identifier results = book_search.search("hello") diff --git a/bookwyrm/views/search.py b/bookwyrm/views/search.py index ba3127003..d6257cba4 100644 --- a/bookwyrm/views/search.py +++ b/bookwyrm/views/search.py @@ -25,7 +25,7 @@ class Search(View): """that search bar up top""" query = request.GET.get("q") # check if query is isbn - query = isbn_check(query) + query = isbn_check(query) min_confidence = request.GET.get("min_confidence", 0) search_type = request.GET.get("type") search_remote = ( @@ -128,26 +128,26 @@ def list_search(query, viewer, *_): def isbn_check(query): - n = query.replace('-','').replace(' ', '') - if len(n) == 13: - # Multiply every other digit by 3 - # Add these numbers and the other digits - product = (sum(int(ch) for ch in n[::2]) - + sum(int(ch) * 3 for ch in n[1::2])) - if product % 10 == 0: - return n - elif len(n) == 10: - if n[0:8].isdigit() and (n[9].isdigit() or n[9].lower() == "x"): - product = 0 - # Iterate through code_string - for i in range(9): - # for each character, multiply by a different decreasing number: 10 - x - product = product + int(n[i]) * (10 - i) - # Handle last character - if n[9].lower() == "x": - product += 10 - else: - product += int(n[9]) - if product % 11 == 0: - return n + if query: + su_num = query.replace("-", "").replace(" ", "") + if len(su_num) == 13: + # Multiply every other digit by 3 + # Add these numbers and the other digits + product = sum(int(ch) for ch in su_num[::2]) + sum(int(ch) * 3 for ch in su_num[1::2]) + if product % 10 == 0: + return su_num + elif len(su_num) == 10: + if su_num[0:8].isdigit() and (su_num[9].isdigit() or su_num[9].lower() == "x"): + product = 0 + # Iterate through code_string + for i in range(9): + # for each character, multiply by a different decreasing number: 10 - x + product = product + int(su_num[i]) * (10 - i) + # Handle last character + if su_num[9].lower() == "x": + product += 10 + else: + product += int(su_num[9]) + if product % 11 == 0: + return su_num return query From 526a1c6ef46dcc29e99ff2baf647bbdebd61b2f7 Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 20:31:06 +0100 Subject: [PATCH 009/458] removed unnecessary code --- bookwyrm/book_search.py | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/bookwyrm/book_search.py b/bookwyrm/book_search.py index 10bf6499e..e42a6d8c3 100644 --- a/bookwyrm/book_search.py +++ b/bookwyrm/book_search.py @@ -12,9 +12,6 @@ from bookwyrm.settings import MEDIA_FULL_URL # pylint: disable=arguments-differ def search(query, min_confidence=0, filters=None, return_first=False): - # check if query is isbn - if isbn_check(query): - query = query.replace('-','') """search your local database""" filters = filters or [] if not query: @@ -136,32 +133,6 @@ def search_title_author(query, min_confidence, *filters, return_first=False): return list_results -def isbn_check(query): - n = query.replace('-','') - if len(n) == 13: - # Multiply every other digit by 3 - # Add these numbers and the other digits - product = (sum(int(ch) for ch in n[::2]) - + sum(int(ch) * 3 for ch in n[1::2])) - if product % 10 == 0: - return True - elif len(n) == 10: - if n[0:8].isdigit() and (n[9].isdigit() or n[9].lower() == "x"): - product = 0 - # Iterate through code_string - for i in range(9): - # for each character, multiply by a different decreasing number: 10 - x - product = product + int(n[i]) * (10 - i) - # Handle last character - if n[9].lower() == "x": - product += 10 - else: - product += int(n[9]) - if product % 11 == 0: - return True - return False - - @dataclass class SearchResult: """standardized search result object""" From 0b0228737822d63f1599da3238475945f1dc9d26 Mon Sep 17 00:00:00 2001 From: Willi Hohenstein Date: Sun, 13 Feb 2022 20:49:44 +0100 Subject: [PATCH 010/458] add docstring --- bookwyrm/views/search.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bookwyrm/views/search.py b/bookwyrm/views/search.py index d6257cba4..10999a322 100644 --- a/bookwyrm/views/search.py +++ b/bookwyrm/views/search.py @@ -128,16 +128,21 @@ def list_search(query, viewer, *_): def isbn_check(query): + """isbn10 or isbn13 check, if so remove separators""" if query: su_num = query.replace("-", "").replace(" ", "") if len(su_num) == 13: # Multiply every other digit by 3 # Add these numbers and the other digits - product = sum(int(ch) for ch in su_num[::2]) + sum(int(ch) * 3 for ch in su_num[1::2]) + product = sum(int(ch) for ch in su_num[::2]) + sum( + int(ch) * 3 for ch in su_num[1::2] + ) if product % 10 == 0: return su_num elif len(su_num) == 10: - if su_num[0:8].isdigit() and (su_num[9].isdigit() or su_num[9].lower() == "x"): + if su_num[0:8].isdigit() and ( + su_num[9].isdigit() or su_num[9].lower() == "x" + ): product = 0 # Iterate through code_string for i in range(9): From 5ae4eb9b8f2b03baebbb9da1eb2a6bee642c610d Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Mon, 14 Feb 2022 02:56:05 -0800 Subject: [PATCH 011/458] Super messy initial working version. To clean up. --- bookwyrm/static/js/bookwyrm.js | 59 ++++++++++++++++++++ bookwyrm/static/js/vendor/quagga.min.js | 1 + bookwyrm/templates/layout.html | 7 +++ bookwyrm/templates/search/barcode_modal.html | 14 +++++ 4 files changed, 81 insertions(+) create mode 100644 bookwyrm/static/js/vendor/quagga.min.js create mode 100644 bookwyrm/templates/search/barcode_modal.html diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index cf3ce3032..b826a54e2 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -47,6 +47,10 @@ let BookWyrm = new (class { .forEach((node) => node.addEventListener("toggle", this.handleDetailsDropdown.bind(this)) ); + + document + .querySelector("#barcode_scanner_modal") + .addEventListener("open", this.openBarcodeScanner.bind(this)); } /** @@ -427,9 +431,11 @@ let BookWyrm = new (class { }); modalElement.addEventListener("keydown", handleFocusTrap); + modalElement.dispatchEvent(new Event('open')); } function handleModalClose(modalElement) { + modalElement.dispatchEvent(new Event('close')); modalElement.removeEventListener("keydown", handleFocusTrap); htmlElement.classList.remove("is-clipped"); modalElement.classList.remove("is-active"); @@ -632,4 +638,57 @@ let BookWyrm = new (class { } } } + + openBarcodeScanner(event) { + /*function onScanSuccess(decodedText, decodedResult) { + alert(`${decodedText}`, decodedResult); + } + + function onScanFailure(error) { + alert(error); + }*/ + + Quagga.init({ + inputStream : { + name: "Live", + type: "LiveStream", + target: "#barcode_scanner" + }, + decoder : { + readers: [ + "ean_reader", + { + format: "ean_reader", + config: { + supplements: [ "ean_2_reader", "ean_5_reader" ] + } + } + ], + debug: { + drawBoundingBox: true, + drawScanline: true, + showPattern: true, + }, + multiple: false + }, + debug: true + }, function(err) { + if (err) { + console.log(err); + return; + } + + console.log('started'); + Quagga.start(); + }); + + Quagga.onDetected(function(result) { + var code = result.codeResult.code; + + location.href = `search?q=${code}`; + Quagga.stop(); + + console.log(code); + }); + } })(); diff --git a/bookwyrm/static/js/vendor/quagga.min.js b/bookwyrm/static/js/vendor/quagga.min.js new file mode 100644 index 000000000..f7a30f41b --- /dev/null +++ b/bookwyrm/static/js/vendor/quagga.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(e.toString()).default:"object"==typeof exports?exports.Quagga=e(e.toString()).default:t.Quagga=e(e.toString()).default}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=166)}([function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";function r(t,e){return this._row=[],this.config=t||{},this.supplements=e,this}var o=n(3);r.prototype._nextUnset=function(t,e){var n;for(void 0===e&&(e=0),n=e;nn)return Number.MAX_VALUE;u+=c}return u/f},r.prototype._nextSet=function(t,e){var n;for(e=e||0,n=e;n1&&(t[n[r]]=o)},r.prototype._matchTrace=function(t,e){var n,r,o=[],i=this,a=i._nextSet(i._row),u=!i._row[a],c=0,s={error:Number.MAX_VALUE,code:-1,start:0};if(t){for(n=0;n=0;r--)e=Math.floor(Math.random()*r),n=t[r],t[r]=t[e],t[e]=n;return t},toPointList:function(t){var e,n,r=[],o=[];for(e=0;e=e&&o.push(t[r]);return o},maxIndex:function(t){var e,n=0;for(e=0;et[n]&&(n=e);return n},max:function t(e){var n,t=0;for(n=0;nt&&(t=e[n]);return t},sum:function t(e){for(var n=e.length,t=0;n--;)t+=e[n];return t}}},function(t,e,n){"use strict";function r(t,e){t=a()(o(),t),u.a.call(this,t,e)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=Object.assign||function(t){for(var e=1;ea.AVG_CODE_ERROR?null:f}s++,i[s]=1,c=!c}return null},r.prototype._findPattern=function(t,e,n,r,o){var i,a,u,c,s=[],f=this,l=0,d={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e||(e=f._nextSet(f._row)),void 0===n&&(n=!1),void 0===r&&(r=!0),void 0===o&&(o=f.AVG_CODE_ERROR),i=0;i=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start),e=i.CODE_G_START?(t.code=t.code-i.CODE_G_START,a|=1<<5-r):a|=0<<5-r,e.push(t.code),n.push(t)}if(null===(o=i._calculateFirstDigit(a)))return null;if(e.unshift(o),null===(t=i._findPattern(i.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<6;r++){if(!(t=i._decodeCode(t.end,i.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},r.prototype._decode=function(){var t,e,n=this,r=[],o=[],i={};if(!(t=n._findStart()))return null;if(e={code:t.code,start:t.start,end:t.end},o.push(e),!(e=n._decodePayload(e,r,o)))return null;if(!(e=n._findEnd(e.end,!1)))return null;if(o.push(e),!n._checksum(r))return null;if(this.supplements.length>0){var a=this._decodeExtensions(e.end);if(!a)return null;var u=a.decodedCodes[a.decodedCodes.length-1],s={start:u.start+((u.end-u.start)/2|0),end:u.end};if(!n._verifyTrailingWhitespace(s))return null;i={supplement:a,code:r.join("")+a.code}}return c({code:r.join(""),start:t.start,end:e.end,codeset:"",startInfo:t,decodedCodes:o},i)},r.prototype._decodeExtensions=function(t){var e,n,r=this._nextSet(this._row,t),o=this._findPattern(this.EXTENSION_START_PATTERN,r,!1,!1);if(null===o)return null;for(e=0;e=0;e-=2)n+=t[e];for(n*=3,e=t.length-1;e>=0;e-=2)n+=t[e];return n%10==0},r.CONFIG_KEYS={supplements:{type:"arrayOf(string)",default:[],description:"Allowed extensions to be decoded (2 and/or 5)"}},e.a=r},function(t,e,n){var r=n(38),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e){function n(t){return null!=t&&"object"==typeof t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e}t.exports=n},function(t,e,n){function r(t){return null==t?void 0===t?c:u:s&&s in Object(t)?i(t):a(t)}var o=n(11),i=n(119),a=n(146),u="[object Null]",c="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;o-1&&t%1==0&&t0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function o(t,e,n){n||(n=t);for(var r=t.data,o=r.length,i=n.data;o--;)i[o]=r[o]>o]++;return a}function a(t,e){function n(t,e){var n,r=0;for(n=t;n<=e;n++)r+=a[n];return r}function r(t,e){var n,r=0;for(n=t;n<=e;n++)r+=n*a[n];return r}function o(){var o,u,c,s,f,l,d,h=[0],p=(1<c)for(i=s[u],i.score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;ae[r]?r++:n++;return o}function _(t,e){function n(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-d)>Math.abs(t[e-1]-d)?t[e-1]:t[e]),d/nc[f-1]/c[f]?{x:n,y:n}:null}var r,o=p(e.x),i=p(e.y),a=Math.max(e.x,e.y),u=v(o,i),c=[8,10,15,20,32,60,80],s={"x-small":5,small:4,medium:3,large:2,"x-large":1},f=s[t]||s.medium,l=c[f],d=Math.floor(a/l);return r=n(u),r||(r=n(p(a)))||(r=n(p(d*l))),r}function g(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}function y(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce(function(t,e){var o=n[e],i=g(o),a=C[e](i,r);return t[e]=a,t},{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}var m=n(50),x=n(3);e.b=r,e.f=u,e.g=c,e.h=s,e.c=f,e.d=l,e.i=d,e.a=h,e.e=_,e.j=y;var b={clone:n(7)},E={clone:n(83)},C={top:function(t,e){if("%"===t.unit)return Math.floor(e.height*(t.value/100))},right:function(t,e){if("%"===t.unit)return Math.floor(e.width-e.width*(t.value/100))},bottom:function(t,e){if("%"===t.unit)return Math.floor(e.height-e.height*(t.value/100))},left:function(t,e){if("%"===t.unit)return Math.floor(e.width*(t.value/100))}}},function(t,e,n){"use strict";function r(t,e,n,r){e?this.data=e:n?(this.data=new n(t.x*t.y),n===Array&&r&&a.a.init(this.data,0)):(this.data=new Uint8Array(t.x*t.y),Uint8Array===Array&&r&&a.a.init(this.data,0)),this.size=t}var o=n(53),i=n(19),a=n(3),u={clone:n(7)};r.prototype.inImageWithBorder=function(t,e){return t.x>=e&&t.y>=e&&t.x0&&(a=g[r-1],a.m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+m,a.theta=(180*h/m+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=h>m?h-m:h,a.vec=u.clone([Math.cos(h),Math.sin(h)]),y.push(a));return y},r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,c=0;c360)&&(e=360);for(var o=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=[],f=t.getContext("2d"),l=f.getImageData(r.x,r.y,this.size.x,this.size.y),d=l.data,h=this.data.length;h--;)o[0]=this.data[h]*e,s=o[0]<=0?u:o[0]>=360?c:n.i(i.a)(o,a),d[4*h+0]=s[0],d[4*h+1]=s[1],d[4*h+2]=s[2],d[4*h+3]=255;f.putImageData(l,r.x,r.y)},e.a=r},function(t,e,n){function r(t,e,n){"__proto__"==e&&o?o(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var o=n(37);t.exports=r},function(t,e,n){function r(t,e){var n=i(t,e);return o(n)?n:void 0}var o=n(97),i=n(120);t.exports=r},function(t,e,n){function r(t){if("string"==typeof t||o(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}var o=n(27),i=1/0;t.exports=r},function(t,e,n){function r(t){return null!=t&&i(t.length)&&!o(t)}var o=n(25),i=n(26);t.exports=r},function(t,e,n){function r(t){if(!i(t))return!1;var e=o(t);return e==u||e==c||e==a||e==s}var o=n(8),i=n(0),a="[object AsyncFunction]",u="[object Function]",c="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){return"symbol"==typeof t||i(t)&&o(t)==a}var o=n(8),i=n(6),a="[object Symbol]";t.exports=r},function(t,e,n){var r=n(100),o=n(116),i=o(function(t,e,n){r(t,e,n)});t.exports=i},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";var r={searchDirections:[[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[-1,1]],create:function(t,e){function n(t,e,n,r){var o,f,l;for(o=0;o<7;o++){if(f=t.cy+c[t.dir][0],l=t.cx+c[t.dir][1],i=f*s+l,a[i]===e&&(0===u[i]||u[i]===n))return u[i]=n,t.cy=f,t.cx=l,!0;0===u[i]&&(u[i]=r),t.dir=(t.dir+1)%8}return!1}function r(t,e,n){return{dir:n,x:t,y:e,next:null,prev:null}}function o(t,e,o,i,a){var u,c,s,f=null,l={cx:e,cy:t,dir:0};if(n(l,i,o,a)){f=r(e,t,l.dir),u=f,s=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c;do l.dir=(l.dir+6)%8,n(l,i,o,a),s!==l.dir?(u.dir=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c):(u.dir=s,u.x=l.cx,u.y=l.cy),s=l.dir;while(l.cx!==e||l.cy!==t);f.prev=u.prev,u.prev.next=f}return f}var i,a=t.data,u=e.data,c=this.searchDirections,s=t.size.x;return{trace:function(t,e,r,o){return n(t,e,r,o)},contourTracing:function(t,e,n,r,i){return o(t,e,n,r,i)}}}};e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(1),i=n(3),a={ALPHABETH_STRING:{value:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"},ALPHABET:{value:[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,45,46,32,42,36,47,43,37]},CHARACTER_ENCODINGS:{value:[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]},ASTERISK:{value:148},FORMAT:{value:"code_39",writeable:!1}};r.prototype=Object.create(o.a.prototype,a),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o=this,a=[0,0,0,0,0,0,0,0,0],u=[],c=o._findStart();if(!c)return null;r=o._nextSet(o._row,c.end);do{if(a=o._toCounters(r,a),(n=o._toPattern(a))<0)return null;if((t=o._patternToChar(n))<0)return null;u.push(t),e=r,r+=i.a.sum(a),r=o._nextSet(o._row,r)}while("*"!==t);return u.pop(),u.length&&o._verifyTrailingWhitespace(e,r,a)?{code:u.join(""),start:c.start,end:r,startInfo:c,decodedCodes:u}:null},r.prototype._verifyTrailingWhitespace=function(t,e,n){var r=i.a.sum(n);return 3*(e-t-r)>=r},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ee&&(r=t[n]);return r},r.prototype._toPattern=function(t){for(var e,n,r=t.length,o=0,i=r,a=0,u=this;i>3;){for(o=u._findNextWidth(t,o),i=0,e=0,n=0;no&&(e|=1<0;n++)if(t[n]>o&&(i--,2*t[n]>=a))return-1;return e}}return-1},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextSet(r._row),i=o,a=[0,0,0,0,0,0,0,0,0],u=0,c=!1;for(t=o;t0)for(r=0;r0){if(!(t=Y.filter(function(t){return!t.busy})[0]))return;w.attachData(t.imageData)}else w.attachData(S.data);w.grab()&&(t?(t.busy=!0,t.worker.postMessage({cmd:"process",imageData:t.imageData},[t.imageData.buffer])):_())}else _()}function y(){var t=null,e=1e3/($.frequency||60);T=!1,function n(r){t=t||r,T||(r>=t&&(t+=e,g()),window.requestAnimFrame(n))}(performance.now())}function m(){Q&&"LiveStream"===$.inputStream.type?y():g()}function x(t){var e,n={worker:void 0,imageData:new Uint8Array(R.getWidth()*R.getHeight()),busy:!0};e=C(),n.worker=new Worker(e),n.worker.onmessage=function(r){if("initialized"===r.data.event)return URL.revokeObjectURL(e),n.busy=!1,n.imageData=new Uint8Array(r.data.imageData),t(n);"processed"===r.data.event?(n.imageData=new Uint8Array(r.data.imageData),n.busy=!1,v(r.data.result,n.imageData)):r.data.event},n.worker.postMessage({cmd:"init",size:{x:R.getWidth(),y:R.getHeight()},imageData:n.imageData,config:b($)},[n.imageData.buffer])}function b(t){return X({},t,{inputStream:X({},t.inputStream,{target:null})})}function E(t){function e(t){self.postMessage({event:"processed",imageData:o.data,result:t},[o.data.buffer])}function n(){self.postMessage({event:"initialized",imageData:o.data},[o.data.buffer])}if(t){var r=t().default;if(!r)return void self.postMessage({event:"error",message:"Quagga could not be created"})}var o;self.onmessage=function(t){if("init"===t.data.cmd){var i=t.data.config;i.numOfWorkers=0,o=new r.ImageWrapper({x:t.data.size.x,y:t.data.size.y},new Uint8Array(t.data.imageData)),r.init(i,n,o),r.onProcessed(e)}else"process"===t.data.cmd?(o.data=new Uint8Array(t.data.imageData),r.start()):"setReaders"===t.data.cmd&&r.setReaders(t.data.readers)}}function C(){var e,n;return void 0!==t&&(n=t),e=new Blob(["("+E.toString()+")("+n+");"],{type:"text/javascript"}),window.URL.createObjectURL(e)}function O(t){P?P.setReaders(t):Q&&Y.length>0&&Y.forEach(function(e){e.worker.postMessage({cmd:"setReaders",readers:t})})}function A(t,e){var n=t-Y.length;if(0===n)return e&&e();if(n<0){return Y.slice(n).forEach(function(t){t.worker.terminate()}),Y=Y.slice(0,n),e&&e()}for(var r=function(n){Y.push(n),Y.length>=t&&e&&e()},o=0;oe},getPoints:function(){return a},getCenter:function(){return u}}},createPoint:function(t,e,n){return{rad:t[n],point:t,id:e}}}},function(t,e,n){"use strict";e.a=function(){function t(t){return o[t]||(o[t]={subscribers:[]}),o[t]}function e(){o={}}function n(t,e){t.async?setTimeout(function(){t.callback(e)},4):t.callback(e)}function r(e,n,r){var o;if("function"==typeof n)o={callback:n,async:r};else if(o=n,!o.callback)throw"Callback was not specified on options";t(e).subscribers.push(o)}var o={};return{subscribe:function(t,e,n){return r(t,e,n)},publish:function(e,r){var o=t(e),i=o.subscribers;i.filter(function(t){return!!t.once}).forEach(function(t){n(t,r)}),o.subscribers=i.filter(function(t){return!t.once}),o.subscribers.forEach(function(t){n(t,r)})},once:function(t,e,n){r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){var o;n?(o=t(n),o.subscribers=o&&r?o.subscribers.filter(function(t){return t.callback!==r}):[]):e()}}}()},function(t,e,n){"use strict";function r(){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():Promise.reject(new Error("enumerateDevices is not defined"))}function o(t){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia(t):Promise.reject(new Error("getUserMedia is not defined"))}e.b=r,e.a=o},function(t,e,n){"use strict";function r(t,e,n){n||(n={data:null,size:e}),this.data=n.data,this.originalSize=n.size,this.I=n,this.from=t,this.size=e}r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,a=0;a>>16&65535,r=65535&t,o=e>>>16&65535,i=65535&e;return r*i+(n*i+r*o<<16>>>0)|0},"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n1&&(!e.inImageWithBorder(t[0],0)||!e.inImageWithBorder(t[1],0));)r-=Math.ceil(r/2),o(-r);return t}function u(t){return[{x:(t[1][0]-t[0][0])/2+t[0][0],y:(t[1][1]-t[0][1])/2+t[0][1]},{x:(t[3][0]-t[2][0])/2+t[2][0],y:(t[3][1]-t[2][1])/2+t[2][1]}]}function c(t){var n,o=null,i=r.a.getBarcodeLine(e,t[0],t[1]);for(r.a.toBinaryLine(i),n=0;nE?l:E,g.push(l)}var o,i,a,u,c,s,f,l,d=0|e.x,h=0|e.y,p=0|n.x,v=0|n.y,_=Math.abs(v-h)>Math.abs(p-d),g=[],y=t.data,m=t.size.x,x=0,b=255,E=0;for(_&&(s=d,d=h,h=s,s=p,p=v,v=s),d>p&&(s=d,d=p,p=s,s=h,h=v,v=s),o=p-d,i=Math.abs(v-h),a=o/2|0,c=h,u=hl?o.DIR.UP:o.DIR.DOWN,d.push({pos:0,val:f[0]}),a=0;ah&&f[a+1]>.5*l?o.DIR.UP:r,r!==i&&(d.push({pos:a,val:f[a]}),r=i);for(d.push({pos:f.length,val:f[f.length-1]}),u=d[0].pos;ul?0:1;for(a=1;ad[a].val?d[a].val+(d[a+1].val-d[a].val)/3*2|0:d[a+1].val+(d[a].val-d[a+1].val)/3|0,u=d[a].pos;uh?0:1;return{line:f,threshold:h}},r.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(r,500):n("Unable to play video stream. Is webcam working?"),o--}var o=10;r()})}function o(t,e){return n.i(d.a)(e).then(function(e){return new Promise(function(n){s=e,t.setAttribute("autoplay",!0),t.setAttribute("muted",!0),t.setAttribute("playsinline",!0),t.srcObject=e,t.addEventListener("loadedmetadata",function(){t.play(),n()})})}).then(r.bind(null,t))}function i(t){var e=l()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function a(t){var e={audio:!1,video:i(t)};return e.video.deviceId&&e.video.facingMode&&delete e.video.facingMode,Promise.resolve(e)}function u(){return n.i(d.b)().then(function(t){return t.filter(function(t){return"videoinput"===t.kind})})}function c(){if(s){var t=s.getVideoTracks();if(t&&t.length)return t[0]}}var s,f=n(162),l=n.n(f),d=n(52);e.a={request:function(t,e){return a(e).then(o.bind(null,t))},release:function(){var t=s&&s.getVideoTracks();t&&t.length&&t[0].stop(),s=null},enumerateVideoDevices:u,getActiveStreamLabel:function(){var t=c();return t?t.label:""},getActiveTrack:c}},function(t,e,n){"use strict";function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;return/^blob\:/i.test(t)?i(t).then(o).then(function(t){return a(t,e)}):Promise.resolve(null)}function o(t){return new Promise(function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)})}function i(t){return new Promise(function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()})}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d,n=new DataView(t),r=t.byteLength,o=e.reduce(function(t,e){var n=Object.keys(l).filter(function(t){return l[t]===e})[0];return n&&(t[n]=e),t},{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1?i.size:Math.floor(e/o*i.size):e,r=i.size?e/o>1?Math.floor(o/e*i.size):i.size:o,s.x=n,s.y=r}var n,r,o={},i=null,a=["canrecord","ended"],u={},c={x:0,y:0},s={x:0,y:0};return o.getRealWidth=function(){return t.videoWidth},o.getRealHeight=function(){return t.videoHeight},o.getWidth=function(){return n},o.getHeight=function(){return r},o.setWidth=function(t){n=t},o.setHeight=function(t){r=t},o.setInputStream=function(e){i=e,t.src=void 0!==e.src?e.src:""},o.ended=function(){return t.ended},o.getConfig=function(){return i},o.setAttribute=function(e,n){t.setAttribute(e,n)},o.pause=function(){t.pause()},o.play=function(){t.play()},o.setCurrentTime=function(e){"LiveStream"!==i.type&&(t.currentTime=e)},o.addEventListener=function(e,n,r){a.indexOf(e)!==-1?(u[e]||(u[e]=[]),u[e].push(n)):t.addEventListener(e,n,r)},o.clearEventHandlers=function(){a.forEach(function(e){var n=u[e];n&&n.length>0&&n.forEach(function(n){t.removeEventListener(e,n)})})},o.trigger=function(t,n){var r,i=u[t];if("canrecord"===t&&e(),i&&i.length>0)for(r=0;r1?a.size:Math.floor(u/c*a.size):u,o=a.size?u/c>1?Math.floor(c/u*a.size):a.size:c,x.x=n,x.y=o,l=!0,s=0,setTimeout(function(){e("canrecord",[])},0)},p,h,a.sequence)}function e(t,e){var n,r=y[t];if(r&&r.length>0)for(n=0;nf&&(f=o.box[r][0]),o.box[r][1]l&&(l=o.box[r][1]);for(a=[[c,s],[f,s],[f,l],[c,l]],u=p.halfSample?2:1,i=M.invert(i,i),r=0;r<4;r++)I.transformMat2(a[r],a[r],i);for(r=0;r<4;r++)I.scale(a[r],a[r],u);return a}function a(){n.i(w.f)(v,E),E.zeroBorder()}function u(){var t,e,n,r,o,i,a,u=[];for(t=0;t0&&r[x.data[n]-1]++;return r=r.map(function(t,e){return{val:t,label:e+1}}),r.sort(function(t,e){return e.val-t.val}),r.filter(function(t){return t.val>=5})}function s(t,e){var n,r,o,a,u=[],c=[];for(n=0;n=2){for(o=0;ol&&c.push(t[o]);if(c.length>=2){for(a=f(c),i=0,o=0;o1&&a.length>=c.length/4*3&&a.length>t.length/4&&(i/=a.length,u={index:e[1]*z.x+e[0],pos:{x:n,y:r},box:[I.clone([n,r]),I.clone([n+g.size.x,r]),I.clone([n+g.size.x,r+g.size.y]),I.clone([n,r+g.size.y])],moments:a,rad:i,vec:I.clone([Math.cos(i),Math.sin(i)])},s.push(u))}}return s}function h(t){function e(){var t;for(t=0;ta&&n(u):x.data[u]=Number.MAX_VALUE}var r,o,i=0,a=.95,u=0;for(T.a.init(m.data,0),T.a.init(x.data,0),T.a.init(b.data,null),r=0;r0) {length=length - 1|0;images[outImagePtr+length|0]=(images[aImagePtr+length|0]|0) - (images[bImagePtr+length|0]|0)|0;}}function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) {aImagePtr=aImagePtr|0;bImagePtr=bImagePtr|0;outImagePtr=outImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[outImagePtr+length|0]=images[aImagePtr+length|0]|0|(images[bImagePtr+length|0]|0)|0;}}function countNonZero(imagePtr) {imagePtr=imagePtr|0;var sum=0,length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;sum=(sum|0)+(images[imagePtr+length|0]|0)|0;}return sum|0;}function init(imagePtr, value) {imagePtr=imagePtr|0;value=value|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[imagePtr+length|0]=value;}}function dilate(inImagePtr, outImagePtr) {inImagePtr=inImagePtr|0;outImagePtr=outImagePtr|0;var v=0,u=0,sum=0,yStart1=0,yStart2=0,xStart1=0,xStart2=0,offset=0;for (v=1; (v|0)<(size - 1|0); v=v+1|0) {offset=offset+size|0;for (u=1; (u|0)<(size - 1|0); u=u+1|0) {yStart1=offset - size|0;yStart2=offset+size|0;xStart1=u - 1|0;xStart2=u+1|0;sum=(images[inImagePtr+yStart1+xStart1|0]|0)+(images[inImagePtr+yStart1+xStart2|0]|0)+(images[inImagePtr+offset+u|0]|0)+(images[inImagePtr+yStart2+xStart1|0]|0)+(images[inImagePtr+yStart2+xStart2|0]|0)|0;if ((sum|0)>(0|0)) {images[outImagePtr+offset+u|0]=1;} else {images[outImagePtr+offset+u|0]=0;}}}return;}function memcpy(srcImagePtr, dstImagePtr) {srcImagePtr=srcImagePtr|0;dstImagePtr=dstImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[dstImagePtr+length|0]=images[srcImagePtr+length|0]|0;}}function zeroBorder(imagePtr) {imagePtr=imagePtr|0;var x=0,y=0;for (x=0; (x|0)<(size - 1|0); x=x+1|0) {images[imagePtr+x|0]=0;images[imagePtr+y|0]=0;y=y+size - 1|0;images[imagePtr+y|0]=0;y=y+1|0;}for (x=0; (x|0)<(size|0); x=x+1|0) {images[imagePtr+y|0]=0;y=y+1|0;}}function skeletonize() {var subImagePtr=0,erodedImagePtr=0,tempImagePtr=0,skelImagePtr=0,sum=0,done=0;erodedImagePtr=imul(size, size)|0;tempImagePtr=erodedImagePtr+erodedImagePtr|0;skelImagePtr=tempImagePtr+erodedImagePtr|0;init(skelImagePtr, 0);zeroBorder(subImagePtr);do {erode(subImagePtr, erodedImagePtr);dilate(erodedImagePtr, tempImagePtr);subtract(subImagePtr, tempImagePtr, tempImagePtr);bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr);memcpy(erodedImagePtr, subImagePtr);sum=countNonZero(subImagePtr)|0;done=(sum|0) == 0|0;} while (!done);}return {skeletonize: skeletonize};} __webpack_exports__["a"]=Skeletonizer; },function(t,e,n){"use strict";function r(t){o.a.call(this,t),this.barSpaceRatio=[1,1]}var o=n(1),i=1,a=3,u={START_PATTERN:{value:[a,i,a,i,i,i]},STOP_PATTERN:{value:[a,i,i,i,a]},CODE_PATTERN:{value:[[i,i,a,a,i],[a,i,i,i,a],[i,a,i,i,a],[a,a,i,i,i],[i,i,a,i,a],[a,i,a,i,i],[i,a,a,i,i],[i,i,i,a,a],[a,i,i,a,i],[i,a,i,a,i]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.3,writable:!0},FORMAT:{value:"2of5"}},c=u.START_PATTERN.value.reduce(function(t,e){return t+e},0);r.prototype=Object.create(o.a.prototype,u),r.prototype.constructor=r,r.prototype._findPattern=function(t,e,n,r){var o,i,a,u,c=[],s=this,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0},d=s.AVG_CODE_ERROR;for(n=n||!1,r=r||!1,e||(e=s._nextSet(s._row)),o=0;o=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e1&&i._isStartEnd(n))break}while(ri._counters.length?i._counters.length:r,o=t.start+i._sumCounters(t.startCounter,r-8),{code:a.join(""),start:t.start,end:o,startInfo:t,decodedCodes:a}):null},r.prototype._verifyWhitespace=function(t,e){return(t-1<=0||this._counters[t-1]>=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)},r.prototype._calculatePatternLength=function(t){var e,n=0;for(e=t;e=0;i--)n=2==(1&i)?c.bar:c.space,r=1==(1&a)?n.wide:n.narrow,r.size+=u._counters[s+i],r.counts++,a>>=1;s+=8}return["space","bar"].forEach(function(t){var e=c[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((e.wide.size*u.MAX_ACCEPTABLE+u.PADDING)/e.wide.counts)}),c},r.prototype._charToPattern=function(t){var e,n=this,r=t.charCodeAt(0);for(e=0;e=0;r--){if(o=0==(1&r)?s.bar:s.space,i=1==(1&u)?o.wide:o.narrow,(a=c._counters[f+r])i.max)return!1;u>>=1}f+=8}return!0},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ei&&(i=r),rthis._counters.length)return-1;for(e=this._computeAlternatingThreshold(t,a),n=this._computeAlternatingThreshold(t+1,a),r=0;ro&&(c|=u),u>>=1;return c},r.prototype._isStartEnd=function(t){var e;for(e=0;eu.AVG_CODE_ERROR?null:(u.CODE_PATTERN[l.code]&&(l.correction.bar=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.bar),l.correction.space=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.space)),l)}f++,a[f]=1,s=!s}return null},r.prototype._correct=function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)},r.prototype._findStart=function(){var t,e,n,r,i,a=[0,0,0,0,0,0],u=this,c=u._nextSet(u._row),s=!1,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}};for(t=c;t4)return-1;if(0==(1&i))for(var u=0;u="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32)}n.push(u)}else n.push(o)}return n},r.prototype._verifyChecksums=function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)},r.prototype._matchCheckChar=function(t,e,n){var r=this,o=t.slice(0,e),i=o.length,a=o.reduce(function(t,e,o){return t+((o*-1+(i-1))%n+1)*r.ALPHABET.indexOf(e.charCodeAt(0))},0);return this.ALPHABET[a%47]===t[e].charCodeAt(0)},e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(4),i={FORMAT:{value:"ean_2",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,o=0,i=e,a=this._row.length,u=[],c=[];for(o=0;o<2&&i=this.CODE_G_START&&(r|=1<<1-o),1!=o&&(i=this._nextSet(this._row,n.end),i=this._nextUnset(this._row,i))}return 2!=u.length||parseInt(u.join(""))%4!==r?null:{code:u.join(""),decodedCodes:c,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(){a.a.call(this)}function o(t){var e;for(e=0;e<10;e++)if(t===c[e])return e;return null}function i(t){var e,n=t.length,r=0;for(e=n-2;e>=0;e-=2)r+=t[e];for(r*=3,e=n-1;e>=0;e-=2)r+=t[e];return(r*=3)%10}var a=n(4),u={FORMAT:{value:"ean_5",writeable:!1}},c=[24,20,18,17,12,6,3,10,9,5];r.prototype=Object.create(a.a.prototype,u),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,a=0,u=e,c=this._row.length,s=[],f=[];for(a=0;a<5&&u=this.CODE_G_START&&(r|=1<<4-a),4!=a&&(u=this._nextSet(this._row,n.end),u=this._nextUnset(this._row,u))}return 5!=s.length?null:i(s)!==o(r)?null:{code:s.join(""),decodedCodes:f,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={FORMAT:{value:"ean_8",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decodePayload=function(t,e,n){var r,o=this;for(r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;e.push(t.code),n.push(t)}if(null===(t=o._findPattern(o.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},e.a=r},function(t,e,n){"use strict";function r(t){t=a()(o(),t),u.a.call(this,t),this.barSpaceRatio=[1,1],t.normalizeBarSpaceWidth&&(this.SINGLE_CODE_ERROR=.38,this.AVG_CODE_ERROR=.09)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=1,s=3,f={START_PATTERN:{value:[c,c,c,c]},STOP_PATTERN:{value:[c,c,s]},CODE_PATTERN:{value:[[c,c,s,s,c],[s,c,c,c,s],[c,s,c,c,s],[s,s,c,c,c],[c,c,s,c,s],[s,c,s,c,c],[c,s,s,c,c],[c,c,c,s,s],[s,c,c,s,c],[c,s,c,s,c]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.38,writable:!0},MAX_CORRECTION_FACTOR:{value:5},FORMAT:{value:"i2of5"}};r.prototype=Object.create(u.a.prototype,f),r.prototype.constructor=r,r.prototype._matchPattern=function(t,e){if(this.config.normalizeBarSpaceWidth){var n,r=[0,0],o=[0,0],i=[0,0],a=this.MAX_CORRECTION_FACTOR,c=1/a;for(n=0;n=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e=o.CODE_G_START&&(t.code=t.code-o.CODE_G_START,i|=1<<5-r),e.push(t.code),n.push(t)}return o._determineParity(i,e)?t:null},r.prototype._determineParity=function(t,e){var n,r;for(r=0;r0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(90),i=n(128);t.exports=r},function(t,e,n){var r=n(117),o=r();t.exports=o},function(t,e,n){function r(t,e){e=o(e,t);for(var n=0,r=e.length;null!=t&&n1?n[o-1]:void 0,u=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,u&&i(n[0],n[1],u)&&(a=o<3?void 0:a,o=1),e=Object(e);++r-1}var o=n(12);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(12);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(84),i=n(10),a=n(33);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(14);t.exports=r},function(t,e,n){function r(t){var e=o(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}var o=n(161),i=500;t.exports=r},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(38),o="object"==typeof e&&e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o,u=a&&r.process,c=function(){try{return u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=c}).call(e,n(29)(t))},function(t,e){function n(t){return o.call(t)}var r=Object.prototype,o=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t){var e=0,n=0;return function(){var a=i(),u=o-(a-n);if(n=a,u>0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(){this.__data__=new o,this.size=0}var o=n(10);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length{% trans "Search" %} + + {% include "search/barcode_modal.html" with id="barcode_scanner_modal" %} - {% endblock %} From 82cb170a9112193ed8040f5f0a47bae63e7ffeff Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Tue, 15 Feb 2022 02:39:16 -0800 Subject: [PATCH 015/458] Switch version of quagga to new fork quagga2 --- bookwyrm/static/js/vendor/quagga.min.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/js/vendor/quagga.min.js b/bookwyrm/static/js/vendor/quagga.min.js index f7a30f41b..84ccb74fc 100644 --- a/bookwyrm/static/js/vendor/quagga.min.js +++ b/bookwyrm/static/js/vendor/quagga.min.js @@ -1 +1,3 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(e.toString()).default:"object"==typeof exports?exports.Quagga=e(e.toString()).default:t.Quagga=e(e.toString()).default}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=166)}([function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";function r(t,e){return this._row=[],this.config=t||{},this.supplements=e,this}var o=n(3);r.prototype._nextUnset=function(t,e){var n;for(void 0===e&&(e=0),n=e;nn)return Number.MAX_VALUE;u+=c}return u/f},r.prototype._nextSet=function(t,e){var n;for(e=e||0,n=e;n1&&(t[n[r]]=o)},r.prototype._matchTrace=function(t,e){var n,r,o=[],i=this,a=i._nextSet(i._row),u=!i._row[a],c=0,s={error:Number.MAX_VALUE,code:-1,start:0};if(t){for(n=0;n=0;r--)e=Math.floor(Math.random()*r),n=t[r],t[r]=t[e],t[e]=n;return t},toPointList:function(t){var e,n,r=[],o=[];for(e=0;e=e&&o.push(t[r]);return o},maxIndex:function(t){var e,n=0;for(e=0;et[n]&&(n=e);return n},max:function t(e){var n,t=0;for(n=0;nt&&(t=e[n]);return t},sum:function t(e){for(var n=e.length,t=0;n--;)t+=e[n];return t}}},function(t,e,n){"use strict";function r(t,e){t=a()(o(),t),u.a.call(this,t,e)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=Object.assign||function(t){for(var e=1;ea.AVG_CODE_ERROR?null:f}s++,i[s]=1,c=!c}return null},r.prototype._findPattern=function(t,e,n,r,o){var i,a,u,c,s=[],f=this,l=0,d={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e||(e=f._nextSet(f._row)),void 0===n&&(n=!1),void 0===r&&(r=!0),void 0===o&&(o=f.AVG_CODE_ERROR),i=0;i=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start),e=i.CODE_G_START?(t.code=t.code-i.CODE_G_START,a|=1<<5-r):a|=0<<5-r,e.push(t.code),n.push(t)}if(null===(o=i._calculateFirstDigit(a)))return null;if(e.unshift(o),null===(t=i._findPattern(i.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<6;r++){if(!(t=i._decodeCode(t.end,i.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},r.prototype._decode=function(){var t,e,n=this,r=[],o=[],i={};if(!(t=n._findStart()))return null;if(e={code:t.code,start:t.start,end:t.end},o.push(e),!(e=n._decodePayload(e,r,o)))return null;if(!(e=n._findEnd(e.end,!1)))return null;if(o.push(e),!n._checksum(r))return null;if(this.supplements.length>0){var a=this._decodeExtensions(e.end);if(!a)return null;var u=a.decodedCodes[a.decodedCodes.length-1],s={start:u.start+((u.end-u.start)/2|0),end:u.end};if(!n._verifyTrailingWhitespace(s))return null;i={supplement:a,code:r.join("")+a.code}}return c({code:r.join(""),start:t.start,end:e.end,codeset:"",startInfo:t,decodedCodes:o},i)},r.prototype._decodeExtensions=function(t){var e,n,r=this._nextSet(this._row,t),o=this._findPattern(this.EXTENSION_START_PATTERN,r,!1,!1);if(null===o)return null;for(e=0;e=0;e-=2)n+=t[e];for(n*=3,e=t.length-1;e>=0;e-=2)n+=t[e];return n%10==0},r.CONFIG_KEYS={supplements:{type:"arrayOf(string)",default:[],description:"Allowed extensions to be decoded (2 and/or 5)"}},e.a=r},function(t,e,n){var r=n(38),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e){function n(t){return null!=t&&"object"==typeof t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e}t.exports=n},function(t,e,n){function r(t){return null==t?void 0===t?c:u:s&&s in Object(t)?i(t):a(t)}var o=n(11),i=n(119),a=n(146),u="[object Null]",c="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;o-1&&t%1==0&&t0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function o(t,e,n){n||(n=t);for(var r=t.data,o=r.length,i=n.data;o--;)i[o]=r[o]>o]++;return a}function a(t,e){function n(t,e){var n,r=0;for(n=t;n<=e;n++)r+=a[n];return r}function r(t,e){var n,r=0;for(n=t;n<=e;n++)r+=n*a[n];return r}function o(){var o,u,c,s,f,l,d,h=[0],p=(1<c)for(i=s[u],i.score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;ae[r]?r++:n++;return o}function _(t,e){function n(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-d)>Math.abs(t[e-1]-d)?t[e-1]:t[e]),d/nc[f-1]/c[f]?{x:n,y:n}:null}var r,o=p(e.x),i=p(e.y),a=Math.max(e.x,e.y),u=v(o,i),c=[8,10,15,20,32,60,80],s={"x-small":5,small:4,medium:3,large:2,"x-large":1},f=s[t]||s.medium,l=c[f],d=Math.floor(a/l);return r=n(u),r||(r=n(p(a)))||(r=n(p(d*l))),r}function g(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}function y(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce(function(t,e){var o=n[e],i=g(o),a=C[e](i,r);return t[e]=a,t},{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}var m=n(50),x=n(3);e.b=r,e.f=u,e.g=c,e.h=s,e.c=f,e.d=l,e.i=d,e.a=h,e.e=_,e.j=y;var b={clone:n(7)},E={clone:n(83)},C={top:function(t,e){if("%"===t.unit)return Math.floor(e.height*(t.value/100))},right:function(t,e){if("%"===t.unit)return Math.floor(e.width-e.width*(t.value/100))},bottom:function(t,e){if("%"===t.unit)return Math.floor(e.height-e.height*(t.value/100))},left:function(t,e){if("%"===t.unit)return Math.floor(e.width*(t.value/100))}}},function(t,e,n){"use strict";function r(t,e,n,r){e?this.data=e:n?(this.data=new n(t.x*t.y),n===Array&&r&&a.a.init(this.data,0)):(this.data=new Uint8Array(t.x*t.y),Uint8Array===Array&&r&&a.a.init(this.data,0)),this.size=t}var o=n(53),i=n(19),a=n(3),u={clone:n(7)};r.prototype.inImageWithBorder=function(t,e){return t.x>=e&&t.y>=e&&t.x0&&(a=g[r-1],a.m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+m,a.theta=(180*h/m+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=h>m?h-m:h,a.vec=u.clone([Math.cos(h),Math.sin(h)]),y.push(a));return y},r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,c=0;c360)&&(e=360);for(var o=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=[],f=t.getContext("2d"),l=f.getImageData(r.x,r.y,this.size.x,this.size.y),d=l.data,h=this.data.length;h--;)o[0]=this.data[h]*e,s=o[0]<=0?u:o[0]>=360?c:n.i(i.a)(o,a),d[4*h+0]=s[0],d[4*h+1]=s[1],d[4*h+2]=s[2],d[4*h+3]=255;f.putImageData(l,r.x,r.y)},e.a=r},function(t,e,n){function r(t,e,n){"__proto__"==e&&o?o(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var o=n(37);t.exports=r},function(t,e,n){function r(t,e){var n=i(t,e);return o(n)?n:void 0}var o=n(97),i=n(120);t.exports=r},function(t,e,n){function r(t){if("string"==typeof t||o(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}var o=n(27),i=1/0;t.exports=r},function(t,e,n){function r(t){return null!=t&&i(t.length)&&!o(t)}var o=n(25),i=n(26);t.exports=r},function(t,e,n){function r(t){if(!i(t))return!1;var e=o(t);return e==u||e==c||e==a||e==s}var o=n(8),i=n(0),a="[object AsyncFunction]",u="[object Function]",c="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){return"symbol"==typeof t||i(t)&&o(t)==a}var o=n(8),i=n(6),a="[object Symbol]";t.exports=r},function(t,e,n){var r=n(100),o=n(116),i=o(function(t,e,n){r(t,e,n)});t.exports=i},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";var r={searchDirections:[[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[-1,1]],create:function(t,e){function n(t,e,n,r){var o,f,l;for(o=0;o<7;o++){if(f=t.cy+c[t.dir][0],l=t.cx+c[t.dir][1],i=f*s+l,a[i]===e&&(0===u[i]||u[i]===n))return u[i]=n,t.cy=f,t.cx=l,!0;0===u[i]&&(u[i]=r),t.dir=(t.dir+1)%8}return!1}function r(t,e,n){return{dir:n,x:t,y:e,next:null,prev:null}}function o(t,e,o,i,a){var u,c,s,f=null,l={cx:e,cy:t,dir:0};if(n(l,i,o,a)){f=r(e,t,l.dir),u=f,s=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c;do l.dir=(l.dir+6)%8,n(l,i,o,a),s!==l.dir?(u.dir=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c):(u.dir=s,u.x=l.cx,u.y=l.cy),s=l.dir;while(l.cx!==e||l.cy!==t);f.prev=u.prev,u.prev.next=f}return f}var i,a=t.data,u=e.data,c=this.searchDirections,s=t.size.x;return{trace:function(t,e,r,o){return n(t,e,r,o)},contourTracing:function(t,e,n,r,i){return o(t,e,n,r,i)}}}};e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(1),i=n(3),a={ALPHABETH_STRING:{value:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"},ALPHABET:{value:[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,45,46,32,42,36,47,43,37]},CHARACTER_ENCODINGS:{value:[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]},ASTERISK:{value:148},FORMAT:{value:"code_39",writeable:!1}};r.prototype=Object.create(o.a.prototype,a),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o=this,a=[0,0,0,0,0,0,0,0,0],u=[],c=o._findStart();if(!c)return null;r=o._nextSet(o._row,c.end);do{if(a=o._toCounters(r,a),(n=o._toPattern(a))<0)return null;if((t=o._patternToChar(n))<0)return null;u.push(t),e=r,r+=i.a.sum(a),r=o._nextSet(o._row,r)}while("*"!==t);return u.pop(),u.length&&o._verifyTrailingWhitespace(e,r,a)?{code:u.join(""),start:c.start,end:r,startInfo:c,decodedCodes:u}:null},r.prototype._verifyTrailingWhitespace=function(t,e,n){var r=i.a.sum(n);return 3*(e-t-r)>=r},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ee&&(r=t[n]);return r},r.prototype._toPattern=function(t){for(var e,n,r=t.length,o=0,i=r,a=0,u=this;i>3;){for(o=u._findNextWidth(t,o),i=0,e=0,n=0;no&&(e|=1<0;n++)if(t[n]>o&&(i--,2*t[n]>=a))return-1;return e}}return-1},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextSet(r._row),i=o,a=[0,0,0,0,0,0,0,0,0],u=0,c=!1;for(t=o;t0)for(r=0;r0){if(!(t=Y.filter(function(t){return!t.busy})[0]))return;w.attachData(t.imageData)}else w.attachData(S.data);w.grab()&&(t?(t.busy=!0,t.worker.postMessage({cmd:"process",imageData:t.imageData},[t.imageData.buffer])):_())}else _()}function y(){var t=null,e=1e3/($.frequency||60);T=!1,function n(r){t=t||r,T||(r>=t&&(t+=e,g()),window.requestAnimFrame(n))}(performance.now())}function m(){Q&&"LiveStream"===$.inputStream.type?y():g()}function x(t){var e,n={worker:void 0,imageData:new Uint8Array(R.getWidth()*R.getHeight()),busy:!0};e=C(),n.worker=new Worker(e),n.worker.onmessage=function(r){if("initialized"===r.data.event)return URL.revokeObjectURL(e),n.busy=!1,n.imageData=new Uint8Array(r.data.imageData),t(n);"processed"===r.data.event?(n.imageData=new Uint8Array(r.data.imageData),n.busy=!1,v(r.data.result,n.imageData)):r.data.event},n.worker.postMessage({cmd:"init",size:{x:R.getWidth(),y:R.getHeight()},imageData:n.imageData,config:b($)},[n.imageData.buffer])}function b(t){return X({},t,{inputStream:X({},t.inputStream,{target:null})})}function E(t){function e(t){self.postMessage({event:"processed",imageData:o.data,result:t},[o.data.buffer])}function n(){self.postMessage({event:"initialized",imageData:o.data},[o.data.buffer])}if(t){var r=t().default;if(!r)return void self.postMessage({event:"error",message:"Quagga could not be created"})}var o;self.onmessage=function(t){if("init"===t.data.cmd){var i=t.data.config;i.numOfWorkers=0,o=new r.ImageWrapper({x:t.data.size.x,y:t.data.size.y},new Uint8Array(t.data.imageData)),r.init(i,n,o),r.onProcessed(e)}else"process"===t.data.cmd?(o.data=new Uint8Array(t.data.imageData),r.start()):"setReaders"===t.data.cmd&&r.setReaders(t.data.readers)}}function C(){var e,n;return void 0!==t&&(n=t),e=new Blob(["("+E.toString()+")("+n+");"],{type:"text/javascript"}),window.URL.createObjectURL(e)}function O(t){P?P.setReaders(t):Q&&Y.length>0&&Y.forEach(function(e){e.worker.postMessage({cmd:"setReaders",readers:t})})}function A(t,e){var n=t-Y.length;if(0===n)return e&&e();if(n<0){return Y.slice(n).forEach(function(t){t.worker.terminate()}),Y=Y.slice(0,n),e&&e()}for(var r=function(n){Y.push(n),Y.length>=t&&e&&e()},o=0;oe},getPoints:function(){return a},getCenter:function(){return u}}},createPoint:function(t,e,n){return{rad:t[n],point:t,id:e}}}},function(t,e,n){"use strict";e.a=function(){function t(t){return o[t]||(o[t]={subscribers:[]}),o[t]}function e(){o={}}function n(t,e){t.async?setTimeout(function(){t.callback(e)},4):t.callback(e)}function r(e,n,r){var o;if("function"==typeof n)o={callback:n,async:r};else if(o=n,!o.callback)throw"Callback was not specified on options";t(e).subscribers.push(o)}var o={};return{subscribe:function(t,e,n){return r(t,e,n)},publish:function(e,r){var o=t(e),i=o.subscribers;i.filter(function(t){return!!t.once}).forEach(function(t){n(t,r)}),o.subscribers=i.filter(function(t){return!t.once}),o.subscribers.forEach(function(t){n(t,r)})},once:function(t,e,n){r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){var o;n?(o=t(n),o.subscribers=o&&r?o.subscribers.filter(function(t){return t.callback!==r}):[]):e()}}}()},function(t,e,n){"use strict";function r(){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():Promise.reject(new Error("enumerateDevices is not defined"))}function o(t){return navigator.mediaDevices&&"function"==typeof navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia(t):Promise.reject(new Error("getUserMedia is not defined"))}e.b=r,e.a=o},function(t,e,n){"use strict";function r(t,e,n){n||(n={data:null,size:e}),this.data=n.data,this.originalSize=n.size,this.I=n,this.from=t,this.size=e}r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext("2d"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,a=0;a>>16&65535,r=65535&t,o=e>>>16&65535,i=65535&e;return r*i+(n*i+r*o<<16>>>0)|0},"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n1&&(!e.inImageWithBorder(t[0],0)||!e.inImageWithBorder(t[1],0));)r-=Math.ceil(r/2),o(-r);return t}function u(t){return[{x:(t[1][0]-t[0][0])/2+t[0][0],y:(t[1][1]-t[0][1])/2+t[0][1]},{x:(t[3][0]-t[2][0])/2+t[2][0],y:(t[3][1]-t[2][1])/2+t[2][1]}]}function c(t){var n,o=null,i=r.a.getBarcodeLine(e,t[0],t[1]);for(r.a.toBinaryLine(i),n=0;nE?l:E,g.push(l)}var o,i,a,u,c,s,f,l,d=0|e.x,h=0|e.y,p=0|n.x,v=0|n.y,_=Math.abs(v-h)>Math.abs(p-d),g=[],y=t.data,m=t.size.x,x=0,b=255,E=0;for(_&&(s=d,d=h,h=s,s=p,p=v,v=s),d>p&&(s=d,d=p,p=s,s=h,h=v,v=s),o=p-d,i=Math.abs(v-h),a=o/2|0,c=h,u=hl?o.DIR.UP:o.DIR.DOWN,d.push({pos:0,val:f[0]}),a=0;ah&&f[a+1]>.5*l?o.DIR.UP:r,r!==i&&(d.push({pos:a,val:f[a]}),r=i);for(d.push({pos:f.length,val:f[f.length-1]}),u=d[0].pos;ul?0:1;for(a=1;ad[a].val?d[a].val+(d[a+1].val-d[a].val)/3*2|0:d[a+1].val+(d[a].val-d[a+1].val)/3|0,u=d[a].pos;uh?0:1;return{line:f,threshold:h}},r.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(r,500):n("Unable to play video stream. Is webcam working?"),o--}var o=10;r()})}function o(t,e){return n.i(d.a)(e).then(function(e){return new Promise(function(n){s=e,t.setAttribute("autoplay",!0),t.setAttribute("muted",!0),t.setAttribute("playsinline",!0),t.srcObject=e,t.addEventListener("loadedmetadata",function(){t.play(),n()})})}).then(r.bind(null,t))}function i(t){var e=l()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function a(t){var e={audio:!1,video:i(t)};return e.video.deviceId&&e.video.facingMode&&delete e.video.facingMode,Promise.resolve(e)}function u(){return n.i(d.b)().then(function(t){return t.filter(function(t){return"videoinput"===t.kind})})}function c(){if(s){var t=s.getVideoTracks();if(t&&t.length)return t[0]}}var s,f=n(162),l=n.n(f),d=n(52);e.a={request:function(t,e){return a(e).then(o.bind(null,t))},release:function(){var t=s&&s.getVideoTracks();t&&t.length&&t[0].stop(),s=null},enumerateVideoDevices:u,getActiveStreamLabel:function(){var t=c();return t?t.label:""},getActiveTrack:c}},function(t,e,n){"use strict";function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;return/^blob\:/i.test(t)?i(t).then(o).then(function(t){return a(t,e)}):Promise.resolve(null)}function o(t){return new Promise(function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)})}function i(t){return new Promise(function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()})}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d,n=new DataView(t),r=t.byteLength,o=e.reduce(function(t,e){var n=Object.keys(l).filter(function(t){return l[t]===e})[0];return n&&(t[n]=e),t},{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1?i.size:Math.floor(e/o*i.size):e,r=i.size?e/o>1?Math.floor(o/e*i.size):i.size:o,s.x=n,s.y=r}var n,r,o={},i=null,a=["canrecord","ended"],u={},c={x:0,y:0},s={x:0,y:0};return o.getRealWidth=function(){return t.videoWidth},o.getRealHeight=function(){return t.videoHeight},o.getWidth=function(){return n},o.getHeight=function(){return r},o.setWidth=function(t){n=t},o.setHeight=function(t){r=t},o.setInputStream=function(e){i=e,t.src=void 0!==e.src?e.src:""},o.ended=function(){return t.ended},o.getConfig=function(){return i},o.setAttribute=function(e,n){t.setAttribute(e,n)},o.pause=function(){t.pause()},o.play=function(){t.play()},o.setCurrentTime=function(e){"LiveStream"!==i.type&&(t.currentTime=e)},o.addEventListener=function(e,n,r){a.indexOf(e)!==-1?(u[e]||(u[e]=[]),u[e].push(n)):t.addEventListener(e,n,r)},o.clearEventHandlers=function(){a.forEach(function(e){var n=u[e];n&&n.length>0&&n.forEach(function(n){t.removeEventListener(e,n)})})},o.trigger=function(t,n){var r,i=u[t];if("canrecord"===t&&e(),i&&i.length>0)for(r=0;r1?a.size:Math.floor(u/c*a.size):u,o=a.size?u/c>1?Math.floor(c/u*a.size):a.size:c,x.x=n,x.y=o,l=!0,s=0,setTimeout(function(){e("canrecord",[])},0)},p,h,a.sequence)}function e(t,e){var n,r=y[t];if(r&&r.length>0)for(n=0;nf&&(f=o.box[r][0]),o.box[r][1]l&&(l=o.box[r][1]);for(a=[[c,s],[f,s],[f,l],[c,l]],u=p.halfSample?2:1,i=M.invert(i,i),r=0;r<4;r++)I.transformMat2(a[r],a[r],i);for(r=0;r<4;r++)I.scale(a[r],a[r],u);return a}function a(){n.i(w.f)(v,E),E.zeroBorder()}function u(){var t,e,n,r,o,i,a,u=[];for(t=0;t0&&r[x.data[n]-1]++;return r=r.map(function(t,e){return{val:t,label:e+1}}),r.sort(function(t,e){return e.val-t.val}),r.filter(function(t){return t.val>=5})}function s(t,e){var n,r,o,a,u=[],c=[];for(n=0;n=2){for(o=0;ol&&c.push(t[o]);if(c.length>=2){for(a=f(c),i=0,o=0;o1&&a.length>=c.length/4*3&&a.length>t.length/4&&(i/=a.length,u={index:e[1]*z.x+e[0],pos:{x:n,y:r},box:[I.clone([n,r]),I.clone([n+g.size.x,r]),I.clone([n+g.size.x,r+g.size.y]),I.clone([n,r+g.size.y])],moments:a,rad:i,vec:I.clone([Math.cos(i),Math.sin(i)])},s.push(u))}}return s}function h(t){function e(){var t;for(t=0;ta&&n(u):x.data[u]=Number.MAX_VALUE}var r,o,i=0,a=.95,u=0;for(T.a.init(m.data,0),T.a.init(x.data,0),T.a.init(b.data,null),r=0;r0) {length=length - 1|0;images[outImagePtr+length|0]=(images[aImagePtr+length|0]|0) - (images[bImagePtr+length|0]|0)|0;}}function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) {aImagePtr=aImagePtr|0;bImagePtr=bImagePtr|0;outImagePtr=outImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[outImagePtr+length|0]=images[aImagePtr+length|0]|0|(images[bImagePtr+length|0]|0)|0;}}function countNonZero(imagePtr) {imagePtr=imagePtr|0;var sum=0,length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;sum=(sum|0)+(images[imagePtr+length|0]|0)|0;}return sum|0;}function init(imagePtr, value) {imagePtr=imagePtr|0;value=value|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[imagePtr+length|0]=value;}}function dilate(inImagePtr, outImagePtr) {inImagePtr=inImagePtr|0;outImagePtr=outImagePtr|0;var v=0,u=0,sum=0,yStart1=0,yStart2=0,xStart1=0,xStart2=0,offset=0;for (v=1; (v|0)<(size - 1|0); v=v+1|0) {offset=offset+size|0;for (u=1; (u|0)<(size - 1|0); u=u+1|0) {yStart1=offset - size|0;yStart2=offset+size|0;xStart1=u - 1|0;xStart2=u+1|0;sum=(images[inImagePtr+yStart1+xStart1|0]|0)+(images[inImagePtr+yStart1+xStart2|0]|0)+(images[inImagePtr+offset+u|0]|0)+(images[inImagePtr+yStart2+xStart1|0]|0)+(images[inImagePtr+yStart2+xStart2|0]|0)|0;if ((sum|0)>(0|0)) {images[outImagePtr+offset+u|0]=1;} else {images[outImagePtr+offset+u|0]=0;}}}return;}function memcpy(srcImagePtr, dstImagePtr) {srcImagePtr=srcImagePtr|0;dstImagePtr=dstImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)>0) {length=length - 1|0;images[dstImagePtr+length|0]=images[srcImagePtr+length|0]|0;}}function zeroBorder(imagePtr) {imagePtr=imagePtr|0;var x=0,y=0;for (x=0; (x|0)<(size - 1|0); x=x+1|0) {images[imagePtr+x|0]=0;images[imagePtr+y|0]=0;y=y+size - 1|0;images[imagePtr+y|0]=0;y=y+1|0;}for (x=0; (x|0)<(size|0); x=x+1|0) {images[imagePtr+y|0]=0;y=y+1|0;}}function skeletonize() {var subImagePtr=0,erodedImagePtr=0,tempImagePtr=0,skelImagePtr=0,sum=0,done=0;erodedImagePtr=imul(size, size)|0;tempImagePtr=erodedImagePtr+erodedImagePtr|0;skelImagePtr=tempImagePtr+erodedImagePtr|0;init(skelImagePtr, 0);zeroBorder(subImagePtr);do {erode(subImagePtr, erodedImagePtr);dilate(erodedImagePtr, tempImagePtr);subtract(subImagePtr, tempImagePtr, tempImagePtr);bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr);memcpy(erodedImagePtr, subImagePtr);sum=countNonZero(subImagePtr)|0;done=(sum|0) == 0|0;} while (!done);}return {skeletonize: skeletonize};} __webpack_exports__["a"]=Skeletonizer; },function(t,e,n){"use strict";function r(t){o.a.call(this,t),this.barSpaceRatio=[1,1]}var o=n(1),i=1,a=3,u={START_PATTERN:{value:[a,i,a,i,i,i]},STOP_PATTERN:{value:[a,i,i,i,a]},CODE_PATTERN:{value:[[i,i,a,a,i],[a,i,i,i,a],[i,a,i,i,a],[a,a,i,i,i],[i,i,a,i,a],[a,i,a,i,i],[i,a,a,i,i],[i,i,i,a,a],[a,i,i,a,i],[i,a,i,a,i]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.3,writable:!0},FORMAT:{value:"2of5"}},c=u.START_PATTERN.value.reduce(function(t,e){return t+e},0);r.prototype=Object.create(o.a.prototype,u),r.prototype.constructor=r,r.prototype._findPattern=function(t,e,n,r){var o,i,a,u,c=[],s=this,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0},d=s.AVG_CODE_ERROR;for(n=n||!1,r=r||!1,e||(e=s._nextSet(s._row)),o=0;o=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e1&&i._isStartEnd(n))break}while(ri._counters.length?i._counters.length:r,o=t.start+i._sumCounters(t.startCounter,r-8),{code:a.join(""),start:t.start,end:o,startInfo:t,decodedCodes:a}):null},r.prototype._verifyWhitespace=function(t,e){return(t-1<=0||this._counters[t-1]>=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)},r.prototype._calculatePatternLength=function(t){var e,n=0;for(e=t;e=0;i--)n=2==(1&i)?c.bar:c.space,r=1==(1&a)?n.wide:n.narrow,r.size+=u._counters[s+i],r.counts++,a>>=1;s+=8}return["space","bar"].forEach(function(t){var e=c[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((e.wide.size*u.MAX_ACCEPTABLE+u.PADDING)/e.wide.counts)}),c},r.prototype._charToPattern=function(t){var e,n=this,r=t.charCodeAt(0);for(e=0;e=0;r--){if(o=0==(1&r)?s.bar:s.space,i=1==(1&u)?o.wide:o.narrow,(a=c._counters[f+r])i.max)return!1;u>>=1}f+=8}return!0},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;ei&&(i=r),rthis._counters.length)return-1;for(e=this._computeAlternatingThreshold(t,a),n=this._computeAlternatingThreshold(t+1,a),r=0;ro&&(c|=u),u>>=1;return c},r.prototype._isStartEnd=function(t){var e;for(e=0;eu.AVG_CODE_ERROR?null:(u.CODE_PATTERN[l.code]&&(l.correction.bar=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.bar),l.correction.space=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.space)),l)}f++,a[f]=1,s=!s}return null},r.prototype._correct=function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)},r.prototype._findStart=function(){var t,e,n,r,i,a=[0,0,0,0,0,0],u=this,c=u._nextSet(u._row),s=!1,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}};for(t=c;t4)return-1;if(0==(1&i))for(var u=0;u="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32)}n.push(u)}else n.push(o)}return n},r.prototype._verifyChecksums=function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)},r.prototype._matchCheckChar=function(t,e,n){var r=this,o=t.slice(0,e),i=o.length,a=o.reduce(function(t,e,o){return t+((o*-1+(i-1))%n+1)*r.ALPHABET.indexOf(e.charCodeAt(0))},0);return this.ALPHABET[a%47]===t[e].charCodeAt(0)},e.a=r},function(t,e,n){"use strict";function r(){o.a.call(this)}var o=n(4),i={FORMAT:{value:"ean_2",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,o=0,i=e,a=this._row.length,u=[],c=[];for(o=0;o<2&&i=this.CODE_G_START&&(r|=1<<1-o),1!=o&&(i=this._nextSet(this._row,n.end),i=this._nextUnset(this._row,i))}return 2!=u.length||parseInt(u.join(""))%4!==r?null:{code:u.join(""),decodedCodes:c,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(){a.a.call(this)}function o(t){var e;for(e=0;e<10;e++)if(t===c[e])return e;return null}function i(t){var e,n=t.length,r=0;for(e=n-2;e>=0;e-=2)r+=t[e];for(r*=3,e=n-1;e>=0;e-=2)r+=t[e];return(r*=3)%10}var a=n(4),u={FORMAT:{value:"ean_5",writeable:!1}},c=[24,20,18,17,12,6,3,10,9,5];r.prototype=Object.create(a.a.prototype,u),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,a=0,u=e,c=this._row.length,s=[],f=[];for(a=0;a<5&&u=this.CODE_G_START&&(r|=1<<4-a),4!=a&&(u=this._nextSet(this._row,n.end),u=this._nextUnset(this._row,u))}return 5!=s.length?null:i(s)!==o(r)?null:{code:s.join(""),decodedCodes:f,end:n.end}},e.a=r},function(t,e,n){"use strict";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={FORMAT:{value:"ean_8",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decodePayload=function(t,e,n){var r,o=this;for(r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;e.push(t.code),n.push(t)}if(null===(t=o._findPattern(o.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r<4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},e.a=r},function(t,e,n){"use strict";function r(t){t=a()(o(),t),u.a.call(this,t),this.barSpaceRatio=[1,1],t.normalizeBarSpaceWidth&&(this.SINGLE_CODE_ERROR=.38,this.AVG_CODE_ERROR=.09)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=1,s=3,f={START_PATTERN:{value:[c,c,c,c]},STOP_PATTERN:{value:[c,c,s]},CODE_PATTERN:{value:[[c,c,s,s,c],[s,c,c,c,s],[c,s,c,c,s],[s,s,c,c,c],[c,c,s,c,s],[s,c,s,c,c],[c,s,s,c,c],[c,c,c,s,s],[s,c,c,s,c],[c,s,c,s,c]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.38,writable:!0},MAX_CORRECTION_FACTOR:{value:5},FORMAT:{value:"i2of5"}};r.prototype=Object.create(u.a.prototype,f),r.prototype.constructor=r,r.prototype._matchPattern=function(t,e){if(this.config.normalizeBarSpaceWidth){var n,r=[0,0],o=[0,0],i=[0,0],a=this.MAX_CORRECTION_FACTOR,c=1/a;for(n=0;n=0&&n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e=o.CODE_G_START&&(t.code=t.code-o.CODE_G_START,i|=1<<5-r),e.push(t.code),n.push(t)}return o._determineParity(i,e)?t:null},r.prototype._determineParity=function(t,e){var n,r;for(r=0;r0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(90),i=n(128);t.exports=r},function(t,e,n){var r=n(117),o=r();t.exports=o},function(t,e,n){function r(t,e){e=o(e,t);for(var n=0,r=e.length;null!=t&&n1?n[o-1]:void 0,u=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,u&&i(n[0],n[1],u)&&(a=o<3?void 0:a,o=1),e=Object(e);++r-1}var o=n(12);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(12);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(84),i=n(10),a=n(33);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(14);t.exports=r},function(t,e,n){function r(t){var e=o(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}var o=n(161),i=500;t.exports=r},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(38),o="object"==typeof e&&e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o,u=a&&r.process,c=function(){try{return u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=c}).call(e,n(29)(t))},function(t,e){function n(t){return o.call(t)}var r=Object.prototype,o=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t){var e=0,n=0;return function(){var a=i(),u=o-(a-n);if(n=a,u>0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(){this.__data__=new o,this.size=0}var o=n(10);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length=0;e--){var n=Math.floor(Math.random()*e),r=t[e];t[e]=t[n],t[n]=r}return t},toPointList:function(t){var e=t.reduce((function(t,e){var n="[".concat(e.join(","),"]");return t.push(n),t}),[]);return"[".concat(e.join(",\r\n"),"]")},threshold:function(t,e,n){return t.reduce((function(r,o){return n.apply(t,[o])>=e&&r.push(o),r}),[])},maxIndex:function(t){for(var e=0,n=0;nt[e]&&(e=n);return e},max:function(t){for(var e=0,n=0;ne&&(e=t[n]);return e},sum:function(t){for(var e=t.length,n=0;e--;)n+=t[e];return n}}},function(t,e,n){"use strict";n.d(e,"h",(function(){return l})),n.d(e,"i",(function(){return d})),n.d(e,"b",(function(){return p})),n.d(e,"j",(function(){return v})),n.d(e,"e",(function(){return y})),n.d(e,"c",(function(){return g})),n.d(e,"f",(function(){return x})),n.d(e,"g",(function(){return _})),n.d(e,"a",(function(){return b})),n.d(e,"d",(function(){return O}));var r=n(7),o=n(84),i={clone:r.clone,dot:r.dot},a=function(t,e){var n=[],r={rad:0,vec:i.clone([0,0])},o={};function a(t){o[t.id]=t,n.push(t)}function u(){var t,e=0;for(t=0;te},getPoints:function(){return n},getCenter:function(){return r}}},u=function(t,e,n){return{rad:t[n],point:t,id:e}},c=n(8),s={clone:r.clone},f={clone:o.clone};function l(t,e){return{x:t,y:e,toVec2:function(){return s.clone([this.x,this.y])},toVec3:function(){return f.clone([this.x,this.y,1])},round:function(){return this.x=this.x>0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function h(t,e){e||(e=8);for(var n=t.data,r=n.length,o=8-e,i=new Int32Array(1<>o]++;return i}function d(t,e){var n=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=8-n;function o(t,n){for(var r=0,o=t;o<=n;o++)r+=e[o];return r}function i(t,n){for(var r=0,o=t;o<=n;o++)r+=o*e[o];return r}function a(){var r,a,u,s,f=[0],l=(1<c)for((i=s[u]).score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;a1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=t[0],r=t[1],o=t[2],i=o*r,a=i*(1-Math.abs(n/60%2-1)),u=o-i,c=0,s=0,f=0;return n<60?(c=i,s=a):n<120?(c=a,s=i):n<180?(s=i,f=a):n<240?(s=a,f=i):n<300?(c=a,f=i):n<360&&(c=i,f=a),e[0]=255*(c+u)|0,e[1]=255*(s+u)|0,e[2]=255*(f+u)|0,e}function m(t){for(var e=[],n=[],r=1;re[r]?r++:n++;return o}(r,o),u=[8,10,15,20,32,60,80],c={"x-small":5,small:4,medium:3,large:2,"x-large":1},s=c[t]||c.medium,f=u[s],l=Math.floor(i/f);function h(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-l)>Math.abs(t[e-1]-l)?t[e-1]:t[e]),l/nu[s-1]/u[s]?{x:n,y:n}:null}return(n=h(a))||(n=h(m(i)))||(n=h(m(l*f))),n}var w={top:function(t,e){return"%"===t.unit?Math.floor(e.height*(t.value/100)):null},right:function(t,e){return"%"===t.unit?Math.floor(e.width-e.width*(t.value/100)):null},bottom:function(t,e){return"%"===t.unit?Math.floor(e.height-e.height*(t.value/100)):null},left:function(t,e){return"%"===t.unit?Math.floor(e.width*(t.value/100)):null}};function O(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce((function(t,e){var o=function(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}(n[e]),i=w[e](o,r);return t[e]=i,t}),{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}},function(t,e,n){"use strict";var r=n(83),o=n.n(r),i=n(3),a=n.n(i),u=n(4),c=n.n(u),s=n(0),f=n.n(s),l=n(7),h=n(9),d=n(8),p={clone:l.clone};function v(t){if(t<0)throw new Error("expected positive number, received ".concat(t))}var y=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,o=arguments.length>3?arguments[3]:void 0;a()(this,t),f()(this,"data",void 0),f()(this,"size",void 0),f()(this,"indexMapping",void 0),n?this.data=n:(this.data=new r(e.x*e.y),o&&d.a.init(this.data,0)),this.size=e}return c()(t,[{key:"inImageWithBorder",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return v(e),t.x>=0&&t.y>=0&&t.x0&&((a=v[r-1]).m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+g,a.theta=(180*f/g+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=f>g?f-g:f,a.vec=p.clone([Math.cos(f),Math.sin(f)]),y.push(a));return y}},{key:"getAsRGBA",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=new Uint8ClampedArray(4*this.size.x*this.size.y),n=0;n1&&void 0!==arguments[1]?arguments[1]:1,n=t.getContext("2d");if(!n)throw new Error("Unable to get canvas context");var r=n.getImageData(0,0,t.width,t.height),o=this.getAsRGBA(e);t.width=this.size.x,t.height=this.size.y;var i=new ImageData(o,r.width,r.height);n.putImageData(i,0,0)}},{key:"overlay",value:function(t,e,n){var r=e<0||e>360?360:e,i=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=t.getContext("2d");if(!s)throw new Error("Unable to get canvas context");for(var f=s.getImageData(n.x,n.y,this.size.x,this.size.y),l=f.data,d=this.data.length;d--;){i[0]=this.data[d]*r;var p=4*d,v=i[0]<=0?u:i[0]>=360?c:Object(h.g)(i,a),y=o()(v,3);l[p]=y[0],l[p+1]=y[1],l[p+2]=y[2],l[p+3]=255}s.putImageData(f,n.x,n.y)}}]),t}();e.a=y},function(t,e,n){t.exports=n(228)},function(t,e,n){var r=n(227);function o(e,n,i){return"undefined"!=typeof Reflect&&Reflect.get?(t.exports=o=Reflect.get,t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=o=function(t,e,n){var o=r(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(n):i.value}},t.exports.default=t.exports,t.exports.__esModule=!0),o(e,n,i||e)}t.exports=o,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth||1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;oh&&(h=i.box[o][0]),i.box[o][1]d&&(d=i.box[o][1]);for(u=[[s,f],[h,f],[h,d],[s,d]],c=r.halfSample?2:1,a=y.invert(a,a),o=0;o<4;o++)v.transformMat2(u[o],u[o],a);for(o=0;o<4;o++)v.scale(u[o],u[o],c);return u}function E(t,e){l.subImageAsCopy(a,Object(x.h)(t,e)),p.skeletonize()}function M(t,e,n,r){var o,i,u,c,s=[],f=[],l=Math.ceil(h.x/3);if(t.length>=2){for(o=0;ol&&s.push(t[o]);if(s.length>=2){for(u=function(t){var e=Object(x.b)(t,.9),n=Object(x.j)(e,1,(function(t){return t.getPoints().length})),r=[],o=[];if(1===n.length){r=n[0].item.getPoints();for(var i=0;i1&&u.length>=s.length/4*3&&u.length>t.length/4&&(i/=u.length,c={index:e[1]*R.x+e[0],pos:{x:n,y:r},box:[v.clone([n,r]),v.clone([n+a.size.x,r]),v.clone([n+a.size.x,r+a.size.y]),v.clone([n,r+a.size.y])],moments:u,rad:i,vec:v.clone([Math.cos(i),Math.sin(i)])},f.push(c))}}return f}e.a={init:function(e,n){r=n,d=e,function(){o=r.halfSample?new g.a({x:d.size.x/2|0,y:d.size.y/2|0}):d,h=Object(x.a)(r.patchSize,o.size),R.x=o.size.x/h.x|0,R.y=o.size.y/h.y|0,l=new g.a(o.size,void 0,Uint8Array,!1),u=new g.a(h,void 0,Array,!0);var e=new ArrayBuffer(65536);a=new g.a(h,new Uint8Array(e,0,h.x*h.y)),i=new g.a(h,new Uint8Array(e,h.x*h.y*3,h.x*h.y),void 0,!0),p=Object(w.a)("undefined"!=typeof window?window:"undefined"!=typeof self?self:t,{size:h.x},e),f=new g.a({x:o.size.x/a.size.x|0,y:o.size.y/a.size.y|0},void 0,Array,!0),c=new g.a(f.size,void 0,void 0,!0),s=new g.a(f.size,void 0,Int32Array,!0)}(),r.useWorker||"undefined"==typeof document||(O.dom.binary=document.createElement("canvas"),O.dom.binary.className="binaryBuffer",O.ctx.binary=O.dom.binary.getContext("2d"),O.dom.binary.width=l.size.x,O.dom.binary.height=l.size.y)},locate:function(){r.halfSample&&Object(x.f)(d,o),Object(x.i)(o,l),l.zeroBorder();var t=function(){var t,e,n,r,o,c,s=[];for(t=0;t.95&&a(i):s.data[i]=Number.MAX_VALUE}for(_.a.init(c.data,0),_.a.init(s.data,0),_.a.init(f.data,null),e=0;e0&&r[s.data[n]-1]++;return(r=r.map((function(t,e){return{val:t,label:e+1}}))).sort((function(t,e){return e.val-t.val})),r.filter((function(t){return t.val>=5}))}(e);return 0===n.length?null:function(t,e){var n,r,o,i,a=[],u=[];for(n=0;n-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},t.exports.default=t.exports,t.exports.__esModule=!0,n(e,r)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){var r=n(22),o=n(18);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},function(t,e,n){var r=n(42);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},function(t,e,n){var r=n(35)(n(17),"Map");t.exports=r},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(46))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(109),o=n(116),i=n(118),a=n(119),u=n(120);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},function(t,e){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}},function(t,e){t.exports=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}},function(t,e){t.exports=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return n*n+r*r+o*o}},function(t,e){t.exports=function(t){var e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}},function(t,e){t.exports=function(t){var e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}},function(t,e,n){var r=n(153),o=n(154),i=n(60),a=n(155);t.exports=function(t,e){return r(t)||o(t,e)||i(t,e)||a()},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){t.exports={EPSILON:n(71),create:n(72),clone:n(191),angle:n(192),fromValues:n(73),copy:n(193),set:n(194),equals:n(195),exactEquals:n(196),add:n(197),subtract:n(76),sub:n(198),multiply:n(77),mul:n(199),divide:n(78),div:n(200),min:n(201),max:n(202),floor:n(203),ceil:n(204),round:n(205),scale:n(206),scaleAndAdd:n(207),distance:n(79),dist:n(208),squaredDistance:n(80),sqrDist:n(209),length:n(81),len:n(210),squaredLength:n(82),sqrLen:n(211),negate:n(212),inverse:n(213),normalize:n(74),dot:n(75),cross:n(214),lerp:n(215),random:n(216),transformMat4:n(217),transformMat3:n(218),transformQuat:n(219),rotateX:n(220),rotateY:n(221),rotateZ:n(222),forEach:n(223)}},function(t,e,n){var r=n(229),o=n(243)((function(t,e){return null==t?{}:r(t,e)}));t.exports=o},function(t,e,n){var r=n(2),o=n(41),i=n(248),a=n(249);function u(e){var n="function"==typeof Map?new Map:void 0;return t.exports=u=function(t){if(null===t||!i(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return a(t,arguments,r(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),o(e,t)},t.exports.default=t.exports,t.exports.__esModule=!0,u(e)}t.exports=u,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){"use strict";var r=n(21),o={createContour2D:function(){return{dir:null,index:null,firstVertex:null,insideContours:null,nextpeer:null,prevpeer:null}},CONTOUR_DIR:{CW_DIR:0,CCW_DIR:1,UNKNOWN_DIR:2},DIR:{OUTSIDE_EDGE:-32767,INSIDE_EDGE:-32766},create:function(t,e){var n=t.data,i=e.data,a=t.size.x,u=t.size.y,c=r.a.create(t,e);return{rasterize:function(t){var e,r,s,f,l,h,d,p,v,y,g,x,_=[],m=0;for(x=0;x<400;x++)_[x]=0;for(_[0]=n[0],v=null,h=1;h0){a=a-1|0;r[n+a|0]=(r[t+a|0]|0)-(r[e+a|0]|0)|0}}function c(t,e,n){t|=0;e|=0;n|=0;var a=0;a=i(o,o)|0;while((a|0)>0){a=a-1|0;r[n+a|0]=r[t+a|0]|0|(r[e+a|0]|0)|0}}function s(t){t|=0;var e=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;e=(e|0)+(r[t+n|0]|0)|0}return e|0}function f(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[t+n|0]=e}}function l(t,e){t|=0;e|=0;var n=0;var i=0;var a=0;var u=0;var c=0;var s=0;var f=0;var l=0;for(n=1;(n|0)<(o-1|0);n=n+1|0){l=l+o|0;for(i=1;(i|0)<(o-1|0);i=i+1|0){u=l-o|0;c=l+o|0;s=i-1|0;f=i+1|0;a=(r[t+u+s|0]|0)+(r[t+u+f|0]|0)+(r[t+l+i|0]|0)+(r[t+c+s|0]|0)+(r[t+c+f|0]|0)|0;if((a|0)>(0|0)){r[e+l+i|0]=1}else{r[e+l+i|0]=0}}}}function h(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[e+n|0]=r[t+n|0]|0}}function d(t){t|=0;var e=0;var n=0;for(e=0;(e|0)<(o-1|0);e=e+1|0){r[t+e|0]=0;r[t+n|0]=0;n=n+o-1|0;r[t+n|0]=0;n=n+1|0}for(e=0;(e|0)<(o|0);e=e+1|0){r[t+n|0]=0;n=n+1|0}}function p(){var t=0;var e=0;var n=0;var r=0;var p=0;var v=0;e=i(o,o)|0;n=e+e|0;r=n+e|0;f(r,0);d(t);do{a(t,e);l(e,n);u(t,n,n);c(r,n,r);h(e,t);p=s(t)|0;v=(p|0)==0|0}while(!v)}return{skeletonize:p}}},function(t,e,n){t.exports=n(263)},function(t,e,n){var r=n(91),o=n(48),i=n(121),a=n(123),u=n(13),c=n(56),s=n(54);t.exports=function t(e,n,f,l,h){e!==n&&i(n,(function(i,c){if(h||(h=new r),u(i))a(e,n,c,f,t,l,h);else{var d=l?l(s(e,c),i,c+"",e,n,h):void 0;void 0===d&&(d=i),o(e,c,d)}}),c)}},function(t,e,n){var r=n(24),o=n(97),i=n(98),a=n(99),u=n(100),c=n(101);function s(t){var e=this.__data__=new r(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=u,s.prototype.set=c,t.exports=s},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(25),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(25);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(25);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(25);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var r=n(24);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(24),o=n(44),i=n(47);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(36),o=n(105),i=n(13),a=n(107),u=/^\[object .+?Constructor\]$/,c=Function.prototype,s=Object.prototype,f=c.toString,l=s.hasOwnProperty,h=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?h:u).test(a(t))}},function(t,e,n){var r=n(27),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,u),n=t[u];try{t[u]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[u]=n:delete t[u]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,o=n(106),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},function(t,e,n){var r=n(17)["__core-js_shared__"];t.exports=r},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(110),o=n(24),i=n(44);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(t,e,n){var r=n(111),o=n(112),i=n(113),a=n(114),u=n(115);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=i<3?void 0:a,i=1),e=Object(e);++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(26),o=n(39),i=n(31),a=n(13);t.exports=function(t,e,n){if(!a(n))return!1;var u=typeof e;return!!("number"==u?o(n)&&i(e,n.length):"string"==u&&e in n)&&r(n[e],t)}},function(t,e){"undefined"!=typeof window&&(window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)})),"function"!=typeof Math.imul&&(Math.imul=function(t,e){var n=65535&t,r=65535&e;return n*r+((t>>>16&65535)*r+n*(e>>>16&65535)<<16>>>0)|0}),"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n0&&(o=1/Math.sqrt(o),t[0]=e[0]*o,t[1]=e[1]*o);return t}},function(t,e){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]}},function(t,e){t.exports=function(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t}},function(t,e){t.exports=function(t,e,n,r){var o=e[0],i=e[1];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t}},function(t,e){t.exports=function(t,e){e=e||1;var n=2*Math.random()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o,t[1]=n[1]*r+n[3]*o,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o+n[4],t[1]=n[1]*r+n[3]*o+n[5],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[3]*o+n[6],t[1]=n[1]*r+n[4]*o+n[7],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[4]*o+n[12],t[1]=n[1]*r+n[5]*o+n[13],t}},function(t,e,n){t.exports=function(t,e,n,o,i,a){var u,c;e||(e=2);n||(n=0);c=o?Math.min(o*e+n,t.length):t.length;for(u=n;un*n){var o=Math.sqrt(r);t[0]=e[0]/o*n,t[1]=e[1]/o*n}else t[0]=e[0],t[1]=e[1];return t}},function(t,e){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},function(t,e,n){t.exports=function(t,e){var n=r(t[0],t[1],t[2]),a=r(e[0],e[1],e[2]);o(n,n),o(a,a);var u=i(n,a);return u>1?0:Math.acos(u)};var r=n(73),o=n(74),i=n(75)},function(t,e){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},function(t,e){t.exports=function(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}},function(t,e,n){t.exports=function(t,e){var n=t[0],o=t[1],i=t[2],a=e[0],u=e[1],c=e[2];return Math.abs(n-a)<=r*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(o-u)<=r*Math.max(1,Math.abs(o),Math.abs(u))&&Math.abs(i-c)<=r*Math.max(1,Math.abs(i),Math.abs(c))};var r=n(71)},function(t,e){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}},function(t,e,n){t.exports=n(76)},function(t,e,n){t.exports=n(77)},function(t,e,n){t.exports=n(78)},function(t,e){t.exports=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}},function(t,e){t.exports=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}},function(t,e){t.exports=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t}},function(t,e,n){t.exports=n(79)},function(t,e,n){t.exports=n(80)},function(t,e,n){t.exports=n(81)},function(t,e,n){t.exports=n(82)},function(t,e){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},function(t,e){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[0],u=n[1],c=n[2];return t[0]=o*c-i*u,t[1]=i*a-r*c,t[2]=r*u-o*a,t}},function(t,e){t.exports=function(t,e,n,r){var o=e[0],i=e[1],a=e[2];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t[2]=a+r*(n[2]-a),t}},function(t,e){t.exports=function(t,e){e=e||1;var n=2*Math.random()*Math.PI,r=2*Math.random()-1,o=Math.sqrt(1-r*r)*e;return t[0]=Math.cos(n)*o,t[1]=Math.sin(n)*o,t[2]=r*e,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[3]*r+n[7]*o+n[11]*i+n[15];return a=a||1,t[0]=(n[0]*r+n[4]*o+n[8]*i+n[12])/a,t[1]=(n[1]*r+n[5]*o+n[9]*i+n[13])/a,t[2]=(n[2]*r+n[6]*o+n[10]*i+n[14])/a,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2];return t[0]=r*n[0]+o*n[3]+i*n[6],t[1]=r*n[1]+o*n[4]+i*n[7],t[2]=r*n[2]+o*n[5]+i*n[8],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[0],u=n[1],c=n[2],s=n[3],f=s*r+u*i-c*o,l=s*o+c*r-a*i,h=s*i+a*o-u*r,d=-a*r-u*o-c*i;return t[0]=f*s+d*-a+l*-c-h*-u,t[1]=l*s+d*-u+h*-a-f*-c,t[2]=h*s+d*-c+f*-u-l*-a,t}},function(t,e){t.exports=function(t,e,n,r){var o=n[1],i=n[2],a=e[1]-o,u=e[2]-i,c=Math.sin(r),s=Math.cos(r);return t[0]=e[0],t[1]=o+a*s-u*c,t[2]=i+a*c+u*s,t}},function(t,e){t.exports=function(t,e,n,r){var o=n[0],i=n[2],a=e[0]-o,u=e[2]-i,c=Math.sin(r),s=Math.cos(r);return t[0]=o+u*c+a*s,t[1]=e[1],t[2]=i+u*s-a*c,t}},function(t,e){t.exports=function(t,e,n,r){var o=n[0],i=n[1],a=e[0]-o,u=e[1]-i,c=Math.sin(r),s=Math.cos(r);return t[0]=o+a*s-u*c,t[1]=i+a*c+u*s,t[2]=e[2],t}},function(t,e,n){t.exports=function(t,e,n,o,i,a){var u,c;e||(e=3);n||(n=0);c=o?Math.min(o*e+n,t.length):t.length;for(u=n;u=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),b(n),s}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;b(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),s}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){var r=n(230),o=n(240);t.exports=function(t,e){return r(t,e,(function(e,n){return o(t,n)}))}},function(t,e,n){var r=n(231),o=n(239),i=n(32);t.exports=function(t,e,n){for(var a=-1,u=e.length,c={};++a0&&i(f)?n>1?t(f,n-1,i,a,u):r(u,f):a||(u[u.length]=f)}return u}},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++nMath.abs(f-c),d=[],p=t.data,v=t.size.x,y=255,g=0;function x(t,e){u=p[e*v+t],y=ug?u:g,d.push(u)}h&&(i=c,c=s,s=i,i=f,f=l,l=i),c>f&&(i=c,c=f,f=i,i=s,s=l,l=i);var _=f-c,m=Math.abs(l-s);r=_/2|0,o=s;var b=sl?f.UP:f.DOWN,h.push({pos:0,val:s[0]}),i=0;id&&s[i+1]>.5*l?f.UP:r)&&(h.push({pos:i,val:s[i]}),r=o);for(h.push({pos:s.length,val:s[s.length-1]}),a=h[0].pos;al?0:1;for(i=1;ih[i].val?h[i].val+(h[i+1].val-h[i].val)/3*2|0:h[i+1].val+(h[i].val-h[i+1].val)/3|0,a=h[i].pos;ad?0:1;return{line:s,threshold:d}},s.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n1&&void 0!==arguments[1]?arguments[1]:0,n=e;nn)return Number.MAX_VALUE;o+=i}return o/u}},{key:"_nextSet",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e;n1&&(t[n[r]]=o)}},{key:"decodePattern",value:function(t){this._row=t;var e=this.decode();return null===e?(this._row.reverse(),(e=this.decode())&&(e.direction=l.Reverse,e.start=this._row.length-e.start,e.end=this._row.length-e.end)):e.direction=l.Forward,e&&(e.format=this.FORMAT),e}},{key:"_matchRange",value:function(t,e,n){var r;for(r=t=t<0?0:t;r0&&void 0!==arguments[0]?arguments[0]:this._nextUnset(this._row),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._row.length,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[],o=0;r[o]=0;for(var i=t;ithis.AVG_CODE_ERROR?null:(this.CODE_PATTERN[n.code]&&(n.correction.bar=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.bar),n.correction.space=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.space)),n)}r[++a]=1,i=!i}return null}},{key:"_correct",value:function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)}},{key:"_findStart",value:function(){for(var t=[0,0,0,0,0,0],e=this._nextSet(this._row),n={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}},r=!1,o=0,i=e;i.48?null:o}n[++a]=1,i=!i}return null}},{key:"_findStart",value:function(){for(var t=this._nextSet(this._row),e=null;!e;){if(!(e=this._findPattern(I,t,!1,!0)))return null;var n=e.start-(e.end-e.start);if(n>=0&&this._matchRange(n,e.start,0))return e;t=e.end,e=null}return null}},{key:"_calculateFirstDigit",value:function(t){for(var e=0;e=10?(r.code-=10,o|=1<<5-i):o|=0<<5-i,e.push(r.code),n.push(r)}var a=this._calculateFirstDigit(o);if(null===a)return null;e.unshift(a);var u=this._findPattern(z,r.end,!0,!1);if(null===u||!u.end)return null;n.push(u);for(var c=0;c<6;c++){if(!(u=this._decodeCode(u.end,10)))return null;n.push(u),e.push(u.code)}return u}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start);return e=0;n-=2)e+=t[n];e*=3;for(var r=t.length-1;r>=0;r-=2)e+=t[r];return e%10==0}},{key:"_decodeExtensions",value:function(t){var e=this._nextSet(this._row,t),n=this._findPattern(U,e,!1,!1);if(null===n)return null;for(var r=0;r0){var u=this._decodeExtensions(a.end);if(!u)return null;if(!u.decodedCodes)return null;var c=u.decodedCodes[u.decodedCodes.length-1],s={start:c.start+((c.end-c.start)/2|0),end:c.end};if(!this._verifyTrailingWhitespace(s))return null;o={supplement:u,code:n.join("")+u.code}}return T(T({code:n.join(""),start:i.start,end:a.end,startInfo:i,decodedCodes:r},o),{},{format:this.FORMAT})}}]),n}(A),W=n(33),F=n.n(W);function V(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var q=new Uint16Array(F()("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%").map((function(t){return t.charCodeAt(0)}))),G=new Uint16Array([52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]),H=function(t){b()(n,t);var e=V(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i3;){n=this._findNextWidth(t,n),r=0;for(var i=0,a=0;an&&(i|=1<0;u++)if(t[u]>n&&(r--,2*t[u]>=o))return-1;return i}}return-1}},{key:"_findNextWidth",value:function(t,e){for(var n=Number.MAX_VALUE,r=0;re&&(n=t[r]);return n}},{key:"_patternToChar",value:function(t){for(var e=0;e=r}},{key:"decode",value:function(t,e){var n=new Uint16Array([0,0,0,0,0,0,0,0,0]),r=[];if(!(e=this._findStart()))return null;var o,i,a=this._nextSet(this._row,e.end);do{n=this._toCounters(a,n);var u=this._toPattern(n);if(u<0)return null;if(null===(o=this._patternToChar(u)))return null;r.push(o),i=a,a+=S.a.sum(n),a=this._nextSet(this._row,a)}while("*"!==o);return r.pop(),r.length&&this._verifyTrailingWhitespace(i,a,n)?{code:r.join(""),start:e.start,end:a,startInfo:e,decodedCodes:r,format:this.FORMAT}:null}}]),n}(A),X=n(12),Q=n.n(X);function Y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var $=/[IOQ]/g,Z=/[A-Z0-9]{17}/,K=function(t){b()(n,t);var e=Y(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;ir&&(r=o),othis._counters.length)return-1;for(var n=this._computeAlternatingThreshold(t,e),r=this._computeAlternatingThreshold(t+1,e),o=64,i=0,a=0,u=0;u<7;u++)i=0==(1&u)?n:r,this._counters[t+u]>i&&(a|=o),o>>=1;return a}},{key:"_isStartEnd",value:function(t){for(var e=0;e=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)}},{key:"_charToPattern",value:function(t){for(var e=t.charCodeAt(0),n=0;n=0;a--){var u=2==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow;c.size+=this._counters[o+a],c.counts++,n>>=1}o+=8}return["space","bar"].forEach((function(t){var e=r[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((2*e.wide.size+1.5)/e.wide.counts)})),r}},{key:"_validateResult",value:function(t,e){for(var n,r=this._thresholdResultPattern(t,e),o=e,i=0;i=0;a--){var u=0==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow,s=this._counters[o+a];if(sc.max)return!1;n>>=1}o+=8}return!0}},{key:"decode",value:function(t,e){if(this._counters=this._fillCounters(),!(e=this._findStart()))return null;var n,r=e.startCounter,o=[];do{if((n=this._toPattern(r))<0)return null;var i=this._patternToChar(n);if(null===i)return null;if(o.push(i),r+=8,o.length>1&&this._isStartEnd(n))break}while(rthis._counters.length?this._counters.length:r;var a=e.start+this._sumCounters(e.startCounter,r-8);return{code:o.join(""),start:e.start,end:a,startInfo:e,decodedCodes:o,format:this.FORMAT}}}]),n}(A);function ot(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var it=function(t){b()(n,t);var e=ot(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<1-c),1!==c&&(r=this._nextSet(this._row,u.end),r=this._nextUnset(this._row,r))}if(2!==i.length||parseInt(i.join(""))%4!==n)return null;var s=this._findStart();return{code:i.join(""),decodedCodes:a,end:u.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(B);function ft(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var lt=[24,20,18,17,12,6,3,10,9,5];var ht=function(t){b()(n,t);var e=ft(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<4-c),4!==c&&(r=this._nextSet(this._row,i.end),r=this._nextUnset(this._row,r))}if(5!==a.length)return null;if(function(t){for(var e=t.length,n=0,r=e-2;r>=0;r-=2)n+=t[r];n*=3;for(var o=e-1;o>=0;o-=2)n+=t[o];return(n*=3)%10}(a)!==function(t){for(var e=0;e<10;e++)if(t===lt[e])return e;return null}(n))return null;var s=this._findStart();return{code:a.join(""),decodedCodes:u,end:i.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(B);function dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function pt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var vt=function(t){b()(n,t);var e=pt(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(r.code=r.code-10,o|=1<<5-i),e.push(r.code),n.push(r)}return this._determineParity(o,e)?r:null}},{key:"_determineParity",value:function(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=new Array(t.length).fill(0),i=0,a={error:Number.MAX_VALUE,start:0,end:0},u=this.AVG_CODE_ERROR;n=n||!1,r=r||!1,e||(e=this._nextSet(this._row));for(var c=e;c=0&&this._matchRange(t,n.start,0))return n;e=n.end,n=null}return null}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],i=0,a={error:Number.MAX_VALUE,code:-1,start:0,end:0},u=0,c=0,s=this.AVG_CODE_ERROR;e||(e=this._nextSet(this._row));for(var f=0;f=0&&this._matchRange(r,t.start,0))return t;e=t.end,t=null}return t}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e4)return-1;if(0==(1&o))for(var a=0;a="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32);break;default:return console.warn("* code_93_reader _decodeExtended hit default case, this may be an error",u),null}n.push(u)}else n.push(o)}return n}},{key:"_matchCheckChar",value:function(t,e,n){var r=t.slice(0,e),o=r.length,i=r.reduce((function(t,e,r){return t+((-1*r+(o-1))%n+1)*Ct.indexOf(e.charCodeAt(0))}),0);return Ct[i%47]===t[e].charCodeAt(0)}},{key:"_verifyChecksums",value:function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)}},{key:"decode",value:function(t,e){if(!(e=this._findStart()))return null;var n,r,o=new Uint16Array([0,0,0,0,0,0]),i=[],a=this._nextSet(this._row,e.end);do{o=this._toCounters(a,o);var u=this._toPattern(o);if(u<0)return null;if(null===(r=this._patternToChar(u)))return null;i.push(r),n=a,a+=S.a.sum(o),a=this._nextSet(this._row,a)}while("*"!==r);return i.pop(),i.length&&this._verifyEnd(n,a)&&this._verifyChecksums(i)?(i=i.slice(0,i.length-2),null===(i=this._decodeExtended(i))?null:{code:i.join(""),start:e.start,end:a,startInfo:e,decodedCodes:i,format:this.FORMAT}):null}}]),n}(A);function St(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var At=/[AEIO]/g,kt=function(t){b()(n,t);var e=St(n);function n(){var t;v()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i1&&(!e.inImageWithBorder(t[0])||!e.inImageWithBorder(t[1]));)o(-(r-=Math.ceil(r/2)));return t}(r,u,Math.floor(.1*i)))?null:(null===(o=a(r))&&(o=function(t,e,n){var r,o,i,u=Math.sqrt(Math.pow(t[1][0]-t[0][0],2)+Math.pow(t[1][1]-t[0][1],2)),c=null,s=Math.sin(n),f=Math.cos(n);for(r=1;r<16&&null===c;r++)i={y:(o=u/16*r*(r%2==0?-1:1))*s,x:o*f},e[0].y+=i.x,e[0].x-=i.y,e[1].y+=i.x,e[1].x-=i.y,c=a(e);return c}(t,r,u)),null===o?null:{codeResult:o.codeResult,line:r,angle:u,pattern:o.barcodeLine.line,threshold:o.barcodeLine.threshold})}return o(),{decodeFromBoundingBox:function(t){return u(t)},decodeFromBoundingBoxes:function(e){var n,r,o=[],i=t.multiple;for(n=0;n2&&void 0!==arguments[2]&&arguments[2];r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){if(n){var o=e(n);o.subscribers=o&&r?o.subscribers.filter((function(t){return t.callback!==r})):[]}else t={}}}}(),jt=n(20),It=n.n(jt),zt=n(11),Ut=n.n(zt),Lt=n(85),Nt=n.n(Lt),Bt=n(86);function Wt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var Ft,Vt=function(t){b()(n,t);var e=Wt(n);function n(t,r){var o;return v()(this,n),o=e.call(this,t),M()(_()(o),"code",void 0),o.code=r,Object.setPrototypeOf(_()(o),n.prototype),o}return n}(n.n(Bt)()(Error)),qt="This may mean that the user has declined camera access, or the browser does not support media APIs. If you are running in iOS, you must use Safari.";function Gt(){try{return navigator.mediaDevices.enumerateDevices()}catch(e){var t=new Vt("enumerateDevices is not defined. ".concat(qt),-1);return Promise.reject(t)}}function Ht(t){try{return navigator.mediaDevices.getUserMedia(t)}catch(t){var e=new Vt("getUserMedia is not defined. ".concat(qt),-1);return Promise.reject(e)}}function Xt(t){return new Promise((function(e,n){var r=10;!function o(){r>0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(o,500):n(new Vt("Unable to play video stream. Is webcam working?",-1)),r--}()}))}function Qt(t,e){return Yt.apply(this,arguments)}function Yt(){return(Yt=It()(Ut.a.mark((function t(e,n){var r;return Ut.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Ht(n);case 2:if(r=t.sent,Ft=r,!e){t.next=11;break}return e.setAttribute("autoplay","true"),e.setAttribute("muted","true"),e.setAttribute("playsinline","true"),e.srcObject=r,e.addEventListener("loadedmetadata",(function(){e.play()})),t.abrupt("return",Xt(e));case 11:return t.abrupt("return",Promise.resolve());case 12:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function $t(t){var e=Nt()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function Zt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=$t(t);return e&&e.deviceId&&e.facingMode&&delete e.facingMode,Promise.resolve({audio:!1,video:e})}function Kt(){return(Kt=It()(Ut.a.mark((function t(){var e;return Ut.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Gt();case 2:return e=t.sent,t.abrupt("return",e.filter((function(t){return"videoinput"===t.kind})));case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Jt(){if(!Ft)return null;var t=Ft.getVideoTracks();return t&&null!=t&&t.length?t[0]:null}var te={requestedVideoElement:null,request:function(t,e){return It()(Ut.a.mark((function n(){var r;return Ut.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return te.requestedVideoElement=t,n.next=3,Zt(e);case 3:return r=n.sent,n.abrupt("return",Qt(t,r));case 5:case"end":return n.stop()}}),n)})))()},release:function(){var t=Ft&&Ft.getVideoTracks();return null!==te.requestedVideoElement&&te.requestedVideoElement.pause(),new Promise((function(e){setTimeout((function(){t&&t.length&&t[0].stop(),Ft=null,te.requestedVideoElement=null,e()}),0)}))},enumerateVideoDevices:function(){return Kt.apply(this,arguments)},getActiveStreamLabel:function(){var t=Jt();return t?t.label:""},getActiveTrack:Jt},ee=te;var ne={create:function(t){var e,n=document.createElement("canvas"),r=n.getContext("2d"),o=[],i=null!==(e=t.capacity)&&void 0!==e?e:20,a=!0===t.capture;function u(e){return!!i&&e&&!function(t,e){return e&&e.some((function(e){return Object.keys(e).every((function(n){return e[n]===t[n]}))}))}(e,t.blacklist)&&function(t,e){return"function"!=typeof e||e(t)}(e,t.filter)}return{addResult:function(t,e,c){var s={};u(c)&&(i--,s.codeResult=c,a&&(n.width=e.x,n.height=e.y,d.a.drawImage(t,e,r),s.frame=n.toDataURL()),o.push(s))},getResults:function(){return o}}}},re={inputStream:{name:"Live",type:"LiveStream",constraints:{width:640,height:480,facingMode:"environment"},area:{top:"0%",right:"0%",left:"0%",bottom:"0%"},singleChannel:!1},locate:!0,numOfWorkers:4,decoder:{readers:["code_128_reader"]},locator:{halfSample:!0,patchSize:"medium"}},oe=n(7),ie=function t(){v()(this,t),M()(this,"config",void 0),M()(this,"inputStream",void 0),M()(this,"framegrabber",void 0),M()(this,"inputImageWrapper",void 0),M()(this,"stopped",!1),M()(this,"boxSize",void 0),M()(this,"resultCollector",void 0),M()(this,"decoder",void 0),M()(this,"workerPool",[]),M()(this,"onUIThread",!0),M()(this,"canvasContainer",new ue)},ae=function t(){v()(this,t),M()(this,"image",void 0),M()(this,"overlay",void 0)},ue=function t(){v()(this,t),M()(this,"ctx",void 0),M()(this,"dom",void 0),this.ctx=new ae,this.dom=new ae},ce=n(23);function se(t){if("undefined"==typeof document)return null;if(t instanceof HTMLElement&&t.nodeName&&1===t.nodeType)return t;var e="string"==typeof t?t:"#interactive.viewport";return document.querySelector(e)}function fe(t,e){var n=function(t,e){var n=document.querySelector(t);return n||((n=document.createElement("canvas")).className=e),n}(t,e),r=n.getContext("2d");return{canvas:n,context:r}}function le(t){var e,n,r,o,i=se(null==t||null===(e=t.config)||void 0===e||null===(n=e.inputStream)||void 0===n?void 0:n.target),a=null==t||null===(r=t.config)||void 0===r||null===(o=r.inputStream)||void 0===o?void 0:o.type;if(!a)return null;var u=function(t){if("undefined"!=typeof document){var e=fe("canvas.imgBuffer","imgBuffer"),n=fe("canvas.drawingBuffer","drawingBuffer");return e.canvas.width=n.canvas.width=t.x,e.canvas.height=n.canvas.height=t.y,{dom:{image:e.canvas,overlay:n.canvas},ctx:{image:e.context,overlay:n.context}}}return null}(t.inputStream.getCanvasSize());if(!u)return{dom:{image:null,overlay:null},ctx:{image:null,overlay:null}};var c=u.dom;return"undefined"!=typeof document&&i&&("ImageStream"!==a||i.contains(c.image)||i.appendChild(c.image),i.contains(c.overlay)||i.appendChild(c.overlay)),u}var he={274:"orientation"},de=Object.keys(he).map((function(t){return he[t]}));function pe(t){return new Promise((function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)}))}function ve(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()}))}function ye(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de,n=new DataView(t),r=t.byteLength,o=e.reduce((function(t,e){var n=Object.keys(he).filter((function(t){return he[t]===e}))[0];return n&&(t[n]=e),t}),{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1&&void 0!==arguments[1]?arguments[1]:de;return/^blob:/i.test(t)?ve(t).then(pe).then((function(t){return ye(t,e)})):Promise.resolve(null)}(t,["orientation"]).then((function(t){s[0].tags=t,e(s)})).catch((function(t){console.log(t),e(s)})):e(s))},i=0;i0&&n.forEach((function(n){t.removeEventListener(e,n)}))}))},trigger:function(o,a){var s,f,l,h,d,p=i[o];if("canrecord"===o&&(h=t.videoWidth,d=t.videoHeight,e=null!==(f=r)&&void 0!==f&&f.size?h/d>1?r.size:Math.floor(h/d*r.size):h,n=null!==(l=r)&&void 0!==l&&l.size?h/d>1?Math.floor(d/h*r.size):r.size:d,u.x=e,u.y=n),p&&p.length>0)for(s=0;s0)for(n=0;n1?n.size:Math.floor(r/o*n.size):r,e=null!==(f=n)&&void 0!==f&&f.size?r/o>1?Math.floor(o/r*n.size):n.size:o,v.x=t,v.y=e,u=!0,i=0,setTimeout((function(){y("canrecord",[])}),0)}),1,s,null===(l=n)||void 0===l?void 0:l.sequence)},ended:function(){return l},setAttribute:function(){},getConfig:function(){return n},pause:function(){a=!0},play:function(){a=!1},setCurrentTime:function(t){i=t},addEventListener:function(t,e){-1!==h.indexOf(t)&&(d[t]||(d[t]=[]),d[t].push(e))},clearEventHandlers:function(){Object.keys(d).forEach((function(t){return delete d[t]}))},setTopRight:function(t){p.x=t.x,p.y=t.y},getTopRight:function(){return p},setCanvasSize:function(t){v.x=t.x,v.y=t.y},getCanvasSize:function(){return v},getFrame:function(){var t,e;if(!u)return null;a||(t=null===(e=c)||void 0===e?void 0:e[i],i=t&&r&&r()};if(e)for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:"LiveStream",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;switch(t){case"VideoStream":var r=document.createElement("video");return{video:r,inputStream:n.createVideoStream(r)};case"ImageStream":return{inputStream:n.createImageStream()};case"LiveStream":var o=null;return e&&((o=e.querySelector("video"))||(o=document.createElement("video"),e.appendChild(o))),{video:o,inputStream:n.createLiveStream(o)};default:return console.error("* setupInputStream invalid type ".concat(t)),{video:null,inputStream:null}}}(n,this.getViewPort(),Oe),i=o.video,a=o.inputStream;"LiveStream"===n&&i&&ee.request(i,r).then((function(){return a.trigger("canrecord")})).catch((function(e){return t(e)})),a.setAttribute("preload","auto"),a.setInputStream(this.context.config.inputStream),a.addEventListener("canrecord",this.canRecord.bind(void 0,t)),this.context.inputStream=a}}},{key:"getBoundingBoxes",value:function(){var t;return null!==(t=this.context.config)&&void 0!==t&&t.locate?ce.a.locate():[[Object(oe.clone)(this.context.boxSize[0]),Object(oe.clone)(this.context.boxSize[1]),Object(oe.clone)(this.context.boxSize[2]),Object(oe.clone)(this.context.boxSize[3])]]}},{key:"transformResult",value:function(t){var e=this,n=this.context.inputStream.getTopRight(),r=n.x,o=n.y;if((0!==r||0!==o)&&(t.barcodes&&t.barcodes.forEach((function(t){return e.transformResult(t)})),t.line&&2===t.line.length&&function(t,e,n){t[0].x+=e,t[0].y+=n,t[1].x+=e,t[1].y+=n}(t.line,r,o),t.box&&Ie(t.box,r,o),t.boxes&&t.boxes.length>0))for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0,n=t;t&&this.context.onUIThread&&(this.transformResult(t),this.addResult(t,e),n=t.barcodes||t),Tt.publish("processed",n),this.hasCodeResult(t)&&Tt.publish("detected",n)}},{key:"locateAndDecode",value:function(){var t=this.getBoundingBoxes();if(t){var e,n=this.context.decoder.decodeFromBoundingBoxes(t)||{};n.boxes=t,this.publishResult(n,null===(e=this.context.inputImageWrapper)||void 0===e?void 0:e.data)}else{var r,o=this.context.decoder.decodeFromImage(this.context.inputImageWrapper);if(o)this.publishResult(o,null===(r=this.context.inputImageWrapper)||void 0===r?void 0:r.data);else this.publishResult()}}},{key:"startContinuousUpdate",value:function(){var t,e=this,n=null,r=1e3/((null===(t=this.context.config)||void 0===t?void 0:t.frequency)||60);this.context.stopped=!1;var o=this.context;!function t(i){n=n||i,o.stopped||(i>=n&&(n+=r,e.update()),window.requestAnimationFrame(t))}(performance.now())}},{key:"start",value:function(){var t,e;this.context.onUIThread&&"LiveStream"===(null===(t=this.context.config)||void 0===t||null===(e=t.inputStream)||void 0===e?void 0:e.type)?this.startContinuousUpdate():this.update()}},{key:"stop",value:(e=It()(Ut.a.mark((function t(){var e;return Ut.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.context.stopped=!0,je(0),null===(e=this.context.config)||void 0===e||!e.inputStream||"LiveStream"!==this.context.config.inputStream.type){t.next=6;break}return t.next=5,ee.release();case 5:this.context.inputStream.clearEventHandlers();case 6:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"setReaders",value:function(t){this.context.decoder&&this.context.decoder.setReaders(t),function(t){ke.forEach((function(e){return e.worker.postMessage({cmd:"setReaders",readers:t})}))}(t)}},{key:"registerReader",value:function(t,e){Dt.registerReader(t,e),this.context.decoder&&this.context.decoder.registerReader(t,e),function(t,e){ke.forEach((function(n){return n.worker.postMessage({cmd:"registerReader",name:t,reader:e})}))}(t,e)}}]),t}(),Ue=new ze,Le=Ue.context,Ne={init:function(t,e,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ue;return e||(r=new Promise((function(t,n){e=function(e){e?n(e):t()}}))),o.context.config=u()({},re,t),o.context.config.numOfWorkers>0&&(o.context.config.numOfWorkers=0),n?(o.context.onUIThread=!1,o.initializeData(n),e&&e()):o.initInputStream(e),r},start:function(){return Ue.start()},stop:function(){return Ue.stop()},pause:function(){Le.stopped=!0},onDetected:function(t){t&&("function"==typeof t||"object"===i()(t)&&t.callback)?Tt.subscribe("detected",t):console.trace("* warning: Quagga.onDetected called with invalid callback, ignoring")},offDetected:function(t){Tt.unsubscribe("detected",t)},onProcessed:function(t){t&&("function"==typeof t||"object"===i()(t)&&t.callback)?Tt.subscribe("processed",t):console.trace("* warning: Quagga.onProcessed called with invalid callback, ignoring")},offProcessed:function(t){Tt.unsubscribe("processed",t)},setReaders:function(t){t?Ue.setReaders(t):console.trace("* warning: Quagga.setReaders called with no readers, ignoring")},registerReader:function(t,e){t?e?Ue.registerReader(t,e):console.trace("* warning: Quagga.registerReader called with no reader, ignoring"):console.trace("* warning: Quagga.registerReader called with no name, ignoring")},registerResultCollector:function(t){t&&"function"==typeof t.addResult&&(Le.resultCollector=t)},get canvas(){return Le.canvasContainer},decodeSingle:function(t,e){var n=this,r=new ze;return(t=u()({inputStream:{type:"ImageStream",sequence:!1,size:800,src:t.src},numOfWorkers:1,locator:{halfSample:!1}},t)).numOfWorkers>0&&(t.numOfWorkers=0),t.numOfWorkers>0&&("undefined"==typeof Blob||"undefined"==typeof Worker)&&(console.warn("* no Worker and/or Blob support - forcing numOfWorkers to 0"),t.numOfWorkers=0),new Promise((function(o,i){try{n.init(t,(function(){Tt.once("processed",(function(t){r.stop(),e&&e.call(null,t),o(t)}),!0),r.start()}),null,r)}catch(t){i(t)}}))},get default(){return Ne},Readers:r,CameraAccess:ee,ImageDebug:d.a,ImageWrapper:c.a,ResultCollector:ne};e.default=Ne}]).default})); \ No newline at end of file From 6d1d62cf2f388040fd618cacdcf30a79059a18b5 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 11:50:25 -0800 Subject: [PATCH 016/458] View for starting to edit a book with existing data --- bookwyrm/views/books/edit_book.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bookwyrm/views/books/edit_book.py b/bookwyrm/views/books/edit_book.py index 755c25b4c..0b81acf8f 100644 --- a/bookwyrm/views/books/edit_book.py +++ b/bookwyrm/views/books/edit_book.py @@ -9,6 +9,7 @@ from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.datastructures import MultiValueDictKeyError from django.utils.decorators import method_decorator +from django.views.decorators.http import require_POST from django.views import View from bookwyrm import book_search, forms, models @@ -145,6 +146,15 @@ class EditBook(View): return redirect(f"/book/{book.id}") +@require_POST +@permission_required("bookwyrm.edit_book", raise_exception=True) +def create_book_from_data(request): + """create a book with starter data""" + data = {"form": forms.EditionForm(request.POST)} + return TemplateResponse(request, "book/edit/edit_book.html", data) + + + @method_decorator(login_required, name="dispatch") @method_decorator( permission_required("bookwyrm.edit_book", raise_exception=True), name="dispatch" From 5eb113af6b30c71324cafea895bcf1dd5ab7eac0 Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Fri, 25 Feb 2022 22:03:49 +0100 Subject: [PATCH 017/458] Create merge migration --- bookwyrm/migrations/0142_merge_20220225_2103.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 bookwyrm/migrations/0142_merge_20220225_2103.py diff --git a/bookwyrm/migrations/0142_merge_20220225_2103.py b/bookwyrm/migrations/0142_merge_20220225_2103.py new file mode 100644 index 000000000..8053d8f93 --- /dev/null +++ b/bookwyrm/migrations/0142_merge_20220225_2103.py @@ -0,0 +1,14 @@ +# Generated by Django 3.2.12 on 2022-02-25 21:03 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0134_alter_stopped_reading'), + ('bookwyrm', '0141_alter_report_status'), + ] + + operations = [ + ] From 8deee2220e05a0a5fc238780a879cca2b90ceb49 Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Fri, 25 Feb 2022 22:38:58 +0100 Subject: [PATCH 018/458] Fix stopped reading status model in non-javascript environment --- bookwyrm/migrations/0142_merge_20220225_2103.py | 7 +++---- bookwyrm/templates/reading_progress/stop.html | 14 ++++++++++++++ .../reading_modals/stop_reading_modal.html | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 bookwyrm/templates/reading_progress/stop.html diff --git a/bookwyrm/migrations/0142_merge_20220225_2103.py b/bookwyrm/migrations/0142_merge_20220225_2103.py index 8053d8f93..62f8dcfee 100644 --- a/bookwyrm/migrations/0142_merge_20220225_2103.py +++ b/bookwyrm/migrations/0142_merge_20220225_2103.py @@ -6,9 +6,8 @@ from django.db import migrations class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0134_alter_stopped_reading'), - ('bookwyrm', '0141_alter_report_status'), + ("bookwyrm", "0134_alter_stopped_reading"), + ("bookwyrm", "0141_alter_report_status"), ] - operations = [ - ] + operations = [] diff --git a/bookwyrm/templates/reading_progress/stop.html b/bookwyrm/templates/reading_progress/stop.html new file mode 100644 index 000000000..5811c09b6 --- /dev/null +++ b/bookwyrm/templates/reading_progress/stop.html @@ -0,0 +1,14 @@ +{% extends 'layout.html' %} +{% load i18n %} + +{% block title %} +{% blocktrans trimmed with book_title=book.title %} +Stop Reading "{{ book_title }}" +{% endblocktrans %} +{% endblock %} + +{% block content %} + +{% include "snippets/reading_modals/stop_reading_modal.html" with book=book active=True static=True %} + +{% endblock %} diff --git a/bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html b/bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html index 93a36da54..80fb2d5b3 100644 --- a/bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html +++ b/bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html @@ -31,7 +31,7 @@ Stop Reading "{{ book_title }}" - + From 1d99e455e83caac8804ff0a809d0002816b982b7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 16:40:21 -0800 Subject: [PATCH 019/458] Adds link to add edition to editions page --- .../templates/book/editions/editions.html | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/book/editions/editions.html b/bookwyrm/templates/book/editions/editions.html index a3ff08022..5d674d47d 100644 --- a/bookwyrm/templates/book/editions/editions.html +++ b/bookwyrm/templates/book/editions/editions.html @@ -46,7 +46,25 @@ {% endfor %} -
+
{% include 'snippets/pagination.html' with page=editions path=request.path %}
+ +
+

+ {% trans "Can't find the edition you're looking for?" %} +

+ +
+ {% csrf_token %} + {{ work_form }} + +
+ +
+
+
+ {% endblock %} From c67f92af465fc12473bc9becbe3a4520c2efd346 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 16:40:34 -0800 Subject: [PATCH 020/458] Add editions view --- bookwyrm/forms.py | 27 ++- bookwyrm/templates/book/edit/edit_book.html | 16 +- .../templates/book/edit/edit_book_form.html | 5 + bookwyrm/urls.py | 3 +- bookwyrm/views/__init__.py | 2 +- bookwyrm/views/books/edit_book.py | 217 ++++++++++++------ bookwyrm/views/books/editions.py | 3 +- 7 files changed, 196 insertions(+), 77 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 7ae4e446f..9e6941569 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -264,17 +264,40 @@ class FileLinkForm(CustomForm): ) +class EditionFromWorkForm(CustomForm): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + # make all fields hidden + for visible in self.visible_fields(): + visible.field.widget = forms.HiddenInput() + + class Meta: + model = models.Work + fields = [ + "title", + "subtitle", + "authors", + "description", + "languages", + "series", + "series_number", + "subjects", + "subject_places", + "cover", + "first_published_date", + ] + class EditionForm(CustomForm): class Meta: model = models.Edition exclude = [ + "authors", + "parent_work", "remote_id", "origin_id", "created_date", "updated_date", "edition_rank", - "authors", - "parent_work", "shelves", "connector", "search_vector", diff --git a/bookwyrm/templates/book/edit/edit_book.html b/bookwyrm/templates/book/edit/edit_book.html index 3d41058e3..79ed1cc0d 100644 --- a/bookwyrm/templates/book/edit/edit_book.html +++ b/bookwyrm/templates/book/edit/edit_book.html @@ -3,18 +3,24 @@ {% load humanize %} {% load utilities %} -{% block title %}{% if book %}{% blocktrans with book_title=book.title %}Edit "{{ book_title }}"{% endblocktrans %}{% else %}{% trans "Add Book" %}{% endif %}{% endblock %} +{% block title %} + {% if book.title %} + {% blocktrans with book_title=book.title %}Edit "{{ book_title }}"{% endblocktrans %} + {% else %} + {% trans "Add Book" %} + {% endif %} +{% endblock %} {% block content %}

- {% if book %} + {% if book.title %} {% blocktrans with book_title=book.title %}Edit "{{ book_title }}"{% endblocktrans %} {% else %} {% trans "Add Book" %} {% endif %}

- {% if book %} + {% if book.created_date %}
{% trans "Added:" %}
{{ book.created_date | naturaltime }}
@@ -33,7 +39,7 @@
- {% if book %} + {% if book.id %} {% trans "Cancel" %} {% else %} diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html index fd2516a66..e2d7121ff 100644 --- a/bookwyrm/templates/book/edit/edit_book_form.html +++ b/bookwyrm/templates/book/edit/edit_book_form.html @@ -9,6 +9,8 @@ {% csrf_token %} + +
@@ -123,8 +125,11 @@
{% if book.authors.exists %} + {# preserve authors if the book is unsaved #} + {{ form.authors.as_hidden }}
{% for author in book.authors.all %} + {{ form.authors.as_hidden }}
+ +
+
+ {% csrf_token %} + +
+
+ {% csrf_token %} + +

{% trans "Last run date will not be updated" %}

+
+
+ {% else %}
{% csrf_token %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 5abe7ac2e..b458084e0 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -226,6 +226,11 @@ urlpatterns = [ views.schedule_automod_task, name="settings-automod-schedule", ), + re_path( + r"^settings/automod/unschedule/(?P\d+)/?$", + views.unschedule_automod_task, + name="settings-automod-unschedule", + ), re_path( r"^settings/automod/run/?$", views.run_automod, name="settings-automod-run" ), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index aa4d72999..f93928152 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -2,7 +2,8 @@ # site admin from .admin.announcements import Announcements, Announcement from .admin.announcements import EditAnnouncement, delete_announcement -from .admin.automod import AutoMod, automod_delete, run_automod, schedule_automod_task +from .admin.automod import AutoMod, automod_delete, run_automod +from .admin.automod import schedule_automod_task, unschedule_automod_task from .admin.dashboard import Dashboard from .admin.federation import Federation, FederatedServer from .admin.federation import AddFederatedServer, ImportServerBlocklist diff --git a/bookwyrm/views/admin/automod.py b/bookwyrm/views/admin/automod.py index fbe6408c6..f8c3e8e67 100644 --- a/bookwyrm/views/admin/automod.py +++ b/bookwyrm/views/admin/automod.py @@ -64,14 +64,23 @@ def schedule_automod_task(request): return redirect("settings-automod") +@require_POST +@permission_required("bookwyrm.moderate_user", raise_exception=True) +@permission_required("bookwyrm.moderate_post", raise_exception=True) +# pylint: disable=unused-argument +def unschedule_automod_task(request, task_id): + """unscheduler""" + get_object_or_404(PeriodicTask, id=task_id).delete() + return redirect("settings-automod") + + @require_POST @permission_required("bookwyrm.moderate_user", raise_exception=True) @permission_required("bookwyrm.moderate_post", raise_exception=True) # pylint: disable=unused-argument def automod_delete(request, rule_id): """Remove a rule""" - rule = get_object_or_404(models.AutoMod, id=rule_id) - rule.delete() + get_object_or_404(models.AutoMod, id=rule_id).delete() return redirect("settings-automod") From 6b5bebdf781e067e97683507639343d35e6ade45 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 10:44:50 -0800 Subject: [PATCH 029/458] Cleans up scheduler form --- bookwyrm/forms.py | 5 ++++ .../templates/settings/automod/rules.html | 28 +++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 00e6d5d8c..561a86d00 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -563,3 +563,8 @@ class IntervalScheduleForm(CustomForm): class Meta: model = IntervalSchedule fields = ["every", "period"] + + widgets = { + "every": forms.NumberInput(attrs={"aria-describedby": "desc_every"}), + "period": forms.Select(attrs={"aria-describedby": "desc_period"}), + } diff --git a/bookwyrm/templates/settings/automod/rules.html b/bookwyrm/templates/settings/automod/rules.html index 0a1b1c3f9..ef0a49beb 100644 --- a/bookwyrm/templates/settings/automod/rules.html +++ b/bookwyrm/templates/settings/automod/rules.html @@ -18,8 +18,10 @@ {% trans "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." %} {% trans "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." %}

+
+
{% if task %} -
+
{% trans "Schedule:" %}
@@ -51,7 +53,7 @@
-
+
{% csrf_token %} @@ -64,9 +66,29 @@
{% else %} +

{% trans "Schedule scan" %}

{% csrf_token %} - {{ task_form.as_p }} +
+ + {{ task_form.every }} +

+ {{ task_form.every.help_text }} +

+
+
+ +
+ {{ task_form.period }} +
+

+ {{ task_form.period.help_text }} +

+
{% endif %} From e15193e1000193a64742b91c02688b78c2eaec58 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 12:43:27 -0800 Subject: [PATCH 030/458] Adds themes --- .../migrations/0142_auto_20220226_2024.py | 73 +++++++++++++++++++ bookwyrm/models/site.py | 27 +++++++ .../{themes/dark.scss => bookwyrm-dark.scss} | 0 .../light.scss => bookwyrm-light.scss} | 4 +- bookwyrm/static/css/bookwyrm.scss | 1 - bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/settings/site.html | 43 +++++++---- 7 files changed, 133 insertions(+), 17 deletions(-) create mode 100644 bookwyrm/migrations/0142_auto_20220226_2024.py rename bookwyrm/static/css/{themes/dark.scss => bookwyrm-dark.scss} (100%) rename bookwyrm/static/css/{themes/light.scss => bookwyrm-light.scss} (93%) diff --git a/bookwyrm/migrations/0142_auto_20220226_2024.py b/bookwyrm/migrations/0142_auto_20220226_2024.py new file mode 100644 index 000000000..662cd9bdc --- /dev/null +++ b/bookwyrm/migrations/0142_auto_20220226_2024.py @@ -0,0 +1,73 @@ +# Generated by Django 3.2.12 on 2022-02-26 20:24 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +def add_default_themes(apps, schema_editor): + """add light and dark themes""" + db_alias = schema_editor.connection.alias + theme_model = apps.get_model("bookwyrm", "Theme") + theme_model.objects.using(db_alias).bulk_create( + [ + theme_model.objects.using(db_alias)( + name="BookWyrm Light", + path="bookwyrm-light.scss", + ), + theme_model.objects.using(db_alias)( + name="BookWyrm Dark", + path="bookwyrm-dark.scss", + ), + ] + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0141_alter_report_status"), + ] + + operations = [ + migrations.CreateModel( + name="Theme", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("created_date", models.DateTimeField(auto_now_add=True)), + ("name", models.CharField(max_length=10, unique=True)), + ( + "theme_file", + models.FileField( + upload_to="css/", + validators=[ + django.core.validators.FileExtensionValidator( + ["scss", "sass"] + ) + ], + ), + ), + ], + ), + migrations.AddField( + model_name="sitesettings", + name="default_theme", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="bookwyrm.theme", + ), + ), + migrations.RunPython( + add_default_themes, reversed_code=migrations.RunPython.noop + ), + ] diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index a40d295bc..602a3f59f 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -3,6 +3,7 @@ import datetime from urllib.parse import urljoin import uuid +from django.core.validators import FileExtensionValidator from django.db import models, IntegrityError from django.dispatch import receiver from django.utils import timezone @@ -24,6 +25,9 @@ class SiteSettings(models.Model): ) instance_description = models.TextField(default="This instance has no description.") instance_short_description = models.CharField(max_length=255, blank=True, null=True) + default_theme = models.ForeignKey( + "Theme", null=True, blank=True, on_delete=models.SET_NULL + ) # admin setup options install_mode = models.BooleanField(default=False) @@ -104,6 +108,29 @@ class SiteSettings(models.Model): super().save(*args, **kwargs) +class Theme(models.Model): + """Theme files""" + + created_date = models.DateTimeField(auto_now_add=True) + name = models.CharField(max_length=10, unique=True) + theme_file = models.FileField( + upload_to="css/", + validators=[FileExtensionValidator(["scss", "sass"])], + null=True, + ) + path = models.CharField(max_length=50, blank=True, null=True) + + @classmethod + def get_theme(cls, user): + """get the theme given the user/site""" + if user and user.theme: + return user.theme.path + site = SiteSettings.objects.get() + if site.theme: + return site.theme.path + return "light.scss" + + class SiteInvite(models.Model): """gives someone access to create an account on the instance""" diff --git a/bookwyrm/static/css/themes/dark.scss b/bookwyrm/static/css/bookwyrm-dark.scss similarity index 100% rename from bookwyrm/static/css/themes/dark.scss rename to bookwyrm/static/css/bookwyrm-dark.scss diff --git a/bookwyrm/static/css/themes/light.scss b/bookwyrm/static/css/bookwyrm-light.scss similarity index 93% rename from bookwyrm/static/css/themes/light.scss rename to bookwyrm/static/css/bookwyrm-light.scss index 339fc2c36..6b7b5b349 100644 --- a/bookwyrm/static/css/themes/light.scss +++ b/bookwyrm/static/css/bookwyrm-light.scss @@ -1,4 +1,4 @@ -@import "../vendor/bulma/sass/utilities/derived-variables.sass"; +@import "vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -51,3 +51,5 @@ $menu-item-active-background-color: $link-background; ******************************************************************************/ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; + +@import "bookwyrm.scss"; diff --git a/bookwyrm/static/css/bookwyrm.scss b/bookwyrm/static/css/bookwyrm.scss index 6b5e7e6b5..ee25b7287 100644 --- a/bookwyrm/static/css/bookwyrm.scss +++ b/bookwyrm/static/css/bookwyrm.scss @@ -1,7 +1,6 @@ @charset "utf-8"; @import "instance-settings"; -@import "themes/light.scss"; @import "vendor/bulma/bulma.sass"; @import "vendor/icons.css"; @import "bookwyrm/all.scss"; diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 0e8740724..a31499966 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -8,7 +8,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} - + diff --git a/bookwyrm/templates/settings/site.html b/bookwyrm/templates/settings/site.html index 2ecd988ea..0afbd64f6 100644 --- a/bookwyrm/templates/settings/site.html +++ b/bookwyrm/templates/settings/site.html @@ -8,7 +8,7 @@ {% block site-subtabs %}
@@ -68,20 +68,35 @@ -
-

{% trans "Images" %}

-
-
- - {{ site_form.logo }} +
+

{% trans "Display" %}

+
+

{% trans "Images" %}

+
+
+ + {{ site_form.logo }} +
+
+ + {{ site_form.logo_small }} +
+
+ + {{ site_form.favicon }} +
-
- - {{ site_form.logo_small }} -
-
- - {{ site_form.favicon }} + +

{% trans "Themes" %}

+
+ +
+ {{ site_form.default_theme }} +
+ +
From 43269429acdec88d1c369a142543d124ef060427 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 13:38:45 -0800 Subject: [PATCH 031/458] Use selected theme --- ...226_2024.py => 0142_auto_20220226_2047.py} | 36 +++++++++++-------- bookwyrm/models/__init__.py | 2 +- bookwyrm/models/site.py | 16 ++++----- bookwyrm/models/user.py | 14 ++++++++ bookwyrm/static/css/bookwyrm-dark.scss | 4 ++- bookwyrm/templates/layout.html | 4 ++- 6 files changed, 50 insertions(+), 26 deletions(-) rename bookwyrm/migrations/{0142_auto_20220226_2024.py => 0142_auto_20220226_2047.py} (67%) diff --git a/bookwyrm/migrations/0142_auto_20220226_2024.py b/bookwyrm/migrations/0142_auto_20220226_2047.py similarity index 67% rename from bookwyrm/migrations/0142_auto_20220226_2024.py rename to bookwyrm/migrations/0142_auto_20220226_2047.py index 662cd9bdc..928d556c7 100644 --- a/bookwyrm/migrations/0142_auto_20220226_2024.py +++ b/bookwyrm/migrations/0142_auto_20220226_2047.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.12 on 2022-02-26 20:24 +# Generated by Django 3.2.12 on 2022-02-26 20:47 import django.core.validators from django.db import migrations, models @@ -9,17 +9,13 @@ def add_default_themes(apps, schema_editor): """add light and dark themes""" db_alias = schema_editor.connection.alias theme_model = apps.get_model("bookwyrm", "Theme") - theme_model.objects.using(db_alias).bulk_create( - [ - theme_model.objects.using(db_alias)( - name="BookWyrm Light", - path="bookwyrm-light.scss", - ), - theme_model.objects.using(db_alias)( - name="BookWyrm Dark", - path="bookwyrm-dark.scss", - ), - ] + theme_model.objects.using(db_alias).create( + name="BookWyrm Light", + path="bookwyrm-light.scss", + ) + theme_model.objects.using(db_alias).create( + name="BookWyrm Dark", + path="bookwyrm-dark.scss", ) @@ -43,10 +39,11 @@ class Migration(migrations.Migration): ), ), ("created_date", models.DateTimeField(auto_now_add=True)), - ("name", models.CharField(max_length=10, unique=True)), + ("name", models.CharField(max_length=50, unique=True)), ( "theme_file", models.FileField( + null=True, upload_to="css/", validators=[ django.core.validators.FileExtensionValidator( @@ -55,6 +52,7 @@ class Migration(migrations.Migration): ], ), ), + ("path", models.CharField(blank=True, max_length=50, null=True)), ], ), migrations.AddField( @@ -67,7 +65,17 @@ class Migration(migrations.Migration): to="bookwyrm.theme", ), ), + migrations.AddField( + model_name="user", + name="theme", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="bookwyrm.theme", + ), + ), migrations.RunPython( - add_default_themes, reversed_code=migrations.RunPython.noop + add_default_themes, reverse_code=migrations.RunPython.noop ), ] diff --git a/bookwyrm/models/__init__.py b/bookwyrm/models/__init__.py index 440d18d95..a8a84f095 100644 --- a/bookwyrm/models/__init__.py +++ b/bookwyrm/models/__init__.py @@ -26,7 +26,7 @@ from .group import Group, GroupMember, GroupMemberInvitation from .import_job import ImportJob, ImportItem -from .site import SiteSettings, SiteInvite +from .site import SiteSettings, Theme, SiteInvite from .site import PasswordReset, InviteRequest from .announcement import Announcement from .antispam import EmailBlocklist, IPBlocklist, AutoMod, automod_task diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index 602a3f59f..30ebfe742 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -112,7 +112,7 @@ class Theme(models.Model): """Theme files""" created_date = models.DateTimeField(auto_now_add=True) - name = models.CharField(max_length=10, unique=True) + name = models.CharField(max_length=50, unique=True) theme_file = models.FileField( upload_to="css/", validators=[FileExtensionValidator(["scss", "sass"])], @@ -120,15 +120,13 @@ class Theme(models.Model): ) path = models.CharField(max_length=50, blank=True, null=True) - @classmethod - def get_theme(cls, user): + def __str__(self): + return self.name + + @property + def theme_path(self): """get the theme given the user/site""" - if user and user.theme: - return user.theme.path - site = SiteSettings.objects.get() - if site.theme: - return site.theme.path - return "light.scss" + return self.theme_file.path if self.theme_file else self.path class SiteInvite(models.Model): diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 6367dcaef..3d12e6044 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -136,6 +136,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): updated_date = models.DateTimeField(auto_now=True) last_active_date = models.DateTimeField(default=timezone.now) manually_approves_followers = fields.BooleanField(default=False) + theme = models.ForeignKey("Theme", null=True, blank=True, on_delete=models.SET_NULL) # options to turn features on and off show_goal = models.BooleanField(default=True) @@ -172,6 +173,19 @@ class User(OrderedCollectionPageMixin, AbstractUser): property_fields = [("following_link", "following")] field_tracker = FieldTracker(fields=["name", "avatar"]) + @property + def get_theme(self): + """get the theme given the user/site""" + if self.theme: + path = self.theme.theme_path + else: + site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) + site = site_model.objects.get() + if site.default_theme: + path = site.default_theme.theme_path + path = path or "light.scss" + return f"css/{path}" + @property def confirmation_link(self): """helper for generating confirmation links""" diff --git a/bookwyrm/static/css/bookwyrm-dark.scss b/bookwyrm/static/css/bookwyrm-dark.scss index 8df4ce500..957187ffd 100644 --- a/bookwyrm/static/css/bookwyrm-dark.scss +++ b/bookwyrm/static/css/bookwyrm-dark.scss @@ -1,4 +1,4 @@ -@import "../vendor/bulma/sass/utilities/derived-variables.sass"; +@import "vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -53,3 +53,5 @@ $menu-item-active-background-color: $link-background; ******************************************************************************/ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; + +@import "bookwyrm.scss"; diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index a31499966..444241e5b 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -8,7 +8,9 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} - + {% with theme_path=user.get_theme %} + + {% endwith %} From 340b306d2e6cc6e6fad36a51f15e4fe8bbe3e3e0 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 18:08:07 -0800 Subject: [PATCH 032/458] Fix path --- bookwyrm/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 54ccbe276..b059af6d2 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -272,7 +272,7 @@ - + {% block scripts %}{% endblock %} From fcc8b6aaabe7df427038d485b3b1a07cf94fd193 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 18:19:12 -0800 Subject: [PATCH 033/458] Move to sass --- bookwyrm/static/css/bookwyrm.css | 1319 ----------------- bookwyrm/static/css/bookwyrm/_all.scss | 1 + .../css/bookwyrm/components/_barcode.scss | 14 + 3 files changed, 15 insertions(+), 1319 deletions(-) delete mode 100644 bookwyrm/static/css/bookwyrm.css create mode 100644 bookwyrm/static/css/bookwyrm/components/_barcode.scss diff --git a/bookwyrm/static/css/bookwyrm.css b/bookwyrm/static/css/bookwyrm.css deleted file mode 100644 index f1faf30c1..000000000 --- a/bookwyrm/static/css/bookwyrm.css +++ /dev/null @@ -1,1319 +0,0 @@ -html { - scroll-behavior: smooth; -} - -body { - min-height: 100vh; - display: flex; - flex-direction: column; -} - -button { - border: none; - margin: 0; - padding: 0; - width: auto; - overflow: visible; - background: transparent; - - /* inherit font, color & alignment from ancestor */ - color: inherit; - font: inherit; - text-align: inherit; - - /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */ - line-height: normal; - - /* Corrects font smoothing for webkit */ - -webkit-font-smoothing: inherit; - -moz-osx-font-smoothing: inherit; - - /* Corrects inability to style clickable `input` types in iOS */ - -webkit-appearance: none; - - /* Generalizes pointer cursor */ - cursor: pointer; -} - -button::-moz-focus-inner { - /* Remove excess padding and border in Firefox 4+ */ - border: 0; - padding: 0; -} - -/* Better accessibility for keyboard users */ -*:focus-visible { - outline-style: auto !important; -} - -.image { - overflow: hidden; -} - -.navbar .logo { - max-height: 50px; -} - -.card { - overflow: visible; -} - -.card.has-border { - border: 1px solid #eee; -} - -.scroll-x { - overflow: hidden; - overflow-x: auto; -} - -.modal-card { - pointer-events: none; -} - -.modal-card > * { - pointer-events: all; -} - -/* stylelint-disable no-descending-specificity */ -.modal-card:focus { - outline-style: auto; -} - -.modal-card:focus:not(:focus-visible) { - outline-style: initial; -} - -.modal-card:focus-visible { - outline-style: auto; -} -/* stylelint-enable no-descending-specificity */ - -.modal-card.is-fullwidth { - min-width: 75% !important; -} - -@media only screen and (min-width: 769px) { - .modal-card.is-thin { - width: 350px !important; - } -} - -.modal-card-body { - max-height: 70vh; -} - -.clip-text { - max-height: 35em; - overflow: hidden; -} - -/** Utilities not covered by Bulma - ******************************************************************************/ - -@media only screen and (max-width: 768px) { - .is-sr-only-mobile { - border: none !important; - clip: rect(0, 0, 0, 0) !important; - height: 0.01em !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - white-space: nowrap !important; - width: 0.01em !important; - } - - .m-0-mobile { - margin: 0 !important; - } - - .card-footer.is-stacked-mobile { - flex-direction: column; - } - - .card-footer.is-stacked-mobile .card-footer-item:not(:last-child) { - border-bottom: 1px solid #ededed; - border-right: 0; - } - - .is-flex-direction-row-mobile { - flex-direction: row !important; - } - - .is-flex-direction-column-mobile { - flex-direction: column !important; - } -} - -.tag.is-small { - height: auto; -} - -.button.is-transparent { - background-color: transparent; -} - -.card.is-stretchable { - display: flex; - flex-direction: column; - height: 100%; -} - -.card.is-stretchable .card-content { - flex-grow: 1; -} - -.preserve-whitespace p { - white-space: pre-wrap !important; -} - -.display-inline p { - display: inline !important; -} - -button .button-invisible-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 1rem; - box-sizing: border-box; - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; - background: rgba(0, 0, 0, 66%); - color: white; - opacity: 0; - transition: opacity 0.2s ease; -} - -button:hover .button-invisible-overlay, -button:active .button-invisible-overlay, -button:focus-visible .button-invisible-overlay { - opacity: 1; -} - -/** File input styles - ******************************************************************************/ - -input[type="file"]::file-selector-button { - -moz-appearance: none; - -webkit-appearance: none; - background-color: #fff; - border-radius: 4px; - border: 1px solid #dbdbdb; - box-shadow: none; - color: #363636; - cursor: pointer; - font-size: 1rem; - height: 2.5em; - justify-content: center; - line-height: 1.5; - padding-bottom: calc(0.5em - 1px); - padding-left: 1em; - padding-right: 1em; - padding-top: calc(0.5em - 1px); - text-align: center; - white-space: nowrap; -} - -input[type="file"]::file-selector-button:hover { - border-color: #b5b5b5; - color: #363636; -} - -/** General `details` element styles - ******************************************************************************/ - -details summary { - cursor: pointer; -} - -summary::-webkit-details-marker { - display: none; -} - -details summary::marker { - content: none; -} - -details.detail-pinned-button summary { - position: absolute; - right: 0; -} - -details.detail-pinned-button form { - float: left; - width: 100%; - margin-top: 1em; -} - -/** Dropdown w/ Details element - ******************************************************************************/ - -details.dropdown[open] summary.dropdown-trigger::before { - content: ""; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; -} - -details.dropdown .dropdown-menu { - display: block !important; -} - -details.dropdown .dropdown-menu button { - /* Fix weird Safari defaults */ - box-sizing: border-box; -} - -details.dropdown .dropdown-menu button:focus-visible, -details.dropdown .dropdown-menu a:focus-visible { - outline-style: auto; - outline-offset: -2px; -} - -@media only screen and (max-width: 768px) { - details.dropdown[open] summary.dropdown-trigger::before { - background-color: rgba(0, 0, 0, 50%); - z-index: 30; - } - - details .dropdown-menu { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - display: flex !important; - align-items: center; - justify-content: center; - pointer-events: none; - z-index: 100; - } - - details .dropdown-menu > * { - pointer-events: all; - } -} - -/** Details panel - ******************************************************************************/ - -details.details-panel { - box-shadow: 0 0 0 1px rgba(0, 0, 0, 10%); - transition: box-shadow 0.2s ease; - padding: 0.75rem; -} - -details[open].details-panel, -details.details-panel:hover { - box-shadow: 0 0 0 1px rgba(0, 0, 0, 20%); -} - -details.details-panel summary { - position: relative; -} - -details.details-panel summary .details-close { - position: absolute; - right: 0; - top: 0; - transform: rotate(45deg); - transition: transform 0.2s ease; -} - -details[open].details-panel summary .details-close { - transform: rotate(0deg); -} - -@media only screen and (min-width: 769px) { - .details-panel .filters-field:not(:last-child) { - border-right: 1px solid rgba(0, 0, 0, 10%); - margin-top: 0.75rem; - margin-bottom: 0.75rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - } -} - -/** Shelving - ******************************************************************************/ - -/** @todo Replace icons with SVG symbols. - @see https://www.youtube.com/watch?v=9xXBYcWgCHA */ -.shelf-option:disabled > *::after { - font-family: icomoon; /* stylelint-disable font-family-no-missing-generic-family-keyword */ - content: "\e919"; /* icon-check */ - margin-left: 0.5em; -} - -/** Toggles - ******************************************************************************/ - -.toggle-button[aria-pressed="true"], -.toggle-button[aria-pressed="true"]:hover { - background-color: hsl(171deg, 100%, 41%); - color: white; -} - -.hide-active[aria-pressed="true"], -.hide-inactive[aria-pressed="false"] { - display: none; -} - -.transition-x.is-hidden, -.transition-y.is-hidden { - display: block !important; - visibility: hidden !important; - height: 0 !important; - width: 0 !important; - margin: 0 !important; - padding: 0 !important; - overflow: auto; -} - -.transition-x, -.transition-y { - transition-duration: 0.5s; - transition-timing-function: ease; -} - -.transition-x { - transition-property: width, margin-left, margin-right, padding-left, padding-right; -} - -.transition-y { - transition-property: height, margin-top, margin-bottom, padding-top, padding-bottom; -} - -@media (prefers-reduced-motion: reduce) { - .transition-x, - .transition-y { - transition-duration: 0.001ms !important; - } -} - -/** Stars - ******************************************************************************/ - -.stars { - white-space: nowrap; -} - -/** Stars in a review form - * - * Specificity makes hovering taking over checked inputs. - * - * \e9d9: filled star - * \e9d7: empty star; - * -------------------------------------------------------------------------- */ - -.form-rate-stars { - width: max-content; -} - -/* All stars are visually filled by default. */ -.form-rate-stars .icon::before { - content: "\e9d9"; /* icon-star-full */ -} - -/* Icons directly following half star inputs are marked as half */ -.form-rate-stars input.half:checked ~ .icon::before { - content: "\e9d8"; /* icon-star-half */ -} - -/* stylelint-disable no-descending-specificity */ -.form-rate-stars input.half:checked + input + .icon:hover::before { - content: "\e9d8" !important; /* icon-star-half */ -} - -/* Icons directly following half check inputs that follow the checked input are emptied. */ -.form-rate-stars input.half:checked + input + .icon ~ .icon::before { - content: "\e9d7"; /* icon-star-empty */ -} - -/* Icons directly following inputs that follow the checked input are emptied. */ -.form-rate-stars input:checked ~ input + .icon::before { - content: "\e9d7"; /* icon-star-empty */ -} - -/* When a label is hovered, repeat the fill-all-then-empty-following pattern. */ -.form-rate-stars:hover .icon.icon::before { - content: "\e9d9" !important; /* icon-star-full */ -} - -.form-rate-stars .icon:hover ~ .icon::before { - content: "\e9d7" !important; /* icon-star-empty */ -} - -/** Book covers - * - * - .is-cover gives the behaviour of the cover and its surrounding. (optional) - * - .cover-container gives the dimensions and position (for borders, image and other elements). - * - .book-cover is positioned and sized based on its container. - * - * To have the cover within specific dimensions, specify a width or height for - * standard bulma’s named breapoints: - * - * `is-(w|h)-(auto|xs|s|m|l|xl|xxl)[-(mobile|tablet|desktop)]` - * - * The cover will be centered horizontally and vertically within those dimensions. - * - * When using `.column.is-N`, add `.is-w-auto` to the container so that the flex - * calculations are not biased by the default `max-content`. - ******************************************************************************/ - -.column.is-cover { - flex-grow: 0 !important; -} - -.column.is-cover, -.column.is-cover + .column { - flex-basis: auto !important; -} - -.cover-container { - display: flex; - justify-content: center; - align-items: center; - position: relative; - width: max-content; - max-width: 100%; - overflow: hidden; -} - -/* Book cover - * -------------------------------------------------------------------------- */ - -.book-cover { - display: block; - max-width: 100%; - max-height: 100%; - - /* Useful when stretching under-sized images. */ - image-rendering: optimizequality; - image-rendering: smooth; -} - -/* Cover caption - * -------------------------------------------------------------------------- */ - -.no-cover .cover-caption { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 0.5em; - font-size: 0.75em; - color: white; - background-color: #002549; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - gap: 1em; - white-space: initial; - text-align: center; -} - -/** Avatars - ******************************************************************************/ - -.avatar { - vertical-align: middle; - display: inline; -} - -/** Statuses: Quotes - * - * \e906: icon-quote-open - * \e905: icon-quote-close - * - * The `content` class on the blockquote allows to apply styles to markdown - * generated HTML in the quote: https://bulma.io/documentation/elements/content/ - * - * ```html - *
- *
- * User generated quote in markdown… - *
- * - *

Book Title by Author

- *
- * ``` - ******************************************************************************/ - -.quote > blockquote { - position: relative; - padding-left: 2em; -} - -.quote > blockquote::before, -.quote > blockquote::after { - font-family: icomoon; - position: absolute; -} - -.quote > blockquote::before { - content: "\e907"; /* icon-quote-open */ - top: 0; - left: 0; -} - -.quote > blockquote::after { - content: "\e906"; /* icon-quote-close */ - right: 0; -} - -/** Animations and transitions - ******************************************************************************/ - -@keyframes turning { - from { transform: rotateZ(0deg); } - to { transform: rotateZ(360deg); } -} - -.is-processing .icon-spinner::before { - animation: turning 1.5s infinite linear; -} - -.icon-spinner { - display: none; -} - -.is-processing .icon-spinner { - display: flex; -} - -@media (prefers-reduced-motion: reduce) { - .is-processing .icon::before { - transition-duration: 0.001ms !important; - } -} - -/** Transient notification - ******************************************************************************/ - -#live-messages { - position: fixed; - bottom: 1em; - right: 1em; -} - -/** Tooltips - ******************************************************************************/ - -.tooltip { - width: 100%; -} - -/** States - ******************************************************************************/ - -/* "disabled" for non-buttons */ - -.is-disabled { - background-color: #dbdbdb; - border-color: #dbdbdb; - box-shadow: none; - color: #7a7a7a; - opacity: 0.5; - cursor: not-allowed; -} - -/* Book preview table - ******************************************************************************/ - -.book-preview td { - vertical-align: middle; -} - -@media only screen and (max-width: 768px) { - table.is-mobile, - table.is-mobile tbody { - display: block; - } - - table.is-mobile tr { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - border-top: 1px solid #dbdbdb; - } - - table.is-mobile td { - display: block; - box-sizing: border-box; - flex: 1 0 100%; - order: 2; - border-bottom: 0; - } - - table.is-mobile td.book-preview-top-row { - order: 1; - flex-basis: auto; - } - - table.is-mobile td[data-title]:not(:empty)::before { - content: attr(data-title); - display: block; - font-size: 0.75em; - font-weight: bold; - } - - table.is-mobile td:empty { - padding: 0; - } - - table.is-mobile th, - table.is-mobile thead { - display: none; - } -} - -/* Book list - ******************************************************************************/ - -ol.ordered-list { - list-style: none; - counter-reset: list-counter; -} - -ol.ordered-list li { - counter-increment: list-counter; -} - -ol.ordered-list li::before { - content: counter(list-counter); - position: absolute; - left: -20px; - width: 20px; - height: 24px; - background-color: #fff; - border: 1px solid #dbdbdb; - border-right: 0; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - display: flex; - justify-content: center; - align-items: center; - color: #888; - font-size: 0.8em; - font-weight: bold; -} - -@media only screen and (max-width: 768px) { - ol.ordered-list li::before { - left: 0; - z-index: 1; - border: 0; - border-right: 1px solid #dbdbdb; - border-bottom: 1px solid #dbdbdb; - border-radius: 0; - border-bottom-right-radius: 2px; - } -} - -.overflow-wrap-anywhere { - overflow-wrap: anywhere; - min-width: 10em; -} - -/* Threads - ******************************************************************************/ - -.thread .is-main .card { - box-shadow: 0 0.5em 1em -0.125em rgb(50 115 220 / 35%), 0 0 0 1px rgb(50 115 220 / 2%); -} - -.thread::after { - content: ""; - position: absolute; - z-index: -1; - top: 0; - bottom: 0; - left: 2.5em; - border-left: 2px solid #e0e0e0; -} - -/* Breadcrumbs - ******************************************************************************/ - -.breadcrumb li:first-child * { - padding-left: 0; -} - -.breadcrumb li > * { - align-items: center; - display: flex; - justify-content: center; - padding: 0 0.75em; -} - -/* Notifications page - ******************************************************************************/ - -.notification a.icon { - text-decoration: none !important; -} - -/* Breadcrumbs - ******************************************************************************/ - -.books-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 1rem; - align-items: end; - justify-items: stretch; -} - -.books-grid > .is-big { - grid-column: span 2; - grid-row: span 2; - justify-self: stretch; -} - -.books-grid .book-cover { - width: 100%; -} - -.books-grid .book-title { - --height-basis: 1.35rem; - - display: block; - margin-top: 0.5rem; - line-height: var(--height-basis); - min-height: calc(2 * var(--height-basis)); -} - -@media only screen and (min-width: 769px) { - .books-grid { - gap: 1.5rem; - grid-template-columns: repeat(auto-fill, minmax(8em, 1fr)); - } -} - -/* Copy - ******************************************************************************/ - -.horizontal-copy { - display: flex; - flex-direction: row; - align-items: center; - gap: 0.75rem; -} - -.horizontal-copy textarea { - min-width: initial; - white-space: nowrap; -} - -.horizontal-copy button { - align-self: stretch; - height: unset; -} - -.vertical-copy { - display: flex; - flex-direction: column; - align-items: stretch; - gap: 0.75rem; -} - -.vertical-copy button { - width: 100%; -} - -/* Dimensions - * @todo These could be in rem. - ******************************************************************************/ - -.is-32x32 { - min-width: 32px !important; - min-height: 32px !important; -} - -.is-96x96 { - min-width: 96px !important; - min-height: 96px !important; -} - -.is-w-auto { - width: auto !important; -} - -.is-w-xs { - width: 80px !important; -} - -.is-w-s { - width: 100px !important; -} - -.is-w-m { - width: 150px !important; -} - -.is-w-l { - width: 200px !important; -} - -.is-w-xl { - width: 250px !important; -} - -.is-w-xxl { - width: 500px !important; -} - -.is-h-xs { - height: 80px !important; -} - -.is-h-s { - height: 100px !important; -} - -.is-h-m { - height: 150px !important; -} - -.is-h-l { - height: 200px !important; -} - -.is-h-xl { - height: 250px !important; -} - -.is-h-xxl { - height: 500px !important; -} - -@media only screen and (max-width: 768px) { - .is-w-auto-mobile { - width: auto !important; - } - - .is-w-xs-mobile { - width: 80px !important; - } - - .is-w-s-mobile { - width: 100px !important; - } - - .is-w-m-mobile { - width: 150px !important; - } - - .is-w-l-mobile { - width: 200px !important; - } - - .is-w-xl-mobile { - width: 250px !important; - } - - .is-w-xxl-mobile { - width: 500px !important; - } - - .is-h-xs-mobile { - height: 80px !important; - } - - .is-h-s-mobile { - height: 100px !important; - } - - .is-h-m-mobile { - height: 150px !important; - } - - .is-h-l-mobile { - height: 200px !important; - } - - .is-h-xl-mobile { - height: 250px !important; - } - - .is-h-xxl-mobile { - height: 500px !important; - } -} - -@media only screen and (min-width: 769px) { - .is-w-auto-tablet { - width: auto !important; - } - - .is-w-xs-tablet { - width: 80px !important; - } - - .is-w-s-tablet { - width: 100px !important; - } - - .is-w-m-tablet { - width: 150px !important; - } - - .is-w-l-tablet { - width: 200px !important; - } - - .is-w-xl-tablet { - width: 250px !important; - } - - .is-w-xxl-tablet { - width: 500px !important; - } - - .is-h-xs-tablet { - height: 80px !important; - } - - .is-h-s-tablet { - height: 100px !important; - } - - .is-h-m-tablet { - height: 150px !important; - } - - .is-h-l-tablet { - height: 200px !important; - } - - .is-h-xl-tablet { - height: 250px !important; - } - - .is-h-xxl-tablet { - height: 500px !important; - } -} - -@media only screen and (min-width: 1024px) { - .is-w-auto-desktop { - width: auto !important; - } - - .is-w-xs-desktop { - width: 80px !important; - } - - .is-w-s-desktop { - width: 100px !important; - } - - .is-w-m-desktop { - width: 150px !important; - } - - .is-w-l-desktop { - width: 200px !important; - } - - .is-w-xl-desktop { - width: 250px !important; - } - - .is-w-xxl-desktop { - width: 500px !important; - } - - .is-h-xs-desktop { - height: 80px !important; - } - - .is-h-s-desktop { - height: 100px !important; - } - - .is-h-m-desktop { - height: 150px !important; - } - - .is-h-l-desktop { - height: 200px !important; - } - - .is-h-xl-desktop { - height: 250px !important; - } - - .is-h-xxl-desktop { - height: 500px !important; - } -} - -/* Alignments - * - * Use them with `.align.to-(c|t|r|b|l)[-(mobile|tablet)]` - ******************************************************************************/ - -/* Flex item position - * -------------------------------------------------------------------------- */ - -.align { - display: flex !important; - flex-direction: row !important; -} - -.align.to-c { - justify-content: center !important; -} - -.align.to-t { - align-items: flex-start !important; -} - -.align.to-r { - justify-content: flex-end !important; -} - -.align.to-b { - align-items: flex-end !important; -} - -.align.to-l { - justify-content: flex-start !important; -} - -@media screen and (max-width: 768px) { - .align.to-c-mobile { - justify-content: center !important; - } - - .align.to-t-mobile { - align-items: flex-start !important; - } - - .align.to-r-mobile { - justify-content: flex-end !important; - } - - .align.to-b-mobile { - align-items: flex-end !important; - } - - .align.to-l-mobile { - justify-content: flex-start !important; - } -} - -@media screen and (min-width: 769px) { - .align.to-c-tablet { - justify-content: center !important; - } - - .align.to-t-tablet { - align-items: flex-start !important; - } - - .align.to-r-tablet { - justify-content: flex-end !important; - } - - .align.to-b-tablet { - align-items: flex-end !important; - } - - .align.to-l-tablet { - justify-content: flex-start !important; - } -} - -/* Spacings - * - * Those are supplementary rules to Bulma’s. They follow the same conventions. - * Add those you’ll need. - ******************************************************************************/ - -.mr-auto { - margin-right: auto !important; -} - -.ml-auto { - margin-left: auto !important; -} - -@media screen and (max-width: 768px) { - .m-0-mobile { - margin: 0 !important; - } - - .mr-auto-mobile { - margin-right: auto !important; - } - - .ml-auto-mobile { - margin-left: auto !important; - } - - .mt-3-mobile { - margin-top: 0.75rem !important; - } - - .ml-3-mobile { - margin-left: 0.75rem !important; - } - - .mx-3-mobile { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - - .my-3-mobile { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } -} - -@media screen and (min-width: 769px) { - .m-0-tablet { - margin: 0 !important; - } - - .mr-auto-tablet { - margin-right: auto !important; - } - - .ml-auto-tablet { - margin-left: auto !important; - } - - .mt-3-tablet { - margin-top: 0.75rem !important; - } - - .ml-3-tablet { - margin-left: 0.75rem !important; - } - - .mx-3-tablet { - margin-right: 0.75rem !important; - margin-left: 0.75rem !important; - } - - .my-3-tablet { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; - } -} - -/* Gaps (for Flexbox and Grid) - * - * Those are supplementary rules to Bulma’s. They follow the same conventions. - * Add those you’ll need. - ******************************************************************************/ - -.is-gap-0 { - gap: 0; -} - -.is-gap-1 { - gap: 0.25rem; -} - -.is-gap-2 { - gap: 0.5rem; -} - -.is-gap-3 { - gap: 0.75rem; -} - -.is-gap-4 { - gap: 1rem; -} - -.is-gap-5 { - gap: 1.5rem; -} - -.is-gap-6 { - gap: 3rem; -} - -.is-row-gap-0 { - row-gap: 0; -} - -.is-row-gap-1 { - row-gap: 0.25rem; -} - -.is-row-gap-2 { - row-gap: 0.5rem; -} - -.is-row-gap-3 { - row-gap: 0.75rem; -} - -.is-row-gap-4 { - row-gap: 1rem; -} - -.is-row-gap-5 { - row-gap: 1.5rem; -} - -.is-row-gap-6 { - row-gap: 3rem; -} - -.is-column-gap-0 { - column-gap: 0; -} - -.is-column-gap-1 { - column-gap: 0.25rem; -} - -.is-column-gap-2 { - column-gap: 0.5rem; -} - -.is-column-gap-3 { - column-gap: 0.75rem; -} - -.is-column-gap-4 { - column-gap: 1rem; -} - -.is-column-gap-5 { - column-gap: 1.5rem; -} - -.is-column-gap-6 { - column-gap: 3rem; -} - -/* Barcode scanner CSS */ -#barcode-scanner { - position: relative; - min-height: 200px; -} - -#barcode-scanner .drawingBuffer { - position: absolute; - top: 0; - left: 0; - height: auto; - width: 100%; -} diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 11d7e403d..e9333bd19 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -1,6 +1,7 @@ /** Imports ******************************************************************************/ @import "components/avatar"; +@import "components/barcode"; @import "components/book_cover"; @import "components/book_grid"; @import "components/book_list"; diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss new file mode 100644 index 000000000..da1aa721c --- /dev/null +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -0,0 +1,14 @@ + +/* Barcode scanner CSS */ +#barcode-scanner { + position: relative; + min-height: 200px; + + .drawingBuffer { + position: absolute; + top: 0; + left: 0; + height: auto; + width: 100%; + } +} From 649ffe571a96b0bb25249cc846fd8468ea73661a Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 18:29:38 -0800 Subject: [PATCH 034/458] Fix typos with searching --- bookwyrm/static/js/bookwyrm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 10032c557..d7ba9ffe0 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -689,7 +689,7 @@ let BookWyrm = new (class { statusNode.querySelector('.isbn').innerText = code; toggleStatus('found'); - const search = new Url('search'); + const search = new URL('/search', document.location); search.searchParams.set('q', code); cleanup(); From 8d0e5494808137d8763ee3f001c629de5c07ffb7 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 20:19:26 -0800 Subject: [PATCH 035/458] Improve visuals and quality of scanning --- .../css/bookwyrm/components/_barcode.scss | 10 +++++++++ bookwyrm/static/js/bookwyrm.js | 22 +++++++++++-------- bookwyrm/templates/search/barcode_modal.html | 4 ++-- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index da1aa721c..1abbf5d40 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -12,3 +12,13 @@ width: 100%; } } + +#barcode-status { + :dir(ltr) .select { + float: right; + } + + :dir(rtl) .select { + float: left; + } +} diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index d7ba9ffe0..4944ada65 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -655,10 +655,13 @@ let BookWyrm = new (class { } } - function cleanup() { + function cleanup(clearDrawing = true) { Quagga.stop(); - scannerNode.replaceChildren(); cameraListNode.removeEventListener('change', changeListener); + + if (clearDrawing) { + scannerNode.replaceChildren(); + } } Quagga.onProcessed((result) => { @@ -683,7 +686,14 @@ let BookWyrm = new (class { } }); + let lastDetection = null; Quagga.onDetected((result) => { + // Detect the same code twice as an extra check to avoid bogus scans. + if (lastDetection === null || lastDetection !== result.codeResult.code) { + lastDetection = result.codeResult.code; + return; + } + const code = result.codeResult.code; statusNode.querySelector('.isbn').innerText = code; @@ -692,7 +702,7 @@ let BookWyrm = new (class { const search = new URL('/search', document.location); search.searchParams.set('q', code); - cleanup(); + cleanup(false); location.assign(search); }); @@ -711,12 +721,6 @@ let BookWyrm = new (class { constraints: { facingMode: "environment", }, - area: { - top: "25%", - right: "25%", - left: "25%", - bottom: "25%", - } }, decoder : { readers: [ diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 17eb8829e..00cc7c027 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -12,7 +12,7 @@
@@ -25,7 +25,7 @@ {% trans "Align your book's barcode with the camera." %}
From fee6ffcbd858b0a54bdadc236d17c448d78a5ba8 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 21:29:18 -0800 Subject: [PATCH 036/458] Fix formatting in chrome Was using experimental selector, forget about it. Also reduce jumping around of video size --- .../static/css/bookwyrm/components/_barcode.scss | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index 1abbf5d40..c12d59ea4 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -2,7 +2,7 @@ /* Barcode scanner CSS */ #barcode-scanner { position: relative; - min-height: 200px; + min-height: 450px; .drawingBuffer { position: absolute; @@ -13,12 +13,6 @@ } } -#barcode-status { - :dir(ltr) .select { - float: right; - } - - :dir(rtl) .select { - float: left; - } +#barcode-status .select { + float: right; } From 464050deaa4911bca518a43ee3568df296c257ad Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 21:32:01 -0800 Subject: [PATCH 037/458] Implement switching cameras Also, use session storage to remember last selected camera deviceId, if any --- bookwyrm/static/js/bookwyrm.js | 119 +++++++++++++++++++-------------- 1 file changed, 67 insertions(+), 52 deletions(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 4944ada65..0ae950447 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -645,8 +645,7 @@ let BookWyrm = new (class { const cameraListNode = document.getElementById("barcode-camera-list"); let changeListener = cameraListNode.addEventListener('change', (event) => { - // TODO - //event.target.value + initBarcodes(event.target.value); }); function toggleStatus(status) { @@ -655,6 +654,71 @@ let BookWyrm = new (class { } } + function initBarcodes(cameraId = null) { + if (!cameraId) { + cameraId = sessionStorage.getItem('preferredCam'); + } else { + sessionStorage.setItem('preferredCam', cameraId); + } + + scannerNode.replaceChildren(); + Quagga.stop(); + Quagga.init({ + inputStream : { + name: "Live", + type: "LiveStream", + target: scannerNode, + constraints: { + facingMode: "environment", + deviceId: cameraId, + }, + }, + decoder : { + readers: [ + "ean_reader", + { + format: "ean_reader", + config: { + supplements: [ "ean_2_reader", "ean_5_reader" ] + } + } + ], + multiple: false + }, + }, (err) => { + if (err) { + console.log(err); + toggleStatus('access-denied'); + return; + } + + let activeId = null; + const track = Quagga.CameraAccess.getActiveTrack(); + if (track) { + activeId = track.getSettings().deviceId; + } + + Quagga.CameraAccess.enumerateVideoDevices().then((devices) => { + cameraListNode.replaceChildren(); + + for (const device of devices) { + const child = document.createElement('option'); + child.value = device.deviceId; + child.innerText = device.label.slice(0, 30); + + if (activeId === child.value) { + child.selected = true; + } + + cameraListNode.appendChild(child); + } + }); + + toggleStatus('scanning'); + Quagga.start(); + }); + } + function cleanup(clearDrawing = true) { Quagga.stop(); cameraListNode.removeEventListener('change', changeListener); @@ -709,55 +773,6 @@ let BookWyrm = new (class { event.target.addEventListener('close', cleanup, { once: true }); toggleStatus('grant-access'); - - // Clear camera list - cameraListNode.replaceChildren(); - - Quagga.init({ - inputStream : { - name: "Live", - type: "LiveStream", - target: scannerNode, - constraints: { - facingMode: "environment", - }, - }, - decoder : { - readers: [ - "ean_reader", - { - format: "ean_reader", - config: { - supplements: [ "ean_2_reader", "ean_5_reader" ] - } - } - ], - multiple: false - }, - }, (err) => { - if (err) { - console.log(err); - toggleStatus('access-denied'); - return; - } - - const stream = Quagga.CameraAccess.getActiveStreamLabel(); - Quagga.CameraAccess.enumerateVideoDevices().then((devices) => { - for (const device of devices) { - const child = document.createElement('option'); - child.value = device.deviceId || device.id; - child.innerText = device.label.slice(0, 30); - - if (stream === child.value) { - child.selected = true; - } - - cameraListNode.appendChild(child); - } - }); - - Quagga.start(); - toggleStatus('scanning'); - }); + initBarcodes(); } })(); From cdddf73e29ea23b72ab988b57dae1647cef8d1b8 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sat, 26 Feb 2022 23:22:44 -0800 Subject: [PATCH 038/458] Improve layout for some camera types --- .../static/css/bookwyrm/components/_barcode.scss | 14 +++++++++++--- bookwyrm/static/js/bookwyrm.js | 6 +++++- bookwyrm/templates/search/barcode_modal.html | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index c12d59ea4..b6b416977 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -2,14 +2,22 @@ /* Barcode scanner CSS */ #barcode-scanner { position: relative; - min-height: 450px; + max-width: 100%; + text-align: center; + + video { + height: calc(70vh - 200px); + max-width: 100%; + } .drawingBuffer { position: absolute; top: 0; left: 0; - height: auto; - width: 100%; + right: 0; + margin: auto; + height: calc(70vh - 200px); + max-width: 100%; } } diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 0ae950447..f6811614b 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -751,11 +751,15 @@ let BookWyrm = new (class { }); let lastDetection = null; + let numDetected = 0; Quagga.onDetected((result) => { - // Detect the same code twice as an extra check to avoid bogus scans. + // Detect the same code 3 times as an extra check to avoid bogus scans. if (lastDetection === null || lastDetection !== result.codeResult.code) { + numDetected = 1; lastDetection = result.codeResult.code; return; + } else if (numDetected++ < 3) { + return; } const code = result.codeResult.code; diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 00cc7c027..93789ae3f 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -8,7 +8,7 @@ {% endblock %} {% block modal-body %} -
+
+
{% endblock %} From e71a5e3bdfe6a4077ddcbbffcf392f09519c44bc Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:00:22 -0800 Subject: [PATCH 041/458] Add barcode icon and use other icons Minor formatting and messaging tweaks --- .../css/bookwyrm/components/_barcode.scss | 1 + bookwyrm/static/css/fonts/icomoon.eot | Bin 10460 -> 10688 bytes bookwyrm/static/css/fonts/icomoon.svg | 1 + bookwyrm/static/css/fonts/icomoon.ttf | Bin 10296 -> 10524 bytes bookwyrm/static/css/fonts/icomoon.woff | Bin 10372 -> 10600 bytes bookwyrm/static/css/vendor/icons.css | 3 +++ bookwyrm/static/js/bookwyrm.js | 1 + bookwyrm/templates/search/barcode_modal.html | 9 ++++++++- 8 files changed, 14 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index b6b416977..8c77d5252 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -4,6 +4,7 @@ position: relative; max-width: 100%; text-align: center; + height: calc(70vh - 200px); video { height: calc(70vh - 200px); diff --git a/bookwyrm/static/css/fonts/icomoon.eot b/bookwyrm/static/css/fonts/icomoon.eot index 7b1f2d9d9f9d3ff8805e56d83c6c2ceba7654a8f..69628662beb9b527fe62d38c0d177366773ad879 100644 GIT binary patch delta 613 zcmcZ;cp#YVfF=WjjOIi(GnVu$U+IYs<@JUP3=Df17#I?ga}x`e=Pr+6U|^JCU|{G; zPb@BAU|Q4-vdbcmfq`)Y1A~f1MrvY;{EI&&3=FC-7#JALGBQ#V zIk;KO85qLm;ejBN$^#U%{P3=9km8h=3Y49v_IC#Nu0hk~3X z!63lE%)r6G$e{32^rgZ}^OsdG+g{#!#r4YU|KI=rLAn?eUNXEChss=s%P{_bEY2d% zEcRAxwb%l&05L_;Zw$-~jFS&)NN#pzvSnmZR#H;l+{P>~S1-W8z~I2b!0f=l%)rjT z&A`tf%plGn%^=U9%%IMo&7jX<%wW!7&0x>KAZ#qCjEotfd=SlSET{~kS&c=N&7oM; zSX3E=)uA*)L&E_FhXx0S0}c+13}EVC_yGll0}2X^3ltRoEC35NI5;pmK=6TvhJObd z8kimaHZV2d#||iffnoDvML`xBY2U2$cz&C&4BRZ>(7NYv2To7EplZ&jJDEdmGAjcM x1B1on1#04xH>(9mO9-qI6cKb0ED-Dyyd=aSB*VbSz`&r(B*h@GSx$W)BLLigqk8}V delta 369 zcmX>Qd?%3Yjs^pRg~miSGnPQzr#B}$l-Ci{&P^=1ymsOm1_nkM1_p+f z^u*!<1_lNJ1_s6j3=9k$={c2YdKcn%FfcH#U|>*A$Vg30kr$F*!@!`*!N9;^mXVQ~ z$idBG#=xNJz`($ul95|dvA~YgnSntyg@J)#Lr#8j;{IJbrZF(6i7+rQMCB${6fl_T zG08A6sDUg}$V<#ko$1B-n}I=X0s{kMTS0zt2?H|&0|SGG1Oo$u0s}Mig~=(5)!G>h z3=Con0u0OyYz&MH3NJ-pD!i + diff --git a/bookwyrm/static/css/fonts/icomoon.ttf b/bookwyrm/static/css/fonts/icomoon.ttf index 151f2b782e011873be7120240fc65777f3771917..12c79d551739bdbfe9e7246ae713b4d23545fdce 100644 GIT binary patch delta 595 zcmdlHFej*50V!3=9kc3=E7b7#J8h(sL@)Om+O$Vg30k$>^0gn>cz1p@qRQq_tZFQ(48rPA znxUcLfP+JWgTny_2Sx@k^)LK@g2Dj>1;zym3V#-Wg&G_j7#$$^Ktsd70}Tz#4u2b% z8t`KW6u`i+`M-i7i;T2yR(d?Y%~u9)7Eo|9+;g}Crzh*EnltK7PEnoA$T0bfYPO<; qz$!rzK^MUS!9KxDLL5Re;6$U#Bn3(e3=9lRlNB|DH&0eu$_N1TgOqUq delta 367 zcmbOev?HLNfsuiMft#U$ftkU;KUm+0Ux?j+fq`KU0|P@sa&BV5<+T&nFfcI6FfcH* zq$d^^FfcF(FfcGKU|?Y2NYANE)4LGAgMoo@1p|X}LPlz0ioB5g8U_Yc4h9AWvy6P#=r-wX_D6Brm6+Y0iFOBk3L7#J8dBp4VN6d0J9FHAg8Eu6u? zz#zsTz`)GF#=yv+@KW@p!sGx(N#&}SZ7;9C;(BHF|L_0*42=IDi?fI`i>(ryFXk_% zAo`VonSpWgL`Lz=D;aGWS(KEOl{UX(l9${3P?4WS=H^q~z<7R}uMFHQAPX7pUd^2Y zVu0w$JZk2QI+I=0CNo-0exN2k`LkMpw4J~Tfg6G>f=YsEf^!5nFff3FR)IWDY7~4R2rWfb$g8bqV1_n(Juo{qBW(EcZ zX6B2Nc^Ioh3m6y}Bp3u3m>D=27#S2^ioR5MY5ub6W!uYJuee^B{r~&_KPVg+6kamC z6o<-Ohs!Yje=N=-&Mfv;Y_-?|u>dhe(QgdQ42-Za+x(i*o{>daNlAIL9<#h$y#NCP zg98f#vjYP&13LpZ13!Z>gE)gUgFJ&WgF1sYgFb^XgE@mWgFOR-u(6;rGG>JGK{T_m zpfZSNH5OGihhkM@QDqQThtdoU4F?rJD>mthRxoJf-Ex9zFFz<{5D@1xLLpc?1YHCR1p5Rp32_L?fRmjrlN19ej2IZ0KtZ_qzS>eo E0PditHvj+t delta 413 zcmaD6)DkFC?(gQtz{tSBz@X8>zzwD?CI@PYPt+EvH%QJ+EMQ<@%wS+(XaV8NYbUNr zPb>zBy)IVGeEW(UIgx?EPc4CgfguWn_wU*b&GrZO<7-Cw5g6LNUW(G!3sBHeqXv@f=q^zv8*^F6UZnLfuKa0%Gr@Ddh{5D@1xLH8q$8h&* z?i>&UL{E-TGiTJ9JV9;pWOelnMLU5N0yhL%1eFBS1m_5X{0j { if (err) { + scannerNode.replaceChildren(); console.log(err); toggleStatus('access-denied'); return; diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 9480197f8..3f7b01cea 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -12,19 +12,26 @@
- + From 9f67a74340737a902ffcb6317e03535196804402 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:04:25 -0800 Subject: [PATCH 042/458] Show grant access dialog every time we initialize --- bookwyrm/static/js/bookwyrm.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index efd5cfff0..01c13091a 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -655,6 +655,8 @@ let BookWyrm = new (class { } function initBarcodes(cameraId = null) { + toggleStatus('grant-access'); + if (!cameraId) { cameraId = sessionStorage.getItem('preferredCam'); } else { @@ -777,7 +779,6 @@ let BookWyrm = new (class { event.target.addEventListener('close', cleanup, { once: true }); - toggleStatus('grant-access'); initBarcodes(); } })(); From 43f62ef5d7add5d3a4fc8bc146ea5ed15693812e Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:18:38 -0800 Subject: [PATCH 043/458] d'oh, fix event leak --- bookwyrm/static/js/bookwyrm.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 01c13091a..39d5f6647 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -644,9 +644,11 @@ let BookWyrm = new (class { const statusNode = document.getElementById("barcode-status"); const cameraListNode = document.getElementById("barcode-camera-list"); - let changeListener = cameraListNode.addEventListener('change', (event) => { + cameraListNode.addEventListener('change', onChangeCamera); + + function onChangeCamera(event) { initBarcodes(event.target.value); - }); + } function toggleStatus(status) { for (const child of statusNode.children) { @@ -724,7 +726,7 @@ let BookWyrm = new (class { function cleanup(clearDrawing = true) { Quagga.stop(); - cameraListNode.removeEventListener('change', changeListener); + cameraListNode.removeEventListener('change', onChangeCamera); if (clearDrawing) { scannerNode.replaceChildren(); From f5c66b5b4a9e983426a1ebf2389697224c965df3 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 00:33:54 -0800 Subject: [PATCH 044/458] Adjust layout more Ensure camera select box is never hidden. --- .../static/css/bookwyrm/components/_barcode.scss | 2 +- bookwyrm/static/js/bookwyrm.js | 2 +- bookwyrm/templates/search/barcode_modal.html | 14 +++++++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index 8c77d5252..c000a1a89 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -22,6 +22,6 @@ } } -#barcode-status .select { +#barcode-camera-list { float: right; } diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 39d5f6647..a9cc5c6ca 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -642,7 +642,7 @@ let BookWyrm = new (class { openBarcodeScanner(event) { const scannerNode = document.getElementById("barcode-scanner"); const statusNode = document.getElementById("barcode-status"); - const cameraListNode = document.getElementById("barcode-camera-list"); + const cameraListNode = document.querySelector("#barcode-camera-list > select"); cameraListNode.addEventListener('change', onChangeCamera); diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 3f7b01cea..cfbb4e1c8 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -8,9 +8,17 @@ {% endblock %} {% block modal-body %} -
+
+
+
+ +
+ +
+
- {% endif %} -
+ {% csrf_token %}

{% trans "Instance Info" %}

@@ -95,8 +100,6 @@
{{ site_form.default_theme }}
- -
diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html new file mode 100644 index 000000000..6e9eb61c5 --- /dev/null +++ b/bookwyrm/templates/settings/themes.html @@ -0,0 +1,109 @@ +{% extends 'settings/layout.html' %} +{% load i18n %} + +{% block title %}{% trans "Themes" %}{% endblock %} + +{% block header %}{% trans "Themes" %}{% endblock %} + +{% block panel %} +{% if success %} +
+ + + {% trans "Successfully added theme" %} + +
+{% endif %} + +
+
+

+ {% trans "Default theme:" %} {{ site.default_theme.name }} +

+ +

+ + {% trans "Set default theme" %} + +

+
+
+ +
+

{% trans "Upload theme" %}

+ + {% if theme_form.errors %} +
+ + + {% trans "Unable to save theme" %} + +
+ {% endif %} + + + {% csrf_token %} +
+
+ +
+ {{ theme_form.name }} + {% include 'snippets/form_errors.html' with errors_list=theme_form.name.errors id="desc_name" %} +
+
+ +
+ +
+ {{ theme_form.theme_file }} + {% include 'snippets/form_errors.html' with errors_list=theme_form.theme_file.errors id="desc_theme_file" %} +
+
+
+ + + +
+ +
+

{% trans "Available Themes" %}

+
+ + + + + + + {% for theme in themes %} + + + + + + {% endfor %} +
+ {% trans "Theme name" %} + + {% trans "File" %} + + {% trans "Actions" %} +
{{ theme.name }}{{ theme.theme_path }} + {% if theme.theme_file %} +
+ +
+ {% endif %} +
+
+
+ +{% endblock %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index d2caa76ea..bef6786d7 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -86,6 +86,7 @@ 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/themes/?$", views.Themes.as_view(), name="settings-themes"), re_path( r"^settings/announcements/?$", views.Announcements.as_view(), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 76e9ff024..675221cb8 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -21,6 +21,7 @@ from .admin.reports import ( moderator_delete_user, ) from .admin.site import Site +from .admin.themes import Themes from .admin.user_admin import UserAdmin, UserAdminList # user preferences diff --git a/bookwyrm/views/admin/site.py b/bookwyrm/views/admin/site.py index 7e75a8204..f345d9970 100644 --- a/bookwyrm/views/admin/site.py +++ b/bookwyrm/views/admin/site.py @@ -29,7 +29,7 @@ class Site(View): if not form.is_valid(): data = {"site_form": form} return TemplateResponse(request, "settings/site.html", data) - form.save() + site = form.save() data = {"site_form": forms.SiteForm(instance=site), "success": True} return TemplateResponse(request, "settings/site.html", data) diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py new file mode 100644 index 000000000..cf11bc6d0 --- /dev/null +++ b/bookwyrm/views/admin/themes.py @@ -0,0 +1,38 @@ +""" manage themes """ +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 forms, models + + +# 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 Themes(View): + """manage things like the instance name""" + + def get(self, request): + """view existing themes and set defaults""" + data = { + "themes": models.Theme.objects.all(), + "theme_form": forms.ThemeForm(), + } + return TemplateResponse(request, "settings/themes.html", data) + + def post(self, request): + """edit the site settings""" + form = forms.ThemeForm(request.POST, request.FILES) + data = { + "themes": models.Theme.objects.all(), + "theme_form": form, + } + if form.is_valid(): + form.save() + data["success"] = True + data["theme_form"] = forms.ThemeForm() + return TemplateResponse(request, "settings/themes.html", data) From cc015536faff14908017da89cdcb98e47b4c74e6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:12:47 -0800 Subject: [PATCH 050/458] Adds theme instructions --- bookwyrm/forms.py | 4 +-- bookwyrm/templates/settings/themes.html | 41 +++++++++++++------------ 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 926aaecf3..4e6bab16e 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -466,9 +466,7 @@ class ThemeForm(CustomForm): fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_path"} - ), + "path": forms.TextInput(attrs={"aria-describedby": "desc_path", "placeholder": _("example-theme.scss")}), } diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 6e9eb61c5..3eac261d2 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -16,21 +16,24 @@ {% endif %}
-
-

- {% trans "Default theme:" %} {{ site.default_theme.name }} -

- -

- - {% trans "Set default theme" %} - -

+
+

{% trans "How to add a theme" %}

+
    +
  1. + {% trans "Copy the theme file into the bookwyrm/static/css/ directory on your server from the command line." %} +
  2. +
  3. + {% trans "Run ./bw-dev compilescss." %} +
  4. +
  5. + {% trans "Add the file name using the form below to make it available in the application interface." %} +
  6. +
-

{% trans "Upload theme" %}

+

{% trans "Add theme" %}

{% if theme_form.errors %}
@@ -60,17 +63,17 @@
-
- + @@ -92,13 +95,11 @@ {% for theme in themes %} {{ theme.name }} - {{ theme.theme_path }} + {{ theme.path }} - {% if theme.theme_file %}
- +
- {% endif %} {% endfor %} From 8850b68b5224db3ade4cb9606bf66f11eb442e6a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:46:01 -0800 Subject: [PATCH 051/458] Show theme options --- bookwyrm/forms.py | 13 ++++++++++++- bookwyrm/migrations/0142_auto_20220227_1752.py | 4 ++-- bookwyrm/models/user.py | 14 ++++++-------- .../static/css/{ => themes}/bookwyrm-dark.scss | 4 ++-- .../static/css/{ => themes}/bookwyrm-light.scss | 4 ++-- bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/settings/themes.html | 6 ++++-- 7 files changed, 29 insertions(+), 18 deletions(-) rename bookwyrm/static/css/{ => themes}/bookwyrm-dark.scss (92%) rename bookwyrm/static/css/{ => themes}/bookwyrm-light.scss (92%) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 4e6bab16e..81061f964 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -4,6 +4,8 @@ from collections import defaultdict from urllib.parse import urlparse from django import forms +from django.contrib.staticfiles.utils import get_files +from django.contrib.staticfiles.storage import StaticFilesStorage from django.forms import ModelForm, PasswordInput, widgets, ChoiceField from django.forms.widgets import Textarea from django.utils import timezone @@ -460,13 +462,22 @@ class SiteThemeForm(CustomForm): fields = ["default_theme"] +def get_theme_choices(): + """static files""" + choices = list(get_files(StaticFilesStorage(), location="css/themes")) + current = models.Theme.objects.values_list("path", flat=True) + return [(c, c) for c in choices if c not in current and c[-5:] == ".scss"] + + class ThemeForm(CustomForm): class Meta: model = models.Theme fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.TextInput(attrs={"aria-describedby": "desc_path", "placeholder": _("example-theme.scss")}), + "path": forms.Select( + attrs={"aria-describedby": "desc_path"}, choices=get_theme_choices() + ), } diff --git a/bookwyrm/migrations/0142_auto_20220227_1752.py b/bookwyrm/migrations/0142_auto_20220227_1752.py index 75f0e1e75..2282679da 100644 --- a/bookwyrm/migrations/0142_auto_20220227_1752.py +++ b/bookwyrm/migrations/0142_auto_20220227_1752.py @@ -10,11 +10,11 @@ def add_default_themes(apps, schema_editor): theme_model = apps.get_model("bookwyrm", "Theme") theme_model.objects.using(db_alias).create( name="BookWyrm Light", - path="bookwyrm-light.scss", + path="css/themes/bookwyrm-light.scss", ) theme_model.objects.using(db_alias).create( name="BookWyrm Dark", - path="bookwyrm-dark.scss", + path="css/themes/bookwyrm-dark.scss", ) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 85702ae56..1198717e6 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -176,15 +176,13 @@ class User(OrderedCollectionPageMixin, AbstractUser): @property def get_theme(self): """get the theme given the user/site""" - path = "bookwyrm-light.scss" if self.theme: - path = self.theme.path - else: - site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) - site = site_model.objects.get() - if site.default_theme: - path = site.default_theme.path - return f"css/{path}" + return self.theme.path + site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) + site = site_model.objects.get() + if site.default_theme: + return site.default_theme.path + return "css/themes/bookwyrm-light.scss" @property def confirmation_link(self): diff --git a/bookwyrm/static/css/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss similarity index 92% rename from bookwyrm/static/css/bookwyrm-dark.scss rename to bookwyrm/static/css/themes/bookwyrm-dark.scss index 957187ffd..32e33907a 100644 --- a/bookwyrm/static/css/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -1,4 +1,4 @@ -@import "vendor/bulma/sass/utilities/derived-variables.sass"; +@import "../vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -54,4 +54,4 @@ $menu-item-active-background-color: $link-background; $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; -@import "bookwyrm.scss"; +@import "../bookwyrm.scss"; diff --git a/bookwyrm/static/css/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss similarity index 92% rename from bookwyrm/static/css/bookwyrm-light.scss rename to bookwyrm/static/css/themes/bookwyrm-light.scss index 6b7b5b349..08e6a2917 100644 --- a/bookwyrm/static/css/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -1,4 +1,4 @@ -@import "vendor/bulma/sass/utilities/derived-variables.sass"; +@import "../vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -52,4 +52,4 @@ $menu-item-active-background-color: $link-background; $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; -@import "bookwyrm.scss"; +@import "../bookwyrm.scss"; diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 444241e5b..aaf21717c 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -9,7 +9,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} {% with theme_path=user.get_theme %} - + {% endwith %} diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 3eac261d2..a06193693 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -20,7 +20,7 @@

{% trans "How to add a theme" %}

  1. - {% trans "Copy the theme file into the bookwyrm/static/css/ directory on your server from the command line." %} + {% trans "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." %}
  2. {% trans "Run ./bw-dev compilescss." %} @@ -67,7 +67,9 @@ {% trans "Theme filename" %}
    - {{ theme_form.path }} +
    + {{ theme_form.path }} +
    {% include 'snippets/form_errors.html' with errors_list=theme_form.path.errors id="desc_path" %}
From fd0f7394182c864bd96244d92b81a1fa44cb3422 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:51:49 -0800 Subject: [PATCH 052/458] Rename light.scss to bookwyrm-light.scss --- bookwyrm/static/css/themes/{light.scss => bookwyrm-light.scss} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bookwyrm/static/css/themes/{light.scss => bookwyrm-light.scss} (100%) diff --git a/bookwyrm/static/css/themes/light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss similarity index 100% rename from bookwyrm/static/css/themes/light.scss rename to bookwyrm/static/css/themes/bookwyrm-light.scss From c8d3222c33ffc918c71dcf5d74f6129d0981dc3b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:52:07 -0800 Subject: [PATCH 053/458] Rename dark.scss to bookwyrm-dark.scss --- bookwyrm/static/css/themes/{dark.scss => bookwyrm-dark.scss} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bookwyrm/static/css/themes/{dark.scss => bookwyrm-dark.scss} (100%) diff --git a/bookwyrm/static/css/themes/dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss similarity index 100% rename from bookwyrm/static/css/themes/dark.scss rename to bookwyrm/static/css/themes/bookwyrm-dark.scss From 8259d16ee9b4b13fa6218f3ee8d374627a7b774b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 11:19:09 -0800 Subject: [PATCH 054/458] Check available themes in form --- bookwyrm/forms.py | 13 +---------- bookwyrm/templates/settings/themes.html | 20 ++++++++++++++++- bookwyrm/views/admin/themes.py | 30 ++++++++++++++++--------- 3 files changed, 40 insertions(+), 23 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 81061f964..01228b8e8 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -4,8 +4,6 @@ from collections import defaultdict from urllib.parse import urlparse from django import forms -from django.contrib.staticfiles.utils import get_files -from django.contrib.staticfiles.storage import StaticFilesStorage from django.forms import ModelForm, PasswordInput, widgets, ChoiceField from django.forms.widgets import Textarea from django.utils import timezone @@ -462,22 +460,13 @@ class SiteThemeForm(CustomForm): fields = ["default_theme"] -def get_theme_choices(): - """static files""" - choices = list(get_files(StaticFilesStorage(), location="css/themes")) - current = models.Theme.objects.values_list("path", flat=True) - return [(c, c) for c in choices if c not in current and c[-5:] == ".scss"] - - class ThemeForm(CustomForm): class Meta: model = models.Theme fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.Select( - attrs={"aria-describedby": "desc_path"}, choices=get_theme_choices() - ), + "path": forms.Select(attrs={"aria-describedby": "desc_path"}), } diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index a06193693..11c344052 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -50,6 +50,12 @@ class="box" enctype="multipart/form-data" > + {% if not choices %} +
+ {% trans "No available theme files detected" %} +
+ {% endif %} +
{% csrf_token %}
@@ -68,7 +74,18 @@
- {{ theme_form.path }} +
{% include 'snippets/form_errors.html' with errors_list=theme_form.path.errors id="desc_path" %}
@@ -76,6 +93,7 @@
+
diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py index cf11bc6d0..c1eacf44b 100644 --- a/bookwyrm/views/admin/themes.py +++ b/bookwyrm/views/admin/themes.py @@ -1,5 +1,7 @@ """ manage themes """ from django.contrib.auth.decorators import login_required, permission_required +from django.contrib.staticfiles.utils import get_files +from django.contrib.staticfiles.storage import StaticFilesStorage from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.views import View @@ -18,21 +20,29 @@ class Themes(View): def get(self, request): """view existing themes and set defaults""" - data = { - "themes": models.Theme.objects.all(), - "theme_form": forms.ThemeForm(), - } - return TemplateResponse(request, "settings/themes.html", data) + return TemplateResponse(request, "settings/themes.html", get_view_data()) def post(self, request): """edit the site settings""" form = forms.ThemeForm(request.POST, request.FILES) - data = { - "themes": models.Theme.objects.all(), - "theme_form": form, - } if form.is_valid(): form.save() + + data = get_view_data() + + if not form.is_valid(): + data["theme_form"] = form + else: data["success"] = True - data["theme_form"] = forms.ThemeForm() return TemplateResponse(request, "settings/themes.html", data) + + +def get_view_data(): + """data for view""" + choices = list(get_files(StaticFilesStorage(), location="css/themes")) + current = models.Theme.objects.values_list("path", flat=True) + return { + "themes": models.Theme.objects.all(), + "choices": [c for c in choices if c not in current and c[-5:] == ".scss"], + "theme_form": forms.ThemeForm(), + } From fbe7e860e8a97ba356b38cbd7458d559e1460036 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 14:01:25 -0800 Subject: [PATCH 055/458] Prettier --- bookwyrm/static/js/bookwyrm.js | 159 ++++++++++++++++++--------------- 1 file changed, 89 insertions(+), 70 deletions(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index a9cc5c6ca..1ca6bfc25 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -431,11 +431,11 @@ let BookWyrm = new (class { }); modalElement.addEventListener("keydown", handleFocusTrap); - modalElement.dispatchEvent(new Event('open')); + modalElement.dispatchEvent(new Event("open")); } function handleModalClose(modalElement) { - modalElement.dispatchEvent(new Event('close')); + modalElement.dispatchEvent(new Event("close")); modalElement.removeEventListener("keydown", handleFocusTrap); htmlElement.classList.remove("is-clipped"); modalElement.classList.remove("is-active"); @@ -644,10 +644,10 @@ let BookWyrm = new (class { const statusNode = document.getElementById("barcode-status"); const cameraListNode = document.querySelector("#barcode-camera-list > select"); - cameraListNode.addEventListener('change', onChangeCamera); + cameraListNode.addEventListener("change", onChangeCamera); function onChangeCamera(event) { - initBarcodes(event.target.value); + initBarcodes(event.target.value); } function toggleStatus(status) { @@ -657,76 +657,79 @@ let BookWyrm = new (class { } function initBarcodes(cameraId = null) { - toggleStatus('grant-access'); + toggleStatus("grant-access"); if (!cameraId) { - cameraId = sessionStorage.getItem('preferredCam'); + cameraId = sessionStorage.getItem("preferredCam"); } else { - sessionStorage.setItem('preferredCam', cameraId); + sessionStorage.setItem("preferredCam", cameraId); } scannerNode.replaceChildren(); Quagga.stop(); - Quagga.init({ - inputStream : { - name: "Live", - type: "LiveStream", - target: scannerNode, - constraints: { - facingMode: "environment", - deviceId: cameraId, + Quagga.init( + { + inputStream: { + name: "Live", + type: "LiveStream", + target: scannerNode, + constraints: { + facingMode: "environment", + deviceId: cameraId, + }, + }, + decoder: { + readers: [ + "ean_reader", + { + format: "ean_reader", + config: { + supplements: ["ean_2_reader", "ean_5_reader"], + }, + }, + ], + multiple: false, }, }, - decoder : { - readers: [ - "ean_reader", - { - format: "ean_reader", - config: { - supplements: [ "ean_2_reader", "ean_5_reader" ] - } - } - ], - multiple: false - }, - }, (err) => { - if (err) { - scannerNode.replaceChildren(); - console.log(err); - toggleStatus('access-denied'); - return; - } - - let activeId = null; - const track = Quagga.CameraAccess.getActiveTrack(); - if (track) { - activeId = track.getSettings().deviceId; - } - - Quagga.CameraAccess.enumerateVideoDevices().then((devices) => { - cameraListNode.replaceChildren(); - - for (const device of devices) { - const child = document.createElement('option'); - child.value = device.deviceId; - child.innerText = device.label.slice(0, 30); - - if (activeId === child.value) { - child.selected = true; - } - - cameraListNode.appendChild(child); + (err) => { + if (err) { + scannerNode.replaceChildren(); + console.log(err); + toggleStatus("access-denied"); + return; } - }); - toggleStatus('scanning'); - Quagga.start(); - }); + let activeId = null; + const track = Quagga.CameraAccess.getActiveTrack(); + if (track) { + activeId = track.getSettings().deviceId; + } + + Quagga.CameraAccess.enumerateVideoDevices().then((devices) => { + cameraListNode.replaceChildren(); + + for (const device of devices) { + const child = document.createElement("option"); + child.value = device.deviceId; + child.innerText = device.label.slice(0, 30); + + if (activeId === child.value) { + child.selected = true; + } + + cameraListNode.appendChild(child); + } + }); + + toggleStatus("scanning"); + Quagga.start(); + } + ); } function cleanup(clearDrawing = true) { Quagga.stop(); - cameraListNode.removeEventListener('change', onChangeCamera); + cameraListNode.removeEventListener("change", onChangeCamera); if (clearDrawing) { scannerNode.replaceChildren(); @@ -739,18 +742,34 @@ let BookWyrm = new (class { if (result) { if (result.boxes) { - drawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute("width")), parseInt(drawingCanvas.getAttribute("height"))); - result.boxes.filter((box) => box !== result.box).forEach((box) => { - Quagga.ImageDebug.drawPath(box, {x: 0, y: 1}, drawingCtx, {color: "green", lineWidth: 2}); - }); + drawingCtx.clearRect( + 0, + 0, + parseInt(drawingCanvas.getAttribute("width")), + parseInt(drawingCanvas.getAttribute("height")) + ); + result.boxes + .filter((box) => box !== result.box) + .forEach((box) => { + Quagga.ImageDebug.drawPath(box, { x: 0, y: 1 }, drawingCtx, { + color: "green", + lineWidth: 2, + }); + }); } if (result.box) { - Quagga.ImageDebug.drawPath(result.box, {x: 0, y: 1}, drawingCtx, {color: "#00F", lineWidth: 2}); + Quagga.ImageDebug.drawPath(result.box, { x: 0, y: 1 }, drawingCtx, { + color: "#00F", + lineWidth: 2, + }); } if (result.codeResult && result.codeResult.code) { - Quagga.ImageDebug.drawPath(result.line, {x: 'x', y: 'y'}, drawingCtx, {color: 'red', lineWidth: 3}); + Quagga.ImageDebug.drawPath(result.line, { x: "x", y: "y" }, drawingCtx, { + color: "red", + lineWidth: 3, + }); } } }); @@ -769,17 +788,17 @@ let BookWyrm = new (class { const code = result.codeResult.code; - statusNode.querySelector('.isbn').innerText = code; - toggleStatus('found'); + statusNode.querySelector(".isbn").innerText = code; + toggleStatus("found"); - const search = new URL('/search', document.location); - search.searchParams.set('q', code); + const search = new URL("/search", document.location); + search.searchParams.set("q", code); cleanup(false); location.assign(search); }); - event.target.addEventListener('close', cleanup, { once: true }); + event.target.addEventListener("close", cleanup, { once: true }); initBarcodes(); } From 1d4539c4c0b087834ec482b2456a43836b8a1537 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 14:03:45 -0800 Subject: [PATCH 056/458] Don't pretty the min.js file --- .prettierignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..dbbfd978b --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +*.min.js From c0380cca5ae1fd6a058fc4d11cf9f4a958383974 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 14:04:30 -0800 Subject: [PATCH 057/458] stylelint --- bookwyrm/static/css/bookwyrm/components/_barcode.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index c000a1a89..c34f0d355 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -1,4 +1,3 @@ - /* Barcode scanner CSS */ #barcode-scanner { position: relative; From 3a9ff2c2ea6ccc8c9ebc3535e2dfc3639ff00cf2 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 14:08:11 -0800 Subject: [PATCH 058/458] Refer to canvas by type - Fixes stylelint without adding an exclusion --- bookwyrm/static/css/bookwyrm/components/_barcode.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/static/css/bookwyrm/components/_barcode.scss b/bookwyrm/static/css/bookwyrm/components/_barcode.scss index c34f0d355..c9c67e8e5 100644 --- a/bookwyrm/static/css/bookwyrm/components/_barcode.scss +++ b/bookwyrm/static/css/bookwyrm/components/_barcode.scss @@ -10,7 +10,7 @@ max-width: 100%; } - .drawingBuffer { + canvas { position: absolute; top: 0; left: 0; From 4d3e709b2a425f0ac078ddaf39b70c72eb837a7f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:23:03 -0800 Subject: [PATCH 059/458] Update layout.html --- bookwyrm/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index aaf21717c..444241e5b 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -9,7 +9,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} {% with theme_path=user.get_theme %} - + {% endwith %} From f5fb5ae04572b1ea6175c954ceb9ca64055a9521 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:34:30 -0800 Subject: [PATCH 060/458] Removes instance config file I'd be happy to re-add this if it's useful, but I think it's confusing to have in addition to themes --- .css-config-sample/_instance-settings.scss | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .css-config-sample/_instance-settings.scss diff --git a/.css-config-sample/_instance-settings.scss b/.css-config-sample/_instance-settings.scss deleted file mode 100644 index e86c1ce00..000000000 --- a/.css-config-sample/_instance-settings.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -// Copy this file to bookwyrm/static/css/ and set your instance custom styles. From 2d516812b4a445e3b4e6dc562b6582fa52cdec04 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:34:54 -0800 Subject: [PATCH 061/458] Fixes icons by moving import to theme --- bookwyrm/static/css/bookwyrm.scss | 2 -- bookwyrm/static/css/themes/bookwyrm-dark.scss | 1 + bookwyrm/static/css/themes/bookwyrm-light.scss | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm.scss b/bookwyrm/static/css/bookwyrm.scss index ee25b7287..437795457 100644 --- a/bookwyrm/static/css/bookwyrm.scss +++ b/bookwyrm/static/css/bookwyrm.scss @@ -1,6 +1,4 @@ @charset "utf-8"; -@import "instance-settings"; @import "vendor/bulma/bulma.sass"; -@import "vendor/icons.css"; @import "bookwyrm/all.scss"; diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 32e33907a..b2a6f582e 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -55,3 +55,4 @@ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; @import "../bookwyrm.scss"; +@import "../vendor/icons.css"; diff --git a/bookwyrm/static/css/themes/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss index 08e6a2917..02992bff2 100644 --- a/bookwyrm/static/css/themes/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -53,3 +53,4 @@ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; @import "../bookwyrm.scss"; +@import "../vendor/icons.css"; From f54d4863fe968d0e28b32bb320bacc2fbfb5d5e3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:37:51 -0800 Subject: [PATCH 062/458] Updates .gitignore for themes --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 92fc85bc0..ec2a08f80 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,8 @@ .env /images/ bookwyrm/static/css/bookwyrm.css -bookwyrm/static/css/_instance-settings.scss +bookwyrm/static/css/themes/ +!bookwyrm/static/css/themes/bookwyrm-*.scss # Testing .coverage From a00ee8a7062df15104fafeb4ce054e011d4e901b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:43:31 -0800 Subject: [PATCH 063/458] Adds link to set instance-wide theme --- bookwyrm/templates/settings/themes.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 11c344052..e3035b2ff 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -5,6 +5,12 @@ {% block header %}{% trans "Themes" %}{% endblock %} +{% block breadcrumbs %} + + {% trans "Set instance default theme" %} + +{% endblock %} + {% block panel %} {% if success %}
From 295d9c42d79c4a33a162fc0ddbc481eb857c9390 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:45:34 -0800 Subject: [PATCH 064/458] Adds theme to user settings form --- bookwyrm/forms.py | 1 + bookwyrm/templates/preferences/edit_user.html | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 01228b8e8..0baaaa212 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -155,6 +155,7 @@ class EditUserForm(CustomForm): "discoverable", "preferred_timezone", "preferred_language", + "theme", ] help_texts = {f: None for f in fields} widgets = { diff --git a/bookwyrm/templates/preferences/edit_user.html b/bookwyrm/templates/preferences/edit_user.html index 642d177cb..e55311aea 100644 --- a/bookwyrm/templates/preferences/edit_user.html +++ b/bookwyrm/templates/preferences/edit_user.html @@ -97,6 +97,12 @@ {{ form.preferred_language }}
+
+ +
+ {{ form.theme }} +
+
From 106ef2e3a49139ec8575529c0644caca7918cce1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:46:05 -0800 Subject: [PATCH 065/458] Fixes reference to theme in layout --- bookwyrm/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index aaf21717c..444241e5b 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -9,7 +9,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} {% with theme_path=user.get_theme %} - + {% endwith %} From c82042f5060ff5976d0814ae3c2ae15584fabd06 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:54:07 -0800 Subject: [PATCH 066/458] Delete themes --- bookwyrm/templates/settings/themes.html | 8 ++++++-- bookwyrm/urls.py | 5 +++++ bookwyrm/views/__init__.py | 2 +- bookwyrm/views/admin/themes.py | 11 +++++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index e3035b2ff..d3dac804f 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -123,8 +123,12 @@ {{ theme.name }} {{ theme.path }} -
- + + {% csrf_token %} +
diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index bef6786d7..415af912b 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -87,6 +87,11 @@ urlpatterns = [ ), re_path(r"^settings/site-settings/?$", views.Site.as_view(), name="settings-site"), re_path(r"^settings/themes/?$", views.Themes.as_view(), name="settings-themes"), + re_path( + r"^settings/themes/(?P\d+)/delete/?$", + views.delete_theme, + name="settings-themes-delete", + ), re_path( r"^settings/announcements/?$", views.Announcements.as_view(), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 675221cb8..957a0f6e7 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -21,7 +21,7 @@ from .admin.reports import ( moderator_delete_user, ) from .admin.site import Site -from .admin.themes import Themes +from .admin.themes import Themes, delete_theme from .admin.user_admin import UserAdmin, UserAdminList # user preferences diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py index c1eacf44b..12b449afb 100644 --- a/bookwyrm/views/admin/themes.py +++ b/bookwyrm/views/admin/themes.py @@ -2,9 +2,11 @@ from django.contrib.auth.decorators import login_required, permission_required from django.contrib.staticfiles.utils import get_files from django.contrib.staticfiles.storage import StaticFilesStorage +from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.views import View +from django.views.decorators.http import require_POST from bookwyrm import forms, models @@ -46,3 +48,12 @@ def get_view_data(): "choices": [c for c in choices if c not in current and c[-5:] == ".scss"], "theme_form": forms.ThemeForm(), } + + +@require_POST +@permission_required("bookwyrm.edit_instance_settings", raise_exception=True) +# pylint: disable=unused-argument +def delete_theme(request, theme_id): + """Remove a theme""" + get_object_or_404(models.Theme, id=theme_id).delete() + return redirect("settings-themes") From 1e3f9246d64abb3d6950c4bd0149b2182d2307cf Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Mon, 28 Feb 2022 20:56:59 +0100 Subject: [PATCH 067/458] Produce a proper status --- bookwyrm/views/helpers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/views/helpers.py b/bookwyrm/views/helpers.py index 74d867b66..b0ee713eb 100644 --- a/bookwyrm/views/helpers.py +++ b/bookwyrm/views/helpers.py @@ -137,6 +137,7 @@ def handle_reading_status(user, shelf, book, privacy): "to-read": "wants to read", "reading": "started reading", "read": "finished reading", + "stopped-reading": "stopped reading", }[shelf.identifier] except KeyError: # it's a non-standard shelf, don't worry about it From a6883b5b8765498e0918984e9b503c5f35430b21 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 13:30:02 -0800 Subject: [PATCH 068/458] Adds merge migration --- ...142_auto_20220227_1752_0142_user_hide_follows.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 bookwyrm/migrations/0143_merge_0142_auto_20220227_1752_0142_user_hide_follows.py diff --git a/bookwyrm/migrations/0143_merge_0142_auto_20220227_1752_0142_user_hide_follows.py b/bookwyrm/migrations/0143_merge_0142_auto_20220227_1752_0142_user_hide_follows.py new file mode 100644 index 000000000..b36fa9f9c --- /dev/null +++ b/bookwyrm/migrations/0143_merge_0142_auto_20220227_1752_0142_user_hide_follows.py @@ -0,0 +1,13 @@ +# Generated by Django 3.2.12 on 2022-02-28 21:28 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0142_auto_20220227_1752"), + ("bookwyrm", "0142_user_hide_follows"), + ] + + operations = [] From 62b4133e5864e14a3306a4a08676a7d8f3fbc975 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Mon, 28 Feb 2022 21:22:49 -0800 Subject: [PATCH 069/458] Move quagga to vendor. --- bookwyrm/static/js/{ => vendor}/quagga.min.js | 0 bookwyrm/templates/layout.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename bookwyrm/static/js/{ => vendor}/quagga.min.js (100%) diff --git a/bookwyrm/static/js/quagga.min.js b/bookwyrm/static/js/vendor/quagga.min.js similarity index 100% rename from bookwyrm/static/js/quagga.min.js rename to bookwyrm/static/js/vendor/quagga.min.js diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index f352e882e..e3a8d2d80 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -274,7 +274,7 @@ - + {% block scripts %}{% endblock %} From 40bb9112fd8f4ed8f28901b19253ac6ce3d33677 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Mon, 28 Feb 2022 21:23:44 -0800 Subject: [PATCH 070/458] .prettierignore to vendor --- .prettierignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierignore b/.prettierignore index dbbfd978b..9fa808eed 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1 @@ -*.min.js +**/vendor/* From c0fed31fb02edc318b778eaa1d4726fcbb8c5c55 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Mon, 28 Feb 2022 21:28:33 -0800 Subject: [PATCH 071/458] eslint --- bookwyrm/static/js/bookwyrm.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 1ca6bfc25..100daa039 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -1,5 +1,5 @@ /* exported BookWyrm */ -/* globals TabGroup */ +/* globals TabGroup, Quagga */ let BookWyrm = new (class { constructor() { @@ -696,11 +696,13 @@ let BookWyrm = new (class { scannerNode.replaceChildren(); console.log(err); toggleStatus("access-denied"); + return; } let activeId = null; const track = Quagga.CameraAccess.getActiveTrack(); + if (track) { activeId = track.getSettings().deviceId; } @@ -710,6 +712,7 @@ let BookWyrm = new (class { for (const device of devices) { const child = document.createElement("option"); + child.value = device.deviceId; child.innerText = device.label.slice(0, 30); @@ -776,11 +779,13 @@ let BookWyrm = new (class { let lastDetection = null; let numDetected = 0; + Quagga.onDetected((result) => { // Detect the same code 3 times as an extra check to avoid bogus scans. if (lastDetection === null || lastDetection !== result.codeResult.code) { numDetected = 1; lastDetection = result.codeResult.code; + return; } else if (numDetected++ < 3) { return; @@ -792,6 +797,7 @@ let BookWyrm = new (class { toggleStatus("found"); const search = new URL("/search", document.location); + search.searchParams.set("q", code); cleanup(false); From 8e9bacc527f7d5e906c1b30bb071e0a9d68d6eb2 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Mon, 28 Feb 2022 23:31:57 -0800 Subject: [PATCH 072/458] Fix red for being too harsh --- bookwyrm/static/css/themes/bookwyrm-dark.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 216fa1e8c..e363572d5 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -13,6 +13,7 @@ $warning: #8b6c15; $danger: #872538; $danger-light: #481922; $light: #393939; +$red: #ffa1b4; /* book cover standins */ $no-cover-color: #002549; From f4dc07b6b90909ab28cda3ec5e37d3f471801a34 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 09:49:34 -0800 Subject: [PATCH 073/458] Select theme in context processors --- bookwyrm/context_processors.py | 10 ++- bookwyrm/models/user.py | 11 --- bookwyrm/templates/layout.html | 4 +- bookwyrm/tests/test_context_processors.py | 86 +++++++++++++++++++++++ 4 files changed, 96 insertions(+), 15 deletions(-) create mode 100644 bookwyrm/tests/test_context_processors.py diff --git a/bookwyrm/context_processors.py b/bookwyrm/context_processors.py index 309e84ed1..b5110d245 100644 --- a/bookwyrm/context_processors.py +++ b/bookwyrm/context_processors.py @@ -8,8 +8,16 @@ def site_settings(request): # pylint: disable=unused-argument if not request.is_secure(): request_protocol = "http://" + site = models.SiteSettings.objects.get() + theme = "css/themes/bookwyrm-light.scss" + if request.user.is_authenticated and request.user.theme: + theme = request.user.theme.path + elif site.default_theme: + theme = site.default_theme.path + return { - "site": models.SiteSettings.objects.get(), + "site": site, + "site_theme": theme, "active_announcements": models.Announcement.active_announcements(), "thumbnail_generation_enabled": settings.ENABLE_THUMBNAIL_GENERATION, "media_full_url": settings.MEDIA_FULL_URL, diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index e4b98db31..be5c19922 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -174,17 +174,6 @@ class User(OrderedCollectionPageMixin, AbstractUser): property_fields = [("following_link", "following")] field_tracker = FieldTracker(fields=["name", "avatar"]) - @property - def get_theme(self): - """get the theme given the user/site""" - if self.theme: - return self.theme.path - site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) - site = site_model.objects.get() - if site.default_theme: - return site.default_theme.path - return "css/themes/bookwyrm-light.scss" - @property def confirmation_link(self): """helper for generating confirmation links""" diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 444241e5b..51ba7915e 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -8,9 +8,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} - {% with theme_path=user.get_theme %} - - {% endwith %} + diff --git a/bookwyrm/tests/test_context_processors.py b/bookwyrm/tests/test_context_processors.py new file mode 100644 index 000000000..3d634aaf2 --- /dev/null +++ b/bookwyrm/tests/test_context_processors.py @@ -0,0 +1,86 @@ +""" test for context processor """ +from unittest.mock import patch +from django.contrib.auth.models import AnonymousUser +from django.test import TestCase +from django.test.client import RequestFactory + +from bookwyrm import models +from bookwyrm.context_processors import site_settings + + +class ContextProcessor(TestCase): + """pages you land on without really trying""" + + def setUp(self): + """we need basic test data and mocks""" + self.factory = RequestFactory() + with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( + "bookwyrm.activitystreams.populate_stream_task.delay" + ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + self.anonymous_user = AnonymousUser + self.anonymous_user.is_authenticated = False + self.site = models.SiteSettings.objects.create() + + def test_theme_unset(self): + """logged in user, no selected theme""" + request = self.factory.get("") + request.user = self.local_user + settings = site_settings(request) + self.assertEqual(settings["site_theme"], "css/themes/bookwyrm-light.scss") + + def test_theme_unset_logged_out(self): + """logged out user, no selected theme""" + request = self.factory.get("") + request.user = self.anonymous_user + settings = site_settings(request) + self.assertEqual(settings["site_theme"], "css/themes/bookwyrm-light.scss") + + def test_theme_instance_default(self): + """logged in user, instance default theme""" + self.site.default_theme = models.Theme.objects.get(name="BookWyrm Dark") + self.site.save() + + request = self.factory.get("") + request.user = self.local_user + settings = site_settings(request) + self.assertEqual(settings["site_theme"], "css/themes/bookwyrm-dark.scss") + + def test_theme_instance_default_logged_out(self): + """logged out user, instance default theme""" + self.site.default_theme = models.Theme.objects.get(name="BookWyrm Dark") + self.site.save() + + request = self.factory.get("") + request.user = self.anonymous_user + settings = site_settings(request) + self.assertEqual(settings["site_theme"], "css/themes/bookwyrm-dark.scss") + + def test_theme_user_set(self): + """logged in user, user theme""" + self.local_user.theme = models.Theme.objects.get(name="BookWyrm Dark") + self.local_user.save(broadcast=False, update_fields=["theme"]) + + request = self.factory.get("") + request.user = self.local_user + settings = site_settings(request) + self.assertEqual(settings["site_theme"], "css/themes/bookwyrm-dark.scss") + + def test_theme_user_set_instance_default(self): + """logged in user, instance default theme""" + self.site.default_theme = models.Theme.objects.get(name="BookWyrm Dark") + self.site.save() + + self.local_user.theme = models.Theme.objects.get(name="BookWyrm Light") + self.local_user.save(broadcast=False, update_fields=["theme"]) + + request = self.factory.get("") + request.user = self.local_user + settings = site_settings(request) + self.assertEqual(settings["site_theme"], "css/themes/bookwyrm-light.scss") From c7c90f9e9b43ad322b0e382da2fceb2d4790f92f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 10:09:53 -0800 Subject: [PATCH 074/458] Removes test print statement --- bookwyrm/models/antispam.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bookwyrm/models/antispam.py b/bookwyrm/models/antispam.py index bce02780d..f506b6f19 100644 --- a/bookwyrm/models/antispam.py +++ b/bookwyrm/models/antispam.py @@ -54,7 +54,6 @@ class AutoMod(models.Model): @app.task(queue="low_priority") def automod_task(): """Create reports""" - print("TASK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") if not AutoMod.objects.exists(): return reporter = AutoMod.objects.first().created_by From d1d743281a5ccf25ce0d903fb2eae01ba2b3231c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 10:28:51 -0800 Subject: [PATCH 075/458] Cleans up display of superlatives on about page --- bookwyrm/templates/about/about.html | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/bookwyrm/templates/about/about.html b/bookwyrm/templates/about/about.html index 553bfee11..f1ddd2f38 100644 --- a/bookwyrm/templates/about/about.html +++ b/bookwyrm/templates/about/about.html @@ -14,23 +14,25 @@ {% cache 604800 about_page %} {% get_book_superlatives as superlatives %} -
-

- {% blocktrans with site_name=site.name %}Welcome to {{ site_name }}!{% endblocktrans %} -

+
+
+

+ {% blocktrans with site_name=site.name %}Welcome to {{ site_name }}!{% endblocktrans %} +

-

- {% blocktrans trimmed with site_name=site.name %} - {{ site_name }} 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. - {% endblocktrans %} -

+

+ {% blocktrans trimmed with site_name=site.name %} + {{ site_name }} 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. + {% endblocktrans %} +

+
{% if superlatives.top_rated %} {% with book=superlatives.top_rated.default_edition rating=superlatives.top_rated.rating %}
-
+
{% include 'snippets/book_cover.html' with book=book cover_class='is-h-m' size='medium' aria='show' %} @@ -49,7 +51,7 @@ {% if superlatives.wanted %} {% with book=superlatives.wanted.default_edition %}
-
+
{% include 'snippets/book_cover.html' with book=book cover_class='is-h-m' size='medium' aria='show' %} @@ -68,7 +70,7 @@ {% if superlatives.controversial %} {% with book=superlatives.controversial.default_edition %}
-
+
{% include 'snippets/book_cover.html' with book=book cover_class='is-h-m' size='medium' aria='show' %} From 5d7e6b872a9cc576b03fbd42b6d6ebc6775e5963 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 10:34:17 -0800 Subject: [PATCH 076/458] Fixes localizing query for superlatives --- bookwyrm/templatetags/landing_page_tags.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templatetags/landing_page_tags.py b/bookwyrm/templatetags/landing_page_tags.py index e7d943603..ea2512cc7 100644 --- a/bookwyrm/templatetags/landing_page_tags.py +++ b/bookwyrm/templatetags/landing_page_tags.py @@ -16,11 +16,15 @@ def get_book_superlatives(): models.Work.objects.annotate( rating=Avg( "editions__review__rating", - filter=Q(editions__review__local=True, editions__review__deleted=False), + filter=Q( + editions__review__user__local=True, editions__review__deleted=False + ), ), rating_count=Count( "editions__review", - filter=Q(editions__review__local=True, editions__review__deleted=False), + filter=Q( + editions__review__user__local=True, editions__review__deleted=False + ), ), ) .annotate(weighted=F("rating") * F("rating_count") / total_ratings) @@ -33,11 +37,15 @@ def get_book_superlatives(): models.Work.objects.annotate( deviation=StdDev( "editions__review__rating", - filter=Q(editions__review__local=True, editions__review__deleted=False), + filter=Q( + editions__review__user__local=True, editions__review__deleted=False + ), ), rating_count=Count( "editions__review", - filter=Q(editions__review__local=True, editions__review__deleted=False), + filter=Q( + editions__review__user__local=True, editions__review__deleted=False + ), ), ) .annotate(weighted=F("deviation") * F("rating_count") / total_ratings) From 9422a07414262df83fe3eeecf23db530aba179ea Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 10:36:19 -0800 Subject: [PATCH 077/458] Safer query for request user for tests --- bookwyrm/context_processors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/context_processors.py b/bookwyrm/context_processors.py index b5110d245..aeab55e2a 100644 --- a/bookwyrm/context_processors.py +++ b/bookwyrm/context_processors.py @@ -10,7 +10,7 @@ def site_settings(request): # pylint: disable=unused-argument site = models.SiteSettings.objects.get() theme = "css/themes/bookwyrm-light.scss" - if request.user.is_authenticated and request.user.theme: + if request.user and request.user.is_authenticated and request.user.theme: theme = request.user.theme.path elif site.default_theme: theme = site.default_theme.path From 55f1ce12cfb92c8e0df819ae6c145db4fbaf3438 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 11:05:47 -0800 Subject: [PATCH 078/458] Second attempt at fixing tests using context processors --- bookwyrm/context_processors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/context_processors.py b/bookwyrm/context_processors.py index aeab55e2a..9de75eda7 100644 --- a/bookwyrm/context_processors.py +++ b/bookwyrm/context_processors.py @@ -10,7 +10,7 @@ def site_settings(request): # pylint: disable=unused-argument site = models.SiteSettings.objects.get() theme = "css/themes/bookwyrm-light.scss" - if request.user and request.user.is_authenticated and request.user.theme: + if hasattr(request, "user") and request.user.is_authenticated and request.user.theme: theme = request.user.theme.path elif site.default_theme: theme = site.default_theme.path From 41ea7db8b612dc01b3ada5d87a90b4242890030d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 1 Mar 2022 11:06:15 -0800 Subject: [PATCH 079/458] Removes hardcoded white in announcements --- .../0144_alter_announcement_display_type.py | 39 +++++++++++++++++++ bookwyrm/models/announcement.py | 7 +--- bookwyrm/templates/snippets/announcement.html | 2 +- 3 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 bookwyrm/migrations/0144_alter_announcement_display_type.py diff --git a/bookwyrm/migrations/0144_alter_announcement_display_type.py b/bookwyrm/migrations/0144_alter_announcement_display_type.py new file mode 100644 index 000000000..246dd5b4e --- /dev/null +++ b/bookwyrm/migrations/0144_alter_announcement_display_type.py @@ -0,0 +1,39 @@ +# Generated by Django 3.2.12 on 2022-03-01 18:46 + +from django.db import migrations, models + + +def remove_white(apps, schema_editor): + """don't hardcode white announcements""" + db_alias = schema_editor.connection.alias + announcement_model = apps.get_model("bookwyrm", "Announcement") + announcement_model.objects.using(db_alias).filter(display_type="white-ter").update( + display_type=None + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0143_merge_0142_auto_20220227_1752_0142_user_hide_follows"), + ] + + operations = [ + migrations.AlterField( + model_name="announcement", + name="display_type", + field=models.CharField( + blank=True, + choices=[ + ("primary-light", "Primary"), + ("success-light", "Success"), + ("link-light", "Link"), + ("warning-light", "Warning"), + ("danger-light", "Danger"), + ], + max_length=20, + null=True, + ), + ), + migrations.RunPython(remove_white, reverse_code=migrations.RunPython.noop), + ] diff --git a/bookwyrm/models/announcement.py b/bookwyrm/models/announcement.py index cbed38aee..4581dbdae 100644 --- a/bookwyrm/models/announcement.py +++ b/bookwyrm/models/announcement.py @@ -8,7 +8,6 @@ from .base_model import BookWyrmModel DisplayTypes = [ - ("white-ter", _("None")), ("primary-light", _("Primary")), ("success-light", _("Success")), ("link-light", _("Link")), @@ -28,11 +27,7 @@ class Announcement(BookWyrmModel): end_date = models.DateTimeField(blank=True, null=True) active = models.BooleanField(default=True) display_type = models.CharField( - max_length=20, - blank=False, - null=False, - choices=DisplayTypes, - default="white-ter", + max_length=20, choices=DisplayTypes, null=True, blank=True ) @classmethod diff --git a/bookwyrm/templates/snippets/announcement.html b/bookwyrm/templates/snippets/announcement.html index ec1555d8f..d9da01c96 100644 --- a/bookwyrm/templates/snippets/announcement.html +++ b/bookwyrm/templates/snippets/announcement.html @@ -1,7 +1,7 @@ {% load humanize %}{% load i18n %}{% load utilities %} {% with announcement.id|uuid as uuid %}
+ +{% block scripts %} + +{% endblock %} From 7169f7ba2030eef10023f3518b0a5e45a52b7219 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 11:43:58 -0700 Subject: [PATCH 151/458] Creates forms directory --- bookwyrm/forms/__init__.py | 3 +++ bookwyrm/{ => forms}/forms.py | 0 2 files changed, 3 insertions(+) create mode 100644 bookwyrm/forms/__init__.py rename bookwyrm/{ => forms}/forms.py (100%) diff --git a/bookwyrm/forms/__init__.py b/bookwyrm/forms/__init__.py new file mode 100644 index 000000000..dac2007b8 --- /dev/null +++ b/bookwyrm/forms/__init__.py @@ -0,0 +1,3 @@ +""" make forms available to the app """ +# site admin +from .forms import * diff --git a/bookwyrm/forms.py b/bookwyrm/forms/forms.py similarity index 100% rename from bookwyrm/forms.py rename to bookwyrm/forms/forms.py From d3f723a07dd95ddf96c5b96d7fb23fea6abd54c2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 11:46:08 -0700 Subject: [PATCH 152/458] Splits forms into separate files --- bookwyrm/forms/__init__.py | 9 + bookwyrm/forms/admin.py | 129 +++++++++ bookwyrm/forms/author.py | 47 +++ bookwyrm/forms/books.py | 81 ++++++ bookwyrm/forms/custom_form.py | 26 ++ bookwyrm/forms/edit_user.py | 68 +++++ bookwyrm/forms/forms.py | 529 +--------------------------------- bookwyrm/forms/groups.py | 16 + bookwyrm/forms/landing.py | 45 +++ bookwyrm/forms/links.py | 48 +++ bookwyrm/forms/lists.py | 37 +++ bookwyrm/forms/status.py | 82 ++++++ 12 files changed, 590 insertions(+), 527 deletions(-) create mode 100644 bookwyrm/forms/admin.py create mode 100644 bookwyrm/forms/author.py create mode 100644 bookwyrm/forms/books.py create mode 100644 bookwyrm/forms/custom_form.py create mode 100644 bookwyrm/forms/edit_user.py create mode 100644 bookwyrm/forms/groups.py create mode 100644 bookwyrm/forms/landing.py create mode 100644 bookwyrm/forms/links.py create mode 100644 bookwyrm/forms/lists.py create mode 100644 bookwyrm/forms/status.py diff --git a/bookwyrm/forms/__init__.py b/bookwyrm/forms/__init__.py index dac2007b8..a6f704339 100644 --- a/bookwyrm/forms/__init__.py +++ b/bookwyrm/forms/__init__.py @@ -1,3 +1,12 @@ """ make forms available to the app """ # site admin +from .admin import * +from .author import * +from .books import * from .forms import * +from .groups import * +from .landing import * +from .links import * +from .lists import * +from .status import * +from .user import * diff --git a/bookwyrm/forms/admin.py b/bookwyrm/forms/admin.py new file mode 100644 index 000000000..6b2984b3b --- /dev/null +++ b/bookwyrm/forms/admin.py @@ -0,0 +1,129 @@ +""" using django model forms """ +import datetime + +from django import forms +from django.forms import widgets +from django.utils import timezone +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class ExpiryWidget(widgets.Select): + def value_from_datadict(self, data, files, name): + """human-readable exiration time buckets""" + selected_string = super().value_from_datadict(data, files, name) + + if selected_string == "day": + interval = datetime.timedelta(days=1) + elif selected_string == "week": + interval = datetime.timedelta(days=7) + elif selected_string == "month": + interval = datetime.timedelta(days=31) # Close enough? + elif selected_string == "forever": + return None + else: + return selected_string # This will raise + + return timezone.now() + interval + + +class CreateInviteForm(CustomForm): + class Meta: + model = models.SiteInvite + exclude = ["code", "user", "times_used", "invitees"] + widgets = { + "expiry": ExpiryWidget( + choices=[ + ("day", _("One Day")), + ("week", _("One Week")), + ("month", _("One Month")), + ("forever", _("Does Not Expire")), + ] + ), + "use_limit": widgets.Select( + choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]] + + [(None, _("Unlimited"))] + ), + } + + +class SiteForm(CustomForm): + class Meta: + model = models.SiteSettings + exclude = ["admin_code", "install_mode"] + widgets = { + "instance_short_description": forms.TextInput( + attrs={"aria-describedby": "desc_instance_short_description"} + ), + "require_confirm_email": forms.CheckboxInput( + attrs={"aria-describedby": "desc_require_confirm_email"} + ), + "invite_request_text": forms.Textarea( + attrs={"aria-describedby": "desc_invite_request_text"} + ), + } + + +class ThemeForm(CustomForm): + class Meta: + model = models.Theme + fields = ["name", "path"] + widgets = { + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "path": forms.TextInput( + attrs={ + "aria-describedby": "desc_path", + "placeholder": "css/themes/theme-name.scss", + } + ), + } + + +class AnnouncementForm(CustomForm): + class Meta: + model = models.Announcement + exclude = ["remote_id"] + widgets = { + "preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}), + "content": forms.Textarea(attrs={"aria-describedby": "desc_content"}), + "event_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_event_date"} + ), + "start_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_start_date"} + ), + "end_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_end_date"} + ), + "active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}), + } + + +class EmailBlocklistForm(CustomForm): + class Meta: + model = models.EmailBlocklist + fields = ["domain"] + widgets = { + "avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}), + } + + +class IPBlocklistForm(CustomForm): + class Meta: + model = models.IPBlocklist + fields = ["address"] + + +class ServerForm(CustomForm): + class Meta: + model = models.FederatedServer + exclude = ["remote_id"] + + +class AutoModRuleForm(CustomForm): + class Meta: + model = models.AutoMod + fields = ["string_match", "flag_users", "flag_statuses", "created_by"] diff --git a/bookwyrm/forms/author.py b/bookwyrm/forms/author.py new file mode 100644 index 000000000..ca59426de --- /dev/null +++ b/bookwyrm/forms/author.py @@ -0,0 +1,47 @@ +""" using django model forms """ +from django import forms + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class AuthorForm(CustomForm): + class Meta: + model = models.Author + fields = [ + "last_edited_by", + "name", + "aliases", + "bio", + "wikipedia_link", + "born", + "died", + "openlibrary_key", + "inventaire_id", + "librarything_key", + "goodreads_key", + "isni", + ] + widgets = { + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}), + "bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}), + "wikipedia_link": forms.TextInput( + attrs={"aria-describedby": "desc_wikipedia_link"} + ), + "born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}), + "died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}), + "oepnlibrary_key": forms.TextInput( + attrs={"aria-describedby": "desc_oepnlibrary_key"} + ), + "inventaire_id": forms.TextInput( + attrs={"aria-describedby": "desc_inventaire_id"} + ), + "librarything_key": forms.TextInput( + attrs={"aria-describedby": "desc_librarything_key"} + ), + "goodreads_key": forms.TextInput( + attrs={"aria-describedby": "desc_goodreads_key"} + ), + } diff --git a/bookwyrm/forms/books.py b/bookwyrm/forms/books.py new file mode 100644 index 000000000..64b85d0b2 --- /dev/null +++ b/bookwyrm/forms/books.py @@ -0,0 +1,81 @@ +""" using django model forms """ +from django import forms + +from bookwyrm import models +from bookwyrm.models.fields import ClearableFileInputWithWarning +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class CoverForm(CustomForm): + class Meta: + model = models.Book + fields = ["cover"] + help_texts = {f: None for f in fields} + + +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", + ] + widgets = { + "title": forms.TextInput(attrs={"aria-describedby": "desc_title"}), + "subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}), + "description": forms.Textarea( + attrs={"aria-describedby": "desc_description"} + ), + "series": forms.TextInput(attrs={"aria-describedby": "desc_series"}), + "series_number": forms.TextInput( + attrs={"aria-describedby": "desc_series_number"} + ), + "languages": forms.TextInput( + attrs={"aria-describedby": "desc_languages_help desc_languages"} + ), + "subjects": forms.TextInput( + attrs={"aria-describedby": "desc_subjects_help desc_subjects"} + ), + "publishers": forms.TextInput( + attrs={"aria-describedby": "desc_publishers_help desc_publishers"} + ), + "first_published_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_first_published_date"} + ), + "published_date": forms.SelectDateWidget( + attrs={"aria-describedby": "desc_published_date"} + ), + "cover": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_cover"} + ), + "physical_format": forms.Select( + attrs={"aria-describedby": "desc_physical_format"} + ), + "physical_format_detail": forms.TextInput( + attrs={"aria-describedby": "desc_physical_format_detail"} + ), + "pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}), + "isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}), + "isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}), + "openlibrary_key": forms.TextInput( + attrs={"aria-describedby": "desc_openlibrary_key"} + ), + "inventaire_id": forms.TextInput( + attrs={"aria-describedby": "desc_inventaire_id"} + ), + "oclc_number": forms.TextInput( + attrs={"aria-describedby": "desc_oclc_number"} + ), + "ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}), + } diff --git a/bookwyrm/forms/custom_form.py b/bookwyrm/forms/custom_form.py new file mode 100644 index 000000000..74a3417a2 --- /dev/null +++ b/bookwyrm/forms/custom_form.py @@ -0,0 +1,26 @@ +""" Overrides django's default form class """ +from collections import defaultdict +from django.forms import ModelForm +from django.forms.widgets import Textarea + + +class CustomForm(ModelForm): + """add css classes to the forms""" + + def __init__(self, *args, **kwargs): + css_classes = defaultdict(lambda: "") + css_classes["text"] = "input" + css_classes["password"] = "input" + css_classes["email"] = "input" + css_classes["number"] = "input" + css_classes["checkbox"] = "checkbox" + css_classes["textarea"] = "textarea" + # pylint: disable=super-with-arguments + super(CustomForm, self).__init__(*args, **kwargs) + for visible in self.visible_fields(): + if hasattr(visible.field.widget, "input_type"): + input_type = visible.field.widget.input_type + if isinstance(visible.field.widget, Textarea): + input_type = "textarea" + visible.field.widget.attrs["rows"] = 5 + visible.field.widget.attrs["class"] = css_classes[input_type] diff --git a/bookwyrm/forms/edit_user.py b/bookwyrm/forms/edit_user.py new file mode 100644 index 000000000..d609f15dc --- /dev/null +++ b/bookwyrm/forms/edit_user.py @@ -0,0 +1,68 @@ +""" using django model forms """ +from django import forms + +from bookwyrm import models +from bookwyrm.models.fields import ClearableFileInputWithWarning +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class EditUserForm(CustomForm): + class Meta: + model = models.User + fields = [ + "avatar", + "name", + "email", + "summary", + "show_goal", + "show_suggested_users", + "manually_approves_followers", + "default_post_privacy", + "discoverable", + "hide_follows", + "preferred_timezone", + "preferred_language", + "theme", + ] + help_texts = {f: None for f in fields} + widgets = { + "avatar": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_avatar"} + ), + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), + "email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}), + "discoverable": forms.CheckboxInput( + attrs={"aria-describedby": "desc_discoverable"} + ), + } + + +class LimitedEditUserForm(CustomForm): + class Meta: + model = models.User + fields = [ + "avatar", + "name", + "summary", + "manually_approves_followers", + "discoverable", + ] + help_texts = {f: None for f in fields} + widgets = { + "avatar": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_avatar"} + ), + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), + "discoverable": forms.CheckboxInput( + attrs={"aria-describedby": "desc_discoverable"} + ), + } + + +class DeleteUserForm(CustomForm): + class Meta: + model = models.User + fields = ["password"] diff --git a/bookwyrm/forms/forms.py b/bookwyrm/forms/forms.py index ff35a9486..8af8fb812 100644 --- a/bookwyrm/forms/forms.py +++ b/bookwyrm/forms/forms.py @@ -1,212 +1,14 @@ """ using django model forms """ -import datetime -from collections import defaultdict -from urllib.parse import urlparse - from django import forms -from django.forms import ModelForm, PasswordInput, widgets, ChoiceField -from django.forms.widgets import Textarea -from django.utils import timezone +from django.forms import widgets from django.utils.translation import gettext_lazy as _ from bookwyrm import models -from bookwyrm.models.fields import ClearableFileInputWithWarning from bookwyrm.models.user import FeedFilterChoices - - -class CustomForm(ModelForm): - """add css classes to the forms""" - - def __init__(self, *args, **kwargs): - css_classes = defaultdict(lambda: "") - css_classes["text"] = "input" - css_classes["password"] = "input" - css_classes["email"] = "input" - css_classes["number"] = "input" - css_classes["checkbox"] = "checkbox" - css_classes["textarea"] = "textarea" - # pylint: disable=super-with-arguments - super(CustomForm, self).__init__(*args, **kwargs) - for visible in self.visible_fields(): - if hasattr(visible.field.widget, "input_type"): - input_type = visible.field.widget.input_type - if isinstance(visible.field.widget, Textarea): - input_type = "textarea" - visible.field.widget.attrs["rows"] = 5 - visible.field.widget.attrs["class"] = css_classes[input_type] +from .custom_form import CustomForm # pylint: disable=missing-class-docstring -class LoginForm(CustomForm): - class Meta: - model = models.User - fields = ["localname", "password"] - help_texts = {f: None for f in fields} - widgets = { - "password": PasswordInput(), - } - - -class RegisterForm(CustomForm): - class Meta: - model = models.User - fields = ["localname", "email", "password"] - help_texts = {f: None for f in fields} - widgets = {"password": PasswordInput()} - - def clean(self): - """Check if the username is taken""" - cleaned_data = super().clean() - localname = cleaned_data.get("localname").strip() - if models.User.objects.filter(localname=localname).first(): - self.add_error("localname", _("User with this username already exists")) - - -class RatingForm(CustomForm): - class Meta: - model = models.ReviewRating - fields = ["user", "book", "rating", "privacy"] - - -class ReviewForm(CustomForm): - class Meta: - model = models.Review - fields = [ - "user", - "book", - "name", - "content", - "rating", - "content_warning", - "sensitive", - "privacy", - ] - - -class CommentForm(CustomForm): - class Meta: - model = models.Comment - fields = [ - "user", - "book", - "content", - "content_warning", - "sensitive", - "privacy", - "progress", - "progress_mode", - "reading_status", - ] - - -class QuotationForm(CustomForm): - class Meta: - model = models.Quotation - fields = [ - "user", - "book", - "quote", - "content", - "content_warning", - "sensitive", - "privacy", - "position", - "position_mode", - ] - - -class ReplyForm(CustomForm): - class Meta: - model = models.Status - fields = [ - "user", - "content", - "content_warning", - "sensitive", - "reply_parent", - "privacy", - ] - - -class StatusForm(CustomForm): - class Meta: - model = models.Status - fields = ["user", "content", "content_warning", "sensitive", "privacy"] - - -class DirectForm(CustomForm): - class Meta: - model = models.Status - fields = ["user", "content", "content_warning", "sensitive", "privacy"] - - -class EditUserForm(CustomForm): - class Meta: - model = models.User - fields = [ - "avatar", - "name", - "email", - "summary", - "show_goal", - "show_suggested_users", - "manually_approves_followers", - "default_post_privacy", - "discoverable", - "hide_follows", - "preferred_timezone", - "preferred_language", - "theme", - ] - help_texts = {f: None for f in fields} - widgets = { - "avatar": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_avatar"} - ), - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), - "email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}), - "discoverable": forms.CheckboxInput( - attrs={"aria-describedby": "desc_discoverable"} - ), - } - - -class LimitedEditUserForm(CustomForm): - class Meta: - model = models.User - fields = [ - "avatar", - "name", - "summary", - "manually_approves_followers", - "discoverable", - ] - help_texts = {f: None for f in fields} - widgets = { - "avatar": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_avatar"} - ), - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), - "discoverable": forms.CheckboxInput( - attrs={"aria-describedby": "desc_discoverable"} - ), - } - - -class DeleteUserForm(CustomForm): - class Meta: - model = models.User - fields = ["password"] - - -class UserGroupForm(CustomForm): - class Meta: - model = models.User - fields = ["groups"] - - class FeedStatusTypesForm(CustomForm): class Meta: model = models.User @@ -219,217 +21,10 @@ class FeedStatusTypesForm(CustomForm): } -class CoverForm(CustomForm): - class Meta: - model = models.Book - fields = ["cover"] - help_texts = {f: None for f in fields} - - -class LinkDomainForm(CustomForm): - class Meta: - model = models.LinkDomain - fields = ["name"] - - -class FileLinkForm(CustomForm): - class Meta: - model = models.FileLink - fields = ["url", "filetype", "availability", "book", "added_by"] - - def clean(self): - """make sure the domain isn't blocked or pending""" - cleaned_data = super().clean() - url = cleaned_data.get("url") - filetype = cleaned_data.get("filetype") - book = cleaned_data.get("book") - domain = urlparse(url).netloc - if models.LinkDomain.objects.filter(domain=domain).exists(): - status = models.LinkDomain.objects.get(domain=domain).status - if status == "blocked": - # pylint: disable=line-too-long - self.add_error( - "url", - _( - "This domain is blocked. Please contact your administrator if you think this is an error." - ), - ) - elif models.FileLink.objects.filter( - url=url, book=book, filetype=filetype - ).exists(): - # pylint: disable=line-too-long - self.add_error( - "url", - _( - "This link with file type has already been added for this book. If it is not visible, the domain is still pending." - ), - ) - - -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", - ] - widgets = { - "title": forms.TextInput(attrs={"aria-describedby": "desc_title"}), - "subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}), - "description": forms.Textarea( - attrs={"aria-describedby": "desc_description"} - ), - "series": forms.TextInput(attrs={"aria-describedby": "desc_series"}), - "series_number": forms.TextInput( - attrs={"aria-describedby": "desc_series_number"} - ), - "languages": forms.TextInput( - attrs={"aria-describedby": "desc_languages_help desc_languages"} - ), - "subjects": forms.TextInput( - attrs={"aria-describedby": "desc_subjects_help desc_subjects"} - ), - "publishers": forms.TextInput( - attrs={"aria-describedby": "desc_publishers_help desc_publishers"} - ), - "first_published_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_first_published_date"} - ), - "published_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_published_date"} - ), - "cover": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_cover"} - ), - "physical_format": forms.Select( - attrs={"aria-describedby": "desc_physical_format"} - ), - "physical_format_detail": forms.TextInput( - attrs={"aria-describedby": "desc_physical_format_detail"} - ), - "pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}), - "isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}), - "isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}), - "openlibrary_key": forms.TextInput( - attrs={"aria-describedby": "desc_openlibrary_key"} - ), - "inventaire_id": forms.TextInput( - attrs={"aria-describedby": "desc_inventaire_id"} - ), - "oclc_number": forms.TextInput( - attrs={"aria-describedby": "desc_oclc_number"} - ), - "ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}), - } - - -class AuthorForm(CustomForm): - class Meta: - model = models.Author - fields = [ - "last_edited_by", - "name", - "aliases", - "bio", - "wikipedia_link", - "born", - "died", - "openlibrary_key", - "inventaire_id", - "librarything_key", - "goodreads_key", - "isni", - ] - widgets = { - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}), - "bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}), - "wikipedia_link": forms.TextInput( - attrs={"aria-describedby": "desc_wikipedia_link"} - ), - "born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}), - "died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}), - "oepnlibrary_key": forms.TextInput( - attrs={"aria-describedby": "desc_oepnlibrary_key"} - ), - "inventaire_id": forms.TextInput( - attrs={"aria-describedby": "desc_inventaire_id"} - ), - "librarything_key": forms.TextInput( - attrs={"aria-describedby": "desc_librarything_key"} - ), - "goodreads_key": forms.TextInput( - attrs={"aria-describedby": "desc_goodreads_key"} - ), - } - - class ImportForm(forms.Form): csv_file = forms.FileField() -class ExpiryWidget(widgets.Select): - def value_from_datadict(self, data, files, name): - """human-readable exiration time buckets""" - selected_string = super().value_from_datadict(data, files, name) - - if selected_string == "day": - interval = datetime.timedelta(days=1) - elif selected_string == "week": - interval = datetime.timedelta(days=7) - elif selected_string == "month": - interval = datetime.timedelta(days=31) # Close enough? - elif selected_string == "forever": - return None - else: - return selected_string # This will raise - - return timezone.now() + interval - - -class InviteRequestForm(CustomForm): - def clean(self): - """make sure the email isn't in use by a registered user""" - cleaned_data = super().clean() - email = cleaned_data.get("email") - if email and models.User.objects.filter(email=email).exists(): - self.add_error("email", _("A user with this email already exists.")) - - class Meta: - model = models.InviteRequest - fields = ["email"] - - -class CreateInviteForm(CustomForm): - class Meta: - model = models.SiteInvite - exclude = ["code", "user", "times_used", "invitees"] - widgets = { - "expiry": ExpiryWidget( - choices=[ - ("day", _("One Day")), - ("week", _("One Week")), - ("month", _("One Month")), - ("forever", _("Does Not Expire")), - ] - ), - "use_limit": widgets.Select( - choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]] - + [(None, _("Unlimited"))] - ), - } - - class ShelfForm(CustomForm): class Meta: model = models.Shelf @@ -442,126 +37,12 @@ class GoalForm(CustomForm): fields = ["user", "year", "goal", "privacy"] -class SiteForm(CustomForm): - class Meta: - model = models.SiteSettings - exclude = ["admin_code", "install_mode"] - widgets = { - "instance_short_description": forms.TextInput( - attrs={"aria-describedby": "desc_instance_short_description"} - ), - "require_confirm_email": forms.CheckboxInput( - attrs={"aria-describedby": "desc_require_confirm_email"} - ), - "invite_request_text": forms.Textarea( - attrs={"aria-describedby": "desc_invite_request_text"} - ), - } - - -class SiteThemeForm(CustomForm): - class Meta: - model = models.SiteSettings - fields = ["default_theme"] - - -class ThemeForm(CustomForm): - class Meta: - model = models.Theme - fields = ["name", "path"] - widgets = { - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.TextInput( - attrs={ - "aria-describedby": "desc_path", - "placeholder": "css/themes/theme-name.scss", - } - ), - } - - -class AnnouncementForm(CustomForm): - class Meta: - model = models.Announcement - exclude = ["remote_id"] - widgets = { - "preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}), - "content": forms.Textarea(attrs={"aria-describedby": "desc_content"}), - "event_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_event_date"} - ), - "start_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_start_date"} - ), - "end_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_end_date"} - ), - "active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}), - } - - -class ListForm(CustomForm): - class Meta: - model = models.List - fields = ["user", "name", "description", "curation", "privacy", "group"] - - -class ListItemForm(CustomForm): - class Meta: - model = models.ListItem - fields = ["user", "book", "book_list", "notes"] - - -class GroupForm(CustomForm): - class Meta: - model = models.Group - fields = ["user", "privacy", "name", "description"] - - class ReportForm(CustomForm): class Meta: model = models.Report fields = ["user", "reporter", "status", "links", "note"] -class EmailBlocklistForm(CustomForm): - class Meta: - model = models.EmailBlocklist - fields = ["domain"] - widgets = { - "avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}), - } - - -class IPBlocklistForm(CustomForm): - class Meta: - model = models.IPBlocklist - fields = ["address"] - - -class ServerForm(CustomForm): - class Meta: - model = models.FederatedServer - exclude = ["remote_id"] - - -class SortListForm(forms.Form): - sort_by = ChoiceField( - choices=( - ("order", _("List Order")), - ("title", _("Book Title")), - ("rating", _("Rating")), - ), - label=_("Sort By"), - ) - direction = ChoiceField( - choices=( - ("ascending", _("Ascending")), - ("descending", _("Descending")), - ), - ) - - class ReadThroughForm(CustomForm): def clean(self): """make sure the email isn't in use by a registered user""" @@ -576,9 +57,3 @@ class ReadThroughForm(CustomForm): class Meta: model = models.ReadThrough fields = ["user", "book", "start_date", "finish_date"] - - -class AutoModRuleForm(CustomForm): - class Meta: - model = models.AutoMod - fields = ["string_match", "flag_users", "flag_statuses", "created_by"] diff --git a/bookwyrm/forms/groups.py b/bookwyrm/forms/groups.py new file mode 100644 index 000000000..15b27c0ae --- /dev/null +++ b/bookwyrm/forms/groups.py @@ -0,0 +1,16 @@ +""" using django model forms """ +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class UserGroupForm(CustomForm): + class Meta: + model = models.User + fields = ["groups"] + + +class GroupForm(CustomForm): + class Meta: + model = models.Group + fields = ["user", "privacy", "name", "description"] diff --git a/bookwyrm/forms/landing.py b/bookwyrm/forms/landing.py new file mode 100644 index 000000000..61b92ee83 --- /dev/null +++ b/bookwyrm/forms/landing.py @@ -0,0 +1,45 @@ +""" Forms for the landing pages """ +from django.forms import PasswordInput +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class LoginForm(CustomForm): + class Meta: + model = models.User + fields = ["localname", "password"] + help_texts = {f: None for f in fields} + widgets = { + "password": PasswordInput(), + } + + +class RegisterForm(CustomForm): + class Meta: + model = models.User + fields = ["localname", "email", "password"] + help_texts = {f: None for f in fields} + widgets = {"password": PasswordInput()} + + def clean(self): + """Check if the username is taken""" + cleaned_data = super().clean() + localname = cleaned_data.get("localname").strip() + if models.User.objects.filter(localname=localname).first(): + self.add_error("localname", _("User with this username already exists")) + + +class InviteRequestForm(CustomForm): + def clean(self): + """make sure the email isn't in use by a registered user""" + cleaned_data = super().clean() + email = cleaned_data.get("email") + if email and models.User.objects.filter(email=email).exists(): + self.add_error("email", _("A user with this email already exists.")) + + class Meta: + model = models.InviteRequest + fields = ["email"] diff --git a/bookwyrm/forms/links.py b/bookwyrm/forms/links.py new file mode 100644 index 000000000..de229bc2d --- /dev/null +++ b/bookwyrm/forms/links.py @@ -0,0 +1,48 @@ +""" using django model forms """ +from urllib.parse import urlparse + +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class LinkDomainForm(CustomForm): + class Meta: + model = models.LinkDomain + fields = ["name"] + + +class FileLinkForm(CustomForm): + class Meta: + model = models.FileLink + fields = ["url", "filetype", "availability", "book", "added_by"] + + def clean(self): + """make sure the domain isn't blocked or pending""" + cleaned_data = super().clean() + url = cleaned_data.get("url") + filetype = cleaned_data.get("filetype") + book = cleaned_data.get("book") + domain = urlparse(url).netloc + if models.LinkDomain.objects.filter(domain=domain).exists(): + status = models.LinkDomain.objects.get(domain=domain).status + if status == "blocked": + # pylint: disable=line-too-long + self.add_error( + "url", + _( + "This domain is blocked. Please contact your administrator if you think this is an error." + ), + ) + elif models.FileLink.objects.filter( + url=url, book=book, filetype=filetype + ).exists(): + # pylint: disable=line-too-long + self.add_error( + "url", + _( + "This link with file type has already been added for this book. If it is not visible, the domain is still pending." + ), + ) diff --git a/bookwyrm/forms/lists.py b/bookwyrm/forms/lists.py new file mode 100644 index 000000000..647db3bfe --- /dev/null +++ b/bookwyrm/forms/lists.py @@ -0,0 +1,37 @@ +""" using django model forms """ +from django import forms +from django.forms import ChoiceField +from django.utils.translation import gettext_lazy as _ + +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class ListForm(CustomForm): + class Meta: + model = models.List + fields = ["user", "name", "description", "curation", "privacy", "group"] + + +class ListItemForm(CustomForm): + class Meta: + model = models.ListItem + fields = ["user", "book", "book_list", "notes"] + + +class SortListForm(forms.Form): + sort_by = ChoiceField( + choices=( + ("order", _("List Order")), + ("title", _("Book Title")), + ("rating", _("Rating")), + ), + label=_("Sort By"), + ) + direction = ChoiceField( + choices=( + ("ascending", _("Ascending")), + ("descending", _("Descending")), + ), + ) diff --git a/bookwyrm/forms/status.py b/bookwyrm/forms/status.py new file mode 100644 index 000000000..0800166bf --- /dev/null +++ b/bookwyrm/forms/status.py @@ -0,0 +1,82 @@ +""" using django model forms """ +from bookwyrm import models +from .custom_form import CustomForm + + +# pylint: disable=missing-class-docstring +class RatingForm(CustomForm): + class Meta: + model = models.ReviewRating + fields = ["user", "book", "rating", "privacy"] + + +class ReviewForm(CustomForm): + class Meta: + model = models.Review + fields = [ + "user", + "book", + "name", + "content", + "rating", + "content_warning", + "sensitive", + "privacy", + ] + + +class CommentForm(CustomForm): + class Meta: + model = models.Comment + fields = [ + "user", + "book", + "content", + "content_warning", + "sensitive", + "privacy", + "progress", + "progress_mode", + "reading_status", + ] + + +class QuotationForm(CustomForm): + class Meta: + model = models.Quotation + fields = [ + "user", + "book", + "quote", + "content", + "content_warning", + "sensitive", + "privacy", + "position", + "position_mode", + ] + + +class ReplyForm(CustomForm): + class Meta: + model = models.Status + fields = [ + "user", + "content", + "content_warning", + "sensitive", + "reply_parent", + "privacy", + ] + + +class StatusForm(CustomForm): + class Meta: + model = models.Status + fields = ["user", "content", "content_warning", "sensitive", "privacy"] + + +class DirectForm(CustomForm): + class Meta: + model = models.Status + fields = ["user", "content", "content_warning", "sensitive", "privacy"] From 19202e2cd77fddb0cd267e911d713e3562ba4617 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 12:12:51 -0700 Subject: [PATCH 153/458] Fixes name of user forms file --- bookwyrm/forms/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/forms/__init__.py b/bookwyrm/forms/__init__.py index a6f704339..075752936 100644 --- a/bookwyrm/forms/__init__.py +++ b/bookwyrm/forms/__init__.py @@ -3,10 +3,10 @@ from .admin import * from .author import * from .books import * +from .edit_user import * from .forms import * from .groups import * from .landing import * from .links import * from .lists import * from .status import * -from .user import * From 486f70c7fbd9147ca1ed4a58cee162676b7a5404 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 12:31:29 -0700 Subject: [PATCH 154/458] Adds scanner translation strings --- locale/de_DE/LC_MESSAGES/django.po | 122 +++++----- locale/en_US/LC_MESSAGES/django.po | 348 +++++++++++++++------------ locale/es_ES/LC_MESSAGES/django.mo | Bin 83719 -> 83594 bytes locale/es_ES/LC_MESSAGES/django.po | 130 +++++----- locale/fr_FR/LC_MESSAGES/django.po | 128 +++++----- locale/gl_ES/LC_MESSAGES/django.mo | Bin 89448 -> 89154 bytes locale/gl_ES/LC_MESSAGES/django.po | 126 +++++----- locale/it_IT/LC_MESSAGES/django.mo | Bin 90758 -> 90522 bytes locale/it_IT/LC_MESSAGES/django.po | 126 +++++----- locale/lt_LT/LC_MESSAGES/django.mo | Bin 84886 -> 84689 bytes locale/lt_LT/LC_MESSAGES/django.po | 122 +++++----- locale/no_NO/LC_MESSAGES/django.mo | Bin 79871 -> 79689 bytes locale/no_NO/LC_MESSAGES/django.po | 122 +++++----- locale/pt_BR/LC_MESSAGES/django.mo | Bin 90058 -> 89997 bytes locale/pt_BR/LC_MESSAGES/django.po | 124 +++++----- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72909 -> 72742 bytes locale/pt_PT/LC_MESSAGES/django.po | 124 +++++----- locale/sv_SE/LC_MESSAGES/django.mo | Bin 87935 -> 87729 bytes locale/sv_SE/LC_MESSAGES/django.po | 122 +++++----- locale/zh_Hans/LC_MESSAGES/django.po | 126 +++++----- locale/zh_Hant/LC_MESSAGES/django.po | 122 +++++----- 21 files changed, 909 insertions(+), 933 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index f7ed0969d..31e44a7b9 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Follower*innen" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Zitate" msgid "Everything else" msgstr "Alles andere" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Start-Zeitleiste" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Startseite" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Bücher-Zeitleiste" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bücher" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Englisch)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Spanisch)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galizisch)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italienisch)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Französisch)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisch)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norwegisch)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (brasilianisches Portugiesisch)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugiesisch)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Schwedisch)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (vereinfachtes Chinesisch)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinesisch, traditionell)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Speichern" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Abbrechen" @@ -770,9 +770,9 @@ msgstr "Abbrechen" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s aufbauen und überprüfen, ob Autor*in-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Zur Liste hinzufügen" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Aktionen" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Spam melden" @@ -1216,7 +1216,7 @@ msgstr "BookWyrm verlassen" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Dieser Link führt zu: %(link_url)s.
Möchtest du dorthin wechseln?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Weiter" @@ -1292,7 +1292,7 @@ msgstr "Bestätigungscode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Absenden" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Keine Benutzer*innen für „%(query)s“ gefunden" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Gruppe erstellen" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Diese Gruppe löschen?" msgid "This action cannot be un-done" msgstr "Diese Aktion kann nicht rückgängig gemacht werden" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "\"%(title)s\" zu dieser Liste hinzufügen" msgid "Suggest \"%(title)s\" for this list" msgstr "\"%(title)s\" für diese Liste vorschlagen" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Vorschlagen" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Listenposition" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Übernehmen" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Regal erstellen" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Benutzer*inprofil" msgid "All books" msgstr "Alle Bücher" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Regal erstellen" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Antworten" msgid "Content" msgstr "Inhalt" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Inhaltswarnung:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Spoileralarm!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Spoileralarm aktivieren" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Spoileralarm!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Veröffentlichen" @@ -4851,10 +4849,6 @@ msgstr "Deine Gruppen" msgid "Groups: %(username)s" msgstr "Gruppen: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Gruppe erstellen" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Benutzer*inprofil" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 76cfb32bd..c5d3ad3fa 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-03-13 18:56+0000\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,77 +18,77 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "" - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "" @@ -188,7 +188,7 @@ msgstr "" msgid "%(value)s is not a valid username" msgstr "" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "" @@ -246,7 +246,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "" @@ -400,7 +400,7 @@ msgstr "" msgid "Moderator" msgstr "" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "" @@ -431,7 +431,7 @@ msgid "Software version:" msgstr "" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "" @@ -534,7 +534,7 @@ msgstr "" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -619,18 +619,18 @@ msgstr "" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "" @@ -667,7 +667,7 @@ msgid "Last edited by:" msgstr "" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "" @@ -679,8 +679,9 @@ msgid "Name:" msgstr "" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "" @@ -709,7 +710,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "" @@ -726,7 +727,7 @@ msgid "ISNI:" msgstr "" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -748,7 +749,7 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -760,6 +761,7 @@ msgstr "" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -780,87 +782,91 @@ msgstr "" msgid "Confirm" msgstr "" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "" -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -869,11 +875,11 @@ msgstr "" msgid "Lists" msgstr "" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -887,12 +893,12 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "" @@ -901,12 +907,12 @@ msgid "Add cover" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "" @@ -976,110 +982,114 @@ msgstr "" msgid "Back" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "" @@ -1168,7 +1178,7 @@ msgstr "" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "" @@ -1177,7 +1187,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "" @@ -1450,7 +1462,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:4 #: bookwyrm/templates/discover/discover.html:10 -#: bookwyrm/templates/layout.html:78 +#: bookwyrm/templates/layout.html:86 msgid "Discover" msgstr "" @@ -1573,7 +1585,7 @@ msgstr "" msgid "%(site_name)s home page" msgstr "" -#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234 +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:242 msgid "Contact site admin" msgstr "" @@ -1587,7 +1599,7 @@ msgid "Direct Messages with %(username)s" msgstr "" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "" @@ -2185,7 +2197,7 @@ msgstr "" msgid "Success! Email address confirmed." msgstr "" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "" @@ -2230,19 +2242,23 @@ msgstr "" msgid "Search for a book, user, or list" msgstr "" -#: bookwyrm/templates/layout.html:64 -msgid "Main navigation menu" +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" msgstr "" #: bookwyrm/templates/layout.html:72 +msgid "Main navigation menu" +msgstr "" + +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "" msgid "Invites" msgstr "" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3013,6 +3029,44 @@ msgstr "" msgid "Report" msgstr "" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "" +"\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "" @@ -3046,8 +3100,9 @@ msgstr "" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "" @@ -3514,6 +3569,7 @@ msgid "Date accepted" msgstr "" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "" @@ -3932,7 +3988,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3996,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4031,39 @@ msgstr "" msgid "Your password:" msgstr "" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 43db15d9d564c104654b5a2f27f668fb4ecbd918..ff4ad1d4996bb4a39f8a210854b7bfa648db2dfc 100644 GIT binary patch delta 21021 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

a9#mi11c-y{CqNu9aRMX+W>0`b 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 delta 21094 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\n" "Language-Team: Spanish\n" "Language: es\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidores" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "Todo lo demás" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Línea de tiempo principal" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Línea temporal de libros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Alemán)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Gallego)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francés)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Noruego)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileño)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chino simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chino tradicional)" @@ -598,11 +598,11 @@ msgstr "Alias:" #: bookwyrm/templates/author/author.html:48 msgid "Born:" -msgstr "Nacido:" +msgstr "Fecha de nacimiento:" #: bookwyrm/templates/author/author.html:55 msgid "Died:" -msgstr "Muerto:" +msgstr "Fecha de defunción:" #: bookwyrm/templates/author/author.html:65 msgid "External links" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Guardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "La carga de datos se conectará a %(source_name)s y comprobará si hay metadatos sobre este autor que no están presentes aquí. Los metadatos existentes no serán sobrescritos." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Agregar a lista" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Acciones" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Denunciar spam" @@ -1216,7 +1216,7 @@ msgstr "Saliendo de BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Este enlace te lleva a: %(link_url)s.
¿Es ahí adonde quieres ir?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1292,7 +1292,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1326,7 +1326,7 @@ msgstr "Usuarios locales" #: bookwyrm/templates/directory/community_filter.html:12 msgid "Federated community" -msgstr "Comunidad federalizada" +msgstr "Comunidad federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "No se encontró ningún usuario correspondiente a \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Crear grupo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "¿Eliminar este grupo?" msgid "This action cannot be un-done" msgstr "Esta acción no se puede deshacer" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Añadir «%(title)s» a esta lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Sugerir «%(title)s» para esta lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Sugerir" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posición" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Establecido" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,8 +4201,9 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" -msgstr "Crear Estantería" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "Crear estantería" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 msgid "Edit Shelf" @@ -4216,10 +4218,6 @@ msgstr "Perfil de usuario" msgid "All books" msgstr "Todos los libros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Crear estantería" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Responder" msgid "Content" msgstr "Contenido" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Advertencia de contenido:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "¡Advertencia, ya vienen spoilers!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluir alerta de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "¡Advertencia, ya vienen spoilers!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Compartir" @@ -4851,10 +4849,6 @@ msgstr "Tus grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Crear grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil de usuario" diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 6c5d17c4d..4e3d049b6 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-14 16:32\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Abonné(e)s" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citations" msgid "Everything else" msgstr "Tout le reste" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Accueil" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Actualité de mes livres" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livres" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galicien)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (italien)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituanien)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (norvégien)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugais brésilien)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugais européen)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Suédois)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简化字" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "Infos supplémentaires :" @@ -727,14 +727,14 @@ msgstr "ISNI :" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Enregistrer" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Annuler" @@ -770,9 +770,9 @@ msgstr "Annuler" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Le chargement des données se connectera à %(source_name)s et vérifiera les métadonnées de cet auteur ou autrice qui ne sont pas présentes ici. Les métadonnées existantes ne seront pas écrasées." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Ajouter à la liste" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Actions" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Signaler un spam" @@ -1216,7 +1216,7 @@ msgstr "Vous quittez BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Ce lien vous amène à %(link_url)s.
Est-ce là que vous souhaitez aller ?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuer" @@ -1292,7 +1292,7 @@ msgstr "Code de confirmation :" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Valider" @@ -1806,8 +1806,9 @@ msgid "No users found for \"%(query)s\"" msgstr "Aucun compte trouvé pour « %(query)s »" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" -msgstr "Créer un Groupe" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" +msgstr "Créer un groupe" #: bookwyrm/templates/groups/created_text.html:4 #, python-format @@ -1824,9 +1825,9 @@ msgstr "Supprimer ce groupe ?" msgid "This action cannot be un-done" msgstr "Cette action ne peut pas être annulée" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Ajouter « %(title)s » à cette liste" msgid "Suggest \"%(title)s\" for this list" msgstr "Suggérer « %(title)s » pour cette liste" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Suggérer" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Position" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Appliquer" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copiez le fichier de thème dans le répertoire bookwyrm/static/css/themes de votre serveur depuis la ligne de commande." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Exécutez ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "Exécutez ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "Besoin d’aide ?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Créer une étagère" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Profil utilisateur·rice" msgid "All books" msgstr "Tous les livres" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Créer une étagère" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Répondre" msgid "Content" msgstr "Contenu" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Avertissement sur le contenu :" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Attention spoilers !" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Afficher une alerte spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "Avertissements de contenu/spoilers :" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Attention spoilers !" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Commentaire :" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publier" @@ -4497,7 +4495,7 @@ msgstr "Critique de « %(book_title)s » : %(review_title)s" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." -msgstr "Définissez un nombre de livre à lire comme objectif pour %(year)s, et suivezvotre progression au fil de l’année." +msgstr "Définissez un nombre de livres à lire comme objectif pour %(year)s, et suivez votre progression au fil de l’année." #: bookwyrm/templates/snippets/goal_form.html:16 msgid "Reading goal:" @@ -4851,10 +4849,6 @@ msgstr "Vos Groupes" msgid "Groups: %(username)s" msgstr "Groupes : %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Créer un groupe" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Profil" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 691d4246e087603ac0f44e63c0f842b22202e1a0..8958c625aa2159fb6d31240e3ad57c6309aa0a96 100644 GIT binary patch delta 22785 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

8dD(RabWR!28MK~K*bbD&^1nh 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 C4P(Fn delta 23057 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 diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index 1f45a6890..bf0fc1218 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidoras" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "As outras cousas" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Cronoloxía de Inicio" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Cronoloxía de libros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Alemán (Alemaña)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (España)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italian)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Francés (Francia)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lithuanian)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Noruegués (Norwegian)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileiro)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Sueco (Swedish)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinés simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinés tradicional)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Gardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Ao cargar os datos vas conectar con %(source_name)s e comprobar se existen metadatos desta persoa autora que non están aquí presentes. Non se sobrescribirán os datos existentes." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Engadir a listaxe" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Accións" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Denunciar spam" @@ -1216,7 +1216,7 @@ msgstr "Saír de BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Esta ligazón vaite levar a: %(link_url)s.
É ahí a onde queres ir?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1292,7 +1292,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Non se atopan usuarias para \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Crear grupo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Eliminar este grupo?" msgid "This action cannot be un-done" msgstr "Esta acción non ten volta atrás" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Engadir \"%(title)s\" a esta lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Suxerir \"%(title)s\" para esta lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Suxire" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posición da lista" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Establecer" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copia o ficheiro do decorado no cartafol bookwyrm/static/css/themes do teu servidor usando a liña de comandos." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Executa ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,8 +4201,9 @@ msgid "Need help?" msgstr "Precisas axuda?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" -msgstr "Crear Estante" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "Crear estante" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 msgid "Edit Shelf" @@ -4216,10 +4218,6 @@ msgstr "Perfil da usuaria" msgid "All books" msgstr "Tódolos libros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Crear estante" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Responder" msgid "Content" msgstr "Contido" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Aviso sobre o contido:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Contén Spoilers!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluír alerta de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Contén Spoilers!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publicación" @@ -4851,10 +4849,6 @@ msgstr "Os teus grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Crear grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil da usuaria" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 2be0c3ac01a7057cabd8b69e3f99520ca5e585ef..911ed76e7d249a6e33903385d49658f07dc52aed 100644 GIT binary patch delta 22663 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 delta 22885 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 diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index 245387351..fbeaf64b7 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Followers" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citazioni" msgid "Everything else" msgstr "Tutto il resto" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "La tua timeline" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Home" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Timeline dei libri" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libri" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglese)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Tedesco)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Spagnolo)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galiziano)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francese)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norvegese)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portoghese Brasiliano)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portoghese europeo)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Svedese)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Cinese Semplificato)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Cinese Tradizionale)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Salva" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancella" @@ -770,9 +770,9 @@ msgstr "Cancella" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Il caricamento dei dati si collegherà a %(source_name)s e verificherà eventuali metadati relativi a questo autore che non sono presenti qui. I metadati esistenti non vengono sovrascritti." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Aggiungi all'elenco" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Azioni" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Segnala come spam" @@ -1216,7 +1216,7 @@ msgstr "Esci da BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Questo link ti sta portando a: %(link_url)s.
È qui che vuoi andare?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continua" @@ -1292,7 +1292,7 @@ msgstr "Codice di conferma:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Invia" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Nessun utente trovato per \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Crea gruppo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Eliminare questo gruppo?" msgid "This action cannot be un-done" msgstr "Questa azione non può essere annullata" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Aggiungi \"%(title)s\" a questa lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Suggerisci \"%(title)s\" per questa lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Suggerisci" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posizione elenco" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Imposta" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copia il file del tema nella directory bookwyrm/static/css/themes sul tuo server dalla riga di comando." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Esegui ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,8 +4201,9 @@ msgid "Need help?" msgstr "Hai bisogno di aiuto?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" -msgstr "Crea Scaffale" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "Crea scaffale" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 msgid "Edit Shelf" @@ -4216,10 +4218,6 @@ msgstr "Profilo utente" msgid "All books" msgstr "Tutti i libri" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Crea scaffale" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Rispondi" msgid "Content" msgstr "Contenuto" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Avviso sul contenuto:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Attenzione Spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Includi avviso spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Attenzione Spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Commenta:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Pubblica" @@ -4851,10 +4849,6 @@ msgstr "I tuoi gruppi" msgid "Groups: %(username)s" msgstr "Gruppi: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Crea gruppo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Profilo utente" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index b4885e93b693c8909b1476f861f3aaecba0a2b0a..08a3fe6ac5ff76c87f1cb315f558e204008ad0bd 100644 GIT binary patch delta 21120 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 +1M5WWeN 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 delta 21291 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 B1xNq@ diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index b272ecf09..b74de2d2f 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:15\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Sekėjai" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citatos" msgid "Everything else" msgstr "Visa kita" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Pagrindinė siena" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Pagrindinis" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Knygų siena" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Knygos" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Anglų)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Vokiečių)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Ispanų)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (galisų)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italų (Italian)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Prancūzų)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norvegų (Norwegian)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português brasileiro (Brazilijos portugalų)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europos portugalų)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Švedų)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Supaprastinta kinų)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradicinė kinų)" @@ -735,14 +735,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -756,20 +756,20 @@ msgstr "Išsaugoti" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Atšaukti" @@ -778,9 +778,9 @@ msgstr "Atšaukti" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir patikrins ar nėra naujos informacijos. Esantys metaduomenys nebus perrašomi." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -883,8 +883,8 @@ msgid "Add to list" msgstr "Pridėti prie sąrašo" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1191,7 +1191,7 @@ msgid "Actions" msgstr "Veiksmai" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Pranešti apie brukalą" @@ -1225,7 +1225,7 @@ msgstr "Tęsti naršymą ne BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Nuoroda veda į: %(link_url)s.
Ar tikrai norite ten nueiti?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Tęsti" @@ -1301,7 +1301,7 @@ msgstr "Patvirtinimo kodas:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Siųsti" @@ -1819,7 +1819,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Pagal paiešką „%(query)s“ nieko nerasta" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Sukurti grupę" #: bookwyrm/templates/groups/created_text.html:4 @@ -1837,9 +1838,9 @@ msgstr "Ištrinti šią grupę?" msgid "This action cannot be un-done" msgstr "Nebegalite atšaukti šio veiksmo" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2319,7 +2320,7 @@ msgstr "Pridėti \"%(title)s\" į šį sąrašą" msgid "Suggest \"%(title)s\" for this list" msgstr "Siūlyti \"%(title)s\" į šį sąrašą" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Siūlyti" @@ -2489,7 +2490,7 @@ msgid "List position" msgstr "Sąrašo pozicija" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Nustatyti" @@ -3952,7 +3953,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4229,7 +4230,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Sukurti lentyną" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4245,10 +4247,6 @@ msgstr "Nario paskyra" msgid "All books" msgstr "Visos knygos" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Sukurti lentyną" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4376,24 +4374,24 @@ msgstr "Atsakyti" msgid "Content" msgstr "Turinys" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Įspėjimas dėl turinio:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Galimas turinio atskleidimas!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Įdėti įspėjimą apie turinio atskleidimą" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Galimas turinio atskleidimas!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Komentuoti:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publikuoti" @@ -4894,10 +4892,6 @@ msgstr "Jūsų grupės" msgid "Groups: %(username)s" msgstr "Grupės: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Sukurti grupę" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Nario paskyra" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index dbfe5ea07ba28095af217223c694380ae67f9888..7f23bb1a85ac630404dea8c769addd4f5b1fa79c 100644 GIT binary patch delta 21120 zcmezWp5^2_mil`_EK?a67#OZFGcd?7Ffi>gE0dGLv9!Yg98Ht!@@8Ih5!ZzhDTu#2O5VnFvv47 zFr!7#KJ*Ar@L>LK0(ECL|Zk&4h&1=1fS`9?Jx$iF$@V znG6hOphS}eaX?5GBm@$(AP&jTf;gZqi-94Vfq|hZ3zE&=WkD~f%7IvXH3t%>PjVO- zBp4VN-seCp;K+qoD3A+LFP94uH_T;VU}0cju*`+1x66fuP&ib5I#j+i7vg}bTm}YK zQ2uYrh4{P&YS2umhK0G1xLltLanM1i0T*&1ad>^WEnalpyKdWeNLp%RY@AwGBoRq(wKQmL>PL42TI1Sw#2iy#hgEP}+P ze-R`|ql+L8%qoJIQv;Rngz~3C^)D)dMAf$XB1jSYu?Uj76^bDi_7p>cYE3c3#hZ&E z2JbG0gvi-qNZem9hFJ6n%70%Bao8^?pQ8lgFyRtN;#4YuR9fmK5Qo>>lt46iltAJ- ztOR0l4pd`t3B-aXsD^&10kfgv8=(64mOyIF(AaQP30SQTm3Wx^-DeUG zCB&gYl@JF+R5H|qtH;DjNVdv`()E>)AfH?b3BnnbkX*4C%0CP>;2hN8>rj37p%#Cx zgm?th$^f+kl&Tns)EFEcNHYa7FIzVwxWuGAsp0j zsA6DHVPIeosfPH>vKkWPe$|jvA6E@gUtSFfk?v|pTA2)0x3n6PMz&T%9I(G0DsZkE z60|p<5>Kij4*3k#$XNq1P_hORHHtNm5HhKO1f^vS#3H8}hyy}uAR(7g1IY!&H4qCM zq5KIokf^Ai2Q_d>4a5Q4YZ$=I@WVBb5cpOD@#)_hh|7g)A+2JWT8IOzY9ZqGwGjQD zQ1Q@Oh{aL05d9fY`C6!aXD!&_^$dLw2E+7Ph>I3L>1DMH3?86%do9EvUuz+8_y@`t zse_11*FmCAsSc9pjO!p4JJdnil74lNkV&nBIIz49QV=!QfugRSfnk0f*d+|>>mWhA zqmF^$7y|>t0jP#{Xd0PZ57NNEFsB|8HEZf21|O=2Sa_u#62y<7;vb>vm>VDtlx%>g z(`tZ(m<5Oi<$tFJh(@0Vh>xNhAQmMxK!UEQ0phUs21q-WvWd4H}{O-=PtbSiBk`K@{2u@mV5NVR0h^gC7F}Lvte} z8(xAM_z9|>u?gZs-X=)M$TdOqn>0b9z^w`5u-GPu`AJZIUK2w-xVc>1#K5qgfq|i+ z3DTJ~Xoj?4YMLPqyVeZx!NX=q5PoQeq?Lcokkro7!oXn7z`!8U0tvB@7Dy0hwm`aO z#VrgB8yFZErnN9ItYctcaBqd^|JGU$anYYvhy@&NkSGvugScF-4bqo0ZG%KXNE<|B zOdCXB5|p3U2C=xL4dV08Hb{ufZiBRx*0ezq=aV*Qbq_U9p}rlWL8Bc~rdzc`QfFv8 zq^vG%hs0T5JH){0?U3g43aI!!sQ7az|3^C{#27muA;8lCNh4xVTC)S&?E`1B7e?bjm?}YeVuoDvG;+>GF(C&ojv+RV#aabp$=#B1#c&xS) z;(-26NQf@#goO0YPH@Q9Go0vzbS9s7LVPOP1u0yHu>Ed2U+Gy^DIAlsMWTa$HFQiv} zp%-GYU?0R`Qhg8)DE2|~zjhx)qiG++#kPHr#OU1z3F@>yNSxR8K|){>l)nUO;Eq1X z2*>_Dhy!o-F)(N_Ffe@TV_?u`U|^8$hgj&|5AjG~KO{uL`l0zhxgS#L6!b%aba6k# zK|A^(E4txR%8N~a=#!fO(Wf>6;$Zy=5C=F;fP{ee1W1$z zO{j+?qPPi=dcAN0B+jQzfLO3;0wg;ff@(Mm<=>nDiJB)+17ATc{5S#P!(UMG|4;|9 zO@ug{Zz80ilAQ=q7g;|M5)^S0A){E?6CqJB2P(b_s&V^7h=Yzzg!u3pRQ}#XNYKBA z>SLV*@uBb}h&fVFzQ!boetjt49?GwGn*<5+ut|_0$%gXFCqaDJ1Jy8T5+sUdPJ$Fb zXC^_0W|$^J^0m%nh&j%aA=x)#GQ_;H$qOcOo15K0;MNUf#m;1Qy>-`nF6+e;mj0B2w$B7 z@z5hE|HTwgNYyhie1!`9nZm%($H2hAIh6rCiZx>@#Gs>4`s`H5K*ZIlkP*(CQz3CE zHVu+Hq^ChF(4Pizpy@P_1q=+1(;z|bF%6O!Bc?&hnJf?=l>fV@L0mX@8YBo;K@HeH z4U&&fL*@TZgZP+dIwWqTr$a2(oDQ+jb~?mCp3@<@!f!f6eaUo)N1CTY?CG8k@yLwn z3=H+T3=9l&rb7x4t{IRbS9%5{=q#YL;|z!oyk7JF4vh2ahSzyh=FdiA^QAgL*hIR%1@mQDM3qT zLlSW>RQ;CO5RdGshblZe8{&|wP>E+ygWk`Exbz!ToM8?mm2=L4|<-)qT5DOm8Wni#mU|{$-mx19T0|SHhJP7~qJV^F7pAV_-6X%0N zrkqd`RNBIG=&R3siYPY1;*m+OT5*q+r>;0IZSW>H-FaO$-bSZx=vv&4PuH z#J6=JWH9^0LP(q|FM=d$w?&Y&k-P|^e%T^Wl-4sa>|O*(#m5#w;_l2MNKjseir-!Y ziSvhx7#PYJ85rI!g7`FL2_(CfEMZ^>Wnf^aTms2f=b_@4mq0@529$mXrC%+9M9JqR z3=Hg`{QnokU|?WiT?#RncPS)a%Pxf&V7L?#^j1)Q;8KVIQBZ!$Qb=6qLe*76&6%_m z5=D!k>dr2Oc411SB;$Ct +1M5WWeN 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 QCvua2J`vh{@JUAy0MR`tS^xk5 diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index a7626b284..2d4003e2b 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Følgere" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Sitater" msgid "Everything else" msgstr "Andre ting" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Lokal tidslinje" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Hjem" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Boktidslinja" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bøker" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Engelsk)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Tysk)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Spansk)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiensk)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Fransk)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisk)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norsk)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português - Brasil (Brasiliansk portugisisk)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisisk)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Svensk)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Forenklet kinesisk)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradisjonelt kinesisk)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Lagre" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Avbryt" @@ -770,9 +770,9 @@ msgstr "Avbryt" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Laster inn data kobler til %(source_name)s og finner metadata om denne forfatteren som enda ikke finnes her. Eksisterende metadata vil ikke bli overskrevet." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Legg til i liste" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Handlinger" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Rapporter spam" @@ -1216,7 +1216,7 @@ msgstr "Forlater BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Denne lenka sender deg til: %(link_url)s.
Er det dit du vil dra?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Fortsett" @@ -1292,7 +1292,7 @@ msgstr "Bekreftelseskode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Send inn" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Ingen medlemmer funnet for \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Opprett gruppe" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Slette denne gruppa?" msgid "This action cannot be un-done" msgstr "Denne handlingen er endelig" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Legg til \"%(title)s\" på denne lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Foreslå \"%(title)s\" for denne lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Foreslå" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Listeposisjon" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Bruk" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Lag hylle" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Brukerprofil" msgid "All books" msgstr "Alle bøker" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Lag hylle" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Svar" msgid "Content" msgstr "Innhold" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Innholdsadvarsel:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Spoilers forut!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Inkluder spoiler-varsel" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Spoilers forut!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Innlegg" @@ -4851,10 +4849,6 @@ msgstr "Gruppene dine" msgid "Groups: %(username)s" msgstr "Grupper: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Opprett gruppe" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Brukerprofil" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 064c6caebac3129eca39164512621959f106f161..6ca75c4db9b5ada99f48b342c3be40dd2877a95c 100644 GIT binary patch delta 22778 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 delta 22809 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,}hA8H}O) zBt`}XJy1Q#$iVOvRO&G?Fz`an0b360$uTf6ltR_JegZYuK{8OR0?O8)jt>(9!+T~1 zhT}|-rMI9_EYSYY4-5_SEc1|MbyhDs=ZCj$e+3n+U!)UL&#b6G)+=Z}n#eKQ~nK$we#fng(PLoO&O zGeh>&)i5$Jbbz|%P)kAT@|YPIDxikuBZ;3!VuREjWMp8t0IH)w}; z>SG%Q1_oxRi^@QG4YXMk)Xf65xEUE3_A@asYy?@v%)p?`2sy~d4r(bIr~+ePU|0)k z{XxYpLe1I@>ivRj2OT2I$iT3MnSr5=nSp_cg@NG#GXq02BLhPkWb~VXp$*jOWM*JU z03}9H8x(5TGEmzK>YL}F#=vC32ystWCI*IGpk^@>1H%et28LUV4B&YR&|#;tQ0qZ9 zgO2tLWoBRqWCpF$W?(R4f~;ltfT}q>xiCVU_ZKq*gE~~?+Ty7ZDm\n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidores" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Todo o resto" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Linha do tempo" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Página inicial" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Linha do tempo dos livros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English (Inglês)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galego)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português do Brasil)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Português Europeu)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Para carregar informações nos conectaremos a %(source_name)s e buscaremos metadados que ainda não temos sobre este/a autor/a. Metadados já existentes não serão substituídos." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Adicionar à lista" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Ações" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Denunciar spam" @@ -1216,7 +1216,7 @@ msgstr "Saindo da BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Este link te levará a: %(link_url)s.
Você quer mesmo ir?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1292,7 +1292,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Nenhum usuário encontrado para \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Criar grupo" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Deletar grupo?" msgid "This action cannot be un-done" msgstr "Esta ação não pode ser desfeita" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Adicionar \"%(title)s\" a esta lista" msgid "Suggest \"%(title)s\" for this list" msgstr "Sugerir \"%(title)s\" para esta lista" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Sugerir" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Posição na lista" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Definir" @@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "Copie o arquivo do tema para a pasta bookwyrm/static/css/themes em seu servidor pela linha de comando." #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "Execute ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." +msgstr "Execute ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "Precisa de ajuda?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Criar estante" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Perfil do usuário" msgid "All books" msgstr "Todos os livros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Criar estante" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Responder" msgid "Content" msgstr "Conteúdo" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Aviso de conteúdo:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Alerta de spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluir alerta de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "Avisos de spoiler/conteúdo:" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Alerta de spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentário:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publicar" @@ -4851,10 +4849,6 @@ msgstr "Seus grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Criar grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil do usuário" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 85e167660be76978d3eae5b1408af98292516f36..d943b0f6c1cfbde56d1ccb7ab5d70b864c5f4d81 100644 GIT binary patch delta 19660 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 delta 19770 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 C+{E4h diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 32acf05c3..6f3d2e4b5 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Seguidores" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Tudo o resto" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Cronograma Inicial" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Início" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Cronograma de Livros" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "Inglês" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (lituano)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português brasileiro)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português (Português Europeu)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Cancelar" @@ -770,9 +770,9 @@ msgstr "Cancelar" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Carregar os dados irá conectar a %(source_name)s e verificar se há metadados sobre este autor que não estão aqui presentes. Os metadados existentes não serão substituídos." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Adicionar à lista" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1180,7 +1180,7 @@ msgid "Actions" msgstr "Acções" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "" @@ -1214,7 +1214,7 @@ msgstr "" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1290,7 +1290,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Submeter" @@ -1804,8 +1804,9 @@ msgid "No users found for \"%(query)s\"" msgstr "Nenhum utilizador encontrado para \"%(query)s\"" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" -msgstr "Criar um Grupo" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" +msgstr "Criar grupo" #: bookwyrm/templates/groups/created_text.html:4 #, python-format @@ -1822,9 +1823,9 @@ msgstr "Apagar este grupo?" msgid "This action cannot be un-done" msgstr "Esta ação não pode ser desfeita" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2296,7 +2297,7 @@ msgstr "" msgid "Suggest \"%(title)s\" for this list" msgstr "" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Sugerir" @@ -2466,7 +2467,7 @@ msgid "List position" msgstr "Posição da lista" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Definir" @@ -3921,7 +3922,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4198,7 +4199,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Criar prateleira" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4214,10 +4216,6 @@ msgstr "" msgid "All books" msgstr "Todos os livros" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Criar prateleira" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4341,24 +4339,24 @@ msgstr "Responder" msgid "Content" msgstr "Conteúdo" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Aviso de Conteúdo:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Alerta de spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Incluir aviso de spoiler" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Alerta de spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Comentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Publicação" @@ -4849,10 +4847,6 @@ msgstr "Os Teus Grupos" msgid "Groups: %(username)s" msgstr "Grupos: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Criar grupo" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Perfil de Utilizador" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index eb44d9bf9529fbb561ab36fe4271c235c2e19ff6..d540a049d16db15db4469482f05fbdfed044b8b1 100644 GIT binary patch delta 22292 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 diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 303495c60..691eb7ccb 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:15\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "Följare" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "Citationer" msgid "Everything else" msgstr "Allt annat" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "Tidslinje för Hem" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "Hem" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "Tidslinjer för böcker" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Böcker" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "Engelska" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Tyska (Tysk)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Spanska (Spansk)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italienska (Italiensk)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Franska (Fransk)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Litauiska (Litauisk)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norska (Norska)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português d Brasil (Brasiliansk Portugisiska)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisiska)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska (Svenska)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Förenklad Kinesiska)" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Traditionell Kinesiska)" @@ -727,14 +727,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -748,20 +748,20 @@ msgstr "Spara" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "Avbryt" @@ -770,9 +770,9 @@ msgstr "Avbryt" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "Att ladda in data kommer att ansluta till %(source_name)s och kontrollera eventuella metadata om den här författaren som inte finns här. Befintliga metadata kommer inte att skrivas över." -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -873,8 +873,8 @@ msgid "Add to list" msgstr "Lägg till i listan" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1182,7 +1182,7 @@ msgid "Actions" msgstr "Åtgärder" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "Rapportera skräppost" @@ -1216,7 +1216,7 @@ msgstr "Lämnar BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "Den här länken tar dig till: %(link_url)s.
Är det dit du vill åka?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Fortsätt" @@ -1292,7 +1292,7 @@ msgstr "Bekräftelsekod:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Skicka in" @@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\"" msgstr "Ingen användare \"%(query)s\" hittades" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "Skapa grupp" #: bookwyrm/templates/groups/created_text.html:4 @@ -1824,9 +1825,9 @@ msgstr "Ta bort den här gruppen?" msgid "This action cannot be un-done" msgstr "Den här åtgärden kan inte ångras" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2298,7 +2299,7 @@ msgstr "Lägg till \"%(title)s\" i den här listan" msgid "Suggest \"%(title)s\" for this list" msgstr "Föreslå \"%(title)s\" för den här listan" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "Föreslå" @@ -2468,7 +2469,7 @@ msgid "List position" msgstr "Listans plats" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "Ställ in" @@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4200,7 +4201,8 @@ msgid "Need help?" msgstr "Behöver du hjälp?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "Skapa hylla" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4216,10 +4218,6 @@ msgstr "Användarprofil" msgid "All books" msgstr "Alla böcker" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "Skapa hylla" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4343,24 +4341,24 @@ msgstr "Svara" msgid "Content" msgstr "Innehåll" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "Innehållsvarning:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "Varning för spoiler!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "Inkludera spoilervarning" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "Varning för spoiler!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "Inlägg" @@ -4851,10 +4849,6 @@ msgstr "Dina grupper" msgid "Groups: %(username)s" msgstr "Grupper: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "Skapa grupp" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "Användarprofil" diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 4acf1dce3..b4b67c957 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-14 00:10\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "关注者" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "引用" msgid "Everything else" msgstr "所有其它内容" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "主页" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "书目时间线" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "书目" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English(英语)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch(德语)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español(西班牙语)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "Galego(加利西亚语)" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "Italiano(意大利语)" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français(法语)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių(立陶宛语)" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "Norsk(挪威语)" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil(巴西葡萄牙语)" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu(欧洲葡萄牙语)" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "Svenska(瑞典语)" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文(繁体中文)" @@ -476,7 +476,7 @@ msgstr "共享状态:公开(需要密钥)" #: bookwyrm/templates/annual_summary/layout.html:78 msgid "The page can be seen by anyone with the complete address." -msgstr "有完整地址的任何人都可以看到该页面。" +msgstr "任何有完整地址的人都可以看到该页面。" #: bookwyrm/templates/annual_summary/layout.html:83 msgid "Make page private" @@ -723,14 +723,14 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -744,20 +744,20 @@ msgstr "保存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "取消" @@ -766,9 +766,9 @@ msgstr "取消" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "加载数据会连接到 %(source_name)s 并检查这里还没有记录的与作者相关的元数据。现存的元数据不会被覆盖。" -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -868,8 +868,8 @@ msgid "Add to list" msgstr "添加到列表" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1177,7 +1177,7 @@ msgid "Actions" msgstr "动作" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "举报垃圾信息" @@ -1211,7 +1211,7 @@ msgstr "离开 BookWyrm" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "此链接将跳转至:%(link_url)s
这是您想跳转的网址吗?" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "继续" @@ -1287,7 +1287,7 @@ msgstr "确认代码:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "提交" @@ -1799,7 +1799,8 @@ msgid "No users found for \"%(query)s\"" msgstr "没有找到 \"%(query)s\" 的用户" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "创建群组" #: bookwyrm/templates/groups/created_text.html:4 @@ -1817,9 +1818,9 @@ msgstr "删除该群组?" msgid "This action cannot be un-done" msgstr "此操作无法被撤销" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2287,7 +2288,7 @@ msgstr "将 “%(title)s” 添加到这个列表" msgid "Suggest \"%(title)s\" for this list" msgstr "推荐 “%(title)s” 到这个列表" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "推荐" @@ -2457,7 +2458,7 @@ msgid "List position" msgstr "列表位置:" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "设定" @@ -3908,8 +3909,8 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "从命令行将主题文件复制到您服务器上的 bookwym/static/css/themes 目录。" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." -msgstr "运行 ./bw-dev compilescsss。" +msgid "Run ./bw-dev collectstatic." +msgstr "" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4185,7 +4186,8 @@ msgid "Need help?" msgstr "需要帮助?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "创建书架" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4201,10 +4203,6 @@ msgstr "用户个人资料" msgid "All books" msgstr "所有书目" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "创建书架" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4326,24 +4324,24 @@ msgstr "回复" msgid "Content" msgstr "内容" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "内容警告:" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "前有剧透!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "加入剧透警告" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "剧透/内容警告:" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "前有剧透!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "评论:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "发布" @@ -4829,10 +4827,6 @@ msgstr "您的群组" msgid "Groups: %(username)s" msgstr "群组: %(username)s" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "创建群组" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "用户个人资料" diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index a410c4fed..7e25b4b92 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-03-08 19:55+0000\n" -"PO-Revision-Date: 2022-03-08 21:16\n" +"POT-Creation-Date: 2022-03-13 18:56+0000\n" +"PO-Revision-Date: 2022-03-13 19:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -220,7 +220,7 @@ msgid "Followers" msgstr "關注者" #: bookwyrm/models/fields.py:208 -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:20 @@ -261,73 +261,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home Timeline" msgstr "主頁時間線" -#: bookwyrm/settings.py:207 +#: bookwyrm/settings.py:208 msgid "Home" msgstr "主頁" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:208 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "書目" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:281 msgid "English" msgstr "English(英語)" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "Deutsch (German)" msgstr "Deutsch(德語)" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Español (Spanish)" msgstr "Español(西班牙語)" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Français (French)" msgstr "Français(法語)" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "简体中文 (Simplified Chinese)" msgstr "簡體中文" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文" @@ -723,14 +723,14 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 -#: bookwyrm/templates/book/file_links/add_link_modal.html:58 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 -#: bookwyrm/templates/groups/form.html:30 +#: bookwyrm/templates/groups/form.html:32 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:72 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -744,20 +744,20 @@ msgstr "儲存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:194 -#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 -#: bookwyrm/templates/book/file_links/verification_modal.html:21 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 -#: bookwyrm/templates/groups/delete_group_modal.html:17 -#: bookwyrm/templates/lists/add_item_modal.html:42 -#: bookwyrm/templates/lists/delete_list_modal.html:18 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 -#: bookwyrm/templates/snippets/report_modal.html:53 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" msgstr "取消" @@ -766,9 +766,9 @@ msgstr "取消" msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." msgstr "" -#: bookwyrm/templates/author/sync_modal.html:22 +#: bookwyrm/templates/author/sync_modal.html:24 #: bookwyrm/templates/book/edit/edit_book.html:108 -#: bookwyrm/templates/book/sync_modal.html:22 +#: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 @@ -868,8 +868,8 @@ msgid "Add to list" msgstr "新增到列表" #: bookwyrm/templates/book/book.html:370 -#: bookwyrm/templates/book/cover_add_modal.html:31 -#: bookwyrm/templates/lists/add_item_modal.html:37 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 @@ -1175,7 +1175,7 @@ msgid "Actions" msgstr "動作" #: bookwyrm/templates/book/file_links/edit_links.html:53 -#: bookwyrm/templates/book/file_links/verification_modal.html:25 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 msgid "Report spam" msgstr "" @@ -1209,7 +1209,7 @@ msgstr "" msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" msgstr "" -#: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/book/file_links/verification_modal.html:26 #: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1285,7 +1285,7 @@ msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 -#: bookwyrm/templates/snippets/report_modal.html:52 +#: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "提交" @@ -1797,7 +1797,8 @@ msgid "No users found for \"%(query)s\"" msgstr "沒有找到 \"%(query)s\" 的使用者" #: bookwyrm/templates/groups/create_form.html:5 -msgid "Create Group" +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" msgstr "" #: bookwyrm/templates/groups/created_text.html:4 @@ -1815,9 +1816,9 @@ msgstr "" msgid "This action cannot be un-done" msgstr "" -#: bookwyrm/templates/groups/delete_group_modal.html:15 -#: bookwyrm/templates/lists/delete_list_modal.html:15 -#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21 +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 #: bookwyrm/templates/settings/announcements/announcement.html:23 #: bookwyrm/templates/settings/announcements/announcements.html:56 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 @@ -2285,7 +2286,7 @@ msgstr "" msgid "Suggest \"%(title)s\" for this list" msgstr "" -#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/add_item_modal.html:41 #: bookwyrm/templates/lists/list.html:257 msgid "Suggest" msgstr "推薦" @@ -2455,7 +2456,7 @@ msgid "List position" msgstr "列表位置:" #: bookwyrm/templates/lists/list.html:152 -#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 msgid "Set" msgstr "設定" @@ -3906,7 +3907,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev compilescss." +msgid "Run ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 @@ -4183,7 +4184,8 @@ msgid "Need help?" msgstr "" #: bookwyrm/templates/shelf/create_shelf_form.html:5 -msgid "Create Shelf" +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" msgstr "建立書架" #: bookwyrm/templates/shelf/edit_shelf_form.html:5 @@ -4199,10 +4201,6 @@ msgstr "" msgid "All books" msgstr "所有書目" -#: bookwyrm/templates/shelf/shelf.html:72 -msgid "Create shelf" -msgstr "建立書架" - #: bookwyrm/templates/shelf/shelf.html:96 #, python-format msgid "%(formatted_count)s book" @@ -4324,24 +4322,24 @@ msgstr "回覆" msgid "Content" msgstr "內容" -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 -msgid "Content warning:" -msgstr "" - -#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 -msgid "Spoilers ahead!" -msgstr "前有劇透!" - -#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 msgid "Include spoiler alert" msgstr "加入劇透警告" -#: bookwyrm/templates/snippets/create_status/layout.html:47 +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "前有劇透!" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 #: bookwyrm/templates/snippets/reading_modals/form.html:7 msgid "Comment:" msgstr "評論:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:21 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 msgid "Post" msgstr "釋出" @@ -4827,10 +4825,6 @@ msgstr "" msgid "Groups: %(username)s" msgstr "" -#: bookwyrm/templates/user/groups.html:17 -msgid "Create group" -msgstr "" - #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 msgid "User Profile" msgstr "使用者使用者資料" From a2f2104a08743610d85df3f0c30055ddc8a62813 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 10:42:53 -0700 Subject: [PATCH 155/458] Create non-functional UI for editing array fields --- .../templates/book/edit/edit_book_form.html | 70 ++++++++++++------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html index 38a7fe35d..d886d12f7 100644 --- a/bookwyrm/templates/book/edit/edit_book_form.html +++ b/bookwyrm/templates/book/edit/edit_book_form.html @@ -22,7 +22,7 @@ {% trans "Title:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.title.errors id="desc_title" %} @@ -31,7 +31,7 @@ {% trans "Subtitle:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.subtitle.errors id="desc_subtitle" %} @@ -40,7 +40,7 @@ {% trans "Description:" %} {{ form.description }} - + {% include 'snippets/form_errors.html' with errors_list=form.description.errors id="desc_description" %} @@ -51,7 +51,7 @@ {% trans "Series:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.series.errors id="desc_series" %} @@ -61,7 +61,7 @@ {% trans "Series number:" %} {{ form.series_number }} - + {% include 'snippets/form_errors.html' with errors_list=form.series_number.errors id="desc_series_number" %} @@ -75,21 +75,41 @@ {% trans "Separate multiple values with commas." %} - + {% include 'snippets/form_errors.html' with errors_list=form.languages.errors id="desc_languages" %} -
-
@@ -106,7 +126,7 @@ {% trans "Separate multiple values with commas." %} - + {% include 'snippets/form_errors.html' with errors_list=form.publishers.errors id="desc_publishers" %} @@ -115,7 +135,7 @@ {% trans "First published date:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.first_published_date.errors id="desc_first_published_date" %} @@ -124,7 +144,7 @@ {% trans "Published date:" %} - + {% include 'snippets/form_errors.html' with errors_list=form.published_date.errors id="desc_published_date" %} @@ -193,7 +213,7 @@ - + {% include 'snippets/form_errors.html' with errors_list=form.cover.errors id="desc_cover" %} @@ -214,7 +234,7 @@
{{ form.physical_format }}
- + {% include 'snippets/form_errors.html' with errors_list=form.physical_format.errors id="desc_physical_format" %} @@ -224,7 +244,7 @@ {% trans "Format details:" %} {{ form.physical_format_detail }} - + {% include 'snippets/form_errors.html' with errors_list=form.physical_format_detail.errors id="desc_physical_format_detail" %} @@ -235,7 +255,7 @@ {% trans "Pages:" %} {{ form.pages }} - + {% include 'snippets/form_errors.html' with errors_list=form.pages.errors id="desc_pages" %} @@ -251,7 +271,7 @@ {% trans "ISBN 13:" %} {{ form.isbn_13 }} - + {% include 'snippets/form_errors.html' with errors_list=form.isbn_13.errors id="desc_isbn_13" %} @@ -260,7 +280,7 @@ {% trans "ISBN 10:" %} {{ form.isbn_10 }} - + {% include 'snippets/form_errors.html' with errors_list=form.isbn_10.errors id="desc_isbn_10" %} @@ -269,7 +289,7 @@ {% trans "Openlibrary ID:" %} {{ form.openlibrary_key }} - + {% include 'snippets/form_errors.html' with errors_list=form.openlibrary_key.errors id="desc_openlibrary_key" %} @@ -278,7 +298,7 @@ {% trans "Inventaire ID:" %} {{ form.inventaire_id }} - + {% include 'snippets/form_errors.html' with errors_list=form.inventaire_id.errors id="desc_inventaire_id" %} @@ -287,7 +307,7 @@ {% trans "OCLC Number:" %} {{ form.oclc_number }} - + {% include 'snippets/form_errors.html' with errors_list=form.oclc_number.errors id="desc_oclc_number" %} @@ -296,7 +316,7 @@ {% trans "ASIN:" %} {{ form.asin }} - + {% include 'snippets/form_errors.html' with errors_list=form.ASIN.errors id="desc_ASIN" %} From 35e6dede098b46c1d0b851281657b5e03c82061d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 11:34:14 -0700 Subject: [PATCH 156/458] Script to remove input fields --- bookwyrm/static/js/forms.js | 17 +++++++++++++++++ .../templates/book/edit/edit_book_form.html | 8 ++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/bookwyrm/static/js/forms.js b/bookwyrm/static/js/forms.js index 7d946d147..998873898 100644 --- a/bookwyrm/static/js/forms.js +++ b/bookwyrm/static/js/forms.js @@ -1,6 +1,19 @@ (function () { "use strict"; + /** + * Remoev input field + * + * @param {event} the button click event + */ + function removeInput(event) { + const trigger = event.currentTarget; + const input_id = trigger.dataset.remove; + const input = document.getElementById(input_id); + + input.remove(); + } + /** * Duplicate an input field * @@ -29,4 +42,8 @@ document .querySelectorAll("[data-duplicate]") .forEach((node) => node.addEventListener("click", duplicateInput)); + + document + .querySelectorAll("[data-remove]") + .forEach((node) => node.addEventListener("click", removeInput)); })(); diff --git a/bookwyrm/templates/book/edit/edit_book_form.html b/bookwyrm/templates/book/edit/edit_book_form.html index d886d12f7..fc15d26ae 100644 --- a/bookwyrm/templates/book/edit/edit_book_form.html +++ b/bookwyrm/templates/book/edit/edit_book_form.html @@ -87,12 +87,16 @@ -
+
-
{% endfor %} - + {% include 'snippets/form_errors.html' with errors_list=form.subjects.errors id="desc_subjects" %}
@@ -186,7 +201,12 @@ {% endfor %} - + + + From a37f83c458594219efc9722c1fe182ddf6520a77 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 14:55:41 -0700 Subject: [PATCH 158/458] Get the field working --- bookwyrm/forms/books.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bookwyrm/forms/books.py b/bookwyrm/forms/books.py index 91d9b8f00..72df1371c 100644 --- a/bookwyrm/forms/books.py +++ b/bookwyrm/forms/books.py @@ -14,6 +14,14 @@ class CoverForm(CustomForm): help_texts = {f: None for f in fields} +class ArrayWidget(forms.widgets.TextInput): + # pylint: disable=unused-argument + # pylint: disable=no-self-use + def value_from_datadict(self, data, files, name): + """get all values for this name""" + return [i for i in data.getlist(name) if i] + + class EditionForm(CustomForm): class Meta: model = models.Edition @@ -41,12 +49,10 @@ class EditionForm(CustomForm): "series_number": forms.TextInput( attrs={"aria-describedby": "desc_series_number"} ), + "subjects": ArrayWidget(), "languages": forms.TextInput( attrs={"aria-describedby": "desc_languages_help desc_languages"} ), - "subjects": forms.TextInput( - attrs={"aria-describedby": "desc_subjects"} - ), "publishers": forms.TextInput( attrs={"aria-describedby": "desc_publishers_help desc_publishers"} ), From b3f03164cc3330cdf170e216021a5a094053c4ce Mon Sep 17 00:00:00 2001 From: Thomas Versteeg Date: Tue, 15 Mar 2022 09:28:33 +0100 Subject: [PATCH 159/458] Apply black --- bookwyrm/migrations/0145_merge_20220312_1040.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bookwyrm/migrations/0145_merge_20220312_1040.py b/bookwyrm/migrations/0145_merge_20220312_1040.py index 3fa131c44..8e6c75ace 100644 --- a/bookwyrm/migrations/0145_merge_20220312_1040.py +++ b/bookwyrm/migrations/0145_merge_20220312_1040.py @@ -6,9 +6,8 @@ from django.db import migrations class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0142_merge_20220225_2103'), - ('bookwyrm', '0144_alter_announcement_display_type'), + ("bookwyrm", "0142_merge_20220225_2103"), + ("bookwyrm", "0144_alter_announcement_display_type"), ] - operations = [ - ] + operations = [] From 820279166af24dd8051f4829822fe44528c88b3f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 12:39:49 -0700 Subject: [PATCH 160/458] Adds update script --- .../management/commands/instance_version.py | 54 +++++++++++++++++++ .../migrations/0145_sitesettings_version.py | 18 +++++++ bookwyrm/models/site.py | 1 + 3 files changed, 73 insertions(+) create mode 100644 bookwyrm/management/commands/instance_version.py create mode 100644 bookwyrm/migrations/0145_sitesettings_version.py diff --git a/bookwyrm/management/commands/instance_version.py b/bookwyrm/management/commands/instance_version.py new file mode 100644 index 000000000..ca150d640 --- /dev/null +++ b/bookwyrm/management/commands/instance_version.py @@ -0,0 +1,54 @@ +""" Get your admin code to allow install """ +from django.core.management.base import BaseCommand + +from bookwyrm import models +from bookwyrm.settings import VERSION + + +# pylint: disable=no-self-use +class Command(BaseCommand): + """command-line options""" + + help = "What version is this?" + + def add_arguments(self, parser): + """specify which function to run""" + parser.add_argument( + "--current", + action="store_true", + help="Version stored in database", + ) + parser.add_argument( + "--target", + action="store_true", + help="Version stored in settings", + ) + parser.add_argument( + "--update", + action="store_true", + help="Update database version", + ) + + # pylint: disable=unused-argument + def handle(self, *args, **options): + """execute init""" + site = models.SiteSettings.objects.get() + current = site.version or "0.0.1" + target = VERSION + if options.get("current"): + print(current) + return + + if options.get("target"): + print(target) + return + + if options.get("update"): + site.version = target + site.save() + return + + if current != target: + print(f"{current}/{target}") + else: + print(current) diff --git a/bookwyrm/migrations/0145_sitesettings_version.py b/bookwyrm/migrations/0145_sitesettings_version.py new file mode 100644 index 000000000..649f90abe --- /dev/null +++ b/bookwyrm/migrations/0145_sitesettings_version.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2022-03-16 18:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0144_alter_announcement_display_type"), + ] + + operations = [ + migrations.AddField( + model_name="sitesettings", + name="version", + field=models.CharField(blank=True, max_length=10, null=True), + ), + ] diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index c6c53f765..cbad6c4b7 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -27,6 +27,7 @@ class SiteSettings(models.Model): default_theme = models.ForeignKey( "Theme", null=True, blank=True, on_delete=models.SET_NULL ) + version = models.CharField(null=True, blank=True, max_length=10) # admin setup options install_mode = models.BooleanField(default=False) From 78b03efe451db87c6ad4ff2a7b4210608e6d3212 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 12:53:05 -0700 Subject: [PATCH 161/458] Updates bw-dev command and ticks version number --- bookwyrm/settings.py | 2 +- bw-dev | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index ec30bd678..f8d4c397f 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.3.3" +VERSION = "0.3.4" RELEASE_API = env( "RELEASE_API", diff --git a/bw-dev b/bw-dev index 9751219a7..b610758fe 100755 --- a/bw-dev +++ b/bw-dev @@ -163,6 +163,7 @@ case "$CMD" in update) git pull docker-compose build + ./update.sh runweb python manage.py migrate runweb python manage.py collectstatic --no-input docker-compose up -d From ee973c7d7266f9b31103fe132e2474f00766d719 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 12:53:27 -0700 Subject: [PATCH 162/458] Adds celerybeat update script --- updates/0.3.4.sh | 1 + 1 file changed, 1 insertion(+) create mode 100755 updates/0.3.4.sh diff --git a/updates/0.3.4.sh b/updates/0.3.4.sh new file mode 100755 index 000000000..fe7f94dd6 --- /dev/null +++ b/updates/0.3.4.sh @@ -0,0 +1 @@ +./bw-dev migrate django_celery_beat From ea69f9087fe4501159e11f0801fca964a2abd55f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 13:32:37 -0700 Subject: [PATCH 163/458] Adds missing update script --- update.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 update.sh diff --git a/update.sh b/update.sh new file mode 100755 index 000000000..a394eed81 --- /dev/null +++ b/update.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -e + +# determine inital and target versions +initial_version="`./bw-dev runweb python manage.py instance_version --current`" +target_version="`./bw-dev runweb python manage.py instance_version --target`" + +initial_version="`echo $initial_version | tail -n 1 | xargs`" +target_version="`echo $target_version | tail -n 1 | xargs`" +if [[ "$initial_version" = "$target_version" ]]; then + echo "Already up to date; version $initial_version" + exit +fi + +echo "---------------------------------------" +echo "Updating from version: $initial_version" +echo ".......... to version: $target_version" +echo "---------------------------------------" + +function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } + +# execute scripts between initial and target +for version in `ls -A updates/ | sort -V `; do + if version_gt $initial_version $version; then + # too early + continue + fi + if version_gt $version $target_version; then + # too late + continue + fi + echo "Running tasks for version $version" + ./updates/$version +done + +./bw-dev runweb python manage.py instance_version --update +echo "✨ ----------- Done! --------------- ✨" From 819458e82a9d2c276fdf770836131a4b345cdb8a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 13:53:54 -0700 Subject: [PATCH 164/458] Improves error reporting on activitypub parser --- bookwyrm/activitypub/base_activity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/activitypub/base_activity.py b/bookwyrm/activitypub/base_activity.py index 6bee25f62..92f0c99af 100644 --- a/bookwyrm/activitypub/base_activity.py +++ b/bookwyrm/activitypub/base_activity.py @@ -65,7 +65,7 @@ class ActivityObject: try: value = kwargs[field.name] if value in (None, MISSING, {}): - raise KeyError() + raise KeyError("Missing required field", field.name) try: is_subclass = issubclass(field.type, ActivityObject) except TypeError: From 159b73d860d3c1e0c7a6bbd636eb232c5ff04bb4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 13:54:25 -0700 Subject: [PATCH 165/458] Fixes errors in migration --- bookwyrm/migrations/0134_alter_stopped_reading.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bookwyrm/migrations/0134_alter_stopped_reading.py b/bookwyrm/migrations/0134_alter_stopped_reading.py index 13c02e992..ba49f6120 100644 --- a/bookwyrm/migrations/0134_alter_stopped_reading.py +++ b/bookwyrm/migrations/0134_alter_stopped_reading.py @@ -1,7 +1,8 @@ # Generated by Django 3.2.11 on 2022-02-11 13:19 -import bookwyrm.models.fields from django.db import migrations +import bookwyrm.models.fields +from bookwyrm.models import Shelf def add_shelves(apps, schema_editor): @@ -13,12 +14,14 @@ def add_shelves(apps, schema_editor): users = apps.get_model("bookwyrm", "User") local_users = users.objects.using(db_alias).filter(local=True) for user in local_users: - shelf_model.using(db_alias)( + remote_id = f"{user.remote_id}/books/stopped" + shelf_model.objects.using(db_alias).create( name="Stopped reading", identifier=Shelf.STOPPED_READING, user=user, editable=False, - ).save(broadcast=False) + remote_id=remote_id, + ) class Migration(migrations.Migration): From da100cd114befd97082443d7a87314bc468b0ca9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 16:13:15 -0700 Subject: [PATCH 166/458] Adds context and fixes whitespace in translation strings Also updates locales --- .../templates/book/file_links/edit_links.html | 2 +- .../templates/snippets/goal_progress.html | 2 +- locale/de_DE/LC_MESSAGES/django.po | 349 +++++++++-------- locale/en_US/LC_MESSAGES/django.po | 203 ++++++---- locale/es_ES/LC_MESSAGES/django.mo | Bin 83594 -> 83546 bytes locale/es_ES/LC_MESSAGES/django.po | 349 +++++++++-------- locale/fr_FR/LC_MESSAGES/django.po | 351 +++++++++-------- locale/gl_ES/LC_MESSAGES/django.mo | Bin 89154 -> 90099 bytes locale/gl_ES/LC_MESSAGES/django.po | 355 +++++++++-------- locale/it_IT/LC_MESSAGES/django.mo | Bin 90522 -> 91439 bytes locale/it_IT/LC_MESSAGES/django.po | 359 ++++++++++-------- locale/lt_LT/LC_MESSAGES/django.mo | Bin 84689 -> 84629 bytes locale/lt_LT/LC_MESSAGES/django.po | 349 +++++++++-------- locale/no_NO/LC_MESSAGES/django.mo | Bin 79689 -> 79637 bytes locale/no_NO/LC_MESSAGES/django.po | 349 +++++++++-------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 89997 -> 90728 bytes locale/pt_BR/LC_MESSAGES/django.po | 353 +++++++++-------- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72742 -> 72690 bytes locale/pt_PT/LC_MESSAGES/django.po | 349 +++++++++-------- locale/sv_SE/LC_MESSAGES/django.mo | Bin 87729 -> 87673 bytes locale/sv_SE/LC_MESSAGES/django.po | 349 +++++++++-------- locale/zh_Hans/LC_MESSAGES/django.po | 349 +++++++++-------- locale/zh_Hant/LC_MESSAGES/django.po | 349 +++++++++-------- 23 files changed, 2513 insertions(+), 1904 deletions(-) diff --git a/bookwyrm/templates/book/file_links/edit_links.html b/bookwyrm/templates/book/file_links/edit_links.html index 9048ce7a2..a088a40d5 100644 --- a/bookwyrm/templates/book/file_links/edit_links.html +++ b/bookwyrm/templates/book/file_links/edit_links.html @@ -8,7 +8,7 @@

- {% blocktrans with title=book|book_title %} + {% blocktrans trimmed with title=book|book_title %} Links for "{{ title }}" {% endblocktrans %}

diff --git a/bookwyrm/templates/snippets/goal_progress.html b/bookwyrm/templates/snippets/goal_progress.html index d0229b689..bc8fd53b7 100644 --- a/bookwyrm/templates/snippets/goal_progress.html +++ b/bookwyrm/templates/snippets/goal_progress.html @@ -4,7 +4,7 @@ {% with goal.progress as progress %}

{% if progress.percent >= 100 %} - {% trans "Success!" %} + {% trans "Success!" context "Goal successfully completed" %} {% elif progress.percent %} {% blocktrans with percent=progress.percent %}{{ percent }}% complete!{% endblocktrans %} {% endif %} diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 31e44a7b9..6b8502b58 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:52\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Ein Benutzer mit diesem Benutzernamen existiert bereits" - -#: bookwyrm/forms.py:254 -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.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Ein Tag" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Eine Woche" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Ein Monat" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Läuft nicht ab" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i}-mal verwendbar" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Unbegrenzt" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Enddatum darf nicht vor dem Startdatum liegen." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Ein Benutzer mit diesem Benutzernamen existiert bereits" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse." + +#: bookwyrm/forms/links.py:36 +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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Reihenfolge der Liste" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Buchtitel" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Bewertung" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Sortieren nach" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Aufsteigend" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Absteigend" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Enddatum darf nicht vor dem Startdatum liegen." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Fehler beim Laden des Buches" @@ -187,7 +187,7 @@ msgstr "%(value)s ist keine gültige remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s ist kein gültiger Benutzer*inname" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "Benutzer*inname" @@ -245,7 +245,7 @@ msgstr "Zum Liehen erhältlich" msgid "Approved" msgstr "Bestätigt" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Besprechungen" @@ -399,7 +399,7 @@ msgstr "Die Moderator*innen und Administrator*innen von %(site_name)s halten die msgid "Moderator" msgstr "Moderator*in" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administration" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Softwareversion:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Über %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Das am schnellsten gelesene Buch dieses Jahr …" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "ISNI-Datensatz anzeigen" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Lade Daten" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Auf OpenLibrary ansehen" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Auf Inventaire anzeigen" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Zuletzt bearbeitet von:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadaten" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Name:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Mehrere Werte durch Kommas getrennt eingeben." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary-Schlüssel:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire-ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Speichern" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Speichern" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s%(count)s editions" msgstr "%(count)s Ausgaben" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Du hast diese Ausgabe im folgenden Regal:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Eine andere Ausgabe dieses Buches befindet sich in deinem %(shelf_name)s Regal." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Deine Leseaktivität" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Lesedaten hinzufügen" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Du hast keine Leseaktivität für dieses Buch." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Deine Besprechungen" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Deine Kommentare" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Deine Zitate" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Themen" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Orte" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Orte" msgid "Lists" msgstr "Listen" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Zur Liste hinzufügen" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC-Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Titelbild hinzufügen" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Titelbild hochladen:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Titelbild von URL laden:" @@ -975,110 +981,114 @@ msgstr "Dies ist ein neues Werk." msgid "Back" msgstr "Zurück" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Untertitel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Nummer in der Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Sprachen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Veröffentlichung" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Verlag:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Erstveröffentlichungsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Veröffentlichungsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autor*innen" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "%(name)s entfernen" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Autor*inseite für %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Autor*innen hinzufügen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Autor*in hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Lisa Musterfrau" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Weitere*n Autor*in hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Titelbild" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Physikalische Eigenschaften" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Formatdetails:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Buch-Identifikatoren" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "OpenLibrary-ID:" @@ -1168,7 +1178,7 @@ msgstr "Domain" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Status" @@ -1177,7 +1187,7 @@ msgstr "Status" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Aktionen" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Gemeinschaft" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Lokale Benutzer*innen" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Föderierte Gemeinschaft" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Verzeichnis" @@ -1450,7 +1462,7 @@ msgstr "%(username)s hat %(username)s" msgstr "Direktnachrichten mit %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Direktnachrichten" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Updates" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Deine Bücher" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Anmeldung" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Anmelden" @@ -2185,7 +2197,7 @@ msgstr "Anmelden" msgid "Success! Email address confirmed." msgstr "Alles klar! E-Mail-Adresse bestätigt." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Benutzer*inname:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passwort:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Passwort vergessen?" @@ -2230,19 +2242,23 @@ msgstr "%(site_name)s-Suche" msgid "Search for a book, user, or list" msgstr "Nach einem Buch, einem*r Benutzer*in oder einer Liste suchen" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Navigations-Hauptmenü" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Einstellungen" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Einstellungen" msgid "Invites" msgstr "Einladungen" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Abmelden" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Benachrichtigungen" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "Passwort" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Beitreten" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Status veröffentlicht" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Fehler beim veröffentlichen des Status" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Handbuch" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "%(site_name)s auf %(support_title)s unterstützen" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." @@ -3013,6 +3029,43 @@ msgstr "Lesedaten für „%(title)s“ hinzufügen" msgid "Report" msgstr "Melden" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Ergebnisse von" @@ -3046,8 +3099,9 @@ msgstr "Suchart" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Benutzer*innen" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Datum der Bestätigung" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-Mail" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "Bist du sicher, dass du das Benutzer*inkonto „%(username)s%(instance_name)s" msgstr "Benutzer*innen: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Benutzer*inname" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Hinzugefügt am" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Zuletzt aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Entfernte Instanz" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Nicht festgelegt" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index c5d3ad3fa..b344e4aaf 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-03-14 19:30+0000\n" +"POT-Creation-Date: 2022-03-16 23:12+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,28 +18,28 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: bookwyrm/forms/admin.py:40 +#: bookwyrm/forms/admin.py:41 msgid "One Day" msgstr "" -#: bookwyrm/forms/admin.py:41 +#: bookwyrm/forms/admin.py:42 msgid "One Week" msgstr "" -#: bookwyrm/forms/admin.py:42 +#: bookwyrm/forms/admin.py:43 msgid "One Month" msgstr "" -#: bookwyrm/forms/admin.py:43 +#: bookwyrm/forms/admin.py:44 msgid "Does Not Expire" msgstr "" -#: bookwyrm/forms/admin.py:47 +#: bookwyrm/forms/admin.py:48 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms/admin.py:48 +#: bookwyrm/forms/admin.py:49 msgid "Unlimited" msgstr "" @@ -262,73 +262,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:208 +#: bookwyrm/settings.py:209 msgid "Home" msgstr "" -#: bookwyrm/settings.py:209 +#: bookwyrm/settings.py:210 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:210 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:282 msgid "English" msgstr "" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:283 msgid "Deutsch (German)" msgstr "" -#: bookwyrm/settings.py:283 +#: bookwyrm/settings.py:284 msgid "Español (Spanish)" msgstr "" -#: bookwyrm/settings.py:284 +#: bookwyrm/settings.py:285 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:285 +#: bookwyrm/settings.py:286 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "Français (French)" msgstr "" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "简体中文 (Simplified Chinese)" msgstr "" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:294 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -680,8 +680,7 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:44 #: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:88 -#: bookwyrm/templates/book/edit/edit_book_form.html:107 +#: bookwyrm/templates/book/edit/edit_book_form.html:146 msgid "Separate multiple values with commas." msgstr "" @@ -710,7 +709,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:278 +#: bookwyrm/templates/book/edit/edit_book_form.html:322 msgid "Inventaire ID:" msgstr "" @@ -893,12 +892,12 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:287 +#: bookwyrm/templates/book/edit/edit_book_form.html:331 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:296 +#: bookwyrm/templates/book/edit/edit_book_form.html:340 msgid "ASIN:" msgstr "" @@ -907,12 +906,12 @@ msgid "Add cover" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:230 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:236 msgid "Load cover from url:" msgstr "" @@ -1007,89 +1006,101 @@ msgstr "" msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +msgid "Add subject" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:106 +msgid "Remove subject" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:129 +msgid "Add Another Subject" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:137 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:103 +#: bookwyrm/templates/book/edit/edit_book_form.html:142 msgid "Publisher:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:115 +#: bookwyrm/templates/book/edit/edit_book_form.html:154 msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:124 +#: bookwyrm/templates/book/edit/edit_book_form.html:163 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:135 +#: bookwyrm/templates/book/edit/edit_book_form.html:174 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:144 +#: bookwyrm/templates/book/edit/edit_book_form.html:183 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:147 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:155 +#: bookwyrm/templates/book/edit/edit_book_form.html:194 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:158 -#: bookwyrm/templates/book/edit/edit_book_form.html:161 +#: bookwyrm/templates/book/edit/edit_book_form.html:197 +#: bookwyrm/templates/book/edit/edit_book_form.html:200 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:159 -#: bookwyrm/templates/book/edit/edit_book_form.html:162 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:165 +#: bookwyrm/templates/book/edit/edit_book_form.html:207 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:217 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:205 +#: bookwyrm/templates/book/edit/edit_book_form.html:249 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:212 +#: bookwyrm/templates/book/edit/edit_book_form.html:256 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:224 +#: bookwyrm/templates/book/edit/edit_book_form.html:268 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:235 +#: bookwyrm/templates/book/edit/edit_book_form.html:279 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:246 +#: bookwyrm/templates/book/edit/edit_book_form.html:290 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:251 +#: bookwyrm/templates/book/edit/edit_book_form.html:295 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:260 +#: bookwyrm/templates/book/edit/edit_book_form.html:304 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:269 +#: bookwyrm/templates/book/edit/edit_book_form.html:313 msgid "Openlibrary ID:" msgstr "" @@ -1145,10 +1156,7 @@ msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:11 #, python-format -msgid "" -"\n" -" Links for \"%(title)s\"\n" -" " +msgid "Links for \"%(title)s\"" msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:32 @@ -3217,64 +3225,89 @@ msgstr "" msgid "Color:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:6 -#: bookwyrm/templates/settings/automod/rules.html:10 +#: bookwyrm/templates/settings/automod/rules.html:7 +#: bookwyrm/templates/settings/automod/rules.html:11 #: bookwyrm/templates/settings/layout.html:61 msgid "Auto-moderation rules" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:17 +#: bookwyrm/templates/settings/automod/rules.html:18 msgid "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:18 +#: bookwyrm/templates/settings/automod/rules.html:19 msgid "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:19 -msgid "At this time, reports are not being generated automatically, and you must manually trigger a scan." +#: bookwyrm/templates/settings/automod/rules.html:26 +msgid "Schedule:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:23 -msgid "Run scan" +#: bookwyrm/templates/settings/automod/rules.html:33 +msgid "Last run:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:31 -msgid "Successfully added rule" +#: bookwyrm/templates/settings/automod/rules.html:40 +msgid "Total run count:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:37 -msgid "Add Rule" +#: bookwyrm/templates/settings/automod/rules.html:47 +msgid "Enabled:" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:46 -#: bookwyrm/templates/settings/automod/rules.html:90 -msgid "String match" -msgstr "" - -#: bookwyrm/templates/settings/automod/rules.html:56 -#: bookwyrm/templates/settings/automod/rules.html:93 -msgid "Flag users" +#: bookwyrm/templates/settings/automod/rules.html:59 +msgid "Delete schedule" msgstr "" #: bookwyrm/templates/settings/automod/rules.html:63 -#: bookwyrm/templates/settings/automod/rules.html:96 +msgid "Run now" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:64 +msgid "Last run date will not be updated" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:69 +#: bookwyrm/templates/settings/automod/rules.html:92 +msgid "Schedule scan" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:101 +msgid "Successfully added rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:107 +msgid "Add Rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:116 +#: bookwyrm/templates/settings/automod/rules.html:160 +msgid "String match" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:126 +#: bookwyrm/templates/settings/automod/rules.html:163 +msgid "Flag users" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:133 +#: bookwyrm/templates/settings/automod/rules.html:166 msgid "Flag statuses" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:70 +#: bookwyrm/templates/settings/automod/rules.html:140 msgid "Add rule" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:77 +#: bookwyrm/templates/settings/automod/rules.html:147 msgid "Current Rules" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:81 +#: bookwyrm/templates/settings/automod/rules.html:151 msgid "Show rules" msgstr "" -#: bookwyrm/templates/settings/automod/rules.html:118 +#: bookwyrm/templates/settings/automod/rules.html:188 msgid "Remove rule" msgstr "" @@ -3524,7 +3557,6 @@ msgid "Import Blocklist" msgstr "" #: bookwyrm/templates/settings/federation/instance_blocklist.html:38 -#: bookwyrm/templates/snippets/goal_progress.html:7 msgid "Success!" msgstr "" @@ -4566,6 +4598,11 @@ msgstr "" msgid "Set goal" msgstr "" +#: bookwyrm/templates/snippets/goal_progress.html:7 +msgctxt "Goal successfully completed" +msgid "Success!" +msgstr "" + #: bookwyrm/templates/snippets/goal_progress.html:9 #, python-format msgid "%(percent)s%% complete!" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index ff4ad1d4996bb4a39f8a210854b7bfa648db2dfc..e2cdb67bd051815b88f910fde3494c3330e7975c 100644 GIT binary patch delta 21007 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 delta 21052 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 diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index b68cde705..5855eb1b4 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 20:49\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "Este dominio está bloqueado. Póngase en contacto con su administrador si cree que esto es un error." - -#: bookwyrm/forms.py:264 -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 es visible es porque el dominio todavía está pendiente." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Ya existe un usuario con ese correo electrónico." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un día" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Una semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mes" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "No expira" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Sin límite" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Ya existe un usuario con ese correo electrónico." + +#: bookwyrm/forms/links.py:36 +msgid "This domain is blocked. Please contact your administrator if you think this is an error." +msgstr "Este dominio está bloqueado. Póngase en contacto con su administrador si cree que esto es un error." + +#: bookwyrm/forms/links.py:46 +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 es visible es porque el dominio todavía está pendiente." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Orden de la lista" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Valoración" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordenar por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Error en cargar libro" @@ -187,7 +187,7 @@ msgstr "%(value)s no es un remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s no es un usuario válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nombre de usuario" @@ -245,7 +245,7 @@ msgstr "Disponible para préstamo" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Reseñas" @@ -399,7 +399,7 @@ msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administrador" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versión del software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Su lectura más corta de este año…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver registro ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Cargar datos" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver en OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver en Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Editado más recientemente por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadatos" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nombre:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separar varios valores con comas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Clave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Guardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Guardar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "La carga de datos se conectará a %(source_name)s y com msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Editar Libro" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Haz clic para añadir portada" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "No se pudo cargar la portada" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Haz clic para ampliar" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s reseña)" msgstr[1] "(%(review_count)s reseñas)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Agregar descripción" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descripción:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s ediciones" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Has guardado esta edición en la estantería de:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una edición diferente de este libro está en tu estantería %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Tu actividad de lectura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Agregar fechas de lectura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "No tienes ninguna actividad de lectura para este libro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Tus reseñas" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Tus comentarios" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Tus citas" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Sujetos" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Agregar a lista" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Agregar portada" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Agregar portada de url:" @@ -975,110 +981,114 @@ msgstr "Esta es una obra nueva" msgid "Back" msgstr "Volver" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número de serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicación" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Fecha de primera publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Fecha de publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autores" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Quitar %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor por %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Agregar Autores:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Añadir Autor" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "María López García" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Añadir Otro Autor" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Portada" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propiedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalles del formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores de libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "ID OpenLibrary:" @@ -1168,7 +1178,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Estado" @@ -1177,7 +1187,7 @@ msgstr "Estado" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Acciones" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Comunidad" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Usuarios locales" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidad federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Directorio" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citó %(username)s" msgstr "Mensajes directos con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensajes directos" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Actualizaciones" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Tus libros" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Iniciar sesión" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Iniciar sesión" @@ -2185,7 +2197,7 @@ msgstr "Iniciar sesión" msgid "Success! Email address confirmed." msgstr "¡Éxito! Dirección de correo electrónico confirmada." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nombre de usuario:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contraseña:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "¿Olvidaste tu contraseña?" @@ -2230,19 +2242,23 @@ msgstr "Busqueda en %(site_name)s" msgid "Search for a book, user, or list" msgstr "Buscar un libro o un usuario o una lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menú de navigación central" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Actividad" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configuración" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Configuración" msgid "Invites" msgstr "Invitaciones" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Cerrar sesión" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificaciones" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "contraseña" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Unirse" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Estado publicado con éxito" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Error al publicar el estado" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentación de Django" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoyar %(site_name)s en %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en GitHub." @@ -3013,6 +3029,43 @@ msgstr "Añadir fechas de lectura de «%(title)s»" msgid "Report" msgstr "Reportar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3046,8 +3099,9 @@ msgstr "Tipo de búsqueda" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Usuarios" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Fecha de aceptación" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Correo electronico" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "¿Estás seguro que quieres eliminar la cuenta de %(username)s%(instance_name)s" msgstr "Usuarios %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nombre de usuario" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Fecha agregada" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Actividad reciente" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instancia remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Activo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inactivo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "No establecido" diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 4e3d049b6..233548259 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-14 16:32\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-16 14:14\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Un compte du même nom existe déjà" - -#: bookwyrm/forms.py:254 -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.py:264 -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." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Cet email est déjà associé à un compte." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un jour" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Une semaine" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mois" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Sans expiration" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} utilisations" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Sans limite" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Un compte du même nom existe déjà" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Cet email est déjà associé à un compte." + +#: bookwyrm/forms/links.py:36 +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 +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." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordre de la liste" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Titre du livre" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Note" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Trier par" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ordre croissant" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Ordre décroissant" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erreur lors du chargement du livre" @@ -187,7 +187,7 @@ msgstr "%(value)s n’est pas une remote_id valide." msgid "%(value)s is not a valid username" msgstr "%(value)s n’est pas un nom de compte valide." -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom du compte :" @@ -245,7 +245,7 @@ msgstr "Disponible à l’emprunt" msgid "Approved" msgstr "Approuvé" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Critiques" @@ -399,7 +399,7 @@ msgstr "L’administration et la modération de %(site_name)s maintiennent le si msgid "Moderator" msgstr "Modérateur/modératrice" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Version logicielle :" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "À propos de %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Sa lecture la plus courte l’année…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Voir l’enregistrement ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Charger les données" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Voir sur OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Voir sur Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Dernière modification par :" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Métadonnées" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nom :" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Séparez plusieurs valeurs par une virgule." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Clé Openlibrary :" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Identifiant Inventaire :" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI :" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Enregistrer" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Enregistrer" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Le chargement des données se connectera à %(source_name)s%(count)s editions" msgstr "%(count)s éditions" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Vous avez rangé cette édition dans :" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Une édition différente de ce livre existe sur votre étagère %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Vos critiques" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Vos commentaires" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Vos citations" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Lieux" msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Ajouter à la liste" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN :" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Ajouter une couverture" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Charger une couverture :" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Charger la couverture depuis une URL :" @@ -975,110 +981,114 @@ msgstr "Il s’agit d’un nouvel ouvrage." msgid "Back" msgstr "Retour" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titre :" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Sous‑titre :" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Série :" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Numéro dans la série :" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Langues :" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Sujets :" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publication" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Éditeur :" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Première date de parution :" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Date de parution :" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Auteurs ou autrices" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Retirer %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Page de %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Ajouter des auteurs ou autrices :" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Ajouter un auteur ou une autrice" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Camille Dupont" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Ajouter un autre auteur ou autrice" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Couverture" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propriétés physiques" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format :" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Détails du format :" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Pages :" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identifiants du livre" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13 :" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10 :" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Identifiant Openlibrary :" @@ -1168,7 +1178,7 @@ msgstr "Domaine" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Statut" @@ -1177,7 +1187,7 @@ msgstr "Statut" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Actions" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Communauté" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Comptes locaux" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Communauté fédérée" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Répertoire" @@ -1450,7 +1462,7 @@ msgstr "%(username)s a cité un passage de %(username)s" msgstr "Messages directs avec %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Messages directs" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Mises à jour" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Vos Livres" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Connexion" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Se connecter" @@ -2185,7 +2197,7 @@ msgstr "Se connecter" msgid "Success! Email address confirmed." msgstr "Bravo ! L’adresse email a été confirmée." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nom du compte :" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Mot de passe :" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Mot de passe oublié ?" @@ -2230,19 +2242,23 @@ msgstr "Recherche %(site_name)s" msgid "Search for a book, user, or list" msgstr "Rechercher un livre, un utilisateur ou une liste" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Scanner le code-barres" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menu de navigation principal " -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Fil d’actualité" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Paramètres" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Paramètres" msgid "Invites" msgstr "Invitations" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Se déconnecter" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notifications" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "Mot de passe" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Rejoindre" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Publié !" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erreur lors de la publication" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentation" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Soutenez %(site_name)s avec %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub." @@ -3013,6 +3029,45 @@ msgstr "Ajouter des dates de lecture pour « %(title)s »" msgid "Report" msgstr "Signaler" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Scanner le code-barres\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "En attente de la caméra…" + +#: bookwyrm/templates/search/barcode_modal.html:24 +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 +msgid "Could not access camera" +msgstr "Impossible d’accéder à la caméra" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Scan en cours…" + +#: bookwyrm/templates/search/barcode_modal.html:34 +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 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN scanné" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Recherche du livre :" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Résultats de" @@ -3046,8 +3101,9 @@ msgstr "Type de recherche" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Comptes" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Date de validation" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Email" @@ -3932,7 +3989,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "Ajoutez le nom du fichier à l'aide du formulaire ci-dessous pour le rendre disponible dans l'interface de l'application." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Ajouter un thème" @@ -3940,28 +3997,24 @@ msgstr "Ajouter un thème" msgid "Unable to save theme" msgstr "Impossible d’enregistrer le thème" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Aucun fichier de thème disponible détecté" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nom du thème" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Nom de fichier du thème" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Thèmes disponibles" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "Fichier" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Supprimer le thème" @@ -3979,43 +4032,39 @@ msgstr "Êtes-vous sûr de vouloir supprimer le compte de %(username)s%(instance_name)s" msgstr "Comptes : %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nom du compte" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Date d’ajout" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Dernière activité" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instance distante" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Actif" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inactif" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Non défini" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 8958c625aa2159fb6d31240e3ad57c6309aa0a96..a1b321a7dc998f207a24ccf2e696b406638a7d6c 100644 GIT binary patch delta 23896 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

8dD(RabWR!28MK~K*bbD&^1nh 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 u+k\n" "Language-Team: Galician\n" "Language: gl\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Xa existe unha usuaria con este identificador" - -#: bookwyrm/forms.py:254 -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.py:264 -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." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Xa existe unha usuaria con este email." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un día" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Unha semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mes" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Non caduca" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Sen límite" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "A data final da lectura non pode ser anterior á de inicio." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Xa existe unha usuaria con este identificador" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Xa existe unha usuaria con este email." + +#: bookwyrm/forms/links.py:36 +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 +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." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Orde da listaxe" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título do libro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Puntuación" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordenar por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "A data final da lectura non pode ser anterior á de inicio." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erro ao cargar o libro" @@ -187,7 +187,7 @@ msgstr "%(value)s non é un remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s non é un nome de usuaria válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuaria" @@ -245,7 +245,7 @@ msgstr "Dispoñible para aluguer" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Recensións" @@ -399,7 +399,7 @@ msgstr "A moderación e administración de %(site_name)s coidan e xestionan o si msgid "Moderator" msgstr "Moderación" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versión do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -533,7 +533,7 @@ msgstr "A lectura máis curta deste ano…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver rexistro ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Cargar datos" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver en OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver en Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Última edición por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadatos" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separa múltiples valores con vírgulas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chave en Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID en Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Gardar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Gardar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Ao cargar os datos vas conectar con %(source_name)s e c msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "Non se pode conectar coa fonte remota." + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Editar libro" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Preme para engadir portada" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Fallou a carga da portada" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Preme para agrandar" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s recensión)" msgstr[1] "(%(review_count)s recensións)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Engadir descrición" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrición:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s edicións" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Puxeches esta edición no estante:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Hai unha edición diferente deste libro no teu estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Actividade lectora" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Engadir datas de lectura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Non tes actividade lectora neste libro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "As túas recensións" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Os teus comentarios" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "As túas citas" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Temas" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listaxes" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Engadir a listaxe" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Engadir portada" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Cargar portada desde url:" @@ -975,110 +981,114 @@ msgstr "Este é un novo traballo" msgid "Back" msgstr "Atrás" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número da serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Temas:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicación" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Data da primeira edición:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data de publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autoras" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Eliminar %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Páxina de autora para %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Engadir autoras:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Engadir Autora" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Xoana Pedre" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Engade outra Autora" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Portada" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propiedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalles do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páxinas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores do libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "ID en Openlibrary:" @@ -1168,7 +1178,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Estado" @@ -1177,7 +1187,7 @@ msgstr "Estado" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Accións" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Comunidade" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Usuarias locais" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Directorio" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensaxes Directas con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensaxes Directas" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Actualizacións" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Os teus libros" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Acceder" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Accede" @@ -2185,7 +2197,7 @@ msgstr "Accede" msgid "Success! Email address confirmed." msgstr "Correcto! Enderezo de email confirmado." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nome de usuaria:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contrasinal:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueceches o contrasinal?" @@ -2230,19 +2242,23 @@ msgstr "Busca en %(site_name)s" msgid "Search for a book, user, or list" msgstr "Busca un libro, usuaria ou lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Escanear código de barras" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menú principal de navegación" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Fonte" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Axustes" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Axustes" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Desconectar" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificacións" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "contrasinal" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Únete" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Publicación correcta" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erro ao publicar" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentación" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Axuda a %(site_name)s en %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 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." @@ -3013,6 +3029,45 @@ msgstr "Engadir datas de lectura para \"%(title)s\"" msgid "Report" msgstr "Denunciar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Escanear Código de barras\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "Accedendo á cámara..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +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 +msgid "Could not access camera" +msgstr "Non hai acceso á cámara" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Escaneando..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +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 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN escaneado" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Buscando o libro:" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3046,8 +3101,9 @@ msgstr "Tipo de busca" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Usuarias" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Data de aceptación" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Email" @@ -3925,14 +3982,14 @@ msgstr "Copia o ficheiro do decorado no cartafol bookwyrm/static/css/theme #: bookwyrm/templates/settings/themes.html:32 msgid "Run ./bw-dev collectstatic." -msgstr "" +msgstr "Executa ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." msgstr "Engade o nome de ficheiro usando o formulario inferior para que esté dispoñible na interface da aplicación." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Engadir decorado" @@ -3940,28 +3997,24 @@ msgstr "Engadir decorado" msgid "Unable to save theme" msgstr "Non se gardou o decorado" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Non se atopan ficheiros de decorado" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nome do decorado" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Nome de ficheiro do decorado" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Decorados dispoñibles" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "Ficheiro" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Eliminar decorado" @@ -3979,43 +4032,39 @@ msgstr "Tes a certeza de querer eliminar a conta de %(username)s%(instance_name)s" msgstr "Usuarias: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de usuaria" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Data de alta" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Última vez activa" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instancia remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Activa" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inactiva" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Non establecido" @@ -4347,7 +4396,7 @@ msgstr "Incluír alerta de spoiler" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "" +msgstr "Avisos sobre o contido/spoilers:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 911ed76e7d249a6e33903385d49658f07dc52aed..c7cf632bb9b893d48fdf193415d67188cc559241 100644 GIT binary patch delta 23975 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 delta 23099 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 JCW>)07XVc_$Fu+d diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index fbeaf64b7..647ebdbdd 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:52\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-16 19:30\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Esiste già un utente con questo nome utente" - -#: bookwyrm/forms.py:254 -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.py:264 -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." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Esiste già un'utenza con questo indirizzo email." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Un giorno" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Una settimana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Un mese" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Non scade" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usi" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Illimitato" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "La data di fine lettura non può essere precedente alla data di inizio." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Esiste già un utente con questo nome utente" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Esiste già un'utenza con questo indirizzo email." + +#: bookwyrm/forms/links.py:36 +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 +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." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordina Lista" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Titolo del libro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Valutazione" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordina per" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Crescente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Decrescente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "La data di fine lettura non può essere precedente alla data di inizio." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Errore nel caricamento del libro" @@ -187,7 +187,7 @@ msgstr "%(value)s non è un Id remoto valido" msgid "%(value)s is not a valid username" msgstr "%(value)s non è un nome utente valido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome utente" @@ -245,7 +245,7 @@ msgstr "Disponibile per il prestito" msgid "Approved" msgstr "Approvato" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Recensioni" @@ -399,7 +399,7 @@ msgstr "I moderatori e gli amministratori di %(site_name)s mantengono il sito at msgid "Moderator" msgstr "Moderatori" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versione del software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Informazioni su %(site_name)s" @@ -533,7 +533,7 @@ msgstr "La loro lettura più breve quest’anno…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Visualizza record ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carica dati" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Visualizza su OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Visualizza su Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Ultima modifica di:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadati" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separa valori multipli con la virgola (,)" @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chiave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Salva" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Salva" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Il caricamento dei dati si collegherà a %(source_name)s%(count)s editions" msgstr "%(count)s edizioni" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Hai salvato questa edizione in:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una diversa edizione di questo libro è sul tuo scaffale %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Le tue attività di lettura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Aggiungi data di lettura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Non hai alcuna attività di lettura per questo libro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Le tue recensioni" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "I tuoi commenti" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Le tue citazioni" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Argomenti" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Luoghi" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Luoghi" msgid "Lists" msgstr "Liste" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Aggiungi all'elenco" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Numero OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Aggiungi copertina" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Carica la copertina:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Carica la copertina dall'url:" @@ -975,110 +981,114 @@ msgstr "Si tratta di un nuovo lavoro" msgid "Back" msgstr "Indietro" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titolo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Sottotitolo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Collana:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Numero collana:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Lingue:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Argomenti:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Data di pubblicazione" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editore:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Prima data di pubblicazione:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data di pubblicazione:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autori" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Rimuovi %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Pagina autore per %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Aggiungi Autori:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Aggiungi Autore" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Jane Doe" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Aggiungi un altro autore" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Copertina" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Caratteristiche" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Dettagli del formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Pagine:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificativi del Libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "OpenLibrary ID:" @@ -1168,7 +1178,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Stato" @@ -1177,7 +1187,7 @@ msgstr "Stato" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Azioni" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Community" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Utenti Locali" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunità federata" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Directory" @@ -1450,7 +1462,7 @@ msgstr "%(username)s ha citato %(username)s" msgstr "Messaggi diretti con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Messaggi Diretti" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Aggiornamenti" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "I Tuoi Libri" @@ -1657,7 +1669,7 @@ msgstr "Scopri le tue statistiche per %(year)s!" #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" -msgstr "Hai letto %(book_title)s?" +msgstr "Hai già letto %(book_title)s?" #: bookwyrm/templates/get_started/book_preview.html:7 msgid "Add to your books" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Accedi" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Accedi" @@ -2185,7 +2197,7 @@ msgstr "Accedi" msgid "Success! Email address confirmed." msgstr "Indirizzo email confermato con successo." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Nome utente:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Password:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Hai dimenticato la tua password?" @@ -2230,19 +2242,23 @@ msgstr "Ricerca %(site_name)s" msgid "Search for a book, user, or list" msgstr "Cerca un libro, un utente o una lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Scansiona codice a barre" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Barra di navigazione principale" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Impostazioni" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Impostazioni" msgid "Invites" msgstr "Inviti" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Esci" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notifiche" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "password" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Entra" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Stato pubblicato correttamente" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Errore nel pubblicare lo stato" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentazione" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Supporta %(site_name)s su %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 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." @@ -3013,6 +3029,45 @@ msgstr "Aggiungi date di lettura per \"%(title)s\"" msgid "Report" msgstr "Report" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Scansiona codice a barre\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "Richiesta fotocamera..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +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 +msgid "Could not access camera" +msgstr "Impossibile accedere alla fotocamera" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Ricerca in corso..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +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 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN scansionato" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Ricerca libro:" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Risultati da" @@ -3046,8 +3101,9 @@ msgstr "Tipo di ricerca" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Utenti" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Data di approvazione" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "Email" @@ -3925,14 +3982,14 @@ msgstr "Copia il file del tema nella directory bookwyrm/static/css/themes< #: bookwyrm/templates/settings/themes.html:32 msgid "Run ./bw-dev collectstatic." -msgstr "" +msgstr "Esegui ./bw-dev collectstatic." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." msgstr "Aggiungere il nome del file utilizzando il modulo sottostante per renderlo disponibile nell'interfaccia dell'applicazione." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Aggiungi tema" @@ -3940,28 +3997,24 @@ msgstr "Aggiungi tema" msgid "Unable to save theme" msgstr "Impossibile salvare il tema" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Nessun file di tema disponibile" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nome tema" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Nome file del tema" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Temi disponibili" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "File" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Rimuovi tema" @@ -3979,43 +4032,39 @@ msgstr "Sei sicuro di voler eliminare l'account di %(username)s msgid "Your password:" msgstr "La tua password:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Torna alla lista degli utenti" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Utenti: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome utente" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Aggiunto in data" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Attivo l'ultima volta" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Istanza remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Attivo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inattivo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Non impostato" @@ -4290,7 +4339,7 @@ msgstr "Nessuna copertina" #: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" -msgstr "%(title)s da" +msgstr "%(title)s di" #: bookwyrm/templates/snippets/boost_button.html:20 #: bookwyrm/templates/snippets/boost_button.html:21 @@ -4347,7 +4396,7 @@ msgstr "Includi avviso spoiler" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "" +msgstr "Contenuto dell'avviso:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index 08a3fe6ac5ff76c87f1cb315f558e204008ad0bd..5d440dc651580426ededf4541741b8fc46ed59af 100644 GIT binary patch delta 20895 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ΜOF{FBbRbWCSlPF5qMY&uEr$LgH>dCnRWhaY76} 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 vAPLZMh@fNkKzH!nHxRCV+6XId!$=*HMf delta 20983 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 +1M5WWeN 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\n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Vartotojas su šiuo el. pašto adresu jau yra." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Diena" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Savaitė" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Mėnuo" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Galiojimas nesibaigia" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} naudoja" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Neribota" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Vartotojas su šiuo el. pašto adresu jau yra." + +#: 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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Kaip pridėta į sąrašą" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Knygos antraštė" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Įvertinimas" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Rūšiuoti pagal" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Didėjančia tvarka" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Mažėjančia tvarka" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Klaida įkeliant knygą" @@ -187,7 +187,7 @@ msgstr "%(value)s yra negaliojantis remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s yra negaliojantis naudotojo vardas" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "naudotojo vardas" @@ -245,7 +245,7 @@ msgstr "Galima pasiskolinti" msgid "Approved" msgstr "Patvirtinti puslapiai" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Apžvalgos" @@ -399,7 +399,7 @@ msgstr "Svetainės %(site_name)s moderatoriai ir administratoriai nuolat atnauji msgid "Moderator" msgstr "Moderatorius" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administravimas" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Serverio programinės įrangos versija:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Apie %(site_name)s" @@ -537,7 +537,7 @@ msgstr "Trumpiausias skaitinys tais metais…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -626,18 +626,18 @@ msgstr "Peržiūrėti ISNI įrašą" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Įkelti duomenis" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Žiūrėti „OpenLibrary“" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Žiūrėti „Inventaire“" @@ -674,7 +674,7 @@ msgid "Last edited by:" msgstr "Pastarąjį kartą redagavo:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Meta duomenys" @@ -686,8 +686,9 @@ msgid "Name:" msgstr "Vardas:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Reikšmes atskirkite kableliais." @@ -716,7 +717,7 @@ msgid "Openlibrary key:" msgstr "„Openlibrary“ raktas:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "„Inventaire“ ID:" @@ -733,7 +734,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -755,7 +756,7 @@ msgstr "Išsaugoti" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -767,6 +768,7 @@ msgstr "Išsaugoti" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -787,23 +789,27 @@ msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir msgid "Confirm" msgstr "Patvirtinti" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Redaguoti knygą" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Spausti, kad pridėti viršelį" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Nepavyko įkelti viršelio" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Spustelėkite padidinti" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" @@ -812,64 +818,64 @@ msgstr[1] "(%(review_count)s atsiliepimai)" msgstr[2] "(%(review_count)s atsiliepimų)" msgstr[3] "(%(review_count)s atsiliepimai)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Pridėti aprašymą" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Aprašymas:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s leidimai (-ų)" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Šis leidimas įdėtas į:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "kitas šios knygos leidimas yra jūsų %(shelf_name)s lentynoje." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Jūsų skaitymo veikla" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Pridėti skaitymo datas" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Šios knygos neskaitote." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Tavo atsiliepimai" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Tavo komentarai" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Jūsų citatos" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Temos" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Vietos" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -878,11 +884,11 @@ msgstr "Vietos" msgid "Lists" msgstr "Sąrašai" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Pridėti prie sąrašo" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -896,12 +902,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC numeris:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -910,12 +916,12 @@ msgid "Add cover" msgstr "Pridėti viršelį" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Įkelti viršelį:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Įkelti viršelį iš url:" @@ -985,110 +991,114 @@ msgstr "Tai naujas darbas" msgid "Back" msgstr "Atgal" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Pavadinimas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Paantraštė:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serija:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Serijos numeris:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Kalbos:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Leidimas" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Leidėjas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Pirmoji publikavimo data:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Publikavimo data:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autoriai" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Pašalinti %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Autoriaus puslapis %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Pridėti autorius:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Pridėti autorių" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Jonas Jonaitė" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Pridėti dar vieną autorių" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Viršelis" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Fizinės savybės" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formatas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Informacija apie formatą:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Puslapiai:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Knygos identifikatoriai" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "„Openlibrary“ ID:" @@ -1177,7 +1187,7 @@ msgstr "Domenas" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Būsena" @@ -1186,7 +1196,7 @@ msgstr "Būsena" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Veiksmai" @@ -1330,16 +1340,18 @@ msgid "Community" msgstr "Bendruomenė" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Vietiniai nariai" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Sujungta bendruomenė" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Bendruomenė" @@ -1463,7 +1475,7 @@ msgstr "%(username)s citavo %(username)s" msgstr "Asmeninis susirašinėjimas su %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Asmeninės žinutės" @@ -1637,7 +1649,7 @@ msgid "Updates" msgstr "Atnaujinimai" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Jūsų knygos" @@ -2197,7 +2209,7 @@ msgid "Login" msgstr "Prisijungti" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Prisijunkite" @@ -2206,7 +2218,7 @@ msgstr "Prisijunkite" msgid "Success! Email address confirmed." msgstr "Džiugu, el. pašto adresas patvirtintas." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2214,12 +2226,12 @@ msgstr "Naudotojo vardas:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Slaptažodis:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Pamiršote slaptažodį?" @@ -2251,19 +2263,23 @@ msgstr "%(site_name)s paieška" msgid "Search for a book, user, or list" msgstr "Ieškoti knygos, naudotojo arba sąrašo" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Pagrindinis navigacijos meniu" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Srautas" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Nustatymai" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2271,42 +2287,42 @@ msgstr "Nustatymai" msgid "Invites" msgstr "Pakvietimai" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Atsijungti" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Pranešimai" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "slaptažodis" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Prisijungti" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Būsena publikuota sėkmingai" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Klaida, publikuojant būseną" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Dokumentacija" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Paremkite %(site_name)s per %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "„BookWyrm“ šaltinio kodas yra laisvai prieinamas. Galite prisidėti arba pranešti apie klaidas per GitHub." @@ -3034,6 +3050,43 @@ msgstr "Pridėkite knygos „%(title)s“ skaitymo datas" msgid "Report" msgstr "Pranešti" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Rezultatai iš" @@ -3067,8 +3120,9 @@ msgstr "Paieškos tipas" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Nariai" @@ -3543,6 +3597,7 @@ msgid "Date accepted" msgstr "Priėmimo data" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "El. paštas" @@ -3961,7 +4016,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3969,28 +4024,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -4008,43 +4059,39 @@ msgstr "Ar tikrai norite ištrinti %(username)s paskyrą? To ne msgid "Your password:" msgstr "Jūsų slaptažodis:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Atgal į vartotojų sąrašą" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Vartotojai: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Vartotojo vardas" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Pridėjimo data" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Paskutinį kartą aktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Nutolęs serveris" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Neaktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Nenustatytas" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 7f23bb1a85ac630404dea8c769addd4f5b1fa79c..7965dcb2069ecf0310ea96158e306c0bcc78890f 100644 GIT binary patch delta 20895 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 +1M5WWeN zc3cjrCH28WM8SNh_@U*HkUp~<64IBJGt`4euWv#%Fs^{) z0490+Ke)Le)K3 z0SV!+E1>Ov&Xtfj7F`LkP;n*10mdsKiOyyvB>zUOgoH%nN{9u0D@i>-zjq_!HOKxZ{%RNQJcWR|ON zHKas4v>HmUWoi*=B>8Lst^qO)~9q^#e#9^#`%>md&Qu^v)Xb8LV( zP;Uby+tzP@1nsE}kXrQK21tl;Z-j)H#70O+D?|A84Eh@x7>XDe7_2rz65m>g1Ow+L zNJxlmg2cVjCWuDEO%R9JZh|;GcoW2e;!Tigx`s`V#C3HO#N0cZAR*(w84_Z1HbX-C z_-0U))iW@h-ORw?3z~S`4C&=6Z-MZOwm^dJz!nAuCI$wE&s!if8{f7tFeEWBFlcOr zB&zPM5Ci9Jg@nwKt&p^{Wh*4A_HJchNCWBL3UO%EHb^a+zKwyw50w8WY=Z>d{cQ{k z&I}9;TH7HG$lDI#@7WHCJBA$)gPnFjddc29AR#h+2gHYqq4Wo+yzNd%)OGHJgv>4| z&A$sW516uxfuSBWe!pWE#3vtjL5g6O-H@PH-3{Rz?}qp=WH-bCQM*Aw$H0&b70=!c zNh^iBA@hcFq5NOF85kxpFfgd?f#}=02U0X2+5<^^vU?fo!Ku}IFC@-Z?S*8Yje8+8 zl&AMXEYjHrnNT#@2N^uh+{eIB%fP^JejmhO-~EuN3fm8vsO;Pi5r4ZM;<0c0A&Hyw z0HplTKES~6nUR6P??62yPMr=x;-usdB=ycc1a-(ENa{X)2oi)chapi>co<^g=EIO# z?PrG}Gox-t7#JRcrdp0LFnj_{L>`5dl(oko>SrEz!Q*Mkaz-8FqNNxsGoNN(n@}Nf`LJdk%58j zBqRi6PeBH?3{F96&+n%o=GF6`hSXmAry<#+^)w`iHk^hSbon$S=-xoZ`OZKZ9EN8g zC8f_9NaYj<<(Hm;q=EJ`5QjcF18FUPIRi6||7y8YBcNuR%hj6-0yb z|DkJ;)c*e(q`jYT9TF8&u0yij{_Bte=;(Dw?RWwze)Bq{61jgJQbN9jivPF{N&Ww> zLyBDX8xV7ZZa~tE#0^N)>D^#ps0R&?JKTU67|NQl(0xd(~kUH2eC zauurZ!97S&e}o#yc^?v_V)w!MmO<`5#2`l~9ey9;k=*+bi;M0<99(%H68B9|{-pbm zD4KmA?9h6Kwf7+|+jSq(d_H|2;*j(AAuhjlAL76#_Zb*KYm)xohg2fA45b?B!5Fh74`PC0WULlabB4phP7hmc{jjSnGZ z{ilbJC@^^hi93f!kT#+JBS;A4K7#nX^%2CPu164yCPLNEe+2Q!xUf?& zqCg!=8$5wTh2;}Sf#vyxfuSC>dL`=##O1Y5AUq5Q^YkbFMj86+D{gYs8F?K5>{7Z;EYA+$?o4TkK1_KDNmMm2A#pzG zCB%nIUP3I`{u1J&!!IE|xd5f_L+N)fArANp<#WG+sFQjHF;5f9w|)gSx1Pc46+}ZU zR3iHoB#5hCL8eZoyn^`P%qxfkFTaBL`1LDDT>pLr@e%)PNJ~omH6$(ByoRJ5x7QGh z1EKQCuOa4lyawfxdIp9?Pz8HmLkv6*)%f@|BnaQVhFI|ZHN@ioP@4Y@r0kb}1F^{d z4J1yz-azyPyn#3*@(tLh49RaGQBd{<;-PksJgENfdjn}c&wy$?@&;nzS*XIRP>pxq zK%(I78%UGvCse)kTZoTT-a-A{Q1})SWz}yXQPJ@h;?U`Dq4|IATgV#C z4R0YnVt)s5vHCkmh*-UY6ij|l@zi$^A5^@9L|r|U?tKUG`RsQP3zxiucx2-{h{Jcj zgG9yAcMykMf5%V{UaR>Gs_+}sf`3p81m8mpka!OXI)(QT0}S6o40L`EibDnl|Mw6F zXT66+MeTct13RGN{ZRFb-b2#VI;gqN-b3eT-@S(f70U-md!6qCB#5*=KzwBI0pcUe z50J9n?E@r;y+1&LJQ^xr2bJ%J>YD(iXF|{BkE;s%N zagfzVh!0&pLM)8`2ysY0lwSjt?}3Uh{|G5^w?O5eLe2U55#o{mA0eY=9G@We*6)Tg z4u67_Xs16xve|=AkRbo@2@N zSRDHmVo~;2hE5xCfzCuFm##hJ!#HU{&ipL3&&_ zzA-Qeg7UxKcZdZJ-ys$TeTSrhgzpdw(!WDSE^EF+%KrUObx*%TYPHYb85q_wFffS! zU|^UBY772=I3VRGB&4!_LPDncCnRdxe?rQO2|pPa>OqS`SN((p)g7pUCr}M?Oz7bFDV{DR~%_TSL; zf6Bih2Acea_|)q+#NyuH5QUR}LtMW8HzbI6{DxR?_&3Djv%evU@e$OVZ@(EBDi|0T zc>X}dTmL{pYUUqEV&3});*kq~>LCW*{R6S^`5#E?eESCy6>NVY)uhN@h`ixnaH?f6 z{|oU^*k6dl3!wbAzYq%-{DoxaEq@_{+t>d>EM)u#X?pSfgNWbAc!~5Z21f9btQ8E5;I7#w21fA0;*$)F44|dcR~Z<= zORDce`Og>_!Am&aLG}HHinB5@f@e&486o;47#YEf&=nXN!HeDd85u!Kx9b^>Ko|_C z7#YFKY%ee}g6D)@GBSeKa{q(!g_s}?RA*uY_XA9s7{T)d#Zd8mOpM?)-)ER09=OZ| zbtsg6#>5D&Yu+<4g7+KzXJTX!WvFLhkY;8CFG4kBW&|&@cVcD)ujvkCh8UQ_3<;`i zW{AcK%#7e!?KRAd;8pN9m?0s=#scxF5DO!C5vmjm#6nXRh>u-aAR$`C0=qj!p2w+4)Q~6kVJG5s^K1# z|C|jHlwY8Hes)L*$go3vtjrE^upT?ar)KOBhr6*uqSA*Q5|z>H5QpYL`4#LC2X?d9 zLkyU}&In#QJ%gPQJbQJSoe{j6otFa==e8V-;LRkF9E{+t7KI!T3#M{FqG$;R#G-2) z5Q|=NKpgm)gAu%|<{t+n%}8@X616)gL|t?}CnRyDazf(1ixZMK=0o`#pc;;HLK53e zPKe9dxgb8};ev#m5EmrQ<+&gZ)#idYz?lmYGJaf)ps7QKI4(x;cAno*_4PX35RDex zjNqLOF5HaZi2@I9hy`8T5Qk0Rh6MdmZivs!VsAr6z`WdslB$@4-S*1^jN-mo-_7vi8Dyr4u_&%khq7h>@R zUPwuJpO+E5(TI%?VxbiuMBaf9Vvs){B)25;K`gA`gQTHmK8OX~Q1O*~kf_+g#|Yjz zb%qa;2EOxwEM{O(=4XV||Azb!A3F0xLL!(S;`4ZZNJtbz`3?Mx3~rzuP5g}DS+m>x zjNoPX%mR@7Z7l#%9}A_k1R!at97=ZxKn#9^Ak^$>=YFeFaBg&`It2}4S(Y+;ClrU*j}JOJgN5oTmK z0@_p}3@I=6ia^SR?;?=YFD(iwH|#_i!D~sPL?PnsqKx28XsbjS!CSGu*NZ|58gDU( zhH5cLBAPD72;PjgRSe?tEOAJjHH$Mc1Tru%%oK;Df!E>?eZmrq;N5Wg5|EH;ja&EekRDnJgr2u*g9iEFcF_CnX0- zJF0S!G!-ZZNz74De!d(u|5wOCEbfwHWB_d(oGAw}aEBZuZjZ=8g6siQ{3p}`R(VKB z2*^WHzmhz}0#kWN8t{^bm=h-taZr{##OI~*khIVy&&W^@+8Ws>&j=pfUM~*{5(b8Q zP>t{8A!*>3Jj7@J2dpom~AP!os#K^E6WUvw=SluLLNPd2*3<)WF z6-Mx4^*9wq@T}QH6-Mw>%LNrkwi8o@6v57_kSL8-WdybO80u6R!TSpTsn$ahk%k&1 zD8tksA&{X4abblTBSSg^1H(!+M({3IL3K!OiB*Tl7pp^pc!@g1XB*TZiEuAe{IohF zc$ogWIwN@3OPB^k{T>ZSRGg^SfLM4_17g5S4TwX&X+X+!4o!$cElo!7o=s~_ND(?m zlMy`YwMdf@+<6tzg7`R23lh}bT98CHNefcY%+`XG5AU@gA?ctEu6`NnCu=i;XSYvk zLt3e4v>`5K)PY!(4yAK-APz0ofmqP218Mnm=`ez4!}sVwd?v38sYSJQA(d4Sl%A;z zX;(bZg@mM%9wUQ0X#a1X9wT_;@HRb2s{E-3aWSJlB-MuMGlKViCg?MQr|CC9`Tz7G z4)8Nz1aHr6Fo5{*DwMBg2=QUHAtZNfG=zlc5kp86Ju?KQxq1eMFNP4GiW)&2APuFJ zp|rLUBxsF|7{U8?6O15VW(J0Ckg1@Z(M${s6-*2atWY^n z*E^M&fkBUvfuWs|fk6u@z7MMYI@ByM#u;OXana@CI*HxObiSOjF5q$9ZU=i7nmU%fNn7| zFo-cTFz_-#7K?&hf{gbtF)$p22IWE~1_p3c{$hme_5&$=$jHF3i;01ufti8fCL;sG z5~yO(_62!n28Li}28M;qkVQS4m>C#U85tOim>3wIF)@G}@LUWG4Cg>AiJ-xh!^FTa zlbL}*iiv^Y1TzCeC?f;IVkQQLoy-gj2N@X{w3+G|7(OyFFx+EeU|7SHyFd)~U=43~W$7R0)F}G{R3ZFff!bLpFGTrf#KWay$;g#-8~7!)=fiNLZMef#DH|&&+?5Vavq8@Q;as;T$sqLmM*#!(ph# zc~E&)W(I~g3=9lHOpviM&}^~}GXp~es00D6Gy%667#J7~7#SE2K*RA4R5Qq|Qbx$4 zIuN^%`B*|E-^4Ls4y}xTxNs}%=t4hFl=UIV31^H zU?^c^VA#XVz)%H}2dM{*5=9|dxQLN~!3oN5f?5Q!9E2s985sPaa_box7;2dq7*;Yf zFl=RHU^vOhz|a9zZ^R5)X#~=97DRx06(Gx??CYR|9YCcW0|P@UA2S1kEL0;@9z58# z0%{THxCxLr3nK%=X+{Qyy&#`J=b0H8Dw!dxY>b&17$l%3`7$vuq=Hft$STkZJSGMPeP#xR2B>^KBLf2u zBLjm96J&YV7e)q#51=#*I=6&@f#E45WG(`#ouQ1Gfnhr{1H&Px>sB){)H5V8GB7M- zW?--fm2sdj0u^0Q3qTrAF)%RP05L$B3aW8Cs8#`GL1qSqFlNYXJV*&QG{_D!K}K;w zVlXTOD(D#@voZ5Q6*B_^Bd7rYRc(i4(>6v1hB%N~ zCdfjR9#DP7z`)Q6at7#(5GDo&Mn(pP-=NF_%I(Yy3~7uE42;YS4A+?$82&RcFgP(o zw)26OZ-E@a5C^pYv+$wSp^k?n#*t(%I9HXV3^Lxz)%I{!{kA98WRIU4l@IT z2h<~+po))?fngg+5|mS+9&%%5V5k699boZ#28M483=G|%)(B`dA|nIC6($CTPfQF9 zvq7nhiGd-EiGg7`STO^GC^G|tE{M;_z>o)Oy)ZK{WH2!>?1LJv!N|aH8&nK|G8EL2 zk&Fxs7EBBb7a18Clt7MzngycVK)IKlnSsFql!-uX5RfPX1H)ISflw|(5!6>Oeheez z1d9kHaX)4ThPez3424j!b<7M5bD-v&WrQqD0Uhbk&cwjr33XikbS4G{IjDy3P}4Uu zGBEssYJ>_g_<(XQ69Ypp69dC~CdkZ)JR<|cWT=8JMh1q%%nS^>ko37RGB89iF)&0z z&F_R-+Re-W9!~(r|2rngUS4%Z$TCYGW(I~OObiSbjF73Zos0|&v7q`7RIM;WX0u*` zEMsI~xCs(tWMFvB#K3R>vGBC_wW?(qQ$iVOp>N^kxTC>^5%)pSu44Kn2U}j*L0%|%i zF))-fGBAKv%Y)P%fI1=%B+tyikj2Enu$_s4As18=fM}>ADnO2MU}9i64{A$7gDnDN z0%#LC69dCj1_p+g3=9myj0_A#pkRk;yaXyFq3rXMJ3XcA#hDlw+MyyJm>3vppr%b= zf^18$2DJyE@*oR9&8{C%XDUL~Zee0z@MmOTH~~@s>bgM1&6pV&PB1bsJb;QvGcqu& z0wo4eGYukE&oB#=e4!fVf>H$|WI<&&DF1+JGX@5RcZ>`S4vY*8uFMP!)u5It)BzAP zAfyK<{FxyWaS#y(hBZtK46#thFJNR~U;;H%L8nN8Ch?dV7?y)tv9B2z7$!0?FqA+I z1#K-n4t0$=OFfuSKU}9j{12O=Vi9m;Jf!KFILB$A} z?E~2XTIH(^HB6A1fx(@Tfngn}vB3=42>{Xq!uOdN7z~&g7~X?4fdm*B73vVfi~PSLsk$6Ff%YDKtrktWDo-bLj$PlgIatVq@Niw<9q|u zVrFJw5Ce4tpz_5`3=GGa85piHF@!NZ2OTvAH4NmVv!F7PnSntL)b3|yVDM#TU@!w2 z2-WfLDjP{F)(ZcRm`CNJR<|c8qn?!2FR*!ke$v<3=D2e z3=B;S3=B?83=9jH8R{8am>3wULG>8aQy_(%p#C?E&&0s+go%Mc8)^wieh;Xv3L33o zWMDYQ$iT1_8bE(R^(-@FZFCJ(Kj>gL1t^lqj<85tOUFfcH*GB7ZN zLk$W?vJ7P5bFg9t27N{bhImk_1cfq4f`NhIKO+OfBqj#%u>#XTp#tipLghT6=Iw&g zpv@QO86az=%RyZ?P#X!P_6Vr*0QIXG85piHGBEsOU|>iD_4hy(HmF+#QpCW(Fo}_Y z!4gy$F)}dhhdQzg>bMkU$O3#NP;ZBkfgzHK0X$jr6{=SR6f#T<44TXg48@F)Mf~;e zK_`BI`U;>_$-ux+4Rxs%C|f`^?g#A-fLeA6YFRQ91H)V<28PL?F&a=h1`WC~GcfFB zhU^9aX$^#$wVHu}!5q{T0CoF85}-5i7#J8HgF4kcpp(0p85ll5B|wKKf)3>aakqks z!p$24mrHXeCTA;@\n" "Language-Team: Norwegian\n" "Language: no\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Den e-postadressen er allerede registrert." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Én dag" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Én uke" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Én måned" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Uendelig" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} ganger" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Ubegrenset" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Sluttdato kan ikke være før startdato." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Den e-postadressen er allerede registrert." + +#: 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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Liste rekkefølge" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Boktittel" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Vurdering" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Sorter etter" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Stigende" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Synkende" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Sluttdato kan ikke være før startdato." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Feilet ved lasting av bok" @@ -187,7 +187,7 @@ msgstr "%(value)s er en ugyldig remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s er et ugyldig brukernavn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "brukernavn" @@ -245,7 +245,7 @@ msgstr "Tilgjengelig for utlån" msgid "Approved" msgstr "Godkjent" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Anmeldelser" @@ -399,7 +399,7 @@ msgstr "%(site_name)s sine moderatorer og administratorer holder nettsida oppe o msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Programvareversjon:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Den korteste teksten lest i år…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Vis ISNI -oppføring" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Last inn data" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Vis på OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Vis på Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Sist endret av:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadata" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Navn:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Adskill flere verdier med komma." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary nøkkel:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Lagre" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Lagre" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Laster inn data kobler til %(source_name)s og finner me msgid "Confirm" msgstr "Bekreft" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Rediger bok" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Klikk for å legge til omslag" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Klarte ikke å laste inn omslag" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Klikk for å forstørre" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s anmeldelse)" msgstr[1] "(%(review_count)s anmeldelser)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Legg til beskrivelse" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beskrivelse:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s utgaver" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Du har lagt denne utgaven i hylla:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annen utgave av denne boken ligger i hylla %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Din leseaktivitet" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Legg til lesedatoer" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Du har ikke lagt inn leseaktivitet for denne boka." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Dine anmeldelser" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Dine kommentarer" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Dine sitater" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Emner" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Steder" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Steder" msgid "Lists" msgstr "Lister" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Legg til i liste" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Legg til et omslag" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Last opp omslag:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Last bilde av omslag fra nettadresse:" @@ -975,110 +981,114 @@ msgstr "Dette er et nytt verk" msgid "Back" msgstr "Tilbake" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Tittel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Undertittel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Serienummer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Språk:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publikasjon" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Forlag:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Først utgitt:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Publiseringsdato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Forfattere" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Fjern %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Forfatterside for %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Legg til forfattere:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Legg til forfatter" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Kari Nordmann" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Legg til enda en forfatter" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Omslag" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Fysiske egenskaper" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Formatdetaljer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Sider:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Boknøkler" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary nøkkel:" @@ -1168,7 +1178,7 @@ msgstr "Domene" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Status" @@ -1177,7 +1187,7 @@ msgstr "Status" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Handlinger" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Samfunn" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Lokale medlemmer" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Føderte samfunn" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Katalog" @@ -1450,7 +1462,7 @@ msgstr "%(username)s siterte %(username)s" msgstr "Direktemeldinger med %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Direktemeldinger" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Oppdateringer" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Bøkene dine" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Logg inn" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Logg inn" @@ -2185,7 +2197,7 @@ msgstr "Logg inn" msgid "Success! Email address confirmed." msgstr "Vellykket! E-postadressen din er bekreftet." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Brukernavn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passord:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Glemt passord?" @@ -2230,19 +2242,23 @@ msgstr "%(site_name)s søk" msgid "Search for a book, user, or list" msgstr "Søk etter bok, medlem eller liste" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Hovednavigasjonsmeny" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Strøm" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Innstillinger" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Innstillinger" msgid "Invites" msgstr "Invitasjoner" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Logg ut" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Varsler" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "passord" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Delta" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Status ble opprettet" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Feil ved lagring av status" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Dokumentasjon" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Støtt %(site_name)s på %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrms kildekode er fritt tilgjengelig. Du kan bidra eller rapportere problemer på GitHub." @@ -3013,6 +3029,43 @@ msgstr "Legg til lesedatoer for \"%(title)s\"" msgid "Report" msgstr "Rapport" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultat fra" @@ -3046,8 +3099,9 @@ msgstr "Søketype" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Medlemmer" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Akseptert dato" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-post" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "Er du sikker på at du vil slette %(username)ssin konto msgid "Your password:" msgstr "Passordet ditt:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Tilbake til medlemmer" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Medlemmer: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Brukernavn" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Lagt til dato" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Sist aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Ekstern instans" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Ikke angitt" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 6ca75c4db9b5ada99f48b342c3be40dd2877a95c..8d254d4d0b765804b8315236374c4e4ff7ba66c7 100644 GIT binary patch delta 23848 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 K+vOt|J-Gl*p0k4h diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index 4b5ce5865..3d0ad255b 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 20:49\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 21:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "Um usuário com este nome já existe" - -#: bookwyrm/forms.py:254 -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.py:264 -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." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Já existe um usuário com este endereço de e-mail." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Um dia" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Uma semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Um mês" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Não expira" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "A data de término da leitura não pode ser anterior a de início." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Um usuário com este nome já existe" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Já existe um usuário com este endereço de e-mail." + +#: bookwyrm/forms/links.py:36 +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 +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." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordem de inserção" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título do livro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Avaliação" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Organizar por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Crescente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Decrescente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "A data de término da leitura não pode ser anterior a de início." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erro ao carregar livro" @@ -187,7 +187,7 @@ msgstr "%(value)s não é um remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s não é um nome de usuário válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuário" @@ -245,7 +245,7 @@ msgstr "Disponível para empréstimo" msgid "Approved" msgstr "Aprovado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Resenhas" @@ -399,7 +399,7 @@ msgstr "Moderadores/as e administradores/as de %(site_name)s mantêm o site func msgid "Moderator" msgstr "Moderador/a" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -533,7 +533,7 @@ msgstr "A leitura mais curta do ano…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver registro ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregar informações" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver na OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver no Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Editado pela última vez por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadados" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separe com vírgulas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chave Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Salvar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Para carregar informações nos conectaremos a %(source_name)s%(count)s editions" msgstr "%(count)s edições" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Você colocou esta edição na estante em:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está em sua estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Andamento da sua leitura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Adicionar registro de leitura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Você ainda não registrou sua leitura." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Suas resenhas" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Seus comentários" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Suas citações" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Assuntos" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Adicionar capa" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Enviar capa:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Carregar capa do endereço:" @@ -975,110 +981,114 @@ msgstr "É uma nova obra" msgid "Back" msgstr "Voltar" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número na série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "Assuntos:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicação" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editora:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Data da primeira publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autores/as" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Remover %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor/a de %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Adicionar autores/as:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Adicionar autor/a" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Fulana" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Adicionar outro/a autor/a" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Capa" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propriedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalhes do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores do livro" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1168,7 +1178,7 @@ msgstr "Domínio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Publicação" @@ -1177,7 +1187,7 @@ msgstr "Publicação" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Ações" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Comunidade" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Usuários locais" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Diretório" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensagens diretas com %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensagens diretas" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Atualizações" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Seus livros" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Entrar" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Entrar" @@ -2185,7 +2197,7 @@ msgstr "Entrar" msgid "Success! Email address confirmed." msgstr "Endereço de e-mail confirmado com sucesso." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Usuário:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Senha:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueceu sua senha?" @@ -2230,19 +2242,23 @@ msgstr "Busca %(site_name)s" msgid "Search for a book, user, or list" msgstr "Pesquisar livro, usuário ou lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Escanear código de barras" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menu de navegação principal" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Novidades" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configurações" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Configurações" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Sair" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificações" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "senha" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Registrar" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Publicação feita com sucesso" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erro ao publicar" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentação" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoie a instância %(site_name)s: %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código-fonte da BookWyrm está disponível gratuitamente. Você pode contribuir ou reportar problemas no GitHub." @@ -3013,6 +3029,45 @@ msgstr "Adicionar datas de leitura de \"%(title)s\"" msgid "Report" msgstr "Denunciar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +" Escanear código de barras\n" +" " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "Solicitando a câmera..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +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 +msgid "Could not access camera" +msgstr "Não conseguimos acessar a câmera" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Escaneando..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +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 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "ISBN escaneado" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Pesquisando livro:" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3046,8 +3101,9 @@ msgstr "Tipo de pesquisa" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Usuários" @@ -3514,6 +3570,7 @@ msgid "Date accepted" msgstr "Data de aceitação" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-mail" @@ -3932,7 +3989,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "Adicione o nome do arquivo utilizando o formulário abaixo para deixá-lo disponível na interface do sistema." #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "Adicionar tema" @@ -3940,28 +3997,24 @@ msgstr "Adicionar tema" msgid "Unable to save theme" msgstr "Não foi possível salvar o tema" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "Nenhum arquivo de tema encontrado" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "Nome do tema" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "Arquivo do tema" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "Temas disponíveis" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "Arquivo" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "Excluir tema" @@ -3979,43 +4032,39 @@ msgstr "Você tem certeza que quer excluir a conta de %(username)s%(instance_name)s" msgstr "Usuários: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de usuário" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Data de inclusão" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Última atividade" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Instância remota" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Ativo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inativo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Não definido" @@ -4347,7 +4396,7 @@ msgstr "Incluir alerta de spoiler" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "Avisos de spoiler/conteúdo:" +msgstr "Alerta de spoiler/conteúdo:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index d943b0f6c1cfbde56d1ccb7ab5d70b864c5f4d81..0fab79b41eb517bcc3bb3087805f64501f378bcc 100644 GIT binary patch delta 19539 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\n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "Já existe um utilizador com este E-Mail." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "Um Dia" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "Uma Semana" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "Um Mês" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Não Expira" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} utilizações" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Já existe um utilizador com este E-Mail." + +#: 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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Ordem da Lista" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Título do livro" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Classificação" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Ordenar Por" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Erro ao carregar o livro" @@ -187,7 +187,7 @@ msgstr "%(value)s não é um remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s não é um nome de utilizador válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de utilizador" @@ -245,7 +245,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Criticas" @@ -399,7 +399,7 @@ msgstr "" msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Admin" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -533,7 +533,7 @@ msgstr "A sua menor leitura este ano…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Ver registro do ISNI" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregar dados" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver na OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver no Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Última edição por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadados" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separe vários valores com vírgulas." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Chave da Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "ID do Inventaire:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Salvar" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Salvar" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Carregar os dados irá conectar a %(source_name)s e ver msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "Editar Livro" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "Clica para adicionar capa" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "Não foi possível carregar a capa" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "Clica para ampliar" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s crítica)" msgstr[1] "(%(review_count)s criticas)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "Adicionar uma descrição" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrição:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s edições" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Tu arquivaste esta edição em:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está na tua prateleira %(shelf_name)s." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "A tua atividade de leitura" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Adicionar datas de leitura" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Não tem nenhuma atividade de leitura para este livro." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "As tuas criticas" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Os teus comentários" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "As tuas citações" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Temas/Áreas" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Adicionar uma capa" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Carregar uma capa:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Carregar capa através de um Url:" @@ -975,110 +981,114 @@ msgstr "Este é um novo trabalho" msgid "Back" msgstr "Voltar" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Séries:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Número da série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicação" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Editora:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Primeira data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Autor(es/as)" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Remover %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor do %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Adicionar Autor(es/as):" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Adicionar Autor(a)" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Joana Sem-nome" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Adicionar outro autor(a)" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Capa" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Propriedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Detalhes do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Identificadores de Livros" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "ID da Openlibrary:" @@ -1166,7 +1176,7 @@ msgstr "Domínio" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Estado" @@ -1175,7 +1185,7 @@ msgstr "Estado" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Acções" @@ -1319,16 +1329,18 @@ msgid "Community" msgstr "Comunidade" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Utilizadores locais" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Diretório" @@ -1448,7 +1460,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensagens Diretas com %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Mensagens Diretas" @@ -1622,7 +1634,7 @@ msgid "Updates" msgstr "Atualizações" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Os teus Livros" @@ -2174,7 +2186,7 @@ msgid "Login" msgstr "Login" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Iniciar sessão" @@ -2183,7 +2195,7 @@ msgstr "Iniciar sessão" msgid "Success! Email address confirmed." msgstr "Sucesso! O teu E-Mail está confirmado." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2191,12 +2203,12 @@ msgstr "Nome de utilizador:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Palavra-passe:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueces-te a tua palavra-passe?" @@ -2228,19 +2240,23 @@ msgstr "%(site_name)s pesquisa" msgid "Search for a book, user, or list" msgstr "Procurar por um livro, utilizador, ou lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Menu principal" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configurações" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2248,42 +2264,42 @@ msgstr "Configurações" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Terminar sessão" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificações" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "palavra-passe" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Junta-te" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Estado publicado com sucesso" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Erro ao publicar estado" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Documentação" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoia %(site_name)s em %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código de fonte do BookWyrm está disponível gratuitamente. E também podes contribuir ou reportar problemas no GitHub." @@ -3011,6 +3027,43 @@ msgstr "" msgid "Report" msgstr "Denunciar" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultados de" @@ -3044,8 +3097,9 @@ msgstr "Tipo de pesquisa" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Utilizadores" @@ -3512,6 +3566,7 @@ msgid "Date accepted" msgstr "Data de aceitação" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-Mail" @@ -3930,7 +3985,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3938,28 +3993,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3977,43 +4028,39 @@ msgstr "Tens a certeza que desejas excluir a conta do %(username)s%(instance_name)s" msgstr "Utilizadores: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de utilizador" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Data de Adição" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Última atividade" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Domínio remoto" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Ativo" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inativo" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Não definido" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index d540a049d16db15db4469482f05fbdfed044b8b1..30c6c3e808692e4128204743cf4ed3f88f9d3528 100644 GIT binary patch delta 22183 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 delta 22249 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 PFD0=kFLCpc4_i|KW(8jc diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 691eb7ccb..bdd182c81 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:51\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:17\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "En användare med det användarnamnet existerar redan" - -#: bookwyrm/forms.py:254 -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.py:264 -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." - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "En användare med den här e-postadressen existerar redan." - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "En dag" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "En vecka" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "En månad" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "Slutar inte gälla" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} använder" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "Obegränsad" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Slutdatum för läsning kan inte vara före startdatum." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "En användare med det användarnamnet existerar redan" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "En användare med den här e-postadressen existerar redan." + +#: bookwyrm/forms/links.py:36 +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 +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." + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "Listordning" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "Bokens titel" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Betyg" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "Sortera efter" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "Stigande" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "Fallande" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "Slutdatum för läsning kan inte vara före startdatum." - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "Fel uppstod vid inläsning av boken" @@ -187,7 +187,7 @@ msgstr "%(value)s är inte ett giltigt remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s är inte ett giltigt användarnamn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "användarnamn" @@ -245,7 +245,7 @@ msgstr "Tillgänglig för lån" msgid "Approved" msgstr "Godkänd" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "Recensioner" @@ -399,7 +399,7 @@ msgstr "%(site_name)s's moderatorer och administratörer håller hemsidan uppe o msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "Administratör" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "Programvaruversion:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -533,7 +533,7 @@ msgstr "Det kortast lästa det här året…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -618,18 +618,18 @@ msgstr "Visa ISNI-samling" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Ladda data" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Visa i OpenLibrary" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Visa i Inventaire" @@ -666,7 +666,7 @@ msgid "Last edited by:" msgstr "Redigerades senast av:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "Metadata" @@ -678,8 +678,9 @@ msgid "Name:" msgstr "Namn:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "Separera flertalet värden med kommatecken." @@ -708,7 +709,7 @@ msgid "Openlibrary key:" msgstr "Nyckel för Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventarie-ID:" @@ -725,7 +726,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -747,7 +748,7 @@ msgstr "Spara" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -759,6 +760,7 @@ msgstr "Spara" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -779,87 +781,91 @@ msgstr "Att ladda in data kommer att ansluta till %(source_name)s%(count)s editions" msgstr "%(count)s utgåvor" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "Du har lagt den här versionen i hylla:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annorlunda utgåva av den här boken finns i din %(shelf_name)s hylla." -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "Din läsningsaktivitet" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "Lägg till läsdatum" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "Du har ingen läsaktivitet för den här boken." -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "Dina recensioner" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "Dina kommentarer" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "Dina citationer" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "Ämnen" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "Platser" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -868,11 +874,11 @@ msgstr "Platser" msgid "Lists" msgstr "Listor" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "Lägg till i listan" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +892,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC-nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +906,12 @@ msgid "Add cover" msgstr "Lägg till omslag" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "Ladda upp omslag:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "Ladda omslag från url:" @@ -975,110 +981,114 @@ msgstr "Det här är ett ny verk" msgid "Back" msgstr "Bakåt" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "Undertext:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "Serier:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "Serienummer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "Språk:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "Publicering" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "Utgivare:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "Första publiceringsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "Publiceringsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "Författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "Ta bort %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "Författarsida för %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "Lägg till författare:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "Lägg till författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "Jane Doe" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "Lägg till en annan författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Omslag" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "Fysiska egenskaper" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "Formatets detaljer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "Sidor:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "Bok-identifierare" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary-ID:" @@ -1168,7 +1178,7 @@ msgstr "Domän" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "Status" @@ -1177,7 +1187,7 @@ msgstr "Status" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "Åtgärder" @@ -1321,16 +1331,18 @@ msgid "Community" msgstr "Gemenskap" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "Lokala användare" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "Federerad gemenskap" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "Mapp" @@ -1450,7 +1462,7 @@ msgstr "%(username)s citerade %(username)s" msgstr "Direktmeddelanden med %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "Direktmeddelanden" @@ -1624,7 +1636,7 @@ msgid "Updates" msgstr "Uppdateringar" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "Dina böcker" @@ -2176,7 +2188,7 @@ msgid "Login" msgstr "Inloggning" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Logga in" @@ -2185,7 +2197,7 @@ msgstr "Logga in" msgid "Success! Email address confirmed." msgstr "Lyckades! E-postadressen bekräftades." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2193,12 +2205,12 @@ msgstr "Användarnamn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Lösenord:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Glömt ditt lösenord?" @@ -2230,19 +2242,23 @@ msgstr "%(site_name)s sök" msgid "Search for a book, user, or list" msgstr "Sök efter en bok, användare eller lista" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "Huvudsaklig navigeringsmeny" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "Flöde" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Inställningar" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2250,42 +2266,42 @@ msgstr "Inställningar" msgid "Invites" msgstr "Inbjudningar" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "Logga ut" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Aviseringar" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "lösenord" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "Gå med" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "Statusen har publicerats" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "Fel uppstod när statusen skulle publiceras" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "Dokumentation" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Stötta %(site_name)s på %(support_title)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm's källkod är fritt tillgängligt. Du kan bidra eller rapportera problem på GitHub." @@ -3013,6 +3029,43 @@ msgstr "Lägg till läs-datum för \"%(title)s\"" msgid "Report" msgstr "Rapport" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "Resultat från" @@ -3046,8 +3099,9 @@ msgstr "Typ av sökning" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "Användare" @@ -3514,6 +3568,7 @@ msgid "Date accepted" msgstr "Datum för godkännande" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "E-postadress" @@ -3932,7 +3987,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3940,28 +3995,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3979,43 +4030,39 @@ msgstr "Är du säker på att du vill ta bort %(username)ss kon msgid "Your password:" msgstr "Ditt lösenord:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "Tillbaka till användarna" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "Användare: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Användarnamn" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "Lades till datum" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "Senast aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "Fjärrinstans" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "Inte inställd" diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index b4b67c957..10b8825d0 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-14 00:10\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "使用此用户名的用户已存在" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "此域名已被屏蔽。如果您认为这是一个错误,请联系您的管理员。" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "此文件类型的链接已经被添加到这本书。如果不可见,域名仍在等待处理中。" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "已经存在使用该邮箱的用户。" - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "一天" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "一周" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "一个月" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "永不失效" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "{i} 次使用" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "阅读完成日期不能早于开始日期。" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "使用此用户名的用户已存在" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "此文件类型的链接已经被添加到这本书。如果不可见,域名仍在等待处理中。" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "列表顺序" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "书名" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "评价" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "排序方式" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "升序" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "降序" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "阅读完成日期不能早于开始日期。" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "加载书籍时出错" @@ -187,7 +187,7 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的用户名" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "用户名" @@ -245,7 +245,7 @@ msgstr "可借阅" msgid "Approved" msgstr "已通过" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "书评" @@ -399,7 +399,7 @@ msgstr "%(site_name)s 的仲裁员和管理员负责维持站点运行, 执行 msgid "Moderator" msgstr "仲裁员" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "管理员" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "软件版本:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "关于 %(site_name)s" @@ -531,7 +531,7 @@ msgstr "TA 今年阅读最短的…" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -614,18 +614,18 @@ msgstr "查看 ISNI 记录" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "加载数据" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 查看" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "在 Inventaire 查看" @@ -662,7 +662,7 @@ msgid "Last edited by:" msgstr "最后编辑人:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "元数据" @@ -674,8 +674,9 @@ msgid "Name:" msgstr "名称:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "请用英文逗号(,)分隔多个值。" @@ -704,7 +705,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -721,7 +722,7 @@ msgid "ISNI:" msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -743,7 +744,7 @@ msgstr "保存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -755,6 +756,7 @@ msgstr "保存" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -775,86 +777,90 @@ msgstr "加载数据会连接到 %(source_name)s 并检查这 msgid "Confirm" msgstr "确认" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "编辑书目" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "点击添加封面" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "加载封面失败" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "点击放大" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s 则书评)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "添加描述" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s 个版本" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "此版本已在你的书架上:" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本书的 另一个版本 在你的 %(shelf_name)s 书架上。" -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "你的阅读活动" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "添加阅读日期" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "你还没有任何这本书的阅读活动。" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "你的书评" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "你的评论" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "主题" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "地点" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -863,11 +869,11 @@ msgstr "地点" msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "添加到列表" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -881,12 +887,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -895,12 +901,12 @@ msgid "Add cover" msgstr "添加封面" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "上传封面:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "从网址加载封面:" @@ -970,110 +976,114 @@ msgstr "这是一个新的作品。" msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "标题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "副标题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "系列编号:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "语言:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "出版" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "初版时间:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "出版时间:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "移除 %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "%(name)s 的作者页面" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "添加作者:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "添加作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "张三" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "添加另一作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "实体性质" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "装订细节:" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "页数:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "书目标识号" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1163,7 +1173,7 @@ msgstr "域名" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "状态" @@ -1172,7 +1182,7 @@ msgstr "状态" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "动作" @@ -1316,16 +1326,18 @@ msgid "Community" msgstr "社区" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "本地用户" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "跨站社区" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "目录" @@ -1443,7 +1455,7 @@ msgstr "%(username)s 引用了 %(username)s" msgstr "与 %(username)s 私信" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "私信" @@ -1617,7 +1629,7 @@ msgid "Updates" msgstr "更新" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "你的书目" @@ -2165,7 +2177,7 @@ msgid "Login" msgstr "登录" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登录" @@ -2174,7 +2186,7 @@ msgstr "登录" msgid "Success! Email address confirmed." msgstr "成功!邮箱地址已确认。" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2182,12 +2194,12 @@ msgstr "用户名:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密码:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘记了密码?" @@ -2219,19 +2231,23 @@ msgstr "%(site_name)s 搜索" msgid "Search for a book, user, or list" msgstr "搜索书籍、用户或列表" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "主导航菜单" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "动态" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "设置" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2239,42 +2255,42 @@ msgstr "设置" msgid "Invites" msgstr "邀请" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "登出" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "通知" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密码" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "成功发布的状态" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "发布状态时出错" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "文档" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "在 %(support_title)s 上支持 %(site_name)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是开源软件。你可以在 GitHub 贡献或报告问题。" @@ -3002,6 +3018,43 @@ msgstr "添加 “%(title)s” 的阅读日期" msgid "Report" msgstr "报告" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "结果来自" @@ -3035,8 +3088,9 @@ msgstr "搜索类型" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "用户" @@ -3499,6 +3553,7 @@ msgid "Date accepted" msgstr "接受日期" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "邮箱" @@ -3917,7 +3972,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "使用下面的表格添加文件名以便在应用程序接口中可用。" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "添加主题" @@ -3925,28 +3980,24 @@ msgstr "添加主题" msgid "Unable to save theme" msgstr "无法保存主题" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "没有检测到可用的主题文件" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "主题名称" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "主题文件名" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "可用的主题" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "文件" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "删除主题" @@ -3964,43 +4015,39 @@ msgstr "你确定要删除 %(username)s 的帐号吗?此操 msgid "Your password:" msgstr "你的密码:" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "回到用户" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "用户: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "用户名" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "添加日期:" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "最后或缺" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "移除服务器" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "活跃" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "停用" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "未设置" diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 7e25b4b92..717a604e8 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-03-13 18:56+0000\n" -"PO-Revision-Date: 2022-03-13 19:52\n" +"POT-Creation-Date: 2022-03-14 19:30+0000\n" +"PO-Revision-Date: 2022-03-14 20:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -17,77 +17,77 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:62 -msgid "User with this username already exists" -msgstr "" - -#: bookwyrm/forms.py:254 -msgid "This domain is blocked. Please contact your administrator if you think this is an error." -msgstr "" - -#: bookwyrm/forms.py:264 -msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" - -#: bookwyrm/forms.py:403 -msgid "A user with this email already exists." -msgstr "已經存在使用該郵箱的使用者。" - -#: bookwyrm/forms.py:417 +#: bookwyrm/forms/admin.py:40 msgid "One Day" msgstr "一天" -#: bookwyrm/forms.py:418 +#: bookwyrm/forms/admin.py:41 msgid "One Week" msgstr "一週" -#: bookwyrm/forms.py:419 +#: bookwyrm/forms/admin.py:42 msgid "One Month" msgstr "一個月" -#: bookwyrm/forms.py:420 +#: bookwyrm/forms/admin.py:43 msgid "Does Not Expire" msgstr "永不失效" -#: bookwyrm/forms.py:424 +#: bookwyrm/forms/admin.py:47 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms.py:425 +#: bookwyrm/forms/admin.py:48 msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms.py:543 +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "" + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +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 +msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." +msgstr "" + +#: bookwyrm/forms/lists.py:26 msgid "List Order" msgstr "列表順序" -#: bookwyrm/forms.py:544 +#: bookwyrm/forms/lists.py:27 msgid "Book Title" msgstr "書名" -#: bookwyrm/forms.py:545 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "評價" -#: bookwyrm/forms.py:547 bookwyrm/templates/lists/list.html:185 +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 msgid "Sort By" msgstr "排序方式" -#: bookwyrm/forms.py:551 +#: bookwyrm/forms/lists.py:34 msgid "Ascending" msgstr "升序" -#: bookwyrm/forms.py:552 +#: bookwyrm/forms/lists.py:35 msgid "Descending" msgstr "降序" -#: bookwyrm/forms.py:565 -msgid "Reading finish date cannot be before start date." -msgstr "" - #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" msgstr "" @@ -187,7 +187,7 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的使用者名稱" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "使用者名稱" @@ -245,7 +245,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 msgid "Reviews" msgstr "書評" @@ -399,7 +399,7 @@ msgstr "" msgid "Moderator" msgstr "" -#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132 +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 msgid "Admin" msgstr "管理員" @@ -430,7 +430,7 @@ msgid "Software version:" msgstr "" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 #, python-format msgid "About %(site_name)s" msgstr "關於 %(site_name)s" @@ -531,7 +531,7 @@ msgstr "" #: bookwyrm/templates/annual_summary/layout.html:155 #: bookwyrm/templates/annual_summary/layout.html:176 #: bookwyrm/templates/annual_summary/layout.html:245 -#: bookwyrm/templates/book/book.html:47 +#: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 #: bookwyrm/templates/landing/small-book.html:18 @@ -614,18 +614,18 @@ msgstr "" #: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 -#: bookwyrm/templates/book/book.html:122 +#: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" #: bookwyrm/templates/author/author.html:87 -#: bookwyrm/templates/book/book.html:126 +#: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 檢視" #: bookwyrm/templates/author/author.html:102 -#: bookwyrm/templates/book/book.html:140 +#: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "在 Inventaire 檢視" @@ -662,7 +662,7 @@ msgid "Last edited by:" msgstr "最後編輯者:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:16 +#: bookwyrm/templates/book/edit/edit_book_form.html:17 msgid "Metadata" msgstr "元資料" @@ -674,8 +674,9 @@ msgid "Name:" msgstr "名稱:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:75 -#: bookwyrm/templates/book/edit/edit_book_form.html:94 +#: bookwyrm/templates/book/edit/edit_book_form.html:76 +#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:107 msgid "Separate multiple values with commas." msgstr "請用逗號(,)分隔多個值。" @@ -704,7 +705,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:265 +#: bookwyrm/templates/book/edit/edit_book_form.html:278 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -721,7 +722,7 @@ msgid "ISNI:" msgstr "" #: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:193 +#: bookwyrm/templates/book/book.html:202 #: bookwyrm/templates/book/edit/edit_book.html:121 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 @@ -743,7 +744,7 @@ msgstr "儲存" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:194 +#: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 @@ -755,6 +756,7 @@ msgstr "儲存" #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 @@ -775,86 +777,90 @@ msgstr "" msgid "Confirm" msgstr "確認" -#: bookwyrm/templates/book/book.html:55 bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "" + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" msgstr "編輯書目" -#: bookwyrm/templates/book/book.html:79 bookwyrm/templates/book/book.html:82 +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 msgid "Click to add cover" msgstr "" -#: bookwyrm/templates/book/book.html:88 +#: bookwyrm/templates/book/book.html:97 msgid "Failed to load cover" msgstr "載入封面失敗" -#: bookwyrm/templates/book/book.html:99 +#: bookwyrm/templates/book/book.html:108 msgid "Click to enlarge" msgstr "" -#: bookwyrm/templates/book/book.html:170 +#: bookwyrm/templates/book/book.html:179 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s 則書評)" -#: bookwyrm/templates/book/book.html:182 +#: bookwyrm/templates/book/book.html:191 msgid "Add Description" msgstr "新增描述" -#: bookwyrm/templates/book/book.html:189 -#: bookwyrm/templates/book/edit/edit_book_form.html:39 +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:40 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:212 #, python-format msgid "%(count)s editions" msgstr "%(count)s 個版本" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "You have shelved this edition in:" msgstr "" -#: bookwyrm/templates/book/book.html:226 +#: bookwyrm/templates/book/book.html:235 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本書的 另一個版本 在你的 %(shelf_name)s 書架上。" -#: bookwyrm/templates/book/book.html:237 +#: bookwyrm/templates/book/book.html:246 msgid "Your reading activity" msgstr "你的閱讀活動" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:252 msgid "Add read dates" msgstr "新增閱讀日期" -#: bookwyrm/templates/book/book.html:251 +#: bookwyrm/templates/book/book.html:260 msgid "You don't have any reading activity for this book." msgstr "你還未閱讀這本書。" -#: bookwyrm/templates/book/book.html:277 +#: bookwyrm/templates/book/book.html:286 msgid "Your reviews" msgstr "你的書評" -#: bookwyrm/templates/book/book.html:283 +#: bookwyrm/templates/book/book.html:292 msgid "Your comments" msgstr "你的評論" -#: bookwyrm/templates/book/book.html:289 +#: bookwyrm/templates/book/book.html:298 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:325 +#: bookwyrm/templates/book/book.html:334 msgid "Subjects" msgstr "主題" -#: bookwyrm/templates/book/book.html:337 +#: bookwyrm/templates/book/book.html:346 msgid "Places" msgstr "地點" -#: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 +#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: 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:25 @@ -863,11 +869,11 @@ msgstr "地點" msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:360 +#: bookwyrm/templates/book/book.html:369 msgid "Add to list" msgstr "新增到列表" -#: bookwyrm/templates/book/book.html:370 +#: bookwyrm/templates/book/book.html:379 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -881,12 +887,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:274 +#: bookwyrm/templates/book/edit/edit_book_form.html:287 msgid "OCLC Number:" msgstr "OCLC 號:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ASIN:" msgstr "ASIN:" @@ -895,12 +901,12 @@ msgid "Add cover" msgstr "新增封面" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:173 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 msgid "Upload cover:" msgstr "上載封面:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:179 +#: bookwyrm/templates/book/edit/edit_book_form.html:192 msgid "Load cover from url:" msgstr "從網址載入封面:" @@ -970,110 +976,114 @@ msgstr "這是一個新的作品。" msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit/edit_book_form.html:21 +#: bookwyrm/templates/book/edit/edit_book_form.html:22 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "標題:" -#: bookwyrm/templates/book/edit/edit_book_form.html:30 +#: bookwyrm/templates/book/edit/edit_book_form.html:31 msgid "Subtitle:" msgstr "副標題:" -#: bookwyrm/templates/book/edit/edit_book_form.html:50 +#: bookwyrm/templates/book/edit/edit_book_form.html:51 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit/edit_book_form.html:60 +#: bookwyrm/templates/book/edit/edit_book_form.html:61 msgid "Series number:" msgstr "系列編號:" -#: bookwyrm/templates/book/edit/edit_book_form.html:71 +#: bookwyrm/templates/book/edit/edit_book_form.html:72 msgid "Languages:" msgstr "語言:" -#: bookwyrm/templates/book/edit/edit_book_form.html:85 +#: bookwyrm/templates/book/edit/edit_book_form.html:84 +msgid "Subjects:" +msgstr "" + +#: bookwyrm/templates/book/edit/edit_book_form.html:98 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:90 +#: bookwyrm/templates/book/edit/edit_book_form.html:103 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit/edit_book_form.html:102 +#: bookwyrm/templates/book/edit/edit_book_form.html:115 msgid "First published date:" msgstr "初版時間:" -#: bookwyrm/templates/book/edit/edit_book_form.html:111 +#: bookwyrm/templates/book/edit/edit_book_form.html:124 msgid "Published date:" msgstr "出版時間:" -#: bookwyrm/templates/book/edit/edit_book_form.html:122 +#: bookwyrm/templates/book/edit/edit_book_form.html:135 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:131 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:134 +#: bookwyrm/templates/book/edit/edit_book_form.html:147 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:155 msgid "Add Authors:" msgstr "新增作者:" -#: bookwyrm/templates/book/edit/edit_book_form.html:145 -#: bookwyrm/templates/book/edit/edit_book_form.html:148 +#: bookwyrm/templates/book/edit/edit_book_form.html:158 +#: bookwyrm/templates/book/edit/edit_book_form.html:161 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:146 -#: bookwyrm/templates/book/edit/edit_book_form.html:149 +#: bookwyrm/templates/book/edit/edit_book_form.html:159 +#: bookwyrm/templates/book/edit/edit_book_form.html:162 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:152 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:160 +#: bookwyrm/templates/book/edit/edit_book_form.html:173 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit/edit_book_form.html:192 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Physical Properties" msgstr "實體性質" -#: bookwyrm/templates/book/edit/edit_book_form.html:199 +#: bookwyrm/templates/book/edit/edit_book_form.html:212 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:224 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:222 +#: bookwyrm/templates/book/edit/edit_book_form.html:235 msgid "Pages:" msgstr "頁數:" -#: bookwyrm/templates/book/edit/edit_book_form.html:233 +#: bookwyrm/templates/book/edit/edit_book_form.html:246 msgid "Book Identifiers" msgstr "書目標識號" -#: bookwyrm/templates/book/edit/edit_book_form.html:238 +#: bookwyrm/templates/book/edit/edit_book_form.html:251 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:247 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1161,7 +1171,7 @@ msgstr "" #: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:34 +#: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 msgid "Status" msgstr "狀態" @@ -1170,7 +1180,7 @@ msgstr "狀態" #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 #: bookwyrm/templates/settings/reports/report_links_table.html:6 -#: bookwyrm/templates/settings/themes.html:118 +#: bookwyrm/templates/settings/themes.html:100 msgid "Actions" msgstr "動作" @@ -1314,16 +1324,18 @@ msgid "Community" msgstr "社群" #: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 msgid "Local users" msgstr "本地使用者" #: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Federated community" msgstr "跨站社群" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:101 +#: bookwyrm/templates/layout.html:109 msgid "Directory" msgstr "目錄" @@ -1441,7 +1453,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:4 #: bookwyrm/templates/discover/discover.html:10 -#: bookwyrm/templates/layout.html:78 +#: bookwyrm/templates/layout.html:86 msgid "Discover" msgstr "" @@ -1564,7 +1576,7 @@ msgstr "重置你在 %(site_name)s 的密碼" msgid "%(site_name)s home page" msgstr "" -#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234 +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:242 msgid "Contact site admin" msgstr "聯絡網站管理員" @@ -1578,7 +1590,7 @@ msgid "Direct Messages with %(username)s" msgstr "與 %(username)s 私信" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:111 +#: bookwyrm/templates/layout.html:119 msgid "Direct Messages" msgstr "私信" @@ -1615,7 +1627,7 @@ msgid "Updates" msgstr "更新" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:106 +#: bookwyrm/templates/layout.html:114 msgid "Your Books" msgstr "你的書目" @@ -2163,7 +2175,7 @@ msgid "Login" msgstr "登入" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登入" @@ -2172,7 +2184,7 @@ msgstr "登入" msgid "Success! Email address confirmed." msgstr "" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2180,12 +2192,12 @@ msgstr "使用者名稱:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密碼:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘記了密碼?" @@ -2217,19 +2229,23 @@ msgstr "" msgid "Search for a book, user, or list" msgstr "" -#: bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "" + +#: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" msgstr "主導航選單" -#: bookwyrm/templates/layout.html:72 +#: bookwyrm/templates/layout.html:80 msgid "Feed" msgstr "動態" -#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "設定" -#: bookwyrm/templates/layout.html:125 +#: bookwyrm/templates/layout.html:133 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2237,42 +2253,42 @@ msgstr "設定" msgid "Invites" msgstr "邀請" -#: bookwyrm/templates/layout.html:139 +#: bookwyrm/templates/layout.html:147 msgid "Log out" msgstr "登出" -#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "通知" -#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密碼" -#: bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/layout.html:195 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:229 msgid "Successfully posted status" msgstr "" -#: bookwyrm/templates/layout.html:222 +#: bookwyrm/templates/layout.html:230 msgid "Error posting status" msgstr "" -#: bookwyrm/templates/layout.html:238 +#: bookwyrm/templates/layout.html:246 msgid "Documentation" msgstr "文件:" -#: bookwyrm/templates/layout.html:245 +#: bookwyrm/templates/layout.html:253 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "在 %(support_title)s 上支援 %(site_name)s" -#: bookwyrm/templates/layout.html:249 +#: bookwyrm/templates/layout.html:257 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是開源軟體。你可以在 GitHub 貢獻或報告問題。" @@ -3000,6 +3016,43 @@ msgstr "" msgid "Report" msgstr "舉報" +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:24 +msgid "Grant access to the camera to scan a book's barcode." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:29 +msgid "Could not access camera" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:34 +msgid "Align your book's barcode with the camera." +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:38 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "" @@ -3033,8 +3086,9 @@ msgstr "搜尋類別" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 #: bookwyrm/templates/settings/federation/instance_list.html:44 #: bookwyrm/templates/settings/layout.html:36 -#: bookwyrm/templates/settings/users/user_admin.html:3 -#: bookwyrm/templates/settings/users/user_admin.html:10 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 msgid "Users" msgstr "使用者" @@ -3497,6 +3551,7 @@ msgid "Date accepted" msgstr "接受日期" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 msgid "Email" msgstr "郵箱" @@ -3915,7 +3970,7 @@ msgid "Add the file name using the form below to make it available in the applic msgstr "" #: bookwyrm/templates/settings/themes.html:42 -#: bookwyrm/templates/settings/themes.html:101 +#: bookwyrm/templates/settings/themes.html:83 msgid "Add theme" msgstr "" @@ -3923,28 +3978,24 @@ msgstr "" msgid "Unable to save theme" msgstr "" -#: bookwyrm/templates/settings/themes.html:61 -msgid "No available theme files detected" -msgstr "" - -#: bookwyrm/templates/settings/themes.html:69 -#: bookwyrm/templates/settings/themes.html:112 +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 msgid "Theme name" msgstr "" -#: bookwyrm/templates/settings/themes.html:79 +#: bookwyrm/templates/settings/themes.html:74 msgid "Theme filename" msgstr "" -#: bookwyrm/templates/settings/themes.html:107 +#: bookwyrm/templates/settings/themes.html:89 msgid "Available Themes" msgstr "" -#: bookwyrm/templates/settings/themes.html:115 +#: bookwyrm/templates/settings/themes.html:97 msgid "File" msgstr "" -#: bookwyrm/templates/settings/themes.html:130 +#: bookwyrm/templates/settings/themes.html:112 msgid "Remove theme" msgstr "" @@ -3962,43 +4013,39 @@ msgstr "" msgid "Your password:" msgstr "" -#: bookwyrm/templates/settings/users/user.html:7 -msgid "Back to users" -msgstr "回到使用者" - -#: bookwyrm/templates/settings/users/user_admin.html:7 +#: bookwyrm/templates/settings/users/user_admin.html:9 #, python-format msgid "Users: %(instance_name)s" msgstr "使用者: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:22 +#: bookwyrm/templates/settings/users/user_admin.html:40 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "使用者名稱" -#: bookwyrm/templates/settings/users/user_admin.html:26 +#: bookwyrm/templates/settings/users/user_admin.html:44 msgid "Date Added" msgstr "新增日期:" -#: bookwyrm/templates/settings/users/user_admin.html:30 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Last Active" msgstr "最後活躍" -#: bookwyrm/templates/settings/users/user_admin.html:38 +#: bookwyrm/templates/settings/users/user_admin.html:57 msgid "Remote instance" msgstr "移除伺服器" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Active" msgstr "活躍" -#: bookwyrm/templates/settings/users/user_admin.html:47 +#: bookwyrm/templates/settings/users/user_admin.html:67 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Inactive" msgstr "停用" -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:73 #: bookwyrm/templates/settings/users/user_info.html:120 msgid "Not set" msgstr "未設定" From 108981a226719a041056a8282c49d57be3c1a761 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 16:35:03 -0700 Subject: [PATCH 167/458] Creates fresh migration and removes merges --- bookwyrm/migrations/0142_merge_20220225_2103.py | 13 ------------- bookwyrm/migrations/0145_merge_20220312_1040.py | 13 ------------- ...topped_reading.py => 0146_auto_20220316_2320.py} | 6 +++--- 3 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 bookwyrm/migrations/0142_merge_20220225_2103.py delete mode 100644 bookwyrm/migrations/0145_merge_20220312_1040.py rename bookwyrm/migrations/{0134_alter_stopped_reading.py => 0146_auto_20220316_2320.py} (95%) diff --git a/bookwyrm/migrations/0142_merge_20220225_2103.py b/bookwyrm/migrations/0142_merge_20220225_2103.py deleted file mode 100644 index 62f8dcfee..000000000 --- a/bookwyrm/migrations/0142_merge_20220225_2103.py +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Django 3.2.12 on 2022-02-25 21:03 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("bookwyrm", "0134_alter_stopped_reading"), - ("bookwyrm", "0141_alter_report_status"), - ] - - operations = [] diff --git a/bookwyrm/migrations/0145_merge_20220312_1040.py b/bookwyrm/migrations/0145_merge_20220312_1040.py deleted file mode 100644 index 8e6c75ace..000000000 --- a/bookwyrm/migrations/0145_merge_20220312_1040.py +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Django 3.2.12 on 2022-03-12 10:40 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("bookwyrm", "0142_merge_20220225_2103"), - ("bookwyrm", "0144_alter_announcement_display_type"), - ] - - operations = [] diff --git a/bookwyrm/migrations/0134_alter_stopped_reading.py b/bookwyrm/migrations/0146_auto_20220316_2320.py similarity index 95% rename from bookwyrm/migrations/0134_alter_stopped_reading.py rename to bookwyrm/migrations/0146_auto_20220316_2320.py index ba49f6120..e50bf25ec 100644 --- a/bookwyrm/migrations/0134_alter_stopped_reading.py +++ b/bookwyrm/migrations/0146_auto_20220316_2320.py @@ -1,7 +1,7 @@ -# Generated by Django 3.2.11 on 2022-02-11 13:19 +# Generated by Django 3.2.12 on 2022-03-16 23:20 -from django.db import migrations import bookwyrm.models.fields +from django.db import migrations from bookwyrm.models import Shelf @@ -27,7 +27,7 @@ def add_shelves(apps, schema_editor): class Migration(migrations.Migration): dependencies = [ - ("bookwyrm", "0133_alter_listitem_notes"), + ("bookwyrm", "0145_sitesettings_version"), ] operations = [ From 44e68cd0a459ccdb2192bd0871899636316f898e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 16:50:34 -0700 Subject: [PATCH 168/458] Whitespace fix --- bookwyrm/models/site.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index e939da20f..edffa1adb 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -103,7 +103,8 @@ class SiteSettings(models.Model): return urljoin(STATIC_FULL_URL, default_path) def save(self, *args, **kwargs): - """if require_confirm_email is disabled, make sure no users are pending, if enabled, make sure invite_question_text is not empty""" + """if require_confirm_email is disabled, make sure no users are pending, + if enabled, make sure invite_question_text is not empty""" if not self.require_confirm_email: User.objects.filter(is_active=False, deactivation_reason="pending").update( is_active=True, deactivation_reason=None From 8b061f94324531b0f6fa9c96cf222b3f61258fa8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 16:53:16 -0700 Subject: [PATCH 169/458] Manually updates migration --- ...{0145_auto_20220313_2206.py => 0146_auto_20220316_2352.py} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename bookwyrm/migrations/{0145_auto_20220313_2206.py => 0146_auto_20220316_2352.py} (87%) diff --git a/bookwyrm/migrations/0145_auto_20220313_2206.py b/bookwyrm/migrations/0146_auto_20220316_2352.py similarity index 87% rename from bookwyrm/migrations/0145_auto_20220313_2206.py rename to bookwyrm/migrations/0146_auto_20220316_2352.py index 8d06ca8b2..2eab3b562 100644 --- a/bookwyrm/migrations/0145_auto_20220313_2206.py +++ b/bookwyrm/migrations/0146_auto_20220316_2352.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.12 on 2022-03-13 22:06 +# Generated by Django 3.2.12 on 2022-03-16 23:52 from django.db import migrations, models @@ -6,7 +6,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("bookwyrm", "0144_alter_announcement_display_type"), + ("bookwyrm", "0145_sitesettings_version"), ] operations = [ From 178f26192b1c50667e6ea0a2051ca974bc470134 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 17:15:53 -0700 Subject: [PATCH 170/458] Removes file added by merge --- bookwyrm/forms.py | 584 ---------------------------------------------- 1 file changed, 584 deletions(-) delete mode 100644 bookwyrm/forms.py diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py deleted file mode 100644 index a20fadcb3..000000000 --- a/bookwyrm/forms.py +++ /dev/null @@ -1,584 +0,0 @@ -""" using django model forms """ -import datetime -from collections import defaultdict -from urllib.parse import urlparse - -from django import forms -from django.forms import ModelForm, PasswordInput, widgets, ChoiceField -from django.forms.widgets import Textarea -from django.utils import timezone -from django.utils.translation import gettext_lazy as _ - -from bookwyrm import models -from bookwyrm.models.fields import ClearableFileInputWithWarning -from bookwyrm.models.user import FeedFilterChoices - - -class CustomForm(ModelForm): - """add css classes to the forms""" - - def __init__(self, *args, **kwargs): - css_classes = defaultdict(lambda: "") - css_classes["text"] = "input" - css_classes["password"] = "input" - css_classes["email"] = "input" - css_classes["number"] = "input" - css_classes["checkbox"] = "checkbox" - css_classes["textarea"] = "textarea" - # pylint: disable=super-with-arguments - super(CustomForm, self).__init__(*args, **kwargs) - for visible in self.visible_fields(): - if hasattr(visible.field.widget, "input_type"): - input_type = visible.field.widget.input_type - if isinstance(visible.field.widget, Textarea): - input_type = "textarea" - visible.field.widget.attrs["rows"] = 5 - visible.field.widget.attrs["class"] = css_classes[input_type] - - -# pylint: disable=missing-class-docstring -class LoginForm(CustomForm): - class Meta: - model = models.User - fields = ["localname", "password"] - help_texts = {f: None for f in fields} - widgets = { - "password": PasswordInput(), - } - - -class RegisterForm(CustomForm): - class Meta: - model = models.User - fields = ["localname", "email", "password"] - help_texts = {f: None for f in fields} - widgets = {"password": PasswordInput()} - - def clean(self): - """Check if the username is taken""" - cleaned_data = super().clean() - localname = cleaned_data.get("localname").strip() - if models.User.objects.filter(localname=localname).first(): - self.add_error("localname", _("User with this username already exists")) - - -class RatingForm(CustomForm): - class Meta: - model = models.ReviewRating - fields = ["user", "book", "rating", "privacy"] - - -class ReviewForm(CustomForm): - class Meta: - model = models.Review - fields = [ - "user", - "book", - "name", - "content", - "rating", - "content_warning", - "sensitive", - "privacy", - ] - - -class CommentForm(CustomForm): - class Meta: - model = models.Comment - fields = [ - "user", - "book", - "content", - "content_warning", - "sensitive", - "privacy", - "progress", - "progress_mode", - "reading_status", - ] - - -class QuotationForm(CustomForm): - class Meta: - model = models.Quotation - fields = [ - "user", - "book", - "quote", - "content", - "content_warning", - "sensitive", - "privacy", - "position", - "position_mode", - ] - - -class ReplyForm(CustomForm): - class Meta: - model = models.Status - fields = [ - "user", - "content", - "content_warning", - "sensitive", - "reply_parent", - "privacy", - ] - - -class StatusForm(CustomForm): - class Meta: - model = models.Status - fields = ["user", "content", "content_warning", "sensitive", "privacy"] - - -class DirectForm(CustomForm): - class Meta: - model = models.Status - fields = ["user", "content", "content_warning", "sensitive", "privacy"] - - -class EditUserForm(CustomForm): - class Meta: - model = models.User - fields = [ - "avatar", - "name", - "email", - "summary", - "show_goal", - "show_suggested_users", - "manually_approves_followers", - "default_post_privacy", - "discoverable", - "hide_follows", - "preferred_timezone", - "preferred_language", - "theme", - ] - help_texts = {f: None for f in fields} - widgets = { - "avatar": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_avatar"} - ), - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), - "email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}), - "discoverable": forms.CheckboxInput( - attrs={"aria-describedby": "desc_discoverable"} - ), - } - - -class LimitedEditUserForm(CustomForm): - class Meta: - model = models.User - fields = [ - "avatar", - "name", - "summary", - "manually_approves_followers", - "discoverable", - ] - help_texts = {f: None for f in fields} - widgets = { - "avatar": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_avatar"} - ), - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}), - "discoverable": forms.CheckboxInput( - attrs={"aria-describedby": "desc_discoverable"} - ), - } - - -class DeleteUserForm(CustomForm): - class Meta: - model = models.User - fields = ["password"] - - -class UserGroupForm(CustomForm): - class Meta: - model = models.User - fields = ["groups"] - - -class FeedStatusTypesForm(CustomForm): - class Meta: - model = models.User - fields = ["feed_status_types"] - help_texts = {f: None for f in fields} - widgets = { - "feed_status_types": widgets.CheckboxSelectMultiple( - choices=FeedFilterChoices, - ), - } - - -class CoverForm(CustomForm): - class Meta: - model = models.Book - fields = ["cover"] - help_texts = {f: None for f in fields} - - -class LinkDomainForm(CustomForm): - class Meta: - model = models.LinkDomain - fields = ["name"] - - -class FileLinkForm(CustomForm): - class Meta: - model = models.FileLink - fields = ["url", "filetype", "availability", "book", "added_by"] - - def clean(self): - """make sure the domain isn't blocked or pending""" - cleaned_data = super().clean() - url = cleaned_data.get("url") - filetype = cleaned_data.get("filetype") - book = cleaned_data.get("book") - domain = urlparse(url).netloc - if models.LinkDomain.objects.filter(domain=domain).exists(): - status = models.LinkDomain.objects.get(domain=domain).status - if status == "blocked": - # pylint: disable=line-too-long - self.add_error( - "url", - _( - "This domain is blocked. Please contact your administrator if you think this is an error." - ), - ) - elif models.FileLink.objects.filter( - url=url, book=book, filetype=filetype - ).exists(): - # pylint: disable=line-too-long - self.add_error( - "url", - _( - "This link with file type has already been added for this book. If it is not visible, the domain is still pending." - ), - ) - - -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", - ] - widgets = { - "title": forms.TextInput(attrs={"aria-describedby": "desc_title"}), - "subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}), - "description": forms.Textarea( - attrs={"aria-describedby": "desc_description"} - ), - "series": forms.TextInput(attrs={"aria-describedby": "desc_series"}), - "series_number": forms.TextInput( - attrs={"aria-describedby": "desc_series_number"} - ), - "languages": forms.TextInput( - attrs={"aria-describedby": "desc_languages_help desc_languages"} - ), - "subjects": forms.TextInput( - attrs={"aria-describedby": "desc_subjects_help desc_subjects"} - ), - "publishers": forms.TextInput( - attrs={"aria-describedby": "desc_publishers_help desc_publishers"} - ), - "first_published_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_first_published_date"} - ), - "published_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_published_date"} - ), - "cover": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_cover"} - ), - "physical_format": forms.Select( - attrs={"aria-describedby": "desc_physical_format"} - ), - "physical_format_detail": forms.TextInput( - attrs={"aria-describedby": "desc_physical_format_detail"} - ), - "pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}), - "isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}), - "isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}), - "openlibrary_key": forms.TextInput( - attrs={"aria-describedby": "desc_openlibrary_key"} - ), - "inventaire_id": forms.TextInput( - attrs={"aria-describedby": "desc_inventaire_id"} - ), - "oclc_number": forms.TextInput( - attrs={"aria-describedby": "desc_oclc_number"} - ), - "ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}), - } - - -class AuthorForm(CustomForm): - class Meta: - model = models.Author - fields = [ - "last_edited_by", - "name", - "aliases", - "bio", - "wikipedia_link", - "born", - "died", - "openlibrary_key", - "inventaire_id", - "librarything_key", - "goodreads_key", - "isni", - ] - widgets = { - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}), - "bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}), - "wikipedia_link": forms.TextInput( - attrs={"aria-describedby": "desc_wikipedia_link"} - ), - "born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}), - "died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}), - "oepnlibrary_key": forms.TextInput( - attrs={"aria-describedby": "desc_oepnlibrary_key"} - ), - "inventaire_id": forms.TextInput( - attrs={"aria-describedby": "desc_inventaire_id"} - ), - "librarything_key": forms.TextInput( - attrs={"aria-describedby": "desc_librarything_key"} - ), - "goodreads_key": forms.TextInput( - attrs={"aria-describedby": "desc_goodreads_key"} - ), - } - - -class ImportForm(forms.Form): - csv_file = forms.FileField() - - -class ExpiryWidget(widgets.Select): - def value_from_datadict(self, data, files, name): - """human-readable exiration time buckets""" - selected_string = super().value_from_datadict(data, files, name) - - if selected_string == "day": - interval = datetime.timedelta(days=1) - elif selected_string == "week": - interval = datetime.timedelta(days=7) - elif selected_string == "month": - interval = datetime.timedelta(days=31) # Close enough? - elif selected_string == "forever": - return None - else: - return selected_string # This will raise - - return timezone.now() + interval - - -class InviteRequestForm(CustomForm): - def clean(self): - """make sure the email isn't in use by a registered user""" - cleaned_data = super().clean() - email = cleaned_data.get("email") - if email and models.User.objects.filter(email=email).exists(): - self.add_error("email", _("A user with this email already exists.")) - - class Meta: - model = models.InviteRequest - fields = ["email", "answer"] - - -class CreateInviteForm(CustomForm): - class Meta: - model = models.SiteInvite - exclude = ["code", "user", "times_used", "invitees"] - widgets = { - "expiry": ExpiryWidget( - choices=[ - ("day", _("One Day")), - ("week", _("One Week")), - ("month", _("One Month")), - ("forever", _("Does Not Expire")), - ] - ), - "use_limit": widgets.Select( - choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]] - + [(None, _("Unlimited"))] - ), - } - - -class ShelfForm(CustomForm): - class Meta: - model = models.Shelf - fields = ["user", "name", "privacy", "description"] - - -class GoalForm(CustomForm): - class Meta: - model = models.AnnualGoal - fields = ["user", "year", "goal", "privacy"] - - -class SiteForm(CustomForm): - class Meta: - model = models.SiteSettings - exclude = ["admin_code", "install_mode"] - widgets = { - "instance_short_description": forms.TextInput( - attrs={"aria-describedby": "desc_instance_short_description"} - ), - "require_confirm_email": forms.CheckboxInput( - attrs={"aria-describedby": "desc_require_confirm_email"} - ), - "invite_request_text": forms.Textarea( - attrs={"aria-describedby": "desc_invite_request_text"} - ), - } - - -class SiteThemeForm(CustomForm): - class Meta: - model = models.SiteSettings - fields = ["default_theme"] - - -class ThemeForm(CustomForm): - class Meta: - model = models.Theme - fields = ["name", "path"] - widgets = { - "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.TextInput( - attrs={ - "aria-describedby": "desc_path", - "placeholder": "css/themes/theme-name.scss", - } - ), - } - - -class AnnouncementForm(CustomForm): - class Meta: - model = models.Announcement - exclude = ["remote_id"] - widgets = { - "preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}), - "content": forms.Textarea(attrs={"aria-describedby": "desc_content"}), - "event_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_event_date"} - ), - "start_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_start_date"} - ), - "end_date": forms.SelectDateWidget( - attrs={"aria-describedby": "desc_end_date"} - ), - "active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}), - } - - -class ListForm(CustomForm): - class Meta: - model = models.List - fields = ["user", "name", "description", "curation", "privacy", "group"] - - -class ListItemForm(CustomForm): - class Meta: - model = models.ListItem - fields = ["user", "book", "book_list", "notes"] - - -class GroupForm(CustomForm): - class Meta: - model = models.Group - fields = ["user", "privacy", "name", "description"] - - -class ReportForm(CustomForm): - class Meta: - model = models.Report - fields = ["user", "reporter", "status", "links", "note"] - - -class EmailBlocklistForm(CustomForm): - class Meta: - model = models.EmailBlocklist - fields = ["domain"] - widgets = { - "avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}), - } - - -class IPBlocklistForm(CustomForm): - class Meta: - model = models.IPBlocklist - fields = ["address"] - - -class ServerForm(CustomForm): - class Meta: - model = models.FederatedServer - exclude = ["remote_id"] - - -class SortListForm(forms.Form): - sort_by = ChoiceField( - choices=( - ("order", _("List Order")), - ("title", _("Book Title")), - ("rating", _("Rating")), - ), - label=_("Sort By"), - ) - direction = ChoiceField( - choices=( - ("ascending", _("Ascending")), - ("descending", _("Descending")), - ), - ) - - -class ReadThroughForm(CustomForm): - def clean(self): - """make sure the email isn't in use by a registered user""" - cleaned_data = super().clean() - start_date = cleaned_data.get("start_date") - finish_date = cleaned_data.get("finish_date") - if start_date and finish_date and start_date > finish_date: - self.add_error( - "finish_date", _("Reading finish date cannot be before start date.") - ) - - class Meta: - model = models.ReadThrough - fields = ["user", "book", "start_date", "finish_date"] - - -class AutoModRuleForm(CustomForm): - class Meta: - model = models.AutoMod - fields = ["string_match", "flag_users", "flag_statuses", "created_by"] From 5255abb2afef7e048410e6dd8e338e6b2be46ae7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Mar 2022 17:55:41 -0700 Subject: [PATCH 171/458] Fixes create book view unit test --- bookwyrm/tests/views/books/test_edit_book.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/books/test_edit_book.py b/bookwyrm/tests/views/books/test_edit_book.py index cfb0d7668..cabfe972d 100644 --- a/bookwyrm/tests/views/books/test_edit_book.py +++ b/bookwyrm/tests/views/books/test_edit_book.py @@ -60,7 +60,7 @@ class EditBookViews(TestCase): def test_edit_book_create_page(self): """there are so many views, this just makes sure it LOADS""" - view = views.EditBook.as_view() + view = views.CreateBook.as_view() request = self.factory.get("") request.user = self.local_user request.user.is_superuser = True From 3050b33084260a19f5258fa10b8fe5f772c74b67 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Wed, 16 Mar 2022 20:21:13 -0700 Subject: [PATCH 172/458] add success-light and warning-light! --- bookwyrm/static/css/themes/bookwyrm-dark.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 466d8026d..0a4f6f23e 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -8,7 +8,9 @@ $primary: #005e50; $primary-light: #1d2b28; $info: #1f4666; $success: #246447; +$success-light: #0d2f1e; $warning: #8b6c15; +$warning-light: #372e13; $danger: #872538; $danger-light: #481922; $light: #393939; From cf58d0ad5c58a395cda279809410f13220236fad Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 17 Mar 2022 07:22:22 -0700 Subject: [PATCH 173/458] Reverts author view changes --- bookwyrm/views/author.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bookwyrm/views/author.py b/bookwyrm/views/author.py index a2f5d03ba..54eadef68 100644 --- a/bookwyrm/views/author.py +++ b/bookwyrm/views/author.py @@ -1,7 +1,7 @@ """ the good people stuff! the authors! """ from django.contrib.auth.decorators import login_required, permission_required from django.core.paginator import Paginator -from django.db.models import Avg, Q +from django.db.models import Q from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator @@ -28,8 +28,7 @@ class Author(View): books = ( models.Work.objects.filter(Q(authors=author) | Q(editions__authors=author)) - .annotate(Avg("editions__review__rating")) - .order_by("editions__review__rating__avg") + .order_by("created_date") .distinct() ) From 997a671cfb6be33a7b7d3ff973a04017a47cdf65 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 17 Mar 2022 07:34:59 -0700 Subject: [PATCH 174/458] Consistent style for edit book confirm mode --- bookwyrm/templates/book/edit/edit_book.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/book/edit/edit_book.html b/bookwyrm/templates/book/edit/edit_book.html index 79ed1cc0d..b088c1e87 100644 --- a/bookwyrm/templates/book/edit/edit_book.html +++ b/bookwyrm/templates/book/edit/edit_book.html @@ -103,7 +103,7 @@ {{ match.parent_work.title }} {% endfor %} -

{% blocktrans with path=book.parent_work.local_path count=book.parent_work.editions.count %}{{ count }} editions{% endblocktrans %}

- {% endif %} + {% with work=book.parent_work %} +

+ + {% blocktrans trimmed count counter=work.editions.count with count=work.editions.count|intcomma %} + {{ count }} edition + {% plural %} + {{ count }} editions + {% endblocktrans %} + +

+ {% endwith %} {# user's relationship to the book #} From a684d86d15f5f1715ab49d6f9228ada016aaaf40 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 17 Mar 2022 08:02:59 -0700 Subject: [PATCH 176/458] Fixes subjects in add edition view --- bookwyrm/forms/books.py | 1 - bookwyrm/templates/book/editions/editions.html | 13 ++++++++++++- bookwyrm/views/books/edit_book.py | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bookwyrm/forms/books.py b/bookwyrm/forms/books.py index 20f307fae..d96ad067c 100644 --- a/bookwyrm/forms/books.py +++ b/bookwyrm/forms/books.py @@ -86,7 +86,6 @@ class EditionForm(CustomForm): "ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}), } - class EditionFromWorkForm(CustomForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/bookwyrm/templates/book/editions/editions.html b/bookwyrm/templates/book/editions/editions.html index 5d674d47d..e15e7a74d 100644 --- a/bookwyrm/templates/book/editions/editions.html +++ b/bookwyrm/templates/book/editions/editions.html @@ -57,7 +57,18 @@
{% csrf_token %} - {{ work_form }} + {{ work_form.title }} + {{ work_form.subtitle }} + {{ work_form.authors }} + {{ work_form.description }} + {{ work_form.languages }} + {{ work_form.series }} + {{ work_form.cover }} + {{ work_form.first_published_date }} + {% for subject in work.subjects %} + + {% endfor %} +
diff --git a/bookwyrm/templates/widgets/addon_multiwidget.html b/bookwyrm/templates/widgets/addon_multiwidget.html new file mode 100644 index 000000000..5c8616b88 --- /dev/null +++ b/bookwyrm/templates/widgets/addon_multiwidget.html @@ -0,0 +1,9 @@ +{% spaceless %} +
+{% for widget in widget.subwidgets %} +
+ {% include widget.template_name %} +
+{% endfor %} +
+{% endspaceless %} diff --git a/bookwyrm/templates/widgets/select.html b/bookwyrm/templates/widgets/select.html new file mode 100644 index 000000000..eb59ebd33 --- /dev/null +++ b/bookwyrm/templates/widgets/select.html @@ -0,0 +1,10 @@ +
+ +
diff --git a/bookwyrm/views/books/edit_book.py b/bookwyrm/views/books/edit_book.py index 40cc44cab..2315cfce2 100644 --- a/bookwyrm/views/books/edit_book.py +++ b/bookwyrm/views/books/edit_book.py @@ -1,13 +1,11 @@ """ the good stuff! the books! """ from re import sub, findall -from dateutil.parser import parse as dateparse from django.contrib.auth.decorators import login_required, permission_required from django.contrib.postgres.search import SearchRank, SearchVector from django.db import transaction from django.http import HttpResponseBadRequest from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse -from django.utils.datastructures import MultiValueDictKeyError from django.utils.decorators import method_decorator from django.views.decorators.http import require_POST from django.views import View @@ -52,7 +50,6 @@ class EditBook(View): # either of the above cases requires additional confirmation if data.get("add_author"): - data = copy_form(data) return TemplateResponse(request, "book/edit/edit_book.html", data) remove_authors = request.POST.getlist("remove_authors") @@ -118,7 +115,6 @@ class CreateBook(View): # go to confirm mode if not parent_work_id or data.get("add_author"): - data = copy_form(data) return TemplateResponse(request, "book/edit/edit_book.html", data) with transaction.atomic(): @@ -139,21 +135,6 @@ class CreateBook(View): return redirect(f"/book/{book.id}") -def copy_form(data): - """helper to re-create the date fields in the form""" - formcopy = data["form"].data.copy() - try: - formcopy["first_published_date"] = dateparse(formcopy["first_published_date"]) - except (MultiValueDictKeyError, ValueError): - pass - try: - formcopy["published_date"] = dateparse(formcopy["published_date"]) - except (MultiValueDictKeyError, ValueError): - pass - data["form"].data = formcopy - return data - - def add_authors(request, data): """helper for adding authors""" add_author = [author for author in request.POST.getlist("add_author") if author] From dc9f8fccb7bc92704f1231bce92f85aabf2434f3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 08:48:10 -0700 Subject: [PATCH 186/458] Adds widgets file --- bookwyrm/forms/widgets.py | 70 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 bookwyrm/forms/widgets.py diff --git a/bookwyrm/forms/widgets.py b/bookwyrm/forms/widgets.py new file mode 100644 index 000000000..ee9345aa0 --- /dev/null +++ b/bookwyrm/forms/widgets.py @@ -0,0 +1,70 @@ +""" using django model forms """ +from django import forms + + +class ArrayWidget(forms.widgets.TextInput): + """Inputs for postgres array fields""" + + # pylint: disable=unused-argument + # pylint: disable=no-self-use + def value_from_datadict(self, data, files, name): + """get all values for this name""" + return [i for i in data.getlist(name) if i] + + +class Select(forms.Select): + """custom template for select widget""" + + template_name = "widgets/select.html" + + +class SelectDateWidget(forms.SelectDateWidget): + """ + A widget that splits date input into two boxes and a numerical year. + """ + + template_name = "widgets/addon_multiwidget.html" + select_widget = Select + + def get_context(self, name, value, attrs): + """sets individual widgets""" + context = super().get_context(name, value, attrs) + date_context = {} + year_name = self.year_field % name + date_context["year"] = forms.NumberInput().get_context( + name=year_name, + value=context["widget"]["value"]["year"], + attrs={ + **context["widget"]["attrs"], + "id": f"id_{year_name}", + "class": "input", + }, + ) + month_choices = list(self.months.items()) + if not self.is_required: + month_choices.insert(0, self.month_none_value) + month_name = self.month_field % name + date_context["month"] = self.select_widget( + attrs, choices=month_choices + ).get_context( + name=month_name, + value=context["widget"]["value"]["month"], + attrs={**context["widget"]["attrs"], "id": f"id_{month_name}"}, + ) + day_choices = [(i, i) for i in range(1, 32)] + if not self.is_required: + day_choices.insert(0, self.day_none_value) + day_name = self.day_field % name + date_context["day"] = self.select_widget( + attrs, + choices=day_choices, + ).get_context( + name=day_name, + value=context["widget"]["value"]["day"], + attrs={**context["widget"]["attrs"], "id": f"id_{day_name}"}, + ) + subwidgets = [] + for field in self._parse_date_fmt(): + subwidgets.append(date_context[field]["widget"]) + context["widget"]["subwidgets"] = subwidgets + return context From 1cfe3b3f941f557adadeb99146e7c7fecf08d5b0 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 09:09:25 -0700 Subject: [PATCH 190/458] Re-orders site settings registration toggles Having require email confirm next to allow registration seems better to me --- bookwyrm/templates/settings/site.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bookwyrm/templates/settings/site.html b/bookwyrm/templates/settings/site.html index d55514b55..4fd147834 100644 --- a/bookwyrm/templates/settings/site.html +++ b/bookwyrm/templates/settings/site.html @@ -139,6 +139,13 @@ {% trans "Allow registration" %} +
+ +

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

+
-
- -

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

-
{{ site_form.registration_closed_text }} @@ -171,7 +171,7 @@
{{ site_form.invite_request_text }} - + {% include 'snippets/form_errors.html' with errors_list=site_form.invite_request_text.errors id="desc_invite_request_text" %}
From 7f6a98e764eedb8e1781b755f1aa05192cc053ca Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 09:11:59 -0700 Subject: [PATCH 191/458] Don't let site settings form get too wide --- bookwyrm/templates/settings/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/layout.html b/bookwyrm/templates/settings/layout.html index d76c954dc..862de9585 100644 --- a/bookwyrm/templates/settings/layout.html +++ b/bookwyrm/templates/settings/layout.html @@ -93,7 +93,7 @@ {% endif %} -
+
{% block panel %}{% endblock %}
From f0a87e2a2069557cb6a6f1990eadfed557775db6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 09:13:08 -0700 Subject: [PATCH 192/458] Use fullwidth tables in admin views --- bookwyrm/templates/settings/announcements/announcements.html | 2 +- bookwyrm/templates/settings/automod/rules.html | 2 +- bookwyrm/templates/settings/federation/instance_list.html | 2 +- bookwyrm/templates/settings/themes.html | 2 +- bookwyrm/templates/settings/users/user_admin.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bookwyrm/templates/settings/announcements/announcements.html b/bookwyrm/templates/settings/announcements/announcements.html index 6299ba3d9..784fef166 100644 --- a/bookwyrm/templates/settings/announcements/announcements.html +++ b/bookwyrm/templates/settings/announcements/announcements.html @@ -14,7 +14,7 @@ {% block panel %}
- +
{% url 'settings-announcements' as url %} diff --git a/bookwyrm/templates/settings/automod/rules.html b/bookwyrm/templates/settings/automod/rules.html index ef0a49beb..128ff20b7 100644 --- a/bookwyrm/templates/settings/automod/rules.html +++ b/bookwyrm/templates/settings/automod/rules.html @@ -154,7 +154,7 @@
- +
diff --git a/bookwyrm/templates/settings/federation/instance_list.html b/bookwyrm/templates/settings/federation/instance_list.html index 5cbec8761..89c50e5e6 100644 --- a/bookwyrm/templates/settings/federation/instance_list.html +++ b/bookwyrm/templates/settings/federation/instance_list.html @@ -25,7 +25,7 @@ - +
{% url 'settings-federation' as url %}
diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 3d4d83dec..afa3f0be4 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -88,7 +88,7 @@

{% trans "Available Themes" %}

- +
{% trans "Theme name" %} diff --git a/bookwyrm/templates/settings/users/user_admin.html b/bookwyrm/templates/settings/users/user_admin.html index e3de77938..fdd9fb7df 100644 --- a/bookwyrm/templates/settings/users/user_admin.html +++ b/bookwyrm/templates/settings/users/user_admin.html @@ -33,7 +33,7 @@
- +
{% url 'settings-users' as url %} {% for user in users %} - + - + {% if status != "local" %} - {% for server in servers %} - + + - {% endfor %} {% if not servers %} diff --git a/bookwyrm/templates/settings/federation/software_filter.html b/bookwyrm/templates/settings/federation/software_filter.html new file mode 100644 index 000000000..5a4575ec4 --- /dev/null +++ b/bookwyrm/templates/settings/federation/software_filter.html @@ -0,0 +1,19 @@ +{% extends 'snippets/filters_panel/filter_field.html' %} +{% load i18n %} + +{% block filter %} + +
+
+ +
+
+{% endblock %} + diff --git a/bookwyrm/tests/management/test_initdb.py b/bookwyrm/tests/management/test_initdb.py index e0a037160..a00c6d674 100644 --- a/bookwyrm/tests/management/test_initdb.py +++ b/bookwyrm/tests/management/test_initdb.py @@ -90,7 +90,6 @@ class InitDB(TestCase): self.assertEqual(Group.objects.count(), 3) self.assertTrue(Permission.objects.exists()) self.assertEqual(models.Connector.objects.count(), 3) - self.assertEqual(models.FederatedServer.objects.count(), 2) self.assertEqual(models.SiteSettings.objects.count(), 1) self.assertEqual(models.LinkDomain.objects.count(), 5) @@ -102,7 +101,6 @@ class InitDB(TestCase): # everything should have been called self.assertEqual(Group.objects.count(), 3) self.assertEqual(models.Connector.objects.count(), 0) - self.assertEqual(models.FederatedServer.objects.count(), 0) self.assertEqual(models.SiteSettings.objects.count(), 0) self.assertEqual(models.LinkDomain.objects.count(), 0) diff --git a/bookwyrm/views/admin/federation.py b/bookwyrm/views/admin/federation.py index d95553491..cb05b779e 100644 --- a/bookwyrm/views/admin/federation.py +++ b/bookwyrm/views/admin/federation.py @@ -25,14 +25,23 @@ class Federation(View): def get(self, request, status="federated"): """list of servers""" - servers = models.FederatedServer.objects.filter(status=status) + + filters = {} + if software := request.GET.get("application_type"): + filters["application_type"] = software + + servers = models.FederatedServer.objects.filter(status=status, **filters) sort = request.GET.get("sort") - sort_fields = ["created_date", "application_type", "server_name"] - # pylint: disable=consider-using-f-string - if not sort in sort_fields + ["-{:s}".format(f) for f in sort_fields]: + sort_fields = [ + "created_date", + "updated_date", + "application_type", + "server_name", + ] + if not sort in sort_fields + [f"-{f}" for f in sort_fields]: sort = "-created_date" - servers = servers.order_by(sort) + servers = servers.order_by(sort, "-created_date") paginated = Paginator(servers, PAGE_LENGTH) page = paginated.get_page(request.GET.get("page")) @@ -49,6 +58,9 @@ class Federation(View): page.number, on_each_side=2, on_ends=1 ), "sort": sort, + "software_options": models.FederatedServer.objects.values_list( + "application_type", flat=True + ).distinct(), "form": forms.ServerForm(), } return TemplateResponse(request, "settings/federation/instance_list.html", data) From b718e01a5c0bff9b4e597614be5661bd0af51433 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 4 Apr 2022 15:17:18 -0700 Subject: [PATCH 223/458] Adds zsh-specific completions file --- complete_bwdev.sh | 3 --- complete_bwdev.zsh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 complete_bwdev.zsh diff --git a/complete_bwdev.sh b/complete_bwdev.sh index 6f3253821..5dd025673 100644 --- a/complete_bwdev.sh +++ b/complete_bwdev.sh @@ -1,7 +1,4 @@ #/usr/bin/env bash -# for zsh, run: -# autoload bashcompinit -# bashcompinit complete -W "up service_ports_web initdb diff --git a/complete_bwdev.zsh b/complete_bwdev.zsh new file mode 100644 index 000000000..5f7695ee1 --- /dev/null +++ b/complete_bwdev.zsh @@ -0,0 +1,36 @@ +#/usr/bin/env bash +autoload bashcompinit +bashcompinit +complete -W "up +service_ports_web +initdb +resetdb +makemigrations +migrate +bash +shell +dbshell +restart_celery +pytest +collectstatic +makemessages +compilemessages +update_locales +build +clean +black +prettier +stylelint +formatters +compilescss +collectstatic_watch +populate_streams +populate_lists_streams +populate_suggestions +generate_thumbnails +generate_preview_images +copy_media_to_s3 +set_cors_to_s3 +setup +admin_code +runweb" -o bashdefault -o default bw-dev From bada50cee9b48d23e8b89b0a43dd00336c743d60 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 4 Apr 2022 15:20:15 -0700 Subject: [PATCH 224/458] Updates locales --- locale/de_DE/LC_MESSAGES/django.mo | Bin 30883 -> 89719 bytes locale/en_US/LC_MESSAGES/django.po | 42 ++++++++++++++++----------- locale/es_ES/LC_MESSAGES/django.mo | Bin 82804 -> 83245 bytes locale/es_ES/LC_MESSAGES/django.po | 4 +-- locale/fi_FI/LC_MESSAGES/django.mo | Bin 92420 -> 92420 bytes locale/fi_FI/LC_MESSAGES/django.po | 2 +- locale/fr_FR/LC_MESSAGES/django.mo | Bin 44850 -> 96177 bytes locale/lt_LT/LC_MESSAGES/django.mo | Bin 83947 -> 84356 bytes locale/lt_LT/LC_MESSAGES/django.po | 4 +-- locale/no_NO/LC_MESSAGES/django.mo | Bin 78958 -> 79362 bytes locale/no_NO/LC_MESSAGES/django.po | 4 +-- locale/ro_RO/LC_MESSAGES/django.mo | Bin 67321 -> 67727 bytes locale/ro_RO/LC_MESSAGES/django.po | 4 +-- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 44096 -> 86751 bytes locale/zh_Hant/LC_MESSAGES/django.mo | Bin 38839 -> 36001 bytes 15 files changed, 34 insertions(+), 26 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 4ce83f72b3f3850c58528f13afcd23442a75a515..eff8ec81b09cd922d66b7c11dbd91813495c4634 100644 GIT binary patch literal 89719 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 diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 620b37319..4d1f6f360 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-03-31 14:32+0000\n" +"POT-Creation-Date: 2022-04-04 22:19+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -166,14 +166,14 @@ msgstr "" #: bookwyrm/models/federated_server.py:11 #: bookwyrm/templates/settings/federation/edit_instance.html:55 -#: bookwyrm/templates/settings/federation/instance_list.html:19 +#: bookwyrm/templates/settings/federation/instance_list.html:22 msgid "Federated" msgstr "" #: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71 #: bookwyrm/templates/settings/federation/edit_instance.html:56 #: bookwyrm/templates/settings/federation/instance.html:10 -#: bookwyrm/templates/settings/federation/instance_list.html:23 +#: bookwyrm/templates/settings/federation/instance_list.html:26 #: bookwyrm/templates/settings/link_domains/link_domains.html:27 msgid "Blocked" msgstr "" @@ -301,38 +301,42 @@ msgid "Italiano (Italian)" msgstr "" #: bookwyrm/settings.py:287 -msgid "Français (French)" +msgid "Suomi (Finnish)" msgstr "" #: bookwyrm/settings.py:288 -msgid "Lietuvių (Lithuanian)" +msgid "Français (French)" msgstr "" #: bookwyrm/settings.py:289 -msgid "Norsk (Norwegian)" +msgid "Lietuvių (Lithuanian)" msgstr "" #: bookwyrm/settings.py:290 -msgid "Português do Brasil (Brazilian Portuguese)" +msgid "Norsk (Norwegian)" msgstr "" #: bookwyrm/settings.py:291 -msgid "Português Europeu (European Portuguese)" +msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" #: bookwyrm/settings.py:292 -msgid "Română (Romanian)" +msgid "Português Europeu (European Portuguese)" msgstr "" #: bookwyrm/settings.py:293 -msgid "Svenska (Swedish)" +msgid "Română (Romanian)" msgstr "" #: bookwyrm/settings.py:294 -msgid "简体中文 (Simplified Chinese)" +msgid "Svenska (Swedish)" msgstr "" #: bookwyrm/settings.py:295 +msgid "简体中文 (Simplified Chinese)" +msgstr "" + +#: bookwyrm/settings.py:296 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -1196,7 +1200,6 @@ msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:36 #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 -#: bookwyrm/templates/settings/federation/instance_list.html:46 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 @@ -3146,7 +3149,7 @@ msgstr "" #: bookwyrm/templates/search/layout.html:23 #: bookwyrm/templates/search/layout.html:46 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 -#: bookwyrm/templates/settings/federation/instance_list.html:44 +#: bookwyrm/templates/settings/federation/instance_list.html:51 #: bookwyrm/templates/settings/layout.html:36 #: bookwyrm/templates/settings/users/user.html:13 #: bookwyrm/templates/settings/users/user_admin.html:5 @@ -3213,7 +3216,7 @@ msgid "Create Announcement" msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:21 -#: bookwyrm/templates/settings/federation/instance_list.html:36 +#: bookwyrm/templates/settings/federation/instance_list.html:39 msgid "Date added" msgstr "" @@ -3608,16 +3611,21 @@ msgstr "" msgid "Failed:" msgstr "" -#: bookwyrm/templates/settings/federation/instance_list.html:32 +#: bookwyrm/templates/settings/federation/instance_list.html:35 #: bookwyrm/templates/settings/users/server_filter.html:5 msgid "Instance name" msgstr "" -#: bookwyrm/templates/settings/federation/instance_list.html:40 +#: bookwyrm/templates/settings/federation/instance_list.html:43 +msgid "Last updated" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_list.html:47 +#: bookwyrm/templates/settings/federation/software_filter.html:5 msgid "Software" msgstr "" -#: bookwyrm/templates/settings/federation/instance_list.html:63 +#: bookwyrm/templates/settings/federation/instance_list.html:69 msgid "No instances found" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 18e61efbfbb2059705c2e132b8af94b2b278f1b5..8260851e8035db6de4e2ba6986d1996af0f08f0d 100644 GIT binary patch delta 21440 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 delta 21057 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 K=jPR?n<@digxl2s diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 9c3bd0b1b..0051eb95f 100644 --- a/locale/es_ES/LC_MESSAGES/django.po +++ b/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-26 20:16+0000\n" -"PO-Revision-Date: 2022-03-26 22:30\n" +"PO-Revision-Date: 2022-03-31 15:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -397,7 +397,7 @@ msgstr "Conoce a tus administradores" #: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." -msgstr "" +msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en funcionamiento, hacen cumplir el código de conducta y responden cuando los usuarios informan de spam y mal comportamiento." #: bookwyrm/templates/about/about.html:115 msgid "Moderator" diff --git a/locale/fi_FI/LC_MESSAGES/django.mo b/locale/fi_FI/LC_MESSAGES/django.mo index c2e368b1b5321f96e563de5c506da1f61c74fabb..fbde7d10bf1beb48a684ba093a3b8c77bb2a1dfa 100644 GIT binary patch delta 22 ecmZp<#M*L+b;H{m?1l=4rdB2fo4?!;m;eBARSBm6 delta 22 ecmZp<#M*L+b;H{m>;?*kmR81wo4?!;m;eBAYze9W diff --git a/locale/fi_FI/LC_MESSAGES/django.po b/locale/fi_FI/LC_MESSAGES/django.po index a7487574e..6504dc608 100644 --- a/locale/fi_FI/LC_MESSAGES/django.po +++ b/locale/fi_FI/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-26 20:16+0000\n" -"PO-Revision-Date: 2022-03-30 19:31\n" +"PO-Revision-Date: 2022-03-31 15:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Finnish\n" "Language: fi\n" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 4cdcbf8ea2a3ffdeed740317a055f435e5954b7c..6a95660335ffa408c9dece2000ef77ace9af012f 100644 GIT binary patch literal 96177 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

i4gEvSYsE^CUz);G_z;GX= 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 J2!euz0RZyBG1>qC diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index 00a4201746761e914932a2b26c9ae1466dba1caa..fbd6af4e79a044e1521338d3854604ca663f2fc6 100644 GIT binary patch delta 21417 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 delta 21014 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\n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -397,7 +397,7 @@ msgstr "Šio serverio administratoriai" #: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." -msgstr "" +msgstr "Svetainės %(site_name)s moderatoriai ir administratoriai nuolat atnaujina puslapį, laikosi elgsenos susitarimo ir atsako, kai naudotojai praneša apie brukalą ir blogą elgesį." #: bookwyrm/templates/about/about.html:115 msgid "Moderator" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 46ee1b457c1d4c596b815f3cd4c95039366cc07e..3454c0de3b9c30726d69ca91a51e1519b124f535 100644 GIT binary patch delta 21386 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 YWMpMzx%uY)7|zKPBULx6p1PY20Ah9fw*UYD diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 01ab3d422..f2094c48f 100644 --- a/locale/no_NO/LC_MESSAGES/django.po +++ b/locale/no_NO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-26 20:16+0000\n" -"PO-Revision-Date: 2022-03-26 22:29\n" +"PO-Revision-Date: 2022-03-31 15:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -397,7 +397,7 @@ msgstr "Møt administratorene" #: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." -msgstr "" +msgstr "%(site_name)s sine moderatorer og administratorer holder nettsida oppe og tilgjengelig, håndhever adferdskoden, og svarer på brukernes rapporterer om spam og dårlig atferd." #: bookwyrm/templates/about/about.html:115 msgid "Moderator" diff --git a/locale/ro_RO/LC_MESSAGES/django.mo b/locale/ro_RO/LC_MESSAGES/django.mo index 91764f8c8cc2a4adc55668017b2bfa69756c34ee..64649bd65f58ed5ceead9a0841c9defcc043b742 100644 GIT binary patch delta 17216 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 OJZttdw#~kaol*h68dkFa diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po index 15d73ed75..73a0d4001 100644 --- a/locale/ro_RO/LC_MESSAGES/django.po +++ b/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-26 20:16+0000\n" -"PO-Revision-Date: 2022-03-26 22:30\n" +"PO-Revision-Date: 2022-03-31 15:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Romanian\n" "Language: ro\n" @@ -397,7 +397,7 @@ msgstr "Întâlniți-vă adminii" #: bookwyrm/templates/about/about.html:101 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." -msgstr "" +msgstr "Moderatorii și administratorii %(site_name)s mențin site-ul în picioare, impun codul de conduită și răspund când utilizatorii raportează spam și comportament neadecvat." #: bookwyrm/templates/about/about.html:115 msgid "Moderator" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 1d1227f8092b70c68bb692fb532759090142aa83..f4f8aca7fcac356b1fde757def01ab3d5bdc4052 100644 GIT binary patch literal 86751 zcmca7#4?qEfq}u5g@Hkafq}tAiGg7=D+5E03rLiK!6KT0L5hKa!7`eGL4|>VAtaiC zL5qQbp)#6*L6m`kVM#OtgDe9B!>(us25$xih8xig3{DIT3@R}U3^oi54Cyfp40<4S zF$@f03=9mHV;C6X85kI}Vi_0?F)%Q6#WFCwVqjqKjbmVtW?*2jh-Y9h0@)J}v8O$r zfkBLcfnifT1A`I+1H;L91_omW28K8B3=9qo3=9eh3=9Db3=D}03=9S!bqNd%@(c_N zj}sUe_!$@&m=hTo#2FYEgcBJU6c`v7v=bQ^d>9xQe4yepK{O)+!^T7g1`&|?Nem1- z7#JAtB|-E}Plot!eKG?>2m=Gd*<=O=H3kL-r4)#`X9`4LdJ4pSH7N`XiVO@4^HUfY z&zBC2~Wd;TY<#Yyyd^p$)D24MyUhFkdz3~USx4Da$87&sUh z7{2B+Fz_-kF#OABU|?rpVBjf$$cq#}_|j0mask9YS_KgGHc)x50*E<51q=+#3=9m> z1(5iNFJNF0VqjosEr8fNqW}_bYYG?`ctGI;)pw+Tfq@g`p8`lcUoU{f<8!F|H>m#q zP<6tE5cRT!5cAXvA?`6MgqZ74$iN@~$}dnl4yr!C5Mpj+Ap?Ut0|P@xA;jGq3KS z%qoWDpR>h~@P1qjNgv;e85kBZFfizpK+@Ow5(Wk{1_p)?C6M&1UJ5a{r4*7sCze9O zaak$EUt3Bc?%iDqao?#@28L`N{Br^ zl@Nc2R5CCWFfcG=RYJ;>+m#Ua{Hlb+3r7{iJjp7EKAkEC1{P4cPz5p1vI-K;K~V9e zDu}z%t03`MTm=cIN~r#}Dv0@gRgiQsrwZcEbx{3#t049ss)D%tGSvQiRSXPPpmL%L zlFoFhA^O^?85kxoFfdH5hS;Z80}b&&cr zv<~8q0w~>F$H34JDxaa|sMSN80EvIc21q>kHbC4P(*Q9y4=P^`<+nriPl3`a8X)n!rvXww zd~bl{8?{D=y^|Ut;kc<0;@+K&5PJ_cLhLyYm4Da>3AY!Gko5Yg5fb0u8zJssYJ%|j zn;`n7pnQ!ci2IG3Anvzsg6Q{ag5>jHsC))gUr7_BzHDlOq?>tAeOsC!?mP_TpK5~G zdlRbv8PvQ_O^|qCZ-&T=H$&W`(hLc2qh?4x^J<2~XL2*dpJmMudpnvL7*av)pJs@E zxLP3Qh_*n&N2vu8zgjJj^l01yi8q%Ph`nAdkn|kY0tv6lP;c)W1(~gR9$f! z#GMUL@d<4Z`)0R6+_k(75?+VeAmR8Ms-CeOl3oPcA^ulrhxpsD9pX>>c1ZiztsN4d z$?cH#NKHE=ekMcdIqeYtENzE`$NF|ixNmQV#Q)89NIHB2{9D%r37^SbknmsJ1##D&E=YJ? z=z^rL8&Gwxx**~3s|(^DmTm}NxEm7QvfU7I&2EUhEV?1)`*lOii|dBOS6VkD+$y^v z{;BJR*wfw(v43Va#2;(BA^zOa4e{T}ZixG@L+$y~4Qcms_dw(wdLZ%U*8{O9qzB@z z^d1Iq|E9PH628lNApT$519AVM9!S6943z(>2hyJV0@W|m3vsVTFT@_*UWobDy%2N! zdLi~CL)GQ?Li|+%rE7a3?rMY5J-rMJ9t;c&lX@ZUx!nti??+JnFDT8}2k}2gA0(Yf z_Cf4d>x1MIlRikedG|r=kL`n$Bbj}WaBqe3r}jbIv#}2n54-vp7>+S8FdTyF>+FZf zPwj{3o7WGCzjghP_&CxJvFAoV#NJo^5O*+6fW$Zd1cnA|McmD*4yRS@u^tbLzfW!~OL`XbnOoX`KdLksA zTqZ*7@r2Uh6Cv(Qg{mu=2r<8QBE%iN6Cvqs`b0=LE}97O&pN2O0}~@$Vz0(@i2rS;L&C*>IwW5vOoy~1Cr^j? z`}A~3JLkr9h`H=DAo}=cK4!5R=DeE;@&AvR z5cB`dgoHomEJ(b_&VuOIo&||_k6Dm(td(Vc%YsPFyxzarwV(wxny=^wc-jlN-`RVm+i2eL?AnkX> zIS~H@&Vh(WL+RW(ka(@11F4s~=Ro=gYoPS?Igof^nhSBS++2u$+qn?){O3Z#HF7Q_ zUi0Qc!mDg9Bwf|ag@jY{TuAs%oD1>iyt$BZjpa~%Lh~TzNzH@EtIUJQ>&}Cun;G*U z<{qC13Fou(Aobg&d60bn8cP432T3p7^C9k$nGYG~Qkf4KABmU`F@NTKi2D}JhuFIk zN^geh+dCiP?xXV|>GSe@NVvb74~c)a1(0x%S^(keEP$BjumCbX<-P#ozQhF#3>pj! z3{?vl7_=D}7#1&p*mr&b#2+^oK*Hr7lzzPcl7D_IfP|~|LWn;c7DC+Z0p$lm>BxnU z^pv;|5)K6mA>%3yQ2Aw0dL2~%wuKOP?_UUU$3-Z8dm+UAPZvVc!<&VW^z~yQq<-dJ z1W5-5iy-#+EP~{Rm_-ov>5Cxd6+^{q7eV5yV-dvMzC{rCPhAA@_dKZh;zbbuty%=} z$EHP)a_t~g-QPu!@L^gE8JFZ=42c(q#Sn47#Snebiy`jHS`0C-3M$_OrTZ5{;$;q0 z|F*>tcO8N9Peb`Pq2@e*@;^ZN-xovTgMA6azcNc8d<`hyb_v8Co=YI^idX{if9ev5 zJ=sej@mjP5QjRTM0vU(9y#!J&ur7s|C$kii{|%Qy?D1a;@ptr6i1|HBA^x1b6ynd- zOCjO9c_}2F?pX>k_xe&u{lvHo5-;M*Am%GBgN*x`ErX=b*kurV%9cUQZ-UYjmqE&t z14AsxN5)wW_D}&BPsvJ%JmZH8e)I_YDj)=Uk$Nm z)@n#Nt%lNDS3|;O|7u9Sey|!64zE{3!sYvFNIAf>2I4=%H4t;d*FeG}ehtJuxoaTq zu2};K@76UCd#0~}md1~0;+!gI*5OkL)C3q2XW7Vb&zy%5h{Og9mKuQq2_*s@_#_hVOkF{hig3~UkR^= z*k`&Pk`H~?L-K3ddWgSj)10-GwHbB(XZ-9hj&jv`i&D#KR*VYXXd-iRB#KX%Ckn)OWBg7v2jSLKy3=9nZ z8yOfbGB7Z7Liy2~Amz=}O^|lX{!I{ny@iUiZib{Q{ml?}1Z;-HPyA*`_-8@s!p#f} zUJMKj6;S%{W=Oryw*^uj+HPTBhycwSY=M}+WeWqtCQ$o#3nYEkZ-u1qDO(}#T)q`D zAMMZW~0u;dY3-+_ppVP2hHj`@*+F;vo(yp0*tl z|2f+s>8o}-149`j14HL_NH{UmUI~f>4LGApVko=wv70=%Z3GWgpT??h#c0%H{ ze<#GgnNWJ+PKdcHcS72AJ9k3-e|IOu-CuV?$|0^@5Od{rLE=>%%D3AEG1nc+58MSw z7g11k8M`3n*YASFe?L^+u3Zp!9EPety^De2C<6n-&0Uain!lTYA)0}KVbyL(x?wmw7rn{nGfY}*b7PTJNH7;-|4*&^KU`Q29nU_9 zyOj1p+PUWYApQy42k~#pK8QK_`ylD85vqR5K1lel+y_Yyd!h76sQRn>Antm;50Z{Q z?1T81Z$BiQO!q^=*=aw-9HQjBiig&%iJZG*5W|;?7+M zAmMQ003<#y9e|kg2rB>L0Ayb0+X2WtukJxe_|+X`U}#`qU|4n#629t(AnlWRhal9!kaD8^ zI3(OJ9f!0po*jpTr|=0#I4Ycg#D_MNZ+-%jf1FM*FcdK`Fr=M;q~DuRdDD}SaCA5c z@vq-WNO`g7BqZI4oPwCAd+NPXUV4&we*=OFEe z?dKr&J~#&nXZ`aG49=kb%Xx@9_CfhP7a;K*Z~|b>m z5`LSZ;=3jtB`b>dlizdXJ3WHq2jhTApUZ@ z0m%oEHz4Iv^$iAwAB+qP^KL-u|LM0N<=CcMkoLjhTM&2LxdkalzTJZ4Uy<7ob8K!y z;xq0xBz-mChLkh&Z$t9OvD*v`=?n}EpKmiTl!NNgI}r0O-+`F-_6{UJao>fMgYtJF z>C@ycBtGKrLhPGy7c!o3;4Z}fAMQfjr+N<(KX&&Z_WRs}4!M14uqO`2Z5G&mKVXzt2NR{w;b4so$nS`D-6S!tdfkh`nDP zLh`4;BM7bb2ol~lk09y6{}IHW)sGpvbdfTn&JraXp(htv}WhGGT=1}7-J4N7Z0g{13wPZ=0uLE-)s68?eDApD)rAbj!X z5Pto0NI2bn4oPRcFCcW@3rPFw{0oSGe!hT&3;#=qczMlUQV&2u45ck`@VqkCu zmCvsj7%CVT7#2bK(ytj9>_O{%UPHor;cLh^-LBV=^z!L7r2QoM1`_|lZy^4xdjrXD z%icip#hN#e_}mQTpLheQf6l*wq=TDK@#j$b9hCkGrT@Hvlsn9CA?1|7TS&fAcndLK z14`?^h2$f%w~%67GmE_D1SMW-U6i$zJ=tYb5Q<$s5x(-{Qppz=N-g6 z$#)QY)S!IJcaU&*gNnyM#q**3ns<xYW(htg->LCU+EP`>JWh(C?qL&DwZJtVxM z-$VMDsqZ26*39=1|15bA35QKkbvxff{Big_#C=zw^3UHx!tLFANdEr@6_@@1@sARe z*8c#}X9MN?e}LrQm=BQhc;W|0``{2%-A|}Go{tdsNq%HtSPNP&^AVB{e}9COm-3$= z^@;B%hiH*#Irg6+_T+wsgww*$5c4*EhUnYz znSr4WG{5l~GOpnGg#pwwV7TxFqHe}lh`sZn^qQ{_@tt2G;dTHje(@_LeD8gQ#KRk? zI@WKH@ZtFeS@$LX4HEDD-yrT;3Z=JxgShADH%Pdj{|2$=`ZtJq_r5{g@f|A9@*QFy z&v%GAsqYYZ#qSVv^u9yPxA+dR-{U)^e2Rvu&xgvFLHTV^b-mvq<0A{cL+Y=)P<0kR zAoY;P4~Tuoen8AW`vc;iyHN4ZKOpY-^#kG$_MZ^<@c)FQL&=|zazy1P#9z)oA?C&W zgy>8D2`L{6enR4J_D@LqIr$S}AHy$*I)Pshf5}4m2EQQY*#3gp=K>Y?`vnQ7XsCE5 zR9*2ei2JIb{3a;f38g1M&7Tf6XBCv*4mIz{FGxLi3Ce%-3la{$elal2WME(r_ziK- zs^1XzZiMpp{f7ACC{+CFZ-_r0{f3mYUw=c)iTwkii~m5(>HGsRX9AR-3#C{6f#}~3 z<)4Dm*P-+iDE$$t?%y9sxC{P;l+Rj!A^qW`zmWNhiGLyW-tWH1+R? z_Wp;|yZ@o~g)lIJ*DFRdFoM@JCNnUC*AZqhFoM@PmO$k@pz;$K7{Tjor$hP2p!8WN zeFaM2W?%%bkA1|z$N*ZW$ixVt`57Vh$S^X3*Gnox#SIx5!Q&@(Q27d|cs(N{cpY#L zRD3&Bd>BCU*Yf$Am(bZLBiJxD((TLL)jqiN@9bAS0)=Hc$}t|jS;;5`6e49 zczyPNsCp50M)10BMRrL1Sh7RHDTp1SKMG3cu|wS7#13&s50swC4)M=2D1RrEe~caC z&YMv4Ua~{t>mxhFee4_%nvVmL4n#R1<`_c7T{s}>y*VKMOyq#rpU=U_09wCY$-xL& zpUVMp&jzUYUJi)8XQ1>Q4o2`g>o-tyr8pVE>);hRA@*BvGJ@B`+jBz9N#ca$$9yP% z7F6AGPKdedI3eM*j}zj)>ri!XIT^w0MSpQZ(#?M;&B4V8USBQ91qoMiE=KUWet9m4 z{YhL9^D?3QCMey>1qqJ{To89HhSD3L^j@g^DJcIg)SOpbknm#WhL|hJ4GA|bZisy* z+>GFL>(<;5bLT+CS3>z4xFPoL<%an00#y7Nl>Q8*8F(Q2d7-ovlvd|~*lz;mJMlom z%^%8-=YfPn4iCg#B|MP$tmA>WuNSIr3J=8og;4SBJdk+V#{-GampqVsBF+oZX9T4! zc_H>WKU03l!+|dW6r$OcC@j~of&C3X0AAXRRkpZ+{;}X=o@4SrQ zeG=?^ka8%34-(F0d=Pv3q4XR+h&xvDLCo99#|U2Mf1VGL-XHQo-2E4-o`oO67vzVS zBf-zeFqeUWL6sk3&tZN>@IH`-{EXm!otywfU5WrCybGapy#U0VUI9oxpCZ5r-mkGz z0Fv%cLG?WpfVktG0K^_HK?uD<5Tf5r2x7jk5X2u*LJ;vRA&5DJLXdK<11i1>N^cZ` zxMznDBz%uS^`8@hgu^{3{Y3~8k6gl#`olsPVqcjsr2cIdhNO>8!jSa1M;N02yfDQ6 zr@|2T|AER&h(P4EMIiO8qX@*k)glo0H;F*Zn*0>Z z?kkmsm{$wsw@5?m>5+zn>oh365=!rphS+x=YR-Kq{RV2zPiaVcWsre{iB+d7Rt|psw{6r`{Ll#n=&XHi;8 zKc^hT9AP<#J7uA?iX6lqZ76LF6}N`cPI3_Ud&)t=J4}udyiX+)D!%|Kzg!Mdu56Km z`127|{DT}MKK?@ayz&tHrQ{*zDnj{s@(}-+LiwIhIsi(CL+Lnqh--POa2BqK1L-N%ZD6OXeNf#LkkocOS0CC?21xWrqq5uhx z#|n(#eLvq6AnsCAg!s!$5#mp0MM(I1DKdih&jl$mg4ZSGK-EoEgt&K+BBVZBqX;qo zD3t$15n|6@sCoe~)9o)1Y**3MBtEK>5>DAnsWVbK+;%;d* zNW5vNLE2M}Y7qSaY7q0np>(<$BY59sxf&yQo@E|X-E}pHIrpIIUaLXu`3)84Q-{b) zt3%wa0p$lk=~#7$`Yd%wdZ<;0^fwl%L)>u!s_wix#65SQ;%}h*&*~8WGiyM?ms;T4HYD7xX+!++RvY4e1|3K~W!HhEM++T@z2Q0# z^V^~FQ*;=?^TkJXAo19!3&|%tbRqHiOc#<~`Sc*->Uxm!EmRNU-a2wrDDUk}ocdI8n1tq(CTQlAmLFQP~v;=WV*j0{s47#Lnc;PIh1aJ(i5TdJQGMf ztu}%9Zy%I@3rfF*(hQ~$^Mp+y`9T57w>E{?=K-aIpyDy65PxSv`Sqrd`0g=xH9O8}(=8*WmZVrhTeG5oEXKn$pC&2WTwK>Rz+0TLbu93bW2O$Uhn-wu%ef3_opp5_QqchC{y?pux! zcfN9jn8)V?8TX2Gf`t24CrG(<#tGv8zfhXX8NwHb(kjjncN#h~GGu`K;S9;2`=Rop zE)exfE|79a--Qu8FI?dQamQ1r{8tx9cr&>|+$HJ?(P!z($N)OO!OayC?sHuk!RrQ= zxI+A|gwJF@n!g=z-D?p|qJhBY59`w>w1rL3c=h z`h+`V+~+$~Ji-HFPP_*sd@`Z@1`kH?zV$8-M)0`^dpscSQ1^tm-`o?DzFa&Z@g3y} zDIZrr=@*`m@d*ttM)10kJSe@%3*w${Q2t*phBZiR41o*`3_rXf{_ygF zq@xBXeG^I>`9jiPw=X2W9rcBzms`G&{?H#^NOaf`8X)u1U2s-BLjmx69a=WBV?`6ai}~Fk%1wb8L~D+h=qY+ zCldoh6V$Hj%nS^3pz4{SW`MZbEDQ{(%nS@ZP`9%(GB8v!GBC)pFfe>&W?*1uVqg$v zWMKHq%)sEq#K7>DnStRcXm1-RUO)zb@)I)y!!}09*(y*W216zWh8K(s44arBYa5lB z8NhA9?F69YpmBLl-jsN5|^28KJJGiF#A z7d!#Uabjj*2!x7*&fgJZfvhhAsR5lo zWX{6C@Pe6vAp@%ZIg~!l#K3R}KGcYi0VParlXJTMj1U0t?WEcYj zLp~^-fWjCmehSnsg1S!;N((SDFl>R^0n*0H$iTqP$iScqDyxvhL2{sVFc+90>qm82 z7#LPV&7H=?z_6Z)fq{*Qf#DS+1H*Bs*&sbPp=?D)1_lFW28Kt>3=B(|7#Nl?K-S+) zWMW{Lz{tR0!py+%l7WH2o`r!yk%fUFjG2K!8)`lu)E)MWkhNWW&~%l^%)l_8iGkrK z69dCG1_p*FAPYe>R6U5hjFEvsmx+O)A5=awF);A5FfeelFfim5beXrz~IKnz_5}TvNuf( z>W<0G3=C~d44@%gkTNj#1*K0gi-EzNnSsHEg@Iu?sQv++3kEgYh#9h${0lP!gA^zo zL&asF@d-M&Nr{DlL63=n;VaZGsF4gYP`)Q41A{dvt%KI!L&IPKD6c`y5@%#!@MUCR zxW>T1um?0h4^?Bz!oaYQnSo(4)Eq5PK4)TJ_zOz6%nS^5Q1NtT28Jf6Su3HI+c7XO z+-G87@Q11a341azFt~#1H>mj_F&9S2T1pVR15_VF&A9+d6HE*Y0U&=dF)&!MFfdF2 ziGdV?%2&|7T&UTgHL4(C2`C@LUcd}lyZDrefkBCpfnf^NPSCnc&>BpT8W`>X)mMxR z40o9r7?PM67^XqZ(S+&&sq=uc?N}gZsX2n$P*AaTAonpbFf>BlzJ!s1VId;}LpdX4 zUk6A(3?J%3Xts#X#+nf~EtInl4Zs z#mK<$8&p;>F)$ouhU~)tt)X23Ro@57&!Dq`7#JALm>C$NnHd<|p=SPJW?%?qVqn3{^~!HRGW3-_|fPFx+5bV9;b_ zV3@?rz>v=`A}sH8<`jw(wG<+ z0+|^Ywlgy@s6fL=osogz3dl{23=B?;3=9`Q?Jq_Kh89rX2GzZwwa!co4Av|R45A=) zpl|}!mr(u8EDQ`yP;qHcTY;H@A&QBCA()YYp^J%ufsvVkL7s(y;WiTkgE^><2DQmR z^Rh69fzE1TWMEKYhOAp!0IJ_XZ8oU;-Jo#Q8Pc4N?!n^2`hjYe8*i5Ql+*!4OIQGb3a@{2e9+hG$T7-!nnZDgy6Q zfa=L)WMJ6A%)sEm%)lT6Do;RXwJ|X;C_=*lsthM3#l*mHgOPz@DkB3!E7bn?P+FLY zfnhNd1A{FK1A`VrB-0J5aqK=|)iBh?#-Gj+uesGpKB3U|^U6wJQ^34peO~0|P@OsNP^^ zV3-B!|1dEy)G{+LII%D=FtRW(Y=f#RXJTL|VPs(V#mK;54$A)w3=Ba`koD*dpmrPR zd^eEApz|F;W-u}^q%c9&4C0_s;VFfe>#WMD{TWMEJM zl_yX;iy0Xh;-Tu7gW4dVvl^jtUl2eaFnepb08Rm>3wmLHa;_TqXvFQbq=b`ydUV zGdw|kZ>U+Iv*kd--BA7sC@sjy!0?fQfgu*uHez4^Eh7dgW4Oe?!0?-afuWv}f#DW2 z14ASe14Ach90HV1k=%6@%KpvBz#z@Uz%ZAIfkB%YvIim&YKJwH{s)q0W?;C?$iU#j z%)lVP!oVQJ$N(PK31wtpNMK}OFl1q1FlAz3FawR3wofW}=wWhhk5bWlCZ%)p?<#K6!2>fbRlFnniZV31>GV7SK2z~I8fz_1Ur zUk)S=)dTV{=xo^k%nS?)pn3}=04h&GZ3<`_I{+Hv0G$`h3_0foq@)bg2V{Zl-(X^4 zV0Z-eCrD0#iGd*;l*gDD7(OsDFg%3H@iQ_ow1N8lP;)_QH-gTc1%(Z$f62_iFdftv zU}Rvp4%L&($iQ%u0kZBKq`ruWfuVqjfuR>vmV(j&3j@P$Xgq-ALFbf$_TDxyF)-MG z+K)^O4DO)4G%O4Z5>R_Vdw)S{-!L;Ulru9hcrr6Ea5F>px@-nXAYo%rKO1zmCMeH< z$`)n@hS|&v3<*#>r+~tZnSsF>8lIqYY~O&wA8H2Z9NkVP28Q{d_7V#NLo+i2cx)Ra ztpe)fK+So^#K7>1nSo(9)ZcrU85rJ!6oJlBWn^G@%FMt}3>sSi)&EdEAn7@vv;(z! z4M+ggMrUMTaA#s*@M30QkOP?qG8@#+VP;^^WoBR~gz9ex$wBp$fXX8V28M-93=GXo zkagEnL47ku1_ouQx^qx{AT2vUX${n#0&y4^7?y&{c~DydswN!jCVfy{2ug!23=DNp zF{l=>CI3L>K2#usiGg7Qs4oTDGXynfGcyCjB4!4L7AW5dN<+0U7=ZegP%#N8eF-#9 z06JfhiGiV&nSmjKk%6I`nStRxDBm$KFl2(-Cm{c#yN7{+;QB!xE^RD>DNF zFB1bp8v_FaD+>d|EJg-~r3?(<^LcBa;SvV5cRr|p$IQUM0V@AMV;!I~fuZJr_Njv0 z3_7nFM7J|BFx&$9mzja#76SvrTF}@SRP9zq28J9c8?^8CGe`pze_?{GO~1j+0G|7R z3N!o!r%)-EMf{B4)B4~UK8jeuq4AU7H7~DX09}@$^K~P_jg@M5js%8c# zFN4HD`?DDs7&KTI7$!r_Z)Rj*SOX0=(0R@w%nS@}ps^Sh28MYcHCzf%5S*Ntr{I)W zl$@WE3KnEg)kw}S%`4F?R!B|BEXmBz!xSlo38fZk7AvIX=j7y#R^5K zWtpkvI8_ycmEl&EnOBxslB!UYT3DJ|T!O_IR0SX}pgSkOAT>{+D77HJ2%CN+S!|k1 zi@||~ZYD?=LpeBvGfPr)719zjb5c_jO7aylb3yj%p*tL|w3r07;Gim2$W6>EP0Ue9 zEGQ_-FH6k9XErDb@Tt#B%uUrSR>(XA;yAYYS>VmTB4Aske;8IqmZAbPy|h& zsu~~>&0>Y5{QPW%%sd5E4M-B!f%r)wF)u|SF*zeMwJbG70irs-Ahjqt6_lw|RY7Kz zWF(e=4MvJXsJDo)w3rIErsWsqCYERx>nNyd6eOmn7HbwOfN2I*4TxMxY6?8}fxL=S z0u(nHi8*QUkhs+>Rwyn>1eFGuf*_?iiFxUzP#a-v233um%;J)GNEqlSBr1To3Q3g; zsv7y_d7zX{gc5~(P-GNmmZU-rVo=q{EiEZc%mMihR!k{W=9fatEUfaySQW%Wb1PDL zN31$D10jA?$Ve>CQ!i0~L^mvLfl`)2T7D5cO@T5ZR6|i}dS-D6D2(&-KzSrNC%-r~ zg#k1AkkeXner`cdYDuah11u{dq6cJDUOJQyikae!#G=%ccu-`60t`fhg0wQfv`C>i zBQ>Wi6^E)~Y|0SPppcQDn+i@{45}JP(F5{DL1Iw}C`Z_&=Gr;s=Vymk7UkOLr{>y$ z5+_TxMQLYEfb`D996Yb5e_ob1D_eGfOfQz~!z&VqRr=Mru(i zC~uWyq$=1XDr6L;rr9cGl#~<{Tj}d(T6%@prB69&r2yyE`c~1RG1Z|78m5_r6`nVq~<|G z3sUtd6c;4sg6&C4Oi@Tm%}6ZE%r64@rX;f@Csni9N+FNQC+4EDfmHxWr;bZpsFqtduf+{6H@I}||aKQj*;Jy6%D=Gq~o(OO4P*TF;sit^KoQj0-ug32Hp#h{_8 zk(VD2D&6DrN^_Gyr75KHO367)dWcerGhdzDC?&vWP++;)M60S*3x9q2+K?@ zhc?JSnu;^>%Rw=$ssXBtN;HdgRW(xcQa}bGrG8LI!;?QK22?emNflfKfl?5toCe2A zZhmozLP};?W^ra2tf^8A$}XTp1TqLz2BH*idJH651#b9&axb*{0%!T+5{0DHoP1DQ z0%VI0q|8dpLvJ;Ka{;_a&o2d+s-`GzfMs+fUnbfqBvm52vnVwu5mfWT)E1={N8y=<_5>q9hpnwD?$jR~OVM;yw3QO}#QWesQ@^ir%NL7Qz_Cb;| zDAwuXz2cI@l2UL%h8$#|!ULXak&9GtBtfGfH3b|Auu2RXGO&1pa^Vq^Xh*ySX_>5kDaa`e9JADLe-S8s)5c_Qw=|VD&Mr=@EVd#(mcYdxjU%Z% zF|VW;)FA~`$0UVlYOWokiw|iJJZhL(3@&vQKvfthi-Al94Hba0nqR&`UVcd`LyCMq)Cw&bQHriYX-Lm*%8^R4XK>qVVs|4EIQb)21)GjCng#;`B!2%2pps)f31-Q8Y z@?Kg_VtRUN3cQ^M>YgD~ff_=fo(r^*nwg)cr@-K-fU9sw$xKU21=Ss}Q6_NVm7fM_ zBZD$KsCk^92MSD-8VA%7Nkc0BAbe2pf&7qY2kxn)=`lDeBcjc?!j;c_pBP3u-Q><|bz5C?uw&fLc%>>p)FH@Hh*k$CX+H5-d`HCN+@BIhlFc zAniq|pza&Ee^iiITwI=Cl%i0cnUe!bc`z%$vM6>iI4b01mXzeADkNo=C?qC<>gvk; zQU*tbywq~!0E3lwkj6GRfIx#U@Qwf|j2Rpi;8sJN19luJvA|qV4Ys|O!BL^4C^4@% z6Xf^QqN4mFP`)V1%uNM3AUUzL7&N++k*bhdQIcAemzblFl30?cP@G>1?l#mdn971Z{j3-q zK>-3GLA?h=H{lgB?W{Plt9G~Qi~}y*G>r(_h6GiqZD9Oj(Pbd z8L34Ij-@3T`9&x~!KF!AsmUb}F(hd)6J&Er3b>mARsiX5IHsg1xTF>*7iEH*#b6oF z09YCYbAw8AQo)QwsLim!T995)_9+I-f{QLN3sT~NnQ5SIF({dUd9ZFQm;(|8`3|H6 zEC5Q9xv8K|L$M-608|WvS)e!urIA#KRR}J41Or>RLA1eKUW^nlpo|EzQvsZQN{c~l zcd%G~Q7*XsTMlwnZen(-0w~YG5+SU!o>)+jlbM_dig*QZKR+!o8I(d(Qb29@Tu4Zj za`5W#J(OD%Ze~4rU`K?CiMIhl#Ysh~8GlbH@J`amuO^*JF!^swBP zs*s$Rn_85p$KaTg1HuYEpsWUFfpipuS=o8{<z#ttgFIdgX={ViJ}lk9OT3iS#N?99GEnmh>?}|@T7*|eQK~Mgmi%%B^s#qG z(By&wq$mb;Z}RgP9CN@06ez>yRO*0AX9dszPf1awLTX-OQVuBbJHatDG1Y}VW zk{L;r3ee#dXl<;gpH!}!l3E5)6A!9#VC@TV7X=jJpyoMfOeH5XFBQ~62UicpsYPX} zMS2X5c?zi&$*DyJC6I7dM{Po@gB0Y0i-g1+P-_J=oRe6Bhyci(Nh+ukD#-w)d~i1( zY;I{mN@7VWs7{5K;EEv6sTZZfeNm>WkqnuX(S(dJfgB9#4i=Xv6s6{*CKiJYP}P7N zp$RJ7^YZdb^O93@Q}ap~9FaJn3b+Jau$aLyuNX90uRe~_6 zib_k%OosR$oX!vhAH<`em`GGGF)&epj7t@#LSnF_s1g+MCHbJ5I<*+&gGvS1@FK`3 zNQDF_NGkL5K)DE%DpJ7V1a8WLt%MZod2kiQrRnLZppJNces-~r0<_=)l}O;|gUy;S zI2IJ-R4Sxpg3@O(h*y*ks(QeaDxmrb%m6tuQ2}ZssA&RjF%+a0LHoGVMLB>dnOQ8%zv84JrX(MIW@Ws9p>TZBV^yuMh&N zTS565)Z9wU%gYCiTqu<0rR3+O>M4ZeD-;yvC#R;S=qMCG(o!mDL>7{(;BAfQ^sfl@zA$xGdfJep>laoOyss!W*a0v%4<)LOGns7ysA`fCoA}D8p zM^1|~lX5^^ks@e{1O0W>HB7xT#~s-~{UAK}ZE?n+hzHngS6_O;HFf21Nl>6x2%s_fer* zLAe<;>TJaTs${?fO3Z;o6+%G6=MXt?3r?W`GV%l#0#!_iu1qPoU{6sf&IF}-aPbA1 zABKc=qC!$>x5%GVhU(pt}L~P z0WOr9mjjw4V{it|TSCYb2Iu^gR8XEaUmzEC~aRqht;XH6B6wZUyKp>;R;|8E8D1x-vK{YbCH4n7{ z($N6LB3N|^cvca#qy*f+1Q`hy0>?F22$ZN{X;>Xg8iu7?U2tul15d~LkSw5X2b$$j zNCeIM7MG@iQZ;BQ1k`2))iTAYsi34*nwMHp0GSent`z~T8!6TUy9d+`bI#8LwZ|07 z6N^BTf?)B?ywX$#=lp`q)D%S!4Q_ov{aR3|0P6XHVloA+s1n>PDFGF+p!f&Pm6qg# z#UR6LFmLFC2Cg%c^^=Q>^}(tU<80tb+x((Rw6-s-y_X7}9tBm}piByKI&3fxS_MP8 zJq*t9LB2Fl2251QO)N>y09R-rM=&^phU^%e!7Y3R%oDr@2*v|-o?z@m1^1%- z(gHX)Pr(r~$OscjN0tUR6`}Tk8fIxQRglO>)d?0WD9Q)*bfM}}z-_bSQcxo}1ymft zl8F*%3Jf;i2`X4Y*%8|5gxE)+a*&y@5hjdT1W*j*CgvrA$NMTl6$NB6TvY??dxSnP z7u{)~)R?FM8ahY>H%&m(zz{VI&S0NHsT2?m9s~ppXB5MDIh6{~nN0>4P}x|-;F4IJ zk(8fUl)~VWSds`PzzNU_!i0=bfjOxPjwvarV0EdWrfF(H37m%{0b)YcL#uwUs>)&p z7g#SA-1bRLEY8of0tvz!04}MZl{`g>Ihj=;J*jDlr8y;tQ3nOsnih~Qh+F|^>ad_F zvn(;W5+MrC7$7dFmCfJ+X>7xi8k7qTU6>p=sX-<3@?zXR9b?@_7Tf|6yYjBeH<$gFE_KeSOGeK1LA{L zN5W`uR|l*LBnnzn1YUH<-~yhog|s6;#Ud!K6Cp({Y}gPq^pKgHs*sbJovPrTpPvHC zdBye&F8Rr&pc)rk)iJo_rxq*t<(Gh(L77FV5Pm9XR-^>nf(NyB6pAv_GfF@@K`S*G zTp$ZJ!E+)|junGTKB&zEnw*DqfKyYzkzUN;nvz)pCKQxVM?I7vq9}zpNHJ`z6^U&H zQ3`58Ls;O&q+kV*G9AnW7xrLQ0JJCubAmHcbJ8H%!08;q1PzEn90wk7fihubI9Ma7 z(+vvQRH!5*+kvG(FJ6iWQVwP?QRuYe`Op3KWA@Qxrj^K~xfW=s&Xz5i~EY$>3TB zn&1G9fLMXpMU{{wnwnFb%HUd2kXZzZClFm}#o!8?>VQPE8)S(sxY@)2<$y+w^AkaB zAW&--B51|nmIyM=EwL;!8B{;GrGi&xrKT{zSqh%8tmt72Df<^#Ai=1;4D>8FSa}|m+t5U5L3=MppAo3-Z1*ukGCWr-Mlz_UMZjezY z1yF+!JkkX=KQBcgttc}!F9l?HUWx*ESQKeIL?N+6A+tCyQ!l?Loxv>=6oOC+GaEvr zVG|;tI6+z2p#;+i$`7D8P6a9HKt%+oAFZR{n^;_upOT-a z18SoOa9AhoDiH$N|@5~>g!{@`E(4`ng9<>!~A7AZh`01R&VMd|s_0c}{v z#~vh_n^*!HGy>TH8sV~Ha4Sm8JG?wGvsgjHttd4wIYX1dttd5>!3~_Uaw-|z6LV72 z^A$AQ6LT_?GZXVP8Qh`cH41*Icz?(>5 zUU4aS&@HVLH2woy$C|lrGSTc7(75r@IYNUkf#(-s|kAs zk4#W=rzlm2!6P#TG?)mQ7D+7v4UDEJAWG8wJkTgBxPJjw2Q4N&@^e!eKm=m^!y~^O z?CO*hg+!3ixv31E0ieb+sPl(ZqaXyW7(9cW{J?~Qp#g-aU}y|sfJi@2D+bRrP@6^} zB{Kz7(?i?VAd4WA)8IBBEX9Gxa=}5EnVtt8&j5`egS+K=44z;iD3t=E0!`LRZ{a!PJ7i3W`fmb(N7>TmotdLe!?FKou1;c!HL!gI2simg1*Crf{GO z03j1`kfeavLIEmyAzKa7@{2%`2ijTz8bks07}HY`3PEGM#fs!wQB0y8uy#L#XC7!0 zpe&WaGcP%(GzHYn0BzR+`4z%1F38W!Ni9-H%t>Kf?|{ZqA##Y$3|P`H zzZ@(M-r)jjYiSlU_&_&ySixDvAZBri0yq{^8GI6pK_xV3-WJ?mhRT9gE`X~#D8HyQ z4=fFtU4V81A)Uz-h#5ttc~%TQsfk5-kOmFB;S3vELyT9eYJeBmz}wPb9_qRhP;*)j z**Gj}P^^QRq)aPpUl*f(z48>n-w&CK!e?hdEkoGCo?;h0YpGsN(`WuBbZQt^tg&4 z97s|vR>&;{&0D5IcXok-89H>Fky;6ED}p*>d7xGZs8|7S(kRwb2!Kq`f!AAr=LNy* zdq6|cFmpl8OiqOXG zD9G=5*^urp)-@v_4&2XT~DhWBjDisnDTQ6YlFM)+$B4{WHWO8wdf`3s;Y7qmd zf2oiREupL++=BdK@cIxi4-`ekCFm^yA5bp?v?Bww`7%YJG!ImFz+)MYWNI-3STDF4 z0cmKK7Uft$1VL-KAgrR);?kTFXh=dwofv6-U3`D8NH$Z3hLA?&Jso=H`bdUtTf)+HC1@ZwT?ZFB}$ncLIgD-fr89H|g;SfE*4N+bM zGNTkcU7QFF8YB^Ld4tq&#v=s^FVJ>a&{QQv8?1?)T2u^@tN=N>n87y{Wl<1F0K8BR z)D{CLcyJW}Zs0=a$iV`-;Ibh#1>DLk)?@GmP21<^fwY5{XF+GuQ;QgUp_z!m7qasU z)Z&3M^NV1D`JiqcbTSMs312*cq^h{IxF9vJ7-C3KDrzMN@=;N-0&MLExa@&ftB@8b zybi@&5ece76-qKdyHfHh6(A7|$~<}uzMytJQW*dqQvwTuMj@a}C%}OPne?@S=zy$p zDu!@C18ShXhran`so*Xg1EhWDmztWQkdc~GV9x+zf>soOq7Az2g#py{gmpEnz&wZ* z;8`L_?t&I%41TEg&%6r`qrR6v@x&{b;1a1qGv!^+eW zMX(UkDkxCRR+W z!XKm!R-Zvvav`N*?6OFH!_*309s$w`?v_DUJm3f$NH-MJDFt<7Av};)*a90QzeCyr z@R5CxDl{Q*kbn~gC?NFks(?5gtOmSG0MrLA1Fa?j=_<$vO?qY~<|x2A?T}3Ypqfev zGISG<9FmZAQXrj0;F%uic6)GKLlO|wA7J~SJzS_Pw1x$5I)IvwY&59fj~thXmC(@D z=U|tC%>^q3Z%+j`y&$2V2vr7Jy@;w5ON_vcfjSo)pr~oAs5o0e!!N(6JT)EMxCD*x zyMY|f0AeL7K=v~x7ngx2+rWawsi2Hfk_z&0323RRAIeOWzq60Cf**L3p%sIF9=JUT zVnBDE!cqcgF$iesd}#q<44|MWAG9?CT6%!|4<5&XHnSnC)ghDVMfo|Pt-hdE94J3P z1Pc=LQgiee{6W2%#7Z#j3ts095(!UD%?1nQfVv>XC8-6lnhTUtK|6a8fR-YG2uRy3xe_b_YCWZaCJsO{puQZ+ z%seP8;B_>lV1tYvfNE!k0PrMGQECc!2(T(YFV#u`BnTRsfzbJ-#S8&OnYoEYl_0t- z5oBu-c-C4WAU`J)gKGs-2AgpN7cr0qDtM(H$ZSyLgA6H2Wq?h$!M7{J7z&}_MQmWD z`QV+*Afxk3@{{v(tQZ0yZBYmXPInL?@RWk826XfRER7-rT1}y<0h?tg0C;}fX zfkO^tBGlUAjMO3!vnV+uu^7~VWe5bF8IuW`^a(7@F9AEJm;uC0g^*SZLBYWa;8+Su zEJA^LC&Yb`m2wK?y&4)pd z$`3MNSx9O^mH;$x_Gh|7>V0H(Yw+1wq3FktmARv5D%z|7CPQDO^f~p3rSpaK}L)BU-*noSnb{Hyb^dS-q z(4kb&kSBPS37j8cqNyn`7AS{6R*r!N+d!H?BeS3a6I>I+3VxIdo*^g|oKvBaV3T1X z3zmR}GN>H`tJJ`HN)%wd4k#Dg8%C)wjc81T#AfD+^K?f>To!$}TZP z5S$7MXXv^}C?^rJ8jK-0H75-*+7O%yTI>N?OO*>*OT_>dgKX;pu}c_&QwtJ7>m3zx zOLIyx3vyCH9SzV*Z*YGHWNl)x9z$?y5$Hr8$cZJO5Cn0-bXjVV0(gN4LvSj{G|0$#2kZ5olzChBZKC0rII`;02f^MTw9_*F~VdBe)5oP?AxU zUz(l)+8qmOI)f(ZK&}GW20l0rv_KFP4G^!vW^q7~3OXnRe0&{vVHU`hpg}P3+AL6u z4D3!-jnbkVO^9lc%n#ffF9DGb4& z1DqgxTtVY{U_QvZpd3y^rj^7GOa zpl!ht*s(}Ro3Egr0<8ds?!CflgrY)leo;{+d|)lHM2`V1q6pdD1Wl~qejxZ50)?FX zy!6x}P!`NgfvXJ%EyOO(0Z-zCS6G8bAwasoN=g)*DnZ7UfXhHID;2aE4Ypk=IKK$A z#RN313hm?tL*{&o6%sR26H^o!V0?Yh&JS<^Ko+GJTQLNefX)QNSOo|bh73M}f)G}3 zflrN4f@%Y`-I16u)1ZkAA_K}PAUnW)6z~c&ka$UHF_cmO5AuO#ogsBDVkQaFAx(j) zgG@?7r&Ox*ld|-XE1O!VGO!y;N{drr=BE}zTYXRka6U*SX!jFjjEDicbG#VNumZ7i zGfO}ecrhSI0K7_u0lq8-#!!GP4TKFDL0d7PNie7i$if=%^pyfAi@}UQ7Kau;kR>+| z3Fvqs+-8UpOF2M48af@wqy+KWKaSI@1X}3o#5;Wsn(!ML1i4s!{7~(G-u;z7+e&}awxk!_%p%D|=|(p91z zLooC_5Rfi}Jz$@JxS$br$O=}5;Ih=b;_O5Pjo|Xsl+5A`O@`p|OwgtT@D>TsP#^R- z)sVz=(B=j!hLDWJJn&8*=%yR!SRx|1fd(Km%Rq4!0y;1fl;}YtXRzZHzzfo#i#GK@ zrj;mwW^6%gg5ak^fscg(RR*9F{lGM6BO$nQglGYsyP}W|+9;vO5Rw5IUq`qAl03jZ z0PXgGuAacyYX;T{s`?>I6d*^qWEO+g6)7ZvcFyMJgBBBm#xF`hvrfe&`N`m8{XjJY ztVjf%>k3+rUJA|vAW`sWouQEe_`rr@Jq6I3rCd;h4dM~-)=ba<9w>L)D};mR6=8t{ zZghj})&(^+QXq3OsbH7cD}al)+ycmfs^F#Ypp*;UC=05ZAYlQr2HYJ_N>wNZog0!= z2|6bbv=#&0Q~|jWwlWRW`vWbV0);B%C^b-2L2Fta1<=|&(7+PdxZ+gMF$PE~A)WxY zDnQF2LC3Oz&xTCR1qB&+F$dU1nMIJ`gm?+kdMNkfoq-hFS~?{Y=pAW$>X9h*6T# zJYCR+Wd`tWX2`?>C?cW79(-v8sM-Q;`vNC3@CbA!_;AkrBG}F>Q01NtX^esF$x{HI zxdOEoJP`=aW_gfPDT*N$LI%%37G~ywI<@&Zps7dDGEC6)8fdL9D8!*vHnc=bP0>?; zF1srSZ;Jx2qe-Aq5vbe1E9G<`W7&`lTUt_*p9dMr1_d#smIF&cod-D} z7U~s{=aBaLK>bmy0NDTpT7Lu=0tXg2Q-d}Wg60JBK|_b2d{G3QS^~Gm3yL6Pe^47h zWiKd5N)o|aDnXH0l5Yj=4T4UN&C8AlH>P2IK%1l@I|WZr@dG*?0i0GV^Gnr1Gp^aG zATOoo+d~`$HX1ZA2k!nQDiq`w=#~~JK*!v{X#lJQoZUgoD#3?IfFll83WE<6f|Qe> zR1U7vKv@DDDVfkHD^UO)9GH}o3OWQd73NoPQxbGu5Okgm?%!gtHpCQOYHmSECB(&$ zDJaMi4REmpImrm6<^vxb2wss6Iv5n>Do9ZQH6Jveng$9`u(5g!pgpn0puS`Z17zbd zn6zRD$p`PlVh8~(Fockxvm!tzY~_`Jq)VV1yo(t^5d9}mVGKTUv?MVn8`=&9g-5ZD z0%-9DXvGe=rw`dB4?A89+$RM^4M@8}UTQ^&o`Pded17U;LSl+8XyY(QeMzQnaz6CP z2oN8%EFW_CYo%^JXf<*P=y(B88v?Yr8|1}|(%i&6-QwiLoK%HkXp3D(AtkjqGd&Nq z=^-Dq!ln|kS^|>xQj3c7^AdBw(FaOu;94dvH4(JW2;Rxl0dK2@#6>Z2%NKGtC(PKbg#2Qjmn#zD#@*>vnfVxVW#qb&dG_L`h*a1yX zm88Z)iad}SP;1`~JocKJn8FYm@PaGQ`ajT0Ine1ApaCavPXtn{fLcy^ zU|)bk7VIJD0m7h06MUQ_vlw=?0p!3+^lYLBTB2GE+Ipn`t?d*%LVSHd&h$-{F(!<5g;iAJVO9>EO;CURN#X= zQKSGWE(0mq9h-(-xbvG1ofQ3 z?g6qy|DbFJDgZ(4k9^Rc1@HkK3b~0XsgO-?$$AXo8Q?8YkYa}+JTp79AT=d3 z5y1jaHCZu)=NDxcLr7RaFo4b^1BE**??Vg$^@|V{Jv0zO^*C&}5T*@0hy_v&F0eom z2Oa4Kw=*(JK*yhhPpko*0tP!@Dg~4nA>-nZ{y?!F+#PxO5l>pve0tF2yMMBzndZ~G3&~6gApATvQg7pWeAJhj+Em8n&14~OSDoQOXOe3JB2rZhnyhau|d1 z3@9?dQx>4{D6kFSKp|uYs9b;>p90@mod!=Mf%7n^ z%7pkHVixrHRcJdH(#?Ss67ckl?dW8%m%%20`?R3uIOy1Uu)jblNC_$IzylaatBoLh zNR9{jPYF6b2ue;6BSGh8fzHN;7DxCUke3fT>j1XWJTJc-$%~*aEXZwO?}IiFf%1H2 zo)y>&DEa?vJnFxpqPh@Vjvo7c`2YZa-h@%JB|-p z(n1`EvS}4ED1aFD0y`Eo+6{?b6t#$nDyVu;uN_qb=vXPxcxiHCX?g}|LJ({WOtcuZ z_Bb-X6vT&gYrtn1gBsM}Mi%^19Jnt0s&Ix1q&fx-P9ghT9ds!|Y9h+n=dk<*S}T)? zxJ(En!_M$&^8^YFw`RoiJ(y{aLWtSmj|t82OSs+Q4UiB?)iW=O@U@) zp|j^mZiD$5-Yx~X57Jl5O{@f+p$uvYgO=-q4!bMKhc0&oxe+{M0kR!ZwHCq3HAq7U z%}TiWWSR{Qa){4B6Yi;bCD5>dG{ivr#ZnWCzyqgAsi46_@B|X*kVVjFV~GN^@&ol5 zGNIc%VWW27o=Q$)aYic4Bajo*ApU@<2BldX;zH6B={i8mY>`Zc>`g{88!CWEbqwJBPoN4LG=Rba>Jl@g zf(k$eP(_ZsqZqPkCpCou#sF`K2erJAECjh7$vO}h>J_qdk?tKx%L=km5|rdwAWO7B z&IDEBAO~47z!iZ``iFAB7YjgpPA~;UkU|flf&p~x0%ltboYl!GXF$e5+OeQ{zf{mL zIP8phaPor=S}Q?Mc|!_Sux-%gnc%dAZWJhbDK!H;S(;p_kds=Lnged#B1JRA1+eNB z=0cFQ(AWmK2vh>YiUY6)l)?}!g2z)z;P3`tTuF8iXTlCY09OqVw}6UgkjubRXkbT> z=q&J*8MKlB4XcB%7$LI2!+S9jafT6D-VtXQaitw`W+9bzppJfKK4?k@)V&5xo+A3D zpb8FjjCl$??xDpZsLsJx=8|S8k-XX8khcF3y<(M&QM|?Nj2&51zB3c z0KVe}l;abj^(btHmI2av2X!++VF7CND}Xkym4eQk$8vcuG3vo<1mJgKfQRr>Qy8E$ zX-yMyG?5WV@Wpe9DWGHI!F2&rvcM91$cx`7>|4N683SljIk+bYjs^VoL-RW6T1XF_ z>dacuqK9IJM-9tB{UA_p6uh#gxP;;Px`rovCqLP-_Sv*{1&!d$+=3j?$@(b@&Ka3` z;C+41cQ(FUJq4yBq$m-xx-T&Yp(LOvAGEbe*E2;o3_2wS?$?6W0B}L}xaj&8r)Q?< zI+dmu>xSf8DR2e&>wz?u)}$DLsAoStzd3cK==%< z!b+hkgUi>`*A?MtLp=j7=+SYyA)w<2!5g{s3vv=O^Q=K5qeaE3CAOgRwjPWh zs{rZ@>w|Yhr0S>U#fJv#`#8t@x&{Y3y1NGJr(`AOrRVDvsf(1eM-h;-fHH#IVcXm8mvk)c#zGdynj#W=vH$U6F;zdI%1BCT_ zZUaiW^<>vBkQT@_E%Bf|37W+UFK4vASik%E>~+r;v?JXp4x7XQ89RUe(+RyV=QO-n z*7$VY!euC^u^n9w?8lc2cRpRe=V|NGr%N`z*s}C-1BN{?Wf0ds>+F8owc=Ul&Zq5dsEQ#q zn8Nd^GoS3}ezL0#err791hi*!7rt2E^0cGv{hl7kab_Wo3eRV?Jl(nZ>D+dR)Uz4u z;X3i%H~)0b3i!3$3NO~}d%kzwlU;3)pod;StXZt^WaqNyvsxfg0k`z&&TUWE&3oRr z;mNMH7weZoWS`G!foem(9UgwmI^;Y!Q0ofRG<&&lD_jP2Ju56~pUqhVvTOV2G$QU@f3joMlf4U`?3@ox(6d?~3{V<}-_MRT6G}2$} zpYd$d!e?_jU##2rblogO#5|wX0*MkxAVX3NRMWG~E1tIXJl($OY3t^f)7K(hoem1# zr|Wv2bxeSyBWNR4vshJC;r*UQ!H~Kaq<=@l%jOl3B>ZCk%x5#! zKiSa$3ZosnUaa5!qM`Na?p@DUcY_jL_nPOcyB{|+zGz?dtYac5mra-m5?`|KY0s|b zdnZ2MJ?C*llfsLcd!M&#d)Bn#Y5)2syO)BZ5?&|6rtv`CRak)tp2dSrE8@NE9AXEk zvG`=i+9x~up6uTJWbf3cb2dDiwiDzKaH;TY`hw?s=04dq>1o%B_j`Jt>}`9of98`N ztDb|M`E17e=iO_b>}Ys4eZiAmJBJc?w#pGrx%mn%A{hl6BMxL_*Qo2FPzo+w>pU&C$vT5Cu-P@i{>UpxG z_eJM=h|Xuzw>@o~^|XE0)7kT$?wSJe2efnWe$On>ego_`qeD_QaxQ^2r8J8bo^Idt ze0M)2je`;^Jn9hhnW`F~W-nwcSF>0FQbs)4u@+L|fEr=Qav-lk+=gTevJ)V&2=O$^ zMd{E|09pxwB4FpT=d;(LszDZp-G=^TNAI&4>z~c(d^WWM&%qKgSy;$F($)NGHfBnmbPEC-`=WEu$d(a9m z7j6YE6jt_cT14vJX;HJ)6GmS>K8my%V6)&*m?EKBpU!?qEV|7eAe|;@OOS z&zI~1P4j`aHGvXI#|8!Hh36oJpe&AB+&tOQ1xn8AcOoZ#P=<$h{6N8sdhI1Bp(ucg zAV{4vs|8YjKH1gzV%@qI`nFR~p6p!!N~%b{D@X(#4+Rgfr=Y-0&9#G!Ss?mRskwHbD)q(smKW=GflMRGPUQF@ z!9qyxc)Dlm^C>Gxwv!@%LXta`?R?&~?O8)3x}l)*3LgCE2c9TE0vxS~L`jk8F-6KP z=!n(=Qi>p8Iw%=HiXh}9fZrF8D5RM$Kxr25XbvJBC)y#J+K`-2f-kmjda=Ic$?omQ z$(cZC5pVj7^;_QWnMJ(%r+XTnF7JlK1Wg?DtaTpKV?NR>knFbKjF4y-zzf;9cgU@T_Cni-uNE!3$Xv2CB6{ z$E{$j{Rh>-Q`SH0X?(G3^^@IupUq$TtaBgI)#1=J5uh;}=&Bx2^W^Eq{ufjBKH0kf zze^puSVny65XQKAp4S>D&g8DKFc5U#!~) zam&;7ZO<1pf)q{O_pEQ}(+zD;_RK;t7hFZYL^6Wm>4u3f*6n!Oy7|ejK8Pt#_Ah+a zxSj#j_?xx?EnHwVHKd6H4hcxGJ^{DvK@NgA;$?g9^S$d{?4Jj6$M#JSpFQ6_Qvr6@ z`LkI~&!%q!xpm6S7wgx9Qv9}7P=kE^o)_&~o-Ud8vU$a`sT-d4u6wp?0w~Y)uYW#e z1=s>``}*nH8Q=~bC|E!}c5u%HG_WzN1(Hy4Dus9--rE7Ga|GXO4haO%u+EcReW11) z(#_@|Z}d-Rc)EQPl=WiW{+H9&J>RwbX~$|ShNn9wJni4k@U&~ilf83b)Uz$SUu!32v`ukt( z-vH%+HmX1pAXMPR@|LF^GZ~&u+wgSJyr-?(o~~;KWtBAxq4Fq3J>Agwa_%Ci%v12F z7nJjCTKkjT+g^gxE>!60x_M9bbu&EKu?r#zaTzMF#;tbF*07U-znkg^V z!CVU|n4e8w`fSd8sHwQa7L*>rLv<+XVg3V0&XXOxUoM)#0LhR~c67g-y9ivwta!Fy z55#(iQ=d-geX@J$lYRT2&ROwv*A!6hUD5q?S3fxYEPk?M?NfM)hG>Ht4BloiF!J z0A;#ooej_CbTU9Fm}kLaAU}eV9+(3v9p^8FC1J48vuz!q5(?63g7qBRdoZs_hs6E! zSuGGtKqEbnUd6MuOCU)LE(fsyQDipGffhGJYIxb+3rhbJ;H6Y+gUUQpKsjF@O1BF(4f$| z&KHYYVZ%^QC-gnpGwW%`?5DeTL2D`4zzQUK9yc_BG=WEwUN+2nvA-SSBS>NYY)FM6743Hi-xYg7L?(R3d*t#9kSq2L>fKm@QH-k-_(+SBmpjex| z<=M0i@Aou5o6`U);yOD(75R=`;Bg!Hv9+4TkO8bGdl!JZ?w!35e}MuPMFVsruVyjG zny0O6K;z~R>S7&q(UkSP@;nr1hZP6ZEbwn-v6?BFC@i1o3ahmCw*?F>S z7f2;I3ZG7x2r>s;=!53AAY~Gy;Ko!98J&RSr^gMAkRs;Ax|N{T1$e-o0a7%9QpN5i zPiL-RfQ;jVDmqAFfeJj`z3augbx$Ysz2DRGV$ten{S#iSTL+4woy(v;*s$Zt&Q?g_ z@)W7Cf(*7k-MQ__jy_140Lhe)0v6;Z@aPL@P;@?UHAcd!Ou`0~+{i-V1X3 zq$Mw>fZ9%=d6a#VpSCUq*)gjH(r|eWZk0U++XU6Pd+GDt%b)LF3yu(wLA&6o9g=@v zH1B=7Wd6%mP?HBi*#^-F2?vNuP#Y99WYg0BbmHdca~t4! z6`E$|bb{K$;G!Q=M1j)B^2Vp@+aLut#M~!4rhtapw=90Ld-u~_Q=YEh3Gyy{oU>yZ zWE2#l1>}#Xz3oqT^)o!5x$kL5+q3mkK!y0TIh{`zZvZ8hjlB$zmI0J{wxIpR`nIS2 z+d)M;sBQ6L{jz7xt)SHZV&ZgAt9DMO0t4*aMo=#rqW$H%Kw{>vGy3{RJAdD`4>#qeVPl&7=jF@Of3IyS&3+(7LB$iy5(0@6wbPgU>kwqkhN zz6)eCxFur60O^E5DQG(gH1h%On?Z#^{s1>@89=Rgu*|bH3!hEh0CMHCj)_lpuX)zl z05R$LtQITKkSS<<7Ziu!xkgB=frLQ=vmoJ(y^sdj%SA0OmUl3K#wOP;dA4RDXfmR8 zDI|l#>K0I6@%irlXW*h1l!f=Nd%C3e$*#6%d-|VknaA*CZ!f5&Y?G)!g-gmosRq2A z05rJ*y5u_>#87}FdIbO3jP;-q*j*D|>|Ot4_qN9kO`x(JQZ&w4foKN7=1EAnhg{*s zmW9uI);;T(28p&ux-kg69jA38tuylLmt_TA7r1JW&k3QgJfbjfm1PYg5*2+9?Z`9MfV z{%Ly~sJns8v0`|+XwHkyO`v=M8CGO~P*zZy0Wx{T04d&~6eL<9g(6f4(mBM&fdsG> zR0J&z?^PSHQCbtbjdWxL_4VO zv2f?}+3P@6?E38x{UDXITHyMhbxeaNadj+795il$v}6MFn)0Xp6JKoI4rwSVfbT8` zb>cxW1#9Sl+dD7TE(0}zAoU)@(z?kN3UV?eu|axb&nC7!ZSH@% zWD6p{JOx)1&|C>A^%x)xWoT;-!hyBU!A)prKLjEJ38v@!mOS6x0@Dd@T0l9dGTk9%!M_>K!ecW4hX|D@XQy)xu6#MtQJT+0JPc? zqM8Bb1*lJEuY20r3vC%ZowMS_`rQmqdpEwExsu_@?o}@qu6RCs1_NYF2ueZHlogCO zcj>cT6JUcGkOrm|1Gv9E9m0e5dLbNCg^-d1w5kRo%kXr`N`|N4Uf|Qd`A=sr04aF3 zcK4HA3n2=u7@qd+ezIfj)BVj)d!{kG+&u#{nm4uQ<=jP(bsQiK5Yeao6Q50Me>rQy z^W}}8lBxwXVh0{Z0I7krH5nijY#<5T{)DG5P_q}FGC`b|4YQulUkcN+Zq~Eu+g_|& z__SjZR0y8_K#C#OLuEjNM!RMsx505rKpN06>Gew?&H+_P5VyknAt*wS$y-njFl_@= zFT_)zJ`uPj{&YhdBi|_Tpw$`Rssz;VY3l{GdcbQ#K-vD~%wAC2 z6*49TD&Utr-`&RWVm*ig1*l6Z_yTdzbnU+FFV?RGO|ZUfnEPbMG%JSZ%Nw8UU&!!e zM<2W#RYIPZ2jvGy;slk83Q*VIl*h}9|6_f{Ay~F@&5X|X> z^w*!ZZhNwO8nnz@*5nSm2^`euoxKkf;o#9yXrw)x*8XhaVuoiMc7VoCmu!4CwF6|@ zb8uG*)MDDu25LWp7r?x1-V3qs>C(MVcC~?H6EZFbX_i9TmkbaN$QR&=0nmi@Gw|d$ zw2Ah7&$Ji&CNe-MY~6mS6twV#sDl&PS z^7I$z>kt`8b!-Jv0Gc3Z?0>p+ zFT?XGTc56-0M*k!@yYIOPj-QZNT8}fkqOF;YnMQbg4E(qJ2pJuJMsDInGBG@sHd~{ zJ#FrPzGvn0sY{>E-UrqM9;JfxAt2IV(e0ZcIzXJ~yC*-JJ0DV3G9Yu{w~W8v)A6Ev zBQ%3P*$o?Vhh#qmP`7vUil^YVuu5Xy=HG7$kyDUf#B zOK>9%>Lf_B0wMt#G=Z?J7@kg8#sI&3{KfVapwN7>YtoCxDUfbI14InkDg~{dY-nVF zRA*2MY9~bO#kSTL``bZ1uQ?4*mn;XN4gJtN#~~`7Z`}QKUN_iN;9+zKAM6jvzz)bq zU>2x34IYMKc)ET!Xew_)4=AaCMpI!IjVnMV5+S3I(DpH8KAizVfs-t#r3RaQe%#QF zkb=xxAWMU1KM`smnF*@l8Mr?M4m|JzKbU04Tu{CNOIk62Mj+O0fJ8Nn1Mby;ItkA< zuYgjhcaJ~W-3On$d(k-MWz({!>)M~LoB4Fd1W+vlUdW50Ljg3JvaAW-4Sn3u2)lh8 zG$#wXa|m?%IH(c=wNH?Ye6phpl3-EHgSiUjE(WL|WM~-FR)$VBp`?3I#~j(opoRw6 zy-?kX3?YsRPj;_?So&mF8@T%q84^GhgYZD}K~HwKA~?|28N^Iv&hxnqpqb&93%9;# znFY-hPxsG&%&kH?L7*Dq#p2c%>lQuV-S(oZ37qN{?0LGUAL%M`(5j!!Q=u8}X>0F` zEjt;W_IHDl8ss)|Q2pGs;AzLo7fbg)*)|P34{0*ug!0W%k(F!i>o^I%Wv3?7~ z^W81)_jG_S2M4twAe9HC*#Yu0gb%5>5qyvnCeDDY+=O;*cWwivL~#EAwCrd3Zcy_9 zqMHFiz25^`A&Y2yFg)M1@5SO)P?Zf@L%P2m?YeP=C%f99H9e>@U%L0{#D@2KdKg~L zn($(JKRlKpt09qVGekOqD23)I&_LJ1tqc$fk|99@98Z@uJ=r@I;tNP;2&7`s4A4d7 zkopFtBJvDSfQW)Z1GLc=?^Wa=MUd_=sF?#T$$eMWYARMH&gepeS38@l6Z7%ri9>f&Lk`^nd9!PT$Qqn!`YkS(i3G4x|6;LIh z5&+(we7~m${nRFf7wdO}RvkfF97rqb!HfSOYw4dg?0(w15xS5Op#;31u@TxqgDi-E zc6At@@7fIN$Aib@K~)@R8$jpsmks^U5dmmP0iJ?_7n2N-It@C94dFmW!=W#(?A;P-Qk}4OF!!^tx|QAqg4+S`I1(Aw89+dlo#|(FqNED22F4>1o%3 zr>#qoLLSVAc1)hH?ta?48KMN5d_ad>f|i?tl`%j%rl2kpXrqA@185=VguZ7T)1L3y z1>=AhEg&_K<}^H=&K}9c62>kvk;;P6rP}M70VYx z+7pP57i<6vaWNA5W#Et{8PEz6x{(3YG-i0Qe>P|d`r4%slTlTm%R&~XfQH{7TTvh@ z-56drG=PTWA;UY*m+gMKrvVYLFV?Mu)utWKXYPKwcPi){4Cu*#pp&E16~LGH!EXV7 zzo+B*>h6~_w>@1q8(Nn=oi^v$nner{3Rn{^Nhl8_mYIZyYuzFfHbX=}&x-Tg22 zw?k%2o^|%VXxS zE~JM6+sUPwqVR0)!e?_{dUj8C_dVY`@#)+Kh)Pf$G?hLu`87(Db}-!_&1hkOiOYfaca0%i5mLo(2v>uu~y= zXyCe?%bsuSCEs<==BxpAppfSSp-ZlwZr}7|N7u_KjSP@X3Z+1k>5w(+kXAKR7_^xN zT*rb^I?~KJC^koxvzL+8td zJ3-TgPnXOBb#_3bVaq|w4MFt?sLcy*K3Oq9R&qYwvF>TtN>CRM!iS~;aFm0W_<87eQNF@PZA}kOU2$KAW=& zG(yp_0hEa*b}_&zGVuCi$oL?#5a`5R@GWbg>tmon4_ZhDcEa;D%brf?0ImIlU*ipG z)Ir*T=!zl5JJdeN(jiEN14_t{!BJ47tFsqkJ;ZwmIjHE~$xl0bk(UQRs$(o61F4Up z(h%LCeh;{N4l)+Z03}~Uh(MM`LexT5EI{gPhG%P+fT9`fX=Dj-f&y39ps8T&(qPeN z;AIuhCW1Qs37rd(wTAf04LJR{fEn2$-WvmmtJ{nZvz~%rUnGzfX5I;iJu!EOX zzgWK%GKLD8cL$Fufz&}`9jqEu=7M{EC@PTM016J|qzAE&!7sn4I2+W;?^*S9MI*Fb z2oF*Q@JKq+K0DA&-jMM;P`JZ7N8k+v43K>URt(U&AMi!q;3YY*EpM|JKuzN5%OIU1 zh-S!w4)~%XP$LFhQofwK=-J%;pao?86F_T$z>^CQH-pxngI9Auoj3#3H2|vzvFA3w zoC#jJ397G_tOVKiWXGy!b2>n*rxRCzsyImJ1GPD>0BVrVY5^7b6Z$|-T)XuBp2ipJ zw?iiTL91kUbVJhalif=pGxU(k4-zX@3{U%4J)6@B$`Fu&fH^DRb59^IfNLm_Q^6xE zuu^SuA9zrtkpZ+`WXe8}>p;UwtENBg2Q9yS)(P6m2OS*%9dQP`tJ~AX3jMBbbUr8& zAcZP;qsG%YD?qJ>y;DKcaF7*c;E8ZZA_kw!2)ZC9Gd~Y{llP;Bxu6sVSp$ksH)H`O z=vWk7cY4E&>YMbmV>+}A{Bq&eXHz#=F+AP588nCl8A-8XfEPpz&)0T7ZI}rfivn+d z1}zx^%@plyg;aEq`8x3A5lje@G(dwC$O>Uu7MwD`{qMb#pEWFhu?3VCHau_I30h== z8KG!(2c+VB-n{nZ^cAq%xKqzG!SC$`WuG<6pKaOnV&cLVpxG4Ia6Y!1yFsIh+qb+} zx*uIJq!R#YdpreC8-V8T;IpzI&eI*upuP%tZSk|MjZb#0#Wqn*o_PTk zSJSsW?b!vH?**;2+Sl;3vzOs%$K2<;mV*ZBo-c2NQqQLBf4+7a3I{e&1lgJ@=! zk0G1sL9>`o*S9es5A1>Zyr509$kVT&b!woUv{npHd;4FkTL<=h>zb#a)@b{#=bar4 zpygYz3%V6Ro#D<7(5Cy+q?}C9#oD0b62My_V8aMtU7)0ka&0$MCrBJ(24n;gvf{0? zhDuX5FsYX-H-i@*wr+mDc{c-S!_?~a z49~&k9&~DW<_ahuN+HIMAj&}7qd@gGtYZY$`=WgnbS45KtN>99oxg`J$$*GKM}Q$E z1&lL$-qR($46sTa+|ft7f&2ZQS)f%UC^I3@tt_C_4INA%S|=nAgKA?)?;K(^HakJ* zoS;t1K-D5foj}vHkopJe1+3~(osO{j33w4HWLO2-@CNx5Y1b*N%Y|YBsEMxtaSGH{ zL^wc+G42U3TD>Yo?O7e8&=jKqR82q8mBAX8qfp9-a*0SGBW8J@0N_;N-oBlcJV+9Nnfmo zEZ2Rpz6EikHfRiS@AQ`|*F4>@2Qek~Vqp&hWGEH7L{3j1x+MeK{o0^12{I52(Zld` zU&qVF>Cf8sVeXHC1T}OA4QQAN(%41agF-0CKsf`111m|v zO@9z)WAEdJMo3b8)-esz+lQ)!h(bA#G!Es!hkHjIO&S%{#A%hN34s?7UGL8&A+66oS3TjonY-ofoB7*FJgt`kf zQ2@>`;1<%96)(Csf*KucKyPqzZ^>hQcmO?rS>FLgG zFV=xZ6hZCm))h~8ZUL=l2Oq@&vLDi)fEWoWIv`$wROcWYpYL4<9ij#gC_sfkWhv+$ zZBQ=8A`PiHp=u#L7s#SHXw?F-7PcZCst!tl2LB*w6MVSD>St@0K!)QOp0;j$vTHRY z|G(ce3${-gGC&94MT|=sXs}^V!}~oQkP(ol>ml3RIuRN{{p)$#7(mk;^R_`+JD_F$ zpn?*-Qxcr0!DoIzmY6`NMIinM4a;np2wmv~;w+g3>YPAa3u$>m6e2e*p7l?7zGN3v z6SP8xsDkK&%Al;s0xj-`tk8mOiUswSAkJF51lr0cMiIRE0a?xri4%qw+c$$2m8@Oz zZ0*vQtClc8R^&q|NG=A214J0qpxp_|z_VIFX=vAMP@da7l>yXfo4pS*mWZ^o2g}Cw zXVbSmZQlht(QC>~hG+99JlQq-$&NWMmhOkF5dyDVYlQB6*}DDd)McPl`>bo@v$dU| z1?y{AzwyhVm$9ZZ8syfK73h>%P$mqh0^-CesBVcuXlR$eor|o>Yr=Q^& zm;)_?K)q$cG^hn(=|k35K;~6J;RI<|Vyl=yJ=mwq zyB{}nK}HI(udLYvIx_*%E`@4TEg(O zb3JIq$D$cl44}0ZUGt$7C}<%9@Aot!H&8%3NWr_hKoJPZI*_R)h-#=sC_)e!$f(|v zU2RYsFdCiU%*6o7bD+*XBzmB=Ja`}%G{T6nRU51glovpQul>^@`k}@^8X@2wIanFA zUGr>N(~D(|pxwDhdt6jCpjYmZc4ao`B)DhbQzKBvX&4}akd~Silm`oH$Wmx%{RzEE z8`NBxIPYoe4(Pbn(~kCMy^BDd=(S5A`5(MgYyDb=7aJD6*s$oy-UXnX2+m=kNZH*F z+4l%Pya!UFfT9U9h6x&C-M$I3)gL6XWAd|w;Oq*TZC|kc+4_Farq7+rAg2X_`gwDg zKAY1CTkrrncyZxYka16!ta`S15~PR#m9?N2vU26woN>LePFaP=G<|QP5d$;5n`5vsyq)w(Ad;ZM2Et+h&5h1k zfi|xS2{KSL&R+L^Pa|XtFKAiZ?mkGP^x6Cg&~yhbJD*Ni4mSvT=pn=i_&f&02=MGM zXbuci0q$4@$xDz@A7lh%X$feQv|}zP^?)l?$WR7kP6pgATl#W3_!JCK3I?yH2Mx4u zo(f+|4;uZ4Od~*&Go%cA+|UGBYW1vX#fx=Ip6u8K%0aM`3L$Mr$c!Y`ZAYLu203rX zDoDc@GVl%YB((Yi4akBAU!HY>C&0kV0YMG49lcN6dO^p9flD0FS_QaEKvQJP8bJ*Z zq%DY`CJK1P)pPJr4LC(1c11yljA6$vJnQLvIceRqxl19n4rHR?8Q5;9n?c!WN5hl7 zpxybPWDhz00@?SVL1FOTl&6y$5t^QX_9ua+u|OGf%|b|%2O6-GdLZLzpjeu->&c#3 zAZ?(==Va)yE1;Iq-Zd}UH-i!~_?BKQmta3`XaZe>4RH#{y5`LgeW0NQ$Vvn74rWk{ zLds;&M*lf0p6=NR8f8Nr#|9~aBzj1%1{7=%*MLt;0VNOcC^@7qf}~z}q5w69`q#f$ z-U!O$;K{8gyFpv}K*Pka!(^ZASPS(fB*LMyBQw@NU%Bh~tQOEQI*@@1(CPu$Q8q8y zH=|ZD;AR4BmK9V~E$MwWAG|XcRJ?=N(}T(!u#q6^KnVyuMFZLZGIax}IsqNN0jrci z326OphGz}CpH1Ds@M2*Ps0?h_4c>V%ivg0sV3O-VT^q>kGNjl5Z8_i2@nYRBP)-MT zE1yl;@U(3vq)2+)&ZD?aegTN>#m{20=V`8ja-3_RoJl$w4HkUMo_b8@di+ILHdHw z1(VNatOs>&A!XmQDLX+&b%J*2Lh}RkNJ+?TR-gl_z~bPx3HTH%q|N|nxDuoSy2T%K z%QXmt%JHY*Ssu_J6=XLoq_~4_jfL*Sh01_eheBl_OR}IG=m-W>8F*?Rl61h6)SIV5 z{0?4_SpbHmN<^CDZW^X~MJRrJ3ZJ_p5Pq%Lb9aQBR z06Hb0X$5FY3%COZS?>)hnZb<`P!ff>;pNN;Pdm0jn$zex0h9zG%XlHpzh~38K{SEd za65V-jbz9r*P!jVuv@M{hC`AKWc%v}me6rl1SJPZ9~ z_u{Ah+d=UNlJ3}!MLT510MgKa+6butKr4tqxdpdoNj3kWs}0P6LDSE)jEfZ9nQ zwcwq1pwI@7$b#mkAv?w4a#m0cpwU;*!2qxX2T=f;fd!AogC^{zF94OS;GuEQmi-CK zz$b%lfQ;V0-_wb*XmkPS=r%+E!mJ_UPHRZaC=Sv5@C3<8?@^4Y1gW!U9&-*2ha)w$eFVY5bD|7 zrHFNY(76JTLQp$-&I(8+|73T=lbs#!_sj<$o;0TuRQ;}>`gHa_NWuZNTEPt-aGpc# zm4jxh>Dxes7-YB5hBo-JNyyqWP!+hh4WjbJ{`Ti9K*Pw8gKIzywdQ_M)1YI*)2{iD z?K#gDY=62ITy;E!oa3~i4cZ(57fz5m;K1T{t zwjp=gplt(4*X=2I(=4bh0vgHedAgwu;%Z3W1JdS&3~Yk(9kiPPuBJdqbk{D1=exH& zoxkh(%ze+7PekEBlB5;rXqcyy8=-sLL7Kqp-9Z%*D7DX70V&Los&ULQJ<$G^XKNS3 zkM?=7f9CV`?U0y*tbYcz5&OG9CzbE)1}*1l-3%(|K?@>E^GZOcK7v-6gXXv)H66$= zpqdaelLht;#;gY@iGcdBb5_8Hge|!)WJfn-0tGhqtnj#@3AFiS z*OV9Qm%_9{8i8=F(3W)bUeKX$?YltT%XRZ!&TNIGHc%q#TmN)XGpsS)v;wl90@9xX zFNX(3H_U(WkPHHC`~lDGfr1E>LtrauARSPM1HpwM{2p2b z(0LxGEqxZw9hP1yT`1atMlPpk1S|rmYe<{OEGSH7ITD-3zWM_dIRi1%EWV4K(Z)g5)kZq*bpbAu!95{WLgM(bo(q&*#;RDgPes5N(ys87nGn(Fv5-< z1Fh2spN0cJQ4&(jf`)&=H<^HD*ul**(8(X*{U{JCA+tCj7lC%sfvX$jBjO;VnVY{pbhXqPLKuH^q>{ttG&+Oa= zYQZ({ecC@Avh^J?rU9`Ok`mB;fNT-OP`G(dc1(d732OKdYbrD-Abx=ix_}Z9D8#@` zGRP1zWFH}XiVrkqwXPXd%|a@pyF%VoM&?vAUS+JsCWjoeZcCFuYUn` zlaYq&!Hu~E5LbX2bC7kB8+$?GyO%!g?|L?;6Oz&(eJyCJ01X>8!CVc_o}hjR#7od+ zZ4eH!UXc2y>vv*nGDD07tqFl>gDzcxoM8jn{trHO3zC6AQ3>AG2TJ=S7KV_72VIE< zFC)mheeP+;28dfB2^c)QfJlYl`>bI}5i|%|Tmo&WgHj~uknblu`k<*0v`hwcvlq5& zuAl7fg={8_KqY zAR-sU1r5_B+F@4?y=NMs0V)7latN{w6t=`!0A14!S@REyZBXflSjoD56J*CKXrKbJ zkP~{?1SB64X9s9u*<4WP4OuzV&D8J&$hQ#pK$j^&N<>fz0%;FHk}9~k0C#0TMI)F2 z+6V%f-T@sv3oa8#yRcXR(rAOUh@Q6Z0uS&_*$FC1kZMuz!CpuUo*{hH=z?t1CSN~j zTx$6S^7TVb)qAmucu-3oRTSw?~8 z11I!BOKQllH6&Sp`oTzXMSclJJwuU7Fl0lKvk!^RL@K_JO(fuVq~Z%yEKnnq6kfLX zfHo9@ue|`Bk3yNjh>!wx>!@fjBEU#>F(S|~ozx22a*n#H0z94w4_U0&P@~_W#ejD4 zH0WL}Pzf}v1w$od2MYsq)i3;%V$d?8XVcoDTLsWcD^T@=R9Jzy(Ao$R+GxtDSdfG6 zCqPc*Agi&uMB!QIWYFr5jy5ZZ9%65(M$(8ho`t+L8C2yy*}Waq&H+t0fsg4$b`xk0 z4arR)E^0xJthl%&v81#Zt{jmxAg)F<@9_8(JeLY8svyJNPuphFE&@O`DJ11XYf^@% z6DEQ?o1hC-Kp_sPHX%dukTDgID7ZfkTmB4N91A-G0DQ|Sq!9_~tAWo`2G=m)MIX?0 zbddTRIqYx-2~Hi}+9xiYaOt3CIDxK~ezs;I mWE2y0zcgr()ztl*JTPNm&|+X3~CGv3@(-s@oY;51`!4ZhE7Wc1|1A{8aVO9(b$_xw)ZB`5nMhpxLtE?Cp@)_zG818}@3=F>33=DY; z3=Dg%85n{Y7#MVH7#N}%7#JFC7#OM;7#Qx@Ffc?iFffGMLVUW>7UJ_ywhRoW3=9mM zb_@)lK(mL^nRXBlOtxcSU}a!n*k#ASAk4tPZ~#hQv14Fht7l+fcwxuDzyb2H9RmX| z0|UbkI|c@J1_lN;djC!tOzjyMco-NMETQ6V z_6!W13=9nZ_K+xugz__?bg?}HLp?}Ctvv$+9|HqJmpuamHv1e5QhjlKpZ0F0I^uk0b;R+1H@q#4iIx)9UxIq?!ZtF zPE@NL7#M^=LE`{P9G9UQzBoWagwYY=Kz>Jv1#*s%xL0z7806vzQCIE=38_{`hy!{Z zAt5;35n}#4sJ@Mk3=9$s3=EeY>meH6KsA1GWME)nU|{&;2yr>16C`m7IzfD(?gY_j z;slZRb%IzN>jcr4?F0$I0w+jF)i^=SZ-T1pa)Nkd22}m>dM8NGu5p57tG!N;M0NtI zP|2BrVFCjKgP}9Tz(dXu15P+IFbFa*FkFXqCKpHuNVq^8Ebjtw zu)YgKeZ8#<#9%L|!T_kka2JTf(p?}vsBnSAaf1saXgggX4w(#mF1=IBm60Q&nv|S+%F?NNx*wPh}T^w8?E)H>p1Z|Ql#N~Oe z5DTlJ;=NGunNWSpTp1XwK-tcffkBUff#Itw1A{yR1A~ei#6A}{kp6lG1|K&_(8sw! z49vzoz)eD?SQI`)@U*Q39K!*ndLp`X#nFf_u;sHs;TRb2>+UWrbA_j)@ z9uOZt^nm!_E!2WvP@2UPVlkg5L|(!Z;&4?c-@p^%P+O?DuO}oeM0hgPgI!+i3GvYy zPe>4N@`NP5gPstVUxHe2+Y{oWr%?JWRQ*>^ND#AlLF6U9Am%B0LG-J8K^$n{1xZs@ zP}6;=n6VgCBcA9Qwu!5@LU$`h>k9 z4wCYQ_*~x`5|Z{%exNtRL5cO=5CgNJ0#)9Spl*SRPw<8qJl`AQv#s6`AMN#q_~e*3 zB&ctBL*n!)RNrTBNUh1_1F=ZK2jVd;ABcy|eIV-VZG0dGdO_)6A4t%}_%JYdFfcGA z`9MNqwGSjDHbMEPp!7u_NC@13TJX{b;^S{n3)p-iJ{R$YcuWn-H}VCmt7mZWh1A<2 zz7U7xLFsac0)_@(NC-^ug}8W`FC@gaKn*$!mA~o>amZ_^x<9@UpL6*^)Qk9mEo4yk zgM_59AE*wgXJD}QV_;BcU|@*#gTz^@A0&uo`9Un4?+0<%TBrfr{2=XuV}1||l>8x4 zpyLnmp}9ZAB4>XF20sP{hG2h4+FIlfamXQmNQhkYXJB9f<^RV}jW7Hm`S=S+0@Sn$ zfEa8P0MTe00CA8{03?c{0w8H1Apqj=k^o4{s1qu`CII4~O;G*&0w7U&Hh_Uaj)8&U zN&o{xJ*c7a8LHtoR0Crm!~)(xh{3{v3=HNB3=A59kVKRa2=PH~Af&*m4}^r!Y$&}1 zO0NwBm+=hSpyr$mgtRg5LCyIc$WRY%v2X-If>JaHVzGP>#HXr34B+b6I0#~)MG(Y5 zuOLW>#0Eipk`u(hpv%C(&>aME$j%^0Vm$=acPj{D{u?O&8>dnh^~MB4eApfgv1oBH#Gpe^b!UPhiRoc5#NjW4Awm2;7~+9%!H^JR34y2+41wsE z41qXQxjuw}Aq&*l41v^A(?cKz9SdOq`}|A@q;9wv0!dV_LLjO9R|o@xF#`hwcPOMW zY99(Qupt!UfX+~eMH50H4w)4SDRNhYLek9PP)LZ@Uxy03glha73dxQvVGxVu!XOSY z4} zMZDnoI6M=|FNlDIP(uX7fm5OKvm+Q7ltKA_5mdpk2nGgy1_p-P5s;AJj)b^WHWK0! z)ksJj>P1328lI7mlCd}v5@MZ^&<;l=B zX~$?thy_PO%uk4hB;K58hI(*kaskwU)ldcdp$4Chh9sH`(GVYei-tIWH3niJZw#bA zAQi*FkjucpAQuDiNDq{r8Us;3F9wopmO=GxkAZ~Pk(hc2<6I2Hq8m^R|6(9<$`%W; zSR@u=uyQO!y-qA7?#*H$bw@xf1A{gL14BhDqzGOT3$ge(RQ>r_hy!lMLPF+MEF>-c zsgH$pB6;EbDez~BNZ z851Gdr!Wyx4zwjgDv_Cq3=B>T3=G?#@;?(HA;*^l$!3yCkPwnjf_O|V36fa#k{}*1 z2GjKn3^qv+pSnU7`X@nr9G(P8)#+e`3=Gvt5FfQb)z5~CFNLaK2j%aBnsYn}5|ZbW zAP&0=<-bURgyc664a)z_$q)w!Btu*#l?+Kl%208)WQdOfk|90{ONJ!6Sg86|DBYI~ zNnF#DAyKh184|}kk|7Q`2bI5*3<=41$qWqjpdl5;6o^m7QXp}ql>#xyECu2qj}%B_ zGB5>Fz~rYud@wBq610m`Ah}_63dF*rDG&>9r$9XRG6fQ%pHm=XL(Hj=5tEQqhI-H- z5JOig14A6BH=7EnRLs&Kxgj$RGW61!2FYG5=?vgOC4+Q`MTzMUgUiz)*|$9%V!_&U zNSgYW4)K_02BZLs&44((D+3ZG(=+NJj71p?3`GnK3~MtWZ99cbh3us`m-ShPs)Z2nat0I`0Qdf1A{+k_$>!A%2kvDiK68>kRaWV1JU;^ zhk-$Zfq~&OR9+?*;sMoMNUk!>g^aS*mq8h)b0MQ%3VD!5Xh|LhoQ^B@*~&4c*tA5@$z9}*Hg`H(0R&WEVChw@$X85kykLLeWkzn+1mfPo>3fq{Xy z04%_eQ2;I&7zzs@2F)*kB(7xz3=9dNF`@#9g^Goc5YQ}y=!+|4U@&K7U`Q{7)PD1e zAo_L`L89^!lz+DfQl5M-0_CE51_qvDNVRKH3^6dJ7~I5)sX5pyc*(xjB1F3@~i710_D{Z2h>$V z4DN>V=T$=roYmC~3}&D)V5q!s4Me?K4J59OYar%?L+Q90h{dT;etr!kQJ2*~9J-_i z5~4Tip$c9=>Gx3jTMfj;e`_H1HD4_x?hI-n7J1e}d=LQTN7ONwP(tF;i9->HST@L4US2>k|?=cbQ)0c<~jz3 zS_TG&$xwO0dWd?7dPu6*fQGmoDCdF3|6QR&utD_@A4WkH6hjm+R6z}Bhw`UG<(EL4 zZmXf7E-i=gy+D7^40n!38X@nFQ z$&C;T+n{uBBgBDIp!6ary`d4}fqhW^X(<0Dl>ZFM|I!GFQpP3*hI-HhgJ=`PXEIF? z1B{@wJ(Tu=(veLNho&__3aEOhzIjcM0%%JU#G#zcki;p_4B<;a`SMV{dNag>dd&>= z3?K)@LM2k5bT*VOYKAzdvKivzHmLX%sQ7Fse?>E-XS5zFehNxohw6I*<$r?G|DiNb z3pf!lFi5sQEYfKKB?<-xODOFF6_0O$)CD;$3=Fmm3=ADD5T6}ufjI0eRNZYT{Q@ff z6{?Q86%ry`tq^;JS|Rqx*SA7SETdLPPsX+tQkyxpLM-rtY6yhVaZvH>R!F%}1QnkG z6<^p235gZ0kb>zjRQ@@X{?ZD`j*M*(ht~_XK`fGQgOv4ZZ4eh)w?Pt#2b7L!gOm#e zQ28n--QEWA$rLDmIh4Pp4dUbDQ1j12#jioty@WWRp5a>?q#AF56CnmEPXudV zFox0&6CoD*PJ~omArm1!%z}!yLe=#^ZQ1PrukZe~t3DTTzodg-8Sp`*pXc8o?TmY#D z<^S7I10F%?S0D+{(g`U26KXNTWJt*HPKG#0VKT%)>XRW3Hi7b;CPPBZAIgu1s?V7W zaab{w-#(dvp&qn0qYo-D52|q~RN+>r_(>>zVKSsrxek^8JsDDu^G|^|%x((AVS!U1 zArdhK(t=8u0_luaO@TOg@f1iR+%Scq9y}AVYYHS4--H_U3968FDnx_OR7gkS^VhsSt;}fXaV>(%+{-LgL?4X#N+P2C+yIN~=L>V<_z~ z4N~O#PJ>uf4Ha*K(*4sQ4x2L#k`0$lgG9->X%Gk8nFfiHCs6%grZF%CF)%Rvu7?`n zHyvVd^mK?rlBPp~G=DloV-r+-5|o}l9a2QEf$F;i6~75p{|qYrZ92pOf2Tuo3F{1q z1EryKy)%@NJp*F#WGKA=O0R{|yJkQfa(o6Pn_Zs)NeiE#@?tX~K31LyF~<-}+s%aN z^PUOy;7o|el4gP(R?kohm8gZ%Ei)n6qkASKNTix^~QF)+k1Ffgdjf;hAZOxH6oOn@q!Hw)sj)lmMvSr8YWo(1UxUYZ37 zI_BAsnNjW8klL?gHY9CqpAG45Kb;Lp%-VAx<%i202tQ#Cq#Is22ND%K=P)qvgYy6R zIS`BP&w;q~8I=ES4x~-^bq>TQKcO_+TnJwnN-NBTI9wM>J3z&Q=R%??VJ;*jtD$r& zRK9;M14BJ%E!Uj65C<%u3kjNaP- zARe-r2g&~~P=4+_hzCmNG1PXy!jIBe5=$bja~`OseJ_4yD7yoD-cSO6&? zco#rM#S|AXFjz7$FqAHU)PCz1FfimZFfec|gv5QtLWl#FErf{gUkGWc=`VuNQHvn* zt&1SJVcsH0?pasA2vQwhS_Bz*lwAz*S><9#qMNW7;=_Yb`W%$Ly_kU^1GIK*F#|&= z0|P_g5{SCxPiS1(!hv9MhIT44ShHqJHr*NS&~D8ARWmWef~~pao3JA?ll#L)7hD4j$O7XE?kZ z;_|P{A#u;N0%D-V3W&J;3do41&I(A-7eeV%P+EBSW^R9w8Km^RMXJC+n3aGAvxLhB~k6Q(4Fl4NP47tvMioaO}iK=g_AaNPAngP6s zC22Lpg4wGfxna?21_o;e28MmBAr}5x4fZhu%NhvZYz+egBPjnHGeKM~!N|aHgMoqJ z1|tI;fY$HjfChva7#PYJ7#O4(85njkFfed2GBC(O#X*X{g9s$7%gDemkr6UZ2wJ=t z&cwiA#l*lck%57s88ke@$iSe)1R8&VY67j@1Wm*Ifb!d*j=0arz|aa6Th9m?>j809 z7#SG0FhWMbofsJyI2jojnwS_EnxXnSp|mw4Bsx+V85rCd7#M7s7#LnNGB6lGv(u!0;So3j+g#2qOc-1SZJn^-l%{h9E`;h89K!hO3~lUPcCn zS0D#6GB8Yms$as$z;F~K$H2fK!^FVg&&a?~$Hc(!nUR5kl@U^O=P@xbWP#XBpzvp4 zU^v9Uz#z`Zz_5^!fnf&3Wei^!85p>kAo)Lxk%3_p%n3P<`j24zXoqV5nzeUp3=9cS z-$V6*sq2gk3@aHK7@jgRFmyoWRT&u=n3xzC)-Xa6Rti)cG@$_21SQTv=_!m13@f0H z0xjo+3WFEBq(H^N{!e3KVCZFHV3^Oyz+eMfNXo>(@D8fln-S8{0C8Oy85k}yGBD^f zGB9{UEx!lqFET;ec^eoQ7z&se7*0VA2kC*~Sy0A9D4oc}z_1;Z{y-ztATd)$1_no{ z#&jk~=?4-A;nj=`3?CR77~+^17(zh~f~o__U0{Ti6D*)a#l*m{nSp^pn~8xzhzT+u z08#_P$)FVzj0_Cl7#J94F)}bPg7TjaXp)hMfgzTWfnfn71A_w-14Aj21%(Wddiya0 z1A_v{5sVBB%NZCL&VtelXqhe}q%HRz)Q@CfU^vadz_6Q(_BC@8Hk zFfimm`5?6{ObiT}Opwkjh!4WjObiSaj0_AvKnWDIrdyPWfgy>JfuW3%fq{dOf#DxW z6$1mqH%11AQc%b+F)&0jGB9W|GBEr`GW-c61H)`a28LgZ3=HK=3=CzUAcs135d#AQ zXkqyo1_p*0sMr$*1_nV!28L~n3=BIU=G23iMprUH+U+l(7GH(ZAnFbS1H)a=YDf@= z0kRtQ76SuA1gKnKWMBwqWMKFMl>^Oqfta8{3=j>%b3i2}h`|7va_a;|5hG+k;}0nQ zqnH>Ncp2`F}DWMD91gbdMuglZTd4cRVeXdGr_V5kP=e`}}!ND&OTGcqtpGBGd&GC^iW zLE@gEl+MJ!&;@nKVbE%LCI$vRCI*IA3=9kzObiUS85kHE85tNvm>3x3k<7it$iQ#` zw1fjx3NkS;@I&S5PckqtfE)p8L==Jw7X}6fF{mWSQbs1oKmv%}2o>K7;(%H|piU~( zF};io4B|`-4Dk#M4A(&Q0#qEdGQNh1fngs51A`eO14AVv1A`GL)EF5UZZd+_--Fg+ zGcqtNgBltEDu|%$El_$7BLjmPBLl-u1_lN<(1H{u28Jd^28QX33=Bz7M?sY`d;)oZ zfq~&XBLhP;69a=5BLjmT69a=0nmSPPtq7F=-hifCnHU(3flPoZx(M1Zz{tR$#l*m1 z$jHEO4OE#hFfgnG84C584^%BkTP9RYk%@sJh>3wA1yn9DK^CQe79oSwBr-5C{0A|h z7+my%7Mu4?Rtyxc|IWz3P{G8&pw7s^AjHVP&<;`#HTD=I1H(Qj+lh&RA)Aqb!3yEP;-WXfq@BZUOfYY6{sd>VqkD!WMF7RQV1Gu z0&xYH7#JEsjc`y2&&a^g!vtwmKLD*|WMp7Cz`($;l#zju(@&cMLn!^i*{Yhic{s_PgS82X?FfW}Hd zYCzjlb~8YFf09tSWsD3AevFWA2WTt9T#!O22JH%QWny610p)|JO&|v{GB5-(GBCu0 z3gX`kkgkFrBLhP}s4)dv&&a^Qu$7U4VJ|3cfL3@jGBCt2GB7YRF);9e>PwJGpqc>c z2tGyzhU1`;fPsM_o{53s1S4c>8nip)AOi!#8%D_FJ7^(3XvKINDEc5~)H5t$U|=W$ z`Iw1;;RvX%gC?kH43K$okh))>h4hRJ4EGrr7}kS=oq>TNn~8y;oPmL1F4PeqbO|5M>B*D6}A8umrX4K%$`4Tp))qGBDglGAIC4e1MiE zGeB1JRD%j{CI$u4U|@IzT2BiNVH;5VgVbh$DqGOrCD1M&1_p-3pynt@ z0@ONy(qRk?44O;~43|JliF)%Q!hRT;SGBAWPF)#=~^@4<-F)}dh0o4>RF-8W4 z1||lEC`L#}4x~m6RH=jZMlmrkd;kf67Sn=gPbLP24n_usbBqiO1q=)fX&{4`7#LcZ z7#J!+Z5favD4tvq?ZT0kUzD3zqFFrIJYIhCmU!{WN(qN2vnEd4JTuvlaq`O)^~q~f zB_^*HHtG!QseUyb5k{o861=HOG^|=GBS%5GV_W{67!N%C%?^i=CfjO zOfJbR%Pgs6a7;;=ysf}=vUs70GE5CfP@yO_F+~C7-eNGfBwryXv$$lkf06IxB}HPB zj~0nC=1dkS)|ou7SaEW1an|GuB}&?P`K5Wusky0nB@B*v2u?ABV_r$7u5*4-L4HwU zNh*V5Ugc!VvRsbhgkwRK#PDyG}F@rOhSDczyl$5YoQ zDGbh~MMbH3B{`J}L8*yg&wp!l;w(xnEKMygNllrY-lRNvS(AWDPHIUigG(xiQczPU zO4Us%N=z$(i8v;M(#7NtP4biFn*%0KX`VjWwWUldH?z1{Avd+SI59ny!6mb}ASba> z0hAi7CP%i)Pd?omKiRZRX>vuI`sCGZF_XpHr48~R(ahiqWmqw|Rup6wr4~czN-GAp z#LS#ja0&*cWX;dX$uFN=+od!4URRl$6@wdC zE~k>gJvA>C6zd9pspSfud1aX;sSNJaw60n zYKnrY1}Hyj7BhI2<`#g$uOuT?At}G4BtKUnKTQF|1BEC^rZ_bxH5rukQx#M-(!lW- z4@xkgfKzb4uRqZA-E`iXXW z3_hueMR^Lj`9-M;iI|0q6-d4;RUuKKC=uj&2A|BNqQs)gk_=EtfFt(fBvC7n+cNV~ zQY$oztrTpEON#RI((P0=N-|4wQZuW$;Zc zNlZyBNo4TNPXQ&&{2~QV?oQ1sDW1G=X1qYTLP272ae01GiWP%jYDLN9yjhx)*Ud_u z+&5cdvd|o%$su#11tGaVwOFAj6;vvvrcAyzCv$S(T>r@;^S&`!O;(=Y!45TK@{##A zlO-0UOuoIKa&pST3f9u3oXq6O-xn54?pS0!`Trt`$sUVMCQn?f&YhD8c49_mLGk4K zi}iWIo`a=_$tg=zC#x(~oNTa^eRASb$*JoY1txbduAF>rZR6zhb>duB48f&IS*gh-#gjj*lbkHL-f(j9dNDpox&s+n znx39I`S|){ljm;`=W-18R&aCl^l^2Wyk&#=m8MRv*{R80T3nEtmja6SqRE`Q%ms2Xb2Cd)Qy4ExLGmXr4!P@AlKFm&>wLspZ;k8Gd(_K4=>n@6QLiyf0^e0PRRG%Dw z>Feau%R!S5T-N0P72YWfMTwI?T-MlJa)ptRkzsOQmO8lYG5Ock{Ys!Z7F6aj1Qg|i zB3RcmMHd!=3I=+HdWMsC-O#N!)HN{HH8M~zFt9Q;(>5?LFyQh@EH2RvDN4*M&PgoE zFS1hbPRvVGut_gXsVc~?a>&UnOVvxx&$Z+7Nz6+xO-xVK4M|PRwNmiSFD*`02ue*Y zOI5J(@o~t>)XOhQM<}yWsLF_U_T%#P^mTD@N(hS$#QokCeOOtJK5o0=H^WgoERqyJkpum|43Hx{hp3zJ)KW>biZuxeKu{w z)2;d)Tb@nZ@P1F@^Cp%U>@9cOsXU*h|PYgHbJz2*% zdHM@&aG-8p^s1b3a`2mYIkX1d)7H&TcJ)1*v*zi#c~ACrPd@&}X0pOtvB@*vT2E$u zC(Q~Gt$ruP`Ltuh(~jvc7Ot2);jhS~Y^lkU-YZPr`CgHq;c3U}rxSXu7@l=DJe$)w zS?`11H2Kd*71`D`PbYRUJcUyIy-)TuKG`t~rrPdvwOnue(_Q@xPxj7v z(a;K|o-Js9vA*qT|8^^e$&61WCQo?E!U~q3{Q9fnFjwRhk>05 zaUM(v;?}$0)HNY$o=;ivtYbUF^K}hRc6VDbJZ<0ge9HW1)0aM*GvA8g>BjySQ}#~Q z{VqK@`n&Pwd*2NiCp-Vto%Bm~vh6P&r5Ed4UaZ^20HLfHo-f(=v}YH?vq>ACw#|Ir zwe49$4ana zdWL5+_B~&+>*<8v=gT)(F+7{r{%ql5hG!dgJlWCvbjikNQ#+==Vr0yop2WncJAE67 z_`t-NBK~~c#;0>OJe}KM#qhFe9f;T1|8(iz=|7nnWu#y1Z+|vtJ_CfZVt}OHr%N`z z*s^r`O%}$e>F%tIGCWV$?|#;~@9BgdkiL_wjP-0!TQ@)3ykh!4Hb&*?QS6NMe9so_ zdAg_His5O0H%O5I2cwAQ)6U+f`x>Cp`h51fXA9sVg4(K^ZpX=Jt^jhx?j=uWu3&hw zWB1F2TcOmm>DyjT-|~Fdeo*U9a=JVh<8dwCgExSsEs_F~_}C%bl8O=sg{ zw5)$NrxO%$u+jqL(ESUaHLeFW;Xr}%WLMjZ<%^%q-tu(GEL>`>7@kj^`D91;i}fu} zc5laQ$T2*fHs{%zMNkS7Hw@3$tWi+aaE7++6kaUsu|jIWDLm_JcrkJM^I0u;8hs2e zC+~aKw{&{40Hd4OlihvK_fC8|w*i`9!CBU7`da};+39XVjE2+ugct*+TL?3HPv0ZV zs9|cw@N7=Q(HBa|6Fibxv%P2g3lPqJz zbX7S$jkQL7wf0K1Sc|vCp(wD zSl_}hnemhO^z}-NN=#M?)2}Eo>VarhWkvzI!dhvk7ya zZ&?JTp6p!qeD=EOsVa<$)90u#nzB7@UGcJ^bNXKu#>-NWVuRtux_!_0u48zzqwCqc zZIBXS`Y$y`DNcByF`ZYPQEvKDb;b~JQ1;&mGIdtVlN}9DcFlf1r~BFFsnf$X823%r z(PW%B{gfsn4<95BtiZ+0q8Zb@wHPI*XKOL4sXgnM@U&|_q)vIVtBnE52NyPAe&320 zy%VMjYcn2}f7;Rhtas7Vjt$S&E`ikE3{Q6Ne%iGVk|(GC*JiYw{!EuqWBPnO#=Sfc zB~Rz9c(QlF=Pv(2gJH5_;(RBI+L&j-LGuBVfG-0&ndD=MV`IHr)=JnCa^+8C$3OTQS;9Ut!H? zI$hC*F=+ZUTSn*U9QKR{roXjk)SG_5fl+e%ZwE#hCY~pI7l6_~xWb;k&zVtjdY&`m ziRph_7`<7y?0&JmdAgz-qxSX;H^xj*Ls90L2DnW#{f9TB2HUf_OJB6F0*&)*nBM5Y zXg%HBlTjrc>~(OSozV9TYzC;@e6e@00%^_JXLA=mo3rZ0`rVMYo^I&NXuo}*52Fm@ z^gq6g$?ObI_e_00WyR!%XG$P9aj`wwz5U6qw&~~n8MUVi_%j~hf7&+l$*wj?T7SNK VCP>C=dSL+LY%WO5Je|J;Of(28Iv@1_l{J1_m_-28KdI zumr;lLk0#B1_p+0h71f!3=9mX4H*~|85kJe8A2Q)V8p;6$-uy%X2if?!oa}bV8pKfg!?-fq|QWfg#m>C!tUO+8)1GV@YR0Eqi#9(1_1_mPr1_oDih=VK4 zAwF+4hd5-iImDbr=8&jb233Cos_wTrB!oCEARZL7V5kQNrL+YDgAfA)gOUYAfhm-> zwP0Xi0a<9lz#zfEz~E&836W%|c(Db<=M@$ZAGSdCby+|hHpv3wumw={>n$K5vc-ad zfs28G;iyGD14ASO1H%QVLM=-Mh6xM|43?G<15a5pFbIO=q5Mad5TCz*^1oU_g8H{5 z#9>TU5Q~MZAnFvXAm->=LDU&rLDX4UK^)>$Zw2vjv=t=oldT{@lLHkmvw}FF4oXk3 zf`rr}sQgx_1$(U^iSsbj0oSb{A@dZf?<17YYz=W3zcoaCy^J*jgB1ezgB}9| zL$);ogFFKR!z^ov!**Fi9B{}Q5@c7P2Hc18-&jL@{2j_?wSfe=fDOa}@-`58Z5v1k zSlU3cwSx`VA@vNQPz6agkbrtAMLS&_~e)!BrTkS@*hI!mv)dK{s`r>*+b0bvxk@? zVh=G#)}Dc(9#o>K+d~qAwLQe={`QbG5MmE;d5JwF?i%eOWq5}@#DOcJ2JWzjIP{=B zB*ZR3)xWTZ`1rj&Bn1CM`GO7*2Pir))PqYfZK!~i1H@n#2Z%wz4iKMaIzW6{=m7CS zivz^Ly$+x_WMEhb)wkXOQg`fwns>(m;-P0yb+4iNe?n;{$9hQ6a62+EcrY+92s%Q1 z8s!K{jEPWwC6sP(g!r`G5fU;p93c)^>Im`SW=BXGIqC@U`9(*FgC9caS5WcKjt~zr z*E>NBkaU9hT-^y`keL%ifrk^s!Z@h9d?!fI)k4*`J3%a(<^&0;WljtX>I@7F>zp7y zzXsKJ+X>>3mr(Vepyt#wIYUw-k2A#O;?58Qm7O6DGIoYI$jKREUVApWG6X8qH2aSBvGz$hE(SVA@cPMPoM_Aa)t!`H)jS0IR*xXzs?XJ$+$oa zQgMMePz%a8bAcFW(z_7&?;*dvB^{+wZg7W`gr~tbg#2`sGh)=cMAlc2_4blXQaD(`$*$rawd^d>0 z_PIeq;)EL{#O}I59QxD^5~8o&AP)ZI2Jsk!J479?I|D;KsG%Y14sn^hJERWKaEBNW z?hf%`tUIJgPI8B&jcRvDqU?t1o8u0#XsJ8IL2KM07H)Hgc<6{bBn@1Hs(S@B@1r|I zJ-B}7@_@LEA4-*6n&`p6pvu6&un?;5IFvpQ zRe#+B;*bX(5C?wpfH?S%M?ECYm^~R7R2Uc-#5^HEZ0!j#INTGGJJLNNAyVWC(OBUL zaY(%B&e}K~ey&!EkK5vLY2Hp^ZEW9BOaD<9`K6x}qJ1G2v_s|leIXXj^o96%l`ka9_V_|-(=)!1wDiUo>~n_iz6=b! zp#0D52Qf&{528WR4-&+hevnGY04nd{2XRmUR6f!V;;;m$c$Oa|PK%-HJN+OYng~@l zA8P(eKS&7f^nBIm?E?X7=DPea8FfceVFfd#TV5kT8@gxHwL8BK4NzIml zkPxsBgoKP+AS7}51wtGU45ecNAt8_oRhJ(K3BmF}NFr>9s+$c}w*<;x2UWK{upVOI zai{?o0wFQ2xh2NJ#vL(mX*BizR~~`jw%4ogjz@%z_{uunB^s8E2@vY$#n4 z1W6;c^+AxJ?hk^*-Mk=(1GWS~g6vQb#3xsw8eT#T_#Fi4oU#N%9Ht!%2`P(UNV(w< z3^6Y%7-C*QFvP)i!H^K@2!?dm>t_T*dcQA&A^mds5C(=g1_p+l5J(YxIs}q>|Aj!h z&vK!V)IT#6($7B{3bE*0D8yi%Fi^H)V2}xeSl|=}NgI>HARf6F#=xM%z`*b+4D9fF z2KjJE-0MJT^Kb@+A_fKqr*H;_Xa)v`tx$2n2#8N)A|TmED*|G%Sp?W12A>E>kVi&9 z5@$jLBr3WiAR#j`f`P%8fq`LW1OtN~0|UczFu$IG!7LKu)0RjE1||juhV7A%INcQq zG5ByK1A_*r4+s_i83}O!Qxs(2f)7e3M?nS}c0@s%^E}azD0Gd6I6NX6Qk|zoLmbu~ z&A`9`%KyF55Eo8^O3VXEFfcGIiDqDkVqjoc8x8RpM+_ux`C}Lu5*Qd5G-Dw8x?&&> zo)iNqvS-IYnpk^d7#MysGB7-dfmGkO;vo7zLuuZ428Mdj5Q};|B$e94Gcf2gFfgRV zLxxnQ#6w(uG9FSZUXO<)*3VFNObL+uY?Q#jkjlWo;GX~qsjUeN44~nodkK(ogDDZh zmrR7n+a^MyE-jIv9z3X2lL#?rQX&IGF#`j`dMK@&1mRClf&?{pG6O>e0|P@sG6RD> z0|Ud&WQflsQy^_XqZCN4$V!2vfr(IhPYNW+pQk_yq_-)M5M@fOhhz)RREST7Qy~(H zP+9{@>qBX?R7jB9Liw&x+6SsXI2Dp+5}|Y+l&*%-9Z-5IlwMSy3P~jEQz6;sP$~n1 zF#`j`rBq0+U`vBIOfU`NQ28`SC8L=Jai~=q#6gZwzGoW50Rd@{AdZFdi_;+HHl#5y zSb`d(Q1$iipp36j3;sa)Z0V37bcn+iK=~WfAr9LC z#tf*e@Sz)%L2sDnzhWhZX3gWrvmn`xFB{@xBPeZ|4RNpol=jPJV5kR; zT*hQWEY5;TltcNgQ2rz+e*x5>wNU;RD18u0pUZ~C@$GC#2jxpP#HYeJ5Qk{yfP$QX z!2rs)$YH1l52@NiC4!+6(K!&GBtiKTq4W$WJwFHH;AJ@wA8m%}KL`~+2~~G32hxJN z3l;wgrI~Ue`uKC}AqL6jLTD{0ZJrBpxeJsZ1?8vbLgKO(Dn20>5(RT}A=zqYF2tvw zp%(mts^iFmm@k?Ku~;b&lBf;p^C0bVmpq8Z_&i7urR6~^%FBb41C4o*)^1N8q^zF+ zRX-DI@B%2k7An3g4^kH#go;0gihsz1R6^gO;`I{w5SOXuLsGp_KE#Di`49&MK;^^p zAudjV(iQoT+|UD+p9ZBDL+K6q5D)Clhj{2hJ|skMK+Syzk*{a?3bl}<08+V#6+mh) z)dGmaJPIHV2`zv)Fs1+!0y$8+v;b1J*A+ktsurmF;{}k!cn->c4yE4}KpgfJY(A*{ zR|v64v=Abp1m&9+LPMeu;?saah(n^F@`+IOc~E{Ml6FC^x;Bih!ip~ z@PYFG4XDI(s0CjNAx*2_P`*wP#OKCE5QjP!L82m{2x3qQl+J<5mlQ#Y;zlTcQW2!F zIll7 z4dq7{LlR#Sl-~lSyNe;_Pb!8ud_gfoJ$RC6MKJ?|GXn#|4yZwYiXlg~%RJ_;y@SQHDTQ_CSf%!SG~K2suH4K5iDNMz@Q10FoDw6m0*`KI8{PIz#l4}1QpM$ggCei z%5SNJICLVEzYwZ^T_wa}TcP}uP<0oe{0AU;Q2u`o75ELMnW`WfIjbNpmaT%gSfvWm ze%Gmj_|&Zm;?VpmNE)hv^4p;F6O&AnO0z)%kwQh5Lscmbu~Lmlu9 z%IB(vSR_~t@u?h?uLq^Ap|l5-4y}ebD5)A!4&+orLaeVE;*mK}bCy&?=l`};GcW`( zFfiGPp^ges07Myg3|p^^>b<=9#~Tgarow1 zhy#v6#m_z)On{C5@gSz27H7nV61~UjH3=BFIoq2kUUgezYb!sO&tS63uTTS- z8X+#0XoP6cZiIw@1(bGziu*J|LNKxsVsT0%Bm}adbY&yNVeO3&hfjy{H-PDS28IJ* z1_Q%|Mo5wP0BXTUsKLJ*AtN4aO%NX$H9;I?)db0o?oAMfCN@Drq68}61?5j~f>dH_ zq5LCIb8a;;FsOm@|0Add&Sr=Y#F`mEOCuO$n;`~TH$yB4Y=&5z(hMmd3Y#GV4z10Q z#^=pu$cTw>3uFW(zXcLyk6Iu;|JMRpAtBxhsf^lN85rt8YdbczLKNI>g#^{NR!9ee ztqn4Eqtym6xU>!8lZ$PT#PgyJ;vmU(2(1RCjoTR*vO!BS+8G!k7#JAVK*d=*AnJsm zw0s9cJ$T+<2P$CS0SN)04hFDzFqEIx0g3zE4#+q_Ig~yFr4>6NgIHyq5dCX9A?i1G zLM+_d2?@zlQ27T?@#mma4szj_PKZl=yCC$kE=Z96?}D^^EW06T!>=1Md>-Eov8WSD zPw0kNI33Dg2<5NnhJ@TEs5oB_BuYek7#OTUt7__dAR2RfAVFW=195RXl%CSVz`)1= zaRg{V&T~cv22CbN{DWr6Kr`LRpdf}W;o)LpU~ph$VBltAU=RgqWME(jW`v}ZrBJ>b z10;u>Wnf^a2d%{cxkQPHfnhCFK@TGXgAyYH!xPYQ97YBPCPoH^lZ*@uoJ^45*I;B| zC}U(`xWEV*Cz6Be0}Wh6LD?4>85p*K*84CpFvK!2FeEZCFzkiOu`w|)>||hIumP?A z0r@H%M1a=lFfcIOW@KR40#yhSwq#^rn8U!pa01jmWMp74gvxDXWMGJ8gp3ER0)-G% z95iMK(g(s;P%#i2hTnkJ1TjED{T4$#1A{*!1A`V+;S>f)=c0~*fngU^tcH<+fsqlC z*V|#HFfcH@MPi?WvO&Xj%1jIl`B1&D7#J9M7#SFjL*+pfXr6g417ySuy#5Cy2*RpN z3=G>D7#QL~94O9aWMFWCvO&}`sKK)t7#RLBLWb=(F)}c4FflOfV_;zDXJlYF!3Y_$ zod;Drjgf&t1T?YF*t&jP(eA185kH!poXwB zF)+MmU|`q-m3z$qDI<)a@}Nm)kd!ndq-6`5@dORCUIfjmL)A1gFfjCh6frO`JOo8I zBZC%0Hz-Ae6fiL`*fBCNEMZ_^xB*r4l#zj9DoBojfk9z%qn>a*sF(1Afq`KnBLjmE zBLjmN)L-8~eu3)BVqjo+3}wFqttagVsWAm11OII15U33=9mXK*^PZk%8em0|NsWBLjmTBLf2u69dB~ zMh1q@3=9m;Q1H%VK22l0O5C}@HMWD7#LWg>=}#<3~7uE3^y4eZ4?QpSyG^~i;;n0 zD4hL!1_p*o1_p*#j0_APq2lKm7#J3V z9K^`L@B=CaQVLowsLRB_&<7O*bssh{FfiCNGB7BBDnHOP0aUIWR2P8?OGXBU)1XWY zG604_OF!Kh85piHFfbH=N)}Mb3YAQS8ZZS^2Z2J0k%2)NR7yZY1ElOcBV=A_5h$*q z>b)5l80IrFFf=kUFsz4)ffmPtrjb@M)-y1CV_;xtW?*2L#K^!<2UP$vOp=L#!I_bP zp^A}#;WZ-zcyYvBMh1p2AW0}bz{tR0#>l|X1l4zx5i;;~kCB1l2_pl;dqxI^8z2uc zLK?I z4A;XH#4s{2oMB{OP+?+VuwZ0h*vr7c&;e>|fU18`)&gZKr~__7HL);3Mroj2hASZb zj0_B2P=OK#28OGQ3=EwRK4i@qhz(lS`;L);K^JNus4;vPw0N0;fuV+hf#EBt@MU0N zCeWo z0kkTbiGkr4BLhPyBLl-O1_p*UP}KsJ2N{#W$iR>Y<^N%1US0 z)8Bl<&Yy9zrNeao)Y6jTA9^ROrqo5I7 zkeHWQoS`{+nUnnHD^4Yh0*QHtmnUWxD`>bCrRF7PXij!@QJ7rd;xhT5%SVpllEk8t z)D)}9&s;A~zUihuS=3!?@@#jL&2}ED%$qB`1zC6;R5ePAQ;YHvb5k`Z|Mox4QkI!o zK6z4L!Dikde#Xt3!ABV{$D3TDyWqaAs~nPG(wWYKnq$MrK}WajGW6^PP<^S5JYd2q{WT$t=mt&r8ffC*8sig&ad8s9KTt10;>7|M3sk$Ml ziMduVyA_b!16N|DP?f>u>*?zXbIoMw)S~(bUFV|w@|4UxU8r*rZsfv{)Ae+*QZO;M zG%~hCl7zVdWPxr-IFgK8W=^V=f_^m2*Sf{|$(e~cdN6*hf_-jcW}bddesW??s(xx- zd}y$~k8`}QYjCimyKAt1N>*ZCdcIykKANFmhZvfg8c*&?wcmU#bq3R9#>q01?X&bI z|IC!%Y>@eiX|q<&dZx+0^JFJmv^mt->yl=ZZCxQr^!=WW7u_2n67b{-5?s3fdH>qyoim|QFB|)w&6&>t zp{zE)D9vWncPoOX;rDwwo^75ARr$2P`{~lX49};`f7UVK*|ZJMXSKX+YIw1_dvayD z-{kA%pV?nd>wdbt+iLQsiZzpuRvJ#`uCkmwp-OMFO?3)0+q2GnPdheDevmD{`Ci=@ z=E;wmgeQA9Z)1Bld&i5FQzv(|WG?>I!nm2MZ5QL@EA96-@9$7x+^pKQnRE00DPI{U XpO}_5*=~BJ)bkAs;fWU|B{Kj3h>8dz delta 15265 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 From 9e803043b242d78c62954f9721ee2486850fb3ac Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 4 Apr 2022 15:24:39 -0700 Subject: [PATCH 225/458] Include test files in pylint --- .github/workflows/pylint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 1b14149f2..08661e9c2 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -24,5 +24,5 @@ jobs: pip install pylint - name: Analysing the code with pylint run: | - pylint bookwyrm/ --ignore=migrations,tests --disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401,R0801 + pylint bookwyrm/ --ignore=migrations --disable=E1101,E1135,E1136,R0903,R0901,R0902,W0707,W0511,W0406,R0401,R0801 From 51f5c9562d523c542a44974a478f147c6000cfe4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 8 Apr 2022 13:11:41 -0700 Subject: [PATCH 226/458] Uses details for user menu in main navbar --- .../css/bookwyrm/components/_details.scss | 14 ++++ bookwyrm/templates/layout.html | 60 +-------------- bookwyrm/templates/user_menu.html | 73 +++++++++++++++++++ 3 files changed, 89 insertions(+), 58 deletions(-) create mode 100644 bookwyrm/templates/user_menu.html diff --git a/bookwyrm/static/css/bookwyrm/components/_details.scss b/bookwyrm/static/css/bookwyrm/components/_details.scss index 5708c9461..c9a0b33b8 100644 --- a/bookwyrm/static/css/bookwyrm/components/_details.scss +++ b/bookwyrm/static/css/bookwyrm/components/_details.scss @@ -114,3 +114,17 @@ details[open] summary .details-close { padding-bottom: 0.25rem; } } + +/** Navbar details + ******************************************************************************/ + +#navbar-dropdown .navbar-item { + color: $text; + font-size: 0.875rem; + padding: 0.375rem 3rem 0.375rem 1rem; + white-space: nowrap; +} + +#navbar-dropdown .navbar-item:hover { + background-color: $background-secondary; +} diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index dadf42ab5..6b9e4daa1 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -90,64 +90,8 @@

From 4386d2ddb9b923a92c5fd0f5f1817faadb625055 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 12:00:16 -0700 Subject: [PATCH 193/458] Switches resend email to modal --- .../confirm_email/confirm_email.html | 11 +++-- bookwyrm/templates/confirm_email/resend.html | 10 +++++ .../templates/confirm_email/resend_form.html | 20 --------- .../templates/confirm_email/resend_modal.html | 42 +++++++++++++++++++ bookwyrm/urls.py | 2 +- bookwyrm/views/__init__.py | 3 +- bookwyrm/views/landing/register.py | 28 ++++++++----- 7 files changed, 81 insertions(+), 35 deletions(-) create mode 100644 bookwyrm/templates/confirm_email/resend.html delete mode 100644 bookwyrm/templates/confirm_email/resend_form.html create mode 100644 bookwyrm/templates/confirm_email/resend_modal.html diff --git a/bookwyrm/templates/confirm_email/confirm_email.html b/bookwyrm/templates/confirm_email/confirm_email.html index 8c8adcdd9..65d40829f 100644 --- a/bookwyrm/templates/confirm_email/confirm_email.html +++ b/bookwyrm/templates/confirm_email/confirm_email.html @@ -29,9 +29,14 @@
- {% trans "Can't find your code?" as button_text %} - {% include "snippets/toggle/open_button.html" with text=button_text controls_text="resend_form" focus="resend_form_header" %} - {% include "confirm_email/resend_form.html" with controls_text="resend_form" %} + + {% include "confirm_email/resend_modal.html" with id="resend_form" %}
diff --git a/bookwyrm/templates/confirm_email/resend.html b/bookwyrm/templates/confirm_email/resend.html new file mode 100644 index 000000000..0b5ded068 --- /dev/null +++ b/bookwyrm/templates/confirm_email/resend.html @@ -0,0 +1,10 @@ +{% extends 'landing/layout.html' %} +{% load i18n %} + +{% block title %} +{% trans "Resend confirmation link" %} +{% endblock %} + +{% block content %} +{% include "confirm_email/resend_modal.html" with active=True static=True %} +{% endblock %} diff --git a/bookwyrm/templates/confirm_email/resend_form.html b/bookwyrm/templates/confirm_email/resend_form.html deleted file mode 100644 index 7c0c10980..000000000 --- a/bookwyrm/templates/confirm_email/resend_form.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends "components/inline_form.html" %} -{% load i18n %} -{% block header %} -{% trans "Resend confirmation link" %} -{% endblock %} - -{% block form %} - - {% csrf_token %} -
- -
- -
-
-
- -
- -{% endblock %} diff --git a/bookwyrm/templates/confirm_email/resend_modal.html b/bookwyrm/templates/confirm_email/resend_modal.html new file mode 100644 index 000000000..713fe6445 --- /dev/null +++ b/bookwyrm/templates/confirm_email/resend_modal.html @@ -0,0 +1,42 @@ +{% extends "components/modal.html" %} +{% load i18n %} + +{% block modal-title %} +{% trans "Resend confirmation link" %} +{% endblock %} + +{% block modal-form-open %} +
+{% endblock %} + +{% block modal-body %} +{% csrf_token %} +
+ +
+ +
+

+ {% trans "No user matching this email address found." %} +

+
+
+
+{% endblock %} + +{% block modal-footer %} +
+ +
+{% endblock %} + +{% block modal-form-close %} +
+{% endblock %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 040b479cd..d73327f15 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -71,7 +71,7 @@ urlpatterns = [ views.ConfirmEmailCode.as_view(), name="confirm-email-code", ), - re_path(r"^resend-link/?$", views.resend_link, name="resend-link"), + re_path(r"^resend-link/?$", views.ResendConfirmEmail.as_view(), name="resend-link"), re_path(r"^logout/?$", views.Logout.as_view(), name="logout"), re_path( r"^password-reset/?$", diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 36423feed..eadf423d2 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -52,7 +52,8 @@ from .books.links import BookFileLinks, AddFileLink, delete_link from .landing.about import about, privacy, conduct from .landing.landing import Home, Landing from .landing.login import Login, Logout -from .landing.register import Register, ConfirmEmail, ConfirmEmailCode, resend_link +from .landing.register import Register +from .landing.register import ConfirmEmail, ConfirmEmailCode, ResendConfirmEmail from .landing.password import PasswordResetRequest, PasswordReset # shelves diff --git a/bookwyrm/views/landing/register.py b/bookwyrm/views/landing/register.py index 86cd96ea9..681ce0a5e 100644 --- a/bookwyrm/views/landing/register.py +++ b/bookwyrm/views/landing/register.py @@ -5,7 +5,6 @@ from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.views import View -from django.views.decorators.http import require_POST from django.views.decorators.debug import sensitive_variables, sensitive_post_parameters from bookwyrm import emailing, forms, models @@ -129,12 +128,21 @@ class ConfirmEmail(View): return ConfirmEmailCode().get(request, code) -@require_POST -def resend_link(request): - """resend confirmation link""" - email = request.POST.get("email") - user = get_object_or_404(models.User, email=email) - emailing.email_confirmation_email(user) - return TemplateResponse( - request, "confirm_email/confirm_email.html", {"valid": True} - ) +class ResendConfirmEmail(View): + """you probably didn't get the email because celery is slow but you can try this""" + def get(self, request, error=False): + """resend link landing page""" + return TemplateResponse(request, "confirm_email/resend.html", {"error": error}) + + def post(self, request): + """resend confirmation link""" + email = request.POST.get("email") + try: + user = models.User.objects.get(email=email) + except models.User.DoesNotExist: + return self.get(request, error=True) + + emailing.email_confirmation_email(user) + return TemplateResponse( + request, "confirm_email/confirm_email.html", {"valid": True} + ) From f2ab890b5af49d1d80583ca5c66dd799e4d986a8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 12:07:07 -0700 Subject: [PATCH 194/458] Adds fallback form to modal --- .../templates/confirm_email/confirm_email.html | 16 +++++++++------- .../templates/confirm_email/resend_modal.html | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bookwyrm/templates/confirm_email/confirm_email.html b/bookwyrm/templates/confirm_email/confirm_email.html index 65d40829f..abdd3a734 100644 --- a/bookwyrm/templates/confirm_email/confirm_email.html +++ b/bookwyrm/templates/confirm_email/confirm_email.html @@ -29,13 +29,15 @@
- +
+ +
{% include "confirm_email/resend_modal.html" with id="resend_form" %}
diff --git a/bookwyrm/templates/confirm_email/resend_modal.html b/bookwyrm/templates/confirm_email/resend_modal.html index 713fe6445..beb9318a9 100644 --- a/bookwyrm/templates/confirm_email/resend_modal.html +++ b/bookwyrm/templates/confirm_email/resend_modal.html @@ -22,11 +22,13 @@ aria-described-by="id_email_errors" required > + {% if error %}

{% trans "No user matching this email address found." %}

+ {% endif %} {% endblock %} From 78ac252daecf813b6c1a51e9c6ff3aa29d94008d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 12:08:57 -0700 Subject: [PATCH 195/458] Python formatting --- bookwyrm/views/landing/register.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/views/landing/register.py b/bookwyrm/views/landing/register.py index 681ce0a5e..f9a3cecb8 100644 --- a/bookwyrm/views/landing/register.py +++ b/bookwyrm/views/landing/register.py @@ -130,6 +130,7 @@ class ConfirmEmail(View): class ResendConfirmEmail(View): """you probably didn't get the email because celery is slow but you can try this""" + def get(self, request, error=False): """resend link landing page""" return TemplateResponse(request, "confirm_email/resend.html", {"error": error}) From 1b53c81351b1d952e666e5a8d3ff43d6fb059d07 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 19 Mar 2022 15:16:20 -0700 Subject: [PATCH 196/458] Updates tests --- bookwyrm/templates/confirm_email/resend.html | 2 +- bookwyrm/tests/views/landing/test_register.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/confirm_email/resend.html b/bookwyrm/templates/confirm_email/resend.html index 0b5ded068..221f07565 100644 --- a/bookwyrm/templates/confirm_email/resend.html +++ b/bookwyrm/templates/confirm_email/resend.html @@ -6,5 +6,5 @@ {% endblock %} {% block content %} -{% include "confirm_email/resend_modal.html" with active=True static=True %} +{% include "confirm_email/resend_modal.html" with active=True static=True id="resend-modal" %} {% endblock %} diff --git a/bookwyrm/tests/views/landing/test_register.py b/bookwyrm/tests/views/landing/test_register.py index dd2c5e971..24360a646 100644 --- a/bookwyrm/tests/views/landing/test_register.py +++ b/bookwyrm/tests/views/landing/test_register.py @@ -360,10 +360,17 @@ class RegisterViews(TestCase): result = view(request) validate_html(result.render()) - def test_resend_link(self, *_): + def test_resend_link_get(self, *_): + """try again""" + request = self.factory.get("") + request.user = self.anonymous_user + result = views.ResendConfirmEmail.as_view()(request) + validate_html(result.render()) + + def test_resend_link_post(self, *_): """try again""" request = self.factory.post("", {"email": "mouse@mouse.com"}) request.user = self.anonymous_user with patch("bookwyrm.emailing.send_email.delay") as mock: - views.resend_link(request) + views.ResendConfirmEmail.as_view()(request) self.assertEqual(mock.call_count, 1) From 3f7afc901487377de5aff901bc0ee6458fdc2e4e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 21 Mar 2022 12:24:31 -0700 Subject: [PATCH 197/458] Adds prompt to import books in null state of suggested books --- bookwyrm/templates/feed/suggested_books.html | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/feed/suggested_books.html b/bookwyrm/templates/feed/suggested_books.html index 2582dcf06..12e478201 100644 --- a/bookwyrm/templates/feed/suggested_books.html +++ b/bookwyrm/templates/feed/suggested_books.html @@ -5,7 +5,19 @@

{% trans "Your Books" %}

{% if not suggested_books %} -

{% trans "There are no books here right now! Try searching for a book to get started" %}

+ +
+

{% trans "There are no books here right now! Try searching for a book to get started" %}

+ + +
+ {% else %} {% with active_book=request.GET.book %}
From 34166b8a2fbeeb82fe12c2fffc84306f380041f7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 21 Mar 2022 12:24:47 -0700 Subject: [PATCH 198/458] Uses help instead of tooltip for goodreads export info --- bookwyrm/templates/import/import.html | 40 ++++++++++++++------------ bookwyrm/templates/import/tooltip.html | 8 ------ 2 files changed, 22 insertions(+), 26 deletions(-) delete mode 100644 bookwyrm/templates/import/tooltip.html diff --git a/bookwyrm/templates/import/import.html b/bookwyrm/templates/import/import.html index fdeb0e55b..1475acc06 100644 --- a/bookwyrm/templates/import/import.html +++ b/bookwyrm/templates/import/import.html @@ -14,28 +14,32 @@
-
-
- -
{{ import_form.csv_file }} diff --git a/bookwyrm/templates/import/tooltip.html b/bookwyrm/templates/import/tooltip.html deleted file mode 100644 index f2712b7e9..000000000 --- a/bookwyrm/templates/import/tooltip.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'components/tooltip.html' %} -{% load i18n %} - -{% block tooltip_content %} - -{% trans 'You can download your Goodreads data from the Import/Export page of your Goodreads account.' %} - -{% endblock %} From 9e792a89016210427c0bef3e132aa3c5b1c06426 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 21 Mar 2022 12:26:07 -0700 Subject: [PATCH 199/458] Italics for null state text on import page, to be consistent --- bookwyrm/templates/import/import.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/import/import.html b/bookwyrm/templates/import/import.html index 1475acc06..6df7c0843 100644 --- a/bookwyrm/templates/import/import.html +++ b/bookwyrm/templates/import/import.html @@ -67,7 +67,7 @@

{% trans "Recent Imports" %}

{% if not jobs %} -

{% trans "No recent imports" %}

+

{% trans "No recent imports" %}

{% endif %}
    {% for job in jobs %} From 43cc017b44ccbef6dd54d0a10d462ee99d2a7d4b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 21 Mar 2022 12:32:53 -0700 Subject: [PATCH 200/458] Removes tooltip component --- bookwyrm/static/css/bookwyrm/_all.scss | 8 -------- bookwyrm/templates/components/tooltip.html | 11 ----------- .../settings/ip_blocklist/ip_address_form.html | 1 + .../templates/settings/ip_blocklist/ip_tooltip.html | 8 -------- 4 files changed, 1 insertion(+), 27 deletions(-) delete mode 100644 bookwyrm/templates/components/tooltip.html delete mode 100644 bookwyrm/templates/settings/ip_blocklist/ip_tooltip.html diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 6002785f7..79e5cf52c 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -129,14 +129,6 @@ button:focus-visible .button-invisible-overlay { } - -/** Tooltips - ******************************************************************************/ - -.tooltip { - width: 100%; -} - /** States ******************************************************************************/ diff --git a/bookwyrm/templates/components/tooltip.html b/bookwyrm/templates/components/tooltip.html deleted file mode 100644 index 3176a6399..000000000 --- a/bookwyrm/templates/components/tooltip.html +++ /dev/null @@ -1,11 +0,0 @@ -{% load i18n %} - -{% trans "Help" as button_text %} -{% include 'snippets/toggle/open_button.html' with text=button_text class="ml-3 is-rounded is-small has-background-body p-0 pb-1" icon="question-circle is-size-6" controls_text=controls_text controls_uid=controls_uid %} - - diff --git a/bookwyrm/templates/settings/ip_blocklist/ip_address_form.html b/bookwyrm/templates/settings/ip_blocklist/ip_address_form.html index 4a776987f..2afc00b4e 100644 --- a/bookwyrm/templates/settings/ip_blocklist/ip_address_form.html +++ b/bookwyrm/templates/settings/ip_blocklist/ip_address_form.html @@ -21,6 +21,7 @@
    +

    {% trans "You can block IP ranges using CIDR syntax." %}

    {% include 'snippets/form_errors.html' with errors_list=form.address.errors id="desc_address" %} diff --git a/bookwyrm/templates/settings/ip_blocklist/ip_tooltip.html b/bookwyrm/templates/settings/ip_blocklist/ip_tooltip.html deleted file mode 100644 index 3a2bf543a..000000000 --- a/bookwyrm/templates/settings/ip_blocklist/ip_tooltip.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'components/tooltip.html' %} -{% load i18n %} - -{% block tooltip_content %} - -{% trans "You can block IP ranges using CIDR syntax." %} - -{% endblock %} From 951b611881a800107143f01d25601c7b69c01f51 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 10:40:42 -0700 Subject: [PATCH 201/458] Paginates results --- bookwyrm/templates/settings/reports/reports.html | 1 + bookwyrm/views/admin/reports.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/reports/reports.html b/bookwyrm/templates/settings/reports/reports.html index 99cca1a75..64db2f26b 100644 --- a/bookwyrm/templates/settings/reports/reports.html +++ b/bookwyrm/templates/settings/reports/reports.html @@ -44,5 +44,6 @@ {% endfor %}
+{% include 'snippets/pagination.html' with page=reports path=request.path %} {% endblock %} diff --git a/bookwyrm/views/admin/reports.py b/bookwyrm/views/admin/reports.py index bf9553e52..c19e3db4a 100644 --- a/bookwyrm/views/admin/reports.py +++ b/bookwyrm/views/admin/reports.py @@ -1,5 +1,6 @@ """ moderation via flagged posts and users """ from django.contrib.auth.decorators import login_required, permission_required +from django.core.paginator import Paginator from django.core.exceptions import PermissionDenied from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse @@ -7,6 +8,7 @@ from django.utils.decorators import method_decorator from django.views import View from bookwyrm import forms, models +from bookwyrm.settings import PAGE_LENGTH # pylint: disable=no-self-use @@ -34,10 +36,17 @@ class ReportsAdmin(View): if username: filters["user__username__icontains"] = username filters["resolved"] = resolved + + reports = models.Report.objects.filter(**filters) + paginated = Paginator(reports, PAGE_LENGTH) + page = paginated.get_page(request.GET.get("page")) data = { "resolved": resolved, "server": server, - "reports": models.Report.objects.filter(**filters), + "reports": page, + "page_range": paginated.get_elided_page_range( + page.number, on_each_side=2, on_ends=1 + ), } return TemplateResponse(request, "settings/reports/reports.html", data) From 533642bf7e7ff23d85f476180240a47998863970 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 10:43:17 -0700 Subject: [PATCH 202/458] Adds link to admin view --- bookwyrm/templates/settings/users/user_info.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bookwyrm/templates/settings/users/user_info.html b/bookwyrm/templates/settings/users/user_info.html index a5447931c..81b3a219b 100644 --- a/bookwyrm/templates/settings/users/user_info.html +++ b/bookwyrm/templates/settings/users/user_info.html @@ -14,6 +14,10 @@ {% endif %}

{% trans "View user profile" %}

+ {% url 'settings-user' user.id as url %} + {% if not request.path == url %} +

{% trans "Go to user admin" %}

+ {% endif %}
From 82f87a3ff59f1cc6bd28dbfb037df3bda24913a8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 10:55:32 -0700 Subject: [PATCH 203/458] Adds colored icon for user status in admin table --- .../templates/settings/users/user_admin.html | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/settings/users/user_admin.html b/bookwyrm/templates/settings/users/user_admin.html index fdd9fb7df..4144f0bde 100644 --- a/bookwyrm/templates/settings/users/user_admin.html +++ b/bookwyrm/templates/settings/users/user_admin.html @@ -61,10 +61,25 @@
{{ user|username }} + {{ user|username }} + {{ user.created_date }} {{ user.last_active_date }}{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %} + {% if user.is_active %} + + {% trans "Active" %} + {% else %} + + {% trans "Inactive" %} + ({{ user.get_deactivation_reason_display }}) + {% endif %} + {% if user.federated_server %} From 0166cca0b75d841633af936d9c40f11c8522fad0 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 11:01:02 -0700 Subject: [PATCH 204/458] Show created date and follower counts in admin view Adds "admin_mode" to user_preview --- bookwyrm/templates/settings/users/user_info.html | 5 ++++- bookwyrm/templates/user/user_preview.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/settings/users/user_info.html b/bookwyrm/templates/settings/users/user_info.html index 81b3a219b..a04db3b8e 100644 --- a/bookwyrm/templates/settings/users/user_info.html +++ b/bookwyrm/templates/settings/users/user_info.html @@ -6,7 +6,7 @@

{% trans "Profile" %}

- {% include 'user/user_preview.html' with user=user %} + {% include 'user/user_preview.html' with user=user admin_mode=True %} {% if user.summary %}
{{ user.summary|to_markdown|safe }} @@ -71,6 +71,9 @@
{% trans "Blocked by count:" %}
{{ user.blocked_by.count }}
+
{% trans "Date added:" %}
+
{{ user.created_date }}
+
{% trans "Last active date:" %}
{{ user.last_active_date }}
diff --git a/bookwyrm/templates/user/user_preview.html b/bookwyrm/templates/user/user_preview.html index 0ed7c8ccd..c6bc180cb 100755 --- a/bookwyrm/templates/user/user_preview.html +++ b/bookwyrm/templates/user/user_preview.html @@ -21,7 +21,7 @@

{{ user.username }}

{% blocktrans with date=user.created_date|naturaltime %}Joined {{ date }}{% endblocktrans %}

- {% if request.user.id == user.id %} + {% if request.user.id == user.id or admin_mode %} {% blocktrans count counter=user.followers.count %}{{ counter }} follower{% plural %}{{ counter }} followers{% endblocktrans %}, {% blocktrans with counter=user.following.count %}{{ counter }} following{% endblocktrans %} From a3b9c621afe964ff3b2f77046ee4cd4dabc26c59 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 11:25:42 -0700 Subject: [PATCH 205/458] Trigger rebroadcast of follow requests --- bookwyrm/models/relationship.py | 4 +++- bookwyrm/views/follow.py | 19 ++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index e95c38fa5..cd72c756b 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -133,7 +133,9 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): user_object=self.user_subject, ) ).exists(): - raise IntegrityError() + raise IntegrityError( + "Attempting to follow blocked user", self.user_subject, self.user_object + ) super().save(*args, **kwargs) if broadcast and self.user_subject.local and not self.user_object.local: diff --git a/bookwyrm/views/follow.py b/bookwyrm/views/follow.py index 6e58a2b22..3ee392e32 100644 --- a/bookwyrm/views/follow.py +++ b/bookwyrm/views/follow.py @@ -2,7 +2,6 @@ import urllib.parse import re from django.contrib.auth.decorators import login_required -from django.db import IntegrityError from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.views.decorators.http import require_POST @@ -23,16 +22,14 @@ def follow(request): username = request.POST["user"] to_follow = get_user_from_username(request.user, username) - try: - models.UserFollowRequest.objects.create( - user_subject=request.user, - user_object=to_follow, - ) - except IntegrityError: - pass - - if request.GET.get("next"): - return redirect(request.GET.get("next", "/")) + follow_request, created = models.UserFollowRequest.objects.get_or_create( + user_subject=request.user, + user_object=to_follow, + ) + if not created: + # this request probably failed to connect with the remote + # that means we should save to trigger a re-broadcast + follow_request.save() return redirect(to_follow.local_path) From aefb0c9b14e5ff24c120d48a2371546d86edafc7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 12:43:01 -0700 Subject: [PATCH 206/458] Re-consider list privacy on edit Please run ci?? --- bookwyrm/lists_stream.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bookwyrm/lists_stream.py b/bookwyrm/lists_stream.py index f6a35cc25..c40d2b534 100644 --- a/bookwyrm/lists_stream.py +++ b/bookwyrm/lists_stream.py @@ -115,9 +115,12 @@ class ListsStream(RedisStore): @receiver(signals.post_save, sender=models.List) # pylint: disable=unused-argument def add_list_on_create(sender, instance, created, *args, **kwargs): - """add newly created lists streamsstreams""" + """add newly created lists streams""" if not created: + # the privacy may have changed, so we need to re-do the whole thing + remove_list_task.delay(instance.id, re_add=True) return + # when creating new things, gotta wait on the transaction transaction.on_commit(lambda: add_list_on_create_command(instance.id)) @@ -217,7 +220,7 @@ def populate_lists_task(user_id): @app.task(queue=MEDIUM) -def remove_list_task(list_id): +def remove_list_task(list_id, re_add=False): """remove a list from any stream it might be in""" stores = models.User.objects.filter(local=True, is_active=True).values_list( "id", flat=True @@ -227,6 +230,9 @@ def remove_list_task(list_id): stores = [ListsStream().stream_id(idx) for idx in stores] ListsStream().remove_object_from_related_stores(list_id, stores=stores) + if re_add: + add_list_task.delay(list_id) + @app.task(queue=HIGH) def add_list_task(list_id): From 4f24b05d60e271c684773a1dbee73120208cc54a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 24 Mar 2022 13:10:49 -0700 Subject: [PATCH 207/458] Clear cache regardless of view success --- bookwyrm/models/relationship.py | 28 +++++++++++++++++++++------- bookwyrm/views/follow.py | 7 +++++-- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index cd72c756b..a0939b4b1 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -39,15 +39,14 @@ class UserRelationship(BookWyrmModel): def save(self, *args, **kwargs): """clear the template cache""" - # invalidate the template cache - cache.delete_many( - [ - f"relationship-{self.user_subject.id}-{self.user_object.id}", - f"relationship-{self.user_object.id}-{self.user_subject.id}", - ] - ) + clear_cache(self.user_subject, self.user_subject) super().save(*args, **kwargs) + def delete(self, *args, **kwargs): + """clear the template cache""" + clear_cache(self.user_subject, self.user_subject) + super().delete(*args, **kwargs) + class Meta: """relationships should be unique""" @@ -98,6 +97,7 @@ class UserFollows(ActivityMixin, UserRelationship): @classmethod def from_request(cls, follow_request): """converts a follow request into a follow relationship""" + print("from!!", cls) return cls.objects.create( user_subject=follow_request.user_subject, user_object=follow_request.user_object, @@ -115,6 +115,7 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): """make sure the follow or block relationship doesn't already exist""" # if there's a request for a follow that already exists, accept it # without changing the local database state + print("UHHH????") if UserFollows.objects.filter( user_subject=self.user_subject, user_object=self.user_object, @@ -136,6 +137,7 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): raise IntegrityError( "Attempting to follow blocked user", self.user_subject, self.user_object ) + print("super save!") super().save(*args, **kwargs) if broadcast and self.user_subject.local and not self.user_object.local: @@ -144,10 +146,12 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): if self.user_object.local: manually_approves = self.user_object.manually_approves_followers if not manually_approves: + print("accept") self.accept() model = apps.get_model("bookwyrm.Notification", require_ready=True) notification_type = "FOLLOW_REQUEST" if manually_approves else "FOLLOW" + print("notification") model.objects.create( user=self.user_object, related_user=self.user_subject, @@ -175,6 +179,7 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): return with transaction.atomic(): + print("from request") UserFollows.from_request(self) self.delete() @@ -209,3 +214,12 @@ class UserBlocks(ActivityMixin, UserRelationship): Q(user_subject=self.user_subject, user_object=self.user_object) | Q(user_subject=self.user_object, user_object=self.user_subject) ).delete() + +def clear_cache(user_subject, user_object): + """clear relationship cache""" + cache.delete_many( + [ + f"relationship-{user_subject.id}-{user_object.id}", + f"relationship-{user_object.id}-{user_subject.id}", + ] + ) diff --git a/bookwyrm/views/follow.py b/bookwyrm/views/follow.py index 3ee392e32..8bbcfca86 100644 --- a/bookwyrm/views/follow.py +++ b/bookwyrm/views/follow.py @@ -7,6 +7,7 @@ from django.template.response import TemplateResponse from django.views.decorators.http import require_POST from bookwyrm import models +from bookwyrm.models.relationship import clear_cache from .helpers import ( get_user_from_username, handle_remote_webfinger, @@ -21,11 +22,13 @@ def follow(request): """follow another user, here or abroad""" username = request.POST["user"] to_follow = get_user_from_username(request.user, username) + clear_cache(request.user, to_follow) follow_request, created = models.UserFollowRequest.objects.get_or_create( user_subject=request.user, user_object=to_follow, ) + if not created: # this request probably failed to connect with the remote # that means we should save to trigger a re-broadcast @@ -46,14 +49,14 @@ def unfollow(request): user_subject=request.user, user_object=to_unfollow ).delete() except models.UserFollows.DoesNotExist: - pass + clear_cache(request.user, to_unfollow) try: models.UserFollowRequest.objects.get( user_subject=request.user, user_object=to_unfollow ).delete() except models.UserFollowRequest.DoesNotExist: - pass + clear_cache(request.user, to_unfollow) # this is handled with ajax so it shouldn't really matter return redirect(request.headers.get("Referer", "/")) From 27e23e76ae7c61d958fac1527283942892276c53 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 09:43:49 -0700 Subject: [PATCH 208/458] Fixes typo in about link --- bookwyrm/templates/about/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/about/about.html b/bookwyrm/templates/about/about.html index f1ddd2f38..b04e21b17 100644 --- a/bookwyrm/templates/about/about.html +++ b/bookwyrm/templates/about/about.html @@ -99,7 +99,7 @@

{% url "conduct" as coc_path %} {% blocktrans trimmed with site_name=site.name %} - {{ site_name }}'s moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior. + {{ site_name }}'s moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior. {% endblocktrans %}

From a6ae55608a6ed6a1b0d1d7d70dcb84322581a4ec Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 10:03:50 -0700 Subject: [PATCH 209/458] Adds Romanian locale --- .../0147_alter_user_preferred_language.py | 18 + bookwyrm/settings.py | 1 + bw-dev | 1 + locale/de_DE/LC_MESSAGES/django.mo | Bin 30883 -> 88055 bytes locale/de_DE/LC_MESSAGES/django.po | 308 +- locale/en_US/LC_MESSAGES/django.po | 216 +- locale/es_ES/LC_MESSAGES/django.mo | Bin 83383 -> 83264 bytes locale/es_ES/LC_MESSAGES/django.po | 218 +- locale/fr_FR/LC_MESSAGES/django.mo | Bin 44850 -> 95243 bytes locale/fr_FR/LC_MESSAGES/django.po | 248 +- locale/gl_ES/LC_MESSAGES/django.mo | Bin 90452 -> 90810 bytes locale/gl_ES/LC_MESSAGES/django.po | 220 +- locale/it_IT/LC_MESSAGES/django.mo | Bin 91821 -> 92062 bytes locale/it_IT/LC_MESSAGES/django.po | 218 +- locale/lt_LT/LC_MESSAGES/django.mo | Bin 84525 -> 84385 bytes locale/lt_LT/LC_MESSAGES/django.po | 220 +- locale/no_NO/LC_MESSAGES/django.mo | Bin 79522 -> 79389 bytes locale/no_NO/LC_MESSAGES/django.po | 218 +- locale/pt_BR/LC_MESSAGES/django.mo | Bin 91084 -> 91435 bytes locale/pt_BR/LC_MESSAGES/django.po | 218 +- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72651 -> 72516 bytes locale/pt_PT/LC_MESSAGES/django.po | 218 +- locale/ro_RO/LC_MESSAGES/django.mo | Bin 0 -> 67747 bytes locale/ro_RO/LC_MESSAGES/django.po | 5119 +++++++++++++++++ locale/sv_SE/LC_MESSAGES/django.mo | Bin 87525 -> 89210 bytes locale/sv_SE/LC_MESSAGES/django.po | 268 +- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 44096 -> 85895 bytes locale/zh_Hans/LC_MESSAGES/django.po | 269 +- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 38839 -> 36001 bytes locale/zh_Hant/LC_MESSAGES/django.po | 223 +- 30 files changed, 6815 insertions(+), 1386 deletions(-) create mode 100644 bookwyrm/migrations/0147_alter_user_preferred_language.py create mode 100644 locale/ro_RO/LC_MESSAGES/django.mo create mode 100644 locale/ro_RO/LC_MESSAGES/django.po diff --git a/bookwyrm/migrations/0147_alter_user_preferred_language.py b/bookwyrm/migrations/0147_alter_user_preferred_language.py new file mode 100644 index 000000000..2d1b94b6f --- /dev/null +++ b/bookwyrm/migrations/0147_alter_user_preferred_language.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2022-03-26 16:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0146_auto_20220316_2352'), + ] + + operations = [ + migrations.AlterField( + model_name='user', + name='preferred_language', + field=models.CharField(blank=True, choices=[('en-us', 'English'), ('de-de', 'Deutsch (German)'), ('es-es', 'Español (Spanish)'), ('gl-es', 'Galego (Galician)'), ('it-it', 'Italiano (Italian)'), ('fr-fr', 'Français (French)'), ('lt-lt', 'Lietuvių (Lithuanian)'), ('no-no', 'Norsk (Norwegian)'), ('pt-br', 'Português do Brasil (Brazilian Portuguese)'), ('pt-pt', 'Português Europeu (European Portuguese)'), ('ro-ro', 'Română (Romanian)'), ('sv-se', 'Svenska (Swedish)'), ('zh-hans', '简体中文 (Simplified Chinese)'), ('zh-hant', '繁體中文 (Traditional Chinese)')], max_length=255, null=True), + ), + ] diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index f8d4c397f..409bcedf2 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -289,6 +289,7 @@ LANGUAGES = [ ("no-no", _("Norsk (Norwegian)")), ("pt-br", _("Português do Brasil (Brazilian Portuguese)")), ("pt-pt", _("Português Europeu (European Portuguese)")), + ("ro-ro", _("Română (Romanian)")), ("sv-se", _("Svenska (Swedish)")), ("zh-hans", _("简体中文 (Simplified Chinese)")), ("zh-hant", _("繁體中文 (Traditional Chinese)")), diff --git a/bw-dev b/bw-dev index ed695934b..6e2c450b9 100755 --- a/bw-dev +++ b/bw-dev @@ -123,6 +123,7 @@ case "$CMD" in git checkout l10n_main locale/no_NO git checkout l10n_main locale/pt_PT git checkout l10n_main locale/pt_BR + git checkout l10n_main locale/ro_RO git checkout l10n_main locale/sv_SE git checkout l10n_main locale/zh_Hans git checkout l10n_main locale/zh_Hant diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 4ce83f72b3f3850c58528f13afcd23442a75a515..4ce7be0f7b55431fd795b0b87ba64a8fbfeb7102 100644 GIT binary patch literal 88055 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 b_;U3Wm^y@vjzURMVoE0He$UjL98CrQy}3P= literal 30883 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 diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 83179655d..c36e17964 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-03-16 23:12+0000\n" -"PO-Revision-Date: 2022-03-16 23:34\n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-20 09:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -60,7 +60,7 @@ msgstr "Diese Domain ist blockiert. Bitte kontaktiere einen Administrator, wenn #: bookwyrm/forms/links.py:46 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." -msgstr "" +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." #: bookwyrm/forms/lists.py:26 msgid "List Order" @@ -119,7 +119,7 @@ msgstr "Gefahr" #: bookwyrm/models/antispam.py:106 bookwyrm/models/antispam.py:140 msgid "Automatically generated report" -msgstr "" +msgstr "Automatisch generierter Report" #: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 #: bookwyrm/templates/import/import_status.html:200 @@ -245,7 +245,7 @@ msgstr "Zum Liehen erhältlich" msgid "Approved" msgstr "Bestätigt" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Besprechungen" @@ -554,8 +554,8 @@ msgstr "… und das längste" #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
and achieved %(goal_percent)s%% of that goal" -msgstr[0] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Buch zu lesen
und hat %(goal_percent)s% % dieses Ziels erreicht" -msgstr[1] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Bücher zu lesen
und hat %(goal_percent)s% % dieses Ziels erreicht" +msgstr[0] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Buch zu lesen
und hat %(goal_percent)s %% dieses Ziels erreicht" +msgstr[1] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Bücher zu lesen
und hat %(goal_percent)s %% dieses Ziels erreicht" #: bookwyrm/templates/annual_summary/layout.html:209 msgid "Way to go!" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Autor*in bearbeiten:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Hinzugefügt:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Aktualisiert:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Zuletzt bearbeitet von:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadaten" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Name:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Mehrere Werte durch Kommas getrennt eingeben." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary-Schlüssel:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Inventaire-ID:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Speichern" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s aufbauen und überprüfen, ob Autor*in-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -782,7 +782,7 @@ msgstr "Bestätigen" #: bookwyrm/templates/book/book.html:19 msgid "Unable to connect to remote source." -msgstr "" +msgstr "Verbindung zum Server konnte nicht hergestellt werden." #: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Beschreibung hinzufügen" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beschreibung:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s Ausgaben" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Du hast diese Ausgabe im folgenden Regal:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Eine andere Ausgabe dieses Buches befindet sich in deinem %(shelf_name)s Regal." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Deine Leseaktivität" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Lesedaten hinzufügen" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Du hast keine Leseaktivität für dieses Buch." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Deine Besprechungen" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Deine Kommentare" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Deine Zitate" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Themen" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Orte" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Orte" msgid "Lists" msgstr "Listen" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Zur Liste hinzufügen" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "OCLC-Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Titelbild hinzufügen" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Titelbild hochladen:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Titelbild von URL laden:" @@ -929,177 +931,177 @@ msgstr "Vorschau des Titelbilds" msgid "Close" msgstr "Schließen" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "„%(book_title)s“ bearbeiten" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Buch hinzufügen" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Buchinfo bestätigen" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "Ist „%(name)s“ einer dieser Autor*innen?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autor*in von " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Weitere Informationen auf isni.org finden" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Neue*r Autor*in" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Als neue*r Autor*in erstellen: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "Ist das eine Ausgabe eines vorhandenen Werkes?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Dies ist ein neues Werk." -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Zurück" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Untertitel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Nummer in der Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Sprachen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" -msgstr "" +msgstr "Betreff:" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" -msgstr "" +msgstr "Betreff hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" -msgstr "" +msgstr "Betreff entfernen" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" -msgstr "" +msgstr "Weiteren Betreff hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Veröffentlichung" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Verlag:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Erstveröffentlichungsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Veröffentlichungsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autor*innen" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "%(name)s entfernen" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Autor*inseite für %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Autor*innen hinzufügen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Autor*in hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Lisa Musterfrau" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Weitere*n Autor*in hinzufügen" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Titelbild" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Physikalische Eigenschaften" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Formatdetails:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Buch-Identifikatoren" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "OpenLibrary-ID:" @@ -1113,6 +1115,14 @@ msgstr "Ausgaben von %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Ausgaben von \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1156,7 +1166,7 @@ msgstr "Links bearbeiten" #: bookwyrm/templates/book/file_links/edit_links.html:11 #, python-format msgid "Links for \"%(title)s\"" -msgstr "" +msgstr "Links zu \"%(title)s\"" #: bookwyrm/templates/book/file_links/edit_links.html:32 #: bookwyrm/templates/settings/link_domains/link_table.html:6 @@ -1183,7 +1193,7 @@ msgstr "Domain" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Bestätigungscode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "%(name)s erlaubt keine Selbtregistrierung" msgid "Thank you! Your request has been received." msgstr "Danke! Deine Anfrage ist eingegangen." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Dein Benutzer*inkonto" @@ -2251,7 +2261,7 @@ msgstr "Nach einem Buch, einem*r Benutzer*in oder einer Liste suchen" #: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 msgid "Scan Barcode" -msgstr "" +msgstr "Barcode scannen" #: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" @@ -2464,7 +2474,7 @@ msgstr "Eine optionale Notiz die zusammen mit dem Buch angezeigt wird." #: bookwyrm/templates/lists/list.html:37 msgid "That book is already on this list." -msgstr "" +msgstr "Dieses Buch ist bereits auf dieser Liste." #: bookwyrm/templates/lists/list.html:45 msgid "You successfully suggested a book for this list!" @@ -2898,7 +2908,7 @@ msgstr "Profil" #: bookwyrm/templates/settings/site.html:77 #: bookwyrm/templates/setup/config.html:91 msgid "Display" -msgstr "" +msgstr "Anzeige" #: bookwyrm/templates/preferences/edit_user.html:14 #: bookwyrm/templates/preferences/edit_user.html:112 @@ -2928,7 +2938,7 @@ msgstr "Bevorzugte Zeitzone:" #: bookwyrm/templates/preferences/edit_user.html:101 msgid "Theme:" -msgstr "" +msgstr "Thema:" #: bookwyrm/templates/preferences/edit_user.html:117 msgid "Manually approve followers" @@ -3040,38 +3050,40 @@ msgstr "Melden" msgid "\n" " Scan Barcode\n" " " -msgstr "" +msgstr "\n" +" Barcode scannen\n" +" " #: bookwyrm/templates/search/barcode_modal.html:23 msgid "Requesting camera..." -msgstr "" +msgstr "Kamera wird angefragt..." #: bookwyrm/templates/search/barcode_modal.html:24 msgid "Grant access to the camera to scan a book's barcode." -msgstr "" +msgstr "Erlaube Zugriff auf die Kamera, um den Barcode eines Buches zu scannen." #: bookwyrm/templates/search/barcode_modal.html:29 msgid "Could not access camera" -msgstr "" +msgstr "Konnte nicht auf die Kamera zugreifen" #: bookwyrm/templates/search/barcode_modal.html:33 msgctxt "barcode scanner" msgid "Scanning..." -msgstr "" +msgstr "Scannen..." #: bookwyrm/templates/search/barcode_modal.html:34 msgid "Align your book's barcode with the camera." -msgstr "" +msgstr "Richten Sie den Barcode Ihres Buches mit der Kamera aus." #: bookwyrm/templates/search/barcode_modal.html:38 msgctxt "barcode scanner" msgid "ISBN scanned" -msgstr "" +msgstr "ISBN gescannt" #: bookwyrm/templates/search/barcode_modal.html:39 msgctxt "followed by ISBN" msgid "Searching for book:" -msgstr "" +msgstr "Nach Buch suchen:" #: bookwyrm/templates/search/book.html:44 msgid "Results from" @@ -3235,7 +3247,7 @@ msgstr "" #: bookwyrm/templates/settings/automod/rules.html:19 msgid "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." -msgstr "" +msgstr "Benutzer oder Status, die bereits gemeldet wurden (unabhängig davon, ob der Bericht gelöst wurde) werden nicht markiert." #: bookwyrm/templates/settings/automod/rules.html:26 msgid "Schedule:" @@ -3276,7 +3288,7 @@ msgstr "" #: bookwyrm/templates/settings/automod/rules.html:107 msgid "Add Rule" -msgstr "" +msgstr "Regel hinzufügen" #: bookwyrm/templates/settings/automod/rules.html:116 #: bookwyrm/templates/settings/automod/rules.html:160 @@ -3286,28 +3298,28 @@ msgstr "" #: bookwyrm/templates/settings/automod/rules.html:126 #: bookwyrm/templates/settings/automod/rules.html:163 msgid "Flag users" -msgstr "" +msgstr "Benutzer markieren" #: bookwyrm/templates/settings/automod/rules.html:133 #: bookwyrm/templates/settings/automod/rules.html:166 msgid "Flag statuses" -msgstr "" +msgstr "Status markieren" #: bookwyrm/templates/settings/automod/rules.html:140 msgid "Add rule" -msgstr "" +msgstr "Regel hinzufügen" #: bookwyrm/templates/settings/automod/rules.html:147 msgid "Current Rules" -msgstr "" +msgstr "Aktuelle Regeln" #: bookwyrm/templates/settings/automod/rules.html:151 msgid "Show rules" -msgstr "" +msgstr "Regeln anzeigen" #: bookwyrm/templates/settings/automod/rules.html:188 msgid "Remove rule" -msgstr "" +msgstr "Regel entfernen" #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 @@ -3484,7 +3496,7 @@ msgstr "Version:" #: bookwyrm/templates/settings/federation/instance.html:17 msgid "Refresh data" -msgstr "" +msgstr "Daten aktualisieren" #: bookwyrm/templates/settings/federation/instance.html:37 msgid "Details" @@ -3603,50 +3615,54 @@ msgstr "Datum der Bestätigung" msgid "Email" msgstr "E-Mail" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "Antwort" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Aktion" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Keine Anfragen" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Bestätigt" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Gesendet" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Angefragt" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Einladung senden" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Einladung erneut senden" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorieren" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Doch nicht ignorieren" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Zurück zu den ausstehenden Anfragen" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Zeige ignorierte Anfragen" @@ -3756,7 +3772,7 @@ msgstr "Seiteneinstellungen" #: bookwyrm/templates/settings/themes.html:4 #: bookwyrm/templates/settings/themes.html:6 msgid "Themes" -msgstr "" +msgstr "Themen" #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5 #, python-format @@ -3801,11 +3817,11 @@ msgstr "" #: bookwyrm/templates/settings/reports/report.html:28 msgid "Update on your report:" -msgstr "" +msgstr "Aktualisieren Sie Ihren Bericht:" #: bookwyrm/templates/settings/reports/report.html:36 msgid "Reported status" -msgstr "" +msgstr "Gemeldete Statusmeldungen" #: bookwyrm/templates/settings/reports/report.html:38 msgid "Status has been deleted" @@ -3978,18 +3994,26 @@ msgid "Allow invite requests" msgstr "Einladungsanfragen zulassen" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Benutzer*innen müssen ihre E-Mail-Adresse bestätigen" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(empfohlen, falls Selbstregistrierung zulässig ist)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Hinweis, wenn Selbtregistrierung nicht erlaubt ist:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Hinweis für Einladungsanfragen:" @@ -4244,31 +4268,31 @@ msgstr "" #: bookwyrm/templates/setup/config.html:109 msgid "Enable preview images:" -msgstr "" +msgstr "Vorschaubilder aktivieren:" #: bookwyrm/templates/setup/config.html:116 msgid "Enable image thumbnails:" -msgstr "" +msgstr "Miniaturbilder aktivieren:" #: bookwyrm/templates/setup/config.html:128 msgid "Does everything look right?" -msgstr "" +msgstr "Sieht alles richtig aus?" #: bookwyrm/templates/setup/config.html:130 msgid "This is your last chance to set your domain and protocol." -msgstr "" +msgstr "Dies ist Ihre letzte Chance, Ihre Domain und Ihr Protokoll zu setzen." #: bookwyrm/templates/setup/config.html:144 msgid "You can change your instance settings in the .env file on your server." -msgstr "" +msgstr "Sie können Ihre Instanz-Einstellungen in der Datei .env auf Ihrem Server ändern." #: bookwyrm/templates/setup/config.html:148 msgid "View installation instructions" -msgstr "" +msgstr "Zur Installationsanleitung" #: bookwyrm/templates/setup/layout.html:5 msgid "Instance Setup" -msgstr "" +msgstr "Instanzeinstellungen" #: bookwyrm/templates/setup/layout.html:15 msgid "Installing BookWyrm" @@ -4276,7 +4300,7 @@ msgstr "" #: bookwyrm/templates/setup/layout.html:18 msgid "Need help?" -msgstr "" +msgstr "Benötigen Sie Hilfe?" #: bookwyrm/templates/shelf/create_shelf_form.html:5 #: bookwyrm/templates/shelf/shelf.html:72 @@ -4425,7 +4449,7 @@ msgstr "Spoileralarm aktivieren" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers/content warnings:" -msgstr "" +msgstr "Spoiler/Inhaltswarnungen:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 msgid "Spoilers ahead!" @@ -4677,7 +4701,7 @@ msgstr "„%(book_title)s“ auf Leseliste setzen" #: bookwyrm/templates/snippets/register_form.html:18 msgid "Choose wisely! Your username cannot be changed." -msgstr "" +msgstr "Wählen Sie weise! Ihr Benutzername kann nicht geändert werden." #: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 1358c68d2..70976ed7d 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-03-17 16:15+0000\n" +"POT-Creation-Date: 2022-03-26 17:00+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -321,14 +321,18 @@ msgid "Português Europeu (European Portuguese)" msgstr "" #: bookwyrm/settings.py:292 -msgid "Svenska (Swedish)" +msgid "Română (Romanian)" msgstr "" #: bookwyrm/settings.py:293 -msgid "简体中文 (Simplified Chinese)" +msgid "Svenska (Swedish)" msgstr "" #: bookwyrm/settings.py:294 +msgid "简体中文 (Simplified Chinese)" +msgstr "" + +#: bookwyrm/settings.py:295 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -709,7 +713,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:326 +#: bookwyrm/templates/book/edit/edit_book_form.html:323 msgid "Inventaire ID:" msgstr "" @@ -735,7 +739,7 @@ msgstr "" #: bookwyrm/templates/lists/edit_item_form.html:15 #: bookwyrm/templates/lists/form.html:130 #: bookwyrm/templates/preferences/edit_user.html:136 -#: bookwyrm/templates/readthrough/readthrough_modal.html:74 +#: bookwyrm/templates/readthrough/readthrough_modal.html:81 #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 @@ -759,7 +763,7 @@ msgstr "" #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 -#: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 @@ -885,7 +889,7 @@ msgstr "" #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 #: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 -#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 +#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:32 msgid "Add" msgstr "" @@ -894,12 +898,12 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:335 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:344 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "ASIN:" msgstr "" @@ -908,12 +912,12 @@ msgid "Add cover" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:234 +#: bookwyrm/templates/book/edit/edit_book_form.html:233 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:240 +#: bookwyrm/templates/book/edit/edit_book_form.html:239 msgid "Load cover from url:" msgstr "" @@ -925,8 +929,7 @@ msgstr "" #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 -#: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:55 +#: bookwyrm/templates/feed/suggested_books.html:67 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1032,77 +1035,77 @@ msgstr "" msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:165 +#: bookwyrm/templates/book/edit/edit_book_form.html:164 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:176 +#: bookwyrm/templates/book/edit/edit_book_form.html:175 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:187 +#: bookwyrm/templates/book/edit/edit_book_form.html:186 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:190 +#: bookwyrm/templates/book/edit/edit_book_form.html:189 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:197 msgid "Add Authors:" msgstr "" +#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:203 +msgid "Add Author" +msgstr "" + #: bookwyrm/templates/book/edit/edit_book_form.html:201 #: bookwyrm/templates/book/edit/edit_book_form.html:204 -msgid "Add Author" -msgstr "" - -#: bookwyrm/templates/book/edit/edit_book_form.html:202 -#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:211 +#: bookwyrm/templates/book/edit/edit_book_form.html:210 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:221 +#: bookwyrm/templates/book/edit/edit_book_form.html:220 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:253 +#: bookwyrm/templates/book/edit/edit_book_form.html:252 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:260 +#: bookwyrm/templates/book/edit/edit_book_form.html:259 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:272 +#: bookwyrm/templates/book/edit/edit_book_form.html:269 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:283 +#: bookwyrm/templates/book/edit/edit_book_form.html:280 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:294 +#: bookwyrm/templates/book/edit/edit_book_form.html:291 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:299 +#: bookwyrm/templates/book/edit/edit_book_form.html:296 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:308 +#: bookwyrm/templates/book/edit/edit_book_form.html:305 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:317 +#: bookwyrm/templates/book/edit/edit_book_form.html:314 msgid "Openlibrary ID:" msgstr "" @@ -1197,7 +1200,7 @@ msgstr "" #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 -#: bookwyrm/templates/settings/users/user_info.html:20 +#: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "" @@ -1288,10 +1291,6 @@ msgstr "" msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten." msgstr "" -#: bookwyrm/templates/components/tooltip.html:3 -msgid "Help" -msgstr "" - #: bookwyrm/templates/compose.html:5 bookwyrm/templates/compose.html:8 msgid "Edit status" msgstr "" @@ -1313,7 +1312,7 @@ msgid "Sorry! We couldn't find that code." msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:19 -#: bookwyrm/templates/settings/users/user_info.html:85 +#: bookwyrm/templates/settings/users/user_info.html:92 msgid "Confirmation code:" msgstr "" @@ -1324,15 +1323,16 @@ msgstr "" msgid "Submit" msgstr "" -#: bookwyrm/templates/confirm_email/confirm_email.html:32 +#: bookwyrm/templates/confirm_email/confirm_email.html:38 msgid "Can't find your code?" msgstr "" -#: bookwyrm/templates/confirm_email/resend_form.html:4 +#: bookwyrm/templates/confirm_email/resend.html:5 +#: bookwyrm/templates/confirm_email/resend_modal.html:5 msgid "Resend confirmation link" msgstr "" -#: bookwyrm/templates/confirm_email/resend_form.html:11 +#: bookwyrm/templates/confirm_email/resend_modal.html:15 #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 @@ -1340,7 +1340,11 @@ msgstr "" msgid "Email address:" msgstr "" -#: bookwyrm/templates/confirm_email/resend_form.html:17 +#: bookwyrm/templates/confirm_email/resend_modal.html:28 +msgid "No user matching this email address found." +msgstr "" + +#: bookwyrm/templates/confirm_email/resend_modal.html:38 msgid "Resend link" msgstr "" @@ -1658,10 +1662,18 @@ msgstr "" msgid "Your Books" msgstr "" -#: bookwyrm/templates/feed/suggested_books.html:8 +#: bookwyrm/templates/feed/suggested_books.html:10 msgid "There are no books here right now! Try searching for a book to get started" msgstr "" +#: bookwyrm/templates/feed/suggested_books.html:13 +msgid "Do you have book data from another service like GoodReads?" +msgstr "" + +#: bookwyrm/templates/feed/suggested_books.html:16 +msgid "Import your reading history" +msgstr "" + #: bookwyrm/templates/feed/suggested_users.html:5 #: bookwyrm/templates/get_started/users.html:6 msgid "Who to follow" @@ -1956,28 +1968,32 @@ msgstr "" msgid "Data source:" msgstr "" -#: bookwyrm/templates/import/import.html:40 +#: bookwyrm/templates/import/import.html:39 +msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account." +msgstr "" + +#: bookwyrm/templates/import/import.html:44 msgid "Data file:" msgstr "" -#: bookwyrm/templates/import/import.html:48 +#: bookwyrm/templates/import/import.html:52 msgid "Include reviews" msgstr "" -#: bookwyrm/templates/import/import.html:53 +#: bookwyrm/templates/import/import.html:57 msgid "Privacy setting for imported reviews:" msgstr "" -#: bookwyrm/templates/import/import.html:59 +#: bookwyrm/templates/import/import.html:63 #: bookwyrm/templates/settings/federation/instance_blocklist.html:76 msgid "Import" msgstr "" -#: bookwyrm/templates/import/import.html:64 +#: bookwyrm/templates/import/import.html:68 msgid "Recent Imports" msgstr "" -#: bookwyrm/templates/import/import.html:66 +#: bookwyrm/templates/import/import.html:70 msgid "No recent imports" msgstr "" @@ -2117,10 +2133,6 @@ msgstr "" msgid "Reject" msgstr "" -#: bookwyrm/templates/import/tooltip.html:6 -msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account." -msgstr "" - #: bookwyrm/templates/import/troubleshoot.html:7 msgid "Failed items" msgstr "" @@ -2992,19 +3004,19 @@ msgid "Update read dates for \"%(title)s\"" msgstr "" #: bookwyrm/templates/readthrough/readthrough_form.html:10 -#: bookwyrm/templates/readthrough/readthrough_modal.html:31 +#: bookwyrm/templates/readthrough/readthrough_modal.html:38 #: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24 #: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21 msgid "Started reading" msgstr "" #: bookwyrm/templates/readthrough/readthrough_form.html:18 -#: bookwyrm/templates/readthrough/readthrough_modal.html:49 +#: bookwyrm/templates/readthrough/readthrough_modal.html:56 msgid "Progress" msgstr "" #: bookwyrm/templates/readthrough/readthrough_form.html:24 -#: bookwyrm/templates/readthrough/readthrough_modal.html:56 +#: bookwyrm/templates/readthrough/readthrough_modal.html:63 #: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32 msgid "Finished reading" msgstr "" @@ -3478,19 +3490,19 @@ msgstr "" #: bookwyrm/templates/settings/federation/edit_instance.html:52 #: bookwyrm/templates/settings/federation/instance.html:46 -#: bookwyrm/templates/settings/users/user_info.html:106 +#: bookwyrm/templates/settings/users/user_info.html:113 msgid "Status:" msgstr "" #: bookwyrm/templates/settings/federation/edit_instance.html:66 #: bookwyrm/templates/settings/federation/instance.html:40 -#: bookwyrm/templates/settings/users/user_info.html:100 +#: bookwyrm/templates/settings/users/user_info.html:107 msgid "Software:" msgstr "" #: bookwyrm/templates/settings/federation/edit_instance.html:76 #: bookwyrm/templates/settings/federation/instance.html:43 -#: bookwyrm/templates/settings/users/user_info.html:103 +#: bookwyrm/templates/settings/users/user_info.html:110 msgid "Version:" msgstr "" @@ -3517,7 +3529,7 @@ msgid "View all" msgstr "" #: bookwyrm/templates/settings/federation/instance.html:62 -#: bookwyrm/templates/settings/users/user_info.html:56 +#: bookwyrm/templates/settings/users/user_info.html:60 msgid "Reports:" msgstr "" @@ -3534,7 +3546,7 @@ msgid "Blocked by us:" msgstr "" #: bookwyrm/templates/settings/federation/instance.html:90 -#: bookwyrm/templates/settings/users/user_info.html:110 +#: bookwyrm/templates/settings/users/user_info.html:117 msgid "Notes" msgstr "" @@ -3711,6 +3723,10 @@ msgstr "" msgid "IP Address:" msgstr "" +#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:24 +msgid "You can block IP ranges using CIDR syntax." +msgstr "" + #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:5 #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:7 #: bookwyrm/templates/settings/layout.html:69 @@ -3729,10 +3745,6 @@ msgstr "" msgid "No IP addresses currently blocked" msgstr "" -#: bookwyrm/templates/settings/ip_blocklist/ip_tooltip.html:6 -msgid "You can block IP ranges using CIDR syntax." -msgstr "" - #: bookwyrm/templates/settings/layout.html:4 msgid "Administration" msgstr "" @@ -3990,25 +4002,25 @@ msgid "Allow registration" msgstr "" #: bookwyrm/templates/settings/site.html:145 -msgid "Allow invite requests" -msgstr "" - -#: bookwyrm/templates/settings/site.html:151 -msgid "Set a question for invite requests" -msgstr "" - -#: bookwyrm/templates/settings/site.html:156 -msgid "Question:" -msgstr "" - -#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "" -#: bookwyrm/templates/settings/site.html:165 +#: 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 "" @@ -4107,18 +4119,18 @@ msgstr "" msgid "Remote instance" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:67 -#: bookwyrm/templates/settings/users/user_info.html:24 +#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:67 -#: bookwyrm/templates/settings/users/user_info.html:28 +#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:73 -#: bookwyrm/templates/settings/users/user_info.html:120 +#: bookwyrm/templates/settings/users/user_admin.html:88 +#: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "" @@ -4126,51 +4138,59 @@ msgstr "" msgid "View user profile" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:36 +#: bookwyrm/templates/settings/users/user_info.html:19 +msgid "Go to user admin" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:40 msgid "Local" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:38 +#: bookwyrm/templates/settings/users/user_info.html:42 msgid "Remote" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:47 +#: bookwyrm/templates/settings/users/user_info.html:51 msgid "User details" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:51 +#: bookwyrm/templates/settings/users/user_info.html:55 msgid "Email:" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:61 +#: bookwyrm/templates/settings/users/user_info.html:65 msgid "(View reports)" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:67 +#: bookwyrm/templates/settings/users/user_info.html:71 msgid "Blocked by count:" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:70 +#: bookwyrm/templates/settings/users/user_info.html:74 +msgid "Date added:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:77 msgid "Last active date:" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:73 +#: bookwyrm/templates/settings/users/user_info.html:80 msgid "Manually approved followers:" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:76 +#: bookwyrm/templates/settings/users/user_info.html:83 msgid "Discoverable:" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:80 +#: bookwyrm/templates/settings/users/user_info.html:87 msgid "Deactivation reason:" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:95 +#: bookwyrm/templates/settings/users/user_info.html:102 msgid "Instance details" msgstr "" -#: bookwyrm/templates/settings/users/user_info.html:117 +#: bookwyrm/templates/settings/users/user_info.html:124 msgid "View instance" msgstr "" @@ -4413,7 +4433,7 @@ msgid "Some thoughts on the book" msgstr "" #: bookwyrm/templates/snippets/create_status/comment.html:27 -#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:17 +#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:18 msgid "Progress:" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index bff67a2ce318006ac112735733c1f1e9cbdb24d6..d0687222a3d920df7ecf398a8cf8133c30b02933 100644 GIT binary patch delta 21072 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\n" "Language-Team: Spanish\n" "Language: es\n" @@ -245,7 +245,7 @@ msgstr "Disponible para préstamo" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Reseñas" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Editar Autor/Autora/Autore:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Agregado:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Actualizado:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Editado más recientemente por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadatos" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Nombre:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Separar varios valores con comas." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Clave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Guardar" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "La carga de datos se conectará a %(source_name)s y comprobará si hay metadatos sobre este autor que no están presentes aquí. Los metadatos existentes no serán sobrescritos." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Agregar descripción" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descripción:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s ediciones" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Has guardado esta edición en la estantería de:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una edición diferente de este libro está en tu estantería %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Tu actividad de lectura" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Agregar fechas de lectura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "No tienes ninguna actividad de lectura para este libro." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Tus reseñas" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Tus comentarios" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Tus citas" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Sujetos" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Agregar a lista" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Agregar portada" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Agregar portada de url:" @@ -929,177 +931,177 @@ msgstr "Vista previa de la portada del libro" msgid "Close" msgstr "Cerrar" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Editar \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Agregar libro" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Confirmar información de libro" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "¿Es \"%(name)s\" uno de estos autores?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autor/a de " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Más información en isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Este es un autor nuevo" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creando un autor nuevo: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "¿Es esta una edición de una obra ya existente?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Esta es una obra nueva" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Volver" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Número de serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publicación" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Fecha de primera publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Fecha de publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autores" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Quitar %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor por %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Agregar Autores:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Añadir Autor" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "María López García" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Añadir Otro Autor" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Portada" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Propiedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Detalles del formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Identificadores de libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "ID OpenLibrary:" @@ -1113,6 +1115,14 @@ msgstr "Ediciones de %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Ediciones de \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1183,7 +1193,7 @@ msgstr "Dominio" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "El registro de %(name)s está cerrado" msgid "Thank you! Your request has been received." msgstr "¡Gracias! Tu solicitud ha sido recibido." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Tu cuenta" @@ -3603,50 +3613,54 @@ msgstr "Fecha de aceptación" msgid "Email" msgstr "Correo electronico" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Acción" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Sin solicitudes" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Aceptado" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Enviado" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Solicitado" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Enviar invitación" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Re-enviar invitación" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Des-ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Volver a las solicitudes pendientes" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Ver solicitudes ignoradas" @@ -3978,18 +3992,26 @@ msgid "Allow invite requests" msgstr "Permitir solicitudes de invitación" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Requerir a usuarios a confirmar dirección de correo electrónico" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Recomendado si la registración es abierta)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Texto de registración cerrada:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Texto de solicitud de invitación:" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 4cdcbf8ea2a3ffdeed740317a055f435e5954b7c..a63e2c60049964412363eb72e2ddb6931179b0ec 100644 GIT binary patch literal 95243 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 abnSHT(aoS9TtNYJTP$cE6tvRUiU9ybA1Rms delta 18621 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\n" "Language-Team: French\n" "Language: fr\n" @@ -245,7 +245,7 @@ msgstr "Disponible à l’emprunt" msgid "Approved" msgstr "Approuvé" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Critiques" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Modifier l’auteur ou l’autrice :" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Ajouté :" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Mis à jour :" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Dernière modification par :" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Métadonnées" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Nom :" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Séparez plusieurs valeurs par une virgule." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Clé Openlibrary :" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Identifiant Inventaire :" @@ -726,7 +726,7 @@ msgstr "ISNI :" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Enregistrer" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Le chargement des données se connectera à %(source_name)s et vérifiera les métadonnées de cet auteur ou autrice qui ne sont pas présentes ici. Les métadonnées existantes ne seront pas écrasées." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Ajouter une description" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Description :" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s éditions" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "%(count)s édition" +msgstr[1] "%(count)s éditions" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Vous avez rangé cette édition dans :" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Une édition différente de ce livre existe sur votre étagère %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Vos critiques" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Vos commentaires" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Vos citations" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Lieux" msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Ajouter à la liste" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN :" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Ajouter une couverture" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Charger une couverture :" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Charger la couverture depuis une URL :" @@ -929,177 +931,177 @@ msgstr "Aperçu de la couverture" msgid "Close" msgstr "Fermer" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Modifier « %(book_title)s »" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Ajouter un livre" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Confirmer les informations de ce livre" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "Est-ce que \"%(name)s\" fait partie de ces auteurs ou autrices ?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Auteur ou autrice de " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Trouver plus d’informations sur isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Il s’agit d’un nouvel auteur ou d’une nouvelle autrice." -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Création d’un nouvel auteur/autrice : %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "Est‑ce l’édition d’un ouvrage existant ?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Il s’agit d’un nouvel ouvrage." -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Retour" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titre :" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Sous‑titre :" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Série :" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Numéro dans la série :" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Langues :" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "Sujets :" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" -msgstr "" +msgstr "Ajouter un sujet" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" -msgstr "" +msgstr "Retirer le sujet" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" -msgstr "" +msgstr "Ajouter un autre sujet" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publication" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Éditeur :" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Première date de parution :" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Date de parution :" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Auteurs ou autrices" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Retirer %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Page de %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Ajouter des auteurs ou autrices :" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Ajouter un auteur ou une autrice" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Camille Dupont" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Ajouter un autre auteur ou autrice" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Couverture" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Propriétés physiques" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format :" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Détails du format :" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Pages :" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Identifiants du livre" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13 :" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10 :" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "Identifiant Openlibrary :" @@ -1113,6 +1115,14 @@ msgstr "Éditions de %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Éditions de « %(work_title)s »" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "Vous ne trouvez pas l’édition que vous cherchez ?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "Ajouter une nouvelle édition" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1156,7 +1166,7 @@ msgstr "Modifier les liens" #: bookwyrm/templates/book/file_links/edit_links.html:11 #, python-format msgid "Links for \"%(title)s\"" -msgstr "" +msgstr "Liens pour “%(title)s”" #: bookwyrm/templates/book/file_links/edit_links.html:32 #: bookwyrm/templates/settings/link_domains/link_table.html:6 @@ -1183,7 +1193,7 @@ msgstr "Domaine" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Code de confirmation :" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -1359,7 +1369,7 @@ msgstr "Autoriser d’autres utilisateurs ou utilisatrices de BookWyrm à décou #: bookwyrm/templates/directory/directory.html:21 msgid "Join Directory" -msgstr "Rejoindre le répertoire" +msgstr "Rejoindre l’annuaire" #: bookwyrm/templates/directory/directory.html:24 #, python-format @@ -1662,7 +1672,7 @@ msgstr "Ne pas afficher les utilisateurs suggérés" #: bookwyrm/templates/feed/suggested_users.html:14 msgid "View directory" -msgstr "Voir le répertoire" +msgstr "Voir l’annuaire" #: bookwyrm/templates/feed/summary_card.html:21 msgid "The end of the year is the best moment to take stock of all the books read during the last 12 months. How many pages have you read? Which book is your best-rated of the year? We compiled these stats, and more!" @@ -2186,7 +2196,7 @@ msgstr "L'inscription à %(name)s est fermée" msgid "Thank you! Your request has been received." msgstr "Merci ! Votre demande a bien été reçue." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Votre compte" @@ -3241,36 +3251,36 @@ msgstr "Les comptes ou statuts qui ont déjà été signalés (que le rapport ai #: bookwyrm/templates/settings/automod/rules.html:26 msgid "Schedule:" -msgstr "" +msgstr "Planification :" #: bookwyrm/templates/settings/automod/rules.html:33 msgid "Last run:" -msgstr "" +msgstr "Dernière exécution :" #: bookwyrm/templates/settings/automod/rules.html:40 msgid "Total run count:" -msgstr "" +msgstr "Nombre total d’exécutions :" #: bookwyrm/templates/settings/automod/rules.html:47 msgid "Enabled:" -msgstr "" +msgstr "Activé :" #: bookwyrm/templates/settings/automod/rules.html:59 msgid "Delete schedule" -msgstr "" +msgstr "Supprimer la planification" #: bookwyrm/templates/settings/automod/rules.html:63 msgid "Run now" -msgstr "" +msgstr "Lancer maintenant" #: bookwyrm/templates/settings/automod/rules.html:64 msgid "Last run date will not be updated" -msgstr "" +msgstr "La date de dernière exécution ne sera pas mise à jour" #: bookwyrm/templates/settings/automod/rules.html:69 #: bookwyrm/templates/settings/automod/rules.html:92 msgid "Schedule scan" -msgstr "" +msgstr "Planifier une analyse" #: bookwyrm/templates/settings/automod/rules.html:101 msgid "Successfully added rule" @@ -3605,50 +3615,54 @@ msgstr "Date de validation" msgid "Email" msgstr "Email" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "Réponse" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Action" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Aucune demande" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Accepté(e)s" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Envoyé(e)s" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Demandé(e)s" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Envoyer l’invitation" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Envoyer l’invitation de nouveau" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorer" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Ne plus ignorer" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Retour aux demandes en attente" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Voir les demandes ignorées" @@ -3980,18 +3994,26 @@ msgid "Allow invite requests" msgstr "Autoriser les demandes d’invitation" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "Définir une question pour les demandes d’invitation" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "Question :" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Demander aux utilisateurs et utilisatrices de confirmer leur adresse email" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Recommandé si les inscriptions sont ouvertes)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Texte affiché lorsque les inscriptions sont closes :" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Texte de la demande d'invitation :" @@ -4601,7 +4623,7 @@ msgstr "Valider ce défi" #: bookwyrm/templates/snippets/goal_progress.html:7 msgctxt "Goal successfully completed" msgid "Success!" -msgstr "" +msgstr "Succès !" #: bookwyrm/templates/snippets/goal_progress.html:9 #, python-format diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 103aefc2bdd625df637c78b58e0931eaedba92e2..6d94e812caa7c14dce70bd84660e89be6a3cb609 100644 GIT binary patch delta 23708 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 F0RRhi5bFQ{ delta 23366 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\n" "Language-Team: Galician\n" "Language: gl\n" @@ -245,7 +245,7 @@ msgstr "Dispoñible para aluguer" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Recensións" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Editar autora:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Engadida:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Actualizada:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Última edición por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadatos" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Separa múltiples valores con vírgulas." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Chave en Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "ID en Inventaire:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Gardar" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Ao cargar os datos vas conectar con %(source_name)s e comprobar se existen metadatos desta persoa autora que non están aquí presentes. Non se sobrescribirán os datos existentes." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Engadir descrición" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrición:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s edicións" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "%(count)s edición" +msgstr[1] "%(count)s edicións" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Puxeches esta edición no estante:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Hai unha edición diferente deste libro no teu estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Actividade lectora" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Engadir datas de lectura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Non tes actividade lectora neste libro." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "As túas recensións" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Os teus comentarios" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "As túas citas" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Temas" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listaxes" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Engadir a listaxe" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Engadir portada" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Cargar portada desde url:" @@ -929,177 +931,177 @@ msgstr "Vista previa da portada" msgid "Close" msgstr "Pechar" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Editar \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Engadir libro" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Confirma info do libro" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "É \"%(name)s\" un destas autoras?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autora de " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Atopa máis información en isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Esta é unha nova autora" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creando nova autora: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "É esta a edición dun traballo existente?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Este é un novo traballo" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Atrás" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Número da serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "Temas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "Engadir tema" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "Eliminar tema" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "Engadir outro tema" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publicación" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Data da primeira edición:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Data de publicación:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autoras" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Eliminar %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Páxina de autora para %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Engadir autoras:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Engadir Autora" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Xoana Pedre" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Engade outra Autora" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Portada" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Propiedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Detalles do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Páxinas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Identificadores do libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "ID en Openlibrary:" @@ -1113,6 +1115,14 @@ msgstr "Edicións de %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Edicións de %(work_title)s" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "Non atopas a edición que buscas?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "Engade outra edición" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1183,7 +1193,7 @@ msgstr "Dominio" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "%(name)s ten o rexistro pechado" msgid "Thank you! Your request has been received." msgstr "Grazas! A solicitude foi recibida." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "A túa Conta" @@ -2898,7 +2908,7 @@ msgstr "Perfil" #: bookwyrm/templates/settings/site.html:77 #: bookwyrm/templates/setup/config.html:91 msgid "Display" -msgstr "" +msgstr "Mostrar" #: bookwyrm/templates/preferences/edit_user.html:14 #: bookwyrm/templates/preferences/edit_user.html:112 @@ -3605,50 +3615,54 @@ msgstr "Data de aceptación" msgid "Email" msgstr "Email" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "Responder" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Acción" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Sen solicitudes" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Aceptadas" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Enviadas" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Solicitadas" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Enviar convite" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Volver a enviar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Non ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Volver a solicitudes pendentes" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Ver solicitudes ignoradas" @@ -3980,18 +3994,26 @@ msgid "Allow invite requests" msgstr "Permitir solicitudes de convite" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "Escribe a pregunta para as solicitudes de convite" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "Pregunta:" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Requerir que a usuaria confirme o enderezo de email" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Recomendable se o rexistro está aberto)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Texto se o rexistro está pechado:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Texto para a solicitude do convite:" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 0ca10e9754a7df201fa321a3b2df4465d4f41988..ffaf9a4e88f747ff8eb1552b777d21a9a7613183 100644 GIT binary patch delta 23610 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 bm#B~e5mG2fEmFuyojmcg=ynBT#$ICpS^4jX delta 23359 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 diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index 784c05ceb..0986f7740 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-03-16 23:12+0000\n" -"PO-Revision-Date: 2022-03-17 00:48\n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-18 00:41\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -245,7 +245,7 @@ msgstr "Disponibile per il prestito" msgid "Approved" msgstr "Approvato" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Recensioni" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Modifica autore:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Aggiunto:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Aggiornato:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Ultima modifica di:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadati" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Separa valori multipli con la virgola (,)" @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Chiave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Salva" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Il caricamento dei dati si collegherà a %(source_name)s e verificherà eventuali metadati relativi a questo autore che non sono presenti qui. I metadati esistenti non vengono sovrascritti." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Aggiungi descrizione" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrizione:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s edizioni" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "%(count)s edizioni" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Hai salvato questa edizione in:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una diversa edizione di questo libro è sul tuo scaffale %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Le tue attività di lettura" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Aggiungi data di lettura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Non hai alcuna attività di lettura per questo libro." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Le tue recensioni" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "I tuoi commenti" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Le tue citazioni" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Argomenti" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Luoghi" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Luoghi" msgid "Lists" msgstr "Liste" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Aggiungi all'elenco" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "Numero OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Aggiungi copertina" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Carica la copertina:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Carica la copertina dall'url:" @@ -929,177 +931,177 @@ msgstr "Anteprima copertina del libro" msgid "Close" msgstr "Chiudi" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Modifica \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Aggiungi libro" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Conferma informazioni sul libro" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "È \"%(name)s\" uno di questi autori?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autore di " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Trova maggiori informazioni su isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Questo è un nuovo autore" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creazione di un nuovo autore: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "È un'edizione di un'opera esistente?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Si tratta di un nuovo lavoro" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Indietro" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titolo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Sottotitolo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Collana:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Numero collana:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Lingue:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "Argomenti:" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "Aggiungi argomento" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "Rimuovi argomento" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "Aggiungi argomento" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Data di pubblicazione" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Editore:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Prima data di pubblicazione:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Data di pubblicazione:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autori" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Rimuovi %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Pagina autore per %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Aggiungi Autori:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Aggiungi Autore" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Jane Doe" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Aggiungi un altro autore" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Copertina" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Caratteristiche" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Dettagli del formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Pagine:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Identificativi del Libro" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "OpenLibrary ID:" @@ -1113,6 +1115,14 @@ msgstr "Edizioni di %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Edizioni di \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "Non trovi l'edizione che stai cercando?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "Aggiungi un'altra edizione" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1183,7 +1193,7 @@ msgstr "Dominio" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Codice di conferma:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "%(name)s registrazione chiusa" msgid "Thank you! Your request has been received." msgstr "Grazie! La tua richiesta è stata ricevuta." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Il tuo account" @@ -3605,50 +3615,54 @@ msgstr "Data di approvazione" msgid "Email" msgstr "Email" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "Risposta" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Azione" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Nessuna richiesta" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Accettato" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Inviato" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Richiesto" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Manda invito" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Invia nuovamente invito" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignora" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Annulla ignora" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Torna alle richieste in sospeso" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Visualizza richieste ignorate" @@ -3980,18 +3994,26 @@ msgid "Allow invite requests" msgstr "Consenti richieste di invito" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "Imposta una domanda per le richieste di invito" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "Domanda:" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Richiedi agli utenti per confermare l'indirizzo email" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Raccomandato se la registrazione è aperta)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Registrazioni chiuse:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Testo della richiesta di invito:" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index 62cd8ef173ca75351b66d847c4e395be92cf7477..7662558e58bd68fd6d7616850afb4f97e0fc4f2f 100644 GIT binary patch delta 21064 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 delta 21156 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 diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index 5a4f7c9b3..0fba2b60a 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-03-16 23:12+0000\n" -"PO-Revision-Date: 2022-03-16 23:33\n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-17 17:06\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -245,7 +245,7 @@ msgstr "Galima pasiskolinti" msgid "Approved" msgstr "Patvirtinti puslapiai" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Apžvalgos" @@ -659,22 +659,22 @@ msgid "Edit Author:" msgstr "Keisti autorių:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Pridėta:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Atnaujinta:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Pastarąjį kartą redagavo:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Meta duomenys" @@ -686,8 +686,8 @@ msgid "Name:" msgstr "Vardas:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Reikšmes atskirkite kableliais." @@ -716,7 +716,7 @@ msgid "Openlibrary key:" msgstr "„Openlibrary“ raktas:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "„Inventaire“ ID:" @@ -734,7 +734,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -746,7 +746,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -757,8 +757,8 @@ msgstr "Išsaugoti" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -780,7 +780,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir patikrins ar nėra naujos informacijos. Esantys metaduomenys nebus perrašomi." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -822,58 +822,62 @@ msgid "Add Description" msgstr "Pridėti aprašymą" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Aprašymas:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s leidimai (-ų)" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Šis leidimas įdėtas į:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "kitas šios knygos leidimas yra jūsų %(shelf_name)s lentynoje." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Jūsų skaitymo veikla" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Pridėti skaitymo datas" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Šios knygos neskaitote." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Tavo atsiliepimai" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Tavo komentarai" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Jūsų citatos" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Temos" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Vietos" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -883,11 +887,11 @@ msgstr "Vietos" msgid "Lists" msgstr "Sąrašai" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Pridėti prie sąrašo" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -901,12 +905,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "OCLC numeris:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -915,12 +919,12 @@ msgid "Add cover" msgstr "Pridėti viršelį" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Įkelti viršelį:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Įkelti viršelį iš url:" @@ -939,177 +943,177 @@ msgstr "Peržiūrėti knygos viršelį" msgid "Close" msgstr "Uždaryti" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Redaguoti „%(book_title)s“" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Pridėti knygą" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Patvirtinti knygos informaciją" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "Ar \"%(name)s\" yra vienas iš šių autorių?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autorius " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Daugiau informacijos isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Tai naujas autorius" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Kuriamas naujas autorius: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "Ar tai egzistuojančio darbo leidimas?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Tai naujas darbas" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Atgal" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Pavadinimas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Paantraštė:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Serija:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Serijos numeris:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Kalbos:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Leidimas" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Leidėjas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Pirmoji publikavimo data:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Publikavimo data:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autoriai" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Pašalinti %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Autoriaus puslapis %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Pridėti autorius:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Pridėti autorių" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Jonas Jonaitė" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Pridėti dar vieną autorių" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Viršelis" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Fizinės savybės" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formatas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Informacija apie formatą:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Puslapiai:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Knygos identifikatoriai" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "„Openlibrary“ ID:" @@ -1123,6 +1127,14 @@ msgstr "Knygos %(book_title)s leidimai" msgid "Editions of \"%(work_title)s\"" msgstr "\"%(work_title)s\" leidimai" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1193,7 +1205,7 @@ msgstr "Domenas" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1317,7 +1329,7 @@ msgid "Confirmation code:" msgstr "Patvirtinimo kodas:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2208,7 +2220,7 @@ msgstr "%(name)s – registracija uždaryta" msgid "Thank you! Your request has been received." msgstr "Dėkojame, jūsų prašymas gautas." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Jūsų paskyra" @@ -3633,50 +3645,54 @@ msgstr "Priėmimo data" msgid "Email" msgstr "El. paštas" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Veiksmas" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Prašymų nėra" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Priimta" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Išsiųsta" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Užklausta" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Siųsti pakvietimą" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Pakartotinai siųsti pakvietimą" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignoruoti" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Nebeignoruoti" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Grįžti į laukiančius prašymus" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Žiūrėti ignoruotus prašymus" @@ -4008,18 +4024,26 @@ msgid "Allow invite requests" msgstr "Leisti prašyti kvietimų" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Reikalauti el. pašto patvirtinimo" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Rekomenduojama, jei leidžiama registruotis)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Užrakintos registracijos tekstas:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Kvietimo prašymo tekstas:" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index ffc66534f984e300c35d0730da28943538d06357..007b4d59619fe35fddcca08475dcbab562ad0b3c 100644 GIT binary patch delta 21065 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�(k2%>(8C|Df?d&@l?k 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 UNqS;gYSH9\n" "Language-Team: Norwegian\n" "Language: no\n" @@ -245,7 +245,7 @@ msgstr "Tilgjengelig for utlån" msgid "Approved" msgstr "Godkjent" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Anmeldelser" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Rediger forfatter:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Lagt til:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Oppdatert:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Sist endret av:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadata" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Navn:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Adskill flere verdier med komma." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary nøkkel:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Lagre" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Laster inn data kobler til %(source_name)s og finner metadata om denne forfatteren som enda ikke finnes her. Eksisterende metadata vil ikke bli overskrevet." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Legg til beskrivelse" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beskrivelse:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s utgaver" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Du har lagt denne utgaven i hylla:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annen utgave av denne boken ligger i hylla %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Din leseaktivitet" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Legg til lesedatoer" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Du har ikke lagt inn leseaktivitet for denne boka." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Dine anmeldelser" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Dine kommentarer" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Dine sitater" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Emner" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Steder" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Steder" msgid "Lists" msgstr "Lister" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Legg til i liste" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Legg til et omslag" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Last opp omslag:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Last bilde av omslag fra nettadresse:" @@ -929,177 +931,177 @@ msgstr "Bokomslag forhåndsvisning" msgid "Close" msgstr "Lukk" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Rediger \"%(book_title)s" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Legg til bok" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Bekreft bokinformasjon" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "Er \"%(name)s\" en av disse forfatterne?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Forfatter av " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Finn mer informasjon på isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Dette er en ny forfatter" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Oppretter en ny forfatter: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "Er dette en utgave av et eksisterende verk?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Dette er et nytt verk" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Tilbake" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Tittel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Undertittel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Serienummer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Språk:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publikasjon" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Forlag:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Først utgitt:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Publiseringsdato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Forfattere" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Fjern %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Forfatterside for %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Legg til forfattere:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Legg til forfatter" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Kari Nordmann" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Legg til enda en forfatter" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Omslag" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Fysiske egenskaper" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Formatdetaljer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Sider:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Boknøkler" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "Openlibrary nøkkel:" @@ -1113,6 +1115,14 @@ msgstr "Utgaver av %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Utgaver av \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1183,7 +1193,7 @@ msgstr "Domene" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Bekreftelseskode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "%(name)s registrering er stengt" msgid "Thank you! Your request has been received." msgstr "Takk! Vi har mottatt forespørselen din." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Kontoen din" @@ -3603,50 +3613,54 @@ msgstr "Akseptert dato" msgid "Email" msgstr "E-post" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Handling" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Ingen forespørsler" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Akseptert" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Sendt" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Forespurt" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Send invitasjon" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Gjenta invitasjon" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorer" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Fjern ignorering" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Tilbake til ventende forespørsler" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Vis ignorerte forespørsler" @@ -3978,18 +3992,26 @@ msgid "Allow invite requests" msgstr "Tillat invitasjonsforespørsler" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Medlemmer må bekrefte e-postadresse" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(anbefales for åpen registrering)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Registrering lukket tekst:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Invitasjonsforespørsel tekst:" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 9a3d8ce7e916c1441141380ed94fa801ce751bef..540e4ef6180b582dd95f34f5cafe6f2c67a5ae25 100644 GIT binary patch delta 23727 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 B9l-zq delta 23364 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\n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -245,7 +245,7 @@ msgstr "Disponível para empréstimo" msgid "Approved" msgstr "Aprovado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Resenhas" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Editar autor/a:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Adicionado:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Atualizado:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Editado pela última vez por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadados" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Separe com vírgulas." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Chave Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Salvar" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Para carregar informações nos conectaremos a %(source_name)s e buscaremos metadados que ainda não temos sobre este/a autor/a. Metadados já existentes não serão substituídos." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Adicionar descrição" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrição:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s edições" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "%(count)s edição" +msgstr[1] "%(count)s edições" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Você colocou esta edição na estante em:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está em sua estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Andamento da sua leitura" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Adicionar registro de leitura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Você ainda não registrou sua leitura." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Suas resenhas" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Seus comentários" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Suas citações" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Assuntos" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Adicionar capa" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Enviar capa:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Carregar capa do endereço:" @@ -929,177 +931,177 @@ msgstr "Pré-visualização da capa" msgid "Close" msgstr "Fechar" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Editar \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Adicionar livro" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Confirmar informações do livro" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "\"%(name)s\" é uma das pessoas citadas abaixo?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autor/a de " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Conheça mais em isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "É um/a novo/a autor/a" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Criando um/a novo/a autor/a: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "É uma edição de uma obra já registrada?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "É uma nova obra" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Voltar" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Número na série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "Assuntos:" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "Adicionar assunto" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "Excluir assunto" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "Adicionar outro assunto" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publicação" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Editora:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Data da primeira publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autores/as" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Remover %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor/a de %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Adicionar autores/as:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Adicionar autor/a" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Fulana" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Adicionar outro/a autor/a" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Capa" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Propriedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Detalhes do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Identificadores do livro" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1113,6 +1115,14 @@ msgstr "Edições de %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Edições de \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "Não conseguiu encontrar a edição que está procurando?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "Adicionar outra edição" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1183,7 +1193,7 @@ msgstr "Domínio" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "O cadastro em %(name)s está fechado" msgid "Thank you! Your request has been received." msgstr "Obrigado! Sua solicitação foi recebida." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Sua conta" @@ -3605,50 +3615,54 @@ msgstr "Data de aceitação" msgid "Email" msgstr "E-mail" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "Responder" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Ação" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Nenhuma solicitação" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Aceita" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Enviada" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Solicitada" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Enviar convite" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Reenviar convite" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignora" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Não ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Voltar às solicitações pendentes" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Ver solicitações ignoradas" @@ -3980,18 +3994,26 @@ msgid "Allow invite requests" msgstr "Permitir solicitação de convites" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "Definir uma pergunta para os pedidos de convite" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "Pergunta:" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Exigir que usuários confirmem o e-mail" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Recomendado se o cadastro estiver aberto)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Texto quando o cadastro está fechado:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Texto solicitação de convite:" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 9515169c5cf34a0842c244a49a32de49aca90356..e80de6a322ba363bde5b2ba895d52876a4a3da28 100644 GIT binary patch delta 19571 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 eZ1a-Uv$-dq-C;j{x+tUeBVUP6hyEIE_L8 delta 19690 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\n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -245,7 +245,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Criticas" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Editar Autor(a):" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Adicionado:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Atualizado:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Última edição por:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadados" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Nome:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Separe vários valores com vírgulas." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Chave da Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "ID do Inventaire:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Salvar" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Carregar os dados irá conectar a %(source_name)s e verificar se há metadados sobre este autor que não estão aqui presentes. Os metadados existentes não serão substituídos." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Adicionar uma descrição" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrição:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s edições" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Tu arquivaste esta edição em:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está na tua prateleira %(shelf_name)s." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "A tua atividade de leitura" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Adicionar datas de leitura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Não tem nenhuma atividade de leitura para este livro." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "As tuas criticas" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Os teus comentários" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "As tuas citações" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Temas/Áreas" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Lugares" msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Adicionar uma capa" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Carregar uma capa:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Carregar capa através de um Url:" @@ -929,177 +931,177 @@ msgstr "Visualização da capa" msgid "Close" msgstr "Fechar" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Editar \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Adicionar um Livro" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Confirmar informações do livro" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "\"%(name)s\" é um destes autores?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Autor de " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Podes encontrar mais informações em isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Este é um novo autor" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Criar um novo autor: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "Esta é uma edição de um trabalho existente?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Este é um novo trabalho" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Voltar" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Séries:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Número da série:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publicação" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Editora:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Primeira data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Data de publicação:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Autor(es/as)" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Remover %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor do %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Adicionar Autor(es/as):" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Adicionar Autor(a)" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Joana Sem-nome" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Adicionar outro autor(a)" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Capa" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Propriedades físicas" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Detalhes do formato:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Identificadores de Livros" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "ID da Openlibrary:" @@ -1113,6 +1115,14 @@ msgstr "Edições de %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Edições de \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1183,7 +1193,7 @@ msgstr "Domínio" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "O registo %(name)s está fechado" msgid "Thank you! Your request has been received." msgstr "Obrigado! O teu pedido foi recebido." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "A tua conta" @@ -3603,50 +3613,54 @@ msgstr "Data de aceitação" msgid "Email" msgstr "E-Mail" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Ação" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Nenhum pedido" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Aceite" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Enviado" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Pedido" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Enviar convite" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Reenviar convite" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Não-Ignorar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Voltar a pedidos pendentes" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Ver pedidos ignorados" @@ -3978,18 +3992,26 @@ msgid "Allow invite requests" msgstr "Permitir solicitações de convite" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Requir utilizadores confirmarem o E-Mail" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Recomendado se o registo estiver aberto)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Mensagem caso o registo esteja fechado:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Texto da solicitação de convite:" diff --git a/locale/ro_RO/LC_MESSAGES/django.mo b/locale/ro_RO/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..efdd9aa50d8b0fec732d294ab084dae5227fa721 GIT binary patch literal 67747 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 Y(26rn2Gonx;HpYMH>$ypfYoFG02iz^=Kufz literal 0 HcmV?d00001 diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po new file mode 100644 index 000000000..a6f089bdd --- /dev/null +++ b/locale/ro_RO/LC_MESSAGES/django.po @@ -0,0 +1,5119 @@ +msgid "" +msgstr "" +"Project-Id-Version: bookwyrm\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-23 20:57\n" +"Last-Translator: Mouse Reeve \n" +"Language-Team: Romanian\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Crowdin-Project: bookwyrm\n" +"X-Crowdin-Project-ID: 479239\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 1553\n" + +#: bookwyrm/forms/admin.py:41 +msgid "One Day" +msgstr "O zi" + +#: bookwyrm/forms/admin.py:42 +msgid "One Week" +msgstr "O săptămână" + +#: bookwyrm/forms/admin.py:43 +msgid "One Month" +msgstr "O lună" + +#: bookwyrm/forms/admin.py:44 +msgid "Does Not Expire" +msgstr "Nu expiră" + +#: bookwyrm/forms/admin.py:48 +#, python-brace-format +msgid "{i} uses" +msgstr "{i} utilizări" + +#: bookwyrm/forms/admin.py:49 +msgid "Unlimited" +msgstr "Nelimitat" + +#: bookwyrm/forms/forms.py:54 +msgid "Reading finish date cannot be before start date." +msgstr "Data de terminare a lecturii nu poate fi înainte de data de început." + +#: bookwyrm/forms/landing.py:32 +msgid "User with this username already exists" +msgstr "Un utilizator cu acest nume există deja" + +#: bookwyrm/forms/landing.py:41 +msgid "A user with this email already exists." +msgstr "Un utilizator cu această adresă de email există deja." + +#: bookwyrm/forms/links.py:36 +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 +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." + +#: bookwyrm/forms/lists.py:26 +msgid "List Order" +msgstr "Ordonează după listă" + +#: bookwyrm/forms/lists.py:27 +msgid "Book Title" +msgstr "Titlul cărții" + +#: bookwyrm/forms/lists.py:28 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/templates/shelf/shelf.html:187 +#: bookwyrm/templates/snippets/create_status/review.html:32 +msgid "Rating" +msgstr "Rating" + +#: bookwyrm/forms/lists.py:30 bookwyrm/templates/lists/list.html:185 +msgid "Sort By" +msgstr "Sortează după" + +#: bookwyrm/forms/lists.py:34 +msgid "Ascending" +msgstr "Crescător" + +#: bookwyrm/forms/lists.py:35 +msgid "Descending" +msgstr "Descrescător" + +#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 +msgid "Error loading book" +msgstr "Eroare la încărcarea cărții" + +#: bookwyrm/importers/importer.py:154 +msgid "Could not find a match for book" +msgstr "Nu a putut fi găsită o potrivire pentru carte" + +#: bookwyrm/models/announcement.py:11 +msgid "Primary" +msgstr "Principal" + +#: bookwyrm/models/announcement.py:12 +msgid "Success" +msgstr "Succes" + +#: bookwyrm/models/announcement.py:13 +#: bookwyrm/templates/settings/invites/manage_invites.html:47 +msgid "Link" +msgstr "Legătură" + +#: bookwyrm/models/announcement.py:14 +msgid "Warning" +msgstr "Avertisment" + +#: bookwyrm/models/announcement.py:15 +msgid "Danger" +msgstr "Pericol" + +#: bookwyrm/models/antispam.py:106 bookwyrm/models/antispam.py:140 +msgid "Automatically generated report" +msgstr "Raport generat automat" + +#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 +#: bookwyrm/templates/import/import_status.html:200 +#: bookwyrm/templates/settings/link_domains/link_domains.html:19 +msgid "Pending" +msgstr "În așteptare" + +#: bookwyrm/models/base_model.py:18 +msgid "Self deletion" +msgstr "Ștergere automată" + +#: bookwyrm/models/base_model.py:19 +msgid "Moderator suspension" +msgstr "Suspendat de moderator" + +#: bookwyrm/models/base_model.py:20 +msgid "Moderator deletion" +msgstr "Șters de moderator" + +#: bookwyrm/models/base_model.py:21 +msgid "Domain block" +msgstr "Blocat de domeniu" + +#: bookwyrm/models/book.py:262 +msgid "Audiobook" +msgstr "Carte audio" + +#: bookwyrm/models/book.py:263 +msgid "eBook" +msgstr "Carte digitală" + +#: bookwyrm/models/book.py:264 +msgid "Graphic novel" +msgstr "Roman grafic" + +#: bookwyrm/models/book.py:265 +msgid "Hardcover" +msgstr "Copertă dură" + +#: bookwyrm/models/book.py:266 +msgid "Paperback" +msgstr "Broșură" + +#: bookwyrm/models/federated_server.py:11 +#: bookwyrm/templates/settings/federation/edit_instance.html:55 +#: bookwyrm/templates/settings/federation/instance_list.html:19 +msgid "Federated" +msgstr "Federat" + +#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:71 +#: bookwyrm/templates/settings/federation/edit_instance.html:56 +#: bookwyrm/templates/settings/federation/instance.html:10 +#: bookwyrm/templates/settings/federation/instance_list.html:23 +#: bookwyrm/templates/settings/link_domains/link_domains.html:27 +msgid "Blocked" +msgstr "Blocat" + +#: bookwyrm/models/fields.py:27 +#, python-format +msgid "%(value)s is not a valid remote_id" +msgstr "%(value)s nu este un remote_id valid" + +#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#, python-format +msgid "%(value)s is not a valid username" +msgstr "%(value)s nu este un nume de utilizator valid" + +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:179 +#: bookwyrm/templates/ostatus/error.html:29 +msgid "username" +msgstr "nume de utilizator" + +#: bookwyrm/models/fields.py:186 +msgid "A user with that username already exists." +msgstr "Un utilizator cu acel nume există deja." + +#: bookwyrm/models/fields.py:205 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Public" + +#: bookwyrm/models/fields.py:206 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Nelistat" + +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Urmăritori" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:6 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privat" + +#: bookwyrm/models/link.py:51 +msgid "Free" +msgstr "Gratuită" + +#: bookwyrm/models/link.py:52 +msgid "Purchasable" +msgstr "Cumpărabilă" + +#: bookwyrm/models/link.py:53 +msgid "Available for loan" +msgstr "Disponibilă pentru împrumut" + +#: bookwyrm/models/link.py:70 +#: bookwyrm/templates/settings/link_domains/link_domains.html:23 +msgid "Approved" +msgstr "Aprovat" + +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +msgid "Reviews" +msgstr "Recenzii" + +#: bookwyrm/models/user.py:33 +msgid "Comments" +msgstr "Comentarii" + +#: bookwyrm/models/user.py:34 +msgid "Quotations" +msgstr "Citate" + +#: bookwyrm/models/user.py:35 +msgid "Everything else" +msgstr "Orice altceva" + +#: bookwyrm/settings.py:209 +msgid "Home Timeline" +msgstr "Friză cronologică principală" + +#: bookwyrm/settings.py:209 +msgid "Home" +msgstr "Acasă" + +#: bookwyrm/settings.py:210 +msgid "Books Timeline" +msgstr "Friză cronologică de cărți" + +#: bookwyrm/settings.py:210 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/templates/search/layout.html:42 +#: bookwyrm/templates/user/layout.html:91 +msgid "Books" +msgstr "Cărți" + +#: bookwyrm/settings.py:282 +msgid "English" +msgstr "English (engleză)" + +#: bookwyrm/settings.py:283 +msgid "Deutsch (German)" +msgstr "Deutsch (germană)" + +#: bookwyrm/settings.py:284 +msgid "Español (Spanish)" +msgstr "Español (spaniolă)" + +#: bookwyrm/settings.py:285 +msgid "Galego (Galician)" +msgstr "Galego (galiciană)" + +#: bookwyrm/settings.py:286 +msgid "Italiano (Italian)" +msgstr "Italiano (italiană)" + +#: bookwyrm/settings.py:287 +msgid "Français (French)" +msgstr "Français (franceză)" + +#: bookwyrm/settings.py:288 +msgid "Lietuvių (Lithuanian)" +msgstr "Lietuvių (lituaniană)" + +#: bookwyrm/settings.py:289 +msgid "Norsk (Norwegian)" +msgstr "Norsk (norvegiană)" + +#: bookwyrm/settings.py:290 +msgid "Português do Brasil (Brazilian Portuguese)" +msgstr "Português do Brasil (portugheză braziliană)" + +#: bookwyrm/settings.py:291 +msgid "Português Europeu (European Portuguese)" +msgstr "Português Europeu (portugheză europeană)" + +#: bookwyrm/settings.py:292 +msgid "Svenska (Swedish)" +msgstr "Svenska (suedeză)" + +#: bookwyrm/settings.py:293 +msgid "简体中文 (Simplified Chinese)" +msgstr "简体中文 (chineză simplificată)" + +#: bookwyrm/settings.py:294 +msgid "繁體中文 (Traditional Chinese)" +msgstr "繁體中文 (chineză tradițională)" + +#: bookwyrm/templates/404.html:4 bookwyrm/templates/404.html:8 +msgid "Not Found" +msgstr "Nu a fost găsit" + +#: bookwyrm/templates/404.html:9 +msgid "The page you requested doesn't seem to exist!" +msgstr "Se pare că pagina pe care o solicitați nu există!" + +#: bookwyrm/templates/500.html:4 +msgid "Oops!" +msgstr "Ups!" + +#: bookwyrm/templates/500.html:8 +msgid "Server Error" +msgstr "Eroare de server" + +#: bookwyrm/templates/500.html:9 +msgid "Something went wrong! Sorry about that." +msgstr "Ceva a mers prost! Ne pare rău pentru asta." + +#: bookwyrm/templates/about/about.html:9 +#: bookwyrm/templates/about/layout.html:35 +msgid "About" +msgstr "Despre" + +#: bookwyrm/templates/about/about.html:20 +#: bookwyrm/templates/get_started/layout.html:20 +#, python-format +msgid "Welcome to %(site_name)s!" +msgstr "Bine ați venit în %(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 "%(site_name)s este parte din BookWyrm, o rețea de comunități independente, autonome de cititori. Chiar dacă puteți interacționa perfect cu utilizatori de oriunde din rețeaua BookWyrm, această comunitate este unică." + +#: bookwyrm/templates/about/about.html:42 +#, python-format +msgid "%(title)s is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5." +msgstr "%(title)s este cartea cea mai iubită a %(site_name)s, cu un rating mediu de %(rating)s din 5." + +#: bookwyrm/templates/about/about.html:61 +#, python-format +msgid "More %(site_name)s users want to read %(title)s than any other book." +msgstr "Utilizatorii %(site_name)s vor să citească %(title)s mai mult decât oricare altă carte." + +#: bookwyrm/templates/about/about.html:80 +#, python-format +msgid "%(title)s has the most divisive ratings of any book on %(site_name)s." +msgstr "%(title)s are ratingul cel mai divizat față de orice altă carte a %(site_name)s." + +#: bookwyrm/templates/about/about.html:91 +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 "Urmăriți progresul lecturii, vorbiți despre cărți, citiți recenzii și descoperiți ce să citiți în continuare. Mereu fără reclame, anti-corporație și axat pe comunitate, BookWyrm este un program la scară umană, conceput să rămână mic și personal. Dacă aveți cereri de funcționalități, raporturi de buguri sau vise mărețe, contactați-ne și făceți-vă auziți." + +#: bookwyrm/templates/about/about.html:98 +msgid "Meet your admins" +msgstr "Întâlniți-vă adminii" + +#: bookwyrm/templates/about/about.html:101 +#, python-format +msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." +msgstr "Moderatorii și administratorii %(site_name)s mențin site-ul în picioare, impun codul de conduită și răspund când utilizatorii raportează spam și comportament neadecvat." + +#: bookwyrm/templates/about/about.html:115 +msgid "Moderator" +msgstr "Moderator" + +#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:140 +msgid "Admin" +msgstr "Admin" + +#: bookwyrm/templates/about/about.html:133 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:14 +#: bookwyrm/templates/snippets/status/status_options.html:35 +#: bookwyrm/templates/snippets/user_options.html:14 +msgid "Send direct message" +msgstr "Trimiteți un mesaj direct" + +#: bookwyrm/templates/about/conduct.html:4 +#: bookwyrm/templates/about/conduct.html:9 +#: bookwyrm/templates/about/layout.html:41 +msgid "Code of Conduct" +msgstr "Cod de conduită" + +#: bookwyrm/templates/about/layout.html:11 +msgid "Active users:" +msgstr "Utilizatori activi:" + +#: bookwyrm/templates/about/layout.html:15 +msgid "Statuses posted:" +msgstr "Statusuri postate:" + +#: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 +msgid "Software version:" +msgstr "Versiunea programului:" + +#: bookwyrm/templates/about/layout.html:30 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:238 +#, python-format +msgid "About %(site_name)s" +msgstr "Despre %(site_name)s" + +#: bookwyrm/templates/about/layout.html:47 +#: bookwyrm/templates/about/privacy.html:4 +#: bookwyrm/templates/about/privacy.html:9 +msgid "Privacy Policy" +msgstr "Politica de confidențialitate" + +#: bookwyrm/templates/annual_summary/layout.html:7 +#: bookwyrm/templates/feed/summary_card.html:8 +#, python-format +msgid "%(year)s in the books" +msgstr "%(year)s în cărți" + +#: bookwyrm/templates/annual_summary/layout.html:43 +#, python-format +msgid "%(year)s in the books" +msgstr "%(year)s în cărți" + +#: bookwyrm/templates/annual_summary/layout.html:47 +#, python-format +msgid "%(display_name)s’s year of reading" +msgstr "Anul de lectură a %(display_name)s" + +#: bookwyrm/templates/annual_summary/layout.html:53 +msgid "Share this page" +msgstr "Partajați această pagină" + +#: bookwyrm/templates/annual_summary/layout.html:67 +msgid "Copy address" +msgstr "Copiați adresa" + +#: bookwyrm/templates/annual_summary/layout.html:68 +#: bookwyrm/templates/lists/list.html:277 +msgid "Copied!" +msgstr "Copiat!" + +#: bookwyrm/templates/annual_summary/layout.html:77 +msgid "Sharing status: public with key" +msgstr "Partajați statusul: public cu cheie" + +#: bookwyrm/templates/annual_summary/layout.html:78 +msgid "The page can be seen by anyone with the complete address." +msgstr "Pagina poate fi vizionată de oricine cu o adresă completă." + +#: bookwyrm/templates/annual_summary/layout.html:83 +msgid "Make page private" +msgstr "Faceți pagina privată" + +#: bookwyrm/templates/annual_summary/layout.html:89 +msgid "Sharing status: private" +msgstr "Partajați statusul: privat" + +#: bookwyrm/templates/annual_summary/layout.html:90 +msgid "The page is private, only you can see it." +msgstr "Pagina este privată, doar dumneavoastră puteți să o vedeți." + +#: bookwyrm/templates/annual_summary/layout.html:95 +msgid "Make page public" +msgstr "Faceți pagina publică" + +#: bookwyrm/templates/annual_summary/layout.html:99 +msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public." +msgstr "Când faceți pagina privată, vechea cheie nu mai oferă acces la pagină. O nouă cheie va fi creată dacă pagina este din nou făcută publică." + +#: bookwyrm/templates/annual_summary/layout.html:112 +#, python-format +msgid "Sadly %(display_name)s didn’t finish any books in %(year)s" +msgstr "Din păcate %(display_name)s nu a terminat nicio carte în %(year)s" + +#: bookwyrm/templates/annual_summary/layout.html:118 +#, python-format +msgid "In %(year)s, %(display_name)s read %(books_total)s book
for a total of %(pages_total)s pages!" +msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books
for a total of %(pages_total)s pages!" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "În %(year)s, %(display_name)s a citit %(books_total)s cărți
pentru un total de %(pages_total)s de pagini!" + +#: bookwyrm/templates/annual_summary/layout.html:124 +msgid "That’s great!" +msgstr "Este minunat!" + +#: bookwyrm/templates/annual_summary/layout.html:127 +#, python-format +msgid "That makes an average of %(pages)s pages per book." +msgstr "Asta înseamnă o medie de %(pages)s de pagini pe carte." + +#: bookwyrm/templates/annual_summary/layout.html:132 +#, python-format +msgid "(%(no_page_number)s book doesn’t have pages)" +msgid_plural "(%(no_page_number)s books don’t have pages)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "(cărțile %(no_page_number)s nu au pagini)" + +#: bookwyrm/templates/annual_summary/layout.html:148 +msgid "Their shortest read this year…" +msgstr "Cea mai scurtă lectură a sa…" + +#: bookwyrm/templates/annual_summary/layout.html:155 +#: bookwyrm/templates/annual_summary/layout.html:176 +#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/book/book.html:56 +#: bookwyrm/templates/discover/large-book.html:22 +#: bookwyrm/templates/landing/large-book.html:26 +#: bookwyrm/templates/landing/small-book.html:18 +msgid "by" +msgstr "de" + +#: bookwyrm/templates/annual_summary/layout.html:161 +#: bookwyrm/templates/annual_summary/layout.html:182 +#, python-format +msgid "%(pages)s pages" +msgstr "%(pages)s de pagini" + +#: bookwyrm/templates/annual_summary/layout.html:169 +msgid "…and the longest" +msgstr "…și cea mai lungă" + +#: bookwyrm/templates/annual_summary/layout.html:200 +#, python-format +msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
and achieved %(goal_percent)s%% of that goal" +msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
and achieved %(goal_percent)s%% of that goal" +msgstr[0] "%(display_name)s și-a fixat un obiectiv de a citi %(goal)s carte în %(year)s,
și a realizat %(goal_percent)s din obiectiv" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/annual_summary/layout.html:209 +msgid "Way to go!" +msgstr "Felicitări!" + +#: bookwyrm/templates/annual_summary/layout.html:224 +#, python-format +msgid "%(display_name)s left %(ratings_total)s rating,
their average rating is %(rating_average)s" +msgid_plural "%(display_name)s left %(ratings_total)s ratings,
their average rating is %(rating_average)s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "%(display_name)s a lăsat recenzii de %(ratings_total)s,
ratingul său mediu este %(rating_average)s" + +#: bookwyrm/templates/annual_summary/layout.html:238 +msgid "Their best rated review" +msgstr "Recenzia sa cea mai bine cotată" + +#: bookwyrm/templates/annual_summary/layout.html:251 +#, python-format +msgid "Their rating: %(rating)s" +msgstr "Recenzia sa: %(rating)s" + +#: bookwyrm/templates/annual_summary/layout.html:268 +#, python-format +msgid "All the books %(display_name)s read in %(year)s" +msgstr "Toate cărțile %(display_name)s citite în %(year)s" + +#: bookwyrm/templates/author/author.html:18 +#: bookwyrm/templates/author/author.html:19 +msgid "Edit Author" +msgstr "Editați autorul" + +#: bookwyrm/templates/author/author.html:35 +msgid "Author details" +msgstr "Detaliile autorului" + +#: bookwyrm/templates/author/author.html:39 +#: bookwyrm/templates/author/edit_author.html:42 +msgid "Aliases:" +msgstr "Aliasuri:" + +#: bookwyrm/templates/author/author.html:48 +msgid "Born:" +msgstr "Născut:" + +#: bookwyrm/templates/author/author.html:55 +msgid "Died:" +msgstr "Mort:" + +#: bookwyrm/templates/author/author.html:65 +msgid "External links" +msgstr "Legături externe" + +#: bookwyrm/templates/author/author.html:70 +msgid "Wikipedia" +msgstr "Wikipedia" + +#: bookwyrm/templates/author/author.html:78 +msgid "View ISNI record" +msgstr "Vizualizați intrarea ISNI" + +#: bookwyrm/templates/author/author.html:83 +#: bookwyrm/templates/author/sync_modal.html:5 +#: bookwyrm/templates/book/book.html:131 +#: bookwyrm/templates/book/sync_modal.html:5 +msgid "Load data" +msgstr "Încărcați date" + +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:135 +msgid "View on OpenLibrary" +msgstr "Vizualizați în OpenLibrary" + +#: bookwyrm/templates/author/author.html:102 +#: bookwyrm/templates/book/book.html:149 +msgid "View on Inventaire" +msgstr "Vizualizați în Inventaire" + +#: bookwyrm/templates/author/author.html:118 +msgid "View on LibraryThing" +msgstr "Vizualizați în LibraryThing" + +#: bookwyrm/templates/author/author.html:126 +msgid "View on Goodreads" +msgstr "Vizualizați în Goodreads" + +#: bookwyrm/templates/author/author.html:141 +#, python-format +msgid "Books by %(name)s" +msgstr "Cărți de %(name)s" + +#: bookwyrm/templates/author/edit_author.html:5 +msgid "Edit Author:" +msgstr "Editați autorul:" + +#: bookwyrm/templates/author/edit_author.html:13 +#: bookwyrm/templates/book/edit/edit_book.html:25 +msgid "Added:" +msgstr "Adăugat:" + +#: bookwyrm/templates/author/edit_author.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:28 +msgid "Updated:" +msgstr "Actualizat:" + +#: bookwyrm/templates/author/edit_author.html:16 +#: bookwyrm/templates/book/edit/edit_book.html:32 +msgid "Last edited by:" +msgstr "Ultima dată modificat de:" + +#: bookwyrm/templates/author/edit_author.html:33 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 +msgid "Metadata" +msgstr "Metadate" + +#: bookwyrm/templates/author/edit_author.html:35 +#: bookwyrm/templates/lists/form.html:9 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14 +#: bookwyrm/templates/shelf/form.html:9 +msgid "Name:" +msgstr "Nume:" + +#: bookwyrm/templates/author/edit_author.html:44 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 +msgid "Separate multiple values with commas." +msgstr "Separați valori multiple prin virgulă." + +#: bookwyrm/templates/author/edit_author.html:50 +msgid "Bio:" +msgstr "Biografie:" + +#: bookwyrm/templates/author/edit_author.html:56 +msgid "Wikipedia link:" +msgstr "Legătură Wikipedia:" + +#: bookwyrm/templates/author/edit_author.html:61 +msgid "Birth date:" +msgstr "Data de naștere:" + +#: bookwyrm/templates/author/edit_author.html:68 +msgid "Death date:" +msgstr "Data de moarte:" + +#: bookwyrm/templates/author/edit_author.html:75 +msgid "Author Identifiers" +msgstr "Date de identificare ale autorului" + +#: bookwyrm/templates/author/edit_author.html:77 +msgid "Openlibrary key:" +msgstr "Cheie OpenLibrary:" + +#: bookwyrm/templates/author/edit_author.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 +msgid "Inventaire ID:" +msgstr "ID Inventaire:" + +#: bookwyrm/templates/author/edit_author.html:91 +msgid "Librarything key:" +msgstr "Cheie LibraryThing:" + +#: bookwyrm/templates/author/edit_author.html:98 +msgid "Goodreads key:" +msgstr "Cheie GoodReads:" + +#: bookwyrm/templates/author/edit_author.html:105 +msgid "ISNI:" +msgstr "ISNI:" + +#: bookwyrm/templates/author/edit_author.html:115 +#: bookwyrm/templates/book/book.html:202 +#: bookwyrm/templates/book/edit/edit_book.html:127 +#: bookwyrm/templates/book/file_links/add_link_modal.html:60 +#: bookwyrm/templates/book/file_links/edit_links.html:82 +#: bookwyrm/templates/groups/form.html:32 +#: bookwyrm/templates/lists/bookmark_button.html:15 +#: bookwyrm/templates/lists/edit_item_form.html:15 +#: bookwyrm/templates/lists/form.html:130 +#: bookwyrm/templates/preferences/edit_user.html:136 +#: bookwyrm/templates/readthrough/readthrough_modal.html:74 +#: 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/users/user_moderation_actions.html:69 +#: bookwyrm/templates/shelf/form.html:25 +#: bookwyrm/templates/snippets/reading_modals/layout.html:18 +msgid "Save" +msgstr "Salvați" + +#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/sync_modal.html:23 +#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/cover_add_modal.html:33 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 +#: 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 +#: bookwyrm/templates/groups/delete_group_modal.html:15 +#: bookwyrm/templates/lists/add_item_modal.html:36 +#: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 +#: bookwyrm/templates/readthrough/readthrough_modal.html:73 +#: bookwyrm/templates/search/barcode_modal.html:45 +#: bookwyrm/templates/settings/federation/instance.html:106 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 +#: bookwyrm/templates/snippets/report_modal.html:52 +msgid "Cancel" +msgstr "Anulați" + +#: bookwyrm/templates/author/sync_modal.html:15 +#, python-format +msgid "Loading data will connect to %(source_name)s and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten." +msgstr "Încărcatul de date se va conecta la %(source_name)s și verifica orice metadate despre autor care nu sunt prezente aici. Metadatele existente nu vor fi suprascrise." + +#: bookwyrm/templates/author/sync_modal.html:24 +#: bookwyrm/templates/book/edit/edit_book.html:114 +#: bookwyrm/templates/book/sync_modal.html:24 +#: bookwyrm/templates/groups/members.html:29 +#: bookwyrm/templates/landing/password_reset.html:42 +#: bookwyrm/templates/snippets/remove_from_group_button.html:17 +msgid "Confirm" +msgstr "Confirmați" + +#: bookwyrm/templates/book/book.html:19 +msgid "Unable to connect to remote source." +msgstr "Nu s-a putut stabili conexiunea la distanță." + +#: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 +msgid "Edit Book" +msgstr "Editați carte" + +#: bookwyrm/templates/book/book.html:88 bookwyrm/templates/book/book.html:91 +msgid "Click to add cover" +msgstr "Adăugați o copertă" + +#: bookwyrm/templates/book/book.html:97 +msgid "Failed to load cover" +msgstr "Eșec la încărcarea coperții" + +#: bookwyrm/templates/book/book.html:108 +msgid "Click to enlarge" +msgstr "Clic pentru a mări" + +#: bookwyrm/templates/book/book.html:179 +#, python-format +msgid "(%(review_count)s review)" +msgid_plural "(%(review_count)s reviews)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "(%(review_count)s recenzii)" + +#: bookwyrm/templates/book/book.html:191 +msgid "Add Description" +msgstr "Adăugați o descriere" + +#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 +#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 +msgid "Description:" +msgstr "Descriere:" + +#: bookwyrm/templates/book/book.html:214 +#, python-format +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "%(count)s ediții" + +#: bookwyrm/templates/book/book.html:228 +msgid "You have shelved this edition in:" +msgstr "Ați pus această ediție pe raftul:" + +#: bookwyrm/templates/book/book.html:243 +#, python-format +msgid "A different edition of this book is on your %(shelf_name)s shelf." +msgstr "O ediție diferită a acestei cărți este pe %(shelf_name)s raftul vostru." + +#: bookwyrm/templates/book/book.html:254 +msgid "Your reading activity" +msgstr "Activitatea dvs. de lectură" + +#: bookwyrm/templates/book/book.html:260 +msgid "Add read dates" +msgstr "Adăugați date de lectură" + +#: bookwyrm/templates/book/book.html:268 +msgid "You don't have any reading activity for this book." +msgstr "Nu aveți nicio activitate de lectură pentru această carte." + +#: bookwyrm/templates/book/book.html:294 +msgid "Your reviews" +msgstr "Recenziile dvs." + +#: bookwyrm/templates/book/book.html:300 +msgid "Your comments" +msgstr "Comentariile voastre" + +#: bookwyrm/templates/book/book.html:306 +msgid "Your quotes" +msgstr "Citatele dvs." + +#: bookwyrm/templates/book/book.html:342 +msgid "Subjects" +msgstr "Subiecte" + +#: bookwyrm/templates/book/book.html:354 +msgid "Places" +msgstr "Locuri" + +#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 +#: 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:25 +#: bookwyrm/templates/search/layout.html:50 +#: bookwyrm/templates/user/layout.html:85 +msgid "Lists" +msgstr "Liste" + +#: bookwyrm/templates/book/book.html:377 +msgid "Add to list" +msgstr "Adăugați la listă" + +#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/cover_add_modal.html:32 +#: bookwyrm/templates/lists/add_item_modal.html:39 +#: bookwyrm/templates/lists/list.html:255 +#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24 +#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31 +msgid "Add" +msgstr "Adăugați" + +#: bookwyrm/templates/book/book_identifiers.html:8 +msgid "ISBN:" +msgstr "ISBN:" + +#: bookwyrm/templates/book/book_identifiers.html:15 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 +msgid "OCLC Number:" +msgstr "Număr OCLC:" + +#: bookwyrm/templates/book/book_identifiers.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 +msgid "ASIN:" +msgstr "ASIN:" + +#: bookwyrm/templates/book/cover_add_modal.html:5 +msgid "Add cover" +msgstr "Adăugați copertă" + +#: bookwyrm/templates/book/cover_add_modal.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 +msgid "Upload cover:" +msgstr "Încărcați copertă:" + +#: bookwyrm/templates/book/cover_add_modal.html:23 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 +msgid "Load cover from url:" +msgstr "Încărcați copertă de la URL-ul:" + +#: bookwyrm/templates/book/cover_show_modal.html:6 +msgid "Book cover preview" +msgstr "Previzualizarea coperții" + +#: bookwyrm/templates/book/cover_show_modal.html:11 +#: bookwyrm/templates/components/inline_form.html:8 +#: bookwyrm/templates/components/modal.html:13 +#: bookwyrm/templates/components/modal.html:30 +#: bookwyrm/templates/components/tooltip.html:7 +#: bookwyrm/templates/feed/suggested_books.html:55 +#: bookwyrm/templates/get_started/layout.html:25 +#: bookwyrm/templates/get_started/layout.html:58 +msgid "Close" +msgstr "Închideți" + +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 +#, python-format +msgid "Edit \"%(book_title)s\"" +msgstr "Editați „%(book_title)s”" + +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 +msgid "Add Book" +msgstr "Adăugați carte" + +#: bookwyrm/templates/book/edit/edit_book.html:54 +msgid "Confirm Book Info" +msgstr "Confirmați informațiile cărții" + +#: bookwyrm/templates/book/edit/edit_book.html:62 +#, python-format +msgid "Is \"%(name)s\" one of these authors?" +msgstr "Este „%(name)s” unul dintre acești autori?" + +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 +msgid "Author of " +msgstr "Autor al " + +#: bookwyrm/templates/book/edit/edit_book.html:75 +msgid "Find more information at isni.org" +msgstr "Aflați mai multe la isni.org" + +#: bookwyrm/templates/book/edit/edit_book.html:85 +msgid "This is a new author" +msgstr "Acesta este un autor nou" + +#: bookwyrm/templates/book/edit/edit_book.html:92 +#, python-format +msgid "Creating a new author: %(name)s" +msgstr "Creați un autor nou: %(name)s" + +#: bookwyrm/templates/book/edit/edit_book.html:99 +msgid "Is this an edition of an existing work?" +msgstr "Este această o ediție a unei opere existente?" + +#: bookwyrm/templates/book/edit/edit_book.html:107 +msgid "This is a new work" +msgstr "Aceasta este o operă nouă" + +#: bookwyrm/templates/book/edit/edit_book.html:116 +#: bookwyrm/templates/feed/status.html:21 +msgid "Back" +msgstr "Înapoi" + +#: bookwyrm/templates/book/edit/edit_book_form.html:24 +#: bookwyrm/templates/snippets/create_status/review.html:15 +msgid "Title:" +msgstr "Titlu:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:33 +msgid "Subtitle:" +msgstr "Subtitlu:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:53 +msgid "Series:" +msgstr "Serie:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:63 +msgid "Series number:" +msgstr "Numărul din serie:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:74 +msgid "Languages:" +msgstr "Limbi:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:86 +msgid "Subjects:" +msgstr "Subiecte:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:90 +msgid "Add subject" +msgstr "Adăugați subiect" + +#: bookwyrm/templates/book/edit/edit_book_form.html:108 +msgid "Remove subject" +msgstr "Înlăturați subiect" + +#: bookwyrm/templates/book/edit/edit_book_form.html:131 +msgid "Add Another Subject" +msgstr "Adăugați un alt subiect" + +#: bookwyrm/templates/book/edit/edit_book_form.html:139 +msgid "Publication" +msgstr "Publicație" + +#: bookwyrm/templates/book/edit/edit_book_form.html:144 +msgid "Publisher:" +msgstr "Editor:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:156 +msgid "First published date:" +msgstr "Prima dată de publicare:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:165 +msgid "Published date:" +msgstr "Data de publicare:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:176 +msgid "Authors" +msgstr "Autori" + +#: bookwyrm/templates/book/edit/edit_book_form.html:187 +#, python-format +msgid "Remove %(name)s" +msgstr "Înlăturați %(name)s" + +#: bookwyrm/templates/book/edit/edit_book_form.html:190 +#, python-format +msgid "Author page for %(name)s" +msgstr "Pagina de autori pentru %(name)s" + +#: bookwyrm/templates/book/edit/edit_book_form.html:198 +msgid "Add Authors:" +msgstr "Adăugați autori:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 +msgid "Add Author" +msgstr "Adaugă autor" + +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 +msgid "Jane Doe" +msgstr "Necunoscut" + +#: bookwyrm/templates/book/edit/edit_book_form.html:211 +msgid "Add Another Author" +msgstr "Adăugați un alt autor" + +#: bookwyrm/templates/book/edit/edit_book_form.html:221 +#: bookwyrm/templates/shelf/shelf.html:146 +msgid "Cover" +msgstr "Copertă" + +#: bookwyrm/templates/book/edit/edit_book_form.html:253 +msgid "Physical Properties" +msgstr "Proprietăți fizice" + +#: bookwyrm/templates/book/edit/edit_book_form.html:260 +#: bookwyrm/templates/book/editions/format_filter.html:6 +msgid "Format:" +msgstr "Format:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:272 +msgid "Format details:" +msgstr "Detalii de format:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:283 +msgid "Pages:" +msgstr "Pagini:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:294 +msgid "Book Identifiers" +msgstr "Date de identificare ale cărții" + +#: bookwyrm/templates/book/edit/edit_book_form.html:299 +msgid "ISBN 13:" +msgstr "ISBN 13:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:308 +msgid "ISBN 10:" +msgstr "ISBN 10:" + +#: bookwyrm/templates/book/edit/edit_book_form.html:317 +msgid "Openlibrary ID:" +msgstr "ID OpenLibrary:" + +#: bookwyrm/templates/book/editions/editions.html:4 +#, python-format +msgid "Editions of %(book_title)s" +msgstr "Ediții ale %(book_title)s" + +#: bookwyrm/templates/book/editions/editions.html:8 +#, python-format +msgid "Editions of \"%(work_title)s\"" +msgstr "Ediții ale %(work_title)s" + +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "Nu găsiți ediția pe care o căutați?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "Adăugați o altă ediție" + +#: bookwyrm/templates/book/editions/format_filter.html:9 +#: bookwyrm/templates/book/editions/language_filter.html:9 +msgid "Any" +msgstr "Oricare" + +#: bookwyrm/templates/book/editions/language_filter.html:6 +#: bookwyrm/templates/preferences/edit_user.html:95 +msgid "Language:" +msgstr "Limbă:" + +#: bookwyrm/templates/book/editions/search_filter.html:6 +msgid "Search editions" +msgstr "Căutați ediții" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:6 +msgid "Add file link" +msgstr "Adăugați o legătură de fișier" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:19 +msgid "Links from unknown domains will need to be approved by a moderator before they are added." +msgstr "Legături de la domenii necunoscute vor trebui aprovate de către un moderator înainte de a fi adăugate." + +#: bookwyrm/templates/book/file_links/add_link_modal.html:24 +msgid "URL:" +msgstr "URL:" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:29 +msgid "File type:" +msgstr "Tipul fișierului:" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:48 +msgid "Availability:" +msgstr "Disponibilitate:" + +#: bookwyrm/templates/book/file_links/edit_links.html:5 +#: bookwyrm/templates/book/file_links/edit_links.html:21 +#: bookwyrm/templates/book/file_links/links.html:53 +msgid "Edit links" +msgstr "Editați legături" + +#: bookwyrm/templates/book/file_links/edit_links.html:11 +#, python-format +msgid "Links for \"%(title)s\"" +msgstr "Legături pentru „%(title)s”" + +#: bookwyrm/templates/book/file_links/edit_links.html:32 +#: bookwyrm/templates/settings/link_domains/link_table.html:6 +msgid "URL" +msgstr "URL" + +#: bookwyrm/templates/book/file_links/edit_links.html:33 +#: bookwyrm/templates/settings/link_domains/link_table.html:7 +msgid "Added by" +msgstr "Adăugat de" + +#: bookwyrm/templates/book/file_links/edit_links.html:34 +#: bookwyrm/templates/settings/link_domains/link_table.html:8 +msgid "Filetype" +msgstr "Tipul fișierului" + +#: bookwyrm/templates/book/file_links/edit_links.html:35 +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25 +#: bookwyrm/templates/settings/reports/report_links_table.html:5 +msgid "Domain" +msgstr "Domeniu" + +#: bookwyrm/templates/book/file_links/edit_links.html:36 +#: bookwyrm/templates/import/import_status.html:127 +#: bookwyrm/templates/settings/announcements/announcements.html:37 +#: bookwyrm/templates/settings/federation/instance_list.html:46 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/status_filter.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_info.html:20 +msgid "Status" +msgstr "Status" + +#: bookwyrm/templates/book/file_links/edit_links.html:37 +#: bookwyrm/templates/settings/announcements/announcements.html:41 +#: bookwyrm/templates/settings/federation/instance.html:112 +#: bookwyrm/templates/settings/reports/report_links_table.html:6 +#: bookwyrm/templates/settings/themes.html:100 +msgid "Actions" +msgstr "Acțiuni" + +#: bookwyrm/templates/book/file_links/edit_links.html:53 +#: bookwyrm/templates/book/file_links/verification_modal.html:22 +msgid "Report spam" +msgstr "Raportați spam" + +#: bookwyrm/templates/book/file_links/edit_links.html:97 +msgid "No links available for this book." +msgstr "Nicio legătură disponibilă pentru această carte." + +#: bookwyrm/templates/book/file_links/edit_links.html:108 +#: bookwyrm/templates/book/file_links/links.html:18 +msgid "Add link to file" +msgstr "Adăugați o legătură către fișier" + +#: bookwyrm/templates/book/file_links/file_link_page.html:6 +msgid "File Links" +msgstr "Legăturile fișierului" + +#: bookwyrm/templates/book/file_links/links.html:9 +msgid "Get a copy" +msgstr "Obțineți o copie" + +#: bookwyrm/templates/book/file_links/links.html:47 +msgid "No links available" +msgstr "Nicio legătură disponibilă" + +#: bookwyrm/templates/book/file_links/verification_modal.html:5 +msgid "Leaving BookWyrm" +msgstr "Părăsind BookWyrm" + +#: bookwyrm/templates/book/file_links/verification_modal.html:11 +#, python-format +msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" +msgstr "Această legătură vă duce la: %(link_url)s.
Doriți să continuați?" + +#: bookwyrm/templates/book/file_links/verification_modal.html:26 +#: bookwyrm/templates/setup/config.html:139 +msgid "Continue" +msgstr "Continuați" + +#: bookwyrm/templates/book/publisher_info.html:23 +#, python-format +msgid "%(format)s, %(pages)s pages" +msgstr "%(format)s, %(pages)s de pagini" + +#: bookwyrm/templates/book/publisher_info.html:25 +#, python-format +msgid "%(pages)s pages" +msgstr "%(pages)s pagini" + +#: bookwyrm/templates/book/publisher_info.html:38 +#, python-format +msgid "%(languages)s language" +msgstr "%(languages)s Limbă" + +#: bookwyrm/templates/book/publisher_info.html:65 +#, python-format +msgid "Published %(date)s by %(publisher)s." +msgstr "Publicat în %(date)s de %(publisher)s." + +#: bookwyrm/templates/book/publisher_info.html:67 +#, python-format +msgid "Published %(date)s" +msgstr "Publicat în %(date)s" + +#: bookwyrm/templates/book/publisher_info.html:69 +#, python-format +msgid "Published by %(publisher)s." +msgstr "Publicat de %(publisher)s." + +#: bookwyrm/templates/book/rating.html:13 +msgid "rated it" +msgstr "a evaluat-o" + +#: bookwyrm/templates/book/sync_modal.html:15 +#, python-format +msgid "Loading data will connect to %(source_name)s and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten." +msgstr "Încărcatul de date se va conecta la %(source_name)s și verifica orice metadate despre această carte care nu sunt prezente aici. Metadatele existente nu vor fi suprascrise." + +#: bookwyrm/templates/components/tooltip.html:3 +msgid "Help" +msgstr "Ajutor" + +#: bookwyrm/templates/compose.html:5 bookwyrm/templates/compose.html:8 +msgid "Edit status" +msgstr "Editați stare" + +#: bookwyrm/templates/confirm_email/confirm_email.html:4 +msgid "Confirm email" +msgstr "Confirmați emailul" + +#: bookwyrm/templates/confirm_email/confirm_email.html:7 +msgid "Confirm your email address" +msgstr "Confirmați adresa dvs. de email" + +#: bookwyrm/templates/confirm_email/confirm_email.html:13 +msgid "A confirmation code has been sent to the email address you used to register your account." +msgstr "Un cod de confirmare a fost trimis la adresa pe care ați utilizat-o pentru a înregistra contul dvs." + +#: bookwyrm/templates/confirm_email/confirm_email.html:15 +msgid "Sorry! We couldn't find that code." +msgstr "Ne pare rău! Nu am putut găsi acel cod." + +#: bookwyrm/templates/confirm_email/confirm_email.html:19 +#: bookwyrm/templates/settings/users/user_info.html:85 +msgid "Confirmation code:" +msgstr "Cod de confirmare:" + +#: bookwyrm/templates/confirm_email/confirm_email.html:25 +#: bookwyrm/templates/landing/layout.html:81 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 +#: bookwyrm/templates/snippets/report_modal.html:53 +msgid "Submit" +msgstr "Trimiteți" + +#: bookwyrm/templates/confirm_email/confirm_email.html:32 +msgid "Can't find your code?" +msgstr "Nu puteți găsi codul?" + +#: bookwyrm/templates/confirm_email/resend_form.html:4 +msgid "Resend confirmation link" +msgstr "Retrimiteți legătura de confirmare" + +#: bookwyrm/templates/confirm_email/resend_form.html:11 +#: bookwyrm/templates/landing/layout.html:68 +#: bookwyrm/templates/landing/password_reset_request.html:18 +#: bookwyrm/templates/preferences/edit_user.html:53 +#: bookwyrm/templates/snippets/register_form.html:27 +msgid "Email address:" +msgstr "Adresa de email:" + +#: bookwyrm/templates/confirm_email/resend_form.html:17 +msgid "Resend link" +msgstr "Retrimiteți legătura" + +#: bookwyrm/templates/directory/community_filter.html:5 +msgid "Community" +msgstr "Comunitate" + +#: bookwyrm/templates/directory/community_filter.html:8 +#: bookwyrm/templates/settings/users/user_admin.html:25 +msgid "Local users" +msgstr "Utilizatori locali" + +#: bookwyrm/templates/directory/community_filter.html:12 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Federated community" +msgstr "Comunitate federată" + +#: bookwyrm/templates/directory/directory.html:4 +#: bookwyrm/templates/directory/directory.html:9 +#: bookwyrm/templates/layout.html:109 +msgid "Directory" +msgstr "Dosar" + +#: bookwyrm/templates/directory/directory.html:17 +msgid "Make your profile discoverable to other BookWyrm users." +msgstr "Expuneți-vă profilul altor utilizatori BookWyrm." + +#: bookwyrm/templates/directory/directory.html:21 +msgid "Join Directory" +msgstr "Alăturați-vă dosarului" + +#: bookwyrm/templates/directory/directory.html:24 +#, python-format +msgid "You can opt-out at any time in your profile settings." +msgstr "Puteți să vă dezabonați în orice moment în setările de profil ale dvs." + +#: bookwyrm/templates/directory/directory.html:29 +#: bookwyrm/templates/directory/directory.html:31 +#: bookwyrm/templates/feed/goal_card.html:17 +#: bookwyrm/templates/feed/summary_card.html:12 +#: bookwyrm/templates/feed/summary_card.html:14 +#: bookwyrm/templates/snippets/announcement.html:31 +msgid "Dismiss message" +msgstr "Renunțați la mesaj" + +#: bookwyrm/templates/directory/sort_filter.html:5 +msgid "Order by" +msgstr "Sortați după" + +#: bookwyrm/templates/directory/sort_filter.html:9 +msgid "Recently active" +msgstr "Activitate recentă" + +#: bookwyrm/templates/directory/sort_filter.html:10 +msgid "Suggested" +msgstr "Sugerate" + +#: bookwyrm/templates/directory/user_card.html:17 +#: bookwyrm/templates/directory/user_card.html:18 +#: bookwyrm/templates/ostatus/remote_follow.html:21 +#: bookwyrm/templates/ostatus/remote_follow.html:22 +#: bookwyrm/templates/ostatus/subscribe.html:41 +#: bookwyrm/templates/ostatus/subscribe.html:42 +#: bookwyrm/templates/ostatus/success.html:17 +#: bookwyrm/templates/ostatus/success.html:18 +#: bookwyrm/templates/user/user_preview.html:16 +#: bookwyrm/templates/user/user_preview.html:17 +msgid "Locked account" +msgstr "Cont blocat" + +#: bookwyrm/templates/directory/user_card.html:40 +msgid "follower you follow" +msgid_plural "followers you follow" +msgstr[0] "urmăritor pe care îl urmați" +msgstr[1] "" +msgstr[2] "urmăritori pe care îi urmați" + +#: bookwyrm/templates/directory/user_card.html:47 +msgid "book on your shelves" +msgid_plural "books on your shelves" +msgstr[0] "carte pe rafturile dvs." +msgstr[1] "" +msgstr[2] "cărți pe rafturile dvs." + +#: bookwyrm/templates/directory/user_card.html:55 +msgid "posts" +msgstr "publicații" + +#: bookwyrm/templates/directory/user_card.html:61 +msgid "last active" +msgstr "ultima activitate" + +#: bookwyrm/templates/directory/user_type_filter.html:5 +msgid "User type" +msgstr "Tip de utilizator" + +#: bookwyrm/templates/directory/user_type_filter.html:8 +msgid "BookWyrm users" +msgstr "Utilizatori BookWyrm" + +#: bookwyrm/templates/directory/user_type_filter.html:12 +msgid "All known users" +msgstr "Toți utilizatorii cunoscuți" + +#: bookwyrm/templates/discover/card-header.html:8 +#, python-format +msgid "%(username)s wants to read %(book_title)s" +msgstr "%(username)s vrea să citească %(book_title)s" + +#: bookwyrm/templates/discover/card-header.html:13 +#, python-format +msgid "%(username)s finished reading %(book_title)s" +msgstr "%(username)s a terminat de citit %(book_title)s" + +#: bookwyrm/templates/discover/card-header.html:18 +#, python-format +msgid "%(username)s started reading %(book_title)s" +msgstr "%(username)s a început să citească %(book_title)s" + +#: bookwyrm/templates/discover/card-header.html:23 +#, python-format +msgid "%(username)s rated %(book_title)s" +msgstr "%(username)s a evaluat %(book_title)s" + +#: bookwyrm/templates/discover/card-header.html:27 +#, python-format +msgid "%(username)s reviewed %(book_title)s" +msgstr "%(username)s a revizuit %(book_title)s" + +#: bookwyrm/templates/discover/card-header.html:31 +#, python-format +msgid "%(username)s commented on %(book_title)s" +msgstr "%(username)s a comentat despre %(book_title)s" + +#: bookwyrm/templates/discover/card-header.html:35 +#, python-format +msgid "%(username)s quoted %(book_title)s" +msgstr "%(username)s a citat %(book_title)s" + +#: bookwyrm/templates/discover/discover.html:4 +#: bookwyrm/templates/discover/discover.html:10 +#: bookwyrm/templates/layout.html:86 +msgid "Discover" +msgstr "Descoperiți" + +#: bookwyrm/templates/discover/discover.html:12 +#, python-format +msgid "See what's new in the local %(site_name)s community" +msgstr "Vedeți ce este nou în comunitatea locală %(site_name)s" + +#: bookwyrm/templates/discover/large-book.html:52 +#: bookwyrm/templates/discover/small-book.html:36 +msgid "View status" +msgstr "Vizualizați stare" + +#: bookwyrm/templates/email/confirm/html_content.html:6 +#: bookwyrm/templates/email/confirm/text_content.html:4 +#, python-format +msgid "One last step before you join %(site_name)s! Please confirm your email address by clicking the link below:" +msgstr "Un ultim pas înainte de a vă alătura %(site_name)s! Vă rugăm confirmați adresa dvs. de email dând clic pe legătura de dedesubt:" + +#: bookwyrm/templates/email/confirm/html_content.html:11 +msgid "Confirm Email" +msgstr "Confirmați email" + +#: bookwyrm/templates/email/confirm/html_content.html:15 +#, python-format +msgid "Or enter the code \"%(confirmation_code)s\" at login." +msgstr "Sau introduceți codul „%(confirmation_code)s” la autentificare." + +#: bookwyrm/templates/email/confirm/subject.html:2 +msgid "Please confirm your email" +msgstr "Vă rugam confirmați adresa dvs." + +#: bookwyrm/templates/email/confirm/text_content.html:10 +#, python-format +msgid "Or enter the code \"%(confirmation_code)s\" at login." +msgstr "Sau introduceți codul „%(confirmation_code)s” la autentificare." + +#: bookwyrm/templates/email/html_layout.html:15 +#: bookwyrm/templates/email/text_layout.html:2 +msgid "Hi there," +msgstr "Salutare," + +#: bookwyrm/templates/email/html_layout.html:21 +#, python-format +msgid "BookWyrm hosted on %(site_name)s" +msgstr "BookWyrm este găzduit de %(site_name)s" + +#: bookwyrm/templates/email/html_layout.html:23 +msgid "Email preference" +msgstr "Preferințe email" + +#: bookwyrm/templates/email/invite/html_content.html:6 +#: bookwyrm/templates/email/invite/subject.html:2 +#, python-format +msgid "You're invited to join %(site_name)s!" +msgstr "Sunteți invitat să vă alăturați %(site_name)s!" + +#: bookwyrm/templates/email/invite/html_content.html:9 +msgid "Join Now" +msgstr "Alăturați-vă acum" + +#: bookwyrm/templates/email/invite/html_content.html:15 +#, python-format +msgid "Learn more about %(site_name)s." +msgstr "Aflați mai multe despre %(site_name)s." + +#: bookwyrm/templates/email/invite/text_content.html:4 +#, python-format +msgid "You're invited to join %(site_name)s! Click the link below to create an account." +msgstr "Sunteți invitat să vă alăturați %(site_name)s! Clic pe legătura de dedesubt pentru a crea un cont nou." + +#: bookwyrm/templates/email/invite/text_content.html:8 +#, python-format +msgid "Learn more about %(site_name)s:" +msgstr "Aflați mai multe despre %(site_name)s:" + +#: bookwyrm/templates/email/moderation_report/html_content.html:6 +#: bookwyrm/templates/email/moderation_report/text_content.html:5 +#, python-format +msgid "@%(reporter)s has flagged behavior by @%(reportee)s for moderation. " +msgstr "@%(reporter)s a marcat comportamentul (lui) %(reportee)s pentru moderare. " + +#: bookwyrm/templates/email/moderation_report/html_content.html:9 +#: bookwyrm/templates/email/moderation_report/text_content.html:7 +msgid "View report" +msgstr "Vizualizați raportul" + +#: bookwyrm/templates/email/moderation_report/subject.html:2 +#, python-format +msgid "New report for %(site_name)s" +msgstr "Raport nou pentru %(site_name)s" + +#: bookwyrm/templates/email/password_reset/html_content.html:6 +#: bookwyrm/templates/email/password_reset/text_content.html:4 +#, python-format +msgid "You requested to reset your %(site_name)s password. Click the link below to set a new password and log in to your account." +msgstr "Ați solicitat reinițializarea parolei dvs. pentru %(site_name)s. Clic pe legătura de dedesubt pentru a alege o nouă parolă și a vă autentifica la contul dvs." + +#: bookwyrm/templates/email/password_reset/html_content.html:9 +#: bookwyrm/templates/landing/password_reset.html:4 +#: bookwyrm/templates/landing/password_reset.html:10 +#: bookwyrm/templates/landing/password_reset_request.html:4 +#: bookwyrm/templates/landing/password_reset_request.html:10 +msgid "Reset Password" +msgstr "Reinițializați parola" + +#: bookwyrm/templates/email/password_reset/html_content.html:13 +#: bookwyrm/templates/email/password_reset/text_content.html:8 +msgid "If you didn't request to reset your password, you can ignore this email." +msgstr "Dacă nu ați solicitat reinițializarea parolei dvs., puteți ignora acest email." + +#: bookwyrm/templates/email/password_reset/subject.html:2 +#, python-format +msgid "Reset your %(site_name)s password" +msgstr "Reinițializați parola dvs. pentru %(site_name)s" + +#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 +#: bookwyrm/templates/setup/layout.html:12 +#, python-format +msgid "%(site_name)s home page" +msgstr "Pagina principală a %(site_name)s" + +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:242 +msgid "Contact site admin" +msgstr "Contactați adminul site-ului" + +#: bookwyrm/templates/embed-layout.html:46 +msgid "Join Bookwyrm" +msgstr "Alăturați-vă BookWyrm" + +#: bookwyrm/templates/feed/direct_messages.html:8 +#, python-format +msgid "Direct Messages with %(username)s" +msgstr "Mesajele directe cu %(username)s" + +#: bookwyrm/templates/feed/direct_messages.html:10 +#: bookwyrm/templates/layout.html:119 +msgid "Direct Messages" +msgstr "Mesaje directe" + +#: bookwyrm/templates/feed/direct_messages.html:13 +msgid "All messages" +msgstr "Toate mesajele" + +#: bookwyrm/templates/feed/direct_messages.html:22 +msgid "You have no messages right now." +msgstr "Nu aveți niciun mesaj în acest moment." + +#: bookwyrm/templates/feed/feed.html:54 +msgid "There aren't any activities right now! Try following a user to get started" +msgstr "Nu există nicio activitate momentan! Încercați să urmăriți un utilizator pentru a începe" + +#: bookwyrm/templates/feed/feed.html:55 +msgid "Alternatively, you can try enabling more status types" +msgstr "Alternativ, puteți încerca să activați mai multe tipuri de statusuri" + +#: bookwyrm/templates/feed/goal_card.html:6 +#: bookwyrm/templates/feed/layout.html:15 +#: bookwyrm/templates/user/goal_form.html:6 +#, python-format +msgid "%(year)s Reading Goal" +msgstr "Obiectivul de lectură din %(year)s" + +#: bookwyrm/templates/feed/goal_card.html:18 +#, python-format +msgid "You can set or change your reading goal any time from your profile page" +msgstr "Puteți alege sau schimba obiectul dvs. de lectură oricând folosind pagina dvs. de profil" + +#: bookwyrm/templates/feed/layout.html:5 +msgid "Updates" +msgstr "Actualizări" + +#: bookwyrm/templates/feed/suggested_books.html:6 +#: bookwyrm/templates/layout.html:114 +msgid "Your Books" +msgstr "Cărțile voastre" + +#: bookwyrm/templates/feed/suggested_books.html:8 +msgid "There are no books here right now! Try searching for a book to get started" +msgstr "Nu există nicio carte momentan! Încercați să căutați o carte pentru a începe" + +#: bookwyrm/templates/feed/suggested_users.html:5 +#: bookwyrm/templates/get_started/users.html:6 +msgid "Who to follow" +msgstr "Pe cine să urmați" + +#: bookwyrm/templates/feed/suggested_users.html:9 +msgid "Don't show suggested users" +msgstr "Nu afișați utilizatorii sugerați" + +#: bookwyrm/templates/feed/suggested_users.html:14 +msgid "View directory" +msgstr "Vizualizați dosarul" + +#: bookwyrm/templates/feed/summary_card.html:21 +msgid "The end of the year is the best moment to take stock of all the books read during the last 12 months. How many pages have you read? Which book is your best-rated of the year? We compiled these stats, and more!" +msgstr "Sfârșitul anului este cel mai bun moment pentru a sumariza toate cărțile citite în ultimele 12 luni. Câte pagini ați citit? Ce carte a anului ați apreciat cel mai mult? Am compilat aceste date statistice și încă mai multe!" + +#: bookwyrm/templates/feed/summary_card.html:26 +#, python-format +msgid "Discover your stats for %(year)s!" +msgstr "Descoperiți date dvs. statistice pentru %(year)s!" + +#: bookwyrm/templates/get_started/book_preview.html:6 +#, python-format +msgid "Have you read %(book_title)s?" +msgstr "Ați citit %(book_title)s?" + +#: bookwyrm/templates/get_started/book_preview.html:7 +msgid "Add to your books" +msgstr "Adăugați la cărțile dvs." + +#: bookwyrm/templates/get_started/book_preview.html:10 +#: bookwyrm/templates/shelf/shelf.html:86 bookwyrm/templates/user/user.html:33 +#: bookwyrm/templatetags/shelf_tags.py:46 +msgid "To Read" +msgstr "De citit" + +#: bookwyrm/templates/get_started/book_preview.html:11 +#: bookwyrm/templates/shelf/shelf.html:87 bookwyrm/templates/user/user.html:34 +#: bookwyrm/templatetags/shelf_tags.py:48 +msgid "Currently Reading" +msgstr "Lectură în curs" + +#: bookwyrm/templates/get_started/book_preview.html:12 +#: bookwyrm/templates/shelf/shelf.html:88 +#: bookwyrm/templates/snippets/shelf_selector.html:47 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:24 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:12 +#: bookwyrm/templates/user/user.html:35 bookwyrm/templatetags/shelf_tags.py:50 +msgid "Read" +msgstr "Citită" + +#: bookwyrm/templates/get_started/books.html:6 +msgid "What are you reading?" +msgstr "Ce citiți?" + +#: bookwyrm/templates/get_started/books.html:9 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:213 +msgid "Search for a book" +msgstr "Căutați o carte" + +#: bookwyrm/templates/get_started/books.html:11 +#, python-format +msgid "No books found for \"%(query)s\"" +msgstr "Nicio carte găsită pentru „%(query)s”" + +#: bookwyrm/templates/get_started/books.html:11 +#, python-format +msgid "You can add books when you start using %(site_name)s." +msgstr "Puteți adăuga cărți când începeți să folosiți %(site_name)s." + +#: bookwyrm/templates/get_started/books.html:16 +#: bookwyrm/templates/get_started/books.html:17 +#: bookwyrm/templates/get_started/users.html:18 +#: bookwyrm/templates/get_started/users.html:19 +#: bookwyrm/templates/groups/members.html: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/search/layout.html:4 +#: bookwyrm/templates/search/layout.html:9 +msgid "Search" +msgstr "Căutați" + +#: bookwyrm/templates/get_started/books.html:27 +msgid "Suggested Books" +msgstr "Cărți sugerate" + +#: bookwyrm/templates/get_started/books.html:46 +#, python-format +msgid "Popular on %(site_name)s" +msgstr "Populare pe %(site_name)s" + +#: bookwyrm/templates/get_started/books.html:58 +#: bookwyrm/templates/lists/list.html:230 +msgid "No books found" +msgstr "Nicio carte găsită" + +#: bookwyrm/templates/get_started/books.html:63 +#: bookwyrm/templates/get_started/profile.html:64 +msgid "Save & continue" +msgstr "Salvați & continuați" + +#: bookwyrm/templates/get_started/layout.html:5 +#: bookwyrm/templates/landing/layout.html:5 +msgid "Welcome" +msgstr "Bine ați venit" + +#: bookwyrm/templates/get_started/layout.html:22 +msgid "These are some first steps to get you started." +msgstr "Acestea sunt câțiva primi pași pentru a demara." + +#: bookwyrm/templates/get_started/layout.html:36 +#: bookwyrm/templates/get_started/profile.html:6 +msgid "Create your profile" +msgstr "Creați un profil" + +#: bookwyrm/templates/get_started/layout.html:40 +msgid "Add books" +msgstr "Adăugați cărți" + +#: bookwyrm/templates/get_started/layout.html:44 +msgid "Find friends" +msgstr "Căutați prieteni" + +#: bookwyrm/templates/get_started/layout.html:50 +msgid "Skip this step" +msgstr "Săriți acest pas" + +#: bookwyrm/templates/get_started/layout.html:54 +msgid "Finish" +msgstr "Terminați" + +#: bookwyrm/templates/get_started/profile.html:15 +#: bookwyrm/templates/preferences/edit_user.html:41 +msgid "Display name:" +msgstr "Nume afișat:" + +#: bookwyrm/templates/get_started/profile.html:29 +#: bookwyrm/templates/preferences/edit_user.html:47 +#: bookwyrm/templates/settings/announcements/edit_announcement.html:49 +msgid "Summary:" +msgstr "Rezumat:" + +#: bookwyrm/templates/get_started/profile.html:34 +msgid "A little bit about you" +msgstr "Puțin despre dvs." + +#: bookwyrm/templates/get_started/profile.html:43 +#: bookwyrm/templates/preferences/edit_user.html:27 +msgid "Avatar:" +msgstr "Avatar:" + +#: bookwyrm/templates/get_started/profile.html:52 +msgid "Manually approve followers:" +msgstr "Aprovați manual urmăritorii:" + +#: bookwyrm/templates/get_started/profile.html:58 +msgid "Show this account in suggested users:" +msgstr "Afișați acest cont ca utilizator sugerat:" + +#: bookwyrm/templates/get_started/profile.html:62 +msgid "Your account will show up in the directory, and may be recommended to other BookWyrm users." +msgstr "Contul dumneavoastră se va afișa în director și poate fi recomandat altor utilizatori BookWyrm." + +#: bookwyrm/templates/get_started/users.html:11 +msgid "Search for a user" +msgstr "Căutați un utilizator" + +#: bookwyrm/templates/get_started/users.html:13 +#, python-format +msgid "No users found for \"%(query)s\"" +msgstr "Niciun utilizator găsit pentru „%(query)s”" + +#: bookwyrm/templates/groups/create_form.html:5 +#: bookwyrm/templates/user/groups.html:17 +msgid "Create group" +msgstr "Creați grup" + +#: bookwyrm/templates/groups/created_text.html:4 +#, python-format +msgid "Managed by %(username)s" +msgstr "Gestionat de %(username)s" + +#: bookwyrm/templates/groups/delete_group_modal.html:4 +msgid "Delete this group?" +msgstr "Ștergeți acest grup?" + +#: bookwyrm/templates/groups/delete_group_modal.html:7 +#: bookwyrm/templates/lists/delete_list_modal.html:7 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12 +msgid "This action cannot be un-done" +msgstr "Această acțiune nu poate fi revocată" + +#: bookwyrm/templates/groups/delete_group_modal.html:17 +#: bookwyrm/templates/lists/delete_list_modal.html:19 +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29 +#: bookwyrm/templates/settings/announcements/announcement.html:23 +#: bookwyrm/templates/settings/announcements/announcements.html:56 +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49 +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36 +#: bookwyrm/templates/snippets/follow_request_buttons.html:12 +#: bookwyrm/templates/snippets/join_invitation_buttons.html:14 +msgid "Delete" +msgstr "Ștergeți" + +#: bookwyrm/templates/groups/edit_form.html:5 +msgid "Edit Group" +msgstr "Editați grup" + +#: bookwyrm/templates/groups/form.html:8 +msgid "Group Name:" +msgstr "Nume grup:" + +#: bookwyrm/templates/groups/form.html:12 +msgid "Group Description:" +msgstr "Descrierea grupului:" + +#: bookwyrm/templates/groups/form.html:21 +msgid "Delete group" +msgstr "Ștergeți grupul" + +#: bookwyrm/templates/groups/group.html:21 +msgid "Members of this group can create group-curated lists." +msgstr "Membrii acestui grup pot crea liste administrate de grup." + +#: bookwyrm/templates/groups/group.html:26 +#: bookwyrm/templates/lists/create_form.html:5 +#: bookwyrm/templates/lists/lists.html:20 +msgid "Create List" +msgstr "Creați listă" + +#: bookwyrm/templates/groups/group.html:39 +msgid "This group has no lists" +msgstr "Acest grup nu are nicio listă" + +#: bookwyrm/templates/groups/layout.html:17 +msgid "Edit group" +msgstr "Editați grupul" + +#: bookwyrm/templates/groups/members.html:11 +msgid "Search to add a user" +msgstr "Căutați pentru a adăuga un utilizator" + +#: bookwyrm/templates/groups/members.html:32 +msgid "Leave group" +msgstr "Părăsiți grupul" + +#: bookwyrm/templates/groups/members.html:54 +#: bookwyrm/templates/groups/suggested_users.html:35 +#: bookwyrm/templates/snippets/suggested_users.html:31 +#: bookwyrm/templates/user/user_preview.html:33 +#: bookwyrm/templates/user/user_preview.html:41 +msgid "Follows you" +msgstr "Vă urmărește" + +#: bookwyrm/templates/groups/suggested_users.html:7 +msgid "Add new members!" +msgstr "Adăugați noi membrii!" + +#: bookwyrm/templates/groups/suggested_users.html:20 +#: bookwyrm/templates/snippets/suggested_users.html:16 +#, python-format +msgid "%(mutuals)s follower you follow" +msgid_plural "%(mutuals)s followers you follow" +msgstr[0] "%(mutuals)s urmăritor pe care îl urmați" +msgstr[1] "" +msgstr[2] "%(mutuals)s urmăritori pe care îi urmați" + +#: bookwyrm/templates/groups/suggested_users.html:27 +#: bookwyrm/templates/snippets/suggested_users.html:23 +#, python-format +msgid "%(shared_books)s book on your shelves" +msgid_plural "%(shared_books)s books on your shelves" +msgstr[0] "%(shared_books)s carte partajată pe rafturile dvs." +msgstr[1] "" +msgstr[2] "%(shared_books)s cărți partajate pe rafturile dvs." + +#: bookwyrm/templates/groups/suggested_users.html:43 +#, python-format +msgid "No potential members found for \"%(user_query)s\"" +msgstr "Niciun membru potențial găsit pentru „%(user_query)s”" + +#: bookwyrm/templates/groups/user_groups.html:15 +msgid "Manager" +msgstr "Administrator" + +#: bookwyrm/templates/import/import.html:5 +#: bookwyrm/templates/import/import.html:9 +#: bookwyrm/templates/shelf/shelf.html:64 +msgid "Import Books" +msgstr "Importați cărți" + +#: bookwyrm/templates/import/import.html:18 +msgid "Data source:" +msgstr "Sursa de date:" + +#: bookwyrm/templates/import/import.html:40 +msgid "Data file:" +msgstr "Fișierul de date:" + +#: bookwyrm/templates/import/import.html:48 +msgid "Include reviews" +msgstr "Includeți recenzii" + +#: bookwyrm/templates/import/import.html:53 +msgid "Privacy setting for imported reviews:" +msgstr "Setare de confidențialitate pentru recenziile importate:" + +#: bookwyrm/templates/import/import.html:59 +#: bookwyrm/templates/settings/federation/instance_blocklist.html:76 +msgid "Import" +msgstr "Importați" + +#: bookwyrm/templates/import/import.html:64 +msgid "Recent Imports" +msgstr "Importuri recente" + +#: bookwyrm/templates/import/import.html:66 +msgid "No recent imports" +msgstr "Niciun import recent" + +#: bookwyrm/templates/import/import_status.html:6 +#: bookwyrm/templates/import/import_status.html:15 +#: bookwyrm/templates/import/import_status.html:29 +msgid "Import Status" +msgstr "Importați stare" + +#: bookwyrm/templates/import/import_status.html:13 +#: bookwyrm/templates/import/import_status.html:27 +msgid "Retry Status" +msgstr "Reîncercați stare" + +#: bookwyrm/templates/import/import_status.html:22 +msgid "Imports" +msgstr "Importuri" + +#: bookwyrm/templates/import/import_status.html:39 +msgid "Import started:" +msgstr "Import început:" + +#: bookwyrm/templates/import/import_status.html:48 +msgid "In progress" +msgstr "În progres" + +#: bookwyrm/templates/import/import_status.html:50 +msgid "Refresh" +msgstr "Reîmprospătați" + +#: bookwyrm/templates/import/import_status.html:71 +#, python-format +msgid "%(display_counter)s item needs manual approval." +msgid_plural "%(display_counter)s items need manual approval." +msgstr[0] "%(display_counter)s element necesită aprobare manuală." +msgstr[1] "" +msgstr[2] "%(display_counter)s elemente necesită aprobare manuală." + +#: bookwyrm/templates/import/import_status.html:76 +#: bookwyrm/templates/import/manual_review.html:8 +msgid "Review items" +msgstr "Revizuiți elementele" + +#: bookwyrm/templates/import/import_status.html:82 +#, python-format +msgid "%(display_counter)s item failed to import." +msgid_plural "%(display_counter)s items failed to import." +msgstr[0] "%(display_counter)s import de elemente eșuat." +msgstr[1] "" +msgstr[2] "%(display_counter)s importuri de elemente eșuate." + +#: bookwyrm/templates/import/import_status.html:88 +msgid "View and troubleshoot failed items" +msgstr "Vizualizați și depanați elementele eșuate" + +#: bookwyrm/templates/import/import_status.html:100 +msgid "Row" +msgstr "Linie" + +#: bookwyrm/templates/import/import_status.html:103 +#: bookwyrm/templates/shelf/shelf.html:147 +#: bookwyrm/templates/shelf/shelf.html:169 +msgid "Title" +msgstr "Titlu" + +#: bookwyrm/templates/import/import_status.html:106 +msgid "ISBN" +msgstr "ISBN" + +#: bookwyrm/templates/import/import_status.html:110 +msgid "Openlibrary key" +msgstr "Cheie OpenLibrary" + +#: bookwyrm/templates/import/import_status.html:114 +#: bookwyrm/templates/shelf/shelf.html:148 +#: bookwyrm/templates/shelf/shelf.html:172 +msgid "Author" +msgstr "Autor" + +#: bookwyrm/templates/import/import_status.html:117 +msgid "Shelf" +msgstr "Raft" + +#: bookwyrm/templates/import/import_status.html:120 +#: bookwyrm/templates/import/manual_review.html:13 +#: bookwyrm/templates/snippets/create_status.html:16 +msgid "Review" +msgstr "Recenzie" + +#: bookwyrm/templates/import/import_status.html:124 +#: bookwyrm/templates/settings/link_domains/link_table.html:9 +msgid "Book" +msgstr "Carte" + +#: bookwyrm/templates/import/import_status.html:135 +msgid "Import preview unavailable." +msgstr "Importul previzualizării indisponibil." + +#: bookwyrm/templates/import/import_status.html:172 +msgid "View imported review" +msgstr "Vizionați recenzia importată" + +#: bookwyrm/templates/import/import_status.html:186 +msgid "Imported" +msgstr "Importat" + +#: bookwyrm/templates/import/import_status.html:192 +msgid "Needs manual review" +msgstr "Necesită recenzie manuală" + +#: bookwyrm/templates/import/import_status.html:205 +msgid "Retry" +msgstr "Încercați din nou" + +#: bookwyrm/templates/import/import_status.html:223 +msgid "This import is in an old format that is no longer supported. If you would like to troubleshoot missing items from this import, click the button below to update the import format." +msgstr "Acest import este un format vechi care nu mai este suportat. Dacă doriți să reglați lipsurile din import, clic pe butonul de dedesubt pentru a actualiza formatul de importare." + +#: bookwyrm/templates/import/import_status.html:225 +msgid "Update import" +msgstr "Actualizare import" + +#: bookwyrm/templates/import/manual_review.html:5 +#: bookwyrm/templates/import/troubleshoot.html:4 +msgid "Import Troubleshooting" +msgstr "Depanare import" + +#: bookwyrm/templates/import/manual_review.html:21 +msgid "Approving a suggestion will permanently add the suggested book to your shelves and associate your reading dates, reviews, and ratings with that book." +msgstr "Aprovatul unei sugestii va adăuga permanent cartea sugerată la rafturile dvs. și asocia datele dvs. de lectură, recenziile și ratingurile acelei cărți." + +#: bookwyrm/templates/import/manual_review.html:58 +#: bookwyrm/templates/lists/curate.html:71 +#: bookwyrm/templates/settings/link_domains/link_domains.html:76 +msgid "Approve" +msgstr "Aprovați" + +#: bookwyrm/templates/import/manual_review.html:66 +msgid "Reject" +msgstr "Respingeți" + +#: bookwyrm/templates/import/tooltip.html:6 +msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account." +msgstr "Puteți descărca datele dvs. GoodReads de pe pagina Import/Export a contului dvs. GoodReads." + +#: bookwyrm/templates/import/troubleshoot.html:7 +msgid "Failed items" +msgstr "Elemente a căror importare a eșuat" + +#: bookwyrm/templates/import/troubleshoot.html:12 +msgid "Troubleshooting" +msgstr "Depanare" + +#: bookwyrm/templates/import/troubleshoot.html:20 +msgid "Re-trying an import can fix missing items in cases such as:" +msgstr "Reîncercarea unui import poate regla elemente lipsă în cazuri precum:" + +#: bookwyrm/templates/import/troubleshoot.html:23 +msgid "The book has been added to the instance since this import" +msgstr "Cartea a fost adăugată instanței de când importul acesta" + +#: bookwyrm/templates/import/troubleshoot.html:24 +msgid "A transient error or timeout caused the external data source to be unavailable." +msgstr "O problemă temporară sau o depășire a timpului limită a provocat ca sursa de date externă să fie indisponibilă." + +#: bookwyrm/templates/import/troubleshoot.html:25 +msgid "BookWyrm has been updated since this import with a bug fix" +msgstr "BookWyrm a fost actualizat de la acest import cu reglări de buguri" + +#: bookwyrm/templates/import/troubleshoot.html:28 +msgid "Contact your admin or open an issue if you are seeing unexpected failed items." +msgstr "Contactați-vă adminul sau semnalați o problemă dacă vedeți elemente a căror importare a eșuat neașteptat." + +#: bookwyrm/templates/landing/invite.html:4 +#: bookwyrm/templates/landing/invite.html:8 +#: bookwyrm/templates/landing/login.html:48 +msgid "Create an Account" +msgstr "Creați un cont" + +#: bookwyrm/templates/landing/invite.html:21 +msgid "Permission Denied" +msgstr "Permisiune refuzată" + +#: bookwyrm/templates/landing/invite.html:22 +msgid "Sorry! This invite code is no longer valid." +msgstr "Ne pare rău! Acest cod de invitație nu mai este valabil." + +#: bookwyrm/templates/landing/landing.html:9 +msgid "Recent Books" +msgstr "Cărți recente" + +#: bookwyrm/templates/landing/layout.html:17 +msgid "Decentralized" +msgstr "Descentralizat" + +#: bookwyrm/templates/landing/layout.html:23 +msgid "Friendly" +msgstr "Prietenos" + +#: bookwyrm/templates/landing/layout.html:29 +msgid "Anti-Corporate" +msgstr "Anti-comercial" + +#: bookwyrm/templates/landing/layout.html:46 +#, python-format +msgid "Join %(name)s" +msgstr "Alăturați-vă %(name)s" + +#: bookwyrm/templates/landing/layout.html:48 +msgid "Request an Invitation" +msgstr "Solicitați o invitație" + +#: bookwyrm/templates/landing/layout.html:50 +#, python-format +msgid "%(name)s registration is closed" +msgstr "Înscrierea la %(name)s este închisă" + +#: bookwyrm/templates/landing/layout.html:61 +msgid "Thank you! Your request has been received." +msgstr "Mulțumim! Cererea dvs. a fost primită." + +#: bookwyrm/templates/landing/layout.html:90 +msgid "Your Account" +msgstr "Contul dvs." + +#: bookwyrm/templates/landing/login.html:4 +msgid "Login" +msgstr "Autentificare" + +#: bookwyrm/templates/landing/login.html:7 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:187 +#: bookwyrm/templates/ostatus/error.html:37 +msgid "Log in" +msgstr "Autentificați-vă" + +#: bookwyrm/templates/landing/login.html:15 +msgid "Success! Email address confirmed." +msgstr "Succes! Adresa email a fost confirmată." + +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/ostatus/error.html:28 +#: bookwyrm/templates/snippets/register_form.html:4 +msgid "Username:" +msgstr "Nume de utilizator:" + +#: bookwyrm/templates/landing/login.html:27 +#: bookwyrm/templates/landing/password_reset.html:26 +#: bookwyrm/templates/layout.html:182 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 +msgid "Password:" +msgstr "Parolă:" + +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:184 +#: bookwyrm/templates/ostatus/error.html:34 +msgid "Forgot your password?" +msgstr "Parolă uitată?" + +#: bookwyrm/templates/landing/login.html:61 +msgid "More about this site" +msgstr "Mai multe despre acest site" + +#: bookwyrm/templates/landing/password_reset.html:34 +#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/delete_user.html:20 +msgid "Confirm password:" +msgstr "Confirmați parola:" + +#: bookwyrm/templates/landing/password_reset_request.html:14 +msgid "A link to reset your password will be sent to your email address" +msgstr "O legătură pentru reinițializarea parolei dvs. va fi trimisă la adresa dvs." + +#: bookwyrm/templates/landing/password_reset_request.html:28 +msgid "Reset password" +msgstr "Reinițializați parola" + +#: bookwyrm/templates/layout.html:13 +#, python-format +msgid "%(site_name)s search" +msgstr "Căutare %(site_name)s" + +#: bookwyrm/templates/layout.html:46 +msgid "Search for a book, user, or list" +msgstr "Căutați o carte, un utilizator sau o listă" + +#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +msgid "Scan Barcode" +msgstr "Scanați codul de bare" + +#: bookwyrm/templates/layout.html:72 +msgid "Main navigation menu" +msgstr "Meniul principal de navigație" + +#: bookwyrm/templates/layout.html:80 +msgid "Feed" +msgstr "Fir de actualitate" + +#: bookwyrm/templates/layout.html:124 bookwyrm/templates/setup/config.html:52 +msgid "Settings" +msgstr "Setări" + +#: bookwyrm/templates/layout.html:133 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 +#: bookwyrm/templates/settings/invites/manage_invites.html:3 +#: bookwyrm/templates/settings/invites/manage_invites.html:15 +#: bookwyrm/templates/settings/layout.html:42 +msgid "Invites" +msgstr "Invitații" + +#: bookwyrm/templates/layout.html:147 +msgid "Log out" +msgstr "Deconectați-vă" + +#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:156 +#: bookwyrm/templates/notifications/notifications_page.html:5 +#: bookwyrm/templates/notifications/notifications_page.html:10 +msgid "Notifications" +msgstr "Notificări" + +#: bookwyrm/templates/layout.html:183 bookwyrm/templates/ostatus/error.html:33 +msgid "password" +msgstr "parolă" + +#: bookwyrm/templates/layout.html:195 +msgid "Join" +msgstr "Alăturați-vă" + +#: bookwyrm/templates/layout.html:229 +msgid "Successfully posted status" +msgstr "Stare postată cu succes" + +#: bookwyrm/templates/layout.html:230 +msgid "Error posting status" +msgstr "Eroare la postarea stării" + +#: bookwyrm/templates/layout.html:246 +msgid "Documentation" +msgstr "Documentație" + +#: bookwyrm/templates/layout.html:253 +#, python-format +msgid "Support %(site_name)s on %(support_title)s" +msgstr "Susțineți %(site_name)s la %(support_title)s" + +#: bookwyrm/templates/layout.html:257 +msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." +msgstr "Codul sursă a lui BookWyrm este disponibil gratuit. Puteți contribui sau raporta probleme la GitHub." + +#: bookwyrm/templates/lists/add_item_modal.html:8 +#, python-format +msgid "Add \"%(title)s\" to this list" +msgstr "Adăugați „%(title)s” la listă" + +#: bookwyrm/templates/lists/add_item_modal.html:12 +#, python-format +msgid "Suggest \"%(title)s\" for this list" +msgstr "Sugerați „%(title)s” pentru această listă" + +#: bookwyrm/templates/lists/add_item_modal.html:41 +#: bookwyrm/templates/lists/list.html:257 +msgid "Suggest" +msgstr "Sugerați" + +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "Revocați salvarea" + +#: bookwyrm/templates/lists/created_text.html:5 +#, python-format +msgid "Created by %(username)s and managed by %(groupname)s" +msgstr "Creat de %(username)s și gestionat de %(groupname)s" + +#: bookwyrm/templates/lists/created_text.html:7 +#, python-format +msgid "Created and curated by %(username)s" +msgstr "Creat și moderat de %(username)s" + +#: bookwyrm/templates/lists/created_text.html:9 +#, python-format +msgid "Created by %(username)s" +msgstr "Creat de %(username)s" + +#: bookwyrm/templates/lists/curate.html:12 +msgid "Curate" +msgstr "Organizați" + +#: bookwyrm/templates/lists/curate.html:21 +msgid "Pending Books" +msgstr "Cărți în așteptare" + +#: bookwyrm/templates/lists/curate.html:24 +msgid "You're all set!" +msgstr "Totul este gata!" + +#: bookwyrm/templates/lists/curate.html:45 +#: bookwyrm/templates/lists/list.html:93 +#, python-format +msgid "%(username)s says:" +msgstr "%(username)s spune:" + +#: bookwyrm/templates/lists/curate.html:55 +msgid "Suggested by" +msgstr "Sugerat de" + +#: bookwyrm/templates/lists/curate.html:77 +msgid "Discard" +msgstr "Renunțați" + +#: bookwyrm/templates/lists/delete_list_modal.html:4 +msgid "Delete this list?" +msgstr "Ștergeți această listă?" + +#: bookwyrm/templates/lists/edit_form.html:5 +#: bookwyrm/templates/lists/layout.html:17 +msgid "Edit List" +msgstr "Editați listă" + +#: bookwyrm/templates/lists/embed-list.html:8 +#, python-format +msgid "%(list_name)s, a list by %(owner)s" +msgstr "%(list_name)s, o listă de %(owner)s" + +#: bookwyrm/templates/lists/embed-list.html:18 +#, python-format +msgid "on %(site_name)s" +msgstr "în %(site_name)s" + +#: bookwyrm/templates/lists/embed-list.html:27 +#: bookwyrm/templates/lists/list.html:54 +msgid "This list is currently empty" +msgstr "Această listă este momentan vidă" + +#: bookwyrm/templates/lists/form.html:19 +msgid "List curation:" +msgstr "Organizați listă:" + +#: bookwyrm/templates/lists/form.html:31 +msgid "Closed" +msgstr "Închis" + +#: bookwyrm/templates/lists/form.html:34 +msgid "Only you can add and remove books to this list" +msgstr "Doar dvs. puteți adăuga sau înlătura cărți din această listă" + +#: bookwyrm/templates/lists/form.html:48 +msgid "Curated" +msgstr "Modificată" + +#: bookwyrm/templates/lists/form.html:51 +msgid "Anyone can suggest books, subject to your approval" +msgstr "Oricine poate sugera cărți, dvs. trebuie să le acceptați" + +#: bookwyrm/templates/lists/form.html:65 +msgctxt "curation type" +msgid "Open" +msgstr "Deschis" + +#: bookwyrm/templates/lists/form.html:68 +msgid "Anyone can add books to this list" +msgstr "Oricine poate adăuga cărți la această listă" + +#: bookwyrm/templates/lists/form.html:82 +msgid "Group" +msgstr "Grup" + +#: bookwyrm/templates/lists/form.html:85 +msgid "Group members can add to and remove from this list" +msgstr "Membrii grupului pot adăuga sau înlătura din această listă" + +#: bookwyrm/templates/lists/form.html:90 +msgid "Select Group" +msgstr "Selectați grup" + +#: bookwyrm/templates/lists/form.html:94 +msgid "Select a group" +msgstr "Selectați un grup" + +#: bookwyrm/templates/lists/form.html:105 +msgid "You don't have any Groups yet!" +msgstr "Nu aveți încă un grup!" + +#: bookwyrm/templates/lists/form.html:107 +msgid "Create a Group" +msgstr "Creați un grup" + +#: bookwyrm/templates/lists/form.html:121 +msgid "Delete list" +msgstr "Ștergeți listă" + +#: bookwyrm/templates/lists/item_notes_field.html:7 +#: bookwyrm/templates/settings/federation/edit_instance.html:86 +msgid "Notes:" +msgstr "Note:" + +#: bookwyrm/templates/lists/item_notes_field.html:19 +msgid "An optional note that will be displayed with the book." +msgstr "O notă opțională poate fi afișată cu cartea." + +#: bookwyrm/templates/lists/list.html:37 +msgid "That book is already on this list." +msgstr "Cartea aceasta este deja pe listă." + +#: bookwyrm/templates/lists/list.html:45 +msgid "You successfully suggested a book for this list!" +msgstr "Ați sugerat cu succes o carte pentru această listă!" + +#: bookwyrm/templates/lists/list.html:47 +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:104 +msgid "Edit notes" +msgstr "Editați note" + +#: bookwyrm/templates/lists/list.html:119 +msgid "Add notes" +msgstr "Adăugați notă" + +#: bookwyrm/templates/lists/list.html:131 +#, python-format +msgid "Added by %(username)s" +msgstr "Adăugat de %(username)s" + +#: bookwyrm/templates/lists/list.html:146 +msgid "List position" +msgstr "Poziția listei" + +#: bookwyrm/templates/lists/list.html:152 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23 +msgid "Set" +msgstr "Stabiliți" + +#: bookwyrm/templates/lists/list.html:167 +#: bookwyrm/templates/snippets/remove_from_group_button.html:20 +msgid "Remove" +msgstr "Înlăturați" + +#: bookwyrm/templates/lists/list.html:181 +#: bookwyrm/templates/lists/list.html:198 +msgid "Sort List" +msgstr "Sortați listă" + +#: bookwyrm/templates/lists/list.html:191 +msgid "Direction" +msgstr "Direcție" + +#: bookwyrm/templates/lists/list.html:205 +msgid "Add Books" +msgstr "Adăugați cărți" + +#: bookwyrm/templates/lists/list.html:207 +msgid "Suggest Books" +msgstr "Cărți sugerate" + +#: bookwyrm/templates/lists/list.html:218 +msgid "search" +msgstr "căutați" + +#: bookwyrm/templates/lists/list.html:224 +msgid "Clear search" +msgstr "Ștergeți căutarea" + +#: bookwyrm/templates/lists/list.html:229 +#, python-format +msgid "No books found matching the query \"%(query)s\"" +msgstr "Nicio carte nu se potrivește cu „%(query)s”" + +#: bookwyrm/templates/lists/list.html:268 +msgid "Embed this list on a website" +msgstr "Integrați această listă la un alt site" + +#: bookwyrm/templates/lists/list.html:276 +msgid "Copy embed code" +msgstr "Copiați codul de integrare" + +#: bookwyrm/templates/lists/list.html:278 +#, python-format +msgid "%(list_name)s, a list by %(owner)s on %(site_name)s" +msgstr "%(list_name)s, o listă a (lui) %(owner)s pe %(site_name)s" + +#: bookwyrm/templates/lists/list_items.html:15 +msgid "Saved" +msgstr "Salvat" + +#: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 +msgid "Your Lists" +msgstr "Listele voastre" + +#: bookwyrm/templates/lists/lists.html:36 +msgid "All Lists" +msgstr "Toate listele" + +#: bookwyrm/templates/lists/lists.html:40 +msgid "Saved Lists" +msgstr "Listele salvate" + +#: bookwyrm/templates/notifications/items/accept.html:16 +#, python-format +msgid "accepted your invitation to join group \"%(group_name)s\"" +msgstr "a acceptat invitația dvs. de a se alătura grupului „%(group_name)s”" + +#: bookwyrm/templates/notifications/items/add.html:24 +#, python-format +msgid "added %(book_title)s to your list \"%(list_name)s\"" +msgstr "a adăugat %(book_title)s listei dvs. „%(list_name)s”" + +#: bookwyrm/templates/notifications/items/add.html:31 +#, python-format +msgid "suggested adding %(book_title)s to your list \"%(list_name)s\"" +msgstr "a sugerat adăugarea %(book_title)s la lista dvs. „%(list_name)s”" + +#: bookwyrm/templates/notifications/items/boost.html:19 +#, python-format +msgid "boosted your review of %(book_title)s" +msgstr "a partajat recenzia dvs. a %(book_title)s" + +#: bookwyrm/templates/notifications/items/boost.html:25 +#, python-format +msgid "boosted your comment on%(book_title)s" +msgstr "a partajat comentariul dvs. despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/boost.html:31 +#, python-format +msgid "boosted your quote from %(book_title)s" +msgstr "a partajat citatul dvs. din %(book_title)s" + +#: bookwyrm/templates/notifications/items/boost.html:37 +#, python-format +msgid "boosted your status" +msgstr "a partajat statusul dvs." + +#: bookwyrm/templates/notifications/items/fav.html:19 +#, python-format +msgid "liked your review of %(book_title)s" +msgstr "i-a plăcut recenzia dvs. despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/fav.html:25 +#, python-format +msgid "liked your comment on %(book_title)s" +msgstr "i-a plăcut comentariul dvs. despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/fav.html:31 +#, python-format +msgid "liked your quote from %(book_title)s" +msgstr "i-a plăcut citatul dvs. despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/fav.html:37 +#, python-format +msgid "liked your status" +msgstr "i-a plăcut statusul dvs." + +#: bookwyrm/templates/notifications/items/follow.html:15 +msgid "followed you" +msgstr "vă urmărește" + +#: bookwyrm/templates/notifications/items/follow_request.html:11 +msgid "sent you a follow request" +msgstr "v-a trimis o cerere de urmărire" + +#: bookwyrm/templates/notifications/items/import.html:14 +#, python-format +msgid "Your import completed." +msgstr "importul dvs. s-a terminat." + +#: bookwyrm/templates/notifications/items/invite.html:15 +#, python-format +msgid "invited you to join the group \"%(group_name)s\"" +msgstr "v-a invitat să vă alăturați grupului „%(group_name)s”" + +#: bookwyrm/templates/notifications/items/join.html:16 +#, python-format +msgid "has joined your group \"%(group_name)s\"" +msgstr "s-a alăturat grupului dvs „%(group_name)s”" + +#: bookwyrm/templates/notifications/items/leave.html:16 +#, python-format +msgid "has left your group \"%(group_name)s\"" +msgstr "a părăsit grupul dvs. „%(group_name)s”" + +#: bookwyrm/templates/notifications/items/mention.html:20 +#, python-format +msgid "mentioned you in a review of %(book_title)s" +msgstr "v-a menționat într-o recenzie a %(book_title)s" + +#: bookwyrm/templates/notifications/items/mention.html:26 +#, python-format +msgid "mentioned you in a comment on %(book_title)s" +msgstr "v-a menționat într-un comentariu despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/mention.html:32 +#, python-format +msgid "mentioned you in a quote from %(book_title)s" +msgstr "v-a menționat într-un citat despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/mention.html:38 +#, python-format +msgid "mentioned you in a status" +msgstr "v-a menționat într-un status" + +#: bookwyrm/templates/notifications/items/remove.html:17 +#, python-format +msgid "has been removed from your group \"%(group_name)s\"" +msgstr "a fost înlăturat de la grupul dvs. „%(group_name)s”" + +#: bookwyrm/templates/notifications/items/remove.html:23 +#, python-format +msgid "You have been removed from the \"%(group_name)s\" group" +msgstr "Ați fost înlăturat de la grupul „%(group_name)s”" + +#: bookwyrm/templates/notifications/items/reply.html:21 +#, python-format +msgid "replied to your review of %(book_title)s" +msgstr "a răspuns recenziei dvs. despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/reply.html:27 +#, python-format +msgid "replied to your comment on %(book_title)s" +msgstr "a răspuns comentariului dvs. despre %(book_title)s" + +#: bookwyrm/templates/notifications/items/reply.html:33 +#, python-format +msgid "replied to your quote from %(book_title)s" +msgstr "a răspuns citatului dvs. din %(book_title)s" + +#: bookwyrm/templates/notifications/items/reply.html:39 +#, python-format +msgid "replied to your status" +msgstr "a răspuns statusului dvs." + +#: bookwyrm/templates/notifications/items/report.html:15 +#, python-format +msgid "A new report needs moderation." +msgstr "Un raport nou are nevoie de moderare." + +#: bookwyrm/templates/notifications/items/update.html:16 +#, python-format +msgid "has changed the privacy level for %(group_name)s" +msgstr "a schimbat nivelul de confidențialitate pentru %(group_name)s" + +#: bookwyrm/templates/notifications/items/update.html:20 +#, python-format +msgid "has changed the name of %(group_name)s" +msgstr "a schimbat numele pentru %(group_name)s" + +#: bookwyrm/templates/notifications/items/update.html:24 +#, python-format +msgid "has changed the description of %(group_name)s" +msgstr "a schimbat descrierea %(group_name)s" + +#: bookwyrm/templates/notifications/notifications_page.html:18 +msgid "Delete notifications" +msgstr "Ștergeți notificările" + +#: bookwyrm/templates/notifications/notifications_page.html:29 +msgid "All" +msgstr "Toate" + +#: bookwyrm/templates/notifications/notifications_page.html:33 +msgid "Mentions" +msgstr "Mențiuni" + +#: bookwyrm/templates/notifications/notifications_page.html:45 +msgid "You're all caught up!" +msgstr "Nicio notificare nouă!" + +#: bookwyrm/templates/ostatus/error.html:7 +#, python-format +msgid "%(account)s is not a valid username" +msgstr "%(account)s nu este un nume de utilizator valid" + +#: bookwyrm/templates/ostatus/error.html:8 +#: bookwyrm/templates/ostatus/error.html:13 +msgid "Check you have the correct username before trying again" +msgstr "Verificați că aveți un nume de utilizator corect înainte de a reîncerca" + +#: bookwyrm/templates/ostatus/error.html:12 +#, python-format +msgid "%(account)s could not be found or %(remote_domain)s does not support identity discovery" +msgstr "%(account)s nu a putut fi găsit sau %(remote_domain)s nu suportă descoperirea identității" + +#: bookwyrm/templates/ostatus/error.html:17 +#, python-format +msgid "%(account)s was found but %(remote_domain)s does not support 'remote follow'" +msgstr "%(account)s a fost găsit dar %(remote_domain)s nu suportă „urmărirea la distanță”" + +#: bookwyrm/templates/ostatus/error.html:18 +#, python-format +msgid "Try searching for %(user)s on %(remote_domain)s instead" +msgstr "Încercați în schimb să căutați %(user)s la %(remote_domain)s" + +#: bookwyrm/templates/ostatus/error.html:46 +#, python-format +msgid "Something went wrong trying to follow %(account)s" +msgstr "Ceva nu a funcționat încercând să urmăriți %(account)s" + +#: bookwyrm/templates/ostatus/error.html:47 +msgid "Check you have the correct username before trying again." +msgstr "Verificați că numele de utilizator este corect înainte de a încerca din nou." + +#: bookwyrm/templates/ostatus/error.html:51 +#, python-format +msgid "You have blocked %(account)s" +msgstr "Ați blocat %(account)s" + +#: bookwyrm/templates/ostatus/error.html:55 +#, python-format +msgid "%(account)s has blocked you" +msgstr "%(account)s v-a blocat" + +#: bookwyrm/templates/ostatus/error.html:59 +#, python-format +msgid "You are already following %(account)s" +msgstr "Îl urmăriți deja pe %(account)s" + +#: bookwyrm/templates/ostatus/error.html:63 +#, python-format +msgid "You have already requested to follow %(account)s" +msgstr "Ați solicitat deja să-l urmăriți pe %(account)s" + +#: bookwyrm/templates/ostatus/remote_follow.html:6 +#, python-format +msgid "Follow %(username)s on the fediverse" +msgstr "Urmăriți %(username)s pe Fediverse" + +#: bookwyrm/templates/ostatus/remote_follow.html:33 +#, python-format +msgid "Follow %(username)s from another Fediverse account like BookWyrm, Mastodon, or Pleroma." +msgstr "Urmăriți %(username)s cu un alt cont Fediverse precum BookWyrm, Mastodon sau Pleroma." + +#: bookwyrm/templates/ostatus/remote_follow.html:40 +msgid "User handle to follow from:" +msgstr "Cont cu care să-l urmăriți:" + +#: bookwyrm/templates/ostatus/remote_follow.html:42 +msgid "Follow!" +msgstr "Urmăriți!" + +#: bookwyrm/templates/ostatus/remote_follow_button.html:8 +msgid "Follow on Fediverse" +msgstr "Urmăriți pe Fediverse" + +#: bookwyrm/templates/ostatus/remote_follow_button.html:12 +msgid "This link opens in a pop-up window" +msgstr "Această legătură se deschide într-o fereastră nouă" + +#: bookwyrm/templates/ostatus/subscribe.html:8 +#, python-format +msgid "Log in to %(sitename)s" +msgstr "Conectați-vă la %(sitename)s" + +#: bookwyrm/templates/ostatus/subscribe.html:10 +#, python-format +msgid "Error following from %(sitename)s" +msgstr "Eroare la urmărirea de pe %(sitename)s" + +#: bookwyrm/templates/ostatus/subscribe.html:12 +#: bookwyrm/templates/ostatus/subscribe.html:22 +#, python-format +msgid "Follow from %(sitename)s" +msgstr "Abonați-vă de pe %(sitename)s" + +#: bookwyrm/templates/ostatus/subscribe.html:18 +msgid "Uh oh..." +msgstr "Ă... o..." + +#: bookwyrm/templates/ostatus/subscribe.html:20 +msgid "Let's log in first..." +msgstr "Să ne conectăm mai întâi..." + +#: bookwyrm/templates/ostatus/subscribe.html:51 +#, python-format +msgid "Follow %(username)s" +msgstr "Urmăriți %(username)s" + +#: bookwyrm/templates/ostatus/success.html:28 +#, python-format +msgid "You are now following %(display_name)s!" +msgstr "Sunteți acum abonat la %(display_name)s!" + +#: bookwyrm/templates/preferences/blocks.html:4 +#: bookwyrm/templates/preferences/blocks.html:7 +#: bookwyrm/templates/preferences/layout.html:31 +msgid "Blocked Users" +msgstr "Utilizatori blocați" + +#: bookwyrm/templates/preferences/blocks.html:12 +msgid "No users currently blocked." +msgstr "Niciun utilizator blocat." + +#: bookwyrm/templates/preferences/change_password.html:4 +#: bookwyrm/templates/preferences/change_password.html:7 +#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/layout.html:20 +msgid "Change Password" +msgstr "Schimbați parola" + +#: bookwyrm/templates/preferences/change_password.html:14 +msgid "New password:" +msgstr "Parolă nouă:" + +#: bookwyrm/templates/preferences/delete_user.html:4 +#: bookwyrm/templates/preferences/delete_user.html:7 +#: bookwyrm/templates/preferences/delete_user.html:25 +#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/settings/users/delete_user_form.html:22 +msgid "Delete Account" +msgstr "Ștergeți cont" + +#: bookwyrm/templates/preferences/delete_user.html:12 +msgid "Permanently delete account" +msgstr "Ștergeți permanent contul" + +#: bookwyrm/templates/preferences/delete_user.html:14 +msgid "Deleting your account cannot be undone. The username will not be available to register in the future." +msgstr "Ștersul contului dvs. nu poate fi revocată. Numele de utilizator nu va fi valabil pentru înregistrare mai târziu." + +#: bookwyrm/templates/preferences/edit_user.html:4 +#: bookwyrm/templates/preferences/edit_user.html:7 +#: bookwyrm/templates/preferences/layout.html:15 +msgid "Edit Profile" +msgstr "Editați profilul" + +#: bookwyrm/templates/preferences/edit_user.html:12 +#: bookwyrm/templates/preferences/edit_user.html:25 +#: bookwyrm/templates/settings/users/user_info.html:7 +msgid "Profile" +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/setup/config.html:91 +msgid "Display" +msgstr "Afișați" + +#: bookwyrm/templates/preferences/edit_user.html:14 +#: bookwyrm/templates/preferences/edit_user.html:112 +msgid "Privacy" +msgstr "Confidențialitate" + +#: bookwyrm/templates/preferences/edit_user.html:69 +msgid "Show reading goal prompt in feed" +msgstr "Afișați obiectivul de lectură în flux" + +#: bookwyrm/templates/preferences/edit_user.html:75 +msgid "Show suggested users" +msgstr "Afișați utilizatorii sugerați" + +#: bookwyrm/templates/preferences/edit_user.html:81 +msgid "Show this account in suggested users" +msgstr "Afișați acest cont ca utilizator sugerat" + +#: 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 "Contul dvs. va apărea în dosar și va putea fi recomandat altor utilizatori de BookWyrm." + +#: bookwyrm/templates/preferences/edit_user.html:89 +msgid "Preferred Timezone: " +msgstr "Fus orar preferat: " + +#: bookwyrm/templates/preferences/edit_user.html:101 +msgid "Theme:" +msgstr "Temă:" + +#: bookwyrm/templates/preferences/edit_user.html:117 +msgid "Manually approve followers" +msgstr "Aprobați manual urmăritorii" + +#: bookwyrm/templates/preferences/edit_user.html:123 +msgid "Hide followers and following on profile" +msgstr "Ascundeți urmăritorii pe profil" + +#: bookwyrm/templates/preferences/edit_user.html:128 +msgid "Default post privacy:" +msgstr "Confidențialitatea implicită a postărilor:" + +#: bookwyrm/templates/preferences/layout.html:11 +msgid "Account" +msgstr "Cont" + +#: bookwyrm/templates/preferences/layout.html:27 +msgid "Relationships" +msgstr "Relații" + +#: bookwyrm/templates/reading_progress/finish.html:5 +#, python-format +msgid "Finish \"%(book_title)s\"" +msgstr "Terminați „%(book_title)s”" + +#: bookwyrm/templates/reading_progress/start.html:5 +#, python-format +msgid "Start \"%(book_title)s\"" +msgstr "Începeți „%(book_title)s”" + +#: bookwyrm/templates/reading_progress/want.html:5 +#, python-format +msgid "Want to Read \"%(book_title)s\"" +msgstr "Vreau să citesc „%(book_title)s”" + +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:4 +msgid "Delete these read dates?" +msgstr "Ștergeți aceste date de lectură?" + +#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:8 +#, python-format +msgid "You are deleting this readthrough and its %(count)s associated progress updates." +msgstr "Sunteți pe cale de a șterge acest rezumat și %(count)s actualizări asociate progresului." + +#: bookwyrm/templates/readthrough/readthrough.html:6 +#: bookwyrm/templates/readthrough/readthrough_modal.html:8 +#, python-format +msgid "Update read dates for \"%(title)s\"" +msgstr "Actualizați datele de lectură pentru „%(title)s”" + +#: bookwyrm/templates/readthrough/readthrough_form.html:10 +#: bookwyrm/templates/readthrough/readthrough_modal.html:31 +#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24 +#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21 +msgid "Started reading" +msgstr "A început lectura" + +#: bookwyrm/templates/readthrough/readthrough_form.html:18 +#: bookwyrm/templates/readthrough/readthrough_modal.html:49 +msgid "Progress" +msgstr "Progres" + +#: bookwyrm/templates/readthrough/readthrough_form.html:24 +#: bookwyrm/templates/readthrough/readthrough_modal.html:56 +#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:32 +msgid "Finished reading" +msgstr "A terminat de citit" + +#: bookwyrm/templates/readthrough/readthrough_list.html:9 +msgid "Progress Updates:" +msgstr "Progresie:" + +#: bookwyrm/templates/readthrough/readthrough_list.html:14 +msgid "finished" +msgstr "terminat" + +#: bookwyrm/templates/readthrough/readthrough_list.html:25 +msgid "Show all updates" +msgstr "Afișați toate actualizările" + +#: bookwyrm/templates/readthrough/readthrough_list.html:41 +msgid "Delete this progress update" +msgstr "Ștergeți această actualizare" + +#: bookwyrm/templates/readthrough/readthrough_list.html:53 +msgid "started" +msgstr "începută" + +#: bookwyrm/templates/readthrough/readthrough_list.html:60 +msgid "Edit read dates" +msgstr "Editați datele de lectură" + +#: bookwyrm/templates/readthrough/readthrough_list.html:68 +msgid "Delete these read dates" +msgstr "Ștergeți aceste date de lectură" + +#: bookwyrm/templates/readthrough/readthrough_modal.html:12 +#, python-format +msgid "Add read dates for \"%(title)s\"" +msgstr "Adăugați date de lectură pentru „%(title)s”" + +#: bookwyrm/templates/report.html:5 +#: bookwyrm/templates/snippets/report_button.html:13 +msgid "Report" +msgstr "Raportați" + +#: bookwyrm/templates/search/barcode_modal.html:5 +msgid "\n" +" Scan Barcode\n" +" " +msgstr "\n" +"Scanați codul de bare " + +#: bookwyrm/templates/search/barcode_modal.html:23 +msgid "Requesting camera..." +msgstr "În așteptarea camerei foto..." + +#: bookwyrm/templates/search/barcode_modal.html:24 +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 +msgid "Could not access camera" +msgstr "Camera foto nu a putut fi accesată" + +#: bookwyrm/templates/search/barcode_modal.html:33 +msgctxt "barcode scanner" +msgid "Scanning..." +msgstr "Se scanează..." + +#: bookwyrm/templates/search/barcode_modal.html:34 +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 +msgctxt "barcode scanner" +msgid "ISBN scanned" +msgstr "Cod ISBN scanat" + +#: bookwyrm/templates/search/barcode_modal.html:39 +msgctxt "followed by ISBN" +msgid "Searching for book:" +msgstr "Căutați o carte:" + +#: bookwyrm/templates/search/book.html:44 +msgid "Results from" +msgstr "Rezultate de la" + +#: bookwyrm/templates/search/book.html:80 +msgid "Import book" +msgstr "Importați o carte" + +#: bookwyrm/templates/search/book.html:106 +msgid "Load results from other catalogues" +msgstr "Încărcați rezultatele din alte cataloage" + +#: bookwyrm/templates/search/book.html:110 +msgid "Manually add book" +msgstr "Adăugați manual o carte" + +#: bookwyrm/templates/search/book.html:115 +msgid "Log in to import or add books." +msgstr "Autentificați-vă pentru a importa sau adăuga cărți." + +#: bookwyrm/templates/search/layout.html:16 +msgid "Search query" +msgstr "Conținutul căutării" + +#: bookwyrm/templates/search/layout.html:19 +msgid "Search type" +msgstr "Tipul căutării" + +#: bookwyrm/templates/search/layout.html:23 +#: bookwyrm/templates/search/layout.html:46 +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:27 +#: bookwyrm/templates/settings/federation/instance_list.html:44 +#: bookwyrm/templates/settings/layout.html:36 +#: bookwyrm/templates/settings/users/user.html:13 +#: bookwyrm/templates/settings/users/user_admin.html:5 +#: bookwyrm/templates/settings/users/user_admin.html:12 +msgid "Users" +msgstr "Utilizatori" + +#: bookwyrm/templates/search/layout.html:58 +#, python-format +msgid "No results found for \"%(query)s\"" +msgstr "Niciun rezultat găsit pentru „%(query)s”" + +#: bookwyrm/templates/settings/announcements/announcement.html:5 +#: bookwyrm/templates/settings/announcements/announcement.html:8 +msgid "Announcement" +msgstr "Anunț" + +#: bookwyrm/templates/settings/announcements/announcement.html:16 +#: bookwyrm/templates/settings/federation/instance.html:93 +#: bookwyrm/templates/snippets/status/status_options.html:25 +msgid "Edit" +msgstr "Editați" + +#: bookwyrm/templates/settings/announcements/announcement.html:32 +#: 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:82 +msgid "Announcements" +msgstr "Anunțuri" + +#: bookwyrm/templates/settings/announcements/announcement.html:45 +msgid "Visible:" +msgstr "Vizibil:" + +#: bookwyrm/templates/settings/announcements/announcement.html:49 +msgid "True" +msgstr "Adevărat" + +#: bookwyrm/templates/settings/announcements/announcement.html:51 +msgid "False" +msgstr "Fals" + +#: bookwyrm/templates/settings/announcements/announcement.html:57 +#: bookwyrm/templates/settings/announcements/edit_announcement.html:79 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +msgid "Start date:" +msgstr "Data de început:" + +#: bookwyrm/templates/settings/announcements/announcement.html:62 +#: bookwyrm/templates/settings/announcements/edit_announcement.html:89 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 +msgid "End date:" +msgstr "Data de sfârșit:" + +#: bookwyrm/templates/settings/announcements/announcement.html:66 +#: bookwyrm/templates/settings/announcements/edit_announcement.html:109 +msgid "Active:" +msgstr "Activ:" + +#: bookwyrm/templates/settings/announcements/announcements.html:9 +#: bookwyrm/templates/settings/announcements/edit_announcement.html:8 +msgid "Create Announcement" +msgstr "Creați anunț" + +#: bookwyrm/templates/settings/announcements/announcements.html:21 +#: bookwyrm/templates/settings/federation/instance_list.html:36 +msgid "Date added" +msgstr "Dată adăugată" + +#: bookwyrm/templates/settings/announcements/announcements.html:25 +msgid "Preview" +msgstr "Previzualizați" + +#: bookwyrm/templates/settings/announcements/announcements.html:29 +msgid "Start date" +msgstr "Dată de început" + +#: bookwyrm/templates/settings/announcements/announcements.html:33 +msgid "End date" +msgstr "Dată de sfârșit" + +#: bookwyrm/templates/settings/announcements/announcements.html:50 +msgid "active" +msgstr "activ" + +#: bookwyrm/templates/settings/announcements/announcements.html:50 +msgid "inactive" +msgstr "inactiv" + +#: bookwyrm/templates/settings/announcements/announcements.html:63 +msgid "No announcements found" +msgstr "Niciun anunț găsit" + +#: bookwyrm/templates/settings/announcements/edit_announcement.html:6 +msgid "Edit Announcement" +msgstr "Editați anunțul" + +#: bookwyrm/templates/settings/announcements/edit_announcement.html:45 +msgid "Announcement content" +msgstr "Conținutul anunțului" + +#: bookwyrm/templates/settings/announcements/edit_announcement.html:57 +msgid "Details:" +msgstr "Detalii:" + +#: bookwyrm/templates/settings/announcements/edit_announcement.html:65 +msgid "Event date:" +msgstr "Data evenimentului:" + +#: bookwyrm/templates/settings/announcements/edit_announcement.html:73 +msgid "Display settings" +msgstr "Setările de afișaj" + +#: bookwyrm/templates/settings/announcements/edit_announcement.html:98 +msgid "Color:" +msgstr "Culoare:" + +#: bookwyrm/templates/settings/automod/rules.html:7 +#: bookwyrm/templates/settings/automod/rules.html:11 +#: bookwyrm/templates/settings/layout.html:61 +msgid "Auto-moderation rules" +msgstr "Reguli de auto-moderare" + +#: bookwyrm/templates/settings/automod/rules.html:18 +msgid "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." +msgstr "Regulile de auto-moderare vor crea raporturi pentru orice utilizator local sau statut ale cărui câmpuri se potrivesc cu șirul de caractere furnizat." + +#: bookwyrm/templates/settings/automod/rules.html:19 +msgid "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." +msgstr "Utilizatorii sau statuturile care au fost deja raportate (indiferent dacă raportul a fost rezolvat sau nu) nu vor fi marcați." + +#: bookwyrm/templates/settings/automod/rules.html:26 +msgid "Schedule:" +msgstr "Program:" + +#: bookwyrm/templates/settings/automod/rules.html:33 +msgid "Last run:" +msgstr "Ultima rulare:" + +#: bookwyrm/templates/settings/automod/rules.html:40 +msgid "Total run count:" +msgstr "Numărul total de rulări:" + +#: bookwyrm/templates/settings/automod/rules.html:47 +msgid "Enabled:" +msgstr "Activat:" + +#: bookwyrm/templates/settings/automod/rules.html:59 +msgid "Delete schedule" +msgstr "Ștergeți programul" + +#: bookwyrm/templates/settings/automod/rules.html:63 +msgid "Run now" +msgstr "Rulați acum" + +#: bookwyrm/templates/settings/automod/rules.html:64 +msgid "Last run date will not be updated" +msgstr "Ultima dată de rulare nu va fi actualizată" + +#: bookwyrm/templates/settings/automod/rules.html:69 +#: bookwyrm/templates/settings/automod/rules.html:92 +msgid "Schedule scan" +msgstr "Programați scanare" + +#: bookwyrm/templates/settings/automod/rules.html:101 +msgid "Successfully added rule" +msgstr "Regulă adăugată cu succes" + +#: bookwyrm/templates/settings/automod/rules.html:107 +msgid "Add Rule" +msgstr "Adăugați regulă" + +#: bookwyrm/templates/settings/automod/rules.html:116 +#: bookwyrm/templates/settings/automod/rules.html:160 +msgid "String match" +msgstr "Potrivire de șir de caractere" + +#: bookwyrm/templates/settings/automod/rules.html:126 +#: bookwyrm/templates/settings/automod/rules.html:163 +msgid "Flag users" +msgstr "Semnalați utilizatori" + +#: bookwyrm/templates/settings/automod/rules.html:133 +#: bookwyrm/templates/settings/automod/rules.html:166 +msgid "Flag statuses" +msgstr "Semnalați statutele" + +#: bookwyrm/templates/settings/automod/rules.html:140 +msgid "Add rule" +msgstr "Adăugați regulă" + +#: bookwyrm/templates/settings/automod/rules.html:147 +msgid "Current Rules" +msgstr "Regulile curente" + +#: bookwyrm/templates/settings/automod/rules.html:151 +msgid "Show rules" +msgstr "Afișați regulile" + +#: bookwyrm/templates/settings/automod/rules.html:188 +msgid "Remove rule" +msgstr "Eliminați regulă" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:6 +#: bookwyrm/templates/settings/dashboard/dashboard.html:8 +#: bookwyrm/templates/settings/layout.html:28 +msgid "Dashboard" +msgstr "Tablou de bord" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:15 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +msgid "Total users" +msgstr "Număr total de utilizatori" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:21 +#: bookwyrm/templates/settings/dashboard/user_chart.html:16 +msgid "Active this month" +msgstr "Activi această lună" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:27 +msgid "Statuses" +msgstr "Statusuri" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:33 +#: bookwyrm/templates/settings/dashboard/works_chart.html:11 +msgid "Works" +msgstr "Opere" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:43 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "%(display_count)s raporturi dechise" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domeniu care necesită revizuire" +msgstr[1] "" +msgstr[2] "%(display_count)s domenii care necesită revizii" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s cerere de invitare" +msgstr[1] "" +msgstr[2] "%(display_count)s cereri de invitare" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "O actualizare este disponibilă! Rulați în prezent v%(current)s, iar cea mai nouă versiune este %(available)s." + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +msgid "Instance Activity" +msgstr "Activitatea instanței" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 +msgid "Interval:" +msgstr "Interval:" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 +msgid "Days" +msgstr "Zile" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +msgid "Weeks" +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +msgid "User signup activity" +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 +msgid "Status activity" +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 +msgid "Works created" +msgstr "" + +#: bookwyrm/templates/settings/dashboard/registration_chart.html:10 +msgid "Registrations" +msgstr "" + +#: bookwyrm/templates/settings/dashboard/status_chart.html:11 +msgid "Statuses posted" +msgstr "" + +#: bookwyrm/templates/settings/dashboard/user_chart.html:11 +msgid "Total" +msgstr "" + +#: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 +msgid "Add domain" +msgstr "" + +#: bookwyrm/templates/settings/email_blocklist/domain_form.html:11 +msgid "Domain:" +msgstr "" + +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:5 +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:7 +#: bookwyrm/templates/settings/layout.html:65 +msgid "Email Blocklist" +msgstr "" + +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:18 +msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked." +msgstr "" + +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29 +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27 +msgid "Options" +msgstr "" + +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:38 +#, python-format +msgid "%(display_count)s user" +msgid_plural "%(display_count)s users" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:59 +msgid "No email domains currently blocked" +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 +#: bookwyrm/templates/settings/federation/edit_instance.html:32 +#: bookwyrm/templates/settings/federation/instance_blocklist.html:3 +#: bookwyrm/templates/settings/federation/instance_blocklist.html:32 +#: bookwyrm/templates/settings/federation/instance_list.html:9 +#: bookwyrm/templates/settings/federation/instance_list.html:10 +msgid "Add instance" +msgstr "" + +#: bookwyrm/templates/settings/federation/edit_instance.html:12 +#: bookwyrm/templates/settings/federation/instance.html:24 +#: bookwyrm/templates/settings/federation/instance_blocklist.html:12 +#: bookwyrm/templates/settings/federation/instance_list.html:3 +#: bookwyrm/templates/settings/federation/instance_list.html:5 +#: bookwyrm/templates/settings/layout.html:47 +msgid "Federated Instances" +msgstr "" + +#: bookwyrm/templates/settings/federation/edit_instance.html:28 +#: bookwyrm/templates/settings/federation/instance_blocklist.html:28 +msgid "Import block list" +msgstr "" + +#: bookwyrm/templates/settings/federation/edit_instance.html:43 +msgid "Instance:" +msgstr "" + +#: bookwyrm/templates/settings/federation/edit_instance.html:52 +#: bookwyrm/templates/settings/federation/instance.html:46 +#: bookwyrm/templates/settings/users/user_info.html:106 +msgid "Status:" +msgstr "" + +#: bookwyrm/templates/settings/federation/edit_instance.html:66 +#: bookwyrm/templates/settings/federation/instance.html:40 +#: bookwyrm/templates/settings/users/user_info.html:100 +msgid "Software:" +msgstr "" + +#: bookwyrm/templates/settings/federation/edit_instance.html:76 +#: bookwyrm/templates/settings/federation/instance.html:43 +#: bookwyrm/templates/settings/users/user_info.html:103 +msgid "Version:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:17 +msgid "Refresh data" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:37 +msgid "Details" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:53 +#: bookwyrm/templates/user/layout.html:67 +msgid "Activity" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:56 +msgid "Users:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:59 +#: bookwyrm/templates/settings/federation/instance.html:65 +msgid "View all" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:62 +#: bookwyrm/templates/settings/users/user_info.html:56 +msgid "Reports:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:68 +msgid "Followed by us:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:73 +msgid "Followed by them:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:78 +msgid "Blocked by us:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:90 +#: bookwyrm/templates/settings/users/user_info.html:110 +msgid "Notes" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:97 +msgid "No notes" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:116 +#: bookwyrm/templates/settings/link_domains/link_domains.html:87 +#: bookwyrm/templates/snippets/block_button.html:5 +msgid "Block" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:117 +msgid "All users from this instance will be deactivated." +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:122 +#: bookwyrm/templates/snippets/block_button.html:10 +msgid "Un-block" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance.html:123 +msgid "All users from this instance will be re-activated." +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_blocklist.html:6 +#: bookwyrm/templates/settings/federation/instance_blocklist.html:15 +msgid "Import Blocklist" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_blocklist.html:38 +msgid "Success!" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_blocklist.html:42 +msgid "Successfully blocked:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_blocklist.html:44 +msgid "Failed:" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_list.html:32 +#: bookwyrm/templates/settings/users/server_filter.html:5 +msgid "Instance name" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_list.html:40 +msgid "Software" +msgstr "" + +#: bookwyrm/templates/settings/federation/instance_list.html:63 +msgid "No instances found" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:4 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:11 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:25 +#: bookwyrm/templates/settings/invites/manage_invites.html:11 +msgid "Invite Requests" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:23 +msgid "Ignored Invite Requests" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:35 +msgid "Date requested" +msgstr "Dată solicitată" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:39 +msgid "Date accepted" +msgstr "Dată acceptată" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:42 +#: bookwyrm/templates/settings/users/email_filter.html:5 +msgid "Email" +msgstr "Email" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +msgid "Action" +msgstr "Acțiune" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 +msgid "No requests" +msgstr "Nicio cerere" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 +#: bookwyrm/templates/settings/invites/status_filter.html:16 +msgid "Accepted" +msgstr "Acceptată" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 +#: bookwyrm/templates/settings/invites/status_filter.html:12 +msgid "Sent" +msgstr "Trimisă" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 +#: bookwyrm/templates/settings/invites/status_filter.html:8 +msgid "Requested" +msgstr "Solicitată" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 +msgid "Send invite" +msgstr "Trimiteți invitație" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 +msgid "Re-send invite" +msgstr "Retrimiteți invitație" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 +msgid "Ignore" +msgstr "Ignorați" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 +msgid "Un-ignore" +msgstr "Nu mai ignorați" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 +msgid "Back to pending requests" +msgstr "Înapoi la cererile în așteptare" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 +msgid "View ignored requests" +msgstr "Vizualizați cererile ignorate" + +#: bookwyrm/templates/settings/invites/manage_invites.html:21 +msgid "Generate New Invite" +msgstr "Generați o nouă invitație" + +#: bookwyrm/templates/settings/invites/manage_invites.html:27 +msgid "Expiry:" +msgstr "Expiră:" + +#: bookwyrm/templates/settings/invites/manage_invites.html:33 +msgid "Use limit:" +msgstr "Limitați la:" + +#: bookwyrm/templates/settings/invites/manage_invites.html:40 +msgid "Create Invite" +msgstr "Creați o invitație" + +#: bookwyrm/templates/settings/invites/manage_invites.html:48 +msgid "Expires" +msgstr "Expiră" + +#: bookwyrm/templates/settings/invites/manage_invites.html:49 +msgid "Max uses" +msgstr "Număr maxim de utilizări" + +#: bookwyrm/templates/settings/invites/manage_invites.html:50 +msgid "Times used" +msgstr "Număr de utilizări" + +#: bookwyrm/templates/settings/invites/manage_invites.html:53 +msgid "No active invites" +msgstr "Nicio invitație activă" + +#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:5 +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:10 +msgid "Add IP address" +msgstr "Adăugați adresa IP" + +#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:11 +msgid "Use IP address blocks with caution, and consider using blocks only temporarily, as IP addresses are often shared or change hands. If you block your own IP, you will not be able to access this page." +msgstr "Folosiți blocaj IP cu precauție și luați în calcul numai utilizarea temporală, întrucât adresele IP sunt deseori partajate sau schimbate. Dacă vă blocați propria adresa IP, nu veți mai putea accesa această pagină." + +#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:18 +msgid "IP Address:" +msgstr "Adresă IP:" + +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:5 +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:7 +#: bookwyrm/templates/settings/layout.html:69 +msgid "IP Address Blocklist" +msgstr "Lista de adrese IP blocate" + +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:18 +msgid "Any traffic from this IP address will get a 404 response when trying to access any part of the application." +msgstr "Orice trafic de la această adresă IP va primi un răspuns 404 când va încerca să acceze orice componentă a aplicației." + +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:24 +msgid "Address" +msgstr "Adresă" + +#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:46 +msgid "No IP addresses currently blocked" +msgstr "Nicio adresă IP blocată momentan" + +#: bookwyrm/templates/settings/ip_blocklist/ip_tooltip.html:6 +msgid "You can block IP ranges using CIDR syntax." +msgstr "Puteți bloca o plajă de adrese IP folosind sintaxa CIDR." + +#: bookwyrm/templates/settings/layout.html:4 +msgid "Administration" +msgstr "Administrare" + +#: bookwyrm/templates/settings/layout.html:31 +msgid "Manage Users" +msgstr "Gestionați utilizatorii" + +#: bookwyrm/templates/settings/layout.html:53 +msgid "Moderation" +msgstr "Moderare" + +#: bookwyrm/templates/settings/layout.html:57 +#: bookwyrm/templates/settings/reports/reports.html:8 +#: bookwyrm/templates/settings/reports/reports.html:17 +msgid "Reports" +msgstr "Raporturi" + +#: bookwyrm/templates/settings/layout.html:73 +#: bookwyrm/templates/settings/link_domains/link_domains.html:5 +#: bookwyrm/templates/settings/link_domains/link_domains.html:7 +msgid "Link Domains" +msgstr "Legături către domenii" + +#: bookwyrm/templates/settings/layout.html:78 +msgid "Instance Settings" +msgstr "Setările instanței" + +#: bookwyrm/templates/settings/layout.html:86 +#: bookwyrm/templates/settings/site.html:4 +#: bookwyrm/templates/settings/site.html:6 +msgid "Site Settings" +msgstr "Setările site-ului" + +#: bookwyrm/templates/settings/layout.html:91 +#: bookwyrm/templates/settings/site.html:95 +#: bookwyrm/templates/settings/themes.html:4 +#: bookwyrm/templates/settings/themes.html:6 +msgid "Themes" +msgstr "" + +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5 +#, python-format +msgid "Set display name for %(url)s" +msgstr "Stabiliți numele afișat pentru %(url)s" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:11 +msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving." +msgstr "Legăturile către domenii trebuie aprovate înainte de a fi afișate pe paginile cărților. Vă rugăm asigurați-vă că domeniile nu găzduiesc spam, cod rău intenționat sau legături falsificate înainte de aprovare." + +#: bookwyrm/templates/settings/link_domains/link_domains.html:45 +msgid "Set display name" +msgstr "Stabiliți numele afișat" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:53 +msgid "View links" +msgstr "Vizualizați legăturile" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:96 +msgid "No domains currently approved" +msgstr "Niciun domeniu aprovat momentan" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:98 +msgid "No domains currently pending" +msgstr "Niciun domeniu în așteptare" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:100 +msgid "No domains currently blocked" +msgstr "Niciun domeniu blocat" + +#: bookwyrm/templates/settings/link_domains/link_table.html:39 +msgid "No links available for this domain." +msgstr "Nicio legătură disponibilă pentru acest domeniu." + +#: bookwyrm/templates/settings/reports/report.html:12 +msgid "Back to reports" +msgstr "Înapoi la raporturi" + +#: bookwyrm/templates/settings/reports/report.html:24 +msgid "Message reporter" +msgstr "Centru de mesaje" + +#: bookwyrm/templates/settings/reports/report.html:28 +msgid "Update on your report:" +msgstr "Actualizare a raportului dvs.:" + +#: bookwyrm/templates/settings/reports/report.html:36 +msgid "Reported status" +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:38 +msgid "Status has been deleted" +msgstr "Statusul a fost șters" + +#: bookwyrm/templates/settings/reports/report.html:47 +msgid "Reported links" +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:63 +msgid "Moderator Comments" +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:84 +#: bookwyrm/templates/snippets/create_status.html:26 +msgid "Comment" +msgstr "Comentariu" + +#: bookwyrm/templates/settings/reports/report_header.html:6 +#, python-format +msgid "Report #%(report_id)s: Status posted by @%(username)s" +msgstr "Raport #%(report_id)s: statut postat de @%(username)s" + +#: bookwyrm/templates/settings/reports/report_header.html:12 +#, python-format +msgid "Report #%(report_id)s: Link added by @%(username)s" +msgstr "Raport #%(report_id)s: legătură adăugată de @%(username)s" + +#: bookwyrm/templates/settings/reports/report_header.html:18 +#, python-format +msgid "Report #%(report_id)s: User @%(username)s" +msgstr "Raport #%(report_id)s: utilizator @%(username)s" + +#: bookwyrm/templates/settings/reports/report_links_table.html:17 +msgid "Block domain" +msgstr "Blocați domeniu" + +#: bookwyrm/templates/settings/reports/report_preview.html:17 +msgid "No notes provided" +msgstr "Nicio notă furnizată" + +#: bookwyrm/templates/settings/reports/report_preview.html:24 +#, python-format +msgid "Reported by @%(username)s" +msgstr "Raportat de @%(username)s" + +#: bookwyrm/templates/settings/reports/report_preview.html:34 +msgid "Re-open" +msgstr "Redeschideți" + +#: bookwyrm/templates/settings/reports/report_preview.html:36 +msgid "Resolve" +msgstr "Rezolvați" + +#: bookwyrm/templates/settings/reports/reports.html:6 +#, python-format +msgid "Reports: %(instance_name)s" +msgstr "Raporturi: %(instance_name)s" + +#: bookwyrm/templates/settings/reports/reports.html:14 +#, python-format +msgid "Reports: %(instance_name)s" +msgstr "Raporturi: %(instance_name)s" + +#: bookwyrm/templates/settings/reports/reports.html:25 +msgid "Open" +msgstr "Deschideți" + +#: bookwyrm/templates/settings/reports/reports.html:28 +msgid "Resolved" +msgstr "Rezolvat" + +#: bookwyrm/templates/settings/reports/reports.html:37 +msgid "No reports found." +msgstr "Niciun raport găsit." + +#: bookwyrm/templates/settings/site.html:10 +#: bookwyrm/templates/settings/site.html:44 +msgid "Instance Info" +msgstr "Informații despre instanță" + +#: bookwyrm/templates/settings/site.html:12 +#: bookwyrm/templates/settings/site.html:110 +msgid "Footer Content" +msgstr "Conținutul subsolului" + +#: bookwyrm/templates/settings/site.html:13 +#: bookwyrm/templates/settings/site.html:134 +msgid "Registration" +msgstr "Înregistrare" + +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "Setări salvate" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "Incapabil de a salva setările" + +#: bookwyrm/templates/settings/site.html:47 +msgid "Instance Name:" +msgstr "Numele instanței:" + +#: bookwyrm/templates/settings/site.html:51 +msgid "Tagline:" +msgstr "Slogan:" + +#: bookwyrm/templates/settings/site.html:55 +msgid "Instance description:" +msgstr "Descrierea instanței:" + +#: bookwyrm/templates/settings/site.html:59 +msgid "Short description:" +msgstr "Scurtă descriere:" + +#: bookwyrm/templates/settings/site.html:60 +msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." +msgstr "Folosit când instanța este previzualizată pe joinbookwyrm.com. Nu suportă HTML sau Markdown." + +#: bookwyrm/templates/settings/site.html:64 +msgid "Code of conduct:" +msgstr "Cod de conduită:" + +#: bookwyrm/templates/settings/site.html:68 +msgid "Privacy Policy:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:79 +msgid "Images" +msgstr "" + +#: bookwyrm/templates/settings/site.html:82 +msgid "Logo:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:86 +msgid "Logo small:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:90 +msgid "Favicon:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:98 +msgid "Default theme:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:113 +msgid "Support link:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:117 +msgid "Support title:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:121 +msgid "Admin email:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:125 +msgid "Additional info:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:139 +msgid "Allow registration" +msgstr "" + +#: bookwyrm/templates/settings/site.html:145 +msgid "Allow invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 +msgid "Require users to confirm email address" +msgstr "" + +#: bookwyrm/templates/settings/site.html:165 +msgid "(Recommended if registration is open)" +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 "" + +#: bookwyrm/templates/settings/themes.html:19 +msgid "Successfully added theme" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:26 +msgid "How to add a theme" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:29 +msgid "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." +msgstr "" + +#: bookwyrm/templates/settings/themes.html:32 +msgid "Run ./bw-dev collectstatic." +msgstr "" + +#: bookwyrm/templates/settings/themes.html:35 +msgid "Add the file name using the form below to make it available in the application interface." +msgstr "" + +#: bookwyrm/templates/settings/themes.html:42 +#: bookwyrm/templates/settings/themes.html:83 +msgid "Add theme" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:48 +msgid "Unable to save theme" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:64 +#: bookwyrm/templates/settings/themes.html:94 +msgid "Theme name" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:74 +msgid "Theme filename" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:89 +msgid "Available Themes" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:97 +msgid "File" +msgstr "" + +#: bookwyrm/templates/settings/themes.html:112 +msgid "Remove theme" +msgstr "" + +#: bookwyrm/templates/settings/users/delete_user_form.html:5 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:32 +msgid "Permanently delete user" +msgstr "" + +#: bookwyrm/templates/settings/users/delete_user_form.html:12 +#, python-format +msgid "Are you sure you want to delete %(username)s's account? This action cannot be undone. To proceed, please enter your password to confirm deletion." +msgstr "" + +#: bookwyrm/templates/settings/users/delete_user_form.html:17 +msgid "Your password:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:9 +#, python-format +msgid "Users: %(instance_name)s" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/username_filter.html:5 +msgid "Username" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 +msgid "Date Added" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:48 +msgid "Last Active" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:57 +msgid "Remote instance" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:67 +#: bookwyrm/templates/settings/users/user_info.html:24 +msgid "Active" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:67 +#: bookwyrm/templates/settings/users/user_info.html:28 +msgid "Inactive" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:73 +#: bookwyrm/templates/settings/users/user_info.html:120 +msgid "Not set" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:16 +msgid "View user profile" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:36 +msgid "Local" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:38 +msgid "Remote" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:47 +msgid "User details" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:51 +msgid "Email:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:61 +msgid "(View reports)" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:67 +msgid "Blocked by count:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:70 +msgid "Last active date:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:73 +msgid "Manually approved followers:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:76 +msgid "Discoverable:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:80 +msgid "Deactivation reason:" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:95 +msgid "Instance details" +msgstr "" + +#: bookwyrm/templates/settings/users/user_info.html:117 +msgid "View instance" +msgstr "" + +#: bookwyrm/templates/settings/users/user_moderation_actions.html:5 +msgid "Permanently deleted" +msgstr "" + +#: bookwyrm/templates/settings/users/user_moderation_actions.html:8 +msgid "User Actions" +msgstr "" + +#: bookwyrm/templates/settings/users/user_moderation_actions.html:21 +msgid "Suspend user" +msgstr "" + +#: bookwyrm/templates/settings/users/user_moderation_actions.html:26 +msgid "Un-suspend user" +msgstr "" + +#: bookwyrm/templates/settings/users/user_moderation_actions.html:48 +msgid "Access level:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +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 "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + +#: bookwyrm/templates/shelf/create_shelf_form.html:5 +#: bookwyrm/templates/shelf/shelf.html:72 +msgid "Create shelf" +msgstr "" + +#: bookwyrm/templates/shelf/edit_shelf_form.html:5 +msgid "Edit Shelf" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:24 +msgid "User profile" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:39 +#: bookwyrm/templatetags/shelf_tags.py:44 bookwyrm/views/shelf/shelf.py:53 +msgid "All books" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:96 +#, python-format +msgid "%(formatted_count)s book" +msgid_plural "%(formatted_count)s books" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/shelf/shelf.html:103 +#, python-format +msgid "(showing %(start)s-%(end)s)" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:115 +msgid "Edit shelf" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:123 +msgid "Delete shelf" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:151 +#: bookwyrm/templates/shelf/shelf.html:177 +msgid "Shelved" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:152 +#: bookwyrm/templates/shelf/shelf.html:180 +msgid "Started" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:153 +#: bookwyrm/templates/shelf/shelf.html:183 +msgid "Finished" +msgstr "" + +#: bookwyrm/templates/shelf/shelf.html:209 +msgid "This shelf is empty." +msgstr "" + +#: bookwyrm/templates/snippets/add_to_group_button.html:16 +msgid "Invite" +msgstr "" + +#: bookwyrm/templates/snippets/add_to_group_button.html:25 +msgid "Uninvite" +msgstr "" + +#: bookwyrm/templates/snippets/add_to_group_button.html:29 +#, python-format +msgid "Remove @%(username)s" +msgstr "" + +#: bookwyrm/templates/snippets/announcement.html:28 +#, python-format +msgid "Posted by %(username)s" +msgstr "" + +#: bookwyrm/templates/snippets/authors.html:22 +#: bookwyrm/templates/snippets/trimmed_list.html:14 +#, python-format +msgid "and %(remainder_count_display)s other" +msgid_plural "and %(remainder_count_display)s others" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/snippets/book_cover.html:61 +msgid "No cover" +msgstr "" + +#: bookwyrm/templates/snippets/book_titleby.html:11 +#, python-format +msgid "%(title)s by" +msgstr "" + +#: bookwyrm/templates/snippets/boost_button.html:20 +#: bookwyrm/templates/snippets/boost_button.html:21 +msgid "Boost" +msgstr "" + +#: bookwyrm/templates/snippets/boost_button.html:33 +#: bookwyrm/templates/snippets/boost_button.html:34 +msgid "Un-boost" +msgstr "" + +#: bookwyrm/templates/snippets/create_status.html:36 +msgid "Quote" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/comment.html:15 +msgid "Some thoughts on the book" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/comment.html:27 +#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:17 +msgid "Progress:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/comment.html:53 +#: bookwyrm/templates/snippets/progress_field.html:18 +msgid "pages" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/comment.html:59 +#: bookwyrm/templates/snippets/progress_field.html:23 +msgid "percent" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/comment.html:66 +#, python-format +msgid "of %(pages)s pages" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_field.html:18 +#: bookwyrm/templates/snippets/status/layout.html:34 +#: bookwyrm/templates/snippets/status/layout.html:53 +#: bookwyrm/templates/snippets/status/layout.html:54 +msgid "Reply" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_field.html:18 +msgid "Content" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9 +msgid "Include spoiler alert" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 +msgid "Spoilers/content warnings:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27 +msgid "Spoilers ahead!" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/layout.html:45 +#: bookwyrm/templates/snippets/reading_modals/form.html:7 +msgid "Comment:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/post_options_block.html:18 +msgid "Post" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/quotation.html:16 +msgid "Quote:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/quotation.html:24 +#, python-format +msgid "An excerpt from '%(book_title)s'" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/quotation.html:31 +msgid "Position:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/quotation.html:44 +msgid "On page:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/quotation.html:50 +msgid "At percent:" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/review.html:24 +#, python-format +msgid "Your review of '%(book_title)s'" +msgstr "" + +#: bookwyrm/templates/snippets/create_status/review.html:39 +msgid "Review:" +msgstr "" + +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 +msgid "Like" +msgstr "" + +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 +msgid "Un-like" +msgstr "" + +#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:5 +msgid "Filters" +msgstr "" + +#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:10 +#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:17 +msgid "Filters are applied" +msgstr "" + +#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:20 +msgid "Clear filters" +msgstr "" + +#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43 +msgid "Apply filters" +msgstr "" + +#: bookwyrm/templates/snippets/follow_button.html:20 +#, python-format +msgid "Follow @%(username)s" +msgstr "Urmăriți @%(username)s" + +#: bookwyrm/templates/snippets/follow_button.html:22 +msgid "Follow" +msgstr "Urmăriți" + +#: bookwyrm/templates/snippets/follow_button.html:31 +msgid "Undo follow request" +msgstr "Revocați cererea de urmărire" + +#: bookwyrm/templates/snippets/follow_button.html:36 +#, python-format +msgid "Unfollow @%(username)s" +msgstr "Nu mai urmăriți @%(username)s" + +#: bookwyrm/templates/snippets/follow_button.html:38 +msgid "Unfollow" +msgstr "Dezabonați-vă" + +#: bookwyrm/templates/snippets/follow_request_buttons.html:7 +#: bookwyrm/templates/snippets/join_invitation_buttons.html:9 +msgid "Accept" +msgstr "" + +#: bookwyrm/templates/snippets/form_rate_stars.html:20 +#: bookwyrm/templates/snippets/stars.html:13 +msgid "No rating" +msgstr "" + +#: bookwyrm/templates/snippets/form_rate_stars.html:28 +#, python-format +msgid "%(half_rating)s star" +msgid_plural "%(half_rating)s stars" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/snippets/form_rate_stars.html:64 +#: bookwyrm/templates/snippets/stars.html:7 +#, python-format +msgid "%(rating)s star" +msgid_plural "%(rating)s stars" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/snippets/generated_status/goal.html:2 +#, python-format +msgid "set a goal to read %(counter)s book in %(year)s" +msgid_plural "set a goal to read %(counter)s books in %(year)s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/snippets/generated_status/rating.html:3 +#, python-format +msgid "rated %(title)s: %(display_rating)s star" +msgid_plural "rated %(title)s: %(display_rating)s stars" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 +#, python-format +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 +#, python-format +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:4 +#, python-format +msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:16 +msgid "Reading goal:" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:21 +msgid "books" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:26 +msgid "Goal privacy:" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:33 +#: bookwyrm/templates/snippets/reading_modals/layout.html:13 +msgid "Post to feed" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:37 +msgid "Set goal" +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:7 +msgctxt "Goal successfully completed" +msgid "Success!" +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:9 +#, python-format +msgid "%(percent)s%% complete!" +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:12 +#, python-format +msgid "You've read %(read_count)s of %(goal_count)s books." +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:14 +#, python-format +msgid "%(username)s has read %(read_count)s of %(goal_count)s books." +msgstr "" + +#: bookwyrm/templates/snippets/page_text.html:8 +#, python-format +msgid "page %(page)s of %(total_pages)s" +msgstr "" + +#: bookwyrm/templates/snippets/page_text.html:14 +#, python-format +msgid "page %(page)s" +msgstr "" + +#: bookwyrm/templates/snippets/pagination.html:12 +msgid "Previous" +msgstr "" + +#: bookwyrm/templates/snippets/pagination.html:23 +msgid "Next" +msgstr "" + +#: bookwyrm/templates/snippets/privacy-icons.html:12 +msgid "Followers-only" +msgstr "" + +#: bookwyrm/templates/snippets/privacy_select.html:6 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:6 +msgid "Post privacy" +msgstr "" + +#: bookwyrm/templates/snippets/rate_action.html:5 +msgid "Leave a rating" +msgstr "" + +#: bookwyrm/templates/snippets/rate_action.html:20 +msgid "Rate" +msgstr "" + +#: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:6 +#, python-format +msgid "Finish \"%(book_title)s\"" +msgstr "" + +#: bookwyrm/templates/snippets/reading_modals/form.html:9 +msgid "(Optional)" +msgstr "" + +#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:6 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:54 +msgid "Update progress" +msgstr "" + +#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6 +#, python-format +msgid "Start \"%(book_title)s\"" +msgstr "" + +#: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6 +#, python-format +msgid "Want to Read \"%(book_title)s\"" +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 +msgid "Sign Up" +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:8 +#, python-format +msgid "Report @%(username)s's status" +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:10 +#, python-format +msgid "Report %(domain)s link" +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:12 +#, python-format +msgid "Report @%(username)s" +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:34 +#, python-format +msgid "This report will be sent to %(site_name)s's moderators for review." +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:36 +msgid "Links from this domain will be removed until your report has been reviewed." +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:41 +msgid "More info about this report:" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:7 +msgid "Move book" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:39 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:17 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:24 +msgid "Start reading" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:54 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:38 +msgid "Want to read" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:75 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:66 +#, python-format +msgid "Remove from %(name)s" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:88 +msgid "Remove from" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5 +msgid "More shelves" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:31 +msgid "Finish reading" +msgstr "" + +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "" + +#: bookwyrm/templates/snippets/status/content_status.html:80 +msgid "Show status" +msgstr "" + +#: bookwyrm/templates/snippets/status/content_status.html:102 +#, python-format +msgid "(Page %(page)s)" +msgstr "" + +#: bookwyrm/templates/snippets/status/content_status.html:104 +#, python-format +msgid "(%(percent)s%%)" +msgstr "" + +#: bookwyrm/templates/snippets/status/content_status.html:126 +msgid "Open image in new window" +msgstr "" + +#: bookwyrm/templates/snippets/status/content_status.html:145 +msgid "Hide status" +msgstr "" + +#: bookwyrm/templates/snippets/status/header.html:45 +#, python-format +msgid "edited %(date)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/comment.html:8 +#, python-format +msgid "commented on %(book)s by %(author_name)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/comment.html:15 +#, python-format +msgid "commented on %(book)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/note.html:8 +#, python-format +msgid "replied to %(username)s's status" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/quotation.html:8 +#, python-format +msgid "quoted %(book)s by %(author_name)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/quotation.html:15 +#, python-format +msgid "quoted %(book)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/rating.html:3 +#, python-format +msgid "rated %(book)s:" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/read.html:10 +#, python-format +msgid "finished reading %(book)s by %(author_name)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/read.html:17 +#, python-format +msgid "finished reading %(book)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/reading.html:10 +#, python-format +msgid "started reading %(book)s by %(author_name)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/reading.html:17 +#, python-format +msgid "started reading %(book)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/review.html:8 +#, python-format +msgid "reviewed %(book)s by %(author_name)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/review.html:15 +#, python-format +msgid "reviewed %(book)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/to_read.html:10 +#, python-format +msgid "wants to read %(book)s by %(author_name)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/headers/to_read.html:17 +#, python-format +msgid "wants to read %(book)s" +msgstr "" + +#: bookwyrm/templates/snippets/status/layout.html:24 +#: bookwyrm/templates/snippets/status/status_options.html:17 +msgid "Delete status" +msgstr "" + +#: bookwyrm/templates/snippets/status/layout.html:57 +#: bookwyrm/templates/snippets/status/layout.html:58 +msgid "Boost status" +msgstr "" + +#: bookwyrm/templates/snippets/status/layout.html:61 +#: bookwyrm/templates/snippets/status/layout.html:62 +msgid "Like status" +msgstr "" + +#: bookwyrm/templates/snippets/status/status.html:10 +msgid "boosted" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_options.html:7 +#: bookwyrm/templates/snippets/user_options.html:7 +msgid "More options" +msgstr "" + +#: bookwyrm/templates/snippets/switch_edition_button.html:5 +msgid "Switch to this edition" +msgstr "" + +#: bookwyrm/templates/snippets/table-sort-header.html:6 +msgid "Sorted ascending" +msgstr "" + +#: bookwyrm/templates/snippets/table-sort-header.html:10 +msgid "Sorted descending" +msgstr "" + +#: bookwyrm/templates/snippets/trimmed_text.html:17 +msgid "Show more" +msgstr "" + +#: bookwyrm/templates/snippets/trimmed_text.html:35 +msgid "Show less" +msgstr "" + +#: bookwyrm/templates/user/books_header.html:4 +msgid "Your books" +msgstr "" + +#: bookwyrm/templates/user/books_header.html:9 +#, python-format +msgid "%(username)s's books" +msgstr "" + +#: bookwyrm/templates/user/goal.html:8 +#, python-format +msgid "%(year)s Reading Progress" +msgstr "" + +#: bookwyrm/templates/user/goal.html:12 +msgid "Edit Goal" +msgstr "" + +#: bookwyrm/templates/user/goal.html:28 +#, python-format +msgid "%(name)s hasn't set a reading goal for %(year)s." +msgstr "" + +#: bookwyrm/templates/user/goal.html:40 +#, python-format +msgid "Your %(year)s Books" +msgstr "" + +#: bookwyrm/templates/user/goal.html:42 +#, python-format +msgid "%(username)s's %(year)s Books" +msgstr "" + +#: bookwyrm/templates/user/groups.html:9 +msgid "Your Groups" +msgstr "" + +#: bookwyrm/templates/user/groups.html:11 +#, python-format +msgid "Groups: %(username)s" +msgstr "" + +#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 +msgid "User Profile" +msgstr "" + +#: bookwyrm/templates/user/layout.html:48 +msgid "Follow Requests" +msgstr "" + +#: bookwyrm/templates/user/layout.html:73 +msgid "Reading Goal" +msgstr "" + +#: bookwyrm/templates/user/layout.html:79 +msgid "Groups" +msgstr "" + +#: bookwyrm/templates/user/lists.html:11 +#, python-format +msgid "Lists: %(username)s" +msgstr "" + +#: bookwyrm/templates/user/lists.html:17 bookwyrm/templates/user/lists.html:29 +msgid "Create list" +msgstr "" + +#: bookwyrm/templates/user/relationships/followers.html:12 +#, python-format +msgid "%(username)s has no followers" +msgstr "%(username)s nu are niciun urmăritor" + +#: bookwyrm/templates/user/relationships/following.html:6 +#: bookwyrm/templates/user/relationships/layout.html:15 +msgid "Following" +msgstr "Urmărit(ă)" + +#: bookwyrm/templates/user/relationships/following.html:12 +#, python-format +msgid "%(username)s isn't following any users" +msgstr "%(username)s nu urmărește pe nimeni" + +#: bookwyrm/templates/user/user.html:16 +msgid "Edit profile" +msgstr "" + +#: bookwyrm/templates/user/user.html:37 +#, python-format +msgid "View all %(size)s" +msgstr "" + +#: bookwyrm/templates/user/user.html:51 +msgid "View all books" +msgstr "" + +#: bookwyrm/templates/user/user.html:58 +#, python-format +msgid "%(current_year)s Reading Goal" +msgstr "" + +#: bookwyrm/templates/user/user.html:65 +msgid "User Activity" +msgstr "" + +#: bookwyrm/templates/user/user.html:69 +msgid "RSS feed" +msgstr "" + +#: bookwyrm/templates/user/user.html:80 +msgid "No activities yet!" +msgstr "" + +#: bookwyrm/templates/user/user_preview.html:22 +#, python-format +msgid "Joined %(date)s" +msgstr "" + +#: bookwyrm/templates/user/user_preview.html:26 +#, python-format +msgid "%(counter)s follower" +msgid_plural "%(counter)s followers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/user/user_preview.html:27 +#, python-format +msgid "%(counter)s following" +msgstr "" + +#: bookwyrm/templates/user/user_preview.html:39 +#, python-format +msgid "%(mutuals_display)s follower you follow" +msgid_plural "%(mutuals_display)s followers you follow" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: bookwyrm/templates/user/user_preview.html:43 +msgid "No followers you follow" +msgstr "" + +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 +msgid "File exceeds maximum size: 10MB" +msgstr "" + +#: bookwyrm/templatetags/utilities.py:39 +#, python-format +msgid "%(title)s: %(subtitle)s" +msgstr "" + +#: bookwyrm/views/imports/import_data.py:67 +msgid "Not a valid csv file" +msgstr "" + +#: bookwyrm/views/landing/login.py:70 +msgid "Username or password are incorrect" +msgstr "" + +#: bookwyrm/views/landing/password.py:32 +msgid "No user with that email address was found." +msgstr "" + +#: bookwyrm/views/landing/password.py:43 +#, python-brace-format +msgid "A password reset link was sent to {email}" +msgstr "" + +#: bookwyrm/views/rss_feed.py:34 +#, python-brace-format +msgid "Status updates from {obj.display_name}" +msgstr "" + +#: bookwyrm/views/updates.py:45 +#, python-format +msgid "Load %(count)d unread status" +msgid_plural "Load %(count)d unread statuses" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index 4e1cd6dc2d05152fb5e88d1b68175a12bcd94378..68fc1b19b84491074aabffd201122fb9873941ba 100644 GIT binary patch delta 24111 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 diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index c42c7e682..d4dd39287 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-03-16 23:12+0000\n" -"PO-Revision-Date: 2022-03-16 23:34\n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-26 00:32\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -245,7 +245,7 @@ msgstr "Tillgänglig för lån" msgid "Approved" msgstr "Godkänd" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "Recensioner" @@ -651,22 +651,22 @@ msgid "Edit Author:" msgstr "Redigera författare:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "Lades till:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "Uppdaterades:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "Redigerades senast av:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "Metadata" @@ -678,8 +678,8 @@ msgid "Name:" msgstr "Namn:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "Separera flertalet värden med kommatecken." @@ -708,7 +708,7 @@ msgid "Openlibrary key:" msgstr "Nyckel för Openlibrary:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Inventarie-ID:" @@ -726,7 +726,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -738,7 +738,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -749,8 +749,8 @@ msgstr "Spara" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -772,7 +772,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Att ladda in data kommer att ansluta till %(source_name)s och kontrollera eventuella metadata om den här författaren som inte finns här. Befintliga metadata kommer inte att skrivas över." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -812,58 +812,60 @@ msgid "Add Description" msgstr "Lägg till beskrivning" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beskrivning:" -#: bookwyrm/templates/book/book.html:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s utgåvor" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "Du har lagt den här versionen i hylla:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annorlunda utgåva av den här boken finns i din %(shelf_name)s hylla." -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "Din läsningsaktivitet" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "Lägg till läsdatum" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "Du har ingen läsaktivitet för den här boken." -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "Dina recensioner" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "Dina kommentarer" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "Dina citationer" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "Ämnen" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "Platser" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -873,11 +875,11 @@ msgstr "Platser" msgid "Lists" msgstr "Listor" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "Lägg till i listan" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -891,12 +893,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "OCLC-nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -905,12 +907,12 @@ msgid "Add cover" msgstr "Lägg till omslag" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "Ladda upp omslag:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "Ladda omslag från url:" @@ -929,177 +931,177 @@ msgstr "Förhandsvisning av bokomslag" msgid "Close" msgstr "Stäng" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "Redigera \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "Lägg till bok" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "Bekräfta bokens info" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "Är \"%(name)s\" en utav dessa författare?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "Författare av " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "Hitta mer information på isni.org" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "Det här är en ny författare" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "Skapar en ny författare: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "Är det här en version av ett redan befintligt verk?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "Det här är ett ny verk" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "Bakåt" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "Undertext:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "Serier:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "Serienummer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "Språk:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" -msgstr "" +msgstr "Ämnen:" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" -msgstr "" +msgstr "Lägg till ämne" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" -msgstr "" +msgstr "Ta bort ämne" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" -msgstr "" +msgstr "Lägg till ett annat ämne" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "Publicering" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "Utgivare:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "Första publiceringsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "Publiceringsdatum:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "Författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "Ta bort %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "Författarsida för %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "Lägg till författare:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "Lägg till författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "Jane Doe" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "Lägg till en annan författare" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "Omslag" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "Fysiska egenskaper" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "Format:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "Formatets detaljer:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "Sidor:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "Bok-identifierare" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "Openlibrary-ID:" @@ -1113,6 +1115,14 @@ msgstr "Utgåvor av %(book_title)s" msgid "Editions of \"%(work_title)s\"" msgstr "Utgåvor av \"%(work_title)s\"" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "Kan du inte hitta versionen som du letar efter?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "Lägg till en annan version" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1156,7 +1166,7 @@ msgstr "Redigera länkar" #: bookwyrm/templates/book/file_links/edit_links.html:11 #, python-format msgid "Links for \"%(title)s\"" -msgstr "" +msgstr "Länkar för \"%(title)s\"" #: bookwyrm/templates/book/file_links/edit_links.html:32 #: bookwyrm/templates/settings/link_domains/link_table.html:6 @@ -1183,7 +1193,7 @@ msgstr "Domän" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1307,7 +1317,7 @@ msgid "Confirmation code:" msgstr "Bekräftelsekod:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2186,7 +2196,7 @@ msgstr "%(name)s registrering är stängd" msgid "Thank you! Your request has been received." msgstr "Tack! Din förfrågning har tagits emot." -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "Ditt konto" @@ -2251,7 +2261,7 @@ msgstr "Sök efter en bok, användare eller lista" #: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 msgid "Scan Barcode" -msgstr "" +msgstr "Skanna streckkod" #: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" @@ -2936,7 +2946,7 @@ msgstr "Godkänn följare manuellt" #: bookwyrm/templates/preferences/edit_user.html:123 msgid "Hide followers and following on profile" -msgstr "" +msgstr "Göm följare och följningar på profilen" #: bookwyrm/templates/preferences/edit_user.html:128 msgid "Default post privacy:" @@ -3040,38 +3050,40 @@ msgstr "Rapport" msgid "\n" " Scan Barcode\n" " " -msgstr "" +msgstr "\n" +"Skanna streckkod\n" +" " #: bookwyrm/templates/search/barcode_modal.html:23 msgid "Requesting camera..." -msgstr "" +msgstr "Begär kamera..." #: bookwyrm/templates/search/barcode_modal.html:24 msgid "Grant access to the camera to scan a book's barcode." -msgstr "" +msgstr "Bevilja åtkomst till kameran för att skanna en boks streckkod." #: bookwyrm/templates/search/barcode_modal.html:29 msgid "Could not access camera" -msgstr "" +msgstr "Kunde inte komma åt kameran" #: bookwyrm/templates/search/barcode_modal.html:33 msgctxt "barcode scanner" msgid "Scanning..." -msgstr "" +msgstr "Skannar..." #: bookwyrm/templates/search/barcode_modal.html:34 msgid "Align your book's barcode with the camera." -msgstr "" +msgstr "Justera din boks streckkod med kameran." #: bookwyrm/templates/search/barcode_modal.html:38 msgctxt "barcode scanner" msgid "ISBN scanned" -msgstr "" +msgstr "ISBN skannades" #: bookwyrm/templates/search/barcode_modal.html:39 msgctxt "followed by ISBN" msgid "Searching for book:" -msgstr "" +msgstr "Söker efter bok:" #: bookwyrm/templates/search/book.html:44 msgid "Results from" @@ -3239,11 +3251,11 @@ msgstr "" #: bookwyrm/templates/settings/automod/rules.html:26 msgid "Schedule:" -msgstr "" +msgstr "Schema:" #: bookwyrm/templates/settings/automod/rules.html:33 msgid "Last run:" -msgstr "" +msgstr "Kördes senast:" #: bookwyrm/templates/settings/automod/rules.html:40 msgid "Total run count:" @@ -3251,15 +3263,15 @@ msgstr "" #: bookwyrm/templates/settings/automod/rules.html:47 msgid "Enabled:" -msgstr "" +msgstr "Aktiverad:" #: bookwyrm/templates/settings/automod/rules.html:59 msgid "Delete schedule" -msgstr "" +msgstr "Ta bort schema" #: bookwyrm/templates/settings/automod/rules.html:63 msgid "Run now" -msgstr "" +msgstr "Kör nu" #: bookwyrm/templates/settings/automod/rules.html:64 msgid "Last run date will not be updated" @@ -3268,7 +3280,7 @@ msgstr "" #: bookwyrm/templates/settings/automod/rules.html:69 #: bookwyrm/templates/settings/automod/rules.html:92 msgid "Schedule scan" -msgstr "" +msgstr "Schemalägg skanning" #: bookwyrm/templates/settings/automod/rules.html:101 msgid "Successfully added rule" @@ -3603,50 +3615,54 @@ msgstr "Datum för godkännande" msgid "Email" msgstr "E-postadress" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "Svar" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "Åtgärd" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "Inga förfrågningar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "Accepterade" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "Skickade" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "Förfrågade" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "Skicka inbjudning" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "Skicka inbjudningen igen" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "Ignorera" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "Sluta ignorera" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "Bakåt till väntande förfrågningar" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "Visa ignorerade förfrågningar" @@ -3756,7 +3772,7 @@ msgstr "Inställningar för sidan" #: bookwyrm/templates/settings/themes.html:4 #: bookwyrm/templates/settings/themes.html:6 msgid "Themes" -msgstr "" +msgstr "Teman" #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5 #, python-format @@ -3951,7 +3967,7 @@ msgstr "Favikon:" #: bookwyrm/templates/settings/site.html:98 msgid "Default theme:" -msgstr "" +msgstr "Standardtema:" #: bookwyrm/templates/settings/site.html:113 msgid "Support link:" @@ -3978,18 +3994,26 @@ msgid "Allow invite requests" msgstr "Tillåt inbjudningsförfrågningar" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "Fråga:" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "Kräv att användarna ska bekräfta e-postadressen" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(Rekommenderas om registreringen är öppen)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "Text för stängd registrering:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "Text för inbjudningsförfrågning:" @@ -4003,7 +4027,7 @@ msgstr "" #: bookwyrm/templates/settings/themes.html:26 msgid "How to add a theme" -msgstr "" +msgstr "Hur man lägger till ett tema" #: bookwyrm/templates/settings/themes.html:29 msgid "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 1d1227f8092b70c68bb692fb532759090142aa83..e6023e815ded3d8ce204d472ba25415a958d2bea 100644 GIT binary patch literal 85895 zcmca7#4?qEfq}t>g@Hkafq~(VA_K#6RtAPU&LB|+hKeW#1}O#xhRP@g1{DSdhAB}D z3|b5f3_GJ37(^Ku7@kBiFvv16F#L*QVDM&OV33GrU~pn!U`UB(V6b6eU|1f_z@P_G z7tO#B#=yWJ9K*m6&%nTt6~n-Ah=GCOR15>dD+UIJ-dF|(X$A&{iZ})aBal6D5POct zF))ZRFfe?IV_;BXU|`^kXJ9a9U|`URXJBw(U|>jyXJ80mU|?7n&%j^+QWwv_AkV(;ADGUrI3=9nCQy3Vy7#J8>QX%5} zsSFIN3=9nNsSFH!3=9mesgQ6ANo8QjVqjn>NM&GX2HBU&z@W^)z!0Ctz>v?tz|ah( zKc_J;(!0V6e|)VDM*PV912>cjiID|8X7z11kdq16MwT7RYB{5N2Rt5X)y^U}Iol(8_0E z;9y{2FwAFQ;ALQ7u*zp(U}s=p@PNt(K>6WNetbT}KWR|)6;Sy$s5yQ43=GU5_vb_6 zV|G3RgAfA)!$GLMSMnk8_9CBwfd>>mP<;#q3=Etg{}e#tQ@8*UkIDrQ_ZbyH+-(h2 z=MSYL3n1nt7eL&fR{$}$rhtJ#fPsOb6H3p5s$UH?cWVIygE|8P!x5##OLBh?x2x6}@l=dxxghzN0#GLdZ1_pfw28NO%i2X~7AmzZd zB1nGWEQW-)d@&?_7!@-xEMj0_$S8)SFYXcs1~X8(Py$K6$t4hT50pUi=h+fSI6f+Y z`0GOn#J%53Ans!;Wnjn#rKeIz{w*to*gvBbqVIGm#Q!%-A>s6}lz{wL!Y`$QfkA?Sfg!&FVoyf}#NQJt z7(hvgVOa&FJQ1&ixW}v#5-%>55c5JSA^I{Z85meVmlWdYdyq0 zk@b-HPOpcAdvQI)y-oEHbEiP%7ee`Kq55}0>2vjvczsk4sSjiuAo;|n0b=it21q#G zXn?r)egnkb=M4~hzCz{M8zJGw*9b{B5{(f1m7#otMulEq3SyuA@$+(Mo2o@4ApnC5$Y}||31{dcToMmq2{qSLBd_83F01|CWt#Mn;_xq z-UP`<@lBBUt7wAwtGfwe@7yK^hEz~{s0rdP`DTbYTFsE~FmHy$r+qUd{dqJ);wiEj zVsCsiB>m<$L&9eTl->l@zXz)SNHe5dI@=6!-+QS3zfg6&Ef8_h7KlB{P`*hE#2%*> zh|;WVce5`I^q>TkC~ z(#h*qh`)ceLc)Q&4dPG9Hb}cxp$!s`wr!AhMpzppUUH#ySsTPZ^=**w=xl?8_rx|x zyl-xUq`zZO{_Qr1``)!d-2DrxkEpHhIUANOo7rf+acjOuN{*ARzmqFq2^qHntvCn|0&e|pY0I;uysJfMWX|f zzV$mG^{0CW#Jw3E5ciaKK*F=31CkCVc0j^)c?ZP)tx$6gbU@sDyn}%u9Mlf&fb-*!U6`#V&exeMYh zp)QE|8eI_cEV>}^<_e@V(u_@liG;;%_v5O*)=g4lbs3(}6g z0+r|NhQyb6H^h9|Zissfx*_cZn{G(B=66H;-1Y=@g3cecG@AR zIj^Ad-?}00`3<#)vj<|HOb^69!ybq^wmlGkIYDXf9*FxwpmbCZ1A_;sf7AnU*UBD9 zd~bmAPeAGOJ&<_5)&ohW&wC*Df9Zkb6Q*8BxJmXx?APvvlq2T7kZ=#~g}5WR7ZUzC zy$lS;K1-V*vC@le(WF~6%1V&9xTi2a-UAn|YzDt`gWe+1S4 zu@B;I_I?O0(GSt5*$)YKb13cD4>8BP9}*5x{SbE~_Cvz8upi>?wth(esjnXrFPr)y z@qDWv;{Lb&kZ}J7wdXgK=9~aAUwi^Yo!SJ5`T7$e?y#Q#NoSrDAmJA>0pi~TsJfyF zkbKz$Rlj5c1A`v}1H-xrko^630wla;CqnG8oCq<;VqJOA@0!TKu%3Z|;rK*IyRv)|r2jr`5~Th1XcENTHj^Rtx=)6LZ`fo= zI!l=hiNCDL3=Gx`3=DOXA>p}eGQ{8KCqw$fHzzYNYygcbOlDwM$H2g_b_zs)%v6X! zlBPn;&zlN~pW3Mq_qR-ixNG)QNc`-Y3ek56s_z7pe`PAf-dj^4{(nCe5-yC>Ao)^g z8l;`*It}9Q+G&t>OxHAsxjUyp^c|cAsb?-vgM|0HX^?t@YdR!e)u%(uHJA?Re>g(L z%c0^8Q2xZ}kZ_wd9TE;pr$f@wdMJHpI>fzKr!z2QGB7Z_g7QOVKOh~`JdnUxcJ7+@5twS>*?s@>F|IUQOtJEw=d15;YVs0pu&X@(Uw|W*NKh2#5 zvH##KNc;TqEQo)YXG6q!p|t#LNO~}w4XKZ8XG7ZmakC-u(K#F9&ZSWGM`lCJxi%XT zo)2b2;`8flNI3nS4M|VTb0FcvH3t%|5_2H_Q=J1DpU|5F(KmAr#Jq)2`PESQEps60 zMSd>CT)(-H@C}&@sm~(kLh^eNlx~^}Nhg!$Ld;z}7cyS8dM;#~h1FEiNAtZb{7edAtr!9oU%WNVpj- zfrP8o5=c6AUIH;UZV9Ab>R1Aa=XpyY=C4=+8Nb`R1d=|VEP>ebcL~IN&ZQ7qVkx8? zQC|wN$8#yfp1`G$aE)3D@n1TWpSu(io>fqO<5C8OJ_ZJczNL_HN!eu(bG)E*&@#xl zPt-C<{)mH$w=aW?TlX)6q?0qtAo=a$GKhUomqFb7dKttW-S<0f`K8Ifq|iX1*9B*x&l&Oajb-t^O7qe z;cT`N5})=fA^wPhif65am|qMPZ(0cnzey_@z~k?`S3<(+%}R*}DRS^FzSp_lo)GA1LTv`Qj&x2JEcfVf+ z3GW|J^SM?-@}068gA@-I+)zz+rml(FvmR1T)vt%xvuQm8gCzq4!=d#I3>QJ| zNGSi@21q%>u@Ta4G1>_6SHeb!c*RCYx>~dm;*P@`A@Or*BP5*eLg^RjGcbfQFfep%hvfHrQ1M6GA>sWTN`HXTKet2Tm1zgW zJ{~A7vIAnS%nnF9PG<+i{{cH7?#|c&DTiuzK+K)E0}`*Zp!|(HAm;9Z@{jC*q@%M? zb+@7Bf7$_wf2N%fb98q?++ns8qTX&N1H(}U1_qyNPhda3u3SAZb*Eo?S{yE?uNui@NNc%G6n{Q z$lZ{5xv(2jeq4vD`@b8apK}i+euVZw_{w`A>0M_JB>ma#ftc?L=$vqJNUWc0VXb&WveSxZH-wO$UnZ1zoU;w3U_CoCS*b8w-)LuwBPTmXg zZ{uD_xUJX=3FobQA@=Ou3-Rv>sQ9_PkaF|dUWhwC?1hY1v+ZMGn8v`sFl`^iox1xW z;bpxal3rZ*L(B=?50Q`F51E(A+z*+jU9cY#ejoQUFf=eQFi0MNgzu~akamgSK}dRV zKM0wxEIP=*u$zH_;n+dQylvAV28KA$Jn11wce^BBA%^T|+h4?e}D8wJdM4q+Jnt3=*Dg#~|T2`4}WV=0W+ZjzRLz)?*9|MGOoKH;+Nmug`Ia`W43^;k5ZU z#J>lRL(+@r35Yo=Cm`-JI05m8+X;w$X(u4_(Zweq>GH%0i23JFK*GuCB&59QKMBbP zYfeJK^~6a?{CqwMiT|G`85n#){ex4GaR>iX5dOSVkZ^r-ih+R%H2-`WGB2lent>sS zfq^09G$cK4KMgVO)M-e#T{sO%cMncO;`8Nc28J|{{xgtzyzLCc{j1MF+6_C-KDA^vf?2&p$hFGAv_49ai02=V9AixB%)Uxb9;7O421 zi;(nm=ptnP@g0=!eTji#5~#g(38IhdGNgVGz6?p9d6yySdCp}>JpR56$#+awAoKJx zS0MJ(UV)59wqAkEH|)B?z);J;z@TsyV(z@Fkoa1Dl>t0oe+w#ZcMak%_iK>!A9W2< z4%J*^VEDnvz%c(Bq~4!#15$o%z5!_$9Jv8;$K4x{^5gprNWK-l2{Fg^CL})NZ$i>n z%S}l6vfw5pUmU;5z>vP39el`ieUcb64D9V9;h{VAu=g zzr4%9u$F;=;on_|Icx4g^2yPAkZ^r;50dXa?nClz-hD{DHVMjKc^?vfXYWJo{csE`4p1QIG;i2tY?t+)9Ggr|9pK02^a3?5b?t2kbFJ+ImEn+&mr!&e8Irr z%D})7@q&S&f`Nfy9+WTsl7YdVfq^0RB_zD(zJ!d&ZF>nxFYjJL+D)RbAo1`23gXYI zSCIU+=oKVitat^9&-GCLkyns<=kzN`I=BiIe+;ExLFtcB`o}9sx%2-Oq@3b;4arwB zuOa5EKxysQkbGqH8WNAGuOaFyUPJVEyoT5}70O=>r8hw7y{{qp=oFNH8*0uADE~K< z=6C}!PxKAM9wjK>^bI83ouJ|oQ1NUizv2xf-nyaUyP@=nH<0q~DwMDI7UFKbw~%nR zdkYD#@VAiuW#U^%{WJ9~#6Jt(Lc(DkRNdCM5P$4{3vu5CsQlx%kZ^nT7LxxzLB+-2 zLHr{JrM2Hd^jSdp-tQp!H{ua3R)_#QO z+wzftp^kxpVc$o{ID+jb28QDd3=C&JLDWt846%1MlwR=}BEI!AB;58u#m|0*gzv4- zka&0jRmb=R5`wPT93!(JJFA(<}`~nI0(_bL=T>b(v@75QHJ3d3@ z8NNd7_PczAluzMM_1RGQA}GHJs;=`ZWL#vAj``3AA?&^L(rC%-}ba}z55{u{&{-@ZZo!TcRkZg78x_(SVEM8ETQh&r$D zkn$k>J0!lEzC+T>hVKybpF`Ds{|@m7%MXY?@gER#RDMAGs|^)5{Q(IVC#ZM;R9(~$ zh}g{sHm#!ygO`GZ`2dzC+EK_!Hv3 z89yQJTly2?k2O&7JwGA#ocswXSMU6UnB(#bLP!0A=qvaIF{d0#w?OHMzaaYOLHQe@ z^gbwk8cN@Qs(bni67D~KLCRyn-;jQ<=WocoM8$7NJ@@E0#9r1v5Sr%?#C~BYUja(1 z|AB?yC>;XTmjvbKL;1CTApO*?KalX~gUZi?%CGqY@&C?0kaT(;s_rq= z-p^2Vzo0bxUx@oeptRy&NVw=h`HoQ9?=Qsv(SIT7umq}ZGL&BS7i#ZcNWFUgFU0>U z{~+l_`yYgF{14)9tA7ypxj^M3pz;a-AmN%0Nyx0!RzEi85zOrD)ks4`YoX1A&iXRb;-Gm z5cf1g=?RPwbLKKKg4c2dgbCsjez%#45xicskBJey4s{Y#|7@uGMNoP@RD2JVJ`5E<#l#3+ zM|>UXj-OC*PG*R|#h4-PQecL-!QN)1dqE2voM0^ck)>n!Rw``vOw%##li?)XT6;T5$5`qV*};;L-{eR5O?OYLd>gYg~V?=E5x63q4W|~ zNIF;z)pr~!ev1|2zlTtJ-?K7;*HQmuWdyI2qrE)Gb1&48M>h=UQletacVJr^g$9&t{H`Er~P`?NVB z{<4FLhd}8>D4hqTtD$rUl%C27v3C)azkw4HUVEYZvz!qB-{OS0>k%g;-rhjn@f)g+ zi3?&sKNrM(s$7ux(BXo_XE+xmf3!m77eMLdToC)#LFs*55PzM6(zm%F>G=g0#2tU2 zGz&LG9S=9eUP*37@H%aMZbtCF2?uV7xvAWY;Qb1v+>r9;7&j!mpFs8hh0KY66h(H4%X5w-JDZgAbHW5`e^Gg#e`9 zSSA3m?}-2-c)!U<0Z95#5QL;hEkTHWTS18Z!GaL?XF=uLpz<>X8Nu@n>jfe1c_|37 z|AQdJJO&|%IF}HFFDL|&mxj{XP}*9E5xif*TZj?74`eNrJ|hHi=W8ha14^?BL;Ncw z3^7ki80v0eNPS`}3`wsZ!VvqDg&D#7b+Vx9+M)C;sQ$H3{$627`E)^;5xhU+voOSd z1rdnTHg_OU?MIq_ny(q+;f?|+#XCej(Ur#ZJzk{LtJTZv>E5sn-RS)I2L*@IR z^b9dZ@VMh5s63}Q#5@6Uh<+(?M)16jqBtXXKT#D_ejQYPhd3mB_KQROe;Z1_7Kh~P z-%xct5|H#KEWrq#M+%gH_}hQvn0eE zVJNL22{A`k5|WNhBq8DACCLb0*O4j-3D=2|5cBsz)t`XsKM&P+M-t-SPm&OSs7XQ0 zHHXr6P}&tr`$$3D5iAACmkCmkaLI$pcR}SRLizKc>Xu4D{J&WW;-1}5`J+(!j1;6C zy(|SOAD>G>+7CR^5PMXlA?e;o8lvA8O1n!#+#3j`Bcvhr#6#(HsCYh9c3W)`$74kP=1mO#6Ou(el3)4 zfzsVjdJ@#UnNa>pD1UdIf#3&$wBI|2XYYee?s{Z@(_Cr0YS(ba{yV zOQ8JKQ2q`mf4@8KsL zQvnh#4-_Eo_@V#_hksC-PZ6R|P7xxmtq3vS8Y=DtrTrBl{*Hn2tD$sZ7Rfe>m!jvKUQX^Q2G;;{tu;j)F9?cszKTZnre{p z)j?eHf@M`)3hP}SgZ}Pf2}qncpdx}ZAgFVFI2yS4#d1X9Y*lJg?1f?`|j&7GE4!@ z4?*Q8>q6{VqYH7@30+3;KH2}ekaQcV2We;2=|RkUs>cYP@A#(&32!@ni2FkHA?``h zhlFP~lwS;`tDx!{^&$S4sL#ld!pOid56WjYgp_9jhK%6#9U@SEmLbI4JVS`TOAR6V z>!EZHl%5HtmqF>xhLCtVU( zLHu0@oYNV>gf1aa>jBS<=WY{UrOZ~YObpXNi=ZG+N>q2^sMgShLZ8Ki&q(G1f57BYvJZ(|PepQkw_{RNmq z(oX_ZJjEQ+FU&TF*xPB&$k4^Wz%bvOkzpceov;POy?ZPm=AE~I)RT8CAm)CsfSCK; z0@Chew`2tGFE_D-l$RZrjNp08HI|Iv`9LEpNc&{96(e}x=2I(1@VWz8Yet3@pndt) zkoLHU4I_B}daey5{_fg9@;j3)Bpn&pLfY90wh;fWwuOZ6Ra;2;_s$lgU%(F1-*14@ ztL-4_uGvA{{oW4Z&i{50^OWrw!Q)$b_K^!y@tyflaRyh2Iqa^Ga1n&^HC!3N`^1f08Nufeq_{%dao!c;-}|nRboIs+ z636Zuj6+;-V+61F5OasnQSK1;%!BfmxmWAzK+Ko)g_IKtzKq~~ zGd8{ueHFft@NDvB1h3!N;>*a;4mwZ648tiA}kCHKbaXA%$XS&5*Zm7SeO_X+?W^` z-Z4Vf5cx4NFo-fUFla&D06M4S1Jrzwd8eS_AT|iUWoBTIVuGBfaTjz(2Gos_jF2^( z8=-nZ=T~fJW?*1qWMG)a%)r3U$iVQ4fq}tqP)9Oz zB9skU-}0G}fnhF`uffc~z{SMCFcstm76t}!CI*I|3=9mL7#SE^m>3wYg4V}C)q>6n zxxmc8FqwgYp@xBhVK*}a!&W8+h66}$N@iqW=mj|rbPftAT|n7epzgZ{H47xXn1O-e z8xsS=KPCnS326G+$H2f~0X46lnSo&+lKL7Z1_pj628PW{3=HK^@m)*|3<-=343n4{ z7;Z5#FvK!L&J>7Zf~<`>#ROUVqsYj>a0+B8=sW-h1_mZ($XX&VW(Ec`CI*IEp!Ii* z3=F%V?)But28JLg`voIp zeZ+o728NkXGeGNbRG?;q+y%m>EDQ|pjF5AF1fcP70^}ah95qxe=zJK^nLKwG7#M7s z85jha7#RLQBv|hlzo~kOi_XOaUr)nSp^}6$1l9 z5F-P_QDz1PC1wVOMNA9~MWFa&fXppRGczz0Ff%Y*W@2C{gz95tW?=Zwz`(%H%)syr z>cTeJw!VEdLMjIMtAT3Lv_JP=opyCaT3=A`v7#Ms&_A)UrJYZ&E;9y~3I0}j* z1_lNLW(J1oP<^2Di$HrErC1mkrZO=wd}d-`&|+d>*Z`FWnOn`wz|ajkCj(SgLd6{z z85ruB7#O%%AalsC85tPFnHd;fFhk~!e={&Jh%+)U9A|{A4by_Ut&NF+VG1upz14BMkj2)D|nHd>U`S?SU|@yn zzX}p$fUKcaW@2FAWr3{I0SSZ7#R-7wKMgwbh7qzh6ePEbnStQ~)C^}v1_l*o28LNs z{xe1fhSwlP3=9lw7#J9KF)%P_GBPkM0F^t;3=BJ%85n*uLgvMx${5O^;kT5Dfgv4g z=SM~chGHhjIaeTcJ)rUlR8K(F$}=)B^f5yAF_bVdFuVZO4@?XUPnj7Q#F!ZvGNA5> z2E_>z1H*C#1_l8p28QR%3=CVC7#JRd$^_7vQBd5oQL46Wny5kg1QTI2HOv)IzeUz1~n)<1R5S)j0_B6j0_B+P`(-q1H&Vz8Y8HEAft6b z^%N6iuYnQN?9)(r0VoYp#|kP_m>3wE7#SEIGBGgtF*7hcXJlZw!^psp%E-VV462Kn zAZwd=p!UeIFfe#CGBE65Vqj1Pr4guk*BBWX;+Yv3wlOh)`@Z{_A#2@1_JA3eN3=Hd;85j;g-3l^e83O~uPbLP2rJ#9SCdhglGe!mmB}N7Yb!G;JJ)kxw z)XW|thL z$Yz49UGHLMV0gm7z@W#%!0?`df#EU8V9;4>pz;aSUS(on=mUixBV z14Aw&14BMky)p{}Lpu{>tsdz7Lmp6H2h^@+WB`v#?SO{W8ju|z!$55#1_p)?NPLj+ ze`W@T8w?B#%NQa1ve+3Jz~hK*pgNF+fkB6vfq|KYfngyijWIJYG%zzTlru6gEP|RJ z1j?6CHXjoMXc;HSSTME%s9!9Z7#KEy+Qv)_3=vEW z3;~P`3^L3N3}+b`7;2ay=aqr&V31^HU|7qegy3+0x1!J z+66j?(hbypXJTLoWrXabCSp#6bN3=BC?eLF#IW+uq~6h|fo25uGxh7zdzA2Bd6 zoM2{Pc*DTJ(9g`kpb5(NAWJ}JEHXpZ>VdecLFpXSuK>B9fq@|$s{c9zWIbdyBLjmk zD6K=qL3^GiLhawn2-!OYG6%FKS(K51VLKB8Lk%MX11k#ygAx-1!$Hs(HUk60NvPjC zL5e}=G%_(Td;qmQ85tOOSQr@6q4H2^hWE^n^To^=A?JL7&iDk${Rj1%KyeA`D}wfO zK=nyN-2^&w@+LE6jeZX!1A{h5o`r#-8q^L3r3Zm75KvXEHG`RDtp~l-~$a4{DP`&30mDU|0ug*MR!b zP&I~7x6FpppmRiTGcYhTGBPmeGBYqlFfuSSg3hvJVqmaiVqiGTz`(E_YTg{E9?+gd z(0D1xnaqp~4E~Ie^Z%+qePgIvkQ@kCF)=W#VPaq?0o6-PkoC2yj0_C785tNhgZj|S z3=Dlxw}JMogY-;=+Ovv@fngq~?Z?ExU;~P0P~QleWH|Q{o5#QaUKdmi+M@xopP7Lnl9_>F1_J{_9y0^OAE-M(XZeAQ z76r9Gp<;q83=AQl`jvr!;WE^ZpuMqom>C#CLFt^4fuWFzf#EJF+@SIxGkl?TgZ2#? zL)qsU7#JQfGB6}DGB8|YW?<-KVqjPa>Jx+4fHE+2GBPk^F*7i1U}Ru00h!0lz|anA zlY`FS1Q`n2gUHCh&;&|P%nS??pgum-Y>@N}sQm_@_9Zg|!vh8ehKHcGHxmOx2Qy?3 z!5?M@231hMh6S>QJ)Dt&VGUHDG!p~E8%73(gG>wztC<-XmP5k;WcEVPd2dj4PZ=2) z!a;Q?NCI?@EmU0!sI3j^*D*3Md}d%^;0N`Km>C#Ym>C$pF*7jyg1XfMG%f;4KcKT% zLHie(7#QRj85pjE(g`C2!&0a^Mo=DLW?*;)H9w7!fx#B)1{Y8{3o4Ho85k~s`l`$f z3{i{>45dsA48}-l#RO_rDiZ^P9#k*L*=wQfe~b(aoXia1@pwB11_nn)28KM)7!flA zg9%g(NImF$RuIk4!ocvCk%57cg@M6=nSmjmk%1u!YR5Iu*}tGMIYtJCtsuovYz1}y z8BjW5WMKFK>W48ifcF#{GBGe%fWni3fng3K1H&Pxop+cR7_KuiF#HA8uS^UK%Rp@b zsCh7IDI)`e8Pu=yq5AHD&h=$rU^orsgZ6 zK=y#n_eBzW2Q|YJ$$m~o28J|Hy~xPGV9vt8&<%=H1_p-Npt1?79%LS93>-uw<4jOn zjG2L<4AgD|l`~NFp!0HHKox@a$by&?K=lALPRv1dG7AGkIcSW7nSsF#s&5G+1H(&D zeFCc2m>3v}L1S1T%}~4qH2w-26JTUum<6hPKy4Bh28PF=u{}lx1~E{(8*0a9M#w%+ z1}+6C2u@DSQ*cTwO3qJ71q(8$Y9!~E=9Op`E2O4mmSpDVVTu&Pgi?z%ixtxHb8_;_ zQ;V<)VpE!#mkv@}T2z#pR}x>Dng}u_C^a!9GcR4iJwGvrK~*Cqv$!B9u`(X!mX!S5 z#LPT}ywuc`VuhmAvdq+SoT`e!%5ba7%qz<*NmVFHEi6qfF2Q09ssfM~(4CWCkea7Z zlv&>ap}T1EE99i6l_;oc6eX5q=A{?Mm*kfu z=4cixK=?WeHc3Sa`gSE5shLFziDjupiRr0OIfcw(xW0I(lqPbx5Mx0xHEbwOEm25R zNY78qQOHkID1s(XRSl4cX0bw2etxz>W}bqo1|$jVK>VbTn3tlEn4FQBT9%rk08t%Z zkXn?S3d&TfsvxsUG7?L`1|!8G)LTSYT1*97)AEaQ6H7FUbre)J3KG*(i#3ZCz%+xZ z21KqTH3gpgKwiZu0g9W9#GJHvNZe``D-@R`f=UBSL6Fj%#Ju!UsEsf-gQ`YOW^qY8 zBn)&E5*0vPg``RaRgL`eJW$FeLWx2?C^CvOOH!c*F{oJJSeh3 z0S2N$L0Xw#TBJ~%k(yJMibGW~Hf4xtP{_#7O$Dbe22~BD=mGhnAhDbBef_Ml($MUQWb0x6*7ua(`=P8N=gcft@QP?@-y>5K~i2>l&hDVpR1pl zS6q^qmz-LxucT0tSd^YxVyhINl#`g3tpxXq0@MpO`iXWr3MCnt#c=0Vg1ldvmswbv z3W{aqa4AkrEK1Hm4J`Fyh1~p<)S|?a{Gwt=8IzKmnFmP{AffEk)B**N%Rwe7loo*1 z6qV-XW#*;pD5U14;eT=EBq>P_jak1?31t9DoveNrq;zlAWpsNCsXo<)^_)SXe^=6h*}# z_k)~*WN2nFD7!%l0Z=<5F|QKh9~76VgX$hgajpPLj;JnEhZOoC!Lr1hQcyLQ3GxW2 znkY-m$xKlwO3lqLNsZ40!ZLz-sr_J@588-Wtqj9Ww2&SF(|u$5)sHCQ2B>awCORBXcf58 z1IoG3stcUmi%S%eQgiY_?Ff)9I*{@zF%P}P1kMHU;yk|;T%wwyxB-;SK|V$DWul!z zQYErGi&AqELA5?iZBc4LPG)KfI4DZ;K?P|MYL*1I-(jjDF;xNz3P^B*oE(oHrqr{q zur$9URUxe?KNp;VpfO52`yfdf6zg>HUU5lcNh!D>Lk==f;Q>#z$VDnRlAuwLngWgl zSOo?R8CX0)x$uBWv?Jbvw9LHB;*3;KIS1*j;Y#I{SOSjN6y%f!PD#{oe-S8s)5c_Q zmo$|&&Mr=@EVd#(mcYdxjU%Z%F|VW;)ENa;$0UVlYOWokdk<+3JZhL(3@&vQKvfth zi-Al94HJN}nqR&`UVcd`LyCMq)Cw&bQHriYX-Lm*%8^R4XK_!Xly7(f{s6bSe=l_!Flwjl2$m6nj~A9YBp1lrtEN3sgk zE+__t1S|l-0t^nIRu(8Iz|94a_tJ6_)6-K^;O#t6*9@Tw)DQyoTA&To%=|n(1qMe2 zT!lkQW?EV*sP2G`Fo6rN{4_}W7?jyTP2>DLP++3eIG|2Q8dC8G;e&z?OCO3kPME=$*Bb;P%1SA%qRwpGL@y~Sb=z; zF-r!=WKdHQN)?0YvQ#LgPy*_G<>u#=WWYo~jxGl2F3BuQh0>WNl?;w4DIlz%1S)=z zT1=_Ac1obQ2b%;Mp#ZCL%*!vyNG(!uEG@~%FG3LtE=|fxO)i0mAxVRoAe&QCz}*b6 z0!V+uF(pO8CAB!YC==W)2FrK`z|ts~8&sN;3T7liZH5ihg7kv2Pcc{)Ty%k1kP;8f zOapa^LCFNngLPrS9FQo;cOWHT0Z@|6O$ButiWMOOpkf%z0>v>Xjif@XLU6&O7udoL zq7CNqVx)ipWkisj3gGlpS`2EtgT?ZTa>4E2a*(TX6SGqlKzRn12w@%d#DapH%;ZE+ z#4CXN_-TpBpcI;t0&2VGLPDw}A3UN2b_A>`3lAw!xdx7OFatRkf)WT)c?05t90@6H zK!&BJSb-?;IC)}@LS|lCK3D)$o-jCqI_MA*lIlTHxtVzi*{PLKCZzig8f16O$xJLx z1*M6c%yekc2XY~(&j}fxhvl|Zh2+HC)S^T^2FIKn5LWO3Wi>Dhq@x(j%FfF#hxXXP z{M^*yV$i4?m;(x4uu=u|su(WXOb!CS-I8 zd3T1$r^&r2cq=H6`6%dVW zPzeAl`k;+P^HaLqHA%H}uj$&Id&^ zI2Y$7r$VX{P+kL-$k28mBq*S5RItB`6krT4>c3fge!s+c@RqyK{*RNa$203lmqID6hTugc#g9qA2wVC>gynnpMsiYpn+9A z2FK#$)I5-C2FDTw=qQ^NgJWq*W`>lFYPB&{!%&Mj<7&Br!9m z7^)Ct5sV3HsWpk5NVj|$Za%FUorXDbF!B?BfjQe1ah7p*g+6y6)S{f=B9$`UWgzla^M-jDL=os1SDQu z0&O`kIOP}RSur>#f~O5K^T4f1ScerZ*(E?{1P`*@1N=*Z`WT2H>VtQg`9=ZDT z7@RZm^Fh^RW^rmxCAj*BlvrS!lHo;mGT5CddJN7vsfk7K`V7K@&PzGxWF~|Az=0)Qy84{Q&K?%kTYa<3C@SkHd!$^gOebGbAB$kB>|;D z;$VSduncI9uadzT(zA!r;O>)xXI@%9T*MXBsfY8x-AyO&H{ zx*cdfLm?3~yIWkE3QE7ANe@u#6jYxSr>26ET4`QtMFC{u6S^VF4hODMvSO|r)KkuD$!cGu$EmacoGy;J%h3%$my_Q zJ7{GK>EJLp!-wutca0a*K6_A^sFfmW?N*@>x)J=l1 z6BXQx@=FWg+&l$G$Z#S|Bpq2A+$eu`v`z=hR2DP1 zz`Cd4MonsBaekf^NDyALyQG4a=M*L8WLAOnq^2d7=9D0Y6BJ+zRY1BRas{9{!Gfa9 zvc%*{geW*4fViOMGlL7H6%9*SP%bzyVRGP<1(nFl2Q}d!Lm419gUnDUPR>Y80S%i# z6+x08j00|2!OSYjNG%2}YfDT4w^!gspo`lhG-MVlfSrRX1acIrNI?-~mRSMPE#mN~88t&k(lqQ2qCTL{F1zZj(_`-%h(D;y65;0j3q7gJq z17YPCRWi6_7AJ$#Ds++nEC4EyAXN&ea0Ct7Bi8aL!c~AeFIFI4Zf0?@0(4{s#0M>T zgwfzW3|JLN6tqwXypoQ=B|o_oR7--ZCkB`N)M5p{{1OG%ih|6dR0uy6G-pu)ZeN31 zC<;ZH=@}*V3@+d`lu$|mJYxanSTVTdgW5TusdHHOG&KbrbHxmCpaTDCk>(voLC`D&~PQh zap2()C=*uhf;ED=#L%n&=0oxhgbB$xAa-Vc9(Xbz)pKA=U{XkF1hgOtJ|w85ssZLh zCsUO`bv6T}{Q)Kwz#Rclc7lk)niy74Zb4BhcqSw{6)I2+TI)~*l?G8s;DPzfV({=K zs5(tlC{IlSwZa)(LE~Mi3Yoc}MH3|%rMXFYpbnoEOaj_(fG8-238#P;*9jtDQdy8{1!jU+ zAVvwOGw22x6H)**;=tojVDs}*6w-<^Q}a?lhUcXyfCnv+Mk^E&OB6DT^D_1Fi_#g~ zGC?5-r7*K0L>e|-0g4lpbr(u7jiCGhnpK6Uhd3h>c|M=PEwiY&M4_NG36vUAVX4C{ zCovt`ElMqB0P{fYied&g@X~K6rGVVNz$ON1{=p_K+)`6A%TkMq!L>MO6iFc`GdmUB zo(J`EbrgIPi%arT^7C{+?dpJ>)S~>{L_MtL=0g@wrNK;uDRRK(q9Dk!ZlNEzoQDWZV<%yZa3L0)jsd>p6nhb75 zsi_QZ;FOh9$>5%tlbW8dpy8gFlbM{En5W6$4joNV@JlUMfVPj_!3&*}^9w2&K;^Om zyjcV06_jjmfUxECenm4I7j#n4ez&`>LA z!U9y)7lTIY6T!oeh?xyNkfwr+%w&bU{Ib*>21u0vCXwgDKxXHc7AW{7=BC2f(D^A) z(*snvf~)|wYC$vJWzf|@;BgUf84NbD7-BqleIh6oL(4Uf#G(}NcngCEXgwUL*9G#F z0&1;b&)|`oQ^4Sn32LVlrRp$vWTt?I_dpXBsYRfn$`l1e>6xDg8utXXVE~(1;F$($j3}gJrhsa9XrmZp5oEd;+<1efGVtgsI2<$6^T6W{pfO!=_gRm@6D$O! zQlRNZ0iKmSL3L0ugC}@n0+d2_HCP;+wPA`Bf*}!J*7dLk)zkfw6+BO-+F^iWxjXi^M_eOdyNjQy>#3&}Da!=`To} zBQ`C7N>s?={To^p&0_Q>UB%B+ZS^|nkkP9G-q!ofwOG*n6)}$b&xUG;yAq{)D zIgp`8Bo(0C3Re#jFG(#bOUwbWK&^|!%%W5UPZuyZvjh|%;H^H0gbE%IfNlLzC`qj- zfvGKK@GJ&ZtsomTiiz=Q&P{1GGs&L5x=Oo$w!rvaAq%P$9u zgZGqx+EALs3_j4U6jpFnF^E}Qq5zJ?R0f~KVo*^Gnk@ylgQ2pZ^#b5349YJm%>zqA z#`K{*G)PY`1!6`~X`U5>PikUO9;BfHZxF+Vxe%kosv6*BE$}unn1{NW1Jq2`LpBbJ z8Wigw@`#BEklwOXg+%CR4IDi^JqDl5 zq@qMv6BIll?~|EYQd*XIbhCnn4`_%vF%Mi}`ebIOGJptZ3y1;KA_Nl(kPcNbgab*c z#R|ElpxMGy=w2#NFhhrNGg2$TZ9q^bD-YDV02M3XZ4t$K3IUL5G4Lt}@N67-RSjrZ z7-lZ0`3Q=djQnCy)&j4;*HOp?SM2$vpnU}?so6R;iGP*z5pve+ex75<$Z}Ad`zr6#R=)Qi~Ws{YHgk zXbEKn;TGf1Skaxbd*j2L>43rol*nU{3+1Y0-(T1SI93d0qM@n1CjX(#kq+&;6#v~ zZ^hsX-mRKgmYEJ7r%}jF%`0W_1+8HMwGkjK?2=Su5m28i86p5K0MG_;iXo#ou-pKh zPY3lTz@|c)a*$CI__|flI1|VRkhBLY5Fx`ldJMkckzeSHC4@utU^7H{5y*^E@FZ;_ zG-!}Sz~v26;~0+=D7-)$P(c%f5N)t#bZSvCNU{Rt=wb%nRFtJSAOZ05G*DX%oZ!J# z0JsqgotXv;=z`0J)D&<_vRIG77c^O(p9j(oUK9nLzfLV;@P%d~24BctD^QCE%FHi< z3Fd>kYtV@)xFmeZ0+OoY(&B>DykdwUMX9KjAjn5W#R{+$7vQo7Uadk}pzt~ra~&e6 z3RNh{0PO|It5kqQFevlrG5CVo?nq?-c&rF42pV00E?58u7G$c`3ZetDwx}4w0S%Oa zcKi9}m!*RHY7CI}onLBdib6(ePJulGhzXj<2Sponu?YjHO9|^vSb=#EE5I{0klY0= z$Qb-mD@qvr@)Zy(d{T=+ML1}lAg2;CIGLIPQUPh&Lf3{B!$lzb{VG#S6v0ABYmY!R zTWKCxFDOK?bHPqhQq?FdO)aX_ELH*;f}|QU(*!E*KvghU5vXklWgSe$)^LDy736~^ATtwl6kxq`$WnYzO{D}Gl8HwS zNyzFXkj^6TGz@fuJ28EL0X+!-ALkL(NAv8q~pu4D*BAQ;;A{gs%4n zEd&I+3~Vk)DVAVHk^`#+hZ1VSDJsrZ(D2JIDo;%Zw-`ag@opd&F@RW!3XrXV$;D;h z=~S>_aVjYFm!yJxQ36`^>4!4+CphW`2QziLG%_(p_23mz$l%E6IF$-#%ff6}n3cDaNFEvMx!5`FBNvs6Z zzThR(Ad&FY)NHU&4ya#IT#{MejYZT*NUBsw2CXN6 zEgsl1nc{ryMqz7D}gK8L1s|Px?14^UN@g?Z!ID>zFL9rr(e?e*gu!*{PK%^59+pWOrgQgMX0%WX&2VtU!wbK;;3{U*IYp zyyg?saZD@$bv82d^swoHOre7so#5pM$U33xMU_A!zd8Bo5Cc+Di$J^dKpP{Atr!9l z3sQ@cK#Q1Q3rVaP0-!TwP#WBeEM^D*PlQ3%6oMDi!G~F~Nr93H7V#9YSY|P(22*fJ z&C5(pVF<{mECwyiQV1x@FGwu{?Yd?N$Vp62EoOlBVW5Emia6-X3Wk9Eg3_GCB2cFX zwHgS>FDfZbFFm}fSi!XvWMHX+285BArvQ~qEl$;BfU-dfQ}Pv@iV}-6a}+e3iV~|b zLH%qrwZ-73zZF9OXjKo0fHb(0E5Rb5CQ%w_lpiDm>Y$-aeS^XRUhzUoE69)lsLEvs z0MFPIrKW(#?yBM`K!+5-(kMcp}i;^=E zi$SeYhCtBKE194fn!wWh60mcM89>Zb2x-L-6dbGoj-{Z)l2nEu@Hrw3L8-c+MKT~7 zG*t#|6@a*~RZ@A-+5=o>q-9npfaX|1g$sD@2viy*gVxzA6qka!M8#GNphXB^0;C8u z;0@PTt1Z{ zC^fApwKxMtgUm~02tqpP0fnOgIr9NJY=x{0WHNZCNf2lcZ)Sd8aYkkVNDx#PFa&{j zrNbAyg85}2%RwD^#2^$%Sy`$A>Z}P=5Ht}8)d%VD!iTP)3P4LmVG5v&q+wjpJPF9Q zf}Bc*Ajp|H5K2KAw$Us;GX->F0BGa^G>i|)l;{otk1?QYfs7+7fMy>_&;?qiiQ!SO z`G|om1yEH4buf0dC=LWId4!B-#{^Faf%79wG&Kdr z0_70M(k##j8b}jpxD`}jf@@+}!H-hGGX$lAb1GC4Y%(ll!4l9=2DM{gl^R%2i2|%E z0p)_bxG2>Jii-RkaFQ+t(I6K?TZTpXxeP(6B}Jg52ihe9NiPgR;QhK#N&#Fpz&QD7 zpsF3zzJSf5Dk*3n_Q^n6tI%UpG(n4=AfsI{#pD=MOqw}3Ed>=m;M#&AD8HN`s5B3K zcS>@8PEKla2`DjTCPNz>dSHcl`Q;43i77dtBX`i|L_pI=;FBVt1tMsLHz;^e&LLt5 zPAp3W6AEgHxdqmsrTit}b%!8{6tGMRbf*&Xp<@ie&;?Ekps7JP&x#=!atI29f(^D8 zLxsUrBxD*9Q$z>cwFZxcf~WnUMu55piC`(17I04i#sO^}0Z+ey(lcDJvLKZqI5kzF zJR=b_iVSK=LeJNLtZ_$8kBC(S!Kt8dhAuLMauOkHtr&t+bJ7sQ1;MGHRTz+!O1Y4g zN(^8z$ZjYQyM!S)wIC6+cu*m?G^Zr9ASV^nsQ@jI2A^O9vNo|;k0Cg<2y_SzQdY`2=cxf!(R9QCgIv2~iDlJXjU1&{If(F4}|CHo>VSpfhk_ zV_qPopiy(MW-vpcII%1>g&`Pp<`HCTC}>~~%m;ZFltW63K}9EIyLkbm@dY1%#jOzB z%!2eevr{XPHGozzfz~oX?9DF%P3XfndRj3AgW@4ECkML5t{5T!I;jZ40<92%uwZcl z3ItH#=N5q0DneRIU{gSqF;qXqBM^OvO+}zI4pji|@k7T%LCqs_6j?C@gElRO7BB>Z z7D&Tq|AMnKL1z+Wf{p}BEno=FPb(=;EJ}ql6hI3=z^y=-lodlT=&-1g3{W~M0dD{R zr6f>s1D1g-87c=YBq}e;&r4T;w);w8rwJkLS%P{Bw44^YWeKYhiVDH`MMahHk+H-Q zJqECdB4kq#G_ivFeBj;t3OV_C>8VAaESQ-BR~rsm)m)kbo@oa!R|bzbfOLVClqfh= zf{ZNzmw{kbDrgTEY?n`Pei3MA254Rs+Mx@EOxhMJBxa;0rYJJN`1+s?6W{=VtnenN@_&iB#t&W$7VTHnmV?U^kSM7N^3@Pc4SF@SqCd ze2_}erXk3H9Rqa3bupY_1!Co9mVhYmDm{<@cs&aPd;trLp#WL42OA!Owpc*3SWp#^ zB{1OmCk0RzgBgJ=4lRBli(?=X&;dWV%@9#&ixrkXA=?ZYf*~|)Ef?6ypacxwdJZZ& z!Pym3twEK7$~cgR!TS_J5d{%Xg={THk^v1Q1efN5dZr+^Kn}Y=t-v4~gJ7$`p$B5b zgPLfdkqz`y&OirzflWcAt3*47VCXR#AYBN1z&-(SK||t@rKJqPWvO|^*@+4o!R4tb znZ+5J48i4@pcVe${RW`30-z_5h9stgb_!TAgk&V-cd$SQ0};s$G=i8}28y!~ z&>4%ML=PGzgPlqMUMU70FVX{_K1~T!8GsJK1Jj`Wci_qqq6KtZ zi9$MP*MTBKNCsqp9N_{;@&Nk)v~>cy`~hQ&7FZ{!>W8c`fSi1iSqxhIqmTsJaGIMB zTICBGt0)0Y8x@!2CxcJI1Jw|)A`x^HDrmKLDL4y&M8P9-hDHkDa}J926hI4$azPC? zh)2LX8bO0~pxkY*5DuOggas0~feo@-7u3{9flR8Tf?Z~>050Bg3m|8Zf)|>DQZ96V zDX40KgaybNaMwF2RiPMk+(uF*=x9CAVhV6m1>{E98ZuB%5464s6snLD$UspAt!Z@> zK#S%;gGgZGic>+m|B+NeJOOT1fYvF3PBQ}^r-SfA`ww*hk#EgEzSUy&fu-kiJ*;OnZ@8xdDO5BWK?b{cwiUQPJwa}Oi+>q z?@9~-&9{Q)U_l4pfkM0(JOc}z)yvB-S5ycos#Jh%u>!R~K$#uV!UcH2VUx}05=XYB>*xG((=V(6leh^XumwD+6AwUPyh|=f;)5| zOF`ibwHOronV?O-;IkGGBO;}Fx}bf&4B$<`keLBcL_&)__}T_gwFTNk1x{w*(dJC> zd6xM_ux(DD$~_y>7z5dprvN^x1ZpjKCJ&s=@*syf6hkb843vQ^%*+FIVDoc8bBCby zk)Zi8&>~t;h(oJvXo;4ZqNe~|8&?kAV+3A$3d*xc>(J0fjzA+IP`81Xv*|#_tsxn< zw4@|I4>D{G3Svkt2bO|54|1j|)GHv*A#I$2`lDC@vYQ69fCw%G4lHn{2JOrPjsNF^ zh6zFWq6j)S1a6HN6hX%Mpf-TYUQm#fB!c%Rf+Ddb-wN6r1Rb`TmmLpoOvCzsHc3Tx z3Z9_i2Xv?aIIULZm#TxNOtVu#UP{lmhd2ssG-wbG-2F>bD9A6+EiF)hj<18$09Xk) zyMxv~g3n+8M;xpa2A{(NDJMax99*S=vIIC%GNDmcq5wK?FDWM#bZ%xU%&*|4BIa}NRTxa;9?1K01!&e2R?5Pyi^=?mL|wmkfH)=K4?NT z4HTeYWAzw7TS<#SeaRFC$bMZgX~htd58l+o5CU2u2q8g7EPxKC$}0g$mq7PL7c+z) z`cI(37<@`+Nn%bmv>gfxk76AK(CQ1&k{fWZ941;?E7 z#L8lY#1vi7ep`_Gl1$y?eCSCFAU@NVDq)DqpyyfW|r zk2>tgRdvXbtLk<|sfo!MpfwqwVKlJ2Ks7r!qkztfRmez9EK1R1KwoJZQdFACfLZb) z7T|!oN}9#+8UZwi0h`1DO+}TY#zTrckQz{H-wr&^nwprx5E|qI!d48S84CFspdqu+ zJY8_9$N*x1w;YG&=|Yym7&%+EmT} znSFo`zr%R2Q@kMYZUqyDFI|Od0w-ZmM+7v}TZFas3)PweGozRxv;edXMFBh!Z^aN= zoQkxX0J4Grw8*R^Lm@e_6jWuwl7C)tCTLm>a?%huK0y7LAw$_Wpa9|LPlao-cft@4)=79W~ z1FjJuDFr+m0Cp^R90*k4gFI2B04gp(rx2r66(D1(6-OlW64`-t zpy3u!!?!#m6?~`{DCi+-z~=@Pr9#G+H6gVLG&-TD<3WP880rR4yAre_49~E8DEO?a zU}GzWu+$>ZB&!tz_$*t`U_VcVqSWO4q7;ZgVona60iI&7O4Tezh=58-7#DO<0dgY- zd6PIq2jt*v&=y9pWsu?rbfhP^F%2~b(rf{D_d!(;L?<{6=Hx)e@IjoSQt*LmFg?(H zRS?CXMgUYIKTiR^NdzL9p9k7QkeXKlTCfclg09I80qtCb3;GwN=0PPOVvy*7up!Y4 zVS~~UXfzC*1j91HC$CsBgoAdYlt8LwjB$N5S)2nUFhfAa6hk;<*o7fHu@Y4Krspd% zfEGp+GlZw+B!jkgKxvR9N*hCwAso~v1uf(S)si5?GV{{y8NxwlYZvF|rh}| zkXHDnSa41Otv3gqYXHt}kOBiz?dX77x6qL;NTN(iRe&shO97o~18O`Votg|@H&_fR z7jwYZJ%A2*D9MK$LIG-cf_lzi_kdgouRy^IP#|;YCD8U5sF|IeTB%SDJr_D1wBQ)J zeIL}2&Vcsl67woSy+b_($PtHNEui)r!j+)bKPa1l3P4c%BOkQs0DRhoLT+M8Dr7fW zvK~WtMm{K9AjJ+tcxHBHL2627B7y~;RK7p@ zdT1bm>T%d`Axs;15DTOlTwsAB4m#2eZf9hcfKCkuAM^q`JPUR#Qwk_CLdL}*{efaV zxI6Ol%aQg8AtskV<(+1+B3vEpkTFF2EDt`wnUb1RnvQ6ffL6zYA{^90&H#66U|!1u zEhR-LOagDoP63VeCW4#@I`BO+KTjbwuPn1DKMyqOfN&@_2NV?L!}NeG1&?)uhWx<| zH$AxfLW5o7JwiePf)Q31LmZZr3OTGT73>IvaS&_4JH(*NNsA%pdw~)oxD%=XskBkD z6+#!J=JgCvC;}ZQ0BWCu;>_98B}k#TGOr}D0-+RIbA!8Appp!9kUzY=1PU5ZiiEWD z^iuQ6pxq>JKOfWr1nVn?9^D2?B_KzGs#b7|1S|_L@xYV%uzZ`U0G|a02bYz;etCJh zUOH?K9k`(j>3Zlx%3zGk1wiMq*(&AbgZf~pMGBz3T4||8MX5zfc93NT`mPnAIbm?7 z1viHC!P~%!5QQ*kdmd=ZB_cfX3rciBahM1hQ2-qc3JL|VPv9;9=0s=Ibn_r}W9LAtL1Bwjrlm%!!3Ty+oPff@UP`Lm%J_Wo_9a4|yRYK<1K!Y(Q zkUWDX4YL(CIt`vi0_R~+l?m}Z#4PBkrO5R{xCMuLu;0v#z0EspRzATJ+wk^pR}cwT-v zk{3Z;SdiPm-Usaf0_FM4JS(slQ2Y(rAOPKhijvXb)9rc+(DQyWQo&^|V&DT5^N>*t zL_;kv1+*Rxl$v0t*g;ELh~rSUmqG>w5W`+z$AU(?A<>JX7BNu;RS)X5qiO)1(F7VV zO-?LL&j3vbf{lTR7K0WKN9LD;_>gW5_~>6ygBsk(g5M(p*M(md&QO6=$DqL}WS^^p z?h;5%L^(1XmcKyjViFPe?|_G-L0JcWu>vUlf=`DB2O{E-3Fxw;NYI@vNNEo|)}v$x zDN#U)4Ritz_-2?Cr~$A;O29fn)lD%dVH81g7=#VlX9E?6dPE@+G-?HId4c-!pylYG zb2cH$VQRoVAJDER(2Oi}_8iG=Fh9fFr6Bh~`f9m}m7t@CK}})MdVA0raV7cCrL7=0 zf`=?XwnM7cB3QWwX$YZN2{)fiv%x_Q@fm2sJvFZc8Wxa-7-+*+YGM(1;4~=}GmVLn4vq%AaCO*_U^g<2dBuJeB z>bhW@914z7hC7yF=iin3`(`$}=!iAr>M< z0lI16)C6gfP{TM#(gGztYM2J;(n0)F$pG~@WT*qlOQ2vxN*5q5Bt4O?1GK;u$z;e@ zUnH}k0*F+{0Nzdnsy;!(87!aL4A!}$-Qy5?j@cwd8I|#`_klT^0 z1972VAxjtO-hs4pAZrvsNuC9=U<%|+P?ZXDkQD=55$L#jC^NyagbIeXcjING$;)_C>@;qphL(?&;!hnLKSQqbYUboZJ`?lie5_1 z08d>eS1RPBmZj!^+nPwx3~>RhvV*x0WGytdK`sK7z_8)~tO2Dk1dHJDloA8T4Dij1 zWCw93>?{Fr)c|n|sCWjs3_PI)b_9ve0#9H;D+$mbH~5|mA`3jcxBC!h7?I^2afT6B z+7V|KQdtM;c4y{;CRjk7UC>k}qNfO|;6P__r@-SLS}cO<9DHRiX@(LROr#k~TyT+Q zCQ`70TgIRsB7Ct11M(Uceb9|@pdFCNSs$bvdhMlVF#`$@R061KfG;ZrUz%17RRB^3 zx#WWZdKNPSX#Gwx131i3n((0F5*|;Gni`tHNl;6AAr4vJfK=Y#bcYoKR4u64fG9B$ zB@?_|0d1XumK(!XX`!rsrkX*;P?IuC7@(Jqfr=a?&w$$aNP!CCB1%s6V&tp>NgQy+ z5H7gLha^Q%hZ^B)oT0=(l4{c93$oCI0en#lD90y4t4!E@DFdV{4eIoP!UELjR{(7r zD+L{#j^*}QV$_3Y?BN$XfCto4Qy8E$X-yMyG?5WV@TF{tDWJ2^!F2&rvcM91$V<^E z>|4N683SmKHn?90js^VoL-RW6T1XF_>dacu5`z&q-m?`(XzdJ0TMNKqnWtzBXcLPs zu4jsF7<7UPybKOBBhLldU83t-oSvDY>r|RvtQ(SVrN9;7uM65+0h-OybxABqwNfxL zFf!6LFxEA+R4_2NGBV@>ol2t{0=kbV2XvdMm4Ywm7;l9j&@tW$HsCY8!AE*K6lE5t zmKNycrIy%n!OptT4M|PRwSu`(0pT;a3M+-G3@%?!Usr^q4fPDTpeL;9hJa4#18Kmt)aC7glTJF%@v{RT$Ep)l9{Iq4MHnKxM9fYdb(ICn3!7{8CxQ0g!vcb z8(n8VBpJ}LgjNdr(V)Z+iV5g((t0p{tOBSrtPkFwkgA`W7atm|@8cZr>lz&F=*1euu71|v|7`BU=L;IquZMr$+3{@6LeNd_prK^& zRbfwdta{qI`Pt?bFB)1IAgt$e8&JxvC%blmv_S3}fnEOoaz^Wm^}Cv@M7J*=X=*Z+0_OKdgv{>n#BrFb}oB9 zs|6Aja7&-=-1cBX2=mG^SOe5mr@FzP~J=we9$|?O*?7_fk+)!s}$%q#CHZ3M&x7 zb84_jKD@VeL+k)G7N6```(#JolijFL<)6=lQG_NE9L`wPzFNJm0biEmT24 zwR_Wx#f?uV&UiYh=lQyY&nL7!ojBvgmiaHXEPlRw%d?)w=c{KvZ`%1{|AZF{d*1Kq zQFzw5{Kdi^xaX7M_j$iq*z;t^uBYodo_5RxdFTC}9#9^hvjS4EL5jYo^O~Q|+4r(( z-ILwho=)m{vZMD!=X!|FXVbSmZJhPAeb>|3^PcXS0`UU0U+{j^FNu5;bxL zfwiJEixr-3-}HQUKO}jB(ka~Gh>1m24N!|0GK{NPtN9zo!$T7O98;iD`fa89+;Y;NknUW9E~c%U-N+ z(PYqg+Q0r~L#HN4=kqmd;GJiMmkYOoG{4`|@pSLxr+XTnP1y%2q@GRR_N;Hki{1%P z>1XqoKA+PKNp~=zwTqw5S@CSfzUNDJf#%yl`-?z{q+^2u^ulhCLQw8TEoq+Y=mI6@ z^*fP!eW1J!@AH9z8THymP(o1vl|GQ_W>yQN>U^@R^ToP#FZMM*U9udMj*t>0F$RLl zJXE(mo73>LfBLgEi(c&SgQOmiQ^A$>(|yyQcC*`U*w;^XwLRIp0F+dbd{>YNI%o+VU{67TnVM?{8LmKd zp;B}0KzZZE`j!{#c7aSI$xh_>A;CgO?s&Rq>hmcpNVbzAe?pQwmF;}qwe49$Bf6oW z@(LdO=%uSO6|QV8euv2CI!er~rYO1u6}9G(6q81zZV2YNV%2+MjJ+0anHEtaIO!9lcLG zHsD=vqwuU_+KYx(P{9jXoCT`2Kxdp_EW!uX!Bf^h>uG$kYxR@ed!Nl;`mA#w($&|{ z#R;I{8tC#GQ1j&J#{L&m_CDFW0KZC*;Yf`DLbKlbrP%jC#_72;c9fc=*+eq=j zqlP&z_Ro2~q8rkzdekr%$#u{U7GjMZsA-P4n!52?!~$#&lfa88jLR%t$x}+@nu6JBxs-PU4Up~bT&NMyZ`x=6`*cY z)4J#DHa?xR;pyB4kSQE2XV{O^=;1=G=daO-uJ9;>C+8uPxj10F&A7#zC<#D z;pv8nFV^jN+PeA4u0DtOl^IIO1h{ z@AJLuUhJO-a>w>f5T8BYJyQX8SNF47P0yxp1G#m|%opp|gHrsqR#1a{{hk-?Tb?eN z_Of}!v#A@N^{#uiYXT_G^sj$DWd+y*aQph{+8N-!94J^oopo@h1vI8Hs|Au!aVmv) zAKuXcsdEJ1%MA$x(1^~HU45Xo8q&?&AaC?fXL!1O6O{F0-Ts%;*FE30{AtH(D~6{# zCOqxm&hWHr#gn~rVAQiMyI*W?W_Yr@>)D(RCA$%)_XIpkZ?OMU`Z2Rt~ zT?-hVZfH|@)G!CLh4-jot^!2O(~b?04%t&kUmhw7NveD2fV%Avp=Z-JK&*or{sdVP z!m)x$LAn7DebBA~g!8Pw|Hb|dP-UPUBaj3L6?n0{zYAX zWz9mUJc?0IH#EMSy9g@t6g=PsD3D(|Xk0-~Oj_Ry^G`1(bVNbU)qI4^BUe zpX^xs6rQ3X+MotQI8Qq^phj%RhG$Kn{0|DtjlEBHtcCgoG}8Ed%0}c`5`TLIVm@4V zn-#;$nJrJd7C^GS6$3P8;XQK(I1AE;wn7LzUElU{(o#?|hNxk9+OhiSgkCF9;J{rA z8CHF=qwo3b9na?Mdb)n+%e@moneJI@a&v~&Biy$AD}Z%EufpVb1f1T@G4=~X;iy9AQ7;BpWP5JhI=9B6Svq=uL6 zy`c0z0bWYAHojQ512RMl8Lnk`3KoKt>I|R)ub~w*um>OE*)aFT`l(OBCOn(H<>``H zpfU>Fu719}_xZ-%3{Uq?28{=;>wK}e6*dC(bVA>gJ+q#6%znCi7qpgwjj2GQ=W#<5 zNE3Jv>1D&L7yH{GK7thX&*t<#?OOPB<_hS*;KaR8b}xCcum>{w0%?8Vy7T)*-}a~d z(;((R5&&pW2b?Cr@jG$Gi}qEI8@f6Ii>=!s zon^3K11R-?b2He)Ih~M91B$iTTb@nZ@P1F@vpEf*BCfLoRFUu41s=D79{{Ua3>mw6 zvUdTf>)zQ5@fRpyQ8Ykz)M^%kta;kH1~g<2p`Nz2K3%ty0m5N;zIMv9g&hn}`+J}4 zX?(I{7Br1AJlWm%Z0!<6!3c67IH^7bM=GSU03|v|K`^W3+1AFF?foyC_d-(Kvnks^ zjY80!-ypZGo$_=^FUTp7k)0>Ic7araqwwj3i6C>pg+6Fn3sNRQ3T{l*kkJW9etO){ z2q|J-tXm0cU4X~x86ZUyC{^rU@^t132FMUTsG@@;7O23}-Me0_TlaKA-}^m1FBYwS z)<5CJx^}-V;E>DpPE66zO)1BL%?C67(36M+)DPTcv0*}6c#zWVG zrT|_vPIdDlotfO9b_z zA=+Oq+zP7eAsmJm?W>-4t$;MWp;aoT5GXb6*ab<+;PHBB>jf0j9n+q+ZU?!tXXne- zUQn6dKjF!~*-zI_f4*kflO3BtQNMQjvvpfRVFWHXK}9mCT-^7p3!IuD_C236|5?Wb zQ0m)zMdt_nK#&4G@!_&uXy(4Vi)lazSwjo@Ru^8b}y4Fbfji*b8ZZ zyI@0d$bi^Y+3lcXWg@oX^@C}Iep#BMKeIT1r%_z*MWi&G+;e_ z+so-&p6}X^Nbt`(8(vJD4oXlvmodE9yXI;CL?{Ir7lTH<6{7zSDuA0eKkM8Fiem5- z^ZPyXQKUhp?OqHX%bw5hw13*OZ5<4tn3%E?Qcy9xSik-0oE4z{-}r(!EcY?tQU!`_l=%pb8eL@Oe6+7u4(8+5L1v z-?Qlpo^75AaS}+|vmLE3XD&giNx*#QEYS0&olo0$L#qc!4*)7OW#7{!%R!wk&|DuV z13+f|Abs|y?QNi*1v1Bq;pL(^FFH4YvH)ZRkpV(kL1_la6cq!cB!^Ov7=)C6P$5V^ z5E};)z*bNxNbLYo4QU+1Wx(-c#Q>?ZAk$Wm68`DL84ORCH9ea*2UOP2=?2w^E&WfI zOoL3PgSr_DcRruJ4pf`2-wx3aQaP&yuK!ubGsLlj60BQWpTe%e3r#n$bR zHX-Duc~E~H6jQJ^4Y+CZV(l_eYX?%rF+5$;`?O;ls6*8?AJn0O@FCuYN%KV+*fQrpS|ws-l-rbLlPUL)Aej( z%hTrmr%SdV^2<|jjR49rJC`v)3OEKxn;6<~gK%ICad2xH+U0=AK!WM{z9r9hx4?9Q zTM8}*f_LqDv9;ydw3!TO{WaL23dR6A z#A#1=ZhO9V+S83wNz{j~9Mo7MVAcCQJ!ozNuY*SD0&`(4F3@;0xUa$R3_QsNaW1Ga zKC1;%<%8B#LR2%rya4sd>~&8&d!dbhr*l@kSihU$Y466DGgmS^*}dw;!WGYF&tQNK z|A0pYtYEykOP}qU02{D?G$O4SzCRSo?H;^V6Pb3@>-j0FBU1?RhzO5oB2gNCQOlY5&A$ z)7oFon(%yiBdADf0gb|ehXz1uAniv62n8D)0=FsQ2?^Acg(pD}=VimJ=ku4s^sJlp zZ2Gnr>lQxkm;@DqCp3^^i1knz&_K|x*~sl`oDz^mF-&^>QiyXvbq~a?@V*6#5M)9Y zRMbz~0M!fe6sVsAZe2g!&<4q($PMhL>vuxB7tcCCbqQ#(1-Q-tHD=m+K`j~ZQV&r6 zemS!j)EXd3rr>Cxpq*(honMK0jK~~{%qRLrxPYJK#CZKr=49dXD(rQ+CTAm-v)+f zeT$xNSp><<@X2R|=ey^>Sho;dD)z63s02CfW#i&!Qx`+WBp`iP1_%Y|0$4$Lki|$0 z&!)9MTez6v*@hjUQOzYApH1yx0F@EoP7bIov!M;tvIVb7dD*-dqU-6>y-#+vf#U=+ zVg_k2LRx+d5Dv&K;30d^RP!_Nv^2Ew^nA~>7yBkMKqzb-a;Oxvtc0k8=#ZBKTA1}~thK#>W`Q)`z%jDl3U zPdhd|-#hX7>X{6XVWOwA_dRXyf4*ns^QlXp&fW*s1Rg(vwC*9&VA1WHAUZ&t=es9A zn>!y;;xQm|;5THy-_!A;dm}WPJ=qN#42NVQ1yF}{^NOeKyIxM2$?&vm!Hd0nLCvd; zy`bTHsA&Jhr#qS@k{qV?_c}8b0*A^UENQ1Z-clAOK_VC>Lf@j03rbz&VaD27@kg8#sI%K`^EMZpwN7>YtoCx zDUc3114Inkhy*QaY-j{!+9$iWK`E%6kXFu%ZLKf%w}bjba~hs5Sq?%Q`l0t_LsUH9 zxclk6Zm_4oRT+d2_6KCh1>_?z3)K1r4-hdtUB4SN$u^+}lvF_DoUlu>6(Cc5knuri za~3kw%>bdmNfy+wg3Sv*Zs-FsKfFwgBE1LUbP7Vds57?#zaae?!K#Ad>-4b}xmjy#^K7;N{og2n3gE zPdD_xSigng`RVfIQO@s-IA^FWLF!kIkjWm)2@{u zm7u=!#D@2KdKg~Ln($(JKRj9?3lov6FGRwDD1~Mr(3sQ0tqc$fk^@0w4NsRfJ=r@I z;u%P11*Brp4A2eQkO~H+=J5!9+`P=Uxi>znip)I^4?Ob3sLL8?cnVicW_IuO*zf={$TOo6N}u>!jjY!XyAC}+c4 zd++!3pdVPI@M8UL&^jMTO9E;6I(WGqWa0X=hTTtFH$s;VB9wqv5H>>lNsuK7(2fYh z^Ie-k-D&VBIH>9Zt-0@9{<5JT+A)Wg0N_av*5{&PH5OeDa3t2PrDX8ZC#2K z@?bu++wgpK_tW0Z5GBy$13KRkw7?Uri~-VZ1a)XYtNN`NKuael^gZjC_I%GS7zeye z0IBISr{U>@K4?RB*DjbI$jlW)8F-|n7qYkm+ADjqqwCq4g%Cxc@C5B)SiTt2PC#^v zVB<)L`+v|cvW6^zfL46S`$=EypAA~?y>=rF5>sjZF=j#?i z=3XF8{l^WB&lg`+V;@7!N848Vy3KULidP*tRLn z6oqGV7e1S_3baKE(qntFyYKnliBIP?KvaUNnz@UtKpFJK-o22)Ay6X?+DYhW12wF{ zy%A8KW*%r64ybDaQ3%Q_ki|$SYwvK}JN3QFVr)y^*3qIKa&8;t%wLPCb4IGAGr$Y45z;!#9J>S?% zzU!XNSp(`AAN3q`7KP z2!Qmr?}931c)FqgY5(@8v-dq)&~C*5qo3^9{dE1F7agl!^v`+PI~BAt3X%)K!)?2s zgJ(j~MM2{jdm2FHF{G+}0#4A7v35v41=S)Q?Jt}6KHIbqGR*^8vjQ51nbm^aMuRjV zK{*J#stI0LL8ql4gFs-vfCoZh<1MJ`aS+3&h|~`mMF49;tfygs?xI5qCzud;vL4=; z#4ZY&UIOjHgG}6mlOJ@KBB(+D)jUgO1X%K@- z5b(+>NGL#tcb`w$2$cmp9%Ku+Q4I=&XZ;hN_IEKrhQc6oXrSKBQ&`qufD|QA3S2wP zp7?bAe9-gaN-9qKE<(g8qyDj z4(forz@P{L`vJW222u+`GQsmE(5@(0g9^M*^4Xj<5buG42&@4r4XJNmHgvvRxDzy6 z_jJiDP}gSOHiqZRK@0pq^$4hG3vNDHF+kQ%J_Yw4KwUQoADRllQ4U^I2VT}`h30vX z)zdaWoWbyPAE?a$>WG160>KS18r@=3pPkY5;U~=Y|bjs$V0~l zP$rt##Q>|wz$<|g()c`qoU!PyWL)}Rsuaji7ODbU6hIDQ*m><4WogmiSEfeDFEXi9-;0nLh_ z$YVqk$X@UkK4^6c(FrjOQjEMpq-z7w3|R;PUyK84ih#?zmva|Ao4X&h@Tz|TXbny4wkNx% zLEH>lw+&te{dD3CPy-*V9>kv8{BkCE#UrTJS+Wvj+mjuup3Uh1v7Sy`0jj7VT?o`h zwF0PFIjaR!a8Kw1IdSdM_j?*&tltiqIR~vS-O&w6flqcXg-mxtsxU~bSTQ{9U-fKG zCn#A%dhK&oz~^^BUI5oKAg6*yLttgoVn|X1A1nyE z;UqIZ4|?tNqlUSl6b4y4iBC6V;UefH5nLBg!;I>i^t59-v?cp;;nrtUH&`(|-MJYw z@B}-WpSCBa|@YD`W2$D2FLk-9ZVHppc zGQhp)y_26cEPt^DlomETZ`ui3v4I((Xf*(&`g`8I_T}^yu&bj}&osd=nFeK_HOrrE z+4N%K!WW>q4%lEjwri$AV}9GWyjZ#)T`{C74{AX?1rO?j=E&ePpCHcD9nGK~2Y5~H zv#pI!cC5uV^9-L;!JOrW8VjBm0Tnvaw>|CI1({O?tx($6@U*j+;c3U*=ew4JM%A7# zZ-i3MrtE*db{Y!D3Obep+2jW5+kj_iA^XokGlfsrw=p2M@IXCR&}LKQDNfM(F3=8C zD~6}N{V&$71AD%8%~MdDvVGU{&JG69vM1PW(h8t1ZD$8)pL%IhPA2FUXwV4*;4K8O z!2qx>P|`)YV;ZUxBn~kHGTaAQDc0HXe91mg7GD2i%i1S9H!wijsbIH&cMUQ?cAh~g z$W_wMwl;!R!93Z$9Y#UdCGTl?I$=Enlmp&o0;z>TLZDU0;5Is>o%aN?%4_%1Cp)^I zHMc%(123oBv+L=SjgSczkP{#yq70B30q7JUgaes|fQ(as79lq8eKvjNlU;p~Q8$P< z$j1=X5Ut=bju-nULW`hhbI__WFdwp2g5hb$_GjQ(Xb=VIJ~6=7RD-9JA;$(ho7Vnx z?Q|=c)XSBd!3*|UH$UIJn*p@ZX!Uwfo9yMxCGfQ=P(GAGi~v0c7muKAMWEUj*1Z7> zzGzVm@6DnQgi=g6V!8z5rP;aW&Z0prY`_jE}w1FUKWch}Lbi+;an7HCNZ$~*;h z3kWE6Lx%*2)(OeOpxPMH$A(yq%}&tKAgEI&P_>A$BhVx&r2c_=0jqjcrz5O>0$zLx z861H&pFuuF+N}xeIH8yTYN#tfoC38K5e^U|q2oR%YOJ7YL1PfGLlU5)TW}eI7f3_0 z47Bb16trU!(u#ttegRLs!q+B&#;#s0Ykan`2~q_>N^?lX3>ldRWj)aPRB&#DN<*R( zIh#Vm7kMBaq!Co0fx87D4(N=Ny$e9ogpeLM)MKFNfz)B3`sc;+#ZTKdBe5XOI>>+! z$dniBr$Q-c07A-8hNtTmzMRnt$@&b~rWYYC`4{U!6E%o2bJ*^0g=aJ7zu(gdUYB14 zzKS)gr?;LZBbjv8nI=8N@^Wv(yQw=ld|*uwxB@q{iY)6<9URls%wG^o&l zjMqZ+Fg)GY@v?FHv$lPh8%H2v3Ef%(8V!Q9X4mh2x~>PZHW{>+T=S?KCX2n89> zW`J;DMJ2d}4&rR=ecaFpNo&tKra^|`plTtaP!1#!LpktK85AX;fwXzu4A19ugHAI5 z9hw3(RY?|#}b z{rR40;70v(Fb`CrKsUC$oC4Zk$Nt;bIh{ND>Jql0TT3;+{e6fD_(ZU9$9 zNT&lm-MQ_>I?%u$s3G0D;_1#UpoQMxGb%v#Lplr)BOzr2#4C{c8f4@1z3ZSO$>4rJ zR0vd9f^K>SWm7EDkeU&y7Sc6=tUQC(9T00_OSPfupcH6~4w5#(r!K61wsr|*)QsV2 z>&7R$RzouQ`#rN@8+ak(Xz=Z|xRim$1okw%-_rpZsCc>_vj3|Sp%K&#p0|wwG#fE* z8>Be{TK^6z3Bg+k!HF7t7zSj82XyuV;(yTS$%cv0h3>D!*R?*g52HDxBlv-uOA?3(>#$D9{S_d}NGfESK6Lbrr$-TrjyGEl00 z*0u53+D_2&?zKxGsTQ&m88lzo*82=RP=u-uvfTi@fDbYV@M8T^$Sej}UEd_o=Ei9| zpYG{rcn0P`%OFrU8MN&YB+md@=LeBz0F716>3j;F?F5ZIL0I~br45kjPf$2PT8`Li z9#9wc>GJN!4PB4{J?slx_J9r(fHXXz8Xz1iC=ZgFpd4tL1ro}B_U{~)T|cle6asv`&%HZoWV;2Ks!+3t4%?p zN4u6VJndW$T86P`h7|*70Yuk)Cq`;Oc2d`?KCfpkDIYC6N3NUMaPHEyIfqi(YJ4^knY>P)-Er zFi@oI?uTp$gr8~ysZl`D^la@CNC1ISD0t!PnWEEws;bxhyazfpzU%!eZ=r|=ay%4R)bE8YS{gJ_hiuQY2R)ILn8&q_!cDZfLaOQy^tVxZ|nte=QKRo zyZPDlZO`WHf^6V{s01yj0aw5;7jAvBbJ_bn^Pf&$1seDQFR%ceskV2)ligiUcW!|U zc|M!d@NzY1o(;6m4;*;UHnu(`@Gg19rkXi+lBOuK<&~CDI zJLeNGwP=G<|QPBBk;HjtQvsyqa)4=0w@XnGbjdwj1hZP>EuR)re~ntJfPVoP{v%d5Yps<2JECB$bcCrmgekw zvS$`Z8>sO)8G0TGsAaTw&5QQUpo9#*M;6O9&5s+JKo>PboC310c{4;GXzT#8AOO6z z7ZjtAG8wc3e$I-gdv=0`(NG7fL5d)W9@47;1slXQ;A2EU$pbtL4ylVEsTZCoK#igP z^)Hq;g7P?c4(iEn&;~frI56yh)h9dFLVXE|aOm{MjP=h~?s`6}1$4d)WF!JK$qzf@ zf{Lmoz0c-@x2%GSckr<>pfU$+B*;2Y0sX= zaJTZ=qzzBoWZVRt~(mwA%>V6f3{)Ai~VyzwZilTPj~KrIws7wh)DSho;V*n#(Uf&#sD+w<9=edeIlx_|Do zp2nve`d=(>dA4F9XlM0~RZn*9de#6s)lLDCdFFIJ@7xI*P6sbxeB96o$;Oaa0QHTR zEPu9W*|X-&pu;6$!%grlb{J=B;=hm?S}cHTAJEVg=)8d)yFmMlw{HYBixzJHMHi$m z2wlGTY{q&}=N3}-J)5!nb!qK+jr)+_wZexd|)|ZkvFQcS7n6fW{+1DxiDc zLH96&FsK}V3ZBLRjY2{8jzWq%=tffL7FDPWc&#Q>2C{Mr%7KnxK$U@K;2}u|JeRzA zD#Y)g!PFJqpsj7Yz_VPCau=c(QaV7DLxi9e%(F>LK%1n&#Xh8pgjx#e@t|<94!uG; zEufjer~T7k&YS>dK?doO%RB~90RkQ#1r{mk_bGUO_i6ts zh&uR@NC;)K7l4jZgfHfOx?{)F9XmkX4RALel$QHvJe$1*rSgF22DO3OS3TXn5p;r+ zX8>sXeA5chjuLPO4zdUvR5F7bC7>hQ>@_OcF>I6^aY@j6+HG0+RHv+8TiP|4Upm4 z_j@`~)^;ucooR*$K$tZ|+`0^j8HHeDa43NfJF#K_Z4jT+tpL7x88V~=6?)pb;$`y+ zCar$vzgRSTds9^k`HL4%{~(Tc9a`^p3F(ULdPvfDDN+JlPFeocXkC)zhxopw0tm2?69VRt5<5Z0=ITay;l{ z07xOIojhj+q>_KKyWz>sj`w@!gHIKj(+R46*H3*qdmkj>fLg8K1`jxIAhxPOv(@x% zph66?S!Y8Ve03vai5RE~+}j3G`C@Y+Zpd`9$7sK=2Tb|C}^?c^O z=gTLea3D$23Up@5)5(p{9pNBN;AQEciU?G`%vk{`%#f;a%rQOCR+49H7sJoId9i=y z^Y!hJn1d`+2DK6UyFjOR@9c&z^Mo&^Emi<81_w=ILuxvZUqCe>WU3169gJBIP!a+4 zVdt!X4GX{6(EMWkRQTvFsMWQn|H+PS$OH;(>{;P)LlbB#$gU|b)-Q!=g){=;TA?lJ z=DncP(Asx_x|i$by`0$!No}A+*0=uYqGniQx@iSu+XJLO1zxodif$w=INSm{%pcks z!n~RJDcFS|7a$n~+J*z3x&s9fD2Kq7%0N1x5C?(_L-klqYr5elRt zhU5?w(?FXxVNF{laQM;X4rWl=*t-{8Q|@`%z6+9#;RUn;s29?^4&+eefQEFJL8I6W zGoS2+oU zwvb_HEJ`7DDCk&&O$$MN%>C^kGeAeR?P-DS*lz@R7t})mZ-m3P%nzgo6bAj%Azd0A zYS0FFAV;f$YkJVpe<;3%3?V~m3($r&EJ>cc8wj54U4WQ01=Vbj1;LO2N6xX(o0uU@ zJ8)(Kr3UaOVrYzjigU;TD-hj~k`$BxL6rey$`~R88CC(wfKPGT1!;I8UmgK!RBl-Y zy2=Ks18nelEy`Cp*@H+A}-1fm(3Qd!P1ChiocAjA=kD zg`@;@A0S%5lMFJ14B74npW*|JS*>dZ zRkM&vuBY``_ZrA(9H{u3Hs{&g1xOAD=NM4e0AdStDH((VNjT816DVb_--)di3yFWw zIt++5=yDOrSuCIp@!)f#AZZ#Dy5J3QpyWtm`2yRQ{Wyy zB4L29U52F&(70rA3AFJHN+h5Ish{lVgC-2n(iG4IRM>7~ezLb0vfCEAr~}%R0beo& z8jwN0fCdtXpg}^=f)dEM3}{{r&VslXId5Uyf&e-q9(*o2Mh^lsst8FyARj=FBm)&> z;B%lUFcgwrsB9=C0g-Abq*Dgg1=*4XTKNd-V()50_8>TH5RnVwf=12~?XW9{UWbg( z02P3&{sY+t3R~hVfUcv4ocIBXW>A5ISUtLZ6J)O^XzT#8coKU20wf<2X9s98*IZD4 z3RyYS&D8J&$hQ#pKvxby3Mo(t0%@W^QWdD2g78756}X!L+Cl-DaRD8Y3N8~!yH{5M z(vE^OQl7T&0*|>(*$FC1kSaFt$y7*-j3Io~=z?r;CSN~vvJBEvC&PZoX;F|f!@;o) zE)qd4$XP8APm&fg43K6oysRb549NU71Eib=H6_80BFiYy6y1bAXh{tjNrof~&=@3A zT#;XbQO{7M5)9c;>6Q! zuC#@ps0&)z^K4o>ba_5nX#uK!kP0gh7g`%ZLK{sv6$^6ES^CI{9Aq_Cmnb~zoD5o! z(a~lF(L?M-%19cKhM16-1B0sEC%dO0krfx0B$kvG z!<8eF2E^5f<{ciNf~Pk@MHOTO`f1xt+C>1UCWWMYXiduSbizbXD;vD(6%^u-Y7;U_ z4jJYEiGsVxuocO$^{TJ|Kk#Lokf~Tu_X&LVFSv#Qufu>YZG+U`$YF;wNO0<)W=e#d zDGsW=z+-6x(V_ delta 19173 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 ag4!J5b^u6;kT2sRE>N-2vHj_UUIqYNm8Q!8 diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 0c0944fd2..599292733 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-03-16 23:12+0000\n" -"PO-Revision-Date: 2022-03-16 23:34\n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-19 07:21\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -245,7 +245,7 @@ msgstr "可借阅" msgid "Approved" msgstr "已通过" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "书评" @@ -647,22 +647,22 @@ msgid "Edit Author:" msgstr "编辑作者:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "添加了:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "更新了:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "最后编辑人:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "元数据" @@ -674,8 +674,8 @@ msgid "Name:" msgstr "名称:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "请用英文逗号(,)分隔多个值。" @@ -704,7 +704,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -722,7 +722,7 @@ msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -734,7 +734,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -745,8 +745,8 @@ msgstr "保存" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -768,7 +768,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "加载数据会连接到 %(source_name)s 并检查这里还没有记录的与作者相关的元数据。现存的元数据不会被覆盖。" #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -778,7 +778,7 @@ msgstr "确认" #: bookwyrm/templates/book/book.html:19 msgid "Unable to connect to remote source." -msgstr "" +msgstr "无法联系远程资源。" #: bookwyrm/templates/book/book.html:64 bookwyrm/templates/book/book.html:65 msgid "Edit Book" @@ -807,58 +807,59 @@ msgid "Add Description" msgstr "添加描述" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: 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:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s 个版本" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "%(count)s 版次" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "此版本已在你的书架上:" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本书的 另一个版本 在你的 %(shelf_name)s 书架上。" -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "你的阅读活动" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "添加阅读日期" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "你还没有任何这本书的阅读活动。" -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "你的书评" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "你的评论" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "主题" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "地点" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -868,11 +869,11 @@ msgstr "地点" msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "添加到列表" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +887,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +901,12 @@ msgid "Add cover" msgstr "添加封面" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "上传封面:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "从网址加载封面:" @@ -924,177 +925,177 @@ msgstr "书籍封面预览" msgid "Close" msgstr "关闭" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "编辑《%(book_title)s》" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "添加书目" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "确认书目信息" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "“%(name)s” 是这些作者之一吗?" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "所著书有 " -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "在 isni.org 查找更多信息" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "这是一位新的作者" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "正在创建新的作者: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "这是已存在的作品的一个版本吗?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "这是一个新的作品。" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "标题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "副标题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "系列编号:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "语言:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" -msgstr "" +msgstr "主题:" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" -msgstr "" +msgstr "添加主题" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" -msgstr "" +msgstr "移除主题" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" -msgstr "" +msgstr "添加新用户" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "出版" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "初版时间:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "出版时间:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "移除 %(name)s" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "%(name)s 的作者页面" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "添加作者:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "添加作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "张三" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "添加另一作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "实体性质" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "装订细节:" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "页数:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "书目标识号" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1108,6 +1109,14 @@ msgstr "%(book_title)s 的各版本" msgid "Editions of \"%(work_title)s\"" msgstr "《%(work_title)s》 的各版本" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "找不到你想找的版次?" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "新增其它版次" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1151,7 +1160,7 @@ msgstr "编辑链接" #: bookwyrm/templates/book/file_links/edit_links.html:11 #, python-format msgid "Links for \"%(title)s\"" -msgstr "" +msgstr "\"%(title)s\"的链接" #: bookwyrm/templates/book/file_links/edit_links.html:32 #: bookwyrm/templates/settings/link_domains/link_table.html:6 @@ -1178,7 +1187,7 @@ msgstr "域名" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1302,7 +1311,7 @@ msgid "Confirmation code:" msgstr "确认代码:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2175,7 +2184,7 @@ msgstr "%(name)s 注册已关闭" msgid "Thank you! Your request has been received." msgstr "谢谢你!我们已经收到了你的请求。" -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "你的帐号" @@ -2240,7 +2249,7 @@ msgstr "搜索书籍、用户或列表" #: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 msgid "Scan Barcode" -msgstr "" +msgstr "扫描条形码" #: bookwyrm/templates/layout.html:72 msgid "Main navigation menu" @@ -3029,38 +3038,40 @@ msgstr "报告" msgid "\n" " Scan Barcode\n" " " -msgstr "" +msgstr "\n" +" 扫描条码\n" +" " #: bookwyrm/templates/search/barcode_modal.html:23 msgid "Requesting camera..." -msgstr "" +msgstr "正在启用摄像头..." #: bookwyrm/templates/search/barcode_modal.html:24 msgid "Grant access to the camera to scan a book's barcode." -msgstr "" +msgstr "允许访问相机以扫描书条码。" #: bookwyrm/templates/search/barcode_modal.html:29 msgid "Could not access camera" -msgstr "" +msgstr "无法使用摄像头" #: bookwyrm/templates/search/barcode_modal.html:33 msgctxt "barcode scanner" msgid "Scanning..." -msgstr "" +msgstr "正在扫描..." #: bookwyrm/templates/search/barcode_modal.html:34 msgid "Align your book's barcode with the camera." -msgstr "" +msgstr "使您的书条码与相机对齐。" #: bookwyrm/templates/search/barcode_modal.html:38 msgctxt "barcode scanner" msgid "ISBN scanned" -msgstr "" +msgstr "ISBN 扫描" #: bookwyrm/templates/search/barcode_modal.html:39 msgctxt "followed by ISBN" msgid "Searching for book:" -msgstr "" +msgstr "搜索书目:" #: bookwyrm/templates/search/book.html:44 msgid "Results from" @@ -3228,36 +3239,36 @@ msgstr "已经报告的用户或状态(无论举报是否得到解决)将不 #: bookwyrm/templates/settings/automod/rules.html:26 msgid "Schedule:" -msgstr "" +msgstr "定时计划:" #: bookwyrm/templates/settings/automod/rules.html:33 msgid "Last run:" -msgstr "" +msgstr "上次运行:" #: bookwyrm/templates/settings/automod/rules.html:40 msgid "Total run count:" -msgstr "" +msgstr "行数总计:" #: bookwyrm/templates/settings/automod/rules.html:47 msgid "Enabled:" -msgstr "" +msgstr "已启用:" #: bookwyrm/templates/settings/automod/rules.html:59 msgid "Delete schedule" -msgstr "" +msgstr "删除定时计划" #: bookwyrm/templates/settings/automod/rules.html:63 msgid "Run now" -msgstr "" +msgstr "立即运行" #: bookwyrm/templates/settings/automod/rules.html:64 msgid "Last run date will not be updated" -msgstr "" +msgstr "最后运行日期将不会被更新" #: bookwyrm/templates/settings/automod/rules.html:69 #: bookwyrm/templates/settings/automod/rules.html:92 msgid "Schedule scan" -msgstr "" +msgstr "定时扫描" #: bookwyrm/templates/settings/automod/rules.html:101 msgid "Successfully added rule" @@ -3588,50 +3599,54 @@ msgstr "接受日期" msgid "Email" msgstr "邮箱" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "答案" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "动作" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "没有请求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "已接受" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "已发送" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "已请求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "发送请求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "重新发送请求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "忽略" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "取消忽略" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "回到待处理的请求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "查看忽略的请求" @@ -3963,18 +3978,26 @@ msgid "Allow invite requests" msgstr "允许请求邀请" #: bookwyrm/templates/settings/site.html:151 +msgid "Set a question for invite requests" +msgstr "设置一个邀请请求问题" + +#: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "问题:" + +#: bookwyrm/templates/settings/site.html:163 msgid "Require users to confirm email address" msgstr "要求用户确认邮箱地址" -#: bookwyrm/templates/settings/site.html:153 +#: bookwyrm/templates/settings/site.html:165 msgid "(Recommended if registration is open)" msgstr "(当开放注册时推荐)" -#: bookwyrm/templates/settings/site.html:156 +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "注册关闭文字:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "邀请请求文本:" @@ -3996,7 +4019,7 @@ msgstr "从命令行将主题文件复制到您服务器上的 bookwym/sta #: bookwyrm/templates/settings/themes.html:32 msgid "Run ./bw-dev collectstatic." -msgstr "" +msgstr "运行 ./bw-dev collectstatic。" #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." @@ -4577,7 +4600,7 @@ msgstr "设置目标" #: bookwyrm/templates/snippets/goal_progress.html:7 msgctxt "Goal successfully completed" msgid "Success!" -msgstr "" +msgstr "成功!" #: bookwyrm/templates/snippets/goal_progress.html:9 #, python-format diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index f9ca27be9b891b3b13c30e68d084e0cd54184a43..ea069d65a74002a78a9076d3590178e13ab5e6be 100644 GIT binary patch delta 13136 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 XpO}_5*=~BJ)bkAs;fWU|B{Kj3h6@NG delta 15265 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 diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index c2c54ebef..6c6745da1 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-03-16 23:12+0000\n" -"PO-Revision-Date: 2022-03-16 23:34\n" +"POT-Creation-Date: 2022-03-17 16:15+0000\n" +"PO-Revision-Date: 2022-03-17 17:06\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -245,7 +245,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:281 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 msgid "Reviews" msgstr "書評" @@ -647,22 +647,22 @@ msgid "Edit Author:" msgstr "編輯作者:" #: bookwyrm/templates/author/edit_author.html:13 -#: bookwyrm/templates/book/edit/edit_book.html:19 +#: bookwyrm/templates/book/edit/edit_book.html:25 msgid "Added:" msgstr "新增了:" #: bookwyrm/templates/author/edit_author.html:14 -#: bookwyrm/templates/book/edit/edit_book.html:22 +#: bookwyrm/templates/book/edit/edit_book.html:28 msgid "Updated:" msgstr "更新了:" #: bookwyrm/templates/author/edit_author.html:16 -#: bookwyrm/templates/book/edit/edit_book.html:26 +#: bookwyrm/templates/book/edit/edit_book.html:32 msgid "Last edited by:" msgstr "最後編輯者:" #: bookwyrm/templates/author/edit_author.html:33 -#: bookwyrm/templates/book/edit/edit_book_form.html:17 +#: bookwyrm/templates/book/edit/edit_book_form.html:19 msgid "Metadata" msgstr "元資料" @@ -674,8 +674,8 @@ msgid "Name:" msgstr "名稱:" #: bookwyrm/templates/author/edit_author.html:44 -#: bookwyrm/templates/book/edit/edit_book_form.html:76 -#: bookwyrm/templates/book/edit/edit_book_form.html:146 +#: bookwyrm/templates/book/edit/edit_book_form.html:78 +#: bookwyrm/templates/book/edit/edit_book_form.html:148 msgid "Separate multiple values with commas." msgstr "請用逗號(,)分隔多個值。" @@ -704,7 +704,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:84 -#: bookwyrm/templates/book/edit/edit_book_form.html:322 +#: bookwyrm/templates/book/edit/edit_book_form.html:326 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -722,7 +722,7 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/edit/edit_book.html:127 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:82 #: bookwyrm/templates/groups/form.html:32 @@ -734,7 +734,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:169 +#: bookwyrm/templates/settings/site.html:181 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -745,8 +745,8 @@ msgstr "儲存" #: bookwyrm/templates/author/sync_modal.html:23 #: bookwyrm/templates/book/book.html:203 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:123 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 +#: bookwyrm/templates/book/edit/edit_book.html:132 #: 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 @@ -768,7 +768,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:108 +#: bookwyrm/templates/book/edit/edit_book.html:114 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:42 @@ -807,58 +807,59 @@ msgid "Add Description" msgstr "新增描述" #: bookwyrm/templates/book/book.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:40 +#: 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:212 +#: bookwyrm/templates/book/book.html:214 #, python-format -msgid "%(count)s editions" -msgstr "%(count)s 個版本" +msgid "%(count)s edition" +msgid_plural "%(count)s editions" +msgstr[0] "" -#: bookwyrm/templates/book/book.html:220 +#: bookwyrm/templates/book/book.html:228 msgid "You have shelved this edition in:" msgstr "" -#: bookwyrm/templates/book/book.html:235 +#: bookwyrm/templates/book/book.html:243 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本書的 另一個版本 在你的 %(shelf_name)s 書架上。" -#: bookwyrm/templates/book/book.html:246 +#: bookwyrm/templates/book/book.html:254 msgid "Your reading activity" msgstr "你的閱讀活動" -#: bookwyrm/templates/book/book.html:252 +#: bookwyrm/templates/book/book.html:260 msgid "Add read dates" msgstr "新增閱讀日期" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:268 msgid "You don't have any reading activity for this book." msgstr "你還未閱讀這本書。" -#: bookwyrm/templates/book/book.html:286 +#: bookwyrm/templates/book/book.html:294 msgid "Your reviews" msgstr "你的書評" -#: bookwyrm/templates/book/book.html:292 +#: bookwyrm/templates/book/book.html:300 msgid "Your comments" msgstr "你的評論" -#: bookwyrm/templates/book/book.html:298 +#: bookwyrm/templates/book/book.html:306 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:334 +#: bookwyrm/templates/book/book.html:342 msgid "Subjects" msgstr "主題" -#: bookwyrm/templates/book/book.html:346 +#: bookwyrm/templates/book/book.html:354 msgid "Places" msgstr "地點" -#: bookwyrm/templates/book/book.html:357 +#: bookwyrm/templates/book/book.html:365 #: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:83 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 @@ -868,11 +869,11 @@ msgstr "地點" msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:369 +#: bookwyrm/templates/book/book.html:377 msgid "Add to list" msgstr "新增到列表" -#: bookwyrm/templates/book/book.html:379 +#: bookwyrm/templates/book/book.html:387 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -886,12 +887,12 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:331 +#: bookwyrm/templates/book/edit/edit_book_form.html:335 msgid "OCLC Number:" msgstr "OCLC 號:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:340 +#: bookwyrm/templates/book/edit/edit_book_form.html:344 msgid "ASIN:" msgstr "ASIN:" @@ -900,12 +901,12 @@ msgid "Add cover" msgstr "新增封面" #: bookwyrm/templates/book/cover_add_modal.html:17 -#: bookwyrm/templates/book/edit/edit_book_form.html:230 +#: bookwyrm/templates/book/edit/edit_book_form.html:234 msgid "Upload cover:" msgstr "上載封面:" #: bookwyrm/templates/book/cover_add_modal.html:23 -#: bookwyrm/templates/book/edit/edit_book_form.html:236 +#: bookwyrm/templates/book/edit/edit_book_form.html:240 msgid "Load cover from url:" msgstr "從網址載入封面:" @@ -924,177 +925,177 @@ msgstr "" msgid "Close" msgstr "關閉" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:12 +#: bookwyrm/templates/book/edit/edit_book.html:8 +#: bookwyrm/templates/book/edit/edit_book.html:18 #, python-format msgid "Edit \"%(book_title)s\"" msgstr "編輯 \"%(book_title)s\"" -#: bookwyrm/templates/book/edit/edit_book.html:6 -#: bookwyrm/templates/book/edit/edit_book.html:14 +#: bookwyrm/templates/book/edit/edit_book.html:10 +#: bookwyrm/templates/book/edit/edit_book.html:20 msgid "Add Book" msgstr "新增書目" -#: bookwyrm/templates/book/edit/edit_book.html:48 +#: bookwyrm/templates/book/edit/edit_book.html:54 msgid "Confirm Book Info" msgstr "確認書目資料" -#: bookwyrm/templates/book/edit/edit_book.html:56 +#: bookwyrm/templates/book/edit/edit_book.html:62 #, python-format msgid "Is \"%(name)s\" one of these authors?" msgstr "" -#: bookwyrm/templates/book/edit/edit_book.html:67 -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:73 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Author of " msgstr "" -#: bookwyrm/templates/book/edit/edit_book.html:69 +#: bookwyrm/templates/book/edit/edit_book.html:75 msgid "Find more information at isni.org" msgstr "" -#: bookwyrm/templates/book/edit/edit_book.html:79 +#: bookwyrm/templates/book/edit/edit_book.html:85 msgid "This is a new author" msgstr "這是一位新的作者" -#: bookwyrm/templates/book/edit/edit_book.html:86 +#: bookwyrm/templates/book/edit/edit_book.html:92 #, python-format msgid "Creating a new author: %(name)s" msgstr "正在建立新的作者: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:93 +#: bookwyrm/templates/book/edit/edit_book.html:99 msgid "Is this an edition of an existing work?" msgstr "這是已存在的作品的另一個版本嗎?" -#: bookwyrm/templates/book/edit/edit_book.html:101 +#: bookwyrm/templates/book/edit/edit_book.html:107 msgid "This is a new work" msgstr "這是一個新的作品。" -#: bookwyrm/templates/book/edit/edit_book.html:110 +#: bookwyrm/templates/book/edit/edit_book.html:116 #: bookwyrm/templates/feed/status.html:21 msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit/edit_book_form.html:22 +#: bookwyrm/templates/book/edit/edit_book_form.html:24 #: bookwyrm/templates/snippets/create_status/review.html:15 msgid "Title:" msgstr "標題:" -#: bookwyrm/templates/book/edit/edit_book_form.html:31 +#: bookwyrm/templates/book/edit/edit_book_form.html:33 msgid "Subtitle:" msgstr "副標題:" -#: bookwyrm/templates/book/edit/edit_book_form.html:51 +#: bookwyrm/templates/book/edit/edit_book_form.html:53 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit/edit_book_form.html:61 +#: bookwyrm/templates/book/edit/edit_book_form.html:63 msgid "Series number:" msgstr "系列編號:" -#: bookwyrm/templates/book/edit/edit_book_form.html:72 +#: bookwyrm/templates/book/edit/edit_book_form.html:74 msgid "Languages:" msgstr "語言:" -#: bookwyrm/templates/book/edit/edit_book_form.html:84 +#: bookwyrm/templates/book/edit/edit_book_form.html:86 msgid "Subjects:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:88 +#: bookwyrm/templates/book/edit/edit_book_form.html:90 msgid "Add subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:106 +#: bookwyrm/templates/book/edit/edit_book_form.html:108 msgid "Remove subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:129 +#: bookwyrm/templates/book/edit/edit_book_form.html:131 msgid "Add Another Subject" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:137 +#: bookwyrm/templates/book/edit/edit_book_form.html:139 msgid "Publication" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:142 +#: bookwyrm/templates/book/edit/edit_book_form.html:144 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit/edit_book_form.html:154 +#: bookwyrm/templates/book/edit/edit_book_form.html:156 msgid "First published date:" msgstr "初版時間:" -#: bookwyrm/templates/book/edit/edit_book_form.html:163 +#: bookwyrm/templates/book/edit/edit_book_form.html:165 msgid "Published date:" msgstr "出版時間:" -#: bookwyrm/templates/book/edit/edit_book_form.html:174 +#: bookwyrm/templates/book/edit/edit_book_form.html:176 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit/edit_book_form.html:183 +#: bookwyrm/templates/book/edit/edit_book_form.html:187 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:186 +#: bookwyrm/templates/book/edit/edit_book_form.html:190 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:194 +#: bookwyrm/templates/book/edit/edit_book_form.html:198 msgid "Add Authors:" msgstr "新增作者:" -#: bookwyrm/templates/book/edit/edit_book_form.html:197 -#: bookwyrm/templates/book/edit/edit_book_form.html:200 +#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:204 msgid "Add Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:198 -#: bookwyrm/templates/book/edit/edit_book_form.html:201 +#: bookwyrm/templates/book/edit/edit_book_form.html:202 +#: bookwyrm/templates/book/edit/edit_book_form.html:205 msgid "Jane Doe" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:207 +#: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Add Another Author" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:217 +#: bookwyrm/templates/book/edit/edit_book_form.html:221 #: bookwyrm/templates/shelf/shelf.html:146 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit/edit_book_form.html:249 +#: bookwyrm/templates/book/edit/edit_book_form.html:253 msgid "Physical Properties" msgstr "實體性質" -#: bookwyrm/templates/book/edit/edit_book_form.html:256 +#: bookwyrm/templates/book/edit/edit_book_form.html:260 #: bookwyrm/templates/book/editions/format_filter.html:6 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit/edit_book_form.html:268 +#: bookwyrm/templates/book/edit/edit_book_form.html:272 msgid "Format details:" msgstr "" -#: bookwyrm/templates/book/edit/edit_book_form.html:279 +#: bookwyrm/templates/book/edit/edit_book_form.html:283 msgid "Pages:" msgstr "頁數:" -#: bookwyrm/templates/book/edit/edit_book_form.html:290 +#: bookwyrm/templates/book/edit/edit_book_form.html:294 msgid "Book Identifiers" msgstr "書目標識號" -#: bookwyrm/templates/book/edit/edit_book_form.html:295 +#: bookwyrm/templates/book/edit/edit_book_form.html:299 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit/edit_book_form.html:304 +#: bookwyrm/templates/book/edit/edit_book_form.html:308 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit/edit_book_form.html:313 +#: bookwyrm/templates/book/edit/edit_book_form.html:317 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -1108,6 +1109,14 @@ msgstr "%(book_title)s 的各版本" msgid "Editions of \"%(work_title)s\"" msgstr "\"%(work_title)s\" 的各版本" +#: bookwyrm/templates/book/editions/editions.html:55 +msgid "Can't find the edition you're looking for?" +msgstr "" + +#: bookwyrm/templates/book/editions/editions.html:75 +msgid "Add another edition" +msgstr "" + #: bookwyrm/templates/book/editions/format_filter.html:9 #: bookwyrm/templates/book/editions/language_filter.html:9 msgid "Any" @@ -1178,7 +1187,7 @@ msgstr "" #: bookwyrm/templates/import/import_status.html:127 #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/federation/instance_list.html:46 -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 #: bookwyrm/templates/settings/users/user_admin.html:52 #: bookwyrm/templates/settings/users/user_info.html:20 @@ -1302,7 +1311,7 @@ msgid "Confirmation code:" msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 -#: bookwyrm/templates/landing/layout.html:73 +#: bookwyrm/templates/landing/layout.html:81 #: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" @@ -2175,7 +2184,7 @@ msgstr "" msgid "Thank you! Your request has been received." msgstr "謝謝你!我們已經受到了你的請求。" -#: bookwyrm/templates/landing/layout.html:82 +#: bookwyrm/templates/landing/layout.html:90 msgid "Your Account" msgstr "你的帳號" @@ -3588,50 +3597,54 @@ msgstr "接受日期" msgid "Email" msgstr "郵箱" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:44 +msgid "Answer" +msgstr "" + +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 msgid "Action" msgstr "動作" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:50 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:53 msgid "No requests" msgstr "沒有請求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:59 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:65 #: bookwyrm/templates/settings/invites/status_filter.html:16 msgid "Accepted" msgstr "已接受" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:61 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:67 #: bookwyrm/templates/settings/invites/status_filter.html:12 msgid "Sent" msgstr "已傳送" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:63 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:69 #: bookwyrm/templates/settings/invites/status_filter.html:8 msgid "Requested" msgstr "已請求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:73 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:79 msgid "Send invite" msgstr "傳送請求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:75 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:81 msgid "Re-send invite" msgstr "重新發送請求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:95 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:101 msgid "Ignore" msgstr "忽略" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:97 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:103 msgid "Un-ignore" msgstr "取消忽略" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:108 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:114 msgid "Back to pending requests" msgstr "回到待處理的請求" -#: bookwyrm/templates/settings/invites/manage_invite_requests.html:110 +#: bookwyrm/templates/settings/invites/manage_invite_requests.html:116 msgid "View ignored requests" msgstr "檢視忽略的請求" @@ -3963,18 +3976,26 @@ msgid "Allow invite requests" msgstr "" #: bookwyrm/templates/settings/site.html:151 -msgid "Require users to confirm email address" -msgstr "" - -#: bookwyrm/templates/settings/site.html:153 -msgid "(Recommended if registration is open)" +msgid "Set a question for invite requests" msgstr "" #: bookwyrm/templates/settings/site.html:156 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:163 +msgid "Require users to confirm email address" +msgstr "" + +#: bookwyrm/templates/settings/site.html:165 +msgid "(Recommended if registration is open)" +msgstr "" + +#: bookwyrm/templates/settings/site.html:168 msgid "Registration closed text:" msgstr "註冊關閉文字:" -#: bookwyrm/templates/settings/site.html:160 +#: bookwyrm/templates/settings/site.html:172 msgid "Invite request text:" msgstr "" From 90277a1697a790365f45998d7c88ca7d9589393a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 10:07:06 -0700 Subject: [PATCH 210/458] Avoid new pylint complaint --- bookwyrm/models/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index b506c11ca..5a03df015 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -389,7 +389,7 @@ class ImageField(ActivitypubFieldMixin, models.ImageField): self.alt_field = alt_field super().__init__(*args, **kwargs) - # pylint: disable=arguments-differ + # pylint: disable=arguments-differ,arguments-renamed def set_field_from_activity(self, instance, data, save=True, overwrite=True): """helper function for assinging a value to the field""" value = getattr(data, self.get_activitypub_field()) From 2d7902ff89181b08107b16e29825474dc450c3fd Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 10:27:49 -0700 Subject: [PATCH 211/458] Resolve second integrity error --- bookwyrm/models/relationship.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index a0939b4b1..ff1e13b53 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -39,12 +39,12 @@ class UserRelationship(BookWyrmModel): def save(self, *args, **kwargs): """clear the template cache""" - clear_cache(self.user_subject, self.user_subject) + clear_cache(self.user_subject, self.user_object) super().save(*args, **kwargs) def delete(self, *args, **kwargs): """clear the template cache""" - clear_cache(self.user_subject, self.user_subject) + clear_cache(self.user_subject, self.user_object) super().delete(*args, **kwargs) class Meta: @@ -89,7 +89,9 @@ class UserFollows(ActivityMixin, UserRelationship): user_object=self.user_subject, ) ).exists(): - raise IntegrityError() + raise IntegrityError( + "Attempting to follow blocked user", self.user_subject, self.user_object + ) # don't broadcast this type of relationship -- accepts and requests # are handled by the UserFollowRequest model super().save(*args, broadcast=False, **kwargs) @@ -97,12 +99,12 @@ class UserFollows(ActivityMixin, UserRelationship): @classmethod def from_request(cls, follow_request): """converts a follow request into a follow relationship""" - print("from!!", cls) - return cls.objects.create( + obj, _ = cls.objects.get_or_create( user_subject=follow_request.user_subject, user_object=follow_request.user_object, remote_id=follow_request.remote_id, ) + return obj class UserFollowRequest(ActivitypubMixin, UserRelationship): @@ -115,7 +117,6 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): """make sure the follow or block relationship doesn't already exist""" # if there's a request for a follow that already exists, accept it # without changing the local database state - print("UHHH????") if UserFollows.objects.filter( user_subject=self.user_subject, user_object=self.user_object, @@ -137,7 +138,6 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): raise IntegrityError( "Attempting to follow blocked user", self.user_subject, self.user_object ) - print("super save!") super().save(*args, **kwargs) if broadcast and self.user_subject.local and not self.user_object.local: @@ -146,12 +146,10 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): if self.user_object.local: manually_approves = self.user_object.manually_approves_followers if not manually_approves: - print("accept") self.accept() model = apps.get_model("bookwyrm.Notification", require_ready=True) notification_type = "FOLLOW_REQUEST" if manually_approves else "FOLLOW" - print("notification") model.objects.create( user=self.user_object, related_user=self.user_subject, @@ -179,9 +177,9 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): return with transaction.atomic(): - print("from request") UserFollows.from_request(self) - self.delete() + if self.id: + self.delete() def reject(self): """generate a Reject for this follow request""" From 5cf52cff5427cf86fcd0489800ef26f599002fd3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 10:30:37 -0700 Subject: [PATCH 212/458] Formats migration --- .../0147_alter_user_preferred_language.py | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/bookwyrm/migrations/0147_alter_user_preferred_language.py b/bookwyrm/migrations/0147_alter_user_preferred_language.py index 2d1b94b6f..0c9609b0b 100644 --- a/bookwyrm/migrations/0147_alter_user_preferred_language.py +++ b/bookwyrm/migrations/0147_alter_user_preferred_language.py @@ -6,13 +6,33 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0146_auto_20220316_2352'), + ("bookwyrm", "0146_auto_20220316_2352"), ] operations = [ migrations.AlterField( - model_name='user', - name='preferred_language', - field=models.CharField(blank=True, choices=[('en-us', 'English'), ('de-de', 'Deutsch (German)'), ('es-es', 'Español (Spanish)'), ('gl-es', 'Galego (Galician)'), ('it-it', 'Italiano (Italian)'), ('fr-fr', 'Français (French)'), ('lt-lt', 'Lietuvių (Lithuanian)'), ('no-no', 'Norsk (Norwegian)'), ('pt-br', 'Português do Brasil (Brazilian Portuguese)'), ('pt-pt', 'Português Europeu (European Portuguese)'), ('ro-ro', 'Română (Romanian)'), ('sv-se', 'Svenska (Swedish)'), ('zh-hans', '简体中文 (Simplified Chinese)'), ('zh-hant', '繁體中文 (Traditional Chinese)')], max_length=255, null=True), + model_name="user", + name="preferred_language", + field=models.CharField( + blank=True, + choices=[ + ("en-us", "English"), + ("de-de", "Deutsch (German)"), + ("es-es", "Español (Spanish)"), + ("gl-es", "Galego (Galician)"), + ("it-it", "Italiano (Italian)"), + ("fr-fr", "Français (French)"), + ("lt-lt", "Lietuvių (Lithuanian)"), + ("no-no", "Norsk (Norwegian)"), + ("pt-br", "Português do Brasil (Brazilian Portuguese)"), + ("pt-pt", "Português Europeu (European Portuguese)"), + ("ro-ro", "Română (Romanian)"), + ("sv-se", "Svenska (Swedish)"), + ("zh-hans", "简体中文 (Simplified Chinese)"), + ("zh-hant", "繁體中文 (Traditional Chinese)"), + ], + max_length=255, + null=True, + ), ), ] From 85f507d6b91b417e76b6317bae49ebaa34d73ec6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 10:34:02 -0700 Subject: [PATCH 213/458] Python formatting --- bookwyrm/models/relationship.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index ff1e13b53..171f45840 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -213,6 +213,7 @@ class UserBlocks(ActivityMixin, UserRelationship): | Q(user_subject=self.user_object, user_object=self.user_subject) ).delete() + def clear_cache(user_subject, user_object): """clear relationship cache""" cache.delete_many( From b23f4a7e18c3eb7ec59dc967e5b295a333f45385 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 11:00:53 -0700 Subject: [PATCH 214/458] Clip statuses --- bookwyrm/templates/snippets/status/content_status.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/snippets/status/content_status.html b/bookwyrm/templates/snippets/status/content_status.html index fed325841..bee4af1dc 100644 --- a/bookwyrm/templates/snippets/status/content_status.html +++ b/bookwyrm/templates/snippets/status/content_status.html @@ -37,7 +37,7 @@ {% endwith %} {% endif %} -

+
{% if status_type == 'Review' %}

Date: Sat, 26 Mar 2022 11:07:58 -0700 Subject: [PATCH 215/458] Remove transparent class on interaction buttons --- bookwyrm/templates/snippets/status/layout.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/snippets/status/layout.html b/bookwyrm/templates/snippets/status/layout.html index 4e5b75cc0..3dd576fee 100644 --- a/bookwyrm/templates/snippets/status/layout.html +++ b/bookwyrm/templates/snippets/status/layout.html @@ -32,7 +32,7 @@ {% if not moderation_mode %} {% endif %} From 23ff58a62b364cf71df669737144fc686ada6220 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 11:35:24 -0700 Subject: [PATCH 216/458] Fixes scrollbar colors in dark mode --- bookwyrm/static/css/bookwyrm/_all.scss | 12 ++++++++++++ bookwyrm/static/css/themes/bookwyrm-dark.scss | 2 ++ bookwyrm/static/css/themes/bookwyrm-light.scss | 2 ++ 3 files changed, 16 insertions(+) diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 79e5cf52c..31e732ebe 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -36,6 +36,18 @@ body { flex-direction: column; } +::-webkit-scrollbar { + width: 12px; + height: 12px; +} +::-webkit-scrollbar-thumb { + background: $scrollbar-thumb; + border-radius: 0.5em; +} +::-webkit-scrollbar-track { + background: $scrollbar-track; +} + button { border: none; margin: 0; diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 0a4f6f23e..96997c4a4 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -28,6 +28,8 @@ $background-body: rgb(24, 27, 28); $background-secondary: rgb(28, 30, 32); $background-tertiary: rgb(32, 34, 36); $modal-background-background-color: rgba($black, 0.8); +$scrollbar-track: $background-secondary; +$scrollbar-thumb: $light; /* highlight colors */ $primary-highlight: $primary; diff --git a/bookwyrm/static/css/themes/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss index c74d2ee20..69c1a8063 100644 --- a/bookwyrm/static/css/themes/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -19,6 +19,8 @@ $scheme-main: $white-bis; $background-body: $white; $background-secondary: $white-ter; $background-tertiary: $white-bis; +$scrollbar-track: $background-secondary; +$scrollbar-thumb: $grey-lighter; /* highlight colors */ $primary-highlight: $primary-light; From 3ebc800a9b03815d8abb496d77354dd7a6dbb620 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 11:38:00 -0700 Subject: [PATCH 217/458] Fixes progress bar color in dark mode --- bookwyrm/templates/snippets/goal_progress.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/snippets/goal_progress.html b/bookwyrm/templates/snippets/goal_progress.html index bc8fd53b7..ae14bb915 100644 --- a/bookwyrm/templates/snippets/goal_progress.html +++ b/bookwyrm/templates/snippets/goal_progress.html @@ -14,6 +14,11 @@ {% blocktrans with username=goal.user.display_name read_count=progress.count|intcomma goal_count=goal.goal|intcomma path=goal.local_path %}{{ username }} has read {{ read_count }} of {{ goal_count}} books.{% endblocktrans %} {% endif %}

- + {% endwith %} From 701a644c31a5fb9ccf4c49393effdacf38867c55 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Mar 2022 13:04:59 -0700 Subject: [PATCH 218/458] Export user book data as csv (#1556) Simple book data export --- bookwyrm/templates/preferences/export.html | 22 +++++ bookwyrm/templates/preferences/layout.html | 11 +++ bookwyrm/tests/views/test_export.py | 69 +++++++++++++++ bookwyrm/urls.py | 6 ++ bookwyrm/views/__init__.py | 1 + bookwyrm/views/preferences/export.py | 97 ++++++++++++++++++++++ 6 files changed, 206 insertions(+) create mode 100644 bookwyrm/templates/preferences/export.html create mode 100644 bookwyrm/tests/views/test_export.py create mode 100644 bookwyrm/views/preferences/export.py diff --git a/bookwyrm/templates/preferences/export.html b/bookwyrm/templates/preferences/export.html new file mode 100644 index 000000000..865051442 --- /dev/null +++ b/bookwyrm/templates/preferences/export.html @@ -0,0 +1,22 @@ +{% extends 'preferences/layout.html' %} +{% load i18n %} + +{% block title %}{% trans "CSV Export" %}{% endblock %} + +{% block header %} +{% trans "CSV Export" %} +{% endblock %} + +{% block panel %} +
+

+ {% trans "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." %} +

+

+ + + Download file + +

+
+{% endblock %} diff --git a/bookwyrm/templates/preferences/layout.html b/bookwyrm/templates/preferences/layout.html index bf4fed7d5..27d91c480 100644 --- a/bookwyrm/templates/preferences/layout.html +++ b/bookwyrm/templates/preferences/layout.html @@ -24,6 +24,17 @@ {% trans "Delete Account" %} + +

+ {% trans "Last updated" as text %} + {% include 'snippets/table-sort-header.html' with field="updated_date" sort=sort text=text %} + {% trans "Software" as text %} {% include 'snippets/table-sort-header.html' with field="application_type" sort=sort text=text %} @@ -43,12 +50,12 @@ {% trans "Users" %} {% trans "Status" %}
{{ server.server_name }}{{ server.created_date }}{{ server.created_date|date:'Y-m-d' }}{{ server.updated_date|date:'Y-m-d' }} {% if server.application_type %} {{ server.application_type }} @@ -56,7 +63,6 @@ {% endif %} {{ server.user_set.count }}{{ server.get_status_display }}
+ {% if link.added_by %} {{ link.added_by.display_name }} + {% else %} + {% trans "Unknown user" %} + {% endif %} {{ link.filelink.filetype }} @@ -50,7 +54,7 @@ {{ link.domain.name }}

- {% trans "Report spam" %} + {% trans "Report spam" %}

diff --git a/bookwyrm/templates/settings/link_domains/link_table.html b/bookwyrm/templates/settings/link_domains/link_table.html index 5518477c8..a8ec18d22 100644 --- a/bookwyrm/templates/settings/link_domains/link_table.html +++ b/bookwyrm/templates/settings/link_domains/link_table.html @@ -15,7 +15,11 @@ {{ link.url }} + {% if link.added_by %} @{{ link.added_by|username }} + {% else %} + {% trans "Unknown user" %} + {% endif %} {% if link.filelink.filetype %} From 4f386e8c4ed82ff3da0555e515808862af93dbab Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 5 Jul 2022 17:19:03 -0700 Subject: [PATCH 366/458] Allow reports with no associated user --- bookwyrm/emailing.py | 3 ++- bookwyrm/models/report.py | 2 +- .../email/moderation_report/html_content.html | 14 +++++++++++++- .../email/moderation_report/text_content.html | 10 +++++++++- bookwyrm/templates/settings/reports/report.html | 2 ++ .../templates/settings/reports/report_header.html | 12 +++++++++--- bookwyrm/urls.py | 2 +- bookwyrm/views/report.py | 8 ++++++-- 8 files changed, 43 insertions(+), 10 deletions(-) diff --git a/bookwyrm/emailing.py b/bookwyrm/emailing.py index 80aca071b..9349b8ae2 100644 --- a/bookwyrm/emailing.py +++ b/bookwyrm/emailing.py @@ -45,7 +45,8 @@ def moderation_report_email(report): """a report was created""" data = email_data() data["reporter"] = report.reporter.localname or report.reporter.username - data["reportee"] = report.user.localname or report.user.username + if report.user: + data["reportee"] = report.user.localname or report.user.username data["report_link"] = report.remote_id for admin in models.User.objects.filter( diff --git a/bookwyrm/models/report.py b/bookwyrm/models/report.py index bf3184f52..d161c0349 100644 --- a/bookwyrm/models/report.py +++ b/bookwyrm/models/report.py @@ -11,7 +11,7 @@ class Report(BookWyrmModel): "User", related_name="reporter", on_delete=models.PROTECT ) note = models.TextField(null=True, blank=True) - user = models.ForeignKey("User", on_delete=models.PROTECT) + user = models.ForeignKey("User", on_delete=models.PROTECT, null=True, blank=True) status = models.ForeignKey( "Status", null=True, diff --git a/bookwyrm/templates/email/moderation_report/html_content.html b/bookwyrm/templates/email/moderation_report/html_content.html index 10df380f2..3828ff70c 100644 --- a/bookwyrm/templates/email/moderation_report/html_content.html +++ b/bookwyrm/templates/email/moderation_report/html_content.html @@ -3,7 +3,19 @@ {% block content %}

-{% blocktrans %}@{{ reporter }} has flagged behavior by @{{ reportee }} for moderation. {% endblocktrans %} +{% if report_link %} + + {% blocktrans trimmed %} + @{{ reporter }} has flagged a link domain for moderation. + {% endblocktrans %} + +{% else %} + + {% blocktrans trimmed %} + @{{ reporter }} has flagged behavior by @{{ reportee }} for moderation. + {% endblocktrans %} + +{% endif %}

{% trans "View report" as text %} diff --git a/bookwyrm/templates/email/moderation_report/text_content.html b/bookwyrm/templates/email/moderation_report/text_content.html index 57d37d446..764a3c72a 100644 --- a/bookwyrm/templates/email/moderation_report/text_content.html +++ b/bookwyrm/templates/email/moderation_report/text_content.html @@ -2,7 +2,15 @@ {% load i18n %} {% block content %} -{% blocktrans %}@{{ reporter}} has flagged behavior by @{{ reportee }} for moderation. {% endblocktrans %} +{% if report_link %} +{% blocktrans trimmed %} +@{{ reporter }} has flagged a link domain for moderation. +{% endblocktrans %} +{% else %} +{% blocktrans trimmed %} +@{{ reporter }} has flagged behavior by @{{ reportee }} for moderation. +{% endblocktrans %} +{% endif %} {% trans "View report" %} {{ report_link }} diff --git a/bookwyrm/templates/settings/reports/report.html b/bookwyrm/templates/settings/reports/report.html index 20fdeca36..ca105701f 100644 --- a/bookwyrm/templates/settings/reports/report.html +++ b/bookwyrm/templates/settings/reports/report.html @@ -55,9 +55,11 @@ {% endif %} +{% if report.user %} {% include 'settings/users/user_info.html' with user=report.user %} {% include 'settings/users/user_moderation_actions.html' with user=report.user %} +{% endif %}

{% trans "Moderator Comments" %}

diff --git a/bookwyrm/templates/settings/reports/report_header.html b/bookwyrm/templates/settings/reports/report_header.html index 878a825da..b77c6c6ae 100644 --- a/bookwyrm/templates/settings/reports/report_header.html +++ b/bookwyrm/templates/settings/reports/report_header.html @@ -9,9 +9,15 @@ Report #{{ report_id }}: Status posted by @{{ username }} {% elif report.links.exists %} -{% blocktrans trimmed with report_id=report.id username=report.user|username %} -Report #{{ report_id }}: Link added by @{{ username }} -{% endblocktrans %} + {% if report.user %} + {% blocktrans trimmed with report_id=report.id username=report.user|username %} + Report #{{ report_id }}: Link added by @{{ username }} + {% endblocktrans %} + {% else %} + {% blocktrans trimmed with report_id=report.id %} + Report #{{ report_id }}: Link domain + {% endblocktrans %} + {% endif %} {% else %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 5abacae14..248bb6db8 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -287,7 +287,7 @@ urlpatterns = [ name="report-status", ), re_path( - r"^report/(?P\d+)/link/(?P\d+)?$", + r"^report/link/(?P\d+)?$", views.Report.as_view(), name="report-link", ), diff --git a/bookwyrm/views/report.py b/bookwyrm/views/report.py index 6469f3cb0..118f67988 100644 --- a/bookwyrm/views/report.py +++ b/bookwyrm/views/report.py @@ -13,9 +13,13 @@ from bookwyrm import emailing, forms, models class Report(View): """Make reports""" - def get(self, request, user_id, status_id=None, link_id=None): + def get(self, request, user_id=None, status_id=None, link_id=None): """static view of report modal""" - data = {"user": get_object_or_404(models.User, id=user_id)} + data = {"user": None} + if user_id: + # but normally we should have an error if the user is not found + data["user"] = get_object_or_404(models.User, id=user_id) + if status_id: data["status"] = status_id if link_id: From d4f8a5f4480e37746102fdbd683c4292e4cb6ace Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 5 Jul 2022 17:43:03 -0700 Subject: [PATCH 367/458] Fixes links to report modals --- bookwyrm/templates/book/file_links/edit_links.html | 2 +- bookwyrm/templates/book/file_links/verification_modal.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/file_links/edit_links.html b/bookwyrm/templates/book/file_links/edit_links.html index 77a6ff9ff..fb722753f 100644 --- a/bookwyrm/templates/book/file_links/edit_links.html +++ b/bookwyrm/templates/book/file_links/edit_links.html @@ -54,7 +54,7 @@
{{ link.domain.name }}

- {% trans "Report spam" %} + {% trans "Report spam" %}

diff --git a/bookwyrm/templates/book/file_links/verification_modal.html b/bookwyrm/templates/book/file_links/verification_modal.html index 01f17f965..75678763f 100644 --- a/bookwyrm/templates/book/file_links/verification_modal.html +++ b/bookwyrm/templates/book/file_links/verification_modal.html @@ -19,7 +19,7 @@ Is that where you'd like to go? {% block modal-footer %} {% if request.user.is_authenticated %} From 003ef65db56ab09bf25d917073a77f402fe907f2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 5 Jul 2022 18:01:10 -0700 Subject: [PATCH 368/458] Adds missing migration --- bookwyrm/migrations/0151_alter_report_user.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 bookwyrm/migrations/0151_alter_report_user.py diff --git a/bookwyrm/migrations/0151_alter_report_user.py b/bookwyrm/migrations/0151_alter_report_user.py new file mode 100644 index 000000000..4c3f9dbda --- /dev/null +++ b/bookwyrm/migrations/0151_alter_report_user.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.13 on 2022-07-05 23:54 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0150_readthrough_stopped_date"), + ] + + operations = [ + migrations.AlterField( + model_name="report", + name="user", + field=models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.PROTECT, + to=settings.AUTH_USER_MODEL, + ), + ), + ] From b61a4ab99492dc2cfe111111897b12cefa5a9284 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 08:51:35 -0700 Subject: [PATCH 369/458] Adds tests for unnotify --- bookwyrm/tests/models/test_notification.py | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/bookwyrm/tests/models/test_notification.py b/bookwyrm/tests/models/test_notification.py index 0c16741e1..3d6025a5f 100644 --- a/bookwyrm/tests/models/test_notification.py +++ b/bookwyrm/tests/models/test_notification.py @@ -137,3 +137,47 @@ class Notification(TestCase): self.assertEqual(notification.related_users.count(), 1) self.assertEqual(notification.related_users.first(), self.remote_user) self.assertEqual(notification.related_list_items.count(), 2) + + def test_unnotify(self): + """Remove a notification""" + models.Notification.notify( + self.local_user, + self.remote_user, + notification_type=models.Notification.FAVORITE, + ) + self.assertTrue(models.Notification.objects.exists()) + + models.Notification.unnotify( + self.local_user, + self.remote_user, + notification_type=models.Notification.FAVORITE, + ) + self.assertFalse(models.Notification.objects.exists()) + + def test_unnotify_multiple_users(self): + """Remove a notification""" + models.Notification.notify( + self.local_user, + self.remote_user, + notification_type=models.Notification.FAVORITE, + ) + models.Notification.notify( + self.local_user, + self.another_user, + notification_type=models.Notification.FAVORITE, + ) + self.assertTrue(models.Notification.objects.exists()) + + models.Notification.unnotify( + self.local_user, + self.remote_user, + notification_type=models.Notification.FAVORITE, + ) + self.assertTrue(models.Notification.objects.exists()) + + models.Notification.unnotify( + self.local_user, + self.another_user, + notification_type=models.Notification.FAVORITE, + ) + self.assertFalse(models.Notification.objects.exists()) From afd3b27d78bfdecf54a95f8f5a17a84a546a6900 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 09:47:33 -0700 Subject: [PATCH 370/458] Adds coverage command to bw-dev --- bw-dev | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bw-dev b/bw-dev index 4dd543c0a..7ecef5c34 100755 --- a/bw-dev +++ b/bw-dev @@ -103,6 +103,9 @@ case "$CMD" in pytest) runweb pytest --no-cov-on-fail "$@" ;; + pytest_coverage_report) + runweb pytest -n 3 --cov-report term-missing "$@" + ;; collectstatic) runweb python manage.py collectstatic --no-input ;; From c48fbd8753ba3926a8f40187cd838055c5258e77 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 09:47:48 -0700 Subject: [PATCH 371/458] Separates reporting and report admins tests --- bookwyrm/tests/views/admin/test_reports.py | 46 --------- bookwyrm/tests/views/test_report.py | 114 +++++++++++++++++++++ 2 files changed, 114 insertions(+), 46 deletions(-) create mode 100644 bookwyrm/tests/views/test_report.py diff --git a/bookwyrm/tests/views/admin/test_reports.py b/bookwyrm/tests/views/admin/test_reports.py index d0875f2c2..48a81239b 100644 --- a/bookwyrm/tests/views/admin/test_reports.py +++ b/bookwyrm/tests/views/admin/test_reports.py @@ -89,52 +89,6 @@ class ReportViews(TestCase): self.assertEqual(comment.note, "hi") self.assertEqual(comment.report, report) - def test_report_modal_view(self): - """a user reports another user""" - request = self.factory.get("") - request.user = self.local_user - result = views.Report.as_view()(request, self.local_user.id) - - validate_html(result.render()) - - def test_make_report(self): - """a user reports another user""" - form = forms.ReportForm() - form.data["reporter"] = self.local_user.id - form.data["user"] = self.rat.id - request = self.factory.post("", form.data) - request.user = self.local_user - - views.Report.as_view()(request) - - report = models.Report.objects.get() - self.assertEqual(report.reporter, self.local_user) - self.assertEqual(report.user, self.rat) - - def test_report_link(self): - """a user reports a link as spam""" - book = models.Edition.objects.create(title="hi") - link = models.FileLink.objects.create( - book=book, added_by=self.local_user, url="https://skdjfs.sdf" - ) - domain = link.domain - domain.status = "approved" - domain.save() - - form = forms.ReportForm() - form.data["reporter"] = self.local_user.id - form.data["user"] = self.rat.id - form.data["links"] = link.id - request = self.factory.post("", form.data) - request.user = self.local_user - - views.Report.as_view()(request) - - report = models.Report.objects.get() - domain.refresh_from_db() - self.assertEqual(report.links.first().id, link.id) - self.assertEqual(domain.status, "pending") - def test_resolve_report(self): """toggle report resolution status""" report = models.Report.objects.create(reporter=self.local_user, user=self.rat) diff --git a/bookwyrm/tests/views/test_report.py b/bookwyrm/tests/views/test_report.py new file mode 100644 index 000000000..3600e41e7 --- /dev/null +++ b/bookwyrm/tests/views/test_report.py @@ -0,0 +1,114 @@ +""" test for app action functionality """ +from unittest.mock import patch + +from django.test import TestCase +from django.test.client import RequestFactory + +from bookwyrm import forms, models, views +from bookwyrm.tests.validate_html import validate_html + + +class ReportViews(TestCase): + """every response to a get request, html or json""" + + def setUp(self): + """we need basic test data and mocks""" + self.factory = RequestFactory() + with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( + "bookwyrm.activitystreams.populate_stream_task.delay" + ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@mouse.mouse", + "password", + local=True, + localname="rat", + ) + with patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + ), patch("bookwyrm.activitystreams.add_status_task.delay"): + self.status = models.Status.objects.create( + user=self.local_user, + content="Test status", + ) + models.SiteSettings.objects.create() + + def test_report_modal_view(self): + """a user reports another user""" + request = self.factory.get("") + request.user = self.local_user + result = views.Report.as_view()(request, self.local_user.id) + + validate_html(result.render()) + + def test_report_modal_view_with_status(self): + """a user reports another user""" + request = self.factory.get("") + request.user = self.local_user + result = views.Report.as_view()( + request, + user_id=self.local_user.id, + status_id=self.status.id + ) + + validate_html(result.render()) + + def test_report_modal_view_with_link_domain(self): + """a user reports another user""" + link = models.Link.objects.create( + url="http://example.com/hi", + added_by=self.local_user, + ) + request = self.factory.get("") + request.user = self.local_user + result = views.Report.as_view()( + request, + link_id=link.id + ) + + validate_html(result.render()) + + def test_make_report(self): + """a user reports another user""" + form = forms.ReportForm() + form.data["reporter"] = self.local_user.id + form.data["user"] = self.rat.id + request = self.factory.post("", form.data) + request.user = self.local_user + + views.Report.as_view()(request) + + report = models.Report.objects.get() + self.assertEqual(report.reporter, self.local_user) + self.assertEqual(report.user, self.rat) + + def test_report_link(self): + """a user reports a link as spam""" + book = models.Edition.objects.create(title="hi") + link = models.FileLink.objects.create( + book=book, added_by=self.local_user, url="https://skdjfs.sdf" + ) + domain = link.domain + domain.status = "approved" + domain.save() + + form = forms.ReportForm() + form.data["reporter"] = self.local_user.id + form.data["user"] = self.rat.id + form.data["links"] = link.id + request = self.factory.post("", form.data) + request.user = self.local_user + + views.Report.as_view()(request) + + report = models.Report.objects.get() + domain.refresh_from_db() + self.assertEqual(report.links.first().id, link.id) + self.assertEqual(domain.status, "pending") From f4dd14acadbd3524c673d592eef0efbed0cc8fc1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 10:05:22 -0700 Subject: [PATCH 372/458] Adds more webfinger tests for helper functions --- bookwyrm/tests/views/test_helpers.py | 60 ++++++++++++++++++++++++++-- bookwyrm/tests/views/test_report.py | 9 +---- 2 files changed, 59 insertions(+), 10 deletions(-) diff --git a/bookwyrm/tests/views/test_helpers.py b/bookwyrm/tests/views/test_helpers.py index a092a4c9a..ce1f6a735 100644 --- a/bookwyrm/tests/views/test_helpers.py +++ b/bookwyrm/tests/views/test_helpers.py @@ -112,7 +112,17 @@ class ViewsHelpers(TestCase): request = self.factory.get("", {"q": "Test Book"}, HTTP_USER_AGENT=USER_AGENT) self.assertTrue(views.helpers.is_bookwyrm_request(request)) - def test_existing_user(self, *_): + def test_handle_remote_webfinger_invalid(self, *_): + """Various ways you can send a bad query""" + # if there's no query, there's no result + result = views.helpers.handle_remote_webfinger(None) + self.assertIsNone(result) + + # malformed user + result = views.helpers.handle_remote_webfinger("noatsymbol") + self.assertIsNone(result) + + def test_handle_remote_webfinger_existing_user(self, *_): """simple database lookup by username""" result = views.helpers.handle_remote_webfinger("@mouse@local.com") self.assertEqual(result, self.local_user) @@ -124,7 +134,19 @@ class ViewsHelpers(TestCase): self.assertEqual(result, self.local_user) @responses.activate - def test_load_user(self, *_): + def test_handle_remote_webfinger_load_user_invalid_result(self, *_): + """find a remote user using webfinger, but fail""" + username = "mouse@example.com" + responses.add( + responses.GET, + f"https://example.com/.well-known/webfinger?resource=acct:{username}", + status=500, + ) + result = views.helpers.handle_remote_webfinger("@mouse@example.com") + self.assertIsNone(result) + + @responses.activate + def test_handle_remote_webfinger_load_user(self, *_): """find a remote user using webfinger""" username = "mouse@example.com" wellknown = { @@ -154,7 +176,7 @@ class ViewsHelpers(TestCase): self.assertIsInstance(result, models.User) self.assertEqual(result.username, "mouse@example.com") - def test_user_on_blocked_server(self, *_): + def test_handler_remote_webfinger_user_on_blocked_server(self, *_): """find a remote user using webfinger""" models.FederatedServer.objects.create( server_name="example.com", status="blocked" @@ -163,6 +185,38 @@ class ViewsHelpers(TestCase): result = views.helpers.handle_remote_webfinger("@mouse@example.com") self.assertIsNone(result) + @responses.activate + def test_subscribe_remote_webfinger(self, *_): + """remote subscribe templates""" + query = "mouse@example.com" + response = { + "subject": f"acct:{query}", + "links": [ + { + "rel": "self", + "type": "application/activity+json", + "href": "https://example.com/user/mouse", + "template": "hi", + }, + { + "rel": "http://ostatus.org/schema/1.0/subscribe", + "type": "application/activity+json", + "href": "https://example.com/user/mouse", + "template": "hello", + }, + ], + } + responses.add( + responses.GET, + f"https://example.com/.well-known/webfinger?resource=acct:{query}", + json=response, + status=200, + ) + template = views.helpers.subscribe_remote_webfinger(query) + self.assertEqual(template, "hello") + template = views.helpers.subscribe_remote_webfinger(f"@{query}") + self.assertEqual(template, "hello") + def test_handle_reading_status_to_read(self, *_): """posts shelve activities""" shelf = self.local_user.shelf_set.get(identifier="to-read") diff --git a/bookwyrm/tests/views/test_report.py b/bookwyrm/tests/views/test_report.py index 3600e41e7..85dca8aea 100644 --- a/bookwyrm/tests/views/test_report.py +++ b/bookwyrm/tests/views/test_report.py @@ -53,9 +53,7 @@ class ReportViews(TestCase): request = self.factory.get("") request.user = self.local_user result = views.Report.as_view()( - request, - user_id=self.local_user.id, - status_id=self.status.id + request, user_id=self.local_user.id, status_id=self.status.id ) validate_html(result.render()) @@ -68,10 +66,7 @@ class ReportViews(TestCase): ) request = self.factory.get("") request.user = self.local_user - result = views.Report.as_view()( - request, - link_id=link.id - ) + result = views.Report.as_view()(request, link_id=link.id) validate_html(result.render()) From f5638c1e44839d0d593d98338157eeefd42f0e96 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 10:05:55 -0700 Subject: [PATCH 373/458] Removed unused helper function --- bookwyrm/views/helpers.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/bookwyrm/views/helpers.py b/bookwyrm/views/helpers.py index 7d8eced7c..7be42a87b 100644 --- a/bookwyrm/views/helpers.py +++ b/bookwyrm/views/helpers.py @@ -148,13 +148,6 @@ def handle_reading_status(user, shelf, book, privacy): status.save() -def is_blocked(viewer, user): - """is this viewer blocked by the user?""" - if viewer.is_authenticated and viewer in user.blocks.all(): - return True - return False - - def load_date_in_user_tz_as_utc(date_str: str, user: models.User) -> datetime: """ensures that data is stored consistently in the UTC timezone""" if not date_str: From 87434fbb9df733cc9552402cfedc242c4c950cdd Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 10:38:22 -0700 Subject: [PATCH 374/458] Adds a couple more edit book views tests --- bookwyrm/tests/views/books/test_edit_book.py | 78 ++++++++++++++++---- 1 file changed, 65 insertions(+), 13 deletions(-) diff --git a/bookwyrm/tests/views/books/test_edit_book.py b/bookwyrm/tests/views/books/test_edit_book.py index c7869807b..1ac8336d8 100644 --- a/bookwyrm/tests/views/books/test_edit_book.py +++ b/bookwyrm/tests/views/books/test_edit_book.py @@ -48,7 +48,7 @@ class EditBookViews(TestCase): models.SiteSettings.objects.create() - def test_edit_book_page(self): + def test_edit_book_get(self): """there are so many views, this just makes sure it LOADS""" view = views.EditBook.as_view() request = self.factory.get("") @@ -59,18 +59,7 @@ class EditBookViews(TestCase): validate_html(result.render()) self.assertEqual(result.status_code, 200) - def test_edit_book_create_page(self): - """there are so many views, this just makes sure it LOADS""" - view = views.CreateBook.as_view() - request = self.factory.get("") - request.user = self.local_user - request.user.is_superuser = True - result = view(request) - self.assertIsInstance(result, TemplateResponse) - validate_html(result.render()) - self.assertEqual(result.status_code, 200) - - def test_edit_book(self): + def test_edit_book_post(self): """lets a user edit a book""" view = views.EditBook.as_view() self.local_user.groups.add(self.group) @@ -86,6 +75,23 @@ class EditBookViews(TestCase): self.book.refresh_from_db() self.assertEqual(self.book.title, "New Title") + def test_edit_book_post_invalid(self): + """book form is invalid""" + view = views.EditBook.as_view() + self.local_user.groups.add(self.group) + form = forms.EditionForm(instance=self.book) + form.data["title"] = "" + form.data["last_edited_by"] = self.local_user.id + request = self.factory.post("", form.data) + request.user = self.local_user + + result = view(request, self.book.id) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + # Title is unchanged + self.book.refresh_from_db() + self.assertEqual(self.book.title, "Example Edition") + def test_edit_book_add_author(self): """lets a user edit a book with new authors""" view = views.EditBook.as_view() @@ -234,3 +240,49 @@ class EditBookViews(TestCase): self.assertEqual(len(result["author_matches"]), 2) self.assertEqual(result["author_matches"][0]["name"], "Sappho") self.assertEqual(result["author_matches"][1]["name"], "Some Guy") + + def test_create_book_get(self): + """there are so many views, this just makes sure it LOADS""" + view = views.CreateBook.as_view() + request = self.factory.get("") + request.user = self.local_user + request.user.is_superuser = True + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + + def test_create_book_post_existing_work(self): + """Adding an edition to an existing work""" + author = models.Author.objects.create(name="Sappho") + view = views.CreateBook.as_view() + form = forms.EditionForm() + form.data["title"] = "A Title" + form.data["parent_work"] = self.work.id + form.data["authors"] = [author.id] + form.data["last_edited_by"] = self.local_user.id + request = self.factory.post("", form.data) + request.user = self.local_user + request.user.is_superuser = True + + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): + result = view(request) + self.assertEqual(result.status_code, 302) + + new_edition = models.Edition.objects.get(title="A Title") + self.assertEqual(new_edition.parent_work, self.work) + self.assertEqual(new_edition.authors.first(), author) + + def test_create_book_post_invalid(self): + """book form is invalid""" + view = views.CreateBook.as_view() + self.local_user.groups.add(self.group) + form = forms.EditionForm(instance=self.book) + form.data["title"] = "" + form.data["last_edited_by"] = self.local_user.id + request = self.factory.post("", form.data) + request.user = self.local_user + + result = view(request) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) From 574c1db7325e38cd693046bcef4ef47e2d0d2753 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 10:50:50 -0700 Subject: [PATCH 375/458] Adds more templatetag tests --- bookwyrm/templatetags/utilities.py | 2 +- bookwyrm/tests/templatetags/test_utilities.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templatetags/utilities.py b/bookwyrm/templatetags/utilities.py index 00fa4035c..834d39a14 100644 --- a/bookwyrm/templatetags/utilities.py +++ b/bookwyrm/templatetags/utilities.py @@ -53,7 +53,7 @@ def comparison_bool(str1, str2, reverse=False): @register.filter(is_safe=True) def truncatepath(value, arg): - """Truncate a path by removing all directories except the first and truncating .""" + """Truncate a path by removing all directories except the first and truncating""" path = os.path.normpath(value.name) path_list = path.split(os.sep) try: diff --git a/bookwyrm/tests/templatetags/test_utilities.py b/bookwyrm/tests/templatetags/test_utilities.py index 0136ca8cd..7738a51d9 100644 --- a/bookwyrm/tests/templatetags/test_utilities.py +++ b/bookwyrm/tests/templatetags/test_utilities.py @@ -1,4 +1,5 @@ """ style fixes and lookups for templates """ +from collections import namedtuple import re from unittest.mock import patch @@ -61,3 +62,18 @@ class UtilitiesTags(TestCase): self.assertEqual(utilities.get_title(self.book), "Test Book") book = models.Edition.objects.create(title="Oh", subtitle="oh my") self.assertEqual(utilities.get_title(book), "Oh: oh my") + + def test_comparison_bool(self, *_): + """just a simple comparison""" + self.assertTrue(utilities.comparison_bool("a", "a")) + self.assertFalse(utilities.comparison_bool("a", "b")) + + self.assertFalse(utilities.comparison_bool("a", "a", reverse=True)) + self.assertTrue(utilities.comparison_bool("a", "b", reverse=True)) + + def test_truncatepath(self, *_): + """truncate a path""" + ValueMock = namedtuple("Value", ("name")) + value = ValueMock("home/one/two/three/four") + self.assertEqual(utilities.truncatepath(value, 2), "home/…ur") + self.assertEqual(utilities.truncatepath(value, "a"), "four") From 7a9d320afd21fdb62693c2a11938341b1a298ab4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 10:52:50 -0700 Subject: [PATCH 376/458] Expands automod view test --- bookwyrm/tests/views/admin/test_automod.py | 5 +++++ bookwyrm/views/admin/automod.py | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bookwyrm/tests/views/admin/test_automod.py b/bookwyrm/tests/views/admin/test_automod.py index 1ed36caf5..98e342ba7 100644 --- a/bookwyrm/tests/views/admin/test_automod.py +++ b/bookwyrm/tests/views/admin/test_automod.py @@ -53,6 +53,11 @@ class AutomodViews(TestCase): request.user.is_superuser = True result = view(request) + self.assertIsInstance(result, TemplateResponse) validate_html(result.render()) self.assertEqual(result.status_code, 200) + + rule = models.AutoMod.objects.get() + self.assertTrue(rule.flag_users) + self.assertFalse(rule.flag_statuses) diff --git a/bookwyrm/views/admin/automod.py b/bookwyrm/views/admin/automod.py index f8c3e8e67..65eae71a9 100644 --- a/bookwyrm/views/admin/automod.py +++ b/bookwyrm/views/admin/automod.py @@ -33,8 +33,7 @@ class AutoMod(View): def post(self, request): """add rule""" form = forms.AutoModRuleForm(request.POST) - success = form.is_valid() - if success: + if form.is_valid(): form.save() form = forms.AutoModRuleForm() From 9c21d1c06fb692d7a23389ed9e3137f5a1123a19 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 11:15:05 -0700 Subject: [PATCH 377/458] Adds more automod tests --- bookwyrm/tests/views/admin/test_automod.py | 56 +++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/admin/test_automod.py b/bookwyrm/tests/views/admin/test_automod.py index 98e342ba7..443ec2ee5 100644 --- a/bookwyrm/tests/views/admin/test_automod.py +++ b/bookwyrm/tests/views/admin/test_automod.py @@ -4,6 +4,7 @@ from unittest.mock import patch from django.template.response import TemplateResponse from django.test import TestCase from django.test.client import RequestFactory +from django_celery_beat.models import PeriodicTask, IntervalSchedule from bookwyrm import forms, models, views from bookwyrm.tests.validate_html import validate_html @@ -28,6 +29,43 @@ class AutomodViews(TestCase): models.SiteSettings.objects.create() def test_automod_rules_get(self): + """there are so many views, this just makes sure it LOADS""" + schedule = IntervalSchedule.objects.create(every=1, period="days") + PeriodicTask.objects.create( + interval=schedule, + name="automod-task", + task="bookwyrm.models.antispam.automod_task", + ) + models.AutoMod.objects.create(created_by=self.local_user, string_match="hello") + view = views.AutoMod.as_view() + request = self.factory.get("") + request.user = self.local_user + request.user.is_superuser = True + + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + + def test_automod_rules_get_empty_with_schedule(self): + """there are so many views, this just makes sure it LOADS""" + schedule = IntervalSchedule.objects.create(every=1, period="days") + PeriodicTask.objects.create( + interval=schedule, + name="automod-task", + task="bookwyrm.models.antispam.automod_task", + ) + view = views.AutoMod.as_view() + request = self.factory.get("") + request.user = self.local_user + request.user.is_superuser = True + + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + + def test_automod_rules_get_empty_without_schedule(self): """there are so many views, this just makes sure it LOADS""" view = views.AutoMod.as_view() request = self.factory.get("") @@ -45,7 +83,7 @@ class AutomodViews(TestCase): form.data["string_match"] = "hello" form.data["flag_users"] = True form.data["flag_statuses"] = False - form.data["created_by"] = self.local_user + form.data["created_by"] = self.local_user.id view = views.AutoMod.as_view() request = self.factory.post("", form.data) @@ -61,3 +99,19 @@ class AutomodViews(TestCase): rule = models.AutoMod.objects.get() self.assertTrue(rule.flag_users) self.assertFalse(rule.flag_statuses) + + def test_schedule_automod_task(self): + """Schedule the task""" + self.assertFalse(IntervalSchedule.objects.exists()) + + form = forms.IntervalScheduleForm() + form.data["every"] = 1 + form.data["period"] = "days" + request = self.factory.post("", form.data) + request.user = self.local_user + request.user.is_superuser = True + + response = views.schedule_automod_task(request) + self.assertEqual(response.status_code, 302) + + self.assertTrue(IntervalSchedule.objects.exists()) From b2a8a0409238b6e109aaa8b4d46f06b7c0b55772 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 11:24:04 -0700 Subject: [PATCH 378/458] Removes unnecessary imports --- bookwyrm/tests/views/admin/test_reports.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/admin/test_reports.py b/bookwyrm/tests/views/admin/test_reports.py index 48a81239b..059cfdd8a 100644 --- a/bookwyrm/tests/views/admin/test_reports.py +++ b/bookwyrm/tests/views/admin/test_reports.py @@ -6,7 +6,7 @@ from django.template.response import TemplateResponse from django.test import TestCase from django.test.client import RequestFactory -from bookwyrm import forms, models, views +from bookwyrm import models, views from bookwyrm.tests.validate_html import validate_html From 9fceeb3eda0145ae85ad4ff079a9ebb3faed2c86 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 12:17:24 -0700 Subject: [PATCH 379/458] Adds another missing migration --- bookwyrm/migrations/0152_alter_report_user.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 bookwyrm/migrations/0152_alter_report_user.py diff --git a/bookwyrm/migrations/0152_alter_report_user.py b/bookwyrm/migrations/0152_alter_report_user.py new file mode 100644 index 000000000..1251c3211 --- /dev/null +++ b/bookwyrm/migrations/0152_alter_report_user.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.13 on 2022-07-06 19:16 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0151_alter_report_user'), + ] + + operations = [ + migrations.AlterField( + model_name='report', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL), + ), + ] From 079f6d304e0d6ad89da4be94a6f48d79f6c25004 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 12:22:07 -0700 Subject: [PATCH 380/458] Python formatting --- bookwyrm/migrations/0152_alter_report_user.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bookwyrm/migrations/0152_alter_report_user.py b/bookwyrm/migrations/0152_alter_report_user.py index 1251c3211..1a67871c8 100644 --- a/bookwyrm/migrations/0152_alter_report_user.py +++ b/bookwyrm/migrations/0152_alter_report_user.py @@ -8,13 +8,18 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0151_alter_report_user'), + ("bookwyrm", "0151_alter_report_user"), ] operations = [ migrations.AlterField( - model_name='report', - name='user', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL), + model_name="report", + name="user", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.PROTECT, + to=settings.AUTH_USER_MODEL, + ), ), ] From 2cda9d556740296c6382ce3f7360bbc3185e0d3c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 14:27:51 -0700 Subject: [PATCH 381/458] Test leaving a group (as opposed to being removed) This test will catch my typo in generating the notifications --- bookwyrm/tests/views/test_group.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/bookwyrm/tests/views/test_group.py b/bookwyrm/tests/views/test_group.py index e43b040ac..06266c60a 100644 --- a/bookwyrm/tests/views/test_group.py +++ b/bookwyrm/tests/views/test_group.py @@ -257,6 +257,30 @@ class GroupViews(TestCase): self.assertEqual(notification.related_group, self.testgroup) self.assertEqual(notification.notification_type, "REMOVE") + def test_remove_member_remove_self(self, _): + """Leave a group""" + models.GroupMember.objects.create( + user=self.rat, + group=self.testgroup, + ) + request = self.factory.post( + "", + { + "group": self.testgroup.id, + "user": self.rat.localname, + }, + ) + request.user = self.rat + result = views.remove_member(request) + self.assertEqual(result.status_code, 302) + self.assertEqual(models.GroupMember.objects.count(), 1) + self.assertEqual(models.GroupMember.objects.first().user, self.local_user) + notification = models.Notification.objects.get() + self.assertEqual(notification.user, self.local_user) + self.assertEqual(notification.related_group, self.testgroup) + self.assertEqual(notification.notification_type, "LEAVE") + + def test_accept_membership(self, _): """accept an invite""" models.GroupMemberInvitation.objects.create( From dda61263295dcafb3039449ca061acad53bf0a85 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 14:31:53 -0700 Subject: [PATCH 382/458] Fixes typo in group notification --- bookwyrm/tests/views/test_group.py | 1 - bookwyrm/views/group.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/bookwyrm/tests/views/test_group.py b/bookwyrm/tests/views/test_group.py index 06266c60a..b0a0c925a 100644 --- a/bookwyrm/tests/views/test_group.py +++ b/bookwyrm/tests/views/test_group.py @@ -280,7 +280,6 @@ class GroupViews(TestCase): self.assertEqual(notification.related_group, self.testgroup) self.assertEqual(notification.notification_type, "LEAVE") - def test_accept_membership(self, _): """accept an invite""" models.GroupMemberInvitation.objects.create( diff --git a/bookwyrm/views/group.py b/bookwyrm/views/group.py index 2eabf8024..469f787d3 100644 --- a/bookwyrm/views/group.py +++ b/bookwyrm/views/group.py @@ -244,7 +244,7 @@ def remove_member(request): memberships = models.GroupMember.objects.filter(group=group) model = apps.get_model("bookwyrm.Notification", require_ready=True) - notification_type = models.LEAVE if user == request.user else model.REMOVE + notification_type = model.LEAVE if user == request.user else model.REMOVE # let the other members know about it for membership in memberships: member = membership.user From 221b5138e80be60f428d2d1c9a5245e44daab514 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 14:42:58 -0700 Subject: [PATCH 383/458] Adds merge migration --- bookwyrm/migrations/0153_merge_20220706_2141.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 bookwyrm/migrations/0153_merge_20220706_2141.py diff --git a/bookwyrm/migrations/0153_merge_20220706_2141.py b/bookwyrm/migrations/0153_merge_20220706_2141.py new file mode 100644 index 000000000..03959f9ef --- /dev/null +++ b/bookwyrm/migrations/0153_merge_20220706_2141.py @@ -0,0 +1,13 @@ +# Generated by Django 3.2.13 on 2022-07-06 21:41 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0152_alter_report_user"), + ("bookwyrm", "0152_remove_notification_notification_type_valid"), + ] + + operations = [] From d3023f350dfd7cac952f039def2722ff253ace5f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 14:56:02 -0700 Subject: [PATCH 384/458] Adds tests to site admin view --- bookwyrm/tests/views/admin/test_site.py | 80 +++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 bookwyrm/tests/views/admin/test_site.py diff --git a/bookwyrm/tests/views/admin/test_site.py b/bookwyrm/tests/views/admin/test_site.py new file mode 100644 index 000000000..6b228cf86 --- /dev/null +++ b/bookwyrm/tests/views/admin/test_site.py @@ -0,0 +1,80 @@ +""" test for app action functionality """ +from unittest.mock import patch +from django.template.response import TemplateResponse +from django.test import TestCase +from django.test.client import RequestFactory + +from bookwyrm import forms, models, views +from bookwyrm.tests.validate_html import validate_html + + +class SiteSettingsViews(TestCase): + """Edit site settings""" + + def setUp(self): + """we need basic test data and mocks""" + self.factory = RequestFactory() + with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( + "bookwyrm.activitystreams.populate_stream_task.delay" + ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + + self.site = models.SiteSettings.objects.create() + + def test_site_get(self): + """there are so many views, this just makes sure it LOADS""" + view = views.Site.as_view() + request = self.factory.get("") + request.user = self.local_user + request.user.is_superuser = True + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + + def test_site_post(self): + """there are so many views, this just makes sure it LOADS""" + view = views.Site.as_view() + form = forms.SiteForm() + form.data["name"] = "Name!" + form.data["instance_tagline"] = "hi" + form.data["instance_description"] = "blah" + form.data["registration_closed_text"] = "blah" + form.data["invite_request_text"] = "blah" + form.data["code_of_conduct"] = "blah" + form.data["privacy_policy"] = "blah" + request = self.factory.post("", form.data) + request.user = self.local_user + request.user.is_superuser = True + + result = view(request) + + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + + site = models.SiteSettings.objects.get() + self.assertEqual(site.name, "Name!") + + def test_site_post_invalid(self): + """there are so many views, this just makes sure it LOADS""" + view = views.Site.as_view() + form = forms.SiteForm() + request = self.factory.post("", form.data) + request.user = self.local_user + request.user.is_superuser = True + + result = view(request) + + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + self.assertEqual(result.status_code, 200) + + self.site.refresh_from_db() + self.assertEqual(self.site.name, "BookWyrm") From 04f9b9180d5df192bc5ad6ae00d06fff8731ace3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 15:07:46 -0700 Subject: [PATCH 385/458] Adds test file for utils --- bookwyrm/tests/test_utils.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 bookwyrm/tests/test_utils.py diff --git a/bookwyrm/tests/test_utils.py b/bookwyrm/tests/test_utils.py new file mode 100644 index 000000000..183548975 --- /dev/null +++ b/bookwyrm/tests/test_utils.py @@ -0,0 +1,13 @@ +""" test searching for books """ +import re +from django.test import TestCase + +from bookwyrm.utils import regex + + +class TestUtils(TestCase): + """utility functions""" + + def test_regex(self): + """Regexes used throughout the app""" + self.assertTrue(re.match(regex.DOMAIN, "xn--69aa8bzb.xn--y9a3aq")) From 4bb3a7e4cdc93708b3f34798b749d48e7a533b6b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 15:27:48 -0700 Subject: [PATCH 386/458] Removed incorrect and duplicate page indicator from content status --- bookwyrm/templates/snippets/status/content_status.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/bookwyrm/templates/snippets/status/content_status.html b/bookwyrm/templates/snippets/status/content_status.html index d0d385153..bee4af1dc 100644 --- a/bookwyrm/templates/snippets/status/content_status.html +++ b/bookwyrm/templates/snippets/status/content_status.html @@ -112,9 +112,6 @@ {% with full=status.content|safe no_trim=status.content_warning itemprop="reviewBody" %} {% include 'snippets/trimmed_text.html' %} {% endwith %} - {% if status.progress %} -
{% trans "page" %} {{ status.progress }}
- {% endif %} {% endif %} {% if status.attachments.exists %} From 6a5323c6e7b9b8e5e344c0cecd44b1659a0a7170 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 19:11:52 -0700 Subject: [PATCH 387/458] More tests for more notification types --- bookwyrm/tests/views/test_notifications.py | 196 ++++++++++++++++++++- 1 file changed, 195 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/test_notifications.py b/bookwyrm/tests/views/test_notifications.py index eb422f80d..8e5dfa2b5 100644 --- a/bookwyrm/tests/views/test_notifications.py +++ b/bookwyrm/tests/views/test_notifications.py @@ -44,7 +44,7 @@ class NotificationViews(TestCase): validate_html(result.render()) self.assertEqual(result.status_code, 200) - def test_notifications_page_notifications(self): + def test_notifications_page_status_notifications(self): """there are so many views, this just makes sure it LOADS""" models.Notification.notify( self.local_user, @@ -80,6 +80,200 @@ class NotificationViews(TestCase): validate_html(result.render()) self.assertEqual(result.status_code, 200) + def test_notifications_page_follow_request(self): + """import completed notification""" + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="FOLLOW_REQUEST", + ) + view = views.Notifications.as_view() + request = self.factory.get("") + request.user = self.local_user + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + + def test_notifications_page_follows(self): + """import completed notification""" + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="FOLLOW", + ) + view = views.Notifications.as_view() + request = self.factory.get("") + request.user = self.local_user + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + + def test_notifications_page_report(self): + """import completed notification""" + report = models.Report.objects.create( + user=self.another_user, + reporter=self.local_user, + ) + notification = models.Notification.objects.create( + user=self.local_user, + notification_type="REPORT", + ) + notification.related_reports.add(report) + + view = views.Notifications.as_view() + request = self.factory.get("") + request.user = self.local_user + result = view(request) + self.assertIsInstance(result, TemplateResponse) + validate_html(result.render()) + + def test_notifications_page_import(self): + """import completed notification""" + import_job = models.ImportJob.objects.create(user=self.local_user, mappings={}) + models.Notification.objects.create( + user=self.local_user, notification_type="IMPORT", related_import=import_job + ) + view = views.Notifications.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) + + def test_notifications_page_list(self): + """Adding books to lists""" + book = models.Edition.objects.create(title="shape") + with patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + book_list = models.List.objects.create(user=self.local_user, name="hi") + item = models.ListItem.objects.create( + book=book, user=self.another_user, book_list=book_list, order=1 + ) + models.Notification.notify_list_item(self.local_user, item) + view = views.Notifications.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) + + def test_notifications_page_group_invite(self): + """group related notifications""" + group = models.Group.objects.create(user=self.another_user, name="group") + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="INVITE", + related_group=group, + ) + view = views.Notifications.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) + + def test_notifications_page_group_accept(self): + """group related notifications""" + group = models.Group.objects.create(user=self.another_user, name="group") + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="ACCEPT", + related_group=group, + ) + view = views.Notifications.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) + + def test_notifications_page_group_join(self): + """group related notifications""" + group = models.Group.objects.create(user=self.another_user, name="group") + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="JOIN", + related_group=group, + ) + view = views.Notifications.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) + + def test_notifications_page_group_leave(self): + """group related notifications""" + group = models.Group.objects.create(user=self.another_user, name="group") + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="LEAVE", + related_group=group, + ) + view = views.Notifications.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) + + def test_notifications_page_group_remove(self): + """group related notifications""" + group = models.Group.objects.create(user=self.another_user, name="group") + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="REMOVE", + related_group=group, + ) + view = views.Notifications.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) + + def test_notifications_page_group_changes(self): + """group related notifications""" + group = models.Group.objects.create(user=self.another_user, name="group") + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="GROUP_PRIVACY", + related_group=group, + ) + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="GROUP_NAME", + related_group=group, + ) + models.Notification.notify( + self.local_user, + self.another_user, + notification_type="GROUP_DESCRIPTION", + related_group=group, + ) + view = views.Notifications.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) + def test_clear_notifications(self): """erase notifications""" models.Notification.objects.create( From 26a1f75e91e1de752f5b0d39fadbff89f6c0180a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 19:15:48 -0700 Subject: [PATCH 388/458] Group notification types by feature --- bookwyrm/models/notification.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bookwyrm/models/notification.py b/bookwyrm/models/notification.py index 59ba59d6c..21a992b07 100644 --- a/bookwyrm/models/notification.py +++ b/bookwyrm/models/notification.py @@ -9,16 +9,27 @@ from . import Status, User, UserFollowRequest class Notification(BookWyrmModel): """you've been tagged, liked, followed, etc""" + # Status interactions FAVORITE = "FAVORITE" + BOOST = "BOOST" REPLY = "REPLY" MENTION = "MENTION" TAG = "TAG" + + # Relationships FOLLOW = "FOLLOW" FOLLOW_REQUEST = "FOLLOW_REQUEST" - BOOST = "BOOST" + + # Imports IMPORT = "IMPORT" + + # List activity ADD = "ADD" + + # Admin REPORT = "REPORT" + + # Groups INVITE = "INVITE" ACCEPT = "ACCEPT" JOIN = "JOIN" From cded3e973dfbcae309b79e486000f6f29d6947be Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 6 Jul 2022 19:16:14 -0700 Subject: [PATCH 389/458] Fixes html on notifications page --- .../notifications/items/follow_request.html | 4 ++ .../templates/notifications/items/layout.html | 46 +++++++++---------- .../templates/notifications/items/report.html | 1 + bookwyrm/templates/search/barcode_modal.html | 4 +- bookwyrm/views/notifications.py | 3 +- 5 files changed, 31 insertions(+), 27 deletions(-) diff --git a/bookwyrm/templates/notifications/items/follow_request.html b/bookwyrm/templates/notifications/items/follow_request.html index 804c35282..320c69e43 100644 --- a/bookwyrm/templates/notifications/items/follow_request.html +++ b/bookwyrm/templates/notifications/items/follow_request.html @@ -3,6 +3,10 @@ {% load i18n %} {% load utilities %} +{% block primary_link %}{% spaceless %} +{% url 'user-followers' request.user.localname %} +{% endspaceless %}{% endblock %} + {% block icon %} {% endblock %} diff --git a/bookwyrm/templates/notifications/items/layout.html b/bookwyrm/templates/notifications/items/layout.html index b19f87edd..3830e7e40 100644 --- a/bookwyrm/templates/notifications/items/layout.html +++ b/bookwyrm/templates/notifications/items/layout.html @@ -27,31 +27,29 @@ {% endif %}
-

- {% if related_user_count == 1 %} - {% with user=related_users.first %} - {% spaceless %} - - {% include 'snippets/avatar.html' with user=user %} - - {% endspaceless %} - {% endwith %} - {% endif %} + {% if related_user_count == 1 %} + {% with user=related_users.first %} + {% spaceless %} + + {% include 'snippets/avatar.html' with user=user %} + + {% endspaceless %} + {% endwith %} + {% endif %} - {% with related_user=related_users.first.display_name %} - {% with related_user_link=related_users.first.local_path %} - {% with second_user=related_users.1.display_name %} - {% with second_user_link=related_users.1.local_path %} - {% with other_user_count=related_user_count|add:"-1" %} - {% with other_user_display_count=other_user_count|intcomma %} - {% block description %}{% endblock %} - {% endwith %} - {% endwith %} - {% endwith %} - {% endwith %} - {% endwith %} - {% endwith %} -

+ {% with related_user=related_users.first.display_name %} + {% with related_user_link=related_users.first.local_path %} + {% with second_user=related_users.1.display_name %} + {% with second_user_link=related_users.1.local_path %} + {% with other_user_count=related_user_count|add:"-1" %} + {% with other_user_display_count=other_user_count|intcomma %} + {% block description %}{% endblock %} + {% endwith %} + {% endwith %} + {% endwith %} + {% endwith %} + {% endwith %} + {% endwith %}
{% if related_status %} diff --git a/bookwyrm/templates/notifications/items/report.html b/bookwyrm/templates/notifications/items/report.html index 5e95a685c..44756ce16 100644 --- a/bookwyrm/templates/notifications/items/report.html +++ b/bookwyrm/templates/notifications/items/report.html @@ -3,6 +3,7 @@ {% load i18n %} {% block primary_link %}{% spaceless %} +{% url 'settings-reports' %} {% endspaceless %}{% endblock %} {% block icon %} diff --git a/bookwyrm/templates/search/barcode_modal.html b/bookwyrm/templates/search/barcode_modal.html index 07e95f59e..70481b20a 100644 --- a/bookwyrm/templates/search/barcode_modal.html +++ b/bookwyrm/templates/search/barcode_modal.html @@ -16,11 +16,11 @@ - +