diff --git a/.env.dev.example b/.env.dev.example
index 2f24378c..926a0e41 100644
--- a/.env.dev.example
+++ b/.env.dev.example
@@ -13,16 +13,10 @@ DEFAULT_LANGUAGE="English"
## Leave unset to allow all hosts
# ALLOWED_HOSTS="localhost,127.0.0.1,[::1]"
-OL_URL=https://openlibrary.org
-
-## Database backend to use.
-## Default is postgres, sqlite is for dev quickstart only (NOT production!!!)
-BOOKWYRM_DATABASE_BACKEND=postgres
-
MEDIA_ROOT=images/
POSTGRES_PORT=5432
-POSTGRES_PASSWORD=fedireads
+POSTGRES_PASSWORD=securedbypassword123
POSTGRES_USER=fedireads
POSTGRES_DB=fedireads
POSTGRES_HOST=db
@@ -34,10 +28,8 @@ REDIS_ACTIVITY_PORT=6379
#REDIS_ACTIVITY_PASSWORD=redispassword345
# Redis as celery broker
-#REDIS_BROKER_PORT=6379
+REDIS_BROKER_PORT=6379
#REDIS_BROKER_PASSWORD=redispassword123
-CELERY_BROKER=redis://redis_broker:6379/0
-CELERY_RESULT_BACKEND=redis://redis_broker:6379/0
FLOWER_PORT=8888
#FLOWER_USER=mouse
@@ -49,6 +41,3 @@ EMAIL_HOST_USER=mail@your.domain.here
EMAIL_HOST_PASSWORD=emailpassword123
EMAIL_USE_TLS=true
EMAIL_USE_SSL=false
-
-# Set this to true when initializing certbot for domain, false when not
-CERTBOT_INIT=false
diff --git a/.env.prod.example b/.env.prod.example
index a82499a3..4a7c87b6 100644
--- a/.env.prod.example
+++ b/.env.prod.example
@@ -13,16 +13,10 @@ DEFAULT_LANGUAGE="English"
## Leave unset to allow all hosts
# ALLOWED_HOSTS="localhost,127.0.0.1,[::1]"
-OL_URL=https://openlibrary.org
-
-## Database backend to use.
-## Default is postgres, sqlite is for dev quickstart only (NOT production!!!)
-BOOKWYRM_DATABASE_BACKEND=postgres
-
MEDIA_ROOT=images/
POSTGRES_PORT=5432
-POSTGRES_PASSWORD=securedbpassword123
+POSTGRES_PASSWORD=securedbypassword123
POSTGRES_USER=fedireads
POSTGRES_DB=fedireads
POSTGRES_HOST=db
@@ -36,8 +30,6 @@ REDIS_ACTIVITY_PASSWORD=redispassword345
# Redis as celery broker
REDIS_BROKER_PORT=6379
REDIS_BROKER_PASSWORD=redispassword123
-CELERY_BROKER=redis://:${REDIS_BROKER_PASSWORD}@redis_broker:${REDIS_BROKER_PORT}/0
-CELERY_RESULT_BACKEND=redis://:${REDIS_BROKER_PASSWORD}@redis_broker:${REDIS_BROKER_PORT}/0
FLOWER_PORT=8888
FLOWER_USER=mouse
@@ -49,6 +41,3 @@ EMAIL_HOST_USER=mail@your.domain.here
EMAIL_HOST_PASSWORD=emailpassword123
EMAIL_USE_TLS=true
EMAIL_USE_SSL=false
-
-# Set this to true when initializing certbot for domain, false when not
-CERTBOT_INIT=false
diff --git a/.github/workflows/django-tests.yml b/.github/workflows/django-tests.yml
index 3ce368ec..f9159efe 100644
--- a/.github/workflows/django-tests.yml
+++ b/.github/workflows/django-tests.yml
@@ -50,7 +50,6 @@ jobs:
SECRET_KEY: beepbeep
DEBUG: true
DOMAIN: your.domain.here
- OL_URL: https://openlibrary.org
BOOKWYRM_DATABASE_BACKEND: postgres
MEDIA_ROOT: images/
POSTGRES_PASSWORD: hunter2
@@ -58,7 +57,8 @@ jobs:
POSTGRES_DB: github_actions
POSTGRES_HOST: 127.0.0.1
CELERY_BROKER: ""
- CELERY_RESULT_BACKEND: ""
+ REDIS_BROKER_PORT: 6379
+ FLOWER_PORT: 8888
EMAIL_HOST: "smtp.mailgun.org"
EMAIL_PORT: 587
EMAIL_HOST_USER: ""
diff --git a/Dockerfile b/Dockerfile
index 0f10015c..1892ae23 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,5 +9,3 @@ WORKDIR /app
COPY requirements.txt /app/
RUN pip install -r requirements.txt --no-cache-dir
RUN apt-get update && apt-get install -y gettext libgettextpo-dev && apt-get clean
-
-COPY ./bookwyrm ./celerywyrm /app/
diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py
index 123b3efa..caa22fcd 100644
--- a/bookwyrm/models/fields.py
+++ b/bookwyrm/models/fields.py
@@ -9,6 +9,7 @@ from django.contrib.postgres.fields import ArrayField as DjangoArrayField
from django.core.exceptions import ValidationError
from django.core.files.base import ContentFile
from django.db import models
+from django.forms import ClearableFileInput, ImageField
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from bookwyrm import activitypub
@@ -332,6 +333,14 @@ class TagField(ManyToManyField):
return items
+class ClearableFileInputWithWarning(ClearableFileInput):
+ template_name = "widgets/clearable_file_input_with_warning.html"
+
+
+class CustomImageField(ImageField):
+ widget = ClearableFileInputWithWarning
+
+
def image_serializer(value, alt):
"""helper for serializing images"""
if value and hasattr(value, "url"):
@@ -395,6 +404,14 @@ class ImageField(ActivitypubFieldMixin, models.ImageField):
image_content = ContentFile(response.content)
return [image_name, image_content]
+ def formfield(self, **kwargs):
+ return super().formfield(
+ **{
+ "form_class": CustomImageField,
+ **kwargs,
+ }
+ )
+
class DateTimeField(ActivitypubFieldMixin, models.DateTimeField):
"""activitypub-aware datetime field"""
diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py
index d694e33f..00c3d023 100644
--- a/bookwyrm/settings.py
+++ b/bookwyrm/settings.py
@@ -14,13 +14,18 @@ PAGE_LENGTH = env("PAGE_LENGTH", 15)
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
# celery
-CELERY_BROKER = env("CELERY_BROKER")
-CELERY_RESULT_BACKEND = env("CELERY_RESULT_BACKEND")
+CELERY_BROKER = "redis://:{}@redis_broker:{}/0".format(
+ requests.utils.quote(env("REDIS_BROKER_PASSWORD", "")), env("REDIS_BROKER_PORT")
+)
+CELERY_RESULT_BACKEND = "redis://:{}@redis_broker:{}/0".format(
+ requests.utils.quote(env("REDIS_BROKER_PASSWORD", "")), env("REDIS_BROKER_PORT")
+)
CELERY_ACCEPT_CONTENT = ["application/json"]
CELERY_TASK_SERIALIZER = "json"
CELERY_RESULT_SERIALIZER = "json"
# email
+EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend")
EMAIL_HOST = env("EMAIL_HOST")
EMAIL_PORT = env("EMAIL_PORT", 587)
EMAIL_HOST_USER = env("EMAIL_HOST_USER")
@@ -47,7 +52,6 @@ SECRET_KEY = env("SECRET_KEY")
DEBUG = env.bool("DEBUG", True)
ALLOWED_HOSTS = env.list("ALLOWED_HOSTS", ["*"])
-OL_URL = env("OL_URL")
# Application definition
@@ -109,10 +113,8 @@ STREAMS = ["home", "local", "federated"]
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
-BOOKWYRM_DATABASE_BACKEND = env("BOOKWYRM_DATABASE_BACKEND", "postgres")
-
-BOOKWYRM_DBS = {
- "postgres": {
+DATABASES = {
+ "default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": env("POSTGRES_DB", "fedireads"),
"USER": env("POSTGRES_USER", "fedireads"),
@@ -122,8 +124,6 @@ BOOKWYRM_DBS = {
},
}
-DATABASES = {"default": BOOKWYRM_DBS[BOOKWYRM_DATABASE_BACKEND]}
-
LOGIN_URL = "/login/"
AUTH_USER_MODEL = "bookwyrm.User"
@@ -131,6 +131,7 @@ AUTH_USER_MODEL = "bookwyrm.User"
# Password validation
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
+# pylint: disable=line-too-long
AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js
index 3659a20e..598dd93a 100644
--- a/bookwyrm/static/js/bookwyrm.js
+++ b/bookwyrm/static/js/bookwyrm.js
@@ -3,6 +3,7 @@
let BookWyrm = new class {
constructor() {
+ this.MAX_FILE_SIZE_BYTES = 10 * 1000000
this.initOnDOMLoaded();
this.initReccuringTasks();
this.initEventListeners();
@@ -32,15 +33,26 @@ let BookWyrm = new class {
'click',
this.back)
);
+
+ document.querySelectorAll('input[type="file"]')
+ .forEach(node => node.addEventListener(
+ 'change',
+ this.disableIfTooLarge.bind(this)
+ ));
}
/**
* Execute code once the DOM is loaded.
*/
initOnDOMLoaded() {
+ const bookwyrm = this
+
window.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('.tab-group')
.forEach(tabs => new TabGroup(tabs));
+ document.querySelectorAll('input[type="file"]').forEach(
+ bookwyrm.disableIfTooLarge.bind(bookwyrm)
+ )
});
}
@@ -284,4 +296,27 @@ let BookWyrm = new class {
node.classList.remove(classname);
}
}
+
+ disableIfTooLarge(eventOrElement) {
+ const { addRemoveClass, MAX_FILE_SIZE_BYTES } = this
+ const element = eventOrElement.currentTarget || eventOrElement
+
+ const submits = element.form.querySelectorAll('[type="submit"]')
+ const warns = element.parentElement.querySelectorAll('.file-too-big')
+ const isTooBig = element.files &&
+ element.files[0] &&
+ element.files[0].size > MAX_FILE_SIZE_BYTES
+
+ if (isTooBig) {
+ submits.forEach(submitter => submitter.disabled = true)
+ warns.forEach(
+ sib => addRemoveClass(sib, 'is-hidden', false)
+ )
+ } else {
+ submits.forEach(submitter => submitter.disabled = false)
+ warns.forEach(
+ sib => addRemoveClass(sib, 'is-hidden', true)
+ )
+ }
+ }
}
diff --git a/bookwyrm/templates/author/author.html b/bookwyrm/templates/author/author.html
index aa99cbe2..f4f308f2 100644
--- a/bookwyrm/templates/author/author.html
+++ b/bookwyrm/templates/author/author.html
@@ -22,42 +22,76 @@
-
- {% if author.aliases or author.born or author.died or author.wikipedia_link %}
-
-
+
+
+
+ {% if author.aliases or author.born or author.died or author.wikipedia_link or author.openlibrary_key or author.inventaire_id %}
+
+
{% if author.aliases %}
-
-
{% trans "Aliases:" %}
-
{{ author.aliases|join:', ' }}
+
+
{% trans "Aliases:" %}
+ {% for alias in author.aliases %}
+
+ {{alias}}{% if not forloop.last %}, {% endif %}
+
+ {% endfor %}
{% endif %}
+
{% if author.born %}
-
-
{% trans "Born:" %}
-
{{ author.born|naturalday }}
+
+
{% trans "Born:" %}
+ {{ author.born|naturalday }}
{% endif %}
+
{% if author.died %}
-
diff --git a/bookwyrm/templates/author/edit_author.html b/bookwyrm/templates/author/edit_author.html
index 010d36ef..103341bf 100644
--- a/bookwyrm/templates/author/edit_author.html
+++ b/bookwyrm/templates/author/edit_author.html
@@ -29,67 +29,85 @@
{% trans "Metadata" %}
-
{% trans "Name:" %} {{ form.name }}
- {% for error in form.name.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Name:" %}
+ {{ form.name }}
+ {% for error in form.name.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Aliases:" %}
{{ form.aliases }}
{% trans "Separate multiple values with commas." %}
-
- {% for error in form.aliases.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.aliases.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Bio:" %} {{ form.bio }}
- {% for error in form.bio.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Bio:" %}
+ {{ form.bio }}
+ {% for error in form.bio.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Wikipedia link:" %} {{ form.wikipedia_link }}
+
{% trans "Wikipedia link:" %} {{ form.wikipedia_link }}
{% for error in form.wikipedia_link.errors %}
{{ error | escape }}
{% endfor %}
-
+
{% trans "Birth date:" %}
-
- {% for error in form.born.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.born.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Death date:" %}
-
- {% for error in form.died.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.died.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
{% trans "Author Identifiers" %}
-
{% trans "Openlibrary key:" %} {{ form.openlibrary_key }}
- {% for error in form.openlibrary_key.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Openlibrary key:" %}
+ {{ form.openlibrary_key }}
+ {% for error in form.openlibrary_key.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Inventaire ID:" %} {{ form.inventaire_id }}
- {% for error in form.inventaire_id.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Inventaire ID:" %}
+ {{ form.inventaire_id }}
+ {% for error in form.inventaire_id.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Librarything key:" %} {{ form.librarything_key }}
- {% for error in form.librarything_key.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Librarything key:" %}
+ {{ form.librarything_key }}
+ {% for error in form.librarything_key.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Goodreads key:" %} {{ form.goodreads_key }}
- {% for error in form.goodreads_key.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Goodreads key:" %}
+ {{ form.goodreads_key }}
+ {% for error in form.goodreads_key.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
diff --git a/bookwyrm/templates/book/edit_book.html b/bookwyrm/templates/book/edit_book.html
index 8dae1d04..32018a25 100644
--- a/bookwyrm/templates/book/edit_book.html
+++ b/bookwyrm/templates/book/edit_book.html
@@ -14,11 +14,25 @@
{% endif %}
{% if book %}
-
-
{% trans "Added:" %} {{ book.created_date | naturaltime }}
-
{% trans "Updated:" %} {{ book.updated_date | naturaltime }}
-
{% trans "Last edited by:" %} {{ book.last_edited_by.display_name }}
-
+
+
+
{% trans "Added:" %}
+ {{ book.created_date | naturaltime }}
+
+
+
+
{% trans "Updated:" %}
+ {{ book.updated_date | naturaltime }}
+
+
+ {% if book.last_edited_by %}
+
+ {% endif %}
+
+
{% endif %}
@@ -38,21 +52,28 @@
{% if confirm_mode %}
{% trans "Confirm Book Info" %}
-
+
{% if author_matches %}
{% for author in author_matches %}
-
- {% blocktrans with name=author.name %}Is "{{ name }}" an existing author?{% endblocktrans %}
+
+
+ {% blocktrans with name=author.name %}Is "{{ name }}" an existing author?{% endblocktrans %}
+
{% with forloop.counter0 as counter %}
{% for match in author.matches %}
- {{ match.name }}
+
+
+ {{ match.name }}
+
{% blocktrans with book_title=match.book_set.first.title %}Author of {{ book_title }} {% endblocktrans %}
{% endfor %}
- {% trans "This is a new author" %}
+
+ {% trans "This is a new author" %}
+
{% endwith %}
{% endfor %}
@@ -64,11 +85,17 @@
{% if not book %}
- {% trans "Is this an edition of an existing work?" %}
+
+ {% trans "Is this an edition of an existing work?" %}
+
{% for match in book_matches %}
- {{ match.parent_work.title }}
+
+ {{ match.parent_work.title }}
+
{% endfor %}
- {% trans "This is a new work" %}
+
+ {% trans "This is a new work" %}
+
{% endif %}
@@ -89,76 +116,79 @@
{% trans "Metadata" %}
-
+
{% trans "Title:" %}
-
- {% for error in form.title.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.title.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Subtitle:" %}
-
- {% for error in form.subtitle.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.subtitle.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
- {% trans "Description:" %} {{ form.description }}
- {% for error in form.description.errors %}
- {{ error | escape }}
- {% endfor %}
+
+
{% trans "Description:" %}
+ {{ form.description }}
+ {% for error in form.description.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Series:" %}
-
- {% for error in form.series.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.series.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Series number:" %}
{{ form.series_number }}
-
- {% for error in form.series_number.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.series_number.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Languages:" %}
{{ form.languages }}
{% trans "Separate multiple values with commas." %}
-
- {% for error in form.languages.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.languages.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Publisher:" %}
{{ form.publishers }}
{% trans "Separate multiple values with commas." %}
-
- {% for error in form.publishers.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.publishers.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "First published date:" %}
-
- {% for error in form.first_published_date.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.first_published_date.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
+
{% trans "Published date:" %}
-
- {% for error in form.published_date.errors %}
-
{{ error | escape }}
- {% endfor %}
+ {% for error in form.published_date.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
@@ -188,17 +225,17 @@
-
+
{% trans "Upload cover:" %}
{{ form.cover }}
-
+
{% if book %}
-
+
{% trans "Load cover from url:" %}
-
+
{% endif %}
{% for error in form.cover.errors %}
{{ error | escape }}
@@ -209,51 +246,72 @@
{% trans "Physical Properties" %}
-
{% trans "Format:" %} {{ form.physical_format }}
- {% for error in form.physical_format.errors %}
-
{{ error | escape }}
- {% endfor %}
- {% for error in form.physical_format.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Format:" %}
+ {{ form.physical_format }}
+ {% for error in form.physical_format.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Pages:" %} {{ form.pages }}
- {% for error in form.pages.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Pages:" %}
+ {{ form.pages }}
+ {% for error in form.pages.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
{% trans "Book Identifiers" %}
-
{% trans "ISBN 13:" %} {{ form.isbn_13 }}
- {% for error in form.isbn_13.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "ISBN 13:" %}
+ {{ form.isbn_13 }}
+ {% for error in form.isbn_13.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "ISBN 10:" %} {{ form.isbn_10 }}
- {% for error in form.isbn_10.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "ISBN 10:" %}
+ {{ form.isbn_10 }}
+ {% for error in form.isbn_10.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Openlibrary ID:" %} {{ form.openlibrary_key }}
- {% for error in form.openlibrary_key.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Openlibrary ID:" %}
+ {{ form.openlibrary_key }}
+ {% for error in form.openlibrary_key.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "Inventaire ID:" %} {{ form.inventaire_id }}
- {% for error in form.inventaire_id.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "Inventaire ID:" %}
+ {{ form.inventaire_id }}
+ {% for error in form.inventaire_id.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "OCLC Number:" %} {{ form.oclc_number }}
- {% for error in form.oclc_number.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "OCLC Number:" %}
+ {{ form.oclc_number }}
+ {% for error in form.oclc_number.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
-
{% trans "ASIN:" %} {{ form.asin }}
- {% for error in form.ASIN.errors %}
-
{{ error | escape }}
- {% endfor %}
+
+
{% trans "ASIN:" %}
+ {{ form.asin }}
+ {% for error in form.ASIN.errors %}
+
{{ error | escape }}
+ {% endfor %}
+
@@ -261,7 +319,7 @@
{% if not confirm_mode %}
{% endif %}
diff --git a/bookwyrm/templates/components/modal.html b/bookwyrm/templates/components/modal.html
index 0a05f951..74dcadac 100644
--- a/bookwyrm/templates/components/modal.html
+++ b/bookwyrm/templates/components/modal.html
@@ -11,7 +11,7 @@
{% trans "Close" as label %}
-
+
{% block modal-title %}{% endblock %}
{% include 'snippets/toggle/toggle_button.html' with label=label class="delete" nonbutton=True %}
diff --git a/bookwyrm/templates/import.html b/bookwyrm/templates/import.html
index 2b7d69e1..d2e40748 100644
--- a/bookwyrm/templates/import.html
+++ b/bookwyrm/templates/import.html
@@ -41,8 +41,8 @@
-
- {% trans "Privacy setting for imported reviews:" %}
+
+ {% trans "Privacy setting for imported reviews:" %}
{% include 'snippets/privacy_select.html' with no_label=True %}
diff --git a/bookwyrm/templates/import_status.html b/bookwyrm/templates/import_status.html
index b1145611..ff80ad71 100644
--- a/bookwyrm/templates/import_status.html
+++ b/bookwyrm/templates/import_status.html
@@ -8,13 +8,17 @@
{% trans "Import Status" %}
-
- {% trans "Import started:" %} {{ job.created_date | naturaltime }}
-
- {% if job.complete %}
-
- {% trans "Import completed:" %} {{ task.date_done | naturaltime }}
-
+
+
+
{% trans "Import started:" %}
+ {{ job.created_date | naturaltime }}
+
+ {% if job.complete %}
+
+
{% trans "Import completed:" %}
+ {{ task.date_done | naturaltime }}
+
+
{% elif task.failed %}
{% trans "TASK FAILED" %}
{% endif %}
@@ -22,8 +26,9 @@
{% if not job.complete %}
- {% trans "Import still in progress." %}
+ {% trans "Import still in progress." %}
+
{% trans "(Hit reload to update!)" %}
{% endif %}
@@ -49,16 +54,13 @@
diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html
index d899d62c..56530a84 100644
--- a/bookwyrm/templates/layout.html
+++ b/bookwyrm/templates/layout.html
@@ -203,7 +203,7 @@
- {% trans "About this server" %}
+ {% trans "About this instance" %}
{% if site.admin_email %}
diff --git a/bookwyrm/templates/moderation/reports.html b/bookwyrm/templates/moderation/reports.html
index f9d9d99b..95a276af 100644
--- a/bookwyrm/templates/moderation/reports.html
+++ b/bookwyrm/templates/moderation/reports.html
@@ -3,7 +3,7 @@
{% block title %}
{% if server %}
-{% blocktrans with server_name=server.server_name %}Reports: {{ server_name }}{% endblocktrans %}
+{% blocktrans with instance_name=server.server_name %}Reports: {{ instance_name }}{% endblocktrans %}
{% else %}
{% trans "Reports" %}
{% endif %}
@@ -11,7 +11,7 @@
{% block header %}
{% if server %}
-{% blocktrans with server_name=server.server_name %}Reports: {{ server_name }} {% endblocktrans %}
+{% blocktrans with instance_name=server.server_name %}Reports: {{ instance_name }} {% endblocktrans %}
Clear filters
{% else %}
{% trans "Reports" %}
diff --git a/bookwyrm/templates/settings/admin_layout.html b/bookwyrm/templates/settings/admin_layout.html
index 635e8607..9e57076b 100644
--- a/bookwyrm/templates/settings/admin_layout.html
+++ b/bookwyrm/templates/settings/admin_layout.html
@@ -36,7 +36,7 @@
{% url 'settings-federation' as url %}
- {% trans "Federated Servers" %}
+ {% trans "Federated Instances" %}
{% endif %}
diff --git a/bookwyrm/templates/settings/edit_server.html b/bookwyrm/templates/settings/edit_server.html
index c5702c84..55346a52 100644
--- a/bookwyrm/templates/settings/edit_server.html
+++ b/bookwyrm/templates/settings/edit_server.html
@@ -1,10 +1,10 @@
{% extends 'settings/admin_layout.html' %}
{% load i18n %}
-{% block title %}{% trans "Add server" %}{% endblock %}
+{% block title %}{% trans "Add instance" %}{% endblock %}
{% block header %}
-{% trans "Add server" %}
-
{% trans "Back to server list" %}
+{% trans "Add instance" %}
+
{% trans "Back to instance list" %}
{% endblock %}
{% block panel %}
@@ -17,7 +17,7 @@
{% url 'settings-add-federated-server' as url %}
- {% trans "Add server" %}
+ {% trans "Add instance" %}
@@ -26,14 +26,14 @@
{% csrf_token %}
-
+
{% trans "Instance:" %}
{% for error in form.server_name.errors %}
{{ error | escape }}
{% endfor %}
-
+
{% trans "Status:" %}
@@ -44,14 +44,14 @@
-
+
{% trans "Software:" %}
{% for error in form.application_type.errors %}
{{ error | escape }}
{% endfor %}
-
-
+
{% trans "Notes:" %}
-
+
{% trans "Save" %}
diff --git a/bookwyrm/templates/settings/federation.html b/bookwyrm/templates/settings/federation.html
index bf198672..208ecf8d 100644
--- a/bookwyrm/templates/settings/federation.html
+++ b/bookwyrm/templates/settings/federation.html
@@ -1,13 +1,13 @@
{% extends 'settings/admin_layout.html' %}
{% load i18n %}
-{% block title %}{% trans "Federated Servers" %}{% endblock %}
+{% block title %}{% trans "Federated Instances" %}{% endblock %}
-{% block header %}{% trans "Federated Servers" %}{% endblock %}
+{% block header %}{% trans "Federated Instances" %}{% endblock %}
{% block edit-button %}
-
- {% trans "Add server" %}
+
+ {% trans "Add instance" %}
{% endblock %}
@@ -16,7 +16,7 @@
{% url 'settings-federation' as url %}
- {% trans "Server name" as text %}
+ {% trans "Instance name" as text %}
{% include 'snippets/table-sort-header.html' with field="server_name" sort=sort text=text %}
diff --git a/bookwyrm/templates/settings/server_blocklist.html b/bookwyrm/templates/settings/server_blocklist.html
index 0de49acd..171cf133 100644
--- a/bookwyrm/templates/settings/server_blocklist.html
+++ b/bookwyrm/templates/settings/server_blocklist.html
@@ -1,10 +1,10 @@
{% extends 'settings/admin_layout.html' %}
{% load i18n %}
-{% block title %}{% trans "Add server" %}{% endblock %}
+{% block title %}{% trans "Add instance" %}{% endblock %}
{% block header %}
{% trans "Import Blocklist" %}
-{% trans "Back to server list" %}
+{% trans "Back to instance list" %}
{% endblock %}
{% block panel %}
@@ -17,7 +17,7 @@
{% url 'settings-add-federated-server' as url %}
- {% trans "Add server" %}
+ {% trans "Add instance" %}
@@ -51,7 +51,7 @@
[
{
- "instance": "example.server.com",
+ "instance": "example.instance.com",
"url": "https://link.to.more/info"
},
...
diff --git a/bookwyrm/templates/settings/site.html b/bookwyrm/templates/settings/site.html
index 1b942452..d36371a4 100644
--- a/bookwyrm/templates/settings/site.html
+++ b/bookwyrm/templates/settings/site.html
@@ -11,23 +11,23 @@
{% csrf_token %}
{% trans "Instance Info" %}
-
+
{% trans "Instance Name:" %}
{{ site_form.name }}
-
+
{% trans "Tagline:" %}
{{ site_form.instance_tagline }}
-
+
{% trans "Instance description:" %}
{{ site_form.instance_description }}
-
+
{% trans "Code of conduct:" %}
{{ site_form.code_of_conduct }}
-
+
{% trans "Privacy Policy:" %}
{{ site_form.privacy_policy }}
@@ -57,19 +57,19 @@
- {% trans "Remote server" as text %}
+ {% trans "Remote instance" as text %}
{% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %}
diff --git a/bookwyrm/templates/widgets/clearable_file_input_with_warning.html b/bookwyrm/templates/widgets/clearable_file_input_with_warning.html
new file mode 100644
index 00000000..e4906cb9
--- /dev/null
+++ b/bookwyrm/templates/widgets/clearable_file_input_with_warning.html
@@ -0,0 +1,24 @@
+{% load i18n %}
+{% load utilities %}
+
+{% if widget.is_initial %}
+
+ {{ widget.initial_text }}:
+ {{ widget.value|truncatepath:10 }}
+
+{% if not widget.required %}
+
+
+
+ {{ widget.clear_checkbox_label }}
+ {% endif %}
+
+
+{{ widget.input_text }}:
+{% else %}
+
+{% endif %}
+
+ {% trans "File exceeds maximum size: 10MB" %}
+
+
diff --git a/bookwyrm/templatetags/utilities.py b/bookwyrm/templatetags/utilities.py
index ae66ca6e..b589499f 100644
--- a/bookwyrm/templatetags/utilities.py
+++ b/bookwyrm/templatetags/utilities.py
@@ -1,4 +1,5 @@
""" template filters for really common utilities """
+import os
from uuid import uuid4
from django import template
@@ -33,3 +34,15 @@ def get_title(book):
def comparison_bool(str1, str2):
"""idk why I need to write a tag for this, it reutrns a bool"""
return str1 == str2
+
+
+@register.filter(is_safe=True)
+def truncatepath(value, arg):
+ """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:
+ length = int(arg)
+ except ValueError: # invalid literal for int()
+ return path_list[-1] # Fail silently.
+ return "%s/…%s" % (path_list[0], path_list[-1][-length:])
diff --git a/bw-dev b/bw-dev
index c2b63bc1..fb2af0e7 100755
--- a/bw-dev
+++ b/bw-dev
@@ -90,7 +90,7 @@ case "$CMD" in
runweb python manage.py collectstatic --no-input
;;
makemessages)
- runweb django-admin makemessages --no-wrap --ignore=venv $@
+ runweb django-admin makemessages --no-wrap --ignore=venv --all $@
;;
compilemessages)
runweb django-admin compilemessages --ignore venv $@
diff --git a/celerywyrm/settings.py b/celerywyrm/settings.py
index e4fa73ca..107a3957 100644
--- a/celerywyrm/settings.py
+++ b/celerywyrm/settings.py
@@ -1,10 +1,10 @@
""" bookwyrm settings and configuration """
from bookwyrm.settings import *
-CELERY_BROKER_URL = env("CELERY_BROKER")
+CELERY_BROKER_URL = CELERY_BROKER
CELERY_ACCEPT_CONTENT = ["json"]
CELERY_TASK_SERIALIZER = "json"
-CELERY_RESULT_BACKEND = "redis"
+FLOWER_PORT = env("FLOWER_PORT")
INSTALLED_APPS = INSTALLED_APPS + [
"celerywyrm",
diff --git a/docker-compose.yml b/docker-compose.yml
index 18f83650..49d02e70 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -74,10 +74,10 @@ services:
restart: on-failure
flower:
build: .
- command: flower --port=${FLOWER_PORT}
+ command: flower -A celerywyrm
env_file: .env
- environment:
- - CELERY_BROKER_URL=${CELERY_BROKER}
+ volumes:
+ - .:/app
networks:
- main
depends_on:
diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo
index 089ac656..dde00be6 100644
Binary files a/locale/de_DE/LC_MESSAGES/django.mo and b/locale/de_DE/LC_MESSAGES/django.mo differ
diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po
index 40f770b5..3125d147 100644
--- a/locale/de_DE/LC_MESSAGES/django.po
+++ b/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 14:40-0700\n"
+"POT-Creation-Date: 2021-06-06 20:52+0000\n"
"PO-Revision-Date: 2021-03-02 17:19-0800\n"
"Last-Translator: Mouse Reeve
\n"
"Language-Team: English \n"
@@ -62,12 +62,12 @@ msgid "Book Title"
msgstr "Titel"
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
-#: bookwyrm/templates/user/shelf/shelf.html:84
-#: bookwyrm/templates/user/shelf/shelf.html:115
+#: bookwyrm/templates/user/shelf/shelf.html:85
+#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr ""
-#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
+#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr ""
@@ -83,41 +83,41 @@ msgstr "Zu lesen angefangen"
msgid "Descending"
msgstr "Zu lesen angefangen"
-#: bookwyrm/models/fields.py:24
+#: bookwyrm/models/fields.py:25
#, python-format
msgid "%(value)s is not a valid remote_id"
msgstr "%(value)s ist keine gültige remote_id"
-#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
+#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
#, python-format
msgid "%(value)s is not a valid username"
msgstr "%(value)s ist kein gültiger Username"
-#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
+#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
msgid "username"
msgstr "Username"
-#: bookwyrm/models/fields.py:170
+#: bookwyrm/models/fields.py:171
msgid "A user with that username already exists."
msgstr "Dieser Benutzename ist bereits vergeben."
-#: bookwyrm/settings.py:155
+#: bookwyrm/settings.py:156
msgid "English"
msgstr "Englisch"
-#: bookwyrm/settings.py:156
+#: bookwyrm/settings.py:157
msgid "German"
msgstr "Deutsch"
-#: bookwyrm/settings.py:157
+#: bookwyrm/settings.py:158
msgid "Spanish"
msgstr "Spanisch"
-#: bookwyrm/settings.py:158
+#: bookwyrm/settings.py:159
msgid "French"
msgstr "Französisch"
-#: bookwyrm/settings.py:159
+#: bookwyrm/settings.py:160
msgid "Simplified Chinese"
msgstr "Vereinfachtes Chinesisch"
@@ -266,7 +266,7 @@ msgstr ""
#: bookwyrm/templates/book/edit_book.html:263
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:70
-#: bookwyrm/templates/settings/announcement_form.html:65
+#: bookwyrm/templates/settings/announcement_form.html:69
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
@@ -398,7 +398,7 @@ msgstr "Themen"
msgid "Places"
msgstr "Orte"
-#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
+#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@@ -414,7 +414,7 @@ msgstr "Zur Liste"
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Add"
msgstr "Hinzufügen"
@@ -559,7 +559,7 @@ msgid "John Doe, Jane Smith"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:183
-#: bookwyrm/templates/user/shelf/shelf.html:77
+#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr ""
@@ -688,7 +688,7 @@ msgstr "Föderiert"
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
-#: bookwyrm/templates/layout.html:92
+#: bookwyrm/templates/layout.html:64
msgid "Directory"
msgstr ""
@@ -902,7 +902,7 @@ msgid "Direct Messages with %(username)s "
msgstr "Direktnachrichten mit %(username)s "
#: bookwyrm/templates/feed/direct_messages.html:10
-#: bookwyrm/templates/layout.html:87
+#: bookwyrm/templates/layout.html:92
msgid "Direct Messages"
msgstr "Direktnachrichten"
@@ -960,7 +960,6 @@ msgid "Updates"
msgstr ""
#: bookwyrm/templates/feed/feed_layout.html:10
-#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr "Deine Bücher"
@@ -1022,7 +1021,7 @@ msgid "What are you reading?"
msgstr "Zu lesen angefangen"
#: bookwyrm/templates/get_started/books.html:9
-#: bookwyrm/templates/lists/list.html:120
+#: bookwyrm/templates/lists/list.html:135
msgid "Search for a book"
msgstr "Nach einem Buch suchen"
@@ -1042,7 +1041,7 @@ msgstr ""
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
-#: bookwyrm/templates/lists/list.html:124
+#: bookwyrm/templates/lists/list.html:139
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
msgid "Search"
@@ -1061,7 +1060,7 @@ msgid "Popular on %(site_name)s"
msgstr "Über %(site_name)s"
#: bookwyrm/templates/get_started/books.html:58
-#: bookwyrm/templates/lists/list.html:137
+#: bookwyrm/templates/lists/list.html:152
msgid "No books found"
msgstr "Keine Bücher gefunden"
@@ -1184,7 +1183,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "%(username)ss %(year)s Bücher"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/layout.html:97
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Import Books"
msgstr "Bücher importieren"
@@ -1271,14 +1270,14 @@ msgstr "Buch"
#: bookwyrm/templates/import_status.html:114
#: bookwyrm/templates/snippets/create_status_form.html:13
-#: bookwyrm/templates/user/shelf/shelf.html:78
-#: bookwyrm/templates/user/shelf/shelf.html:98
+#: bookwyrm/templates/user/shelf/shelf.html:79
+#: bookwyrm/templates/user/shelf/shelf.html:99
msgid "Title"
msgstr "Titel"
#: bookwyrm/templates/import_status.html:117
-#: bookwyrm/templates/user/shelf/shelf.html:79
-#: bookwyrm/templates/user/shelf/shelf.html:101
+#: bookwyrm/templates/user/shelf/shelf.html:80
+#: bookwyrm/templates/user/shelf/shelf.html:102
msgid "Author"
msgstr "Autor*in"
@@ -1320,15 +1319,21 @@ msgstr "Suche nach Buch oder Benutzer*in"
msgid "Main navigation menu"
msgstr "Navigationshauptmenü"
-#: bookwyrm/templates/layout.html:61
+#: bookwyrm/templates/layout.html:58
msgid "Feed"
msgstr ""
-#: bookwyrm/templates/layout.html:102
+#: bookwyrm/templates/layout.html:87
+#, fuzzy
+#| msgid "Your books"
+msgid "Your Books"
+msgstr "Deine Bücher"
+
+#: bookwyrm/templates/layout.html:97
msgid "Settings"
msgstr "Einstellungen"
-#: bookwyrm/templates/layout.html:111
+#: bookwyrm/templates/layout.html:106
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@@ -1336,45 +1341,47 @@ msgstr "Einstellungen"
msgid "Invites"
msgstr "Einladungen"
-#: bookwyrm/templates/layout.html:118
+#: bookwyrm/templates/layout.html:113
msgid "Admin"
msgstr ""
-#: bookwyrm/templates/layout.html:125
+#: bookwyrm/templates/layout.html:120
msgid "Log out"
msgstr "Abmelden"
-#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
+#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr "Benachrichtigungen"
-#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
+#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr ""
-#: bookwyrm/templates/layout.html:159
+#: bookwyrm/templates/layout.html:156
msgid "password"
msgstr "Passwort"
-#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
+#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
+#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr "Anmelden"
-#: bookwyrm/templates/layout.html:171
+#: bookwyrm/templates/layout.html:168
msgid "Join"
msgstr ""
#: bookwyrm/templates/layout.html:206
-msgid "About this server"
+#, fuzzy
+#| msgid "About this server"
+msgid "About this instance"
msgstr "Über diesen Server"
#: bookwyrm/templates/layout.html:210
@@ -1438,7 +1445,7 @@ msgid "Discard"
msgstr "Ablehnen"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/list_layout.html:17
+#: bookwyrm/templates/lists/list_layout.html:16
msgid "Edit List"
msgstr "Liste bearbeiten"
@@ -1487,63 +1494,64 @@ msgstr "Alle können Bücher hinzufügen"
msgid "This list is currently empty"
msgstr "Diese Liste ist momentan leer"
-#: bookwyrm/templates/lists/list.html:65
+#: bookwyrm/templates/lists/list.html:66
#, fuzzy, python-format
#| msgid "Direct Messages with %(username)s "
msgid "Added by %(username)s "
msgstr "Direktnachrichten mit %(username)s "
-#: bookwyrm/templates/lists/list.html:77
-#, fuzzy
-#| msgid "Started"
-msgid "Set"
-msgstr "Gestartet"
-
-#: bookwyrm/templates/lists/list.html:80
+#: bookwyrm/templates/lists/list.html:74
#, fuzzy
#| msgid "List curation:"
msgid "List position"
msgstr "Listenkuratierung:"
-#: bookwyrm/templates/lists/list.html:86
+#: bookwyrm/templates/lists/list.html:81
+#, fuzzy
+#| msgid "Started"
+msgid "Set"
+msgstr "Gestartet"
+
+#: bookwyrm/templates/lists/list.html:89
#: bookwyrm/templates/snippets/shelf_selector.html:26
msgid "Remove"
msgstr "Entfernen"
-#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
+#: bookwyrm/templates/lists/list.html:103
+#: bookwyrm/templates/lists/list.html:120
#, fuzzy
#| msgid "Your Lists"
msgid "Sort List"
msgstr "Deine Listen"
-#: bookwyrm/templates/lists/list.html:105
+#: bookwyrm/templates/lists/list.html:113
#, fuzzy
#| msgid "List curation:"
msgid "Direction"
msgstr "Listenkuratierung:"
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:127
msgid "Add Books"
msgstr "Bücher hinzufügen"
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:129
msgid "Suggest Books"
msgstr "Bücher vorschlagen"
-#: bookwyrm/templates/lists/list.html:125
+#: bookwyrm/templates/lists/list.html:140
msgid "search"
msgstr "suchen"
-#: bookwyrm/templates/lists/list.html:131
+#: bookwyrm/templates/lists/list.html:146
msgid "Clear search"
msgstr "Suche leeren"
-#: bookwyrm/templates/lists/list.html:136
+#: bookwyrm/templates/lists/list.html:151
#, python-format
msgid "No books found matching the query \"%(query)s\""
msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden"
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Suggest"
msgstr "Vorschlagen"
@@ -1643,7 +1651,7 @@ msgstr "Lösen"
#: bookwyrm/templates/moderation/reports.html:6
#, fuzzy, python-format
#| msgid "Lists: %(username)s"
-msgid "Reports: %(server_name)s"
+msgid "Reports: %(instance_name)s"
msgstr "Listen: %(username)s"
#: bookwyrm/templates/moderation/reports.html:8
@@ -1657,7 +1665,7 @@ msgstr "Aktuelle Importe"
#: bookwyrm/templates/moderation/reports.html:14
#, fuzzy, python-format
#| msgid "Lists: %(username)s"
-msgid "Reports: %(server_name)s "
+msgid "Reports: %(instance_name)s "
msgstr "Listen: %(username)s"
#: bookwyrm/templates/moderation/reports.html:28
@@ -1863,6 +1871,26 @@ msgstr "Profil"
msgid "Relationships"
msgstr "Beziehungen"
+#: bookwyrm/templates/rss/title.html:5
+#: bookwyrm/templates/snippets/status/status_header.html:35
+msgid "rated"
+msgstr ""
+
+#: bookwyrm/templates/rss/title.html:7
+#: bookwyrm/templates/snippets/status/status_header.html:37
+msgid "reviewed"
+msgstr "bewertete"
+
+#: bookwyrm/templates/rss/title.html:9
+#: bookwyrm/templates/snippets/status/status_header.html:39
+msgid "commented on"
+msgstr "kommentierte"
+
+#: bookwyrm/templates/rss/title.html:11
+#: bookwyrm/templates/snippets/status/status_header.html:41
+msgid "quoted"
+msgstr "zitierte"
+
#: bookwyrm/templates/search/book.html:64
#, fuzzy
#| msgid "Show results from other catalogues"
@@ -1922,7 +1950,9 @@ msgstr "Nutzer*innen verwalten"
#: bookwyrm/templates/settings/admin_layout.html:39
#: bookwyrm/templates/settings/federation.html:3
#: bookwyrm/templates/settings/federation.html:5
-msgid "Federated Servers"
+#, fuzzy
+#| msgid "Federated Servers"
+msgid "Federated Instances"
msgstr "Föderierende Server"
#: bookwyrm/templates/settings/admin_layout.html:44
@@ -1976,6 +2006,7 @@ msgid "Back to list"
msgstr "Zurück zu den Meldungen"
#: bookwyrm/templates/settings/announcement.html:11
+#: bookwyrm/templates/settings/announcement_form.html:6
#, fuzzy
#| msgid "Announcements"
msgid "Edit Announcement"
@@ -2017,7 +2048,7 @@ msgstr "Geburtsdatum:"
msgid "Active:"
msgstr "Aktivität"
-#: bookwyrm/templates/settings/announcement_form.html:5
+#: bookwyrm/templates/settings/announcement_form.html:8
#: bookwyrm/templates/settings/announcements.html:8
#, fuzzy
#| msgid "Announcements"
@@ -2076,15 +2107,15 @@ msgstr "Aktivität"
#: bookwyrm/templates/settings/server_blocklist.html:3
#: bookwyrm/templates/settings/server_blocklist.html:20
#, fuzzy
-#| msgid "Add cover"
-msgid "Add server"
-msgstr "Cover hinzufügen"
+#| msgid "Instance Name:"
+msgid "Add instance"
+msgstr "Instanzname"
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/server_blocklist.html:7
#, fuzzy
#| msgid "Back to reports"
-msgid "Back to server list"
+msgid "Back to instance list"
msgstr "Zurück zu den Meldungen"
#: bookwyrm/templates/settings/edit_server.html:16
@@ -2213,8 +2244,10 @@ msgstr ""
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
-msgid "Server name"
-msgstr "Servername"
+#, fuzzy
+#| msgid "Instance Name:"
+msgid "Instance name"
+msgstr "Instanzname"
#: bookwyrm/templates/settings/federation.html:23
#, fuzzy
@@ -2353,7 +2386,7 @@ msgid "Import Blocklist"
msgstr "Bücher importieren"
#: bookwyrm/templates/settings/server_blocklist.html:26
-#: bookwyrm/templates/snippets/goal_progress.html:5
+#: bookwyrm/templates/snippets/goal_progress.html:7
msgid "Success!"
msgstr "Erfolg!"
@@ -2446,15 +2479,15 @@ msgstr "Cover hinzufügen"
msgid "%(title)s by "
msgstr "%(title)s von "
-#: bookwyrm/templates/snippets/boost_button.html:9
-#: bookwyrm/templates/snippets/boost_button.html:10
+#: bookwyrm/templates/snippets/boost_button.html:20
+#: bookwyrm/templates/snippets/boost_button.html:21
#, fuzzy
#| msgid "boosted"
msgid "Boost"
msgstr "teilt"
-#: bookwyrm/templates/snippets/boost_button.html:16
-#: bookwyrm/templates/snippets/boost_button.html:17
+#: bookwyrm/templates/snippets/boost_button.html:33
+#: bookwyrm/templates/snippets/boost_button.html:34
#, fuzzy
#| msgid "Un-boost status"
msgid "Un-boost"
@@ -2554,13 +2587,13 @@ msgstr "Diese Lesedaten löschen?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates."
-#: bookwyrm/templates/snippets/fav_button.html:9
-#: bookwyrm/templates/snippets/fav_button.html:11
+#: bookwyrm/templates/snippets/fav_button.html:10
+#: bookwyrm/templates/snippets/fav_button.html:12
msgid "Like"
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:17
#: bookwyrm/templates/snippets/fav_button.html:18
+#: bookwyrm/templates/snippets/fav_button.html:19
#, fuzzy
#| msgid "Un-like status"
msgid "Un-like"
@@ -2609,6 +2642,14 @@ msgstr "Annehmen"
msgid "No rating"
msgstr "Kein Rating"
+#: bookwyrm/templates/snippets/form_rate_stars.html:44
+#: bookwyrm/templates/snippets/stars.html:7
+#, python-format
+msgid "%(rating)s star"
+msgid_plural "%(rating)s stars"
+msgstr[0] ""
+msgstr[1] ""
+
#: bookwyrm/templates/snippets/generated_status/goal.html:1
#, python-format
msgid "set a goal to read %(counter)s book in %(year)s"
@@ -2664,17 +2705,17 @@ msgstr "Posten"
msgid "Set goal"
msgstr "Ziel setzen"
-#: bookwyrm/templates/snippets/goal_progress.html:7
+#: bookwyrm/templates/snippets/goal_progress.html:9
#, python-format
msgid "%(percent)s%% complete!"
msgstr "%(percent)s%% komplett!"
-#: bookwyrm/templates/snippets/goal_progress.html:10
+#: bookwyrm/templates/snippets/goal_progress.html:12
#, python-format
msgid "You've read %(read_count)s of %(goal_count)s books ."
msgstr "Du hast %(read_count)s von %(goal_count)s Büchern gelesen."
-#: bookwyrm/templates/snippets/goal_progress.html:12
+#: bookwyrm/templates/snippets/goal_progress.html:14
#, python-format
msgid "%(username)s has read %(read_count)s of %(goal_count)s books ."
msgstr "%(username)s hat %(read_count)s von %(goal_count)s Büchern gelesen."
@@ -2787,26 +2828,6 @@ msgstr "Registrieren"
msgid "Report"
msgstr "Importieren"
-#: bookwyrm/templates/snippets/rss_title.html:5
-#: bookwyrm/templates/snippets/status/status_header.html:35
-msgid "rated"
-msgstr ""
-
-#: bookwyrm/templates/snippets/rss_title.html:7
-#: bookwyrm/templates/snippets/status/status_header.html:37
-msgid "reviewed"
-msgstr "bewertete"
-
-#: bookwyrm/templates/snippets/rss_title.html:9
-#: bookwyrm/templates/snippets/status/status_header.html:39
-msgid "commented on"
-msgstr "kommentierte"
-
-#: bookwyrm/templates/snippets/rss_title.html:11
-#: bookwyrm/templates/snippets/status/status_header.html:41
-msgid "quoted"
-msgstr "zitierte"
-
#: bookwyrm/templates/snippets/search_result_text.html:36
msgid "Import book"
msgstr "Buch importieren"
@@ -2989,7 +3010,7 @@ msgstr "Regal bearbeiten"
msgid "Update shelf"
msgstr "Regal aktualisieren"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
+#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
#, fuzzy
#| msgid "books"
msgid "All books"
@@ -2999,30 +3020,30 @@ msgstr "Bücher"
msgid "Create shelf"
msgstr "Regal erstellen"
-#: bookwyrm/templates/user/shelf/shelf.html:61
+#: bookwyrm/templates/user/shelf/shelf.html:62
msgid "Edit shelf"
msgstr "Regal bearbeiten"
-#: bookwyrm/templates/user/shelf/shelf.html:80
-#: bookwyrm/templates/user/shelf/shelf.html:104
+#: bookwyrm/templates/user/shelf/shelf.html:81
+#: bookwyrm/templates/user/shelf/shelf.html:105
msgid "Shelved"
msgstr "Ins Regal gestellt"
-#: bookwyrm/templates/user/shelf/shelf.html:81
-#: bookwyrm/templates/user/shelf/shelf.html:108
+#: bookwyrm/templates/user/shelf/shelf.html:82
+#: bookwyrm/templates/user/shelf/shelf.html:109
msgid "Started"
msgstr "Gestartet"
-#: bookwyrm/templates/user/shelf/shelf.html:82
-#: bookwyrm/templates/user/shelf/shelf.html:111
+#: bookwyrm/templates/user/shelf/shelf.html:83
+#: bookwyrm/templates/user/shelf/shelf.html:112
msgid "Finished"
msgstr "Abgeschlossen"
-#: bookwyrm/templates/user/shelf/shelf.html:137
+#: bookwyrm/templates/user/shelf/shelf.html:138
msgid "This shelf is empty."
msgstr "Dieses Regal ist leer."
-#: bookwyrm/templates/user/shelf/shelf.html:143
+#: bookwyrm/templates/user/shelf/shelf.html:144
msgid "Delete shelf"
msgstr "Regal löschen"
@@ -3084,9 +3105,10 @@ msgid "Back to users"
msgstr "Zurück zu den Meldungen"
#: bookwyrm/templates/user_admin/user_admin.html:7
-#, python-format
-msgid "Users: %(server_name)s "
-msgstr ""
+#, fuzzy, python-format
+#| msgid "Lists: %(username)s"
+msgid "Users: %(instance_name)s "
+msgstr "Listen: %(username)s"
#: bookwyrm/templates/user_admin/user_admin.html:22
#: bookwyrm/templates/user_admin/username_filter.html:5
@@ -3107,9 +3129,9 @@ msgstr ""
#: bookwyrm/templates/user_admin/user_admin.html:38
#, fuzzy
-#| msgid "Remove"
-msgid "Remote server"
-msgstr "Entfernen"
+#| msgid "Instance Name:"
+msgid "Remote instance"
+msgstr "Instanzname"
#: bookwyrm/templates/user_admin/user_admin.html:47
#, fuzzy
@@ -3158,6 +3180,10 @@ msgstr ""
msgid "Access level:"
msgstr ""
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
+msgid "File exceeds maximum size: 10MB"
+msgstr ""
+
#: bookwyrm/views/import_data.py:67
#, fuzzy
#| msgid "Email address:"
@@ -3175,6 +3201,27 @@ msgstr "Dieser Benutzename ist bereits vergeben."
msgid "A password reset link sent to %s"
msgstr ""
+#, fuzzy
+#~| msgid "Lists: %(username)s"
+#~ msgid "Reports: %(server_name)s "
+#~ msgstr "Listen: %(username)s"
+
+#~ msgid "Federated Servers"
+#~ msgstr "Föderierende Server"
+
+#~ msgid "Server name"
+#~ msgstr "Servername"
+
+#, fuzzy
+#~| msgid "Add cover"
+#~ msgid "Add server"
+#~ msgstr "Cover hinzufügen"
+
+#, fuzzy
+#~| msgid "Remove"
+#~ msgid "Remote server"
+#~ msgstr "Entfernen"
+
#, fuzzy
#~| msgid "Book"
#~ msgid "BookWyrm\\"
@@ -3225,12 +3272,12 @@ msgstr ""
#~ msgid "Enter a number."
#~ msgstr "Seriennummer:"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "A user with that username already exists."
#~ msgid "%(model_name)s with this %(field_labels)s already exists."
#~ msgstr "Dieser Benutzename ist bereits vergeben."
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid remote_id"
#~ msgid "Value %(value)r is not a valid choice."
#~ msgstr "%(value)s ist keine gültige remote_id"
@@ -3240,7 +3287,7 @@ msgstr ""
#~ msgid "This field cannot be null."
#~ msgstr "Dieses Regal ist leer."
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "A user with that username already exists."
#~ msgid "%(model_name)s with this %(field_label)s already exists."
#~ msgstr "Dieser Benutzename ist bereits vergeben."
@@ -3250,7 +3297,7 @@ msgstr ""
#~ msgid "Comma-separated integers"
#~ msgstr "Keine aktiven Einladungen"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(value)s” value must be a decimal number."
#~ msgstr "%(value)s ist kein gültiger Username"
@@ -3270,7 +3317,7 @@ msgstr ""
#~ msgid "Email address"
#~ msgstr "E-Mail Adresse"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(value)s” value must be a float."
#~ msgstr "%(value)s ist kein gültiger Username"
@@ -3300,7 +3347,7 @@ msgstr ""
#~ msgid "Positive small integer"
#~ msgstr "Keine aktiven Einladungen"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(value)s” is not a valid UUID."
#~ msgstr "%(value)s ist kein gültiger Username"
@@ -3315,12 +3362,12 @@ msgstr ""
#~ msgid "One-to-one relationship"
#~ msgstr "Beziehungen"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Relationships"
#~ msgid "%(from)s-%(to)s relationship"
#~ msgstr "Beziehungen"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Relationships"
#~ msgid "%(from)s-%(to)s relationships"
#~ msgstr "Beziehungen"
@@ -3375,7 +3422,7 @@ msgstr ""
#~ msgid "Enter a valid UUID."
#~ msgstr "E-Mail Adresse"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(pk)s” is not a valid value."
#~ msgstr "%(value)s ist kein gültiger Username"
@@ -3439,12 +3486,12 @@ msgstr ""
#~ msgid "This is not a valid IPv6 address."
#~ msgstr "E-Mail Adresse"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "No books found matching the query \"%(query)s\""
#~ msgid "No %(verbose_name)s found matching the query"
#~ msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(path)s” does not exist"
#~ msgstr "%(value)s ist kein gültiger Username"
@@ -3463,11 +3510,9 @@ msgstr ""
#~ msgid "Matching Users"
#~ msgstr "Passende Nutzer*innen"
-#, python-format
#~ msgid "Set a reading goal for %(year)s"
#~ msgstr "Leseziel für %(year)s setzen"
-#, python-format
#~ msgid "by %(author)s"
#~ msgstr "von %(author)s"
@@ -3477,17 +3522,17 @@ msgstr ""
#~ msgid "Reactivate user"
#~ msgstr "Nutzer:in reaktivieren"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Direct Messages with %(username)s "
#~ msgid "replied to %(username)s's review "
#~ msgstr "Direktnachrichten mit %(username)s "
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "replied to your status "
#~ msgid "replied to %(username)s's comment "
#~ msgstr "hat auf deinen Status geantwortet"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "replied to your status "
#~ msgid "replied to %(username)s's quote "
#~ msgstr "hat auf deinen Status geantwortet "
@@ -3498,7 +3543,6 @@ msgstr ""
#~ msgid "Add tag"
#~ msgstr "Tag hinzufügen"
-#, python-format
#~ msgid "Books tagged \"%(tag.name)s\""
#~ msgstr "Mit \"%(tag.name)s\" markierte Bücher"
@@ -3507,7 +3551,7 @@ msgstr ""
#~ msgid "Getting Started"
#~ msgstr "Gestartet"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "No users found for \"%(query)s\""
#~ msgid "No users were found for \"%(query)s\""
#~ msgstr "Keine Nutzer*innen für \"%(query)s\" gefunden"
@@ -3515,7 +3559,7 @@ msgstr ""
#~ msgid "Your lists"
#~ msgstr "Deine Listen"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "See all %(size)s"
#~ msgid "See all %(size)s lists"
#~ msgstr "Alle %(size)s anzeigen"
@@ -3538,14 +3582,12 @@ msgstr ""
#~ msgid "Your Shelves"
#~ msgstr "Deine Regale"
-#, python-format
#~ msgid "%(username)s: Shelves"
#~ msgstr "%(username)s: Regale"
#~ msgid "Shelves"
#~ msgstr "Regale"
-#, python-format
#~ msgid "See all %(shelf_count)s shelves"
#~ msgstr "Alle %(shelf_count)s Regale anzeigen"
diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po
index 1fa5eb30..8c36a2cb 100644
--- a/locale/en_US/LC_MESSAGES/django.po
+++ b/locale/en_US/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 14:40-0700\n"
+"POT-Creation-Date: 2021-06-06 20:52+0000\n"
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
"Last-Translator: Mouse Reeve \n"
"Language-Team: English \n"
@@ -56,12 +56,12 @@ msgid "Book Title"
msgstr ""
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
-#: bookwyrm/templates/user/shelf/shelf.html:84
-#: bookwyrm/templates/user/shelf/shelf.html:115
+#: bookwyrm/templates/user/shelf/shelf.html:85
+#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr ""
-#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
+#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr ""
@@ -73,41 +73,41 @@ msgstr ""
msgid "Descending"
msgstr ""
-#: bookwyrm/models/fields.py:24
+#: bookwyrm/models/fields.py:25
#, python-format
msgid "%(value)s is not a valid remote_id"
msgstr ""
-#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
+#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
#, python-format
msgid "%(value)s is not a valid username"
msgstr ""
-#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
+#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
msgid "username"
msgstr ""
-#: bookwyrm/models/fields.py:170
+#: bookwyrm/models/fields.py:171
msgid "A user with that username already exists."
msgstr ""
-#: bookwyrm/settings.py:155
+#: bookwyrm/settings.py:156
msgid "English"
msgstr ""
-#: bookwyrm/settings.py:156
+#: bookwyrm/settings.py:157
msgid "German"
msgstr ""
-#: bookwyrm/settings.py:157
+#: bookwyrm/settings.py:158
msgid "Spanish"
msgstr ""
-#: bookwyrm/settings.py:158
+#: bookwyrm/settings.py:159
msgid "French"
msgstr ""
-#: bookwyrm/settings.py:159
+#: bookwyrm/settings.py:160
msgid "Simplified Chinese"
msgstr ""
@@ -248,7 +248,7 @@ msgstr ""
#: bookwyrm/templates/book/edit_book.html:263
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:70
-#: bookwyrm/templates/settings/announcement_form.html:65
+#: bookwyrm/templates/settings/announcement_form.html:69
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
@@ -367,7 +367,7 @@ msgstr ""
msgid "Places"
msgstr ""
-#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
+#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@@ -381,7 +381,7 @@ msgstr ""
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Add"
msgstr ""
@@ -511,7 +511,7 @@ msgid "John Doe, Jane Smith"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:183
-#: bookwyrm/templates/user/shelf/shelf.html:77
+#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr ""
@@ -630,7 +630,7 @@ msgstr ""
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
-#: bookwyrm/templates/layout.html:92
+#: bookwyrm/templates/layout.html:64
msgid "Directory"
msgstr ""
@@ -831,7 +831,7 @@ msgid "Direct Messages with %(username)s "
msgstr ""
#: bookwyrm/templates/feed/direct_messages.html:10
-#: bookwyrm/templates/layout.html:87
+#: bookwyrm/templates/layout.html:92
msgid "Direct Messages"
msgstr ""
@@ -887,7 +887,6 @@ msgid "Updates"
msgstr ""
#: bookwyrm/templates/feed/feed_layout.html:10
-#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr ""
@@ -942,7 +941,7 @@ msgid "What are you reading?"
msgstr ""
#: bookwyrm/templates/get_started/books.html:9
-#: bookwyrm/templates/lists/list.html:120
+#: bookwyrm/templates/lists/list.html:135
msgid "Search for a book"
msgstr ""
@@ -962,7 +961,7 @@ msgstr ""
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
-#: bookwyrm/templates/lists/list.html:124
+#: bookwyrm/templates/lists/list.html:139
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
msgid "Search"
@@ -978,7 +977,7 @@ msgid "Popular on %(site_name)s"
msgstr ""
#: bookwyrm/templates/get_started/books.html:58
-#: bookwyrm/templates/lists/list.html:137
+#: bookwyrm/templates/lists/list.html:152
msgid "No books found"
msgstr ""
@@ -1090,7 +1089,7 @@ msgid "%(username)s's %(year)s Books"
msgstr ""
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/layout.html:97
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Import Books"
msgstr ""
@@ -1175,14 +1174,14 @@ msgstr ""
#: bookwyrm/templates/import_status.html:114
#: bookwyrm/templates/snippets/create_status_form.html:13
-#: bookwyrm/templates/user/shelf/shelf.html:78
-#: bookwyrm/templates/user/shelf/shelf.html:98
+#: bookwyrm/templates/user/shelf/shelf.html:79
+#: bookwyrm/templates/user/shelf/shelf.html:99
msgid "Title"
msgstr ""
#: bookwyrm/templates/import_status.html:117
-#: bookwyrm/templates/user/shelf/shelf.html:79
-#: bookwyrm/templates/user/shelf/shelf.html:101
+#: bookwyrm/templates/user/shelf/shelf.html:80
+#: bookwyrm/templates/user/shelf/shelf.html:102
msgid "Author"
msgstr ""
@@ -1224,15 +1223,19 @@ msgstr ""
msgid "Main navigation menu"
msgstr ""
-#: bookwyrm/templates/layout.html:61
+#: bookwyrm/templates/layout.html:58
msgid "Feed"
msgstr ""
-#: bookwyrm/templates/layout.html:102
+#: bookwyrm/templates/layout.html:87
+msgid "Your Books"
+msgstr ""
+
+#: bookwyrm/templates/layout.html:97
msgid "Settings"
msgstr ""
-#: bookwyrm/templates/layout.html:111
+#: bookwyrm/templates/layout.html:106
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@@ -1240,45 +1243,45 @@ msgstr ""
msgid "Invites"
msgstr ""
-#: bookwyrm/templates/layout.html:118
+#: bookwyrm/templates/layout.html:113
msgid "Admin"
msgstr ""
-#: bookwyrm/templates/layout.html:125
+#: bookwyrm/templates/layout.html:120
msgid "Log out"
msgstr ""
-#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
+#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr ""
-#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
+#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr ""
-#: bookwyrm/templates/layout.html:159
+#: bookwyrm/templates/layout.html:156
msgid "password"
msgstr ""
-#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
+#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr ""
-#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
+#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr ""
-#: bookwyrm/templates/layout.html:171
+#: bookwyrm/templates/layout.html:168
msgid "Join"
msgstr ""
#: bookwyrm/templates/layout.html:206
-msgid "About this server"
+msgid "About this instance"
msgstr ""
#: bookwyrm/templates/layout.html:210
@@ -1338,7 +1341,7 @@ msgid "Discard"
msgstr ""
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/list_layout.html:17
+#: bookwyrm/templates/lists/list_layout.html:16
msgid "Edit List"
msgstr ""
@@ -1385,54 +1388,55 @@ msgstr ""
msgid "This list is currently empty"
msgstr ""
-#: bookwyrm/templates/lists/list.html:65
+#: bookwyrm/templates/lists/list.html:66
#, python-format
msgid "Added by %(username)s "
msgstr ""
-#: bookwyrm/templates/lists/list.html:77
-msgid "Set"
-msgstr ""
-
-#: bookwyrm/templates/lists/list.html:80
+#: bookwyrm/templates/lists/list.html:74
msgid "List position"
msgstr ""
-#: bookwyrm/templates/lists/list.html:86
+#: bookwyrm/templates/lists/list.html:81
+msgid "Set"
+msgstr ""
+
+#: bookwyrm/templates/lists/list.html:89
#: bookwyrm/templates/snippets/shelf_selector.html:26
msgid "Remove"
msgstr ""
-#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
+#: bookwyrm/templates/lists/list.html:103
+#: bookwyrm/templates/lists/list.html:120
msgid "Sort List"
msgstr ""
-#: bookwyrm/templates/lists/list.html:105
+#: bookwyrm/templates/lists/list.html:113
msgid "Direction"
msgstr ""
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:127
msgid "Add Books"
msgstr ""
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:129
msgid "Suggest Books"
msgstr ""
-#: bookwyrm/templates/lists/list.html:125
+#: bookwyrm/templates/lists/list.html:140
msgid "search"
msgstr ""
-#: bookwyrm/templates/lists/list.html:131
+#: bookwyrm/templates/lists/list.html:146
msgid "Clear search"
msgstr ""
-#: bookwyrm/templates/lists/list.html:136
+#: bookwyrm/templates/lists/list.html:151
#, python-format
msgid "No books found matching the query \"%(query)s\""
msgstr ""
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Suggest"
msgstr ""
@@ -1523,7 +1527,7 @@ msgstr ""
#: bookwyrm/templates/moderation/reports.html:6
#, python-format
-msgid "Reports: %(server_name)s"
+msgid "Reports: %(instance_name)s"
msgstr ""
#: bookwyrm/templates/moderation/reports.html:8
@@ -1534,7 +1538,7 @@ msgstr ""
#: bookwyrm/templates/moderation/reports.html:14
#, python-format
-msgid "Reports: %(server_name)s "
+msgid "Reports: %(instance_name)s "
msgstr ""
#: bookwyrm/templates/moderation/reports.html:28
@@ -1733,6 +1737,26 @@ msgstr ""
msgid "Relationships"
msgstr ""
+#: bookwyrm/templates/rss/title.html:5
+#: bookwyrm/templates/snippets/status/status_header.html:35
+msgid "rated"
+msgstr ""
+
+#: bookwyrm/templates/rss/title.html:7
+#: bookwyrm/templates/snippets/status/status_header.html:37
+msgid "reviewed"
+msgstr ""
+
+#: bookwyrm/templates/rss/title.html:9
+#: bookwyrm/templates/snippets/status/status_header.html:39
+msgid "commented on"
+msgstr ""
+
+#: bookwyrm/templates/rss/title.html:11
+#: bookwyrm/templates/snippets/status/status_header.html:41
+msgid "quoted"
+msgstr ""
+
#: bookwyrm/templates/search/book.html:64
msgid "Load results from other catalogues"
msgstr ""
@@ -1783,7 +1807,7 @@ msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:39
#: bookwyrm/templates/settings/federation.html:3
#: bookwyrm/templates/settings/federation.html:5
-msgid "Federated Servers"
+msgid "Federated Instances"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:44
@@ -1833,6 +1857,7 @@ msgid "Back to list"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:11
+#: bookwyrm/templates/settings/announcement_form.html:6
msgid "Edit Announcement"
msgstr ""
@@ -1866,7 +1891,7 @@ msgstr ""
msgid "Active:"
msgstr ""
-#: bookwyrm/templates/settings/announcement_form.html:5
+#: bookwyrm/templates/settings/announcement_form.html:8
#: bookwyrm/templates/settings/announcements.html:8
msgid "Create Announcement"
msgstr ""
@@ -1910,12 +1935,12 @@ msgstr ""
#: bookwyrm/templates/settings/federation.html:10
#: bookwyrm/templates/settings/server_blocklist.html:3
#: bookwyrm/templates/settings/server_blocklist.html:20
-msgid "Add server"
+msgid "Add instance"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/server_blocklist.html:7
-msgid "Back to server list"
+msgid "Back to instance list"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:16
@@ -2022,7 +2047,7 @@ msgstr ""
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
-msgid "Server name"
+msgid "Instance name"
msgstr ""
#: bookwyrm/templates/settings/federation.html:23
@@ -2144,7 +2169,7 @@ msgid "Import Blocklist"
msgstr ""
#: bookwyrm/templates/settings/server_blocklist.html:26
-#: bookwyrm/templates/snippets/goal_progress.html:5
+#: bookwyrm/templates/snippets/goal_progress.html:7
msgid "Success!"
msgstr ""
@@ -2230,13 +2255,13 @@ msgstr ""
msgid "%(title)s by "
msgstr ""
-#: bookwyrm/templates/snippets/boost_button.html:9
-#: bookwyrm/templates/snippets/boost_button.html:10
+#: bookwyrm/templates/snippets/boost_button.html:20
+#: bookwyrm/templates/snippets/boost_button.html:21
msgid "Boost"
msgstr ""
-#: bookwyrm/templates/snippets/boost_button.html:16
-#: bookwyrm/templates/snippets/boost_button.html:17
+#: bookwyrm/templates/snippets/boost_button.html:33
+#: bookwyrm/templates/snippets/boost_button.html:34
msgid "Un-boost"
msgstr ""
@@ -2326,13 +2351,13 @@ msgstr ""
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:9
-#: bookwyrm/templates/snippets/fav_button.html:11
+#: bookwyrm/templates/snippets/fav_button.html:10
+#: bookwyrm/templates/snippets/fav_button.html:12
msgid "Like"
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:17
#: bookwyrm/templates/snippets/fav_button.html:18
+#: bookwyrm/templates/snippets/fav_button.html:19
msgid "Un-like"
msgstr ""
@@ -2373,6 +2398,14 @@ msgstr ""
msgid "No rating"
msgstr ""
+#: bookwyrm/templates/snippets/form_rate_stars.html:44
+#: bookwyrm/templates/snippets/stars.html:7
+#, python-format
+msgid "%(rating)s star"
+msgid_plural "%(rating)s stars"
+msgstr[0] ""
+msgstr[1] ""
+
#: bookwyrm/templates/snippets/generated_status/goal.html:1
#, python-format
msgid "set a goal to read %(counter)s book in %(year)s"
@@ -2427,17 +2460,17 @@ msgstr ""
msgid "Set goal"
msgstr ""
-#: bookwyrm/templates/snippets/goal_progress.html:7
+#: bookwyrm/templates/snippets/goal_progress.html:9
#, python-format
msgid "%(percent)s%% complete!"
msgstr ""
-#: bookwyrm/templates/snippets/goal_progress.html:10
+#: 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:12
+#: bookwyrm/templates/snippets/goal_progress.html:14
#, python-format
msgid "%(username)s has read %(read_count)s of %(goal_count)s books ."
msgstr ""
@@ -2546,26 +2579,6 @@ msgstr ""
msgid "Report"
msgstr ""
-#: bookwyrm/templates/snippets/rss_title.html:5
-#: bookwyrm/templates/snippets/status/status_header.html:35
-msgid "rated"
-msgstr ""
-
-#: bookwyrm/templates/snippets/rss_title.html:7
-#: bookwyrm/templates/snippets/status/status_header.html:37
-msgid "reviewed"
-msgstr ""
-
-#: bookwyrm/templates/snippets/rss_title.html:9
-#: bookwyrm/templates/snippets/status/status_header.html:39
-msgid "commented on"
-msgstr ""
-
-#: bookwyrm/templates/snippets/rss_title.html:11
-#: bookwyrm/templates/snippets/status/status_header.html:41
-msgid "quoted"
-msgstr ""
-
#: bookwyrm/templates/snippets/search_result_text.html:36
msgid "Import book"
msgstr ""
@@ -2735,7 +2748,7 @@ msgstr ""
msgid "Update shelf"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
+#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr ""
@@ -2743,30 +2756,30 @@ msgstr ""
msgid "Create shelf"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:61
+#: bookwyrm/templates/user/shelf/shelf.html:62
msgid "Edit shelf"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:80
-#: bookwyrm/templates/user/shelf/shelf.html:104
+#: bookwyrm/templates/user/shelf/shelf.html:81
+#: bookwyrm/templates/user/shelf/shelf.html:105
msgid "Shelved"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:81
-#: bookwyrm/templates/user/shelf/shelf.html:108
+#: bookwyrm/templates/user/shelf/shelf.html:82
+#: bookwyrm/templates/user/shelf/shelf.html:109
msgid "Started"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:82
-#: bookwyrm/templates/user/shelf/shelf.html:111
+#: bookwyrm/templates/user/shelf/shelf.html:83
+#: bookwyrm/templates/user/shelf/shelf.html:112
msgid "Finished"
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:137
+#: bookwyrm/templates/user/shelf/shelf.html:138
msgid "This shelf is empty."
msgstr ""
-#: bookwyrm/templates/user/shelf/shelf.html:143
+#: bookwyrm/templates/user/shelf/shelf.html:144
msgid "Delete shelf"
msgstr ""
@@ -2825,7 +2838,7 @@ msgstr ""
#: bookwyrm/templates/user_admin/user_admin.html:7
#, python-format
-msgid "Users: %(server_name)s "
+msgid "Users: %(instance_name)s "
msgstr ""
#: bookwyrm/templates/user_admin/user_admin.html:22
@@ -2842,7 +2855,7 @@ msgid "Last Active"
msgstr ""
#: bookwyrm/templates/user_admin/user_admin.html:38
-msgid "Remote server"
+msgid "Remote instance"
msgstr ""
#: bookwyrm/templates/user_admin/user_admin.html:47
@@ -2886,6 +2899,10 @@ msgstr ""
msgid "Access level:"
msgstr ""
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
+msgid "File exceeds maximum size: 10MB"
+msgstr ""
+
#: bookwyrm/views/import_data.py:67
msgid "Not a valid csv file"
msgstr ""
diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo
index 0e5df226..54adfb57 100644
Binary files a/locale/es/LC_MESSAGES/django.mo and b/locale/es/LC_MESSAGES/django.mo differ
diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po
index cbf07ea5..c9a19a4d 100644
--- a/locale/es/LC_MESSAGES/django.po
+++ b/locale/es/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-25 01:44+0000\n"
+"POT-Creation-Date: 2021-06-06 20:52+0000\n"
"PO-Revision-Date: 2021-03-19 11:49+0800\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -73,41 +73,41 @@ msgstr "Ascendente"
msgid "Descending"
msgstr "Descendente"
-#: bookwyrm/models/fields.py:24
+#: bookwyrm/models/fields.py:25
#, python-format
msgid "%(value)s is not a valid remote_id"
msgstr "%(value)s no es un remote_id válido"
-#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
+#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
#, python-format
msgid "%(value)s is not a valid username"
msgstr "%(value)s no es un usuario válido"
-#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:152
+#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
msgid "username"
msgstr "nombre de usuario"
-#: bookwyrm/models/fields.py:170
+#: bookwyrm/models/fields.py:171
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con ese nombre."
-#: bookwyrm/settings.py:155
+#: bookwyrm/settings.py:156
msgid "English"
msgstr "Inglés"
-#: bookwyrm/settings.py:156
+#: bookwyrm/settings.py:157
msgid "German"
msgstr "Aléman"
-#: bookwyrm/settings.py:157
+#: bookwyrm/settings.py:158
msgid "Spanish"
msgstr "Español"
-#: bookwyrm/settings.py:158
+#: bookwyrm/settings.py:159
msgid "French"
msgstr "Francés"
-#: bookwyrm/settings.py:159
+#: bookwyrm/settings.py:160
msgid "Simplified Chinese"
msgstr "Chino simplificado"
@@ -1281,7 +1281,9 @@ msgid "Join"
msgstr "Unirse"
#: bookwyrm/templates/layout.html:206
-msgid "About this server"
+#, fuzzy
+#| msgid "About this server"
+msgid "About this instance"
msgstr "Sobre este servidor"
#: bookwyrm/templates/layout.html:210
@@ -1527,8 +1529,8 @@ msgstr "Resolver"
#: bookwyrm/templates/moderation/reports.html:6
#, python-format
-msgid "Reports: %(server_name)s"
-msgstr "Informes: %(server_name)s"
+msgid "Reports: %(instance_name)s"
+msgstr "Informes: %(instance_name)s"
#: bookwyrm/templates/moderation/reports.html:8
#: bookwyrm/templates/moderation/reports.html:17
@@ -1538,8 +1540,8 @@ msgstr "Informes"
#: bookwyrm/templates/moderation/reports.html:14
#, python-format
-msgid "Reports: %(server_name)s "
-msgstr "Informes: %(server_name)s "
+msgid "Reports: %(instance_name)s "
+msgstr "Informes: %(instance_name)s "
#: bookwyrm/templates/moderation/reports.html:28
msgid "Resolved"
@@ -1660,6 +1662,7 @@ msgid " suggested adding %(book_title)s t
msgstr " sugirió agregar %(book_title)s a tu lista \"%(list_name)s \""
#: bookwyrm/templates/notifications.html:128
+#, python-format
msgid "Your import completed."
msgstr "Tu importación ha terminado."
@@ -1791,6 +1794,7 @@ msgid "Users"
msgstr "Usuarios"
#: bookwyrm/templates/search/layout.html:58
+#, python-format
msgid "No results found for \"%(query)s\""
msgstr "No se encontró ningún resultado correspondiente a \"%(query)s\""
@@ -1805,7 +1809,9 @@ msgstr "Administrar usuarios"
#: bookwyrm/templates/settings/admin_layout.html:39
#: bookwyrm/templates/settings/federation.html:3
#: bookwyrm/templates/settings/federation.html:5
-msgid "Federated Servers"
+#, fuzzy
+#| msgid "Federated Servers"
+msgid "Federated Instances"
msgstr "Servidores federalizados"
#: bookwyrm/templates/settings/admin_layout.html:44
@@ -1933,12 +1939,16 @@ msgstr "inactivo"
#: bookwyrm/templates/settings/federation.html:10
#: bookwyrm/templates/settings/server_blocklist.html:3
#: bookwyrm/templates/settings/server_blocklist.html:20
-msgid "Add server"
-msgstr "Agregar servidor"
+#, fuzzy
+#| msgid "View instance"
+msgid "Add instance"
+msgstr "Ver instancia"
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/server_blocklist.html:7
-msgid "Back to server list"
+#, fuzzy
+#| msgid "Back to server list"
+msgid "Back to instance list"
msgstr "Volver a la lista de servidores"
#: bookwyrm/templates/settings/edit_server.html:16
@@ -2045,8 +2055,10 @@ msgstr "Todos los usuarios en esta instancia serán re-activados."
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
-msgid "Server name"
-msgstr "Nombre de servidor"
+#, fuzzy
+#| msgid "Instance Name:"
+msgid "Instance name"
+msgstr "Nombre de instancia:"
#: bookwyrm/templates/settings/federation.html:23
msgid "Date federated"
@@ -2240,6 +2252,7 @@ msgid "Registration closed text:"
msgstr "Texto de registración cerrada:"
#: bookwyrm/templates/snippets/announcement.html:31
+#, python-format
msgid "Posted by %(username)s "
msgstr "Publicado por %(username)s "
@@ -2478,6 +2491,8 @@ msgid "page %(page)s of %(total_pages)s"
msgstr "página %(page)s de %(total_pages)s"
#: bookwyrm/templates/snippets/page_text.html:6
+#, fuzzy, python-format
+#| msgid "page %(page)s"
msgid "page %(page)s"
msgstr "página %(pages)s"
@@ -2822,6 +2837,7 @@ msgid "%(counter)s following"
msgstr "%(counter)s siguiendo"
#: bookwyrm/templates/user/user_preview.html:26
+#, python-format
msgid "%(mutuals_display)s follower you follow"
msgid_plural "%(mutuals_display)s followers you follow"
msgstr[0] "%(mutuals_display)s seguidor que sigues"
@@ -2833,8 +2849,8 @@ msgstr "Volver a usuarios"
#: bookwyrm/templates/user_admin/user_admin.html:7
#, python-format
-msgid "Users: %(server_name)s "
-msgstr "Usuarios %(server_name)s "
+msgid "Users: %(instance_name)s "
+msgstr "Usuarios %(instance_name)s "
#: bookwyrm/templates/user_admin/user_admin.html:22
#: bookwyrm/templates/user_admin/username_filter.html:5
@@ -2850,8 +2866,10 @@ msgid "Last Active"
msgstr "Actividad reciente"
#: bookwyrm/templates/user_admin/user_admin.html:38
-msgid "Remote server"
-msgstr "Quitar servidor"
+#, fuzzy
+#| msgid "View instance"
+msgid "Remote instance"
+msgstr "Ver instancia"
#: bookwyrm/templates/user_admin/user_admin.html:47
msgid "Active"
@@ -2894,6 +2912,10 @@ msgstr "Des-suspender usuario"
msgid "Access level:"
msgstr "Nivel de acceso:"
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
+msgid "File exceeds maximum size: 10MB"
+msgstr ""
+
#: bookwyrm/views/import_data.py:67
msgid "Not a valid csv file"
msgstr "No un archivo csv válido"
@@ -2907,6 +2929,18 @@ msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónic
msgid "A password reset link sent to %s"
msgstr "Un enlace para reestablecer tu contraseña se enviará a %s"
+#~ msgid "Federated Servers"
+#~ msgstr "Servidores federalizados"
+
+#~ msgid "Server name"
+#~ msgstr "Nombre de servidor"
+
+#~ msgid "Add server"
+#~ msgstr "Agregar servidor"
+
+#~ msgid "Remote server"
+#~ msgstr "Quitar servidor"
+
#, fuzzy
#~| msgid "BookWyrm users"
#~ msgid "BookWyrm\\"
diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo
index 8d377f42..67be885b 100644
Binary files a/locale/fr_FR/LC_MESSAGES/django.mo and b/locale/fr_FR/LC_MESSAGES/django.mo differ
diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po
index 57761454..2502cee1 100644
--- a/locale/fr_FR/LC_MESSAGES/django.po
+++ b/locale/fr_FR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 14:40-0700\n"
+"POT-Creation-Date: 2021-06-06 20:52+0000\n"
"PO-Revision-Date: 2021-04-05 12:44+0100\n"
"Last-Translator: Fabien Basmaison \n"
"Language-Team: Mouse Reeve \n"
@@ -49,71 +49,65 @@ msgstr "Sans limite"
#: bookwyrm/forms.py:299
msgid "List Order"
-msgstr ""
+msgstr "Ordre de la liste"
#: bookwyrm/forms.py:300
-#, fuzzy
-#| msgid "Title"
msgid "Book Title"
-msgstr "Titre"
+msgstr "Titre du livre"
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
-#: bookwyrm/templates/user/shelf/shelf.html:84
-#: bookwyrm/templates/user/shelf/shelf.html:115
+#: bookwyrm/templates/user/shelf/shelf.html:85
+#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr "Note"
-#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
+#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
-msgstr ""
+msgstr "Trier par"
#: bookwyrm/forms.py:307
-#, fuzzy
-#| msgid "Sorted ascending"
msgid "Ascending"
-msgstr "Trié par ordre croissant"
+msgstr "Ordre croissant"
#: bookwyrm/forms.py:308
-#, fuzzy
-#| msgid "Sorted ascending"
msgid "Descending"
-msgstr "Trié par ordre croissant"
+msgstr "Ordre décroissant"
-#: bookwyrm/models/fields.py:24
+#: bookwyrm/models/fields.py:25
#, python-format
msgid "%(value)s is not a valid remote_id"
msgstr "%(value)s n’est pas une remote_id valide."
-#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
+#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
#, python-format
msgid "%(value)s is not a valid username"
msgstr "%(value)s n’est pas un nom de compte valide."
-#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
+#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
msgid "username"
msgstr "nom du compte :"
-#: bookwyrm/models/fields.py:170
+#: bookwyrm/models/fields.py:171
msgid "A user with that username already exists."
msgstr "Ce nom est déjà associé à un compte."
-#: bookwyrm/settings.py:155
+#: bookwyrm/settings.py:156
msgid "English"
msgstr "English"
-#: bookwyrm/settings.py:156
+#: bookwyrm/settings.py:157
msgid "German"
msgstr "Deutsch"
-#: bookwyrm/settings.py:157
+#: bookwyrm/settings.py:158
msgid "Spanish"
msgstr "Español"
-#: bookwyrm/settings.py:158
+#: bookwyrm/settings.py:159
msgid "French"
msgstr "Français"
-#: bookwyrm/settings.py:159
+#: bookwyrm/settings.py:160
msgid "Simplified Chinese"
msgstr "简化字"
@@ -145,15 +139,15 @@ msgstr "Modifier l’auteur ou autrice"
#: bookwyrm/templates/author/author.html:32
#: bookwyrm/templates/author/edit_author.html:38
msgid "Aliases:"
-msgstr ""
+msgstr "Pseudonymes :"
#: bookwyrm/templates/author/author.html:38
msgid "Born:"
-msgstr ""
+msgstr "Naissance :"
#: bookwyrm/templates/author/author.html:44
msgid "Died:"
-msgstr ""
+msgstr "Décès :"
#: bookwyrm/templates/author/author.html:51
msgid "Wikipedia"
@@ -166,10 +160,8 @@ msgstr "Voir sur OpenLibrary"
#: bookwyrm/templates/author/author.html:60
#: bookwyrm/templates/book/book.html:81
-#, fuzzy
-#| msgid "View on OpenLibrary"
msgid "View on Inventaire"
-msgstr "Voir sur OpenLibrary"
+msgstr "Voir sur Inventaire"
#: bookwyrm/templates/author/author.html:74
#, python-format
@@ -211,10 +203,8 @@ msgstr "Nom :"
#: bookwyrm/templates/book/edit_book.html:132
#: bookwyrm/templates/book/edit_book.html:141
#: bookwyrm/templates/book/edit_book.html:178
-#, fuzzy
-#| msgid "Separate multiple publishers with commas."
msgid "Separate multiple values with commas."
-msgstr "Séparez plusieurs éditeurs par une virgule."
+msgstr "Séparez plusieurs valeurs par une virgule."
#: bookwyrm/templates/author/edit_author.html:46
msgid "Bio:"
@@ -242,10 +232,8 @@ msgstr "Clé Openlibrary :"
#: bookwyrm/templates/author/edit_author.html:79
#: bookwyrm/templates/book/edit_book.html:243
-#, fuzzy
-#| msgid "View on OpenLibrary"
msgid "Inventaire ID:"
-msgstr "Voir sur OpenLibrary"
+msgstr "Identifiant Inventaire :"
#: bookwyrm/templates/author/edit_author.html:84
msgid "Librarything key:"
@@ -260,7 +248,7 @@ msgstr "Clé Goodreads :"
#: bookwyrm/templates/book/edit_book.html:263
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:70
-#: bookwyrm/templates/settings/announcement_form.html:65
+#: bookwyrm/templates/settings/announcement_form.html:69
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
@@ -356,28 +344,20 @@ 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:200
-#, fuzzy
-#| msgid "Review"
msgid "Reviews"
-msgstr "Critique"
+msgstr "Critiques"
#: bookwyrm/templates/book/book.html:205
-#, fuzzy
-#| msgid "Your shelves"
msgid "Your reviews"
-msgstr "Vos étagères"
+msgstr "Vos critiques"
#: bookwyrm/templates/book/book.html:211
-#, fuzzy
-#| msgid "Your Account"
msgid "Your comments"
-msgstr "Votre compte"
+msgstr "Vos commentaires"
#: bookwyrm/templates/book/book.html:217
-#, fuzzy
-#| msgid "Your books"
msgid "Your quotes"
-msgstr "Vos livres"
+msgstr "Vos citations"
#: bookwyrm/templates/book/book.html:253
msgid "Subjects"
@@ -387,7 +367,7 @@ msgstr "Sujets"
msgid "Places"
msgstr "Lieux"
-#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
+#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@@ -401,7 +381,7 @@ msgstr "Ajouter à la liste"
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Add"
msgstr "Ajouter"
@@ -498,10 +478,8 @@ msgid "Series number:"
msgstr "Numéro dans la série :"
#: bookwyrm/templates/book/edit_book.html:130
-#, fuzzy
-#| msgid "Language:"
msgid "Languages:"
-msgstr "Langue :"
+msgstr "Langues :"
#: bookwyrm/templates/book/edit_book.html:139
msgid "Publisher:"
@@ -533,7 +511,7 @@ msgid "John Doe, Jane Smith"
msgstr "Claude Dupont, Dominique Durand"
#: bookwyrm/templates/book/edit_book.html:183
-#: bookwyrm/templates/user/shelf/shelf.html:77
+#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr "Couverture"
@@ -563,10 +541,8 @@ msgid "ISBN 10:"
msgstr "ISBN 10 :"
#: bookwyrm/templates/book/edit_book.html:238
-#, fuzzy
-#| msgid "Openlibrary key:"
msgid "Openlibrary ID:"
-msgstr "Clé Openlibrary :"
+msgstr "Identifiant Openlibrary :"
#: bookwyrm/templates/book/editions.html:4
#, python-format
@@ -605,7 +581,7 @@ msgstr "%(pages)s pages"
#: bookwyrm/templates/book/publisher_info.html:38
#, python-format
msgid "%(languages)s language"
-msgstr "%(languages)s langues"
+msgstr "Langue : %(languages)s"
#: bookwyrm/templates/book/publisher_info.html:64
#, python-format
@@ -654,7 +630,7 @@ msgstr "Communauté fédérée"
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
-#: bookwyrm/templates/layout.html:92
+#: bookwyrm/templates/layout.html:64
msgid "Directory"
msgstr "Répertoire"
@@ -671,7 +647,7 @@ msgstr "Vous pouvez décider de ne plus y figurer à n’importe quel moment dep
#: bookwyrm/templates/snippets/announcement.html:34
#: bookwyrm/templates/snippets/goal_card.html:22
msgid "Dismiss message"
-msgstr "Rejeter le message"
+msgstr "Fermer le message"
#: bookwyrm/templates/directory/sort_filter.html:5
msgid "Order by"
@@ -688,8 +664,8 @@ msgstr "Actif récemment"
#: bookwyrm/templates/directory/user_card.html:33
msgid "follower you follow"
msgid_plural "followers you follow"
-msgstr[0] "compte auquel vous êtes abonné(e)"
-msgstr[1] "comptes auxquels vous êtes abonné(e)"
+msgstr[0] "compte que vous suivez"
+msgstr[1] "comptes que vous suivez"
#: bookwyrm/templates/directory/user_card.html:40
msgid "book on your shelves"
@@ -855,7 +831,7 @@ msgid "Direct Messages with %(username)s "
msgstr "Messages directs avec %(username)s "
#: bookwyrm/templates/feed/direct_messages.html:10
-#: bookwyrm/templates/layout.html:87
+#: bookwyrm/templates/layout.html:92
msgid "Direct Messages"
msgstr "Messages directs"
@@ -911,7 +887,6 @@ msgid "Updates"
msgstr "Mises à jour"
#: bookwyrm/templates/feed/feed_layout.html:10
-#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr "Vos livres"
@@ -928,7 +903,7 @@ msgstr "À lire"
#: bookwyrm/templates/feed/feed_layout.html:24
#: bookwyrm/templates/user/shelf/shelf.html:29
msgid "Currently Reading"
-msgstr "En train de lire"
+msgstr "Lectures en cours"
#: bookwyrm/templates/feed/feed_layout.html:25
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13
@@ -946,8 +921,8 @@ msgstr "Défi lecture pour %(year)s"
#, python-format
msgid "%(mutuals)s follower you follow"
msgid_plural "%(mutuals)s followers you follow"
-msgstr[0] "%(mutuals)s abonnement auxquel vous êtes abonné(e)"
-msgstr[1] "%(mutuals)s abonnements auxquels vous êtes abonné(e)"
+msgstr[0] "%(mutuals)s abonné(e) que vous suivez"
+msgstr[1] "%(mutuals)s abonné(e)s que vous suivez"
#: bookwyrm/templates/feed/suggested_users.html:19
#, python-format
@@ -966,7 +941,7 @@ msgid "What are you reading?"
msgstr "Que lisez‑vous ?"
#: bookwyrm/templates/get_started/books.html:9
-#: bookwyrm/templates/lists/list.html:120
+#: bookwyrm/templates/lists/list.html:135
msgid "Search for a book"
msgstr "Chercher un livre"
@@ -986,7 +961,7 @@ msgstr "Vous pourrez ajouter des livres lorsque vous commencerez à utiliser %(s
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
-#: bookwyrm/templates/lists/list.html:124
+#: bookwyrm/templates/lists/list.html:139
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
msgid "Search"
@@ -1002,7 +977,7 @@ msgid "Popular on %(site_name)s"
msgstr "Populaire sur %(site_name)s"
#: bookwyrm/templates/get_started/books.html:58
-#: bookwyrm/templates/lists/list.html:137
+#: bookwyrm/templates/lists/list.html:152
msgid "No books found"
msgstr "Aucun livre trouvé"
@@ -1014,7 +989,7 @@ msgstr "Enregistrer & continuer"
#: bookwyrm/templates/get_started/layout.html:14
#, python-format
msgid "Welcome to %(site_name)s!"
-msgstr "Bienvenu(e) sur %(site_name)s !"
+msgstr "Bienvenue sur %(site_name)s !"
#: bookwyrm/templates/get_started/layout.html:16
msgid "These are some first steps to get you started."
@@ -1114,7 +1089,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "Livres de %(username)s en %(year)s"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/layout.html:97
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Import Books"
msgstr "Importer des livres"
@@ -1199,14 +1174,14 @@ msgstr "Livre"
#: bookwyrm/templates/import_status.html:114
#: bookwyrm/templates/snippets/create_status_form.html:13
-#: bookwyrm/templates/user/shelf/shelf.html:78
-#: bookwyrm/templates/user/shelf/shelf.html:98
+#: bookwyrm/templates/user/shelf/shelf.html:79
+#: bookwyrm/templates/user/shelf/shelf.html:99
msgid "Title"
msgstr "Titre"
#: bookwyrm/templates/import_status.html:117
-#: bookwyrm/templates/user/shelf/shelf.html:79
-#: bookwyrm/templates/user/shelf/shelf.html:101
+#: bookwyrm/templates/user/shelf/shelf.html:80
+#: bookwyrm/templates/user/shelf/shelf.html:102
msgid "Author"
msgstr "Auteur ou autrice"
@@ -1248,15 +1223,21 @@ msgstr "Chercher un livre ou un compte"
msgid "Main navigation menu"
msgstr "Menu de navigation principal "
-#: bookwyrm/templates/layout.html:61
+#: bookwyrm/templates/layout.html:58
msgid "Feed"
msgstr "Fil d’actualité"
-#: bookwyrm/templates/layout.html:102
+#: bookwyrm/templates/layout.html:87
+#, fuzzy
+#| msgid "Your books"
+msgid "Your Books"
+msgstr "Vos livres"
+
+#: bookwyrm/templates/layout.html:97
msgid "Settings"
msgstr "Paramètres"
-#: bookwyrm/templates/layout.html:111
+#: bookwyrm/templates/layout.html:106
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@@ -1264,56 +1245,54 @@ msgstr "Paramètres"
msgid "Invites"
msgstr "Invitations"
-#: bookwyrm/templates/layout.html:118
+#: bookwyrm/templates/layout.html:113
msgid "Admin"
msgstr "Admin"
-#: bookwyrm/templates/layout.html:125
+#: bookwyrm/templates/layout.html:120
msgid "Log out"
msgstr "Se déconnecter"
-#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
+#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr "Notifications"
-#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
+#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr "Nom du compte :"
-#: bookwyrm/templates/layout.html:159
+#: bookwyrm/templates/layout.html:156
msgid "password"
msgstr "Mot de passe"
-#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
+#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr "Mot de passe oublié ?"
-#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
+#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr "Se connecter"
-#: bookwyrm/templates/layout.html:171
+#: bookwyrm/templates/layout.html:168
msgid "Join"
msgstr "Rejoindre"
#: bookwyrm/templates/layout.html:206
-msgid "About this server"
-msgstr "À propos de ce serveur"
+msgid "About this instance"
+msgstr "À propos de cette instance"
#: bookwyrm/templates/layout.html:210
msgid "Contact site admin"
msgstr "Contacter l’administrateur du site"
#: bookwyrm/templates/layout.html:214
-#, fuzzy
-#| msgid "List curation:"
msgid "Documentation"
-msgstr "Modération de la liste :"
+msgstr "Documentation"
#: bookwyrm/templates/layout.html:221
#, python-format
@@ -1364,7 +1343,7 @@ msgid "Discard"
msgstr "Rejeter"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/list_layout.html:17
+#: bookwyrm/templates/lists/list_layout.html:16
msgid "Edit List"
msgstr "Modifier la liste"
@@ -1378,7 +1357,7 @@ msgstr "Fermée"
#: bookwyrm/templates/lists/form.html:22
msgid "Only you can add and remove books to this list"
-msgstr "Vous seul(e) pouvez ajouter ou retirer des livres dans cette liste"
+msgstr "Vous seulement pouvez ajouter ou retirer des livres dans cette liste"
#: bookwyrm/templates/lists/form.html:26
msgid "Curated"
@@ -1401,74 +1380,65 @@ msgstr "N’importe qui peut suggérer des livres"
#: bookwyrm/templates/lists/list.html:20
msgid "You successfully suggested a book for this list!"
-msgstr ""
+msgstr "Vous avez suggéré un livre à cette liste !"
#: bookwyrm/templates/lists/list.html:22
-#, fuzzy
-#| msgid "Anyone can add books to this list"
msgid "You successfully added a book to this list!"
-msgstr "N’importe qui peut suggérer des livres"
+msgstr "Vous avez ajouté un livre à cette liste !"
#: bookwyrm/templates/lists/list.html:28
msgid "This list is currently empty"
-msgstr "Cette liste est vide actuellement"
+msgstr "Cette liste est actuellement vide"
-#: bookwyrm/templates/lists/list.html:65
+#: bookwyrm/templates/lists/list.html:66
#, python-format
msgid "Added by %(username)s "
-msgstr "Ajoutée par %(username)s "
+msgstr "Ajouté par %(username)s "
-#: bookwyrm/templates/lists/list.html:77
-#, fuzzy
-#| msgid "Sent"
-msgid "Set"
-msgstr "Envoyé(e)s"
-
-#: bookwyrm/templates/lists/list.html:80
-#, fuzzy
-#| msgid "List curation:"
+#: bookwyrm/templates/lists/list.html:74
msgid "List position"
-msgstr "Modération de la liste :"
+msgstr "Position"
-#: bookwyrm/templates/lists/list.html:86
+#: bookwyrm/templates/lists/list.html:81
+msgid "Set"
+msgstr "Appliquer"
+
+#: bookwyrm/templates/lists/list.html:89
#: bookwyrm/templates/snippets/shelf_selector.html:26
msgid "Remove"
-msgstr "Supprimer"
+msgstr "Retirer"
-#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
-#, fuzzy
-#| msgid "Your Lists"
+#: bookwyrm/templates/lists/list.html:103
+#: bookwyrm/templates/lists/list.html:120
msgid "Sort List"
-msgstr "Vos listes"
+msgstr "Trier la liste"
-#: bookwyrm/templates/lists/list.html:105
-#, fuzzy
-#| msgid "Directory"
+#: bookwyrm/templates/lists/list.html:113
msgid "Direction"
-msgstr "Répertoire"
+msgstr "Direction"
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:127
msgid "Add Books"
msgstr "Ajouter des livres"
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:129
msgid "Suggest Books"
msgstr "Suggérer des livres"
-#: bookwyrm/templates/lists/list.html:125
+#: bookwyrm/templates/lists/list.html:140
msgid "search"
-msgstr "Chercher"
+msgstr "chercher"
-#: bookwyrm/templates/lists/list.html:131
+#: bookwyrm/templates/lists/list.html:146
msgid "Clear search"
msgstr "Vider la requête"
-#: bookwyrm/templates/lists/list.html:136
+#: bookwyrm/templates/lists/list.html:151
#, python-format
msgid "No books found matching the query \"%(query)s\""
msgstr "Aucun livre trouvé pour la requête « %(query)s »"
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Suggest"
msgstr "Suggérer"
@@ -1523,10 +1493,8 @@ msgid "No statuses reported"
msgstr "Aucun statut signalé"
#: bookwyrm/templates/moderation/report.html:53
-#, fuzzy
-#| msgid "Statuses has been deleted"
msgid "Status has been deleted"
-msgstr "Les statuts ont été supprimés"
+msgstr "Le statut a été supprimé"
#: bookwyrm/templates/moderation/report_modal.html:6
#, python-format
@@ -1561,8 +1529,8 @@ msgstr "Résoudre"
#: bookwyrm/templates/moderation/reports.html:6
#, python-format
-msgid "Reports: %(server_name)s"
-msgstr "Signalements : %(server_name)s"
+msgid "Reports: %(instance_name)s"
+msgstr "Signalements : %(instance_name)s"
#: bookwyrm/templates/moderation/reports.html:8
#: bookwyrm/templates/moderation/reports.html:17
@@ -1572,8 +1540,8 @@ msgstr "Signalements"
#: bookwyrm/templates/moderation/reports.html:14
#, python-format
-msgid "Reports: %(server_name)s "
-msgstr "Signalements: %(server_name)s "
+msgid "Reports: %(instance_name)s "
+msgstr "Signalements : %(instance_name)s "
#: bookwyrm/templates/moderation/reports.html:28
msgid "Resolved"
@@ -1589,13 +1557,11 @@ msgstr "Supprimer les notifications"
#: bookwyrm/templates/notifications.html:25
msgid "All"
-msgstr ""
+msgstr "Toutes"
#: bookwyrm/templates/notifications.html:29
-#, fuzzy
-#| msgid "More options"
msgid "Mentions"
-msgstr "Plus d’options"
+msgstr "Mentions"
#: bookwyrm/templates/notifications.html:70
#, python-format
@@ -1659,7 +1625,7 @@ msgstr "a répondu à votre %(book_title)s t
msgstr " a suggégré l’ajout de %(book_title)s à votre liste « %(list_name)s »"
#: bookwyrm/templates/notifications.html:128
-#, fuzzy, python-format
-#| msgid "Your import completed."
+#, python-format
msgid "Your import completed."
-msgstr "Votre importation est terminée."
+msgstr "Votre importation est terminée."
#: bookwyrm/templates/notifications.html:131
#, python-format
@@ -1774,31 +1739,45 @@ msgstr "Profil"
msgid "Relationships"
msgstr "Relations"
+#: bookwyrm/templates/rss/title.html:5
+#: bookwyrm/templates/snippets/status/status_header.html:35
+msgid "rated"
+msgstr "a noté"
+
+#: bookwyrm/templates/rss/title.html:7
+#: bookwyrm/templates/snippets/status/status_header.html:37
+msgid "reviewed"
+msgstr "a écrit une critique de"
+
+#: bookwyrm/templates/rss/title.html:9
+#: bookwyrm/templates/snippets/status/status_header.html:39
+msgid "commented on"
+msgstr "a commenté"
+
+#: bookwyrm/templates/rss/title.html:11
+#: bookwyrm/templates/snippets/status/status_header.html:41
+msgid "quoted"
+msgstr "a cité"
+
#: bookwyrm/templates/search/book.html:64
-#, fuzzy
-#| msgid "Show results from other catalogues"
msgid "Load results from other catalogues"
-msgstr "Montrer les résultats d’autres catalogues"
+msgstr "Charger les résultats d’autres catalogues"
#: bookwyrm/templates/search/book.html:68
msgid "Manually add book"
-msgstr ""
+msgstr "Ajouter un livre manuellement"
#: bookwyrm/templates/search/book.html:73
msgid "Log in to import or add books."
-msgstr ""
+msgstr "Authentifiez-vous pour importer ou ajouter des livres."
#: bookwyrm/templates/search/layout.html:16
-#, fuzzy
-#| msgid "Search for a user"
msgid "Search query"
-msgstr "Chercher un compte"
+msgstr "Requête"
#: bookwyrm/templates/search/layout.html:19
-#, fuzzy
-#| msgid "Search"
msgid "Search type"
-msgstr "Chercher"
+msgstr "Type de recherche"
#: bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
@@ -1815,10 +1794,9 @@ msgid "Users"
msgstr "Comptes"
#: bookwyrm/templates/search/layout.html:58
-#, fuzzy, python-format
-#| msgid "No lists found for \"%(query)s\""
+#, python-format
msgid "No results found for \"%(query)s\""
-msgstr "Aucune liste trouvée pour « %(query)s »"
+msgstr "Aucun résultat pour « %(query)s »"
#: bookwyrm/templates/settings/admin_layout.html:4
msgid "Administration"
@@ -1831,8 +1809,8 @@ msgstr "Gérer les comptes"
#: bookwyrm/templates/settings/admin_layout.html:39
#: bookwyrm/templates/settings/federation.html:3
#: bookwyrm/templates/settings/federation.html:5
-msgid "Federated Servers"
-msgstr "Serveurs fédérés"
+msgid "Federated Instances"
+msgstr "Instances fédérées"
#: bookwyrm/templates/settings/admin_layout.html:44
msgid "Instance Settings"
@@ -1872,23 +1850,18 @@ msgstr "Enregistrement"
#: bookwyrm/templates/settings/announcement.html:3
#: bookwyrm/templates/settings/announcement.html:6
-#, fuzzy
-#| msgid "Announcements"
msgid "Announcement"
-msgstr "Annonces"
+msgstr "Annonce"
#: bookwyrm/templates/settings/announcement.html:7
#: bookwyrm/templates/settings/federated_server.html:13
-#, fuzzy
-#| msgid "Back to server list"
msgid "Back to list"
-msgstr "Retour à la liste des serveurs"
+msgstr "Retour à la liste"
#: bookwyrm/templates/settings/announcement.html:11
-#, fuzzy
-#| msgid "Announcements"
+#: bookwyrm/templates/settings/announcement_form.html:6
msgid "Edit Announcement"
-msgstr "Annonces"
+msgstr "Modifier l’annonce"
#: bookwyrm/templates/settings/announcement.html:20
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
@@ -1898,64 +1871,48 @@ msgstr "Supprimer"
#: bookwyrm/templates/settings/announcement.html:35
msgid "Visible:"
-msgstr ""
+msgstr "Visible :"
#: bookwyrm/templates/settings/announcement.html:38
msgid "True"
-msgstr ""
+msgstr "Vrai"
#: bookwyrm/templates/settings/announcement.html:40
msgid "False"
-msgstr ""
+msgstr "Faux"
#: bookwyrm/templates/settings/announcement.html:47
-#, fuzzy
-#| msgid "Birth date:"
msgid "Start date:"
-msgstr "Date de naissance :"
+msgstr "Date de début :"
#: bookwyrm/templates/settings/announcement.html:54
-#, fuzzy
-#| msgid "Birth date:"
msgid "End date:"
-msgstr "Date de naissance :"
+msgstr "Date de fin :"
#: bookwyrm/templates/settings/announcement.html:60
-#, fuzzy
-#| msgid "Active"
msgid "Active:"
-msgstr "Actif"
+msgstr "Active :"
-#: bookwyrm/templates/settings/announcement_form.html:5
+#: bookwyrm/templates/settings/announcement_form.html:8
#: bookwyrm/templates/settings/announcements.html:8
-#, fuzzy
-#| msgid "Announcements"
msgid "Create Announcement"
-msgstr "Annonces"
+msgstr "Ajouter une annonce"
#: bookwyrm/templates/settings/announcements.html:22
-#, fuzzy
-#| msgid "Date Added"
msgid "Date added"
msgstr "Date d’ajout"
#: bookwyrm/templates/settings/announcements.html:26
-#, fuzzy
-#| msgid "reviewed"
msgid "Preview"
-msgstr "a écrit une critique de"
+msgstr "Aperçu"
#: bookwyrm/templates/settings/announcements.html:30
-#, fuzzy
-#| msgid "Started"
msgid "Start date"
-msgstr "Commencé"
+msgstr "Date de début"
#: bookwyrm/templates/settings/announcements.html:34
-#, fuzzy
-#| msgid "Edit read dates"
msgid "End date"
-msgstr "Modifier les date de lecture"
+msgstr "Date de fin"
#: bookwyrm/templates/settings/announcements.html:38
#: bookwyrm/templates/settings/federation.html:30
@@ -1966,16 +1923,12 @@ msgid "Status"
msgstr "Statut"
#: bookwyrm/templates/settings/announcements.html:48
-#, fuzzy
-#| msgid "Inactive"
msgid "active"
-msgstr "Inactif"
+msgstr "active"
#: bookwyrm/templates/settings/announcements.html:48
-#, fuzzy
-#| msgid "Inactive"
msgid "inactive"
-msgstr "Inactif"
+msgstr "inactive"
#: bookwyrm/templates/settings/edit_server.html:3
#: bookwyrm/templates/settings/edit_server.html:6
@@ -1984,28 +1937,22 @@ msgstr "Inactif"
#: bookwyrm/templates/settings/federation.html:10
#: bookwyrm/templates/settings/server_blocklist.html:3
#: bookwyrm/templates/settings/server_blocklist.html:20
-#, fuzzy
-#| msgid "Add cover"
-msgid "Add server"
-msgstr "Ajouter une couverture"
+msgid "Add instance"
+msgstr "Ajouter une instance"
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/server_blocklist.html:7
-msgid "Back to server list"
-msgstr "Retour à la liste des serveurs"
+msgid "Back to instance list"
+msgstr "Retour à la liste des instances"
#: bookwyrm/templates/settings/edit_server.html:16
#: bookwyrm/templates/settings/server_blocklist.html:16
-#, fuzzy
-#| msgid "Import book"
msgid "Import block list"
-msgstr "Importer le livre"
+msgstr "Importer une liste de blocage"
#: bookwyrm/templates/settings/edit_server.html:30
-#, fuzzy
-#| msgid "Instance Name:"
msgid "Instance:"
-msgstr "Nom de l’instance :"
+msgstr "Instance :"
#: bookwyrm/templates/settings/edit_server.html:37
#: bookwyrm/templates/settings/federated_server.html:31
@@ -2015,10 +1962,8 @@ msgstr "Statut :"
#: bookwyrm/templates/settings/edit_server.html:41
#: bookwyrm/templates/settings/federated_server.html:10
-#, fuzzy
-#| msgid "Block"
msgid "Blocked"
-msgstr "Bloquer"
+msgstr "Bloqué"
#: bookwyrm/templates/settings/edit_server.html:48
#: bookwyrm/templates/settings/federated_server.html:23
@@ -2034,7 +1979,7 @@ msgstr "Description :"
#: bookwyrm/templates/settings/edit_server.html:64
msgid "Notes:"
-msgstr ""
+msgstr "Remarques :"
#: bookwyrm/templates/settings/federated_server.html:19
msgid "Details"
@@ -2073,13 +2018,11 @@ msgstr "Bloqués par nous :"
#: bookwyrm/templates/settings/federated_server.html:82
#: bookwyrm/templates/user_admin/user_info.html:39
msgid "Notes"
-msgstr ""
+msgstr "Remarques"
#: bookwyrm/templates/settings/federated_server.html:85
-#, fuzzy
-#| msgid "Edit Book"
msgid "Edit"
-msgstr "Modifier le livre"
+msgstr "Modifier"
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/user_admin/user_moderation_actions.html:3
@@ -2093,7 +2036,7 @@ msgstr "Bloquer"
#: bookwyrm/templates/settings/federated_server.html:110
msgid "All users from this instance will be deactivated."
-msgstr ""
+msgstr "Tous les comptes de cette instance seront désactivés."
#: bookwyrm/templates/settings/federated_server.html:115
#: bookwyrm/templates/snippets/block_button.html:10
@@ -2102,12 +2045,12 @@ msgstr "Débloquer"
#: bookwyrm/templates/settings/federated_server.html:116
msgid "All users from this instance will be re-activated."
-msgstr ""
+msgstr "Tous les comptes de cette instance seront réactivés."
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
-msgid "Server name"
-msgstr "Nom du serveur"
+msgid "Instance name"
+msgstr "Nom de l’instance"
#: bookwyrm/templates/settings/federation.html:23
msgid "Date federated"
@@ -2224,25 +2167,21 @@ msgid "No active invites"
msgstr "Aucune invitation active"
#: bookwyrm/templates/settings/server_blocklist.html:6
-#, fuzzy
-#| msgid "Import Books"
msgid "Import Blocklist"
-msgstr "Importer des livres"
+msgstr "Importer une liste de blocage"
#: bookwyrm/templates/settings/server_blocklist.html:26
-#: bookwyrm/templates/snippets/goal_progress.html:5
+#: bookwyrm/templates/snippets/goal_progress.html:7
msgid "Success!"
msgstr "Bravo !"
#: bookwyrm/templates/settings/server_blocklist.html:30
-#, fuzzy
-#| msgid "Successfully imported"
msgid "Successfully blocked:"
-msgstr "Importation réussie"
+msgstr "Blocage réussi :"
#: bookwyrm/templates/settings/server_blocklist.html:32
msgid "Failed:"
-msgstr ""
+msgstr "Échec :"
#: bookwyrm/templates/settings/site.html:15
msgid "Instance Name:"
@@ -2290,7 +2229,7 @@ msgstr "Email de l’administrateur :"
#: bookwyrm/templates/settings/site.html:73
msgid "Additional info:"
-msgstr ""
+msgstr "Infos supplémentaires :"
#: bookwyrm/templates/settings/site.html:83
msgid "Allow registration:"
@@ -2305,33 +2244,28 @@ msgid "Registration closed text:"
msgstr "Texte affiché lorsque les enregistrements sont clos :"
#: bookwyrm/templates/snippets/announcement.html:31
-#, fuzzy, python-format
-#| msgid "Added by %(username)s "
+#, python-format
msgid "Posted by %(username)s "
-msgstr "Ajoutée par %(username)s "
+msgstr "Publiée par %(username)s "
#: bookwyrm/templates/snippets/book_cover.html:31
msgid "No cover"
-msgstr "Aucune couverture"
+msgstr "Pas de couverture"
#: bookwyrm/templates/snippets/book_titleby.html:4
#, python-format
msgid "%(title)s by "
msgstr "%(title)s par "
-#: bookwyrm/templates/snippets/boost_button.html:9
-#: bookwyrm/templates/snippets/boost_button.html:10
-#, fuzzy
-#| msgid "boosted"
+#: bookwyrm/templates/snippets/boost_button.html:20
+#: bookwyrm/templates/snippets/boost_button.html:21
msgid "Boost"
-msgstr "partagé"
+msgstr "Partager"
-#: bookwyrm/templates/snippets/boost_button.html:16
-#: bookwyrm/templates/snippets/boost_button.html:17
-#, fuzzy
-#| msgid "Un-boost status"
+#: bookwyrm/templates/snippets/boost_button.html:33
+#: bookwyrm/templates/snippets/boost_button.html:34
msgid "Un-boost"
-msgstr "Annuler le partage du statut"
+msgstr "Annuler le partage"
#: bookwyrm/templates/snippets/content_warning_field.html:3
msgid "Spoiler alert:"
@@ -2369,10 +2303,8 @@ msgid "Reply"
msgstr "Répondre"
#: bookwyrm/templates/snippets/create_status_form.html:56
-#, fuzzy
-#| msgid "Footer Content"
msgid "Content"
-msgstr "Contenu du pied de page"
+msgstr "Contenu"
#: bookwyrm/templates/snippets/create_status_form.html:80
#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
@@ -2421,17 +2353,15 @@ msgstr "Supprimer ces dates de lecture ?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "Vous avez supprimé ce résumé et ses %(count)s progressions associées."
-#: bookwyrm/templates/snippets/fav_button.html:9
-#: bookwyrm/templates/snippets/fav_button.html:11
+#: bookwyrm/templates/snippets/fav_button.html:10
+#: bookwyrm/templates/snippets/fav_button.html:12
msgid "Like"
-msgstr ""
+msgstr "Ajouter aux favoris"
-#: bookwyrm/templates/snippets/fav_button.html:17
#: bookwyrm/templates/snippets/fav_button.html:18
-#, fuzzy
-#| msgid "Un-like status"
+#: bookwyrm/templates/snippets/fav_button.html:19
msgid "Un-like"
-msgstr "Retirer le statut des favoris"
+msgstr "Retirer des favoris"
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:7
msgid "Show filters"
@@ -2470,6 +2400,14 @@ msgstr "Accepter"
msgid "No rating"
msgstr "Aucune note"
+#: bookwyrm/templates/snippets/form_rate_stars.html:44
+#: bookwyrm/templates/snippets/stars.html:7
+#, python-format
+msgid "%(rating)s star"
+msgid_plural "%(rating)s stars"
+msgstr[0] "%(rating)s étoile"
+msgstr[1] "%(rating)s étoiles"
+
#: bookwyrm/templates/snippets/generated_status/goal.html:1
#, python-format
msgid "set a goal to read %(counter)s book in %(year)s"
@@ -2524,17 +2462,17 @@ msgstr "Publier sur le fil d’actualité"
msgid "Set goal"
msgstr "Valider ce défi"
-#: bookwyrm/templates/snippets/goal_progress.html:7
+#: bookwyrm/templates/snippets/goal_progress.html:9
#, python-format
msgid "%(percent)s%% complete!"
msgstr "%(percent)s%% terminé !"
-#: bookwyrm/templates/snippets/goal_progress.html:10
+#: bookwyrm/templates/snippets/goal_progress.html:12
#, python-format
msgid "You've read %(read_count)s of %(goal_count)s books ."
msgstr "Vous avez lu %(read_count)s sur %(goal_count)s livres ."
-#: bookwyrm/templates/snippets/goal_progress.html:12
+#: bookwyrm/templates/snippets/goal_progress.html:14
#, python-format
msgid "%(username)s has read %(read_count)s of %(goal_count)s books ."
msgstr "%(username)s a lu %(read_count)s sur %(goal_count)s livres ."
@@ -2581,7 +2519,7 @@ msgstr "Confidentialité du statut"
#: bookwyrm/templates/user/relationships/followers.html:6
#: bookwyrm/templates/user/relationships/layout.html:11
msgid "Followers"
-msgstr "Abonnements"
+msgstr "Abonné(e)s"
#: bookwyrm/templates/snippets/rate_action.html:4
msgid "Leave a rating"
@@ -2643,26 +2581,6 @@ msgstr "S’enregistrer"
msgid "Report"
msgstr "Signaler"
-#: bookwyrm/templates/snippets/rss_title.html:5
-#: bookwyrm/templates/snippets/status/status_header.html:35
-msgid "rated"
-msgstr "a noté"
-
-#: bookwyrm/templates/snippets/rss_title.html:7
-#: bookwyrm/templates/snippets/status/status_header.html:37
-msgid "reviewed"
-msgstr "a écrit une critique de"
-
-#: bookwyrm/templates/snippets/rss_title.html:9
-#: bookwyrm/templates/snippets/status/status_header.html:39
-msgid "commented on"
-msgstr "a commenté"
-
-#: bookwyrm/templates/snippets/rss_title.html:11
-#: bookwyrm/templates/snippets/status/status_header.html:41
-msgid "quoted"
-msgstr "a cité"
-
#: bookwyrm/templates/snippets/search_result_text.html:36
msgid "Import book"
msgstr "Importer le livre"
@@ -2744,7 +2662,7 @@ msgstr "Ajouter le statut aux favoris"
#: bookwyrm/templates/snippets/status/status.html:10
msgid "boosted"
-msgstr "partagé"
+msgstr "a partagé"
#: bookwyrm/templates/snippets/status/status_header.html:45
#, python-format
@@ -2807,12 +2725,12 @@ msgstr "%(username)s n’a pas d’abonné(e)"
#: bookwyrm/templates/user/relationships/following.html:6
#: bookwyrm/templates/user/relationships/layout.html:15
msgid "Following"
-msgstr "Abonné(e) à"
+msgstr "Comptes suivis"
#: bookwyrm/templates/user/relationships/following.html:12
#, python-format
msgid "%(username)s isn't following any users"
-msgstr "%(username)s n’est abonné(e) à personne"
+msgstr "%(username)s ne suit personne"
#: bookwyrm/templates/user/shelf/books_header.html:5
#, python-format
@@ -2822,7 +2740,7 @@ msgstr "Livres de %(username)s"
#: bookwyrm/templates/user/shelf/create_shelf_form.html:5
#: bookwyrm/templates/user/shelf/create_shelf_form.html:22
msgid "Create Shelf"
-msgstr "Créer l’étagère"
+msgstr "Créer une étagère"
#: bookwyrm/templates/user/shelf/edit_shelf_form.html:5
msgid "Edit Shelf"
@@ -2832,38 +2750,38 @@ msgstr "Modifier l’étagère"
msgid "Update shelf"
msgstr "Mettre l’étagère à jour"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
+#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr "Tous les livres"
#: bookwyrm/templates/user/shelf/shelf.html:38
msgid "Create shelf"
-msgstr "Créer l’étagère"
+msgstr "Créer une étagère"
-#: bookwyrm/templates/user/shelf/shelf.html:61
+#: bookwyrm/templates/user/shelf/shelf.html:62
msgid "Edit shelf"
msgstr "Modifier l’étagère"
-#: bookwyrm/templates/user/shelf/shelf.html:80
-#: bookwyrm/templates/user/shelf/shelf.html:104
-msgid "Shelved"
-msgstr "Ajouté à une étagère"
-
#: bookwyrm/templates/user/shelf/shelf.html:81
-#: bookwyrm/templates/user/shelf/shelf.html:108
+#: bookwyrm/templates/user/shelf/shelf.html:105
+msgid "Shelved"
+msgstr "Date d’ajout"
+
+#: bookwyrm/templates/user/shelf/shelf.html:82
+#: bookwyrm/templates/user/shelf/shelf.html:109
msgid "Started"
msgstr "Commencé"
-#: bookwyrm/templates/user/shelf/shelf.html:82
-#: bookwyrm/templates/user/shelf/shelf.html:111
+#: bookwyrm/templates/user/shelf/shelf.html:83
+#: bookwyrm/templates/user/shelf/shelf.html:112
msgid "Finished"
msgstr "Terminé"
-#: bookwyrm/templates/user/shelf/shelf.html:137
+#: bookwyrm/templates/user/shelf/shelf.html:138
msgid "This shelf is empty."
msgstr "Cette étagère est vide"
-#: bookwyrm/templates/user/shelf/shelf.html:143
+#: bookwyrm/templates/user/shelf/shelf.html:144
msgid "Delete shelf"
msgstr "Supprimer l’étagère"
@@ -2895,14 +2813,14 @@ msgstr "Aucune activité pour l’instant !"
#: bookwyrm/templates/user/user_preview.html:15
#, python-format
msgid "Joined %(date)s"
-msgstr "Enregistré(e) %(date)s"
+msgstr "A rejoint ce serveur %(date)s"
#: bookwyrm/templates/user/user_preview.html:19
#, python-format
msgid "%(counter)s follower"
msgid_plural "%(counter)s followers"
-msgstr[0] "%(counter)s abonnement"
-msgstr[1] "%(counter)s abonnements"
+msgstr[0] "%(counter)s abonné(e)"
+msgstr[1] "%(counter)s abonné(e)s"
#: bookwyrm/templates/user/user_preview.html:20
#, python-format
@@ -2910,24 +2828,20 @@ msgid "%(counter)s following"
msgstr "%(counter)s abonnements"
#: bookwyrm/templates/user/user_preview.html:26
-#, fuzzy, python-format
-#| msgid "%(mutuals)s follower you follow"
-#| msgid_plural "%(mutuals)s followers you follow"
+#, python-format
msgid "%(mutuals_display)s follower you follow"
msgid_plural "%(mutuals_display)s followers you follow"
-msgstr[0] "%(mutuals)s abonnement auxquel vous êtes abonné(e)"
-msgstr[1] "%(mutuals)s abonnements auxquels vous êtes abonné(e)"
+msgstr[0] "%(mutuals_display)s abonné(e) que vous suivez"
+msgstr[1] "%(mutuals_display)s abonné(e)s que vous suivez"
#: bookwyrm/templates/user_admin/user.html:9
-#, fuzzy
-#| msgid "Back to reports"
msgid "Back to users"
-msgstr "Retour aux signalements"
+msgstr "Retour aux comptes"
#: bookwyrm/templates/user_admin/user_admin.html:7
#, python-format
-msgid "Users: %(server_name)s "
-msgstr "Comptes : %(server_name)s "
+msgid "Users: %(instance_name)s "
+msgstr "Comptes : %(instance_name)s "
#: bookwyrm/templates/user_admin/user_admin.html:22
#: bookwyrm/templates/user_admin/username_filter.html:5
@@ -2943,8 +2857,8 @@ msgid "Last Active"
msgstr "Dernière activité"
#: bookwyrm/templates/user_admin/user_admin.html:38
-msgid "Remote server"
-msgstr "Serveur distant"
+msgid "Remote instance"
+msgstr "Instance distante"
#: bookwyrm/templates/user_admin/user_admin.html:47
msgid "Active"
@@ -2960,42 +2874,40 @@ msgid "Not set"
msgstr "Non défini"
#: bookwyrm/templates/user_admin/user_info.html:5
-#, fuzzy
-#| msgid "Details"
msgid "User details"
-msgstr "Détails"
+msgstr "Détails du compte"
#: bookwyrm/templates/user_admin/user_info.html:14
msgid "View user profile"
msgstr "Voir le profil"
#: bookwyrm/templates/user_admin/user_info.html:20
-#, fuzzy
-#| msgid "Instance Settings"
msgid "Instance details"
-msgstr "Paramètres de l’instance"
+msgstr "Détails de l’instance"
#: bookwyrm/templates/user_admin/user_info.html:46
msgid "View instance"
-msgstr ""
+msgstr "Voir l’instance"
#: bookwyrm/templates/user_admin/user_moderation_actions.html:11
msgid "Suspend user"
-msgstr ""
+msgstr "Suspendre le compte"
#: bookwyrm/templates/user_admin/user_moderation_actions.html:13
msgid "Un-suspend user"
-msgstr ""
+msgstr "Rétablir le compte"
#: bookwyrm/templates/user_admin/user_moderation_actions.html:21
msgid "Access level:"
-msgstr ""
+msgstr "Niveau d’accès :"
+
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
+msgid "File exceeds maximum size: 10MB"
+msgstr "Ce fichier dépasse la taille limite : 10 Mo"
#: bookwyrm/views/import_data.py:67
-#, fuzzy
-#| msgid "Email address:"
msgid "Not a valid csv file"
-msgstr "Adresse email :"
+msgstr "Fichier CSV non valide"
#: bookwyrm/views/password.py:32
msgid "No user with that email address was found."
@@ -3006,6 +2918,21 @@ msgstr "Aucun compte avec cette adresse email n’a été trouvé."
msgid "A password reset link sent to %s"
msgstr "Un lien de réinitialisation a été envoyé à %s."
+#~ msgid "Reports: %(server_name)s "
+#~ msgstr "Signalements: %(server_name)s "
+
+#~ msgid "Federated Servers"
+#~ msgstr "Serveurs fédérés"
+
+#~ msgid "Server name"
+#~ msgstr "Nom du serveur"
+
+#~ msgid "Add server"
+#~ msgstr "Ajouter un serveur"
+
+#~ msgid "Remote server"
+#~ msgstr "Serveur distant"
+
#, fuzzy
#~| msgid "BookWyrm users"
#~ msgid "BookWyrm\\"
@@ -3056,12 +2983,12 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "Enter a number."
#~ msgstr "Numéro dans la série :"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "A user with this email already exists."
#~ msgid "%(model_name)s with this %(field_labels)s already exists."
#~ msgstr "Cet email est déjà associé à un compte."
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid remote_id"
#~ msgid "Value %(value)r is not a valid choice."
#~ msgstr "%(value)s n’est pas une remote_id valide."
@@ -3071,7 +2998,7 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "This field cannot be null."
#~ msgstr "Cette étagère est vide"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "A user with this email already exists."
#~ msgid "%(model_name)s with this %(field_label)s already exists."
#~ msgstr "Cet email est déjà associé à un compte."
@@ -3121,7 +3048,7 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "Positive small integer"
#~ msgstr "Aucune invitation active"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(value)s” is not a valid UUID."
#~ msgstr "%(value)s n’est pas un nom de compte valide."
@@ -3136,12 +3063,12 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "One-to-one relationship"
#~ msgstr "Relations"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Relationships"
#~ msgid "%(from)s-%(to)s relationship"
#~ msgstr "Relations"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Relationships"
#~ msgid "%(from)s-%(to)s relationships"
#~ msgstr "Relations"
@@ -3201,7 +3128,7 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "Order"
#~ msgstr "Trier par"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(pk)s” is not a valid value."
#~ msgstr "%(value)s n’est pas un nom de compte valide."
@@ -3265,7 +3192,7 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "This is not a valid IPv6 address."
#~ msgstr "Adresse email :"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "No books found matching the query \"%(query)s\""
#~ msgid "No %(verbose_name)s found matching the query"
#~ msgstr "Aucun livre trouvé pour la requête « %(query)s »"
@@ -3284,11 +3211,9 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "Matching Users"
#~ msgstr "Comptes correspondants"
-#, python-format
#~ msgid "Set a reading goal for %(year)s"
#~ msgstr "Définir un défi lecture pour %(year)s"
-#, python-format
#~ msgid "by %(author)s"
#~ msgstr "par %(author)s"
@@ -3298,21 +3223,12 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "Reactivate user"
#~ msgstr "Réactiver le compte"
-#, python-format
-#~ msgid "%(rating)s star"
-#~ msgid_plural "%(rating)s stars"
-#~ msgstr[0] "%(rating)s étoile"
-#~ msgstr[1] "%(rating)s étoiles"
-
-#, python-format
#~ msgid "replied to %(username)s's review "
#~ msgstr "a répondu à la critique de %(username)s "
-#, python-format
#~ msgid "replied to %(username)s's comment "
#~ msgstr "a répondu au commentaire de %(username)s "
-#, python-format
#~ msgid "replied to %(username)s's quote "
#~ msgstr "a répondu à la citation de %(username)s "
@@ -3322,7 +3238,6 @@ msgstr "Un lien de réinitialisation a été envoyé à %s."
#~ msgid "Add tag"
#~ msgstr "Ajouter un tag"
-#, python-format
#~ msgid "Books tagged \"%(tag.name)s\""
#~ msgstr "Livres tagués « %(tag.name)s »"
diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo
index 17b3df69..5e5b36dc 100644
Binary files a/locale/zh_Hans/LC_MESSAGES/django.mo and b/locale/zh_Hans/LC_MESSAGES/django.mo differ
diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po
index 0ec8b1d8..4106db43 100644
--- a/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/locale/zh_Hans/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 14:40-0700\n"
+"POT-Creation-Date: 2021-06-06 20:52+0000\n"
"PO-Revision-Date: 2021-03-20 00:56+0000\n"
"Last-Translator: Kana \n"
"Language-Team: Mouse Reeve \n"
@@ -58,12 +58,12 @@ msgid "Book Title"
msgstr "标题"
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
-#: bookwyrm/templates/user/shelf/shelf.html:84
-#: bookwyrm/templates/user/shelf/shelf.html:115
+#: bookwyrm/templates/user/shelf/shelf.html:85
+#: bookwyrm/templates/user/shelf/shelf.html:116
msgid "Rating"
msgstr "评价"
-#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
+#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
msgid "Sort By"
msgstr ""
@@ -79,41 +79,41 @@ msgstr "升序排序"
msgid "Descending"
msgstr "升序排序"
-#: bookwyrm/models/fields.py:24
+#: bookwyrm/models/fields.py:25
#, python-format
msgid "%(value)s is not a valid remote_id"
msgstr "%(value)s 不是有效的 remote_id"
-#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
+#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
#, python-format
msgid "%(value)s is not a valid username"
msgstr "%(value)s 不是有效的用户名"
-#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
+#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
msgid "username"
msgstr "用户名"
-#: bookwyrm/models/fields.py:170
+#: bookwyrm/models/fields.py:171
msgid "A user with that username already exists."
msgstr "已经存在使用该用户名的用户。"
-#: bookwyrm/settings.py:155
+#: bookwyrm/settings.py:156
msgid "English"
msgstr "English(英语)"
-#: bookwyrm/settings.py:156
+#: bookwyrm/settings.py:157
msgid "German"
msgstr "Deutsch(德语)"
-#: bookwyrm/settings.py:157
+#: bookwyrm/settings.py:158
msgid "Spanish"
msgstr "Español(西班牙语)"
-#: bookwyrm/settings.py:158
+#: bookwyrm/settings.py:159
msgid "French"
msgstr "Français(法语)"
-#: bookwyrm/settings.py:159
+#: bookwyrm/settings.py:160
msgid "Simplified Chinese"
msgstr "简体中文"
@@ -260,7 +260,7 @@ msgstr "Goodreads key:"
#: bookwyrm/templates/book/edit_book.html:263
#: bookwyrm/templates/lists/form.html:42
#: bookwyrm/templates/preferences/edit_user.html:70
-#: bookwyrm/templates/settings/announcement_form.html:65
+#: bookwyrm/templates/settings/announcement_form.html:69
#: bookwyrm/templates/settings/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
@@ -386,7 +386,7 @@ msgstr "主题"
msgid "Places"
msgstr "地点"
-#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
+#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@@ -400,7 +400,7 @@ msgstr "添加到列表"
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Add"
msgstr "添加"
@@ -532,7 +532,7 @@ msgid "John Doe, Jane Smith"
msgstr "张三, 李四"
#: bookwyrm/templates/book/edit_book.html:183
-#: bookwyrm/templates/user/shelf/shelf.html:77
+#: bookwyrm/templates/user/shelf/shelf.html:78
msgid "Cover"
msgstr "封面"
@@ -655,7 +655,7 @@ msgstr "跨站社区"
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
-#: bookwyrm/templates/layout.html:92
+#: bookwyrm/templates/layout.html:64
msgid "Directory"
msgstr "目录"
@@ -854,7 +854,7 @@ msgid "Direct Messages with %(username)s "
msgstr "与 %(username)s 私信"
#: bookwyrm/templates/feed/direct_messages.html:10
-#: bookwyrm/templates/layout.html:87
+#: bookwyrm/templates/layout.html:92
msgid "Direct Messages"
msgstr "私信"
@@ -910,7 +910,6 @@ msgid "Updates"
msgstr "更新"
#: bookwyrm/templates/feed/feed_layout.html:10
-#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr "你的书目"
@@ -963,7 +962,7 @@ msgid "What are you reading?"
msgstr "你在阅读什么?"
#: bookwyrm/templates/get_started/books.html:9
-#: bookwyrm/templates/lists/list.html:120
+#: bookwyrm/templates/lists/list.html:135
msgid "Search for a book"
msgstr "搜索书目"
@@ -983,7 +982,7 @@ msgstr "你可以在开始使用 %(site_name)s 后添加书目。"
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
-#: bookwyrm/templates/lists/list.html:124
+#: bookwyrm/templates/lists/list.html:139
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
msgid "Search"
@@ -999,7 +998,7 @@ msgid "Popular on %(site_name)s"
msgstr "%(site_name)s 上的热门"
#: bookwyrm/templates/get_started/books.html:58
-#: bookwyrm/templates/lists/list.html:137
+#: bookwyrm/templates/lists/list.html:152
msgid "No books found"
msgstr "没有找到书目"
@@ -1111,7 +1110,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "%(username)s 在 %(year)s 的书目"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
-#: bookwyrm/templates/layout.html:97
+#: bookwyrm/templates/user/shelf/shelf.html:40
msgid "Import Books"
msgstr "导入书目"
@@ -1196,14 +1195,14 @@ msgstr "书目"
#: bookwyrm/templates/import_status.html:114
#: bookwyrm/templates/snippets/create_status_form.html:13
-#: bookwyrm/templates/user/shelf/shelf.html:78
-#: bookwyrm/templates/user/shelf/shelf.html:98
+#: bookwyrm/templates/user/shelf/shelf.html:79
+#: bookwyrm/templates/user/shelf/shelf.html:99
msgid "Title"
msgstr "标题"
#: bookwyrm/templates/import_status.html:117
-#: bookwyrm/templates/user/shelf/shelf.html:79
-#: bookwyrm/templates/user/shelf/shelf.html:101
+#: bookwyrm/templates/user/shelf/shelf.html:80
+#: bookwyrm/templates/user/shelf/shelf.html:102
msgid "Author"
msgstr "作者"
@@ -1245,15 +1244,21 @@ msgstr "搜索书目或用户"
msgid "Main navigation menu"
msgstr "主导航菜单"
-#: bookwyrm/templates/layout.html:61
+#: bookwyrm/templates/layout.html:58
msgid "Feed"
msgstr "动态"
-#: bookwyrm/templates/layout.html:102
+#: bookwyrm/templates/layout.html:87
+#, fuzzy
+#| msgid "Your books"
+msgid "Your Books"
+msgstr "你的书目"
+
+#: bookwyrm/templates/layout.html:97
msgid "Settings"
msgstr "设置"
-#: bookwyrm/templates/layout.html:111
+#: bookwyrm/templates/layout.html:106
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@@ -1261,45 +1266,47 @@ msgstr "设置"
msgid "Invites"
msgstr "邀请"
-#: bookwyrm/templates/layout.html:118
+#: bookwyrm/templates/layout.html:113
msgid "Admin"
msgstr "管理员"
-#: bookwyrm/templates/layout.html:125
+#: bookwyrm/templates/layout.html:120
msgid "Log out"
msgstr "登出"
-#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
+#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr "通知"
-#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
+#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr "用户名:"
-#: bookwyrm/templates/layout.html:159
+#: bookwyrm/templates/layout.html:156
msgid "password"
msgstr "密码"
-#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
+#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr "忘记了密码?"
-#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
+#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr "登录"
-#: bookwyrm/templates/layout.html:171
+#: bookwyrm/templates/layout.html:168
msgid "Join"
msgstr "加入"
#: bookwyrm/templates/layout.html:206
-msgid "About this server"
+#, fuzzy
+#| msgid "About this server"
+msgid "About this instance"
msgstr "关于本服务器"
#: bookwyrm/templates/layout.html:210
@@ -1361,7 +1368,7 @@ msgid "Discard"
msgstr "削除"
#: bookwyrm/templates/lists/edit_form.html:5
-#: bookwyrm/templates/lists/list_layout.html:17
+#: bookwyrm/templates/lists/list_layout.html:16
msgid "Edit List"
msgstr "编辑列表"
@@ -1410,62 +1417,63 @@ msgstr "任何人都可以向此列表中添加书目"
msgid "This list is currently empty"
msgstr "此列表当前是空的"
-#: bookwyrm/templates/lists/list.html:65
+#: bookwyrm/templates/lists/list.html:66
#, python-format
msgid "Added by %(username)s "
msgstr "由 %(username)s 添加"
-#: bookwyrm/templates/lists/list.html:77
-#, fuzzy
-#| msgid "Sent"
-msgid "Set"
-msgstr "已发送"
-
-#: bookwyrm/templates/lists/list.html:80
+#: bookwyrm/templates/lists/list.html:74
#, fuzzy
#| msgid "List curation:"
msgid "List position"
msgstr "列表策展:"
-#: bookwyrm/templates/lists/list.html:86
+#: bookwyrm/templates/lists/list.html:81
+#, fuzzy
+#| msgid "Sent"
+msgid "Set"
+msgstr "已发送"
+
+#: bookwyrm/templates/lists/list.html:89
#: bookwyrm/templates/snippets/shelf_selector.html:26
msgid "Remove"
msgstr "移除"
-#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
+#: bookwyrm/templates/lists/list.html:103
+#: bookwyrm/templates/lists/list.html:120
#, fuzzy
#| msgid "Your Lists"
msgid "Sort List"
msgstr "你的列表"
-#: bookwyrm/templates/lists/list.html:105
+#: bookwyrm/templates/lists/list.html:113
#, fuzzy
#| msgid "Directory"
msgid "Direction"
msgstr "目录"
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:127
msgid "Add Books"
msgstr "添加书目"
-#: bookwyrm/templates/lists/list.html:116
+#: bookwyrm/templates/lists/list.html:129
msgid "Suggest Books"
msgstr "推荐书目"
-#: bookwyrm/templates/lists/list.html:125
+#: bookwyrm/templates/lists/list.html:140
msgid "search"
msgstr "搜索"
-#: bookwyrm/templates/lists/list.html:131
+#: bookwyrm/templates/lists/list.html:146
msgid "Clear search"
msgstr "清除搜索"
-#: bookwyrm/templates/lists/list.html:136
+#: bookwyrm/templates/lists/list.html:151
#, python-format
msgid "No books found matching the query \"%(query)s\""
msgstr "没有符合 \"%(query)s\" 请求的书目"
-#: bookwyrm/templates/lists/list.html:164
+#: bookwyrm/templates/lists/list.html:179
msgid "Suggest"
msgstr "推荐"
@@ -1558,8 +1566,8 @@ msgstr "已解决"
#: bookwyrm/templates/moderation/reports.html:6
#, python-format
-msgid "Reports: %(server_name)s"
-msgstr "报告: %(server_name)s"
+msgid "Reports: %(instance_name)s"
+msgstr "报告: %(instance_name)s"
#: bookwyrm/templates/moderation/reports.html:8
#: bookwyrm/templates/moderation/reports.html:17
@@ -1569,8 +1577,8 @@ msgstr "报告"
#: bookwyrm/templates/moderation/reports.html:14
#, python-format
-msgid "Reports: %(server_name)s "
-msgstr "报告: %(server_name)s "
+msgid "Reports: %(instance_name)s "
+msgstr "报告: %(instance_name)s "
#: bookwyrm/templates/moderation/reports.html:28
msgid "Resolved"
@@ -1771,6 +1779,26 @@ msgstr "个人资料"
msgid "Relationships"
msgstr "关系"
+#: bookwyrm/templates/rss/title.html:5
+#: bookwyrm/templates/snippets/status/status_header.html:35
+msgid "rated"
+msgstr "评价了"
+
+#: bookwyrm/templates/rss/title.html:7
+#: bookwyrm/templates/snippets/status/status_header.html:37
+msgid "reviewed"
+msgstr "写了书评给"
+
+#: bookwyrm/templates/rss/title.html:9
+#: bookwyrm/templates/snippets/status/status_header.html:39
+msgid "commented on"
+msgstr "评论了"
+
+#: bookwyrm/templates/rss/title.html:11
+#: bookwyrm/templates/snippets/status/status_header.html:41
+msgid "quoted"
+msgstr "引用了"
+
#: bookwyrm/templates/search/book.html:64
#, fuzzy
#| msgid "Show results from other catalogues"
@@ -1828,7 +1856,9 @@ msgstr "管理用户"
#: bookwyrm/templates/settings/admin_layout.html:39
#: bookwyrm/templates/settings/federation.html:3
#: bookwyrm/templates/settings/federation.html:5
-msgid "Federated Servers"
+#, fuzzy
+#| msgid "Federated Servers"
+msgid "Federated Instances"
msgstr "互联的服务器"
#: bookwyrm/templates/settings/admin_layout.html:44
@@ -1882,6 +1912,7 @@ msgid "Back to list"
msgstr "回到服务器列表"
#: bookwyrm/templates/settings/announcement.html:11
+#: bookwyrm/templates/settings/announcement_form.html:6
#, fuzzy
#| msgid "Announcements"
msgid "Edit Announcement"
@@ -1923,7 +1954,7 @@ msgstr "出生日期:"
msgid "Active:"
msgstr "活跃"
-#: bookwyrm/templates/settings/announcement_form.html:5
+#: bookwyrm/templates/settings/announcement_form.html:8
#: bookwyrm/templates/settings/announcements.html:8
#, fuzzy
#| msgid "Announcements"
@@ -1982,13 +2013,15 @@ msgstr "停用"
#: bookwyrm/templates/settings/server_blocklist.html:3
#: bookwyrm/templates/settings/server_blocklist.html:20
#, fuzzy
-#| msgid "Add cover"
-msgid "Add server"
-msgstr "添加封面"
+#| msgid "Instance Name:"
+msgid "Add instance"
+msgstr "实例名称"
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/server_blocklist.html:7
-msgid "Back to server list"
+#, fuzzy
+#| msgid "Back to server list"
+msgid "Back to instance list"
msgstr "回到服务器列表"
#: bookwyrm/templates/settings/edit_server.html:16
@@ -2103,8 +2136,10 @@ msgstr ""
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
-msgid "Server name"
-msgstr "服务器名称"
+#, fuzzy
+#| msgid "Instance Name:"
+msgid "Instance name"
+msgstr "实例名称"
#: bookwyrm/templates/settings/federation.html:23
msgid "Date federated"
@@ -2231,7 +2266,7 @@ msgid "Import Blocklist"
msgstr "导入书目"
#: bookwyrm/templates/settings/server_blocklist.html:26
-#: bookwyrm/templates/snippets/goal_progress.html:5
+#: bookwyrm/templates/snippets/goal_progress.html:7
msgid "Success!"
msgstr "成功!"
@@ -2320,15 +2355,15 @@ msgstr "没有封面"
msgid "%(title)s by "
msgstr "%(title)s 来自"
-#: bookwyrm/templates/snippets/boost_button.html:9
-#: bookwyrm/templates/snippets/boost_button.html:10
+#: bookwyrm/templates/snippets/boost_button.html:20
+#: bookwyrm/templates/snippets/boost_button.html:21
#, fuzzy
#| msgid "boosted"
msgid "Boost"
msgstr "转发了"
-#: bookwyrm/templates/snippets/boost_button.html:16
-#: bookwyrm/templates/snippets/boost_button.html:17
+#: bookwyrm/templates/snippets/boost_button.html:33
+#: bookwyrm/templates/snippets/boost_button.html:34
#, fuzzy
#| msgid "Un-boost status"
msgid "Un-boost"
@@ -2422,13 +2457,13 @@ msgstr "删除这些阅读日期吗?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。"
-#: bookwyrm/templates/snippets/fav_button.html:9
-#: bookwyrm/templates/snippets/fav_button.html:11
+#: bookwyrm/templates/snippets/fav_button.html:10
+#: bookwyrm/templates/snippets/fav_button.html:12
msgid "Like"
msgstr ""
-#: bookwyrm/templates/snippets/fav_button.html:17
#: bookwyrm/templates/snippets/fav_button.html:18
+#: bookwyrm/templates/snippets/fav_button.html:19
#, fuzzy
#| msgid "Un-like status"
msgid "Un-like"
@@ -2471,6 +2506,13 @@ msgstr "接受"
msgid "No rating"
msgstr "没有评价"
+#: bookwyrm/templates/snippets/form_rate_stars.html:44
+#: bookwyrm/templates/snippets/stars.html:7
+#, python-format
+msgid "%(rating)s star"
+msgid_plural "%(rating)s stars"
+msgstr[0] ""
+
#: bookwyrm/templates/snippets/generated_status/goal.html:1
#, python-format
msgid "set a goal to read %(counter)s book in %(year)s"
@@ -2522,17 +2564,17 @@ msgstr "发布到消息流中"
msgid "Set goal"
msgstr "设置目标"
-#: bookwyrm/templates/snippets/goal_progress.html:7
+#: bookwyrm/templates/snippets/goal_progress.html:9
#, python-format
msgid "%(percent)s%% complete!"
msgstr "完成了 %(percent)s%% !"
-#: bookwyrm/templates/snippets/goal_progress.html:10
+#: bookwyrm/templates/snippets/goal_progress.html:12
#, python-format
msgid "You've read %(read_count)s of %(goal_count)s books ."
msgstr "你已经阅读了 %(goal_count)s 本书中的 %(read_count)s 本 。"
-#: bookwyrm/templates/snippets/goal_progress.html:12
+#: bookwyrm/templates/snippets/goal_progress.html:14
#, python-format
msgid "%(username)s has read %(read_count)s of %(goal_count)s books ."
msgstr "%(username)s 已经阅读了 %(goal_count)s 本书中的 %(read_count)s 本 。"
@@ -2641,26 +2683,6 @@ msgstr "注册"
msgid "Report"
msgstr "报告"
-#: bookwyrm/templates/snippets/rss_title.html:5
-#: bookwyrm/templates/snippets/status/status_header.html:35
-msgid "rated"
-msgstr "评价了"
-
-#: bookwyrm/templates/snippets/rss_title.html:7
-#: bookwyrm/templates/snippets/status/status_header.html:37
-msgid "reviewed"
-msgstr "写了书评给"
-
-#: bookwyrm/templates/snippets/rss_title.html:9
-#: bookwyrm/templates/snippets/status/status_header.html:39
-msgid "commented on"
-msgstr "评论了"
-
-#: bookwyrm/templates/snippets/rss_title.html:11
-#: bookwyrm/templates/snippets/status/status_header.html:41
-msgid "quoted"
-msgstr "引用了"
-
#: bookwyrm/templates/snippets/search_result_text.html:36
msgid "Import book"
msgstr "导入书目"
@@ -2832,7 +2854,7 @@ msgstr "编辑书架"
msgid "Update shelf"
msgstr "更新书架"
-#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
+#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
msgid "All books"
msgstr "所有书目"
@@ -2840,30 +2862,30 @@ msgstr "所有书目"
msgid "Create shelf"
msgstr "创建书架"
-#: bookwyrm/templates/user/shelf/shelf.html:61
+#: bookwyrm/templates/user/shelf/shelf.html:62
msgid "Edit shelf"
msgstr "编辑书架"
-#: bookwyrm/templates/user/shelf/shelf.html:80
-#: bookwyrm/templates/user/shelf/shelf.html:104
+#: bookwyrm/templates/user/shelf/shelf.html:81
+#: bookwyrm/templates/user/shelf/shelf.html:105
msgid "Shelved"
msgstr "上架时间"
-#: bookwyrm/templates/user/shelf/shelf.html:81
-#: bookwyrm/templates/user/shelf/shelf.html:108
+#: bookwyrm/templates/user/shelf/shelf.html:82
+#: bookwyrm/templates/user/shelf/shelf.html:109
msgid "Started"
msgstr "开始时间"
-#: bookwyrm/templates/user/shelf/shelf.html:82
-#: bookwyrm/templates/user/shelf/shelf.html:111
+#: bookwyrm/templates/user/shelf/shelf.html:83
+#: bookwyrm/templates/user/shelf/shelf.html:112
msgid "Finished"
msgstr "完成时间"
-#: bookwyrm/templates/user/shelf/shelf.html:137
+#: bookwyrm/templates/user/shelf/shelf.html:138
msgid "This shelf is empty."
msgstr "此书架是空的。"
-#: bookwyrm/templates/user/shelf/shelf.html:143
+#: bookwyrm/templates/user/shelf/shelf.html:144
msgid "Delete shelf"
msgstr "删除书架"
@@ -2924,8 +2946,8 @@ msgstr "回到报告"
#: bookwyrm/templates/user_admin/user_admin.html:7
#, python-format
-msgid "Users: %(server_name)s "
-msgstr "用户: %(server_name)s "
+msgid "Users: %(instance_name)s "
+msgstr "用户: %(instance_name)s "
#: bookwyrm/templates/user_admin/user_admin.html:22
#: bookwyrm/templates/user_admin/username_filter.html:5
@@ -2941,7 +2963,7 @@ msgid "Last Active"
msgstr "最后或缺"
#: bookwyrm/templates/user_admin/user_admin.html:38
-msgid "Remote server"
+msgid "Remote instance"
msgstr "移除服务器"
#: bookwyrm/templates/user_admin/user_admin.html:47
@@ -2989,6 +3011,10 @@ msgstr ""
msgid "Access level:"
msgstr ""
+#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
+msgid "File exceeds maximum size: 10MB"
+msgstr ""
+
#: bookwyrm/views/import_data.py:67
#, fuzzy
#| msgid "Email address:"
@@ -3004,6 +3030,23 @@ msgstr "没有找到使用该邮箱的用户。"
msgid "A password reset link sent to %s"
msgstr "密码重置连接已发送给 %s"
+#~ msgid "Reports: %(server_name)s "
+#~ msgstr "报告: %(server_name)s "
+
+#~ msgid "Federated Servers"
+#~ msgstr "互联的服务器"
+
+#~ msgid "Server name"
+#~ msgstr "服务器名称"
+
+#, fuzzy
+#~| msgid "Add cover"
+#~ msgid "Add server"
+#~ msgstr "添加封面"
+
+#~ msgid "Remote server"
+#~ msgstr "移除服务器"
+
#, fuzzy
#~| msgid "BookWyrm users"
#~ msgid "BookWyrm\\"
@@ -3054,12 +3097,12 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Enter a number."
#~ msgstr "系列编号:"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "A user with this email already exists."
#~ msgid "%(model_name)s with this %(field_labels)s already exists."
#~ msgstr "已经存在使用该邮箱的用户。"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid remote_id"
#~ msgid "Value %(value)r is not a valid choice."
#~ msgstr "%(value)s 不是有效的 remote_id"
@@ -3069,7 +3112,7 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "This field cannot be null."
#~ msgstr "此书架是空的。"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "A user with this email already exists."
#~ msgid "%(model_name)s with this %(field_label)s already exists."
#~ msgstr "已经存在使用该邮箱的用户。"
@@ -3119,7 +3162,7 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Positive small integer"
#~ msgstr "无有效的邀请"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(value)s” is not a valid UUID."
#~ msgstr "%(value)s 不是有效的用户名"
@@ -3134,12 +3177,12 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "One-to-one relationship"
#~ msgstr "关系"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Relationships"
#~ msgid "%(from)s-%(to)s relationship"
#~ msgstr "关系"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "Relationships"
#~ msgid "%(from)s-%(to)s relationships"
#~ msgstr "关系"
@@ -3199,7 +3242,7 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Order"
#~ msgstr "排列顺序"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "%(value)s is not a valid username"
#~ msgid "“%(pk)s” is not a valid value."
#~ msgstr "%(value)s 不是有效的用户名"
@@ -3263,7 +3306,7 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "This is not a valid IPv6 address."
#~ msgstr "邮箱地址:"
-#, fuzzy, python-format
+#, fuzzy
#~| msgid "No books found matching the query \"%(query)s\""
#~ msgid "No %(verbose_name)s found matching the query"
#~ msgstr "没有符合 \"%(query)s\" 请求的书目"
@@ -3282,11 +3325,9 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Matching Users"
#~ msgstr "匹配的用户"
-#, python-format
#~ msgid "Set a reading goal for %(year)s"
#~ msgstr "设定 %(year)s 的阅读目标"
-#, python-format
#~ msgid "by %(author)s"
#~ msgstr "由 %(author)s 所著"
@@ -3299,15 +3340,12 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Date"
#~ msgstr "日期"
-#, python-format
#~ msgid "replied to %(username)s's review "
#~ msgstr "回复了 %(username)s 的 书评 "
-#, python-format
#~ msgid "replied to %(username)s's comment "
#~ msgstr "恢复了 %(username)s 的 评论 "
-#, python-format
#~ msgid "replied to %(username)s's quote "
#~ msgstr "回复了 %(username)s 的 引用 "
@@ -3317,7 +3355,6 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Add tag"
#~ msgstr "添加标签"
-#, python-format
#~ msgid "Books tagged \"%(tag.name)s\""
#~ msgstr "标有 \"%(tag.name)s\" 标签的书"
diff --git a/nginx/development b/nginx/development
index d3898287..05b27c2b 100644
--- a/nginx/development
+++ b/nginx/development
@@ -1,3 +1,5 @@
+include /etc/nginx/conf.d/server_config;
+
upstream web {
server web:8000;
}
diff --git a/nginx/production b/nginx/production
index c5d83cbf..54c84af4 100644
--- a/nginx/production
+++ b/nginx/production
@@ -1,3 +1,5 @@
+include /etc/nginx/conf.d/server_config;
+
upstream web {
server web:8000;
}
diff --git a/nginx/server_config b/nginx/server_config
new file mode 100644
index 00000000..c9aad8e4
--- /dev/null
+++ b/nginx/server_config
@@ -0,0 +1 @@
+client_max_body_size 10m;
diff --git a/requirements.txt b/requirements.txt
index 289d6fe6..3e50a034 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
celery==4.4.2
-Django==3.2.0
+Django==3.2.1
django-model-utils==4.0.0
environs==7.2.0
flower==0.9.4