Merge pull request #1100 from bookwyrm-social/announcements

Announcements
This commit is contained in:
Mouse Reeve 2021-05-20 14:13:37 -07:00 committed by GitHub
commit b7ea3e5e6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
36 changed files with 1954 additions and 808 deletions

View file

@ -2,7 +2,6 @@
from django.contrib import admin
from bookwyrm import models
admin.site.register(models.SiteSettings)
admin.site.register(models.User)
admin.site.register(models.FederatedServer)
admin.site.register(models.Connector)

View file

@ -4,4 +4,7 @@ from bookwyrm import models
def site_settings(request): # pylint: disable=unused-argument
"""include the custom info about the site"""
return {"site": models.SiteSettings.objects.get()}
return {
"site": models.SiteSettings.objects.get(),
"active_announcements": models.Announcement.active_announcements(),
}

View file

@ -269,6 +269,12 @@ class SiteForm(CustomForm):
exclude = []
class AnnouncementForm(CustomForm):
class Meta:
model = models.Announcement
exclude = ["remote_id"]
class ListForm(CustomForm):
class Meta:
model = models.List

View file

@ -0,0 +1,56 @@
# Generated by Django 3.2 on 2021-05-20 19:34
import bookwyrm.models.fields
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("bookwyrm", "0074_auto_20210511_1829"),
]
operations = [
migrations.CreateModel(
name="Announcement",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_date", models.DateTimeField(auto_now_add=True)),
("updated_date", models.DateTimeField(auto_now=True)),
(
"remote_id",
bookwyrm.models.fields.RemoteIdField(
max_length=255,
null=True,
validators=[bookwyrm.models.fields.validate_remote_id],
),
),
("preview", models.CharField(max_length=255)),
("content", models.TextField(blank=True, null=True)),
("event_date", models.DateTimeField(blank=True, null=True)),
("start_date", models.DateTimeField(blank=True, null=True)),
("end_date", models.DateTimeField(blank=True, null=True)),
("active", models.BooleanField(default=True)),
(
"user",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to=settings.AUTH_USER_MODEL,
),
),
],
options={
"abstract": False,
},
),
]

View file

@ -25,6 +25,7 @@ from .federated_server import FederatedServer
from .import_job import ImportJob, ImportItem
from .site import SiteSettings, SiteInvite, PasswordReset, InviteRequest
from .announcement import Announcement
cls_members = inspect.getmembers(sys.modules[__name__], inspect.isclass)
activity_models = {

View file

@ -0,0 +1,28 @@
""" admin announcements """
from django.db import models
from django.db.models import Q
from django.utils import timezone
from .base_model import BookWyrmModel
class Announcement(BookWyrmModel):
"""The admin has something to say"""
user = models.ForeignKey("User", on_delete=models.PROTECT)
preview = models.CharField(max_length=255)
content = models.TextField(null=True, blank=True)
event_date = models.DateTimeField(blank=True, null=True)
start_date = models.DateTimeField(blank=True, null=True)
end_date = models.DateTimeField(blank=True, null=True)
active = models.BooleanField(default=True)
@classmethod
def active_announcements(cls):
"""announcements that should be displayed"""
now = timezone.now()
return cls.objects.filter(
Q(start_date__isnull=True) | Q(start_date__lte=now),
Q(end_date__isnull=True) | Q(end_date__gte=now),
active=True,
)

View file

@ -88,10 +88,11 @@ body {
.transition-y.is-hidden {
display: block !important;
visibility: hidden !important;
height: 0;
width: 0;
margin: 0;
padding: 0;
height: 0 !important;
width: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: auto;
}
.transition-x,

View file

@ -1,7 +1,5 @@
{% extends 'layout.html' %}
{% load i18n %}
{% load bookwyrm_tags %}
{% load humanize %}
{% load i18n %}{% load bookwyrm_tags %}{% load humanize %}{% load utilities %}
{% block title %}{{ book.title }}{% endblock %}

View file

@ -1,5 +1,4 @@
{% spaceless %}
{% load i18n %}
<dl>

View file

@ -1,11 +1,11 @@
{% extends 'layout.html' %}
{% load i18n %}
{% load i18n %}{% load utilities %}
{% block title %}{% blocktrans with book_title=work.title %}Editions of {{ book_title }}{% endblocktrans %}{% endblock %}
{% block title %}{% blocktrans with book_title=work|book_title %}Editions of {{ book_title }}{% endblocktrans %}{% endblock %}
{% block content %}
<div class="block">
<h1 class="title">{% blocktrans with work_path=work.local_path work_title=work.title %}Editions of <a href="{{ work_path }}">"{{ work_title }}"</a>{% endblocktrans %}</h1>
<h1 class="title">{% blocktrans with work_path=work.local_path work_title=work|book_title %}Editions of <a href="{{ work_path }}">"{{ work_title }}"</a>{% endblocktrans %}</h1>
</div>
{% include 'book/edition_filters.html' %}
@ -22,7 +22,7 @@
<div class="column my-3-mobile ml-3-tablet mr-auto">
<h2 class="title is-5 mb-1">
<a href="{{ book.local_path }}" class="has-text-black">
{{ book.title }}
{{ book|book_title }}
</a>
</h2>

View file

@ -1,5 +1,5 @@
{% extends 'snippets/filters_panel/filter_field.html' %}
{% load i18n %}
{% load i18n %}{% load utilities %}
{% block filter %}
<label class="label is-block" for="id_format">{% trans "Format:" %}</label>
@ -8,7 +8,7 @@
<option value="">{% trans "Any" %}</option>
{% for format in formats %}{% if format %}
<option value="{{ format }}" {% if request.GET.format == format %}selected{% endif %}>
{{ format|title }}
{{ format|book_title }}
</option>
{% endif %}{% endfor %}
</select>

View file

@ -49,7 +49,3 @@
</div>
{% endblock %}
{% block scripts %}
<script src="/static/js/localstorage.js"></script>
{% endblock %}

View file

@ -1,5 +1,4 @@
{% load layout %}
{% load i18n %}
{% load layout %}{% load i18n %}
<!DOCTYPE html>
<html lang="{% get_lang %}">
<head>
@ -182,6 +181,15 @@
</div>
</nav>
{% if active_announcements.exists %}
<div class="block is-flex-grow-1">
<div class="container">
{% for announcement in active_announcements %}
{% include 'snippets/announcement.html' with announcement=announcement %}
{% endfor %}
</div>
</div>
{% endif %}
<div class="section is-flex-grow-1">
<div class="container">
@ -230,6 +238,7 @@
var csrf_token = '{{ csrf_token }}';
</script>
<script src="/static/js/bookwyrm.js"></script>
<script src="/static/js/localstorage.js"></script>
{% block scripts %}{% endblock %}
</body>
</html>

View file

@ -28,9 +28,9 @@
</div>
<div class="column is-narrow">
{% trans "Open" as button_text %}
{% include 'snippets/toggle/open_button.html' with text=button_text small=True controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon_with_text="arrow-down" pressed=forloop.first %}
{% include 'snippets/toggle/open_button.html' with text=button_text controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon_with_text="arrow-down" pressed=forloop.first %}
{% trans "Close" as button_text %}
{% include 'snippets/toggle/close_button.html' with text=button_text small=True controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon_with_text="arrow-up" pressed=forloop.first %}
{% include 'snippets/toggle/close_button.html' with text=button_text controls_text="more-results-panel" controls_uid=result_set.connector.identifier class="is-small" icon_with_text="arrow-up" pressed=forloop.first %}
</div>
</header>
{% endif %}

View file

@ -43,6 +43,10 @@
{% if perms.bookwyrm.edit_instance_settings %}
<h2 class="menu-label">{% trans "Instance Settings" %}</h2>
<ul class="menu-list">
<li>
{% url 'settings-announcements' as url %}
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Announcements" %}</a>
</li>
<li>
{% url 'settings-site' as url %}
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Site Settings" %}</a>

View file

@ -0,0 +1,70 @@
{% extends 'settings/admin_layout.html' %}
{% load i18n %}{% load humanize %}
{% block title %}{% trans "Announcement" %} - {{ announcement.preview }}{% endblock %}
{% block header %}
{% trans "Announcement" %}
<a href="{% url 'settings-announcements' %}" class="has-text-weight-normal help">{% trans "Back to list" %}</a>
{% endblock %}
{% block edit-button %}
{% trans "Edit Announcement" as button_text %}
<div class="field has-addons">
<div class="control">
{% include 'snippets/toggle/open_button.html' with controls_text="edit-announcement" icon_with_text="pencil" text=button_text focus="edit-announcement-header" %}
</div>
<form class="control" action="{% url 'settings-announcements-delete' announcement.id %}" method="post">
{% csrf_token %}
<button type="submit" class="button is-danger">
<span class="icon icon-x" aria-hidden="true"></span>
<span>{% trans "Delete" %}</span>
</button>
</form>
</div>
{% endblock %}
{% block panel %}
<form name="edit-announcement" method="post" action="{% url 'settings-announcements' announcement.id %}" class="block">
{% include 'settings/announcement_form.html' with controls_text="edit-announcement" %}
</form>
<div class="block content">
<dl>
<div class="is-flex notification pt-1 pb-1 mb-0 {% if announcement in active_announcements %}is-success{% else %}is-danger{% endif %}">
<dt class="mr-1 has-text-weight-bold">{% trans "Visible:" %}</dt>
<dd>
{% if announcement in active_announcements %}
{% trans "True" %}
{% else %}
{% trans "False" %}
{% endif %}
</dd>
</div>
{% if announcement.start_date %}
<div class="is-flex notificationi pt-1 pb-1 mb-0 has-background-white">
<dt class="mr-1 has-text-weight-bold">{% trans "Start date:" %}</dt>
<dd>{{ announcement.start_date|naturalday }}</dd>
</div>
{% endif %}
{% if announcement.end_date %}
<div class="is-flex notification pt-1 pb-1 mb-0 has-background-white">
<dt class="mr-1 has-text-weight-bold">{% trans "End date:" %}</dt>
<dd>{{ announcement.end_date|naturalday }}</dd>
</div>
{% endif %}
<div class="is-flex notification pt-1 pb-1 has-background-white">
<dt class="mr-1 has-text-weight-bold">{% trans "Active:" %}</dt>
<dd>{{ announcement.active }}</dd>
</div>
</dl>
<hr aria-hidden="true">
{% include 'snippets/announcement.html' with announcement=announcement pressed=True admin_mode=True %}
</div>
{% endblock %}

View file

@ -0,0 +1,68 @@
{% extends 'components/inline_form.html' %}
{% load i18n %}
{% block header %}
{% trans "Create Announcement" %}
{% endblock %}
{% block form %}
{% csrf_token %}
<input type="hidden" name="user" value="{{ request.user.id }}">
<p>
<label class="label" for="id_preview">Preview:</label>
{{ form.preview }}
{% for error in form.preview.errors %}
<p class="help is-danger">{{ error | escape }}</p>
{% endfor %}
</p>
<p>
<label class="label" for="id_content">Content:</label>
{{ form.content }}
{% for error in form.content.errors %}
<p class="help is-danger">{{ error | escape }}</p>
{% endfor %}
</p>
<p>
<label class="label" for="id_event_date">Event date:</label>
<input type="date" name="event_date" value="{{ form.event_date.value }}" class="input" id="id_event_date">
{% for error in form.event_date.errors %}
<p class="help is-danger">{{ error | escape }}</p>
{% endfor %}
</p>
<hr aria-hidden="true">
<div class="columns">
<div class="column">
<p>
<label class="label" for="id_start_date">Start date:</label>
<input type="date" name="start_date" class="input" id="id_start_date">
{% for error in form.start_date.errors %}
<p class="help is-danger">{{ error | escape }}</p>
{% endfor %}
</p>
</div>
<div class="column">
<p>
<label class="label" for="id_end_date">End date:</label>
<input type="date" name="end_date" class="input" id="id_end_date">
{% for error in form.end_date.errors %}
<p class="help is-danger">{{ error | escape }}</p>
{% endfor %}
</p>
</div>
<div class="column is-narrow">
<p>
<label class="label" for="id_active">Active:</label>
{{ form.active }}
{% for error in form.active.errors %}
<p class="help is-danger">{{ error | escape }}</p>
{% endfor %}
</p>
</div>
</div>
<div class="field has-addons">
<div class="control">
<button type="submit" class="button is-primary">{% trans "Save" %}</button>
</div>
</div>
{% endblock %}

View file

@ -0,0 +1,54 @@
{% extends 'settings/admin_layout.html' %}
{% load i18n %}{% load humanize %}
{% block title %}{% trans "Announcements" %}{% endblock %}
{% block header %}{% trans "Announcements" %}{% endblock %}
{% block edit-button %}
{% trans "Create Announcement" as button_text %}
{% include 'snippets/toggle/open_button.html' with controls_text="create-announcement" icon_with_text="plus" text=button_text focus="create-announcement-header" %}
</a>
{% endblock %}
{% block panel %}
<form name="create-announcement" method="post" action="{% url 'settings-announcements' %}" class="block">
{% include 'settings/announcement_form.html' with controls_text="create-announcement" %}
</form>
<table class="table is-striped">
<tr>
<th>
{% url 'settings-announcements' as url %}
{% trans "Date added" as text %}
{% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %}
</th>
<th>
{% trans "Preview" as text %}
{% include 'snippets/table-sort-header.html' with field="preview" sort=sort text=text %}
</th>
<th>
{% trans "Start date" as text %}
{% include 'snippets/table-sort-header.html' with field="start_date" sort=sort text=text %}
</th>
<th>
{% trans "End date" as text %}
{% include 'snippets/table-sort-header.html' with field="end_date" sort=sort text=text %}
</th>
<th>
{% trans "Status" as text %}
{% include 'snippets/table-sort-header.html' with field="active" sort=sort text=text %}
</th>
</tr>
{% for announcement in announcements %}
<tr>
<td>{{ announcement.created_date|naturalday }}</td>
<td><a href="{% url 'settings-announcements' announcement.id %}">{{ announcement.preview }}</a></td>
<td>{{ announcement.start_date|naturaltime|default:'' }}</td>
<td>{{ announcement.end_date|naturaltime|default:'' }}</td>
<td>{% if announcement.active %}{% trans "active" %}{% else %}{% trans "inactive" %}{% endif %}</td>
</tr>
{% endfor %}
</table>
{% include 'snippets/pagination.html' with page=announcements path=request.path %}
{% endblock %}

View file

@ -10,7 +10,7 @@
{% if server.status == "blocked" %}<span class="icon icon-x has-text-danger is-size-5" title="{% trans 'Blocked' %}"><span class="is-sr-only">{% trans "Blocked" %}</span></span>
{% endif %}
<a href="{% url 'settings-federation' %}" class="has-text-weight-normal help">{% trans "Back to server list" %}</a>
<a href="{% url 'settings-federation' %}" class="has-text-weight-normal help">{% trans "Back to list" %}</a>
{% endblock %}
{% block panel %}

View file

@ -0,0 +1,38 @@
{% load humanize %}{% load i18n %}{% load utilities %}
{% with announcement.id|uuid as uuid %}
<aside
class="notification mb-1 p-3{% if not admin_mode %} is-hidden{% endif %} transition-y"
{% if not admin_mode %}data-hide="hide-announcement-{{ announcement.id }}"{% endif %}
>
<div class="columns mb-0">
<div class="column pb-0">
{% if announcement.event_date %}
<strong>{{ announcement.event_date|naturalday|title }}:</strong>
{% endif %}
{{ announcement.preview }}
</div>
{% if announcement.content %}
<div class="column is-narrow pb-0">
{% trans "Open" as button_text %}
{% include 'snippets/toggle/open_button.html' with text=button_text controls_text="announcement" class="is-small" controls_uid=uuid icon_with_text="arrow-down" %}
{% trans "Close" as button_text %}
{% include 'snippets/toggle/close_button.html' with text=button_text controls_text="announcement" class="is-small" controls_uid=uuid icon_with_text="arrow-up" %}
</div>
{% endif %}
</div>
{% if announcement.content %}
<div class="mb-2 mt-2 {% if not pressed %}is-hidden{% endif %}" id="announcement-{{ uuid }}">
<div class="box is-shadowless mb-0">
{{ announcement.content|safe }}
</div>
</div>
{% endif %}
<div class="is-flex mt-0 help">
<p>{% blocktrans with user_path=announcement.user.local_path username=announcement.user.display_name %}Posted by <a href="{{ user_path }}">{{ username }}</a>{% endblocktrans %}</p>
{% if not admin_mode %}
<span class="mr-2 ml-2" aria-hidden="true">&middot;</span>
<a class="set-display" data-id="hide-announcement-{{ announcement.id }}" data-value="true">{% trans "Dismiss message" %}</a>
{% endif %}
</div>
</aside>
{% endwith %}

View file

@ -1,8 +1,8 @@
{% load i18n %}
{% load utilities %}
{% if book.authors %}
{% blocktrans with path=book.local_path title=book|title %}<a href="{{ path }}">{{ title }}</a> by {% endblocktrans %}{% include 'snippets/authors.html' with book=book %}
{% blocktrans with path=book.local_path title=book|book_title %}<a href="{{ path }}">{{ title }}</a> by {% endblocktrans %}{% include 'snippets/authors.html' with book=book %}
{% else %}
<a href="{{ book.local_path }}">{{ book|title }}</a>
<a href="{{ book.local_path }}">{{ book|book_title }}</a>
{% endif %}

View file

@ -48,7 +48,7 @@
{% if status.book %}
{% if status.status_type == 'GeneratedNote' or status.status_type == 'Rating' %}
<a href="{{ status.book.local_path }}">{{ status.book|title }}</a>{% if status.status_type == 'Rating' %}: {% include 'snippets/stars.html' with rating=status.rating %}
<a href="{{ status.book.local_path }}">{{ status.book|book_title }}</a>{% if status.status_type == 'Rating' %}: {% include 'snippets/stars.html' with rating=status.rating %}
<span
itemprop="reviewRating"
itemscope
@ -59,7 +59,7 @@
{% if status.book %}
{% if status.status_type == 'GeneratedNote' or status.status_type == 'Rating' %}
<a href="{{ status.book.local_path }}">{{ status.book|title }}</a>{% if status.status_type == 'Rating' %}:
<a href="{{ status.book.local_path }}">{{ status.book|book_title }}</a>{% if status.status_type == 'Rating' %}:
<span
itemprop="reviewRating"
itemscope
@ -78,7 +78,7 @@
{% endif %}
{% elif status.mention_books %}
<a href="{{ status.mention_books.first.local_path }}">
{{ status.mention_books.first.title }}
{{ status.mention_books.first|book_title }}
</a>
{% endif %}
{% include 'snippets/stars.html' with rating=status.rating %}
@ -87,7 +87,7 @@
{% include 'snippets/book_titleby.html' with book=status.book %}
{% endif %}
{% elif status.mention_books %}
<a href="{{ status.mention_books.first.local_path }}">{{ status.mention_books.first|title }}</a>
<a href="{{ status.mention_books.first.local_path }}">{{ status.mention_books.first|book_title }}</a>
{% endif %}
</h3>

View file

@ -18,7 +18,7 @@ def get_user_identifier(user):
return user.localname if user.localname else user.username
@register.filter(name="title")
@register.filter(name="book_title")
def get_title(book):
"""display the subtitle if the title is short"""
if not book:

View file

@ -0,0 +1,137 @@
""" test for app action functionality """
from django.template.response import TemplateResponse
from django.test import TestCase
from django.test.client import RequestFactory
from bookwyrm import forms, models, views
class AnnouncementViews(TestCase):
"""every response to a get request, html or json"""
def setUp(self):
"""we need basic test data and mocks"""
self.factory = RequestFactory()
self.local_user = models.User.objects.create_user(
"mouse@local.com",
"mouse@mouse.mouse",
"password",
local=True,
localname="mouse",
)
models.SiteSettings.objects.create()
def test_announcements_page(self):
"""there are so many views, this just makes sure it LOADS"""
models.Announcement.objects.create(preview="hi", user=self.local_user)
view = views.Announcements.as_view()
request = self.factory.get("")
request.user = self.local_user
request.user.is_superuser = True
result = view(request)
self.assertIsInstance(result, TemplateResponse)
result.render()
self.assertEqual(result.status_code, 200)
def test_announcements_page_empty(self):
"""there are so many views, this just makes sure it LOADS"""
view = views.Announcements.as_view()
request = self.factory.get("")
request.user = self.local_user
request.user.is_superuser = True
result = view(request)
self.assertIsInstance(result, TemplateResponse)
result.render()
self.assertEqual(result.status_code, 200)
def test_announcement_page(self):
"""there are so many views, this just makes sure it LOADS"""
announcement = models.Announcement.objects.create(
preview="hi", user=self.local_user
)
view = views.Announcement.as_view()
request = self.factory.get("")
request.user = self.local_user
request.user.is_superuser = True
result = view(request, announcement.id)
self.assertIsInstance(result, TemplateResponse)
result.render()
self.assertEqual(result.status_code, 200)
def test_create_announcement(self):
"""create a new announcement"""
view = views.Announcements.as_view()
form = forms.AnnouncementForm()
form.data["preview"] = "hi hi"
form.data["start_date"] = "2021-05-20"
form.data["user"] = self.local_user.id
request = self.factory.post("", form.data)
request.user = self.local_user
request.user.is_superuser = True
view(request)
announcement = models.Announcement.objects.get()
self.assertEqual(announcement.preview, "hi hi")
self.assertEqual(announcement.start_date.year, 2021)
self.assertEqual(announcement.start_date.month, 5)
self.assertEqual(announcement.start_date.day, 20)
def test_edit_announcement(self):
"""edit an announcement"""
announcement = models.Announcement.objects.create(
preview="hi", user=self.local_user
)
view = views.Announcement.as_view()
form = forms.AnnouncementForm(instance=announcement)
form.data["preview"] = "hi hi"
form.data["start_date"] = "2021-05-20"
form.data["user"] = self.local_user.id
request = self.factory.post("", form.data)
request.user = self.local_user
request.user.is_superuser = True
view(request, announcement.id)
announcement.refresh_from_db()
self.assertEqual(announcement.preview, "hi hi")
self.assertEqual(announcement.start_date.year, 2021)
self.assertEqual(announcement.start_date.month, 5)
self.assertEqual(announcement.start_date.day, 20)
def test_delete_announcement(self):
"""delete an announcement"""
announcement = models.Announcement.objects.create(
preview="hi", user=self.local_user
)
view = views.delete_announcement
request = self.factory.post("")
request.user = self.local_user
request.user.is_superuser = True
view(request, announcement.id)
self.assertFalse(models.Announcement.objects.exists())
def test_view_announcement(self):
"""display announcement on other pages"""
view = views.User.as_view()
request = self.factory.get("")
request.user = self.local_user
result = view(request, self.local_user.localname)
self.assertIsInstance(result, TemplateResponse)
result.render()
self.assertEqual(result.status_code, 200)

View file

@ -56,6 +56,21 @@ urlpatterns = [
),
# admin
re_path(r"^settings/site-settings/?$", views.Site.as_view(), name="settings-site"),
re_path(
r"^settings/announcements/?$",
views.Announcements.as_view(),
name="settings-announcements",
),
re_path(
r"^settings/announcements/(?P<announcement_id>\d+)/?$",
views.Announcement.as_view(),
name="settings-announcements",
),
re_path(
r"^settings/announcements/(?P<announcement_id>\d+)/delete/?$",
views.delete_announcement,
name="settings-announcements-delete",
),
re_path(
r"^settings/email-preview/?$",
views.site.email_preview,

View file

@ -1,4 +1,5 @@
""" make sure all our nice views are available """
from .announcements import Announcements, Announcement, delete_announcement
from .authentication import Login, Register, Logout
from .author import Author, EditAuthor
from .block import Block, unblock

View file

@ -0,0 +1,97 @@
""" make announcements """
from django.contrib.auth.decorators import login_required, permission_required
from django.core.paginator import Paginator
from django.shortcuts import get_object_or_404, redirect
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
from bookwyrm import forms, models
from bookwyrm.settings import PAGE_LENGTH
# pylint: disable=no-self-use
@method_decorator(login_required, name="dispatch")
@method_decorator(
permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
name="dispatch",
)
class Announcements(View):
"""tell everyone"""
def get(self, request):
"""view and create announcements"""
announcements = models.Announcement.objects
sort = request.GET.get("sort", "-created_date")
sort_fields = [
"created_date",
"preview",
"start_date",
"end_date",
"active",
]
if sort in sort_fields + ["-{:s}".format(f) for f in sort_fields]:
announcements = announcements.order_by(sort)
data = {
"announcements": Paginator(announcements, PAGE_LENGTH).get_page(
request.GET.get("page")
),
"form": forms.AnnouncementForm(),
"sort": sort,
}
return TemplateResponse(request, "settings/announcements.html", data)
def post(self, request):
"""edit the site settings"""
form = forms.AnnouncementForm(request.POST)
if form.is_valid():
form.save()
# reset the create form
form = forms.AnnouncementForm()
data = {
"announcements": Paginator(
models.Announcement.objects.all(), PAGE_LENGTH
).get_page(request.GET.get("page")),
"form": form,
}
return TemplateResponse(request, "settings/announcements.html", data)
@method_decorator(login_required, name="dispatch")
@method_decorator(
permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
name="dispatch",
)
class Announcement(View):
"""edit an announcement"""
def get(self, request, announcement_id):
"""view announcement"""
announcement = get_object_or_404(models.Announcement, id=announcement_id)
data = {
"announcement": announcement,
"form": forms.AnnouncementForm(instance=announcement),
}
return TemplateResponse(request, "settings/announcement.html", data)
def post(self, request, announcement_id):
"""edit announcement"""
announcement = get_object_or_404(models.Announcement, id=announcement_id)
form = forms.AnnouncementForm(request.POST, instance=announcement)
if form.is_valid():
announcement = form.save()
data = {
"announcement": announcement,
"form": form,
}
return TemplateResponse(request, "settings/announcement.html", data)
@login_required
@permission_required("bookwyrm.edit_instance_settings", raise_exception=True)
def delete_announcement(_, announcement_id):
"""delete announcement"""
announcement = get_object_or_404(models.Announcement, id=announcement_id)
announcement.delete()
return redirect("settings-announcements")

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-14 15:12-0700\n"
"POT-Creation-Date: 2021-05-20 12:12-0700\n"
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: English <LL@li.org>\n"
@ -47,29 +47,29 @@ msgstr ""
msgid "Unlimited"
msgstr ""
#: bookwyrm/forms.py:293
#: bookwyrm/forms.py:299
msgid "List Order"
msgstr ""
#: bookwyrm/forms.py:294
#: bookwyrm/forms.py:300
msgid "Book Title"
msgstr ""
#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34
#: 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
msgid "Rating"
msgstr ""
#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
msgid "Sort By"
msgstr ""
#: bookwyrm/forms.py:301
#: bookwyrm/forms.py:307
msgid "Ascending"
msgstr ""
#: bookwyrm/forms.py:302
#: bookwyrm/forms.py:308
msgid "Descending"
msgstr ""
@ -83,7 +83,7 @@ msgstr ""
msgid "%(value)s is not a valid username"
msgstr ""
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:156
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
msgid "username"
msgstr ""
@ -136,34 +136,34 @@ msgstr ""
msgid "Edit Author"
msgstr ""
#: bookwyrm/templates/author/author.html:33
#: bookwyrm/templates/author/author.html:32
#: bookwyrm/templates/author/edit_author.html:38
msgid "Aliases:"
msgstr ""
#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/author.html:38
msgid "Born:"
msgstr ""
#: bookwyrm/templates/author/author.html:45
#: bookwyrm/templates/author/author.html:44
msgid "Died:"
msgstr ""
#: bookwyrm/templates/author/author.html:52
#: bookwyrm/templates/author/author.html:51
msgid "Wikipedia"
msgstr ""
#: bookwyrm/templates/author/author.html:56
#: bookwyrm/templates/book/book.html:81
#: bookwyrm/templates/author/author.html:55
#: bookwyrm/templates/book/book.html:78
msgid "View on OpenLibrary"
msgstr ""
#: bookwyrm/templates/author/author.html:61
#: bookwyrm/templates/book/book.html:84
#: bookwyrm/templates/author/author.html:60
#: bookwyrm/templates/book/book.html:81
msgid "View on Inventaire"
msgstr ""
#: bookwyrm/templates/author/author.html:75
#: bookwyrm/templates/author/author.html:74
#, python-format
msgid "Books by %(name)s"
msgstr ""
@ -200,8 +200,9 @@ msgid "Name:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:40
#: bookwyrm/templates/book/edit_book.html:128
#: bookwyrm/templates/book/edit_book.html:165
#: bookwyrm/templates/book/edit_book.html:132
#: bookwyrm/templates/book/edit_book.html:141
#: bookwyrm/templates/book/edit_book.html:178
msgid "Separate multiple values with commas."
msgstr ""
@ -226,11 +227,11 @@ msgid "Author Identifiers"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:74
#: bookwyrm/templates/book/edit_book.html:223
msgid "Openlibrary key:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:79
#: bookwyrm/templates/book/edit_book.html:243
msgid "Inventaire ID:"
msgstr ""
@ -243,12 +244,13 @@ msgid "Goodreads key:"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:98
#: bookwyrm/templates/book/book.html:127
#: bookwyrm/templates/book/edit_book.html:241
#: bookwyrm/templates/book/book.html:124
#: 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/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:94
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
#: bookwyrm/templates/snippets/readthrough.html:77
#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
@ -259,11 +261,11 @@ msgid "Save"
msgstr ""
#: bookwyrm/templates/author/edit_author.html:99
#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180
#: bookwyrm/templates/book/book.html:125 bookwyrm/templates/book/book.html:174
#: bookwyrm/templates/book/cover_modal.html:32
#: bookwyrm/templates/book/edit_book.html:242
#: bookwyrm/templates/book/edit_book.html:264
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:95
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
#: bookwyrm/templates/snippets/readthrough.html:78
@ -274,102 +276,98 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: bookwyrm/templates/book/book.html:33
#: bookwyrm/templates/book/book.html:31
#: bookwyrm/templates/discover/large-book.html:25
#: bookwyrm/templates/discover/small-book.html:19
msgid "by"
msgstr ""
#: bookwyrm/templates/book/book.html:41 bookwyrm/templates/book/book.html:42
#: bookwyrm/templates/book/book.html:39 bookwyrm/templates/book/book.html:40
msgid "Edit Book"
msgstr ""
#: bookwyrm/templates/book/book.html:60
#: bookwyrm/templates/book/book.html:57
#: bookwyrm/templates/book/cover_modal.html:5
msgid "Add cover"
msgstr ""
#: bookwyrm/templates/book/book.html:64
#: bookwyrm/templates/book/book.html:61
msgid "Failed to load cover"
msgstr ""
#: bookwyrm/templates/book/book.html:104
#: bookwyrm/templates/book/book.html:101
#, python-format
msgid "(%(review_count)s review)"
msgid_plural "(%(review_count)s reviews)"
msgstr[0] ""
msgstr[1] ""
#: bookwyrm/templates/book/book.html:116
#: bookwyrm/templates/book/book.html:113
msgid "Add Description"
msgstr ""
#: bookwyrm/templates/book/book.html:123
#: bookwyrm/templates/book/edit_book.html:107
#: bookwyrm/templates/book/book.html:120
#: bookwyrm/templates/book/edit_book.html:108
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr ""
#: bookwyrm/templates/book/book.html:137
#: bookwyrm/templates/book/book.html:134
#, python-format
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
msgstr ""
#: bookwyrm/templates/book/book.html:145
#: bookwyrm/templates/book/book.html:142
#, python-format
msgid "This edition is on your <a href=\"%(path)s\">%(shelf_name)s</a> shelf."
msgstr ""
#: bookwyrm/templates/book/book.html:151
#: bookwyrm/templates/book/book.html:148
#, python-format
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
msgstr ""
#: bookwyrm/templates/book/book.html:162
#: bookwyrm/templates/book/book.html:159
msgid "Your reading activity"
msgstr ""
#: bookwyrm/templates/book/book.html:165
#: bookwyrm/templates/book/book.html:162
msgid "Add read dates"
msgstr ""
#: bookwyrm/templates/book/book.html:170
msgid "You don't have any reading activity for this book."
msgstr ""
#: bookwyrm/templates/book/book.html:177
#: bookwyrm/templates/book/book.html:171
msgid "Create"
msgstr ""
#: bookwyrm/templates/book/book.html:203
#: bookwyrm/templates/book/book.html:181
msgid "You don't have any reading activity for this book."
msgstr ""
#: bookwyrm/templates/book/book.html:200
msgid "Reviews"
msgstr ""
#: bookwyrm/templates/book/book.html:208
#: bookwyrm/templates/book/book.html:205
msgid "Your reviews"
msgstr ""
#: bookwyrm/templates/book/book.html:214
#: bookwyrm/templates/book/book.html:211
msgid "Your comments"
msgstr ""
#: bookwyrm/templates/book/book.html:220
#: bookwyrm/templates/book/book.html:217
msgid "Your quotes"
msgstr ""
#: bookwyrm/templates/book/book.html:255
msgid "rated it"
msgstr ""
#: bookwyrm/templates/book/book.html:276
#: bookwyrm/templates/book/book.html:253
msgid "Subjects"
msgstr ""
#: bookwyrm/templates/book/book.html:288
#: bookwyrm/templates/book/book.html:265
msgid "Places"
msgstr ""
#: bookwyrm/templates/book/book.html:299 bookwyrm/templates/layout.html:65
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@ -377,37 +375,37 @@ msgstr ""
msgid "Lists"
msgstr ""
#: bookwyrm/templates/book/book.html:310
#: bookwyrm/templates/book/book.html:287
msgid "Add to list"
msgstr ""
#: bookwyrm/templates/book/book.html:320
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
#: bookwyrm/templates/lists/list.html:164
msgid "Add"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:8
#: bookwyrm/templates/book/book_identifiers.html:7
msgid "ISBN:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:15
#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/book/book_identifiers.html:14
#: bookwyrm/templates/book/edit_book.html:248
msgid "OCLC Number:"
msgstr ""
#: bookwyrm/templates/book/book_identifiers.html:22
#: bookwyrm/templates/book/edit_book.html:231
#: bookwyrm/templates/book/book_identifiers.html:21
#: bookwyrm/templates/book/edit_book.html:253
msgid "ASIN:"
msgstr ""
#: bookwyrm/templates/book/cover_modal.html:17
#: bookwyrm/templates/book/edit_book.html:179
#: bookwyrm/templates/book/edit_book.html:192
msgid "Upload cover:"
msgstr ""
#: bookwyrm/templates/book/cover_modal.html:23
#: bookwyrm/templates/book/edit_book.html:185
#: bookwyrm/templates/book/edit_book.html:198
msgid "Load cover from url:"
msgstr ""
@ -463,81 +461,89 @@ msgstr ""
msgid "Back"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:92
#: bookwyrm/templates/book/edit_book.html:93
msgid "Title:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:100
#: bookwyrm/templates/book/edit_book.html:101
msgid "Subtitle:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/book/edit_book.html:114
msgid "Series:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:120
#: bookwyrm/templates/book/edit_book.html:122
msgid "Series number:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:126
#: bookwyrm/templates/book/edit_book.html:130
msgid "Languages:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:139
msgid "Publisher:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:135
#: bookwyrm/templates/book/edit_book.html:148
msgid "First published date:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/book/edit_book.html:156
msgid "Published date:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:152
#: bookwyrm/templates/book/edit_book.html:165
msgid "Authors"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:158
#: bookwyrm/templates/book/edit_book.html:171
#, python-format
msgid "Remove <a href=\"%(path)s\">%(name)s</a>"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:163
#: bookwyrm/templates/book/edit_book.html:176
msgid "Add Authors:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:164
#: bookwyrm/templates/book/edit_book.html:177
msgid "John Doe, Jane Smith"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:170
#: bookwyrm/templates/book/edit_book.html:183
#: bookwyrm/templates/user/shelf/shelf.html:77
msgid "Cover"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:198
#: bookwyrm/templates/book/edit_book.html:211
msgid "Physical Properties"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:199
#: bookwyrm/templates/book/edit_book.html:212
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:207
#: bookwyrm/templates/book/edit_book.html:220
msgid "Pages:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:214
#: bookwyrm/templates/book/edit_book.html:227
msgid "Book Identifiers"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:215
#: bookwyrm/templates/book/edit_book.html:228
msgid "ISBN 13:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:219
#: bookwyrm/templates/book/edit_book.html:233
msgid "ISBN 10:"
msgstr ""
#: bookwyrm/templates/book/edit_book.html:238
msgid "Openlibrary ID:"
msgstr ""
#: bookwyrm/templates/book/editions.html:4
#, python-format
msgid "Editions of %(book_title)s"
@ -592,12 +598,17 @@ msgstr ""
msgid "Published by %(publisher)s."
msgstr ""
#: bookwyrm/templates/book/rating.html:13
msgid "rated it"
msgstr ""
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/feed_layout.html:69
#: bookwyrm/templates/get_started/layout.html:19
#: bookwyrm/templates/get_started/layout.html:52
#: bookwyrm/templates/search/book.html:32
#: bookwyrm/templates/snippets/announcement.html:17
msgid "Close"
msgstr ""
@ -619,7 +630,7 @@ msgstr ""
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
#: bookwyrm/templates/layout.html:93
#: bookwyrm/templates/layout.html:92
msgid "Directory"
msgstr ""
@ -633,6 +644,7 @@ msgid "You can opt-out at any time in your <a href=\"%(path)s\">profile settings
msgstr ""
#: bookwyrm/templates/directory/directory.html:29
#: bookwyrm/templates/snippets/announcement.html:30
#: bookwyrm/templates/snippets/goal_card.html:22
msgid "Dismiss message"
msgstr ""
@ -723,7 +735,7 @@ msgid "Join %(name)s"
msgstr ""
#: bookwyrm/templates/discover/landing_layout.html:51
#: bookwyrm/templates/login.html:48
#: bookwyrm/templates/login.html:51
msgid "This instance is closed"
msgstr ""
@ -819,7 +831,7 @@ msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
msgstr ""
#: bookwyrm/templates/feed/direct_messages.html:10
#: bookwyrm/templates/layout.html:88
#: bookwyrm/templates/layout.html:87
msgid "Direct Messages"
msgstr ""
@ -875,7 +887,7 @@ msgid "Updates"
msgstr ""
#: bookwyrm/templates/feed/feed_layout.html:10
#: bookwyrm/templates/layout.html:59
#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr ""
@ -949,7 +961,7 @@ msgstr ""
#: bookwyrm/templates/get_started/books.html:17
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
#: bookwyrm/templates/lists/list.html:124
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
@ -1078,7 +1090,7 @@ msgid "%(username)s's %(year)s Books"
msgstr ""
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
#: bookwyrm/templates/layout.html:98
#: bookwyrm/templates/layout.html:97
msgid "Import Books"
msgstr ""
@ -1179,7 +1191,7 @@ msgid "Imported"
msgstr ""
#: bookwyrm/templates/invite.html:4 bookwyrm/templates/invite.html:12
#: bookwyrm/templates/login.html:43
#: bookwyrm/templates/login.html:46
msgid "Create an Account"
msgstr ""
@ -1204,23 +1216,23 @@ msgstr ""
msgid "Matching Books"
msgstr ""
#: bookwyrm/templates/layout.html:34
#: bookwyrm/templates/layout.html:33
msgid "Search for a book or user"
msgstr ""
#: bookwyrm/templates/layout.html:48 bookwyrm/templates/layout.html:49
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/layout.html:48
msgid "Main navigation menu"
msgstr ""
#: bookwyrm/templates/layout.html:62
#: bookwyrm/templates/layout.html:61
msgid "Feed"
msgstr ""
#: bookwyrm/templates/layout.html:103
#: bookwyrm/templates/layout.html:102
msgid "Settings"
msgstr ""
#: bookwyrm/templates/layout.html:112
#: bookwyrm/templates/layout.html:111
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@ -1228,61 +1240,61 @@ msgstr ""
msgid "Invites"
msgstr ""
#: bookwyrm/templates/layout.html:119
#: bookwyrm/templates/layout.html:118
msgid "Admin"
msgstr ""
#: bookwyrm/templates/layout.html:126
#: bookwyrm/templates/layout.html:125
msgid "Log out"
msgstr ""
#: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135
#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr ""
#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:159
#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr ""
#: bookwyrm/templates/layout.html:160
#: bookwyrm/templates/layout.html:159
msgid "password"
msgstr ""
#: bookwyrm/templates/layout.html:161 bookwyrm/templates/login.html:36
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr ""
#: bookwyrm/templates/layout.html:164 bookwyrm/templates/login.html:10
#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr ""
#: bookwyrm/templates/layout.html:172
#: bookwyrm/templates/layout.html:171
msgid "Join"
msgstr ""
#: bookwyrm/templates/layout.html:198
#: bookwyrm/templates/layout.html:206
msgid "About this server"
msgstr ""
#: bookwyrm/templates/layout.html:202
#: bookwyrm/templates/layout.html:210
msgid "Contact site admin"
msgstr ""
#: bookwyrm/templates/layout.html:206
#: bookwyrm/templates/layout.html:214
msgid "Documentation"
msgstr ""
#: bookwyrm/templates/layout.html:213
#: bookwyrm/templates/layout.html:221
#, python-format
msgid "Support %(site_name)s on <a href=\"%(support_link)s\" target=\"_blank\">%(support_title)s</a>"
msgstr ""
#: bookwyrm/templates/layout.html:217
#: bookwyrm/templates/layout.html:225
msgid "BookWyrm's source code is freely available. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
msgstr ""
@ -1353,6 +1365,7 @@ msgstr ""
#: bookwyrm/templates/lists/form.html:31
#: bookwyrm/templates/moderation/reports.html:25
#: bookwyrm/templates/search/book.html:30
#: bookwyrm/templates/snippets/announcement.html:15
msgid "Open"
msgstr ""
@ -1436,11 +1449,11 @@ msgstr ""
msgid "Password:"
msgstr ""
#: bookwyrm/templates/login.html:49
#: bookwyrm/templates/login.html:52
msgid "Contact an administrator to get an invite"
msgstr ""
#: bookwyrm/templates/login.html:59
#: bookwyrm/templates/login.html:63
msgid "More about this site"
msgstr ""
@ -1778,31 +1791,118 @@ msgid "Instance Settings"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:48
#: bookwyrm/templates/settings/announcements.html:3
#: bookwyrm/templates/settings/announcements.html:5
msgid "Announcements"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:52
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:51
#: bookwyrm/templates/settings/admin_layout.html:55
#: bookwyrm/templates/settings/site.html:13
msgid "Instance Info"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:52
#: bookwyrm/templates/settings/admin_layout.html:56
#: bookwyrm/templates/settings/site.html:39
msgid "Images"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:53
#: bookwyrm/templates/settings/admin_layout.html:57
#: bookwyrm/templates/settings/site.html:59
msgid "Footer Content"
msgstr ""
#: bookwyrm/templates/settings/admin_layout.html:54
#: bookwyrm/templates/settings/admin_layout.html:58
#: bookwyrm/templates/settings/site.html:81
msgid "Registration"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:3
#: bookwyrm/templates/settings/announcement.html:6
msgid "Announcement"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:7
#: bookwyrm/templates/settings/federated_server.html:13
msgid "Back to list"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:11
msgid "Edit Announcement"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:20
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
msgid "Delete"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:35
msgid "Visible:"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:38
msgid "True"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:40
msgid "False"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:47
msgid "Start date:"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:54
msgid "End date:"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:60
msgid "Active:"
msgstr ""
#: bookwyrm/templates/settings/announcement_form.html:5
#: bookwyrm/templates/settings/announcements.html:8
msgid "Create Announcement"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:22
msgid "Date added"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:26
msgid "Preview"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:30
msgid "Start date"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:34
msgid "End date"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:38
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
#: bookwyrm/templates/user_admin/user_admin.html:34
msgid "Status"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:48
msgid "active"
msgstr ""
#: bookwyrm/templates/settings/announcements.html:48
msgid "inactive"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:3
#: bookwyrm/templates/settings/edit_server.html:6
#: bookwyrm/templates/settings/edit_server.html:20
@ -1814,7 +1914,6 @@ msgid "Add server"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/federated_server.html:13
#: bookwyrm/templates/settings/server_blocklist.html:7
msgid "Back to server list"
msgstr ""
@ -1829,7 +1928,7 @@ msgid "Instance:"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:37
#: bookwyrm/templates/settings/federated_server.html:30
#: bookwyrm/templates/settings/federated_server.html:31
#: bookwyrm/templates/user_admin/user_info.html:34
msgid "Status:"
msgstr ""
@ -1840,13 +1939,13 @@ msgid "Blocked"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:48
#: bookwyrm/templates/settings/federated_server.html:22
#: bookwyrm/templates/settings/federated_server.html:23
#: bookwyrm/templates/user_admin/user_info.html:26
msgid "Software:"
msgstr ""
#: bookwyrm/templates/settings/edit_server.html:55
#: bookwyrm/templates/settings/federated_server.html:26
#: bookwyrm/templates/settings/federated_server.html:27
#: bookwyrm/templates/user_admin/user_info.html:30
msgid "Version:"
msgstr ""
@ -1859,88 +1958,81 @@ msgstr ""
msgid "Details"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:37
#: bookwyrm/templates/settings/federated_server.html:39
#: bookwyrm/templates/user/layout.html:56
msgid "Activity"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:40
#: bookwyrm/templates/settings/federated_server.html:43
msgid "Users:"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:43
#: bookwyrm/templates/settings/federated_server.html:50
#: bookwyrm/templates/settings/federated_server.html:46
#: bookwyrm/templates/settings/federated_server.html:53
msgid "View all"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:47
#: bookwyrm/templates/settings/federated_server.html:50
msgid "Reports:"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:54
#: bookwyrm/templates/settings/federated_server.html:57
msgid "Followed by us:"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:60
#: bookwyrm/templates/settings/federated_server.html:63
msgid "Followed by them:"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:66
#: bookwyrm/templates/settings/federated_server.html:69
msgid "Blocked by us:"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:78
#: bookwyrm/templates/settings/federated_server.html:82
#: bookwyrm/templates/user_admin/user_info.html:39
msgid "Notes"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:81
#: bookwyrm/templates/settings/federated_server.html:85
msgid "Edit"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:101
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/user_admin/user_moderation_actions.html:3
msgid "Actions"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/settings/federated_server.html:109
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:106
#: bookwyrm/templates/settings/federated_server.html:110
msgid "All users from this instance will be deactivated."
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:111
#: bookwyrm/templates/settings/federated_server.html:115
#: bookwyrm/templates/snippets/block_button.html:10
msgid "Un-block"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:112
#: bookwyrm/templates/settings/federated_server.html:116
msgid "All users from this instance will be re-activated."
msgstr ""
#: bookwyrm/templates/settings/federation.html:20
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
msgid "Server name"
msgstr ""
#: bookwyrm/templates/settings/federation.html:24
#: bookwyrm/templates/settings/federation.html:23
msgid "Date federated"
msgstr ""
#: bookwyrm/templates/settings/federation.html:28
#: bookwyrm/templates/settings/federation.html:27
msgid "Software"
msgstr ""
#: bookwyrm/templates/settings/federation.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
#: bookwyrm/templates/user_admin/user_admin.html:34
msgid "Status"
msgstr ""
#: bookwyrm/templates/settings/manage_invite_requests.html:4
#: bookwyrm/templates/settings/manage_invite_requests.html:11
#: bookwyrm/templates/settings/manage_invite_requests.html:25
@ -2124,6 +2216,11 @@ msgstr ""
msgid "Registration closed text:"
msgstr ""
#: bookwyrm/templates/snippets/announcement.html:27
#, python-format
msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
msgstr ""
#: bookwyrm/templates/snippets/book_cover.html:31
msgid "No cover"
msgstr ""
@ -2229,11 +2326,6 @@ msgstr ""
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr ""
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
msgid "Delete"
msgstr ""
#: bookwyrm/templates/snippets/fav_button.html:9
#: bookwyrm/templates/snippets/fav_button.html:11
msgid "Like"
@ -2682,16 +2774,16 @@ msgstr ""
msgid "Edit profile"
msgstr ""
#: bookwyrm/templates/user/user.html:34
#: bookwyrm/templates/user/user.html:33
#, python-format
msgid "View all %(size)s"
msgstr ""
#: bookwyrm/templates/user/user.html:47
#: bookwyrm/templates/user/user.html:46
msgid "View all books"
msgstr ""
#: bookwyrm/templates/user/user.html:60
#: bookwyrm/templates/user/user.html:59
msgid "User Activity"
msgstr ""
@ -2794,11 +2886,11 @@ msgstr ""
msgid "Access level:"
msgstr ""
#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35
#: bookwyrm/views/password.py:32
msgid "No user with that email address was found."
msgstr ""
#: bookwyrm/views/password.py:44
#: bookwyrm/views/password.py:41
#, python-format
msgid "A password reset link sent to %s"
msgstr ""

Binary file not shown.

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-14 15:12-0700\n"
"POT-Creation-Date: 2021-05-20 12:12-0700\n"
"PO-Revision-Date: 2021-03-19 11:49+0800\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -47,29 +47,29 @@ msgstr "%(count)d usos"
msgid "Unlimited"
msgstr "Sin límite"
#: bookwyrm/forms.py:293
#: bookwyrm/forms.py:299
msgid "List Order"
msgstr "Orden de la lista"
#: bookwyrm/forms.py:294
#: bookwyrm/forms.py:300
msgid "Book Title"
msgstr "Título"
#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34
#: 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
msgid "Rating"
msgstr "Calificación"
#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
msgid "Sort By"
msgstr "Ordenar por"
#: bookwyrm/forms.py:301
#: bookwyrm/forms.py:307
msgid "Ascending"
msgstr "Ascendente"
#: bookwyrm/forms.py:302
#: bookwyrm/forms.py:308
msgid "Descending"
msgstr "Descendente"
@ -83,7 +83,7 @@ msgstr "%(value)s no es un remote_id válido"
msgid "%(value)s is not a valid username"
msgstr "%(value)s no es un usuario válido"
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:156
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
msgid "username"
msgstr "nombre de usuario"
@ -136,36 +136,36 @@ msgstr "¡Algo salió mal! Disculpa."
msgid "Edit Author"
msgstr "Editar Autor/Autora"
#: bookwyrm/templates/author/author.html:33
#: bookwyrm/templates/author/author.html:32
#: bookwyrm/templates/author/edit_author.html:38
msgid "Aliases:"
msgstr ""
#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/author.html:38
msgid "Born:"
msgstr ""
#: bookwyrm/templates/author/author.html:45
#: bookwyrm/templates/author/author.html:44
msgid "Died:"
msgstr ""
#: bookwyrm/templates/author/author.html:52
#: bookwyrm/templates/author/author.html:51
msgid "Wikipedia"
msgstr "Wikipedia"
#: bookwyrm/templates/author/author.html:56
#: bookwyrm/templates/book/book.html:81
#: bookwyrm/templates/author/author.html:55
#: bookwyrm/templates/book/book.html:78
msgid "View on OpenLibrary"
msgstr "Ver en OpenLibrary"
#: bookwyrm/templates/author/author.html:61
#: bookwyrm/templates/book/book.html:84
#: bookwyrm/templates/author/author.html:60
#: bookwyrm/templates/book/book.html:81
#, fuzzy
#| msgid "View on OpenLibrary"
msgid "View on Inventaire"
msgstr "Ver en OpenLibrary"
#: bookwyrm/templates/author/author.html:75
#: bookwyrm/templates/author/author.html:74
#, python-format
msgid "Books by %(name)s"
msgstr "Libros de %(name)s"
@ -202,8 +202,9 @@ msgid "Name:"
msgstr "Nombre:"
#: bookwyrm/templates/author/edit_author.html:40
#: bookwyrm/templates/book/edit_book.html:128
#: bookwyrm/templates/book/edit_book.html:165
#: 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."
@ -230,11 +231,11 @@ msgid "Author Identifiers"
msgstr "Identificadores de autor/autora"
#: bookwyrm/templates/author/edit_author.html:74
#: bookwyrm/templates/book/edit_book.html:223
msgid "Openlibrary key:"
msgstr "Clave OpenLibrary:"
#: bookwyrm/templates/author/edit_author.html:79
#: bookwyrm/templates/book/edit_book.html:243
#, fuzzy
#| msgid "View on OpenLibrary"
msgid "Inventaire ID:"
@ -249,12 +250,13 @@ msgid "Goodreads key:"
msgstr "Clave Goodreads:"
#: bookwyrm/templates/author/edit_author.html:98
#: bookwyrm/templates/book/book.html:127
#: bookwyrm/templates/book/edit_book.html:241
#: bookwyrm/templates/book/book.html:124
#: 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/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:94
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
#: bookwyrm/templates/snippets/readthrough.html:77
#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
@ -265,11 +267,11 @@ msgid "Save"
msgstr "Guardar"
#: bookwyrm/templates/author/edit_author.html:99
#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180
#: bookwyrm/templates/book/book.html:125 bookwyrm/templates/book/book.html:174
#: bookwyrm/templates/book/cover_modal.html:32
#: bookwyrm/templates/book/edit_book.html:242
#: bookwyrm/templates/book/edit_book.html:264
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:95
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
#: bookwyrm/templates/snippets/readthrough.html:78
@ -280,110 +282,106 @@ msgstr "Guardar"
msgid "Cancel"
msgstr "Cancelar"
#: bookwyrm/templates/book/book.html:33
#: bookwyrm/templates/book/book.html:31
#: bookwyrm/templates/discover/large-book.html:25
#: bookwyrm/templates/discover/small-book.html:19
msgid "by"
msgstr "por"
#: bookwyrm/templates/book/book.html:41 bookwyrm/templates/book/book.html:42
#: bookwyrm/templates/book/book.html:39 bookwyrm/templates/book/book.html:40
msgid "Edit Book"
msgstr "Editar Libro"
#: bookwyrm/templates/book/book.html:60
#: bookwyrm/templates/book/book.html:57
#: bookwyrm/templates/book/cover_modal.html:5
msgid "Add cover"
msgstr "Agregar portada"
#: bookwyrm/templates/book/book.html:64
#: bookwyrm/templates/book/book.html:61
msgid "Failed to load cover"
msgstr "No se pudo cargar la portada"
#: bookwyrm/templates/book/book.html:104
#: bookwyrm/templates/book/book.html:101
#, python-format
msgid "(%(review_count)s review)"
msgid_plural "(%(review_count)s reviews)"
msgstr[0] "(%(review_count)s reseña)"
msgstr[1] "(%(review_count)s reseñas)"
#: bookwyrm/templates/book/book.html:116
#: bookwyrm/templates/book/book.html:113
msgid "Add Description"
msgstr "Agregar descripción"
#: bookwyrm/templates/book/book.html:123
#: bookwyrm/templates/book/edit_book.html:107
#: bookwyrm/templates/book/book.html:120
#: bookwyrm/templates/book/edit_book.html:108
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "Descripción:"
#: bookwyrm/templates/book/book.html:137
#: bookwyrm/templates/book/book.html:134
#, python-format
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
msgstr "<a href=\"%(path)s/editions\">%(count)s ediciones</a>"
#: bookwyrm/templates/book/book.html:145
#: bookwyrm/templates/book/book.html:142
#, python-format
msgid "This edition is on your <a href=\"%(path)s\">%(shelf_name)s</a> shelf."
msgstr "Esta edición está en tu <a href=\"%(path)s\">%(shelf_name)s</a> estante."
#: bookwyrm/templates/book/book.html:151
#: bookwyrm/templates/book/book.html:148
#, python-format
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
msgstr "Una <a href=\"%(book_path)s\">edición diferente</a> de este libro está en tu <a href=\"%(shelf_path)s\">%(shelf_name)s</a> estante."
#: bookwyrm/templates/book/book.html:162
#: bookwyrm/templates/book/book.html:159
msgid "Your reading activity"
msgstr "Tu actividad de lectura"
#: bookwyrm/templates/book/book.html:165
#: bookwyrm/templates/book/book.html:162
msgid "Add read dates"
msgstr "Agregar fechas de lectura"
#: bookwyrm/templates/book/book.html:170
msgid "You don't have any reading activity for this book."
msgstr "No tienes ninguna actividad de lectura para este libro."
#: bookwyrm/templates/book/book.html:177
#: bookwyrm/templates/book/book.html:171
msgid "Create"
msgstr "Crear"
#: bookwyrm/templates/book/book.html:203
#: bookwyrm/templates/book/book.html:181
msgid "You don't have any reading activity for this book."
msgstr "No tienes ninguna actividad de lectura para este libro."
#: bookwyrm/templates/book/book.html:200
#, fuzzy
#| msgid "Review"
msgid "Reviews"
msgstr "Reseña"
#: bookwyrm/templates/book/book.html:208
#: bookwyrm/templates/book/book.html:205
#, fuzzy
#| msgid "Your shelves"
msgid "Your reviews"
msgstr "Tus estantes"
#: bookwyrm/templates/book/book.html:214
#: bookwyrm/templates/book/book.html:211
#, fuzzy
#| msgid "Your Account"
msgid "Your comments"
msgstr "Tu cuenta"
#: bookwyrm/templates/book/book.html:220
#: bookwyrm/templates/book/book.html:217
#, fuzzy
#| msgid "Your books"
msgid "Your quotes"
msgstr "Tus libros"
#: bookwyrm/templates/book/book.html:255
msgid "rated it"
msgstr "lo calificó con"
#: bookwyrm/templates/book/book.html:276
#: bookwyrm/templates/book/book.html:253
msgid "Subjects"
msgstr "Sujetos"
#: bookwyrm/templates/book/book.html:288
#: bookwyrm/templates/book/book.html:265
msgid "Places"
msgstr "Lugares"
#: bookwyrm/templates/book/book.html:299 bookwyrm/templates/layout.html:65
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@ -391,37 +389,37 @@ msgstr "Lugares"
msgid "Lists"
msgstr "Listas"
#: bookwyrm/templates/book/book.html:310
#: bookwyrm/templates/book/book.html:287
msgid "Add to list"
msgstr "Agregar a lista"
#: bookwyrm/templates/book/book.html:320
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
#: bookwyrm/templates/lists/list.html:164
msgid "Add"
msgstr "Agregar"
#: bookwyrm/templates/book/book_identifiers.html:8
#: bookwyrm/templates/book/book_identifiers.html:7
msgid "ISBN:"
msgstr "ISBN:"
#: bookwyrm/templates/book/book_identifiers.html:15
#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/book/book_identifiers.html:14
#: bookwyrm/templates/book/edit_book.html:248
msgid "OCLC Number:"
msgstr "Número OCLC:"
#: bookwyrm/templates/book/book_identifiers.html:22
#: bookwyrm/templates/book/edit_book.html:231
#: bookwyrm/templates/book/book_identifiers.html:21
#: bookwyrm/templates/book/edit_book.html:253
msgid "ASIN:"
msgstr "ASIN:"
#: bookwyrm/templates/book/cover_modal.html:17
#: bookwyrm/templates/book/edit_book.html:179
#: bookwyrm/templates/book/edit_book.html:192
msgid "Upload cover:"
msgstr "Subir portada:"
#: bookwyrm/templates/book/cover_modal.html:23
#: bookwyrm/templates/book/edit_book.html:185
#: bookwyrm/templates/book/edit_book.html:198
msgid "Load cover from url:"
msgstr "Agregar portada de url:"
@ -477,81 +475,93 @@ msgstr "Confirmar"
msgid "Back"
msgstr "Volver"
#: bookwyrm/templates/book/edit_book.html:92
#: bookwyrm/templates/book/edit_book.html:93
msgid "Title:"
msgstr "Título:"
#: bookwyrm/templates/book/edit_book.html:100
#: bookwyrm/templates/book/edit_book.html:101
msgid "Subtitle:"
msgstr "Subtítulo:"
#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/book/edit_book.html:114
msgid "Series:"
msgstr "Serie:"
#: bookwyrm/templates/book/edit_book.html:120
#: bookwyrm/templates/book/edit_book.html:122
msgid "Series number:"
msgstr "Número de serie:"
#: bookwyrm/templates/book/edit_book.html:126
#: bookwyrm/templates/book/edit_book.html:130
#, fuzzy
#| msgid "Language:"
msgid "Languages:"
msgstr "Idioma:"
#: bookwyrm/templates/book/edit_book.html:139
msgid "Publisher:"
msgstr "Editorial:"
#: bookwyrm/templates/book/edit_book.html:135
#: bookwyrm/templates/book/edit_book.html:148
msgid "First published date:"
msgstr "Fecha de primera publicación:"
#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/book/edit_book.html:156
msgid "Published date:"
msgstr "Fecha de publicación:"
#: bookwyrm/templates/book/edit_book.html:152
#: bookwyrm/templates/book/edit_book.html:165
msgid "Authors"
msgstr "Autores"
#: bookwyrm/templates/book/edit_book.html:158
#: bookwyrm/templates/book/edit_book.html:171
#, python-format
msgid "Remove <a href=\"%(path)s\">%(name)s</a>"
msgstr "Eliminar <a href=\"%(path)s\">%(name)s</a>"
#: bookwyrm/templates/book/edit_book.html:163
#: bookwyrm/templates/book/edit_book.html:176
msgid "Add Authors:"
msgstr "Agregar Autores:"
#: bookwyrm/templates/book/edit_book.html:164
#: bookwyrm/templates/book/edit_book.html:177
msgid "John Doe, Jane Smith"
msgstr "Juan Nadie, Natalia Natalia"
#: bookwyrm/templates/book/edit_book.html:170
#: bookwyrm/templates/book/edit_book.html:183
#: bookwyrm/templates/user/shelf/shelf.html:77
msgid "Cover"
msgstr "Portada:"
#: bookwyrm/templates/book/edit_book.html:198
#: bookwyrm/templates/book/edit_book.html:211
msgid "Physical Properties"
msgstr "Propiedades físicas:"
#: bookwyrm/templates/book/edit_book.html:199
#: bookwyrm/templates/book/edit_book.html:212
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr "Formato:"
#: bookwyrm/templates/book/edit_book.html:207
#: bookwyrm/templates/book/edit_book.html:220
msgid "Pages:"
msgstr "Páginas:"
#: bookwyrm/templates/book/edit_book.html:214
#: bookwyrm/templates/book/edit_book.html:227
msgid "Book Identifiers"
msgstr "Identificadores de libro"
#: bookwyrm/templates/book/edit_book.html:215
#: bookwyrm/templates/book/edit_book.html:228
msgid "ISBN 13:"
msgstr "ISBN 13:"
#: bookwyrm/templates/book/edit_book.html:219
#: bookwyrm/templates/book/edit_book.html:233
msgid "ISBN 10:"
msgstr "ISBN 10:"
#: bookwyrm/templates/book/edit_book.html:238
#, fuzzy
#| msgid "Openlibrary key:"
msgid "Openlibrary ID:"
msgstr "Clave OpenLibrary:"
#: bookwyrm/templates/book/editions.html:4
#, python-format
msgid "Editions of %(book_title)s"
@ -606,12 +616,17 @@ msgstr "Publicado %(date)s"
msgid "Published by %(publisher)s."
msgstr "Publicado por %(publisher)s."
#: bookwyrm/templates/book/rating.html:13
msgid "rated it"
msgstr "lo calificó con"
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/feed_layout.html:69
#: bookwyrm/templates/get_started/layout.html:19
#: bookwyrm/templates/get_started/layout.html:52
#: bookwyrm/templates/search/book.html:32
#: bookwyrm/templates/snippets/announcement.html:17
msgid "Close"
msgstr "Cerrar"
@ -633,7 +648,7 @@ msgstr "Comunidad federalizada"
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
#: bookwyrm/templates/layout.html:93
#: bookwyrm/templates/layout.html:92
msgid "Directory"
msgstr "Directorio"
@ -647,6 +662,7 @@ msgid "You can opt-out at any time in your <a href=\"%(path)s\">profile settings
msgstr "Puedes optar por no en cualquier hora en tus <a href=\"%(path)s\">configuraciones de perfil.</a>"
#: bookwyrm/templates/directory/directory.html:29
#: bookwyrm/templates/snippets/announcement.html:30
#: bookwyrm/templates/snippets/goal_card.html:22
msgid "Dismiss message"
msgstr "Desechar mensaje"
@ -737,7 +753,7 @@ msgid "Join %(name)s"
msgstr "Unirse con %(name)s"
#: bookwyrm/templates/discover/landing_layout.html:51
#: bookwyrm/templates/login.html:48
#: bookwyrm/templates/login.html:51
msgid "This instance is closed"
msgstr "Esta instancia está cerrada."
@ -833,7 +849,7 @@ msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
msgstr "Mensajes directos con <a href=\"%(path)s\">%(username)s</a>"
#: bookwyrm/templates/feed/direct_messages.html:10
#: bookwyrm/templates/layout.html:88
#: bookwyrm/templates/layout.html:87
msgid "Direct Messages"
msgstr "Mensajes directos"
@ -889,7 +905,7 @@ msgid "Updates"
msgstr "Actualizaciones"
#: bookwyrm/templates/feed/feed_layout.html:10
#: bookwyrm/templates/layout.html:59
#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr "Tus libros"
@ -963,7 +979,7 @@ msgstr "Puedes agregar libros cuando comiences a usar %(site_name)s."
#: bookwyrm/templates/get_started/books.html:17
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
#: bookwyrm/templates/lists/list.html:124
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
@ -1092,7 +1108,7 @@ msgid "%(username)s's %(year)s Books"
msgstr "Los libros de %(username)s para %(year)s"
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
#: bookwyrm/templates/layout.html:98
#: bookwyrm/templates/layout.html:97
msgid "Import Books"
msgstr "Importar libros"
@ -1193,7 +1209,7 @@ msgid "Imported"
msgstr "Importado"
#: bookwyrm/templates/invite.html:4 bookwyrm/templates/invite.html:12
#: bookwyrm/templates/login.html:43
#: bookwyrm/templates/login.html:46
msgid "Create an Account"
msgstr "Crear una cuenta"
@ -1218,23 +1234,23 @@ msgstr "Resultados de búsqueda por \"%(query)s\""
msgid "Matching Books"
msgstr "Libros correspondientes"
#: bookwyrm/templates/layout.html:34
#: bookwyrm/templates/layout.html:33
msgid "Search for a book or user"
msgstr "Buscar un libro o un usuario"
#: bookwyrm/templates/layout.html:48 bookwyrm/templates/layout.html:49
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/layout.html:48
msgid "Main navigation menu"
msgstr "Menú de navigación central"
#: bookwyrm/templates/layout.html:62
#: bookwyrm/templates/layout.html:61
msgid "Feed"
msgstr "Actividad"
#: bookwyrm/templates/layout.html:103
#: bookwyrm/templates/layout.html:102
msgid "Settings"
msgstr "Configuración"
#: bookwyrm/templates/layout.html:112
#: bookwyrm/templates/layout.html:111
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@ -1242,64 +1258,63 @@ msgstr "Configuración"
msgid "Invites"
msgstr "Invitaciones"
#: bookwyrm/templates/layout.html:119
#: bookwyrm/templates/layout.html:118
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/layout.html:126
#: bookwyrm/templates/layout.html:125
msgid "Log out"
msgstr "Cerrar sesión"
#: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135
#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr "Notificaciones"
#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:159
#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr "Nombre de usuario:"
#: bookwyrm/templates/layout.html:160
#: bookwyrm/templates/layout.html:159
msgid "password"
msgstr "contraseña"
#: bookwyrm/templates/layout.html:161 bookwyrm/templates/login.html:36
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr "¿Olvidaste tu contraseña?"
#: bookwyrm/templates/layout.html:164 bookwyrm/templates/login.html:10
#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr "Iniciar sesión"
#: bookwyrm/templates/layout.html:172
#: bookwyrm/templates/layout.html:171
msgid "Join"
msgstr "Unirse"
#: bookwyrm/templates/layout.html:198
#: bookwyrm/templates/layout.html:206
msgid "About this server"
msgstr "Sobre este servidor"
#: bookwyrm/templates/layout.html:202
#: bookwyrm/templates/layout.html:210
msgid "Contact site admin"
msgstr "Contactarse con administradores del sitio"
#: bookwyrm/templates/layout.html:206
#: bookwyrm/templates/layout.html:214
#, fuzzy
#| msgid "Django Documentation"
msgid "Documentation"
msgstr "Documentación de Django"
#: bookwyrm/templates/layout.html:213
#: bookwyrm/templates/layout.html:221
#, python-format
msgid "Support %(site_name)s on <a href=\"%(support_link)s\" target=\"_blank\">%(support_title)s</a>"
msgstr "Apoyar %(site_name)s en <a href=\"%(support_link)s\" target=\"_blank\">%(support_title)s</a>"
#: bookwyrm/templates/layout.html:217
#| msgid "BookWyrm is open source software. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
#: bookwyrm/templates/layout.html:225
msgid "BookWyrm's source code is freely available. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
@ -1370,6 +1385,7 @@ msgstr "Cualquier usuario puede sugerir libros, en cuanto lo hayas aprobado"
#: bookwyrm/templates/lists/form.html:31
#: bookwyrm/templates/moderation/reports.html:25
#: bookwyrm/templates/search/book.html:30
#: bookwyrm/templates/snippets/announcement.html:15
msgid "Open"
msgstr "Abierto"
@ -1455,11 +1471,11 @@ msgstr "Iniciar sesión"
msgid "Password:"
msgstr "Contraseña:"
#: bookwyrm/templates/login.html:49
#: bookwyrm/templates/login.html:52
msgid "Contact an administrator to get an invite"
msgstr "Contactar a unx administradorx para recibir una invitación"
#: bookwyrm/templates/login.html:59
#: bookwyrm/templates/login.html:63
msgid "More about this site"
msgstr "Más sobre este sitio"
@ -1807,31 +1823,144 @@ msgid "Instance Settings"
msgstr "Configuración de instancia"
#: bookwyrm/templates/settings/admin_layout.html:48
#: bookwyrm/templates/settings/announcements.html:3
#: bookwyrm/templates/settings/announcements.html:5
msgid "Announcements"
msgstr "Anuncios"
#: bookwyrm/templates/settings/admin_layout.html:52
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "Configuración de sitio"
#: bookwyrm/templates/settings/admin_layout.html:51
#: bookwyrm/templates/settings/admin_layout.html:55
#: bookwyrm/templates/settings/site.html:13
msgid "Instance Info"
msgstr "Información de instancia"
#: bookwyrm/templates/settings/admin_layout.html:52
#: bookwyrm/templates/settings/admin_layout.html:56
#: bookwyrm/templates/settings/site.html:39
msgid "Images"
msgstr "Imagenes"
#: bookwyrm/templates/settings/admin_layout.html:53
#: bookwyrm/templates/settings/admin_layout.html:57
#: bookwyrm/templates/settings/site.html:59
msgid "Footer Content"
msgstr "Contenido del pie de página"
#: bookwyrm/templates/settings/admin_layout.html:54
#: bookwyrm/templates/settings/admin_layout.html:58
#: bookwyrm/templates/settings/site.html:81
msgid "Registration"
msgstr "Registración"
#: bookwyrm/templates/settings/announcement.html:3
#: bookwyrm/templates/settings/announcement.html:6
#, fuzzy
#| msgid "Announcements"
msgid "Announcement"
msgstr "Anuncios"
#: bookwyrm/templates/settings/announcement.html:7
#: bookwyrm/templates/settings/federated_server.html:13
#, fuzzy
#| msgid "Back to server list"
msgid "Back to list"
msgstr "Volver a la lista de servidores"
#: bookwyrm/templates/settings/announcement.html:11
#, fuzzy
#| msgid "Announcements"
msgid "Edit Announcement"
msgstr "Anuncios"
#: bookwyrm/templates/settings/announcement.html:20
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
msgid "Delete"
msgstr "Eliminar"
#: bookwyrm/templates/settings/announcement.html:35
msgid "Visible:"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:38
msgid "True"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:40
msgid "False"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:47
#, fuzzy
#| msgid "Birth date:"
msgid "Start date:"
msgstr "Fecha de nacimiento:"
#: bookwyrm/templates/settings/announcement.html:54
#, fuzzy
#| msgid "Birth date:"
msgid "End date:"
msgstr "Fecha de nacimiento:"
#: bookwyrm/templates/settings/announcement.html:60
#, fuzzy
#| msgid "Active"
msgid "Active:"
msgstr "Activ@"
#: bookwyrm/templates/settings/announcement_form.html:5
#: bookwyrm/templates/settings/announcements.html:8
#, fuzzy
#| msgid "Announcements"
msgid "Create Announcement"
msgstr "Anuncios"
#: bookwyrm/templates/settings/announcements.html:22
#, fuzzy
#| msgid "Date Added"
msgid "Date added"
msgstr "Fecha agregada"
#: bookwyrm/templates/settings/announcements.html:26
#, fuzzy
#| msgid "reviewed"
msgid "Preview"
msgstr "reseñó"
#: bookwyrm/templates/settings/announcements.html:30
#, fuzzy
#| msgid "Started"
msgid "Start date"
msgstr "Empezado"
#: bookwyrm/templates/settings/announcements.html:34
#, fuzzy
#| msgid "Edit read dates"
msgid "End date"
msgstr "Editar fechas de lectura"
#: bookwyrm/templates/settings/announcements.html:38
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
#: bookwyrm/templates/user_admin/user_admin.html:34
msgid "Status"
msgstr "Status"
#: bookwyrm/templates/settings/announcements.html:48
#, fuzzy
#| msgid "Inactive"
msgid "active"
msgstr "Inactiv@"
#: bookwyrm/templates/settings/announcements.html:48
#, fuzzy
#| msgid "Inactive"
msgid "inactive"
msgstr "Inactiv@"
#: bookwyrm/templates/settings/edit_server.html:3
#: bookwyrm/templates/settings/edit_server.html:6
#: bookwyrm/templates/settings/edit_server.html:20
@ -1843,7 +1972,6 @@ msgid "Add server"
msgstr "Agregar servidor"
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/federated_server.html:13
#: bookwyrm/templates/settings/server_blocklist.html:7
msgid "Back to server list"
msgstr "Volver a la lista de servidores"
@ -1858,7 +1986,7 @@ msgid "Instance:"
msgstr "Instancia:"
#: bookwyrm/templates/settings/edit_server.html:37
#: bookwyrm/templates/settings/federated_server.html:30
#: bookwyrm/templates/settings/federated_server.html:31
#: bookwyrm/templates/user_admin/user_info.html:34
msgid "Status:"
msgstr "Status:"
@ -1869,13 +1997,13 @@ msgid "Blocked"
msgstr "Bloqueado"
#: bookwyrm/templates/settings/edit_server.html:48
#: bookwyrm/templates/settings/federated_server.html:22
#: bookwyrm/templates/settings/federated_server.html:23
#: bookwyrm/templates/user_admin/user_info.html:26
msgid "Software:"
msgstr "Software:"
#: bookwyrm/templates/settings/edit_server.html:55
#: bookwyrm/templates/settings/federated_server.html:26
#: bookwyrm/templates/settings/federated_server.html:27
#: bookwyrm/templates/user_admin/user_info.html:30
msgid "Version:"
msgstr "Versión:"
@ -1888,88 +2016,81 @@ msgstr "Notas:"
msgid "Details"
msgstr "Detalles"
#: bookwyrm/templates/settings/federated_server.html:37
#: bookwyrm/templates/settings/federated_server.html:39
#: bookwyrm/templates/user/layout.html:56
msgid "Activity"
msgstr "Actividad"
#: bookwyrm/templates/settings/federated_server.html:40
#: bookwyrm/templates/settings/federated_server.html:43
msgid "Users:"
msgstr "Usuarios:"
#: bookwyrm/templates/settings/federated_server.html:43
#: bookwyrm/templates/settings/federated_server.html:50
#: bookwyrm/templates/settings/federated_server.html:46
#: bookwyrm/templates/settings/federated_server.html:53
msgid "View all"
msgstr "Ver todos"
#: bookwyrm/templates/settings/federated_server.html:47
#: bookwyrm/templates/settings/federated_server.html:50
msgid "Reports:"
msgstr "Informes:"
#: bookwyrm/templates/settings/federated_server.html:54
#: bookwyrm/templates/settings/federated_server.html:57
msgid "Followed by us:"
msgstr "Seguido por nosotros:"
#: bookwyrm/templates/settings/federated_server.html:60
#: bookwyrm/templates/settings/federated_server.html:63
msgid "Followed by them:"
msgstr "Seguido por ellos:"
#: bookwyrm/templates/settings/federated_server.html:66
#: bookwyrm/templates/settings/federated_server.html:69
msgid "Blocked by us:"
msgstr "Bloqueado por nosotros:"
#: bookwyrm/templates/settings/federated_server.html:78
#: bookwyrm/templates/settings/federated_server.html:82
#: bookwyrm/templates/user_admin/user_info.html:39
msgid "Notes"
msgstr "Notas"
#: bookwyrm/templates/settings/federated_server.html:81
#: bookwyrm/templates/settings/federated_server.html:85
msgid "Edit"
msgstr "Editar"
#: bookwyrm/templates/settings/federated_server.html:101
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/user_admin/user_moderation_actions.html:3
msgid "Actions"
msgstr "Acciones"
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/settings/federated_server.html:109
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "Bloquear"
#: bookwyrm/templates/settings/federated_server.html:106
#: bookwyrm/templates/settings/federated_server.html:110
msgid "All users from this instance will be deactivated."
msgstr "Todos los usuarios en esta instancia serán desactivados."
#: bookwyrm/templates/settings/federated_server.html:111
#: bookwyrm/templates/settings/federated_server.html:115
#: bookwyrm/templates/snippets/block_button.html:10
msgid "Un-block"
msgstr "Desbloquear"
#: bookwyrm/templates/settings/federated_server.html:112
#: bookwyrm/templates/settings/federated_server.html:116
msgid "All users from this instance will be re-activated."
msgstr "Todos los usuarios en esta instancia serán re-activados."
#: bookwyrm/templates/settings/federation.html:20
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
msgid "Server name"
msgstr "Nombre de servidor"
#: bookwyrm/templates/settings/federation.html:24
#: bookwyrm/templates/settings/federation.html:23
msgid "Date federated"
msgstr "Fecha de federalización"
#: bookwyrm/templates/settings/federation.html:28
#: bookwyrm/templates/settings/federation.html:27
msgid "Software"
msgstr "Software"
#: bookwyrm/templates/settings/federation.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
#: bookwyrm/templates/user_admin/user_admin.html:34
msgid "Status"
msgstr "Status"
#: bookwyrm/templates/settings/manage_invite_requests.html:4
#: bookwyrm/templates/settings/manage_invite_requests.html:11
#: bookwyrm/templates/settings/manage_invite_requests.html:25
@ -2153,6 +2274,12 @@ msgstr "Permitir solicitudes de invitación:"
msgid "Registration closed text:"
msgstr "Texto de registración cerrada:"
#: bookwyrm/templates/snippets/announcement.html:27
#, fuzzy, python-format
#| msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
msgstr "Agregado por <a href=\"%(user_path)s\">%(username)s</a>"
#: bookwyrm/templates/snippets/book_cover.html:31
msgid "No cover"
msgstr "Sin portada"
@ -2264,11 +2391,6 @@ msgstr "¿Eliminar estas fechas de lectura?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "Estás eliminando esta lectura y sus %(count)s actualizaciones de progreso asociados."
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
msgid "Delete"
msgstr "Eliminar"
#: bookwyrm/templates/snippets/fav_button.html:9
#: bookwyrm/templates/snippets/fav_button.html:11
msgid "Like"
@ -2720,16 +2842,16 @@ msgstr "Eliminar estante"
msgid "Edit profile"
msgstr "Editar perfil"
#: bookwyrm/templates/user/user.html:34
#: bookwyrm/templates/user/user.html:33
#, python-format
msgid "View all %(size)s"
msgstr "Ver todos los %(size)s"
#: bookwyrm/templates/user/user.html:47
#: bookwyrm/templates/user/user.html:46
msgid "View all books"
msgstr "Ver todos los libros"
#: bookwyrm/templates/user/user.html:60
#: bookwyrm/templates/user/user.html:59
msgid "User Activity"
msgstr "Actividad de usuario"
@ -2834,11 +2956,11 @@ msgstr "Des-suspender usuario"
msgid "Access level:"
msgstr "Nivel de acceso:"
#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35
#: bookwyrm/views/password.py:32
msgid "No user with that email address was found."
msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónico."
#: bookwyrm/views/password.py:44
#: bookwyrm/views/password.py:41
#, python-format
msgid "A password reset link sent to %s"
msgstr "Un enlace para reestablecer tu contraseña se enviará a %s"
@ -3904,9 +4026,6 @@ msgstr "Un enlace para reestablecer tu contraseña se enviará a %s"
#~ msgid "Send follow request"
#~ msgstr "Envia solicitud de seguidor"
#~ msgid "Announcements"
#~ msgstr "Anuncios"
#~ msgid "Site Configuration"
#~ msgstr "Configuracion de sitio"

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-14 15:12-0700\n"
"POT-Creation-Date: 2021-05-20 12:12-0700\n"
"PO-Revision-Date: 2021-03-20 00:56+0000\n"
"Last-Translator: Kana <gudzpoz@live.com>\n"
"Language-Team: Mouse Reeve <LL@li.org>\n"
@ -47,33 +47,33 @@ msgstr "%(count)d 次使用"
msgid "Unlimited"
msgstr "不受限"
#: bookwyrm/forms.py:293
#: bookwyrm/forms.py:299
msgid "List Order"
msgstr ""
#: bookwyrm/forms.py:294
#: bookwyrm/forms.py:300
#, fuzzy
#| msgid "Title"
msgid "Book Title"
msgstr "标题"
#: bookwyrm/forms.py:295 bookwyrm/templates/snippets/create_status_form.html:34
#: 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
msgid "Rating"
msgstr "评价"
#: bookwyrm/forms.py:297 bookwyrm/templates/lists/list.html:101
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
msgid "Sort By"
msgstr ""
#: bookwyrm/forms.py:301
#: bookwyrm/forms.py:307
#, fuzzy
#| msgid "Sorted ascending"
msgid "Ascending"
msgstr "升序排序"
#: bookwyrm/forms.py:302
#: bookwyrm/forms.py:308
#, fuzzy
#| msgid "Sorted ascending"
msgid "Descending"
@ -89,7 +89,7 @@ msgstr "%(value)s 不是有效的 remote_id"
msgid "%(value)s is not a valid username"
msgstr "%(value)s 不是有效的用户名"
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:156
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
msgid "username"
msgstr "用户名"
@ -142,36 +142,36 @@ msgstr "某些东西出错了!对不起啦。"
msgid "Edit Author"
msgstr "编辑作者"
#: bookwyrm/templates/author/author.html:33
#: bookwyrm/templates/author/author.html:32
#: bookwyrm/templates/author/edit_author.html:38
msgid "Aliases:"
msgstr ""
#: bookwyrm/templates/author/author.html:39
#: bookwyrm/templates/author/author.html:38
msgid "Born:"
msgstr ""
#: bookwyrm/templates/author/author.html:45
#: bookwyrm/templates/author/author.html:44
msgid "Died:"
msgstr ""
#: bookwyrm/templates/author/author.html:52
#: bookwyrm/templates/author/author.html:51
msgid "Wikipedia"
msgstr "维基百科"
#: bookwyrm/templates/author/author.html:56
#: bookwyrm/templates/book/book.html:81
#: bookwyrm/templates/author/author.html:55
#: bookwyrm/templates/book/book.html:78
msgid "View on OpenLibrary"
msgstr "在 OpenLibrary 查看"
#: bookwyrm/templates/author/author.html:61
#: bookwyrm/templates/book/book.html:84
#: bookwyrm/templates/author/author.html:60
#: bookwyrm/templates/book/book.html:81
#, fuzzy
#| msgid "View on OpenLibrary"
msgid "View on Inventaire"
msgstr "在 OpenLibrary 查看"
#: bookwyrm/templates/author/author.html:75
#: bookwyrm/templates/author/author.html:74
#, python-format
msgid "Books by %(name)s"
msgstr "%(name)s 所著的书"
@ -208,8 +208,9 @@ msgid "Name:"
msgstr "名称:"
#: bookwyrm/templates/author/edit_author.html:40
#: bookwyrm/templates/book/edit_book.html:128
#: bookwyrm/templates/book/edit_book.html:165
#: 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."
@ -236,11 +237,11 @@ msgid "Author Identifiers"
msgstr "作者标识号:"
#: bookwyrm/templates/author/edit_author.html:74
#: bookwyrm/templates/book/edit_book.html:223
msgid "Openlibrary key:"
msgstr "Openlibrary key:"
#: bookwyrm/templates/author/edit_author.html:79
#: bookwyrm/templates/book/edit_book.html:243
#, fuzzy
#| msgid "View on OpenLibrary"
msgid "Inventaire ID:"
@ -255,12 +256,13 @@ msgid "Goodreads key:"
msgstr "Goodreads key:"
#: bookwyrm/templates/author/edit_author.html:98
#: bookwyrm/templates/book/book.html:127
#: bookwyrm/templates/book/edit_book.html:241
#: bookwyrm/templates/book/book.html:124
#: 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/edit_server.html:68
#: bookwyrm/templates/settings/federated_server.html:94
#: bookwyrm/templates/settings/federated_server.html:98
#: bookwyrm/templates/settings/site.html:97
#: bookwyrm/templates/snippets/readthrough.html:77
#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42
@ -271,11 +273,11 @@ msgid "Save"
msgstr "保存"
#: bookwyrm/templates/author/edit_author.html:99
#: bookwyrm/templates/book/book.html:128 bookwyrm/templates/book/book.html:180
#: bookwyrm/templates/book/book.html:125 bookwyrm/templates/book/book.html:174
#: bookwyrm/templates/book/cover_modal.html:32
#: bookwyrm/templates/book/edit_book.html:242
#: bookwyrm/templates/book/edit_book.html:264
#: bookwyrm/templates/moderation/report_modal.html:34
#: bookwyrm/templates/settings/federated_server.html:95
#: bookwyrm/templates/settings/federated_server.html:99
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17
#: bookwyrm/templates/snippets/goal_form.html:32
#: bookwyrm/templates/snippets/readthrough.html:78
@ -286,109 +288,105 @@ msgstr "保存"
msgid "Cancel"
msgstr "取消"
#: bookwyrm/templates/book/book.html:33
#: bookwyrm/templates/book/book.html:31
#: bookwyrm/templates/discover/large-book.html:25
#: bookwyrm/templates/discover/small-book.html:19
msgid "by"
msgstr "作者"
#: bookwyrm/templates/book/book.html:41 bookwyrm/templates/book/book.html:42
#: bookwyrm/templates/book/book.html:39 bookwyrm/templates/book/book.html:40
msgid "Edit Book"
msgstr "编辑书目"
#: bookwyrm/templates/book/book.html:60
#: bookwyrm/templates/book/book.html:57
#: bookwyrm/templates/book/cover_modal.html:5
msgid "Add cover"
msgstr "添加封面"
#: bookwyrm/templates/book/book.html:64
#: bookwyrm/templates/book/book.html:61
msgid "Failed to load cover"
msgstr "加载封面失败"
#: bookwyrm/templates/book/book.html:104
#: bookwyrm/templates/book/book.html:101
#, python-format
msgid "(%(review_count)s review)"
msgid_plural "(%(review_count)s reviews)"
msgstr[0] "(%(review_count)s 则书评)"
#: bookwyrm/templates/book/book.html:116
#: bookwyrm/templates/book/book.html:113
msgid "Add Description"
msgstr "添加描述"
#: bookwyrm/templates/book/book.html:123
#: bookwyrm/templates/book/edit_book.html:107
#: bookwyrm/templates/book/book.html:120
#: bookwyrm/templates/book/edit_book.html:108
#: bookwyrm/templates/lists/form.html:12
msgid "Description:"
msgstr "描述:"
#: bookwyrm/templates/book/book.html:137
#: bookwyrm/templates/book/book.html:134
#, python-format
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
msgstr "<a href=\"%(path)s/editions\">%(count)s 个版本</a>"
#: bookwyrm/templates/book/book.html:145
#: bookwyrm/templates/book/book.html:142
#, python-format
msgid "This edition is on your <a href=\"%(path)s\">%(shelf_name)s</a> shelf."
msgstr "此版本在你的 <a href=\"%(path)s\">%(shelf_name)s</a> 书架上。"
#: bookwyrm/templates/book/book.html:151
#: bookwyrm/templates/book/book.html:148
#, python-format
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
msgstr "本书的 <a href=\"%(book_path)s\">另一个版本</a> 在你的 <a href=\"%(shelf_path)s\">%(shelf_name)s</a> 书架上。"
#: bookwyrm/templates/book/book.html:162
#: bookwyrm/templates/book/book.html:159
msgid "Your reading activity"
msgstr "你的阅读活动"
#: bookwyrm/templates/book/book.html:165
#: bookwyrm/templates/book/book.html:162
msgid "Add read dates"
msgstr "添加阅读日期"
#: bookwyrm/templates/book/book.html:170
msgid "You don't have any reading activity for this book."
msgstr "你还没有任何这本书的阅读活动。"
#: bookwyrm/templates/book/book.html:177
#: bookwyrm/templates/book/book.html:171
msgid "Create"
msgstr "创建"
#: bookwyrm/templates/book/book.html:203
#: bookwyrm/templates/book/book.html:181
msgid "You don't have any reading activity for this book."
msgstr "你还没有任何这本书的阅读活动。"
#: bookwyrm/templates/book/book.html:200
#, fuzzy
#| msgid "Review"
msgid "Reviews"
msgstr "书评"
#: bookwyrm/templates/book/book.html:208
#: bookwyrm/templates/book/book.html:205
#, fuzzy
#| msgid "Your shelves"
msgid "Your reviews"
msgstr "你的书架"
#: bookwyrm/templates/book/book.html:214
#: bookwyrm/templates/book/book.html:211
#, fuzzy
#| msgid "Your Account"
msgid "Your comments"
msgstr "你的帐号"
#: bookwyrm/templates/book/book.html:220
#: bookwyrm/templates/book/book.html:217
#, fuzzy
#| msgid "Your books"
msgid "Your quotes"
msgstr "你的书目"
#: bookwyrm/templates/book/book.html:255
msgid "rated it"
msgstr "评价了"
#: bookwyrm/templates/book/book.html:276
#: bookwyrm/templates/book/book.html:253
msgid "Subjects"
msgstr "主题"
#: bookwyrm/templates/book/book.html:288
#: bookwyrm/templates/book/book.html:265
msgid "Places"
msgstr "地点"
#: bookwyrm/templates/book/book.html:299 bookwyrm/templates/layout.html:65
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
#: bookwyrm/templates/search/layout.html:25
#: bookwyrm/templates/search/layout.html:50
@ -396,37 +394,37 @@ msgstr "地点"
msgid "Lists"
msgstr "列表"
#: bookwyrm/templates/book/book.html:310
#: bookwyrm/templates/book/book.html:287
msgid "Add to list"
msgstr "添加到列表"
#: bookwyrm/templates/book/book.html:320
#: bookwyrm/templates/book/book.html:297
#: bookwyrm/templates/book/cover_modal.html:31
#: bookwyrm/templates/lists/list.html:164
msgid "Add"
msgstr "添加"
#: bookwyrm/templates/book/book_identifiers.html:8
#: bookwyrm/templates/book/book_identifiers.html:7
msgid "ISBN:"
msgstr "ISBN:"
#: bookwyrm/templates/book/book_identifiers.html:15
#: bookwyrm/templates/book/edit_book.html:227
#: bookwyrm/templates/book/book_identifiers.html:14
#: bookwyrm/templates/book/edit_book.html:248
msgid "OCLC Number:"
msgstr "OCLC 号:"
#: bookwyrm/templates/book/book_identifiers.html:22
#: bookwyrm/templates/book/edit_book.html:231
#: bookwyrm/templates/book/book_identifiers.html:21
#: bookwyrm/templates/book/edit_book.html:253
msgid "ASIN:"
msgstr "ASIN:"
#: bookwyrm/templates/book/cover_modal.html:17
#: bookwyrm/templates/book/edit_book.html:179
#: bookwyrm/templates/book/edit_book.html:192
msgid "Upload cover:"
msgstr "上传封面:"
#: bookwyrm/templates/book/cover_modal.html:23
#: bookwyrm/templates/book/edit_book.html:185
#: bookwyrm/templates/book/edit_book.html:198
msgid "Load cover from url:"
msgstr "从网址加载封面:"
@ -482,81 +480,93 @@ msgstr "确认"
msgid "Back"
msgstr "返回"
#: bookwyrm/templates/book/edit_book.html:92
#: bookwyrm/templates/book/edit_book.html:93
msgid "Title:"
msgstr "标题:"
#: bookwyrm/templates/book/edit_book.html:100
#: bookwyrm/templates/book/edit_book.html:101
msgid "Subtitle:"
msgstr "副标题:"
#: bookwyrm/templates/book/edit_book.html:113
#: bookwyrm/templates/book/edit_book.html:114
msgid "Series:"
msgstr "系列:"
#: bookwyrm/templates/book/edit_book.html:120
#: bookwyrm/templates/book/edit_book.html:122
msgid "Series number:"
msgstr "系列编号:"
#: bookwyrm/templates/book/edit_book.html:126
#: bookwyrm/templates/book/edit_book.html:130
#, fuzzy
#| msgid "Language:"
msgid "Languages:"
msgstr "语言:"
#: bookwyrm/templates/book/edit_book.html:139
msgid "Publisher:"
msgstr "出版社:"
#: bookwyrm/templates/book/edit_book.html:135
#: bookwyrm/templates/book/edit_book.html:148
msgid "First published date:"
msgstr "初版时间:"
#: bookwyrm/templates/book/edit_book.html:143
#: bookwyrm/templates/book/edit_book.html:156
msgid "Published date:"
msgstr "出版时间:"
#: bookwyrm/templates/book/edit_book.html:152
#: bookwyrm/templates/book/edit_book.html:165
msgid "Authors"
msgstr "作者"
#: bookwyrm/templates/book/edit_book.html:158
#: bookwyrm/templates/book/edit_book.html:171
#, python-format
msgid "Remove <a href=\"%(path)s\">%(name)s</a>"
msgstr "移除 <a href=\"%(path)s\">%(name)s</a>"
#: bookwyrm/templates/book/edit_book.html:163
#: bookwyrm/templates/book/edit_book.html:176
msgid "Add Authors:"
msgstr "添加作者:"
#: bookwyrm/templates/book/edit_book.html:164
#: bookwyrm/templates/book/edit_book.html:177
msgid "John Doe, Jane Smith"
msgstr "张三, 李四"
#: bookwyrm/templates/book/edit_book.html:170
#: bookwyrm/templates/book/edit_book.html:183
#: bookwyrm/templates/user/shelf/shelf.html:77
msgid "Cover"
msgstr "封面"
#: bookwyrm/templates/book/edit_book.html:198
#: bookwyrm/templates/book/edit_book.html:211
msgid "Physical Properties"
msgstr "实体性质"
#: bookwyrm/templates/book/edit_book.html:199
#: bookwyrm/templates/book/edit_book.html:212
#: bookwyrm/templates/book/format_filter.html:5
msgid "Format:"
msgstr "格式:"
#: bookwyrm/templates/book/edit_book.html:207
#: bookwyrm/templates/book/edit_book.html:220
msgid "Pages:"
msgstr "页数:"
#: bookwyrm/templates/book/edit_book.html:214
#: bookwyrm/templates/book/edit_book.html:227
msgid "Book Identifiers"
msgstr "书目标识号"
#: bookwyrm/templates/book/edit_book.html:215
#: bookwyrm/templates/book/edit_book.html:228
msgid "ISBN 13:"
msgstr "ISBN 13:"
#: bookwyrm/templates/book/edit_book.html:219
#: bookwyrm/templates/book/edit_book.html:233
msgid "ISBN 10:"
msgstr "ISBN 10:"
#: bookwyrm/templates/book/edit_book.html:238
#, fuzzy
#| msgid "Openlibrary key:"
msgid "Openlibrary ID:"
msgstr "Openlibrary key:"
#: bookwyrm/templates/book/editions.html:4
#, python-format
msgid "Editions of %(book_title)s"
@ -611,12 +621,17 @@ msgstr "于 %(date)s 出版"
msgid "Published by %(publisher)s."
msgstr "由 %(publisher)s 出版。"
#: bookwyrm/templates/book/rating.html:13
msgid "rated it"
msgstr "评价了"
#: bookwyrm/templates/components/inline_form.html:8
#: bookwyrm/templates/components/modal.html:11
#: bookwyrm/templates/feed/feed_layout.html:69
#: bookwyrm/templates/get_started/layout.html:19
#: bookwyrm/templates/get_started/layout.html:52
#: bookwyrm/templates/search/book.html:32
#: bookwyrm/templates/snippets/announcement.html:17
msgid "Close"
msgstr "关闭"
@ -640,7 +655,7 @@ msgstr "跨站社区"
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
#: bookwyrm/templates/layout.html:93
#: bookwyrm/templates/layout.html:92
msgid "Directory"
msgstr "目录"
@ -654,6 +669,7 @@ msgid "You can opt-out at any time in your <a href=\"%(path)s\">profile settings
msgstr "你可以在任何时候从你的 <a href=\"%(path)s\">个人资料设定</a> 中退出。"
#: bookwyrm/templates/directory/directory.html:29
#: bookwyrm/templates/snippets/announcement.html:30
#: bookwyrm/templates/snippets/goal_card.html:22
msgid "Dismiss message"
msgstr "遣散消息"
@ -742,7 +758,7 @@ msgid "Join %(name)s"
msgstr "加入 %(name)s"
#: bookwyrm/templates/discover/landing_layout.html:51
#: bookwyrm/templates/login.html:48
#: bookwyrm/templates/login.html:51
msgid "This instance is closed"
msgstr "本实例不开放。"
@ -838,7 +854,7 @@ msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
msgstr "与 <a href=\"%(path)s\">%(username)s</a> 私信"
#: bookwyrm/templates/feed/direct_messages.html:10
#: bookwyrm/templates/layout.html:88
#: bookwyrm/templates/layout.html:87
msgid "Direct Messages"
msgstr "私信"
@ -894,7 +910,7 @@ msgid "Updates"
msgstr "更新"
#: bookwyrm/templates/feed/feed_layout.html:10
#: bookwyrm/templates/layout.html:59
#: bookwyrm/templates/layout.html:58
#: bookwyrm/templates/user/shelf/books_header.html:3
msgid "Your books"
msgstr "你的书目"
@ -966,7 +982,7 @@ msgstr "你可以在开始使用 %(site_name)s 后添加书目。"
#: bookwyrm/templates/get_started/books.html:17
#: bookwyrm/templates/get_started/users.html:18
#: bookwyrm/templates/get_started/users.html:19
#: bookwyrm/templates/layout.html:38 bookwyrm/templates/layout.html:39
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
#: bookwyrm/templates/lists/list.html:124
#: bookwyrm/templates/search/layout.html:4
#: bookwyrm/templates/search/layout.html:9
@ -1095,7 +1111,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:98
#: bookwyrm/templates/layout.html:97
msgid "Import Books"
msgstr "导入书目"
@ -1196,7 +1212,7 @@ msgid "Imported"
msgstr "已导入"
#: bookwyrm/templates/invite.html:4 bookwyrm/templates/invite.html:12
#: bookwyrm/templates/login.html:43
#: bookwyrm/templates/login.html:46
msgid "Create an Account"
msgstr "创建帐号"
@ -1221,23 +1237,23 @@ msgstr "\"%(query)s\" 的搜索结果"
msgid "Matching Books"
msgstr "匹配的书目"
#: bookwyrm/templates/layout.html:34
#: bookwyrm/templates/layout.html:33
msgid "Search for a book or user"
msgstr "搜索书目或用户"
#: bookwyrm/templates/layout.html:48 bookwyrm/templates/layout.html:49
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/layout.html:48
msgid "Main navigation menu"
msgstr "主导航菜单"
#: bookwyrm/templates/layout.html:62
#: bookwyrm/templates/layout.html:61
msgid "Feed"
msgstr "动态"
#: bookwyrm/templates/layout.html:103
#: bookwyrm/templates/layout.html:102
msgid "Settings"
msgstr "设置"
#: bookwyrm/templates/layout.html:112
#: bookwyrm/templates/layout.html:111
#: bookwyrm/templates/settings/admin_layout.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:15
#: bookwyrm/templates/settings/manage_invites.html:3
@ -1245,64 +1261,63 @@ msgstr "设置"
msgid "Invites"
msgstr "邀请"
#: bookwyrm/templates/layout.html:119
#: bookwyrm/templates/layout.html:118
msgid "Admin"
msgstr "管理员"
#: bookwyrm/templates/layout.html:126
#: bookwyrm/templates/layout.html:125
msgid "Log out"
msgstr "登出"
#: bookwyrm/templates/layout.html:134 bookwyrm/templates/layout.html:135
#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
#: bookwyrm/templates/notifications.html:6
#: bookwyrm/templates/notifications.html:11
msgid "Notifications"
msgstr "通知"
#: bookwyrm/templates/layout.html:155 bookwyrm/templates/layout.html:159
#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
#: bookwyrm/templates/login.html:17
#: bookwyrm/templates/snippets/register_form.html:4
msgid "Username:"
msgstr "用户名:"
#: bookwyrm/templates/layout.html:160
#: bookwyrm/templates/layout.html:159
msgid "password"
msgstr "密码"
#: bookwyrm/templates/layout.html:161 bookwyrm/templates/login.html:36
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
msgid "Forgot your password?"
msgstr "忘记了密码?"
#: bookwyrm/templates/layout.html:164 bookwyrm/templates/login.html:10
#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
#: bookwyrm/templates/login.html:33
msgid "Log in"
msgstr "登录"
#: bookwyrm/templates/layout.html:172
#: bookwyrm/templates/layout.html:171
msgid "Join"
msgstr "加入"
#: bookwyrm/templates/layout.html:198
#: bookwyrm/templates/layout.html:206
msgid "About this server"
msgstr "关于本服务器"
#: bookwyrm/templates/layout.html:202
#: bookwyrm/templates/layout.html:210
msgid "Contact site admin"
msgstr "联系站点管理员"
#: bookwyrm/templates/layout.html:206
#: bookwyrm/templates/layout.html:214
#, fuzzy
#| msgid "List curation:"
msgid "Documentation"
msgstr "列表策展:"
#: bookwyrm/templates/layout.html:213
#: bookwyrm/templates/layout.html:221
#, python-format
msgid "Support %(site_name)s on <a href=\"%(support_link)s\" target=\"_blank\">%(support_title)s</a>"
msgstr "在 <a href=\"%(support_link)s\" target=\"_blank\">%(support_title)s</a> 上支持 %(site_name)s"
#: bookwyrm/templates/layout.html:217
#| msgid "BookWyrm is open source software. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
#: bookwyrm/templates/layout.html:225
msgid "BookWyrm's source code is freely available. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
msgstr "BookWyrm 是开源软件。你可以在 <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a> 贡献或报告问题。"
@ -1373,6 +1388,7 @@ msgstr "任何人都可以推荐书目、主题让你批准"
#: bookwyrm/templates/lists/form.html:31
#: bookwyrm/templates/moderation/reports.html:25
#: bookwyrm/templates/search/book.html:30
#: bookwyrm/templates/snippets/announcement.html:15
msgid "Open"
msgstr "开放"
@ -1466,11 +1482,11 @@ msgstr "登录"
msgid "Password:"
msgstr "密码:"
#: bookwyrm/templates/login.html:49
#: bookwyrm/templates/login.html:52
msgid "Contact an administrator to get an invite"
msgstr "联系管理员以取得邀请"
#: bookwyrm/templates/login.html:59
#: bookwyrm/templates/login.html:63
msgid "More about this site"
msgstr "关于本站点的更多"
@ -1820,31 +1836,144 @@ msgid "Instance Settings"
msgstr "实例设置"
#: bookwyrm/templates/settings/admin_layout.html:48
#: bookwyrm/templates/settings/announcements.html:3
#: bookwyrm/templates/settings/announcements.html:5
msgid "Announcements"
msgstr "公告"
#: bookwyrm/templates/settings/admin_layout.html:52
#: bookwyrm/templates/settings/site.html:4
#: bookwyrm/templates/settings/site.html:6
msgid "Site Settings"
msgstr "站点设置"
#: bookwyrm/templates/settings/admin_layout.html:51
#: bookwyrm/templates/settings/admin_layout.html:55
#: bookwyrm/templates/settings/site.html:13
msgid "Instance Info"
msgstr "实例信息"
#: bookwyrm/templates/settings/admin_layout.html:52
#: bookwyrm/templates/settings/admin_layout.html:56
#: bookwyrm/templates/settings/site.html:39
msgid "Images"
msgstr "图像"
#: bookwyrm/templates/settings/admin_layout.html:53
#: bookwyrm/templates/settings/admin_layout.html:57
#: bookwyrm/templates/settings/site.html:59
msgid "Footer Content"
msgstr "页脚内容"
#: bookwyrm/templates/settings/admin_layout.html:54
#: bookwyrm/templates/settings/admin_layout.html:58
#: bookwyrm/templates/settings/site.html:81
msgid "Registration"
msgstr "注册"
#: bookwyrm/templates/settings/announcement.html:3
#: bookwyrm/templates/settings/announcement.html:6
#, fuzzy
#| msgid "Announcements"
msgid "Announcement"
msgstr "公告"
#: bookwyrm/templates/settings/announcement.html:7
#: bookwyrm/templates/settings/federated_server.html:13
#, fuzzy
#| msgid "Back to server list"
msgid "Back to list"
msgstr "回到服务器列表"
#: bookwyrm/templates/settings/announcement.html:11
#, fuzzy
#| msgid "Announcements"
msgid "Edit Announcement"
msgstr "公告"
#: bookwyrm/templates/settings/announcement.html:20
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
msgid "Delete"
msgstr "删除"
#: bookwyrm/templates/settings/announcement.html:35
msgid "Visible:"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:38
msgid "True"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:40
msgid "False"
msgstr ""
#: bookwyrm/templates/settings/announcement.html:47
#, fuzzy
#| msgid "Birth date:"
msgid "Start date:"
msgstr "出生日期:"
#: bookwyrm/templates/settings/announcement.html:54
#, fuzzy
#| msgid "Birth date:"
msgid "End date:"
msgstr "出生日期:"
#: bookwyrm/templates/settings/announcement.html:60
#, fuzzy
#| msgid "Active"
msgid "Active:"
msgstr "活跃"
#: bookwyrm/templates/settings/announcement_form.html:5
#: bookwyrm/templates/settings/announcements.html:8
#, fuzzy
#| msgid "Announcements"
msgid "Create Announcement"
msgstr "公告"
#: bookwyrm/templates/settings/announcements.html:22
#, fuzzy
#| msgid "Date Added"
msgid "Date added"
msgstr "添加日期:"
#: bookwyrm/templates/settings/announcements.html:26
#, fuzzy
#| msgid "reviewed"
msgid "Preview"
msgstr "写了书评给"
#: bookwyrm/templates/settings/announcements.html:30
#, fuzzy
#| msgid "Started"
msgid "Start date"
msgstr "开始时间"
#: bookwyrm/templates/settings/announcements.html:34
#, fuzzy
#| msgid "Edit read dates"
msgid "End date"
msgstr "编辑阅读日期"
#: bookwyrm/templates/settings/announcements.html:38
#: bookwyrm/templates/settings/federation.html:30
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
#: bookwyrm/templates/user_admin/user_admin.html:34
msgid "Status"
msgstr "状态"
#: bookwyrm/templates/settings/announcements.html:48
#, fuzzy
#| msgid "Inactive"
msgid "active"
msgstr "停用"
#: bookwyrm/templates/settings/announcements.html:48
#, fuzzy
#| msgid "Inactive"
msgid "inactive"
msgstr "停用"
#: bookwyrm/templates/settings/edit_server.html:3
#: bookwyrm/templates/settings/edit_server.html:6
#: bookwyrm/templates/settings/edit_server.html:20
@ -1858,7 +1987,6 @@ msgid "Add server"
msgstr "添加封面"
#: bookwyrm/templates/settings/edit_server.html:7
#: bookwyrm/templates/settings/federated_server.html:13
#: bookwyrm/templates/settings/server_blocklist.html:7
msgid "Back to server list"
msgstr "回到服务器列表"
@ -1877,7 +2005,7 @@ msgid "Instance:"
msgstr "实例名称"
#: bookwyrm/templates/settings/edit_server.html:37
#: bookwyrm/templates/settings/federated_server.html:30
#: bookwyrm/templates/settings/federated_server.html:31
#: bookwyrm/templates/user_admin/user_info.html:34
msgid "Status:"
msgstr "状态:"
@ -1890,13 +2018,13 @@ msgid "Blocked"
msgstr "屏蔽"
#: bookwyrm/templates/settings/edit_server.html:48
#: bookwyrm/templates/settings/federated_server.html:22
#: bookwyrm/templates/settings/federated_server.html:23
#: bookwyrm/templates/user_admin/user_info.html:26
msgid "Software:"
msgstr "软件:"
#: bookwyrm/templates/settings/edit_server.html:55
#: bookwyrm/templates/settings/federated_server.html:26
#: bookwyrm/templates/settings/federated_server.html:27
#: bookwyrm/templates/user_admin/user_info.html:30
msgid "Version:"
msgstr "版本:"
@ -1909,90 +2037,83 @@ msgstr ""
msgid "Details"
msgstr "详细"
#: bookwyrm/templates/settings/federated_server.html:37
#: bookwyrm/templates/settings/federated_server.html:39
#: bookwyrm/templates/user/layout.html:56
msgid "Activity"
msgstr "活动"
#: bookwyrm/templates/settings/federated_server.html:40
#: bookwyrm/templates/settings/federated_server.html:43
msgid "Users:"
msgstr "用户:"
#: bookwyrm/templates/settings/federated_server.html:43
#: bookwyrm/templates/settings/federated_server.html:50
#: bookwyrm/templates/settings/federated_server.html:46
#: bookwyrm/templates/settings/federated_server.html:53
msgid "View all"
msgstr "查看全部"
#: bookwyrm/templates/settings/federated_server.html:47
#: bookwyrm/templates/settings/federated_server.html:50
msgid "Reports:"
msgstr "报告:"
#: bookwyrm/templates/settings/federated_server.html:54
#: bookwyrm/templates/settings/federated_server.html:57
msgid "Followed by us:"
msgstr "我们关注了的:"
#: bookwyrm/templates/settings/federated_server.html:60
#: bookwyrm/templates/settings/federated_server.html:63
msgid "Followed by them:"
msgstr "TA 们关注了的:"
#: bookwyrm/templates/settings/federated_server.html:66
#: bookwyrm/templates/settings/federated_server.html:69
msgid "Blocked by us:"
msgstr "我们所屏蔽的:"
#: bookwyrm/templates/settings/federated_server.html:78
#: bookwyrm/templates/settings/federated_server.html:82
#: bookwyrm/templates/user_admin/user_info.html:39
msgid "Notes"
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:81
#: bookwyrm/templates/settings/federated_server.html:85
#, fuzzy
#| msgid "Edit Book"
msgid "Edit"
msgstr "编辑书目"
#: bookwyrm/templates/settings/federated_server.html:101
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/user_admin/user_moderation_actions.html:3
msgid "Actions"
msgstr "动作"
#: bookwyrm/templates/settings/federated_server.html:105
#: bookwyrm/templates/settings/federated_server.html:109
#: bookwyrm/templates/snippets/block_button.html:5
msgid "Block"
msgstr "屏蔽"
#: bookwyrm/templates/settings/federated_server.html:106
#: bookwyrm/templates/settings/federated_server.html:110
msgid "All users from this instance will be deactivated."
msgstr ""
#: bookwyrm/templates/settings/federated_server.html:111
#: bookwyrm/templates/settings/federated_server.html:115
#: bookwyrm/templates/snippets/block_button.html:10
msgid "Un-block"
msgstr "取消屏蔽"
#: bookwyrm/templates/settings/federated_server.html:112
#: bookwyrm/templates/settings/federated_server.html:116
msgid "All users from this instance will be re-activated."
msgstr ""
#: bookwyrm/templates/settings/federation.html:20
#: bookwyrm/templates/settings/federation.html:19
#: bookwyrm/templates/user_admin/server_filter.html:5
msgid "Server name"
msgstr "服务器名称"
#: bookwyrm/templates/settings/federation.html:24
#: bookwyrm/templates/settings/federation.html:23
msgid "Date federated"
msgstr "跨站日期"
#: bookwyrm/templates/settings/federation.html:28
#: bookwyrm/templates/settings/federation.html:27
msgid "Software"
msgstr "软件"
#: bookwyrm/templates/settings/federation.html:31
#: bookwyrm/templates/settings/manage_invite_requests.html:44
#: bookwyrm/templates/settings/status_filter.html:5
#: bookwyrm/templates/user_admin/user_admin.html:34
msgid "Status"
msgstr "状态"
#: bookwyrm/templates/settings/manage_invite_requests.html:4
#: bookwyrm/templates/settings/manage_invite_requests.html:11
#: bookwyrm/templates/settings/manage_invite_requests.html:25
@ -2184,6 +2305,12 @@ msgstr "允许请求邀请:"
msgid "Registration closed text:"
msgstr "注册关闭文字:"
#: bookwyrm/templates/snippets/announcement.html:27
#, fuzzy, python-format
#| msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 添加"
#: bookwyrm/templates/snippets/book_cover.html:31
msgid "No cover"
msgstr "没有封面"
@ -2295,11 +2422,6 @@ msgstr "删除这些阅读日期吗?"
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。"
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
msgid "Delete"
msgstr "删除"
#: bookwyrm/templates/snippets/fav_button.html:9
#: bookwyrm/templates/snippets/fav_button.html:11
msgid "Like"
@ -2749,16 +2871,16 @@ msgstr "删除书架"
msgid "Edit profile"
msgstr "编辑个人资料"
#: bookwyrm/templates/user/user.html:34
#: bookwyrm/templates/user/user.html:33
#, python-format
msgid "View all %(size)s"
msgstr "查看所有 %(size)s 本"
#: bookwyrm/templates/user/user.html:47
#: bookwyrm/templates/user/user.html:46
msgid "View all books"
msgstr "查看所有书目"
#: bookwyrm/templates/user/user.html:60
#: bookwyrm/templates/user/user.html:59
msgid "User Activity"
msgstr "用户活动"
@ -2867,11 +2989,11 @@ msgstr ""
msgid "Access level:"
msgstr ""
#: bookwyrm/views/password.py:30 bookwyrm/views/password.py:35
#: bookwyrm/views/password.py:32
msgid "No user with that email address was found."
msgstr "没有找到使用该邮箱的用户。"
#: bookwyrm/views/password.py:44
#: bookwyrm/views/password.py:41
#, python-format
msgid "A password reset link sent to %s"
msgstr "密码重置连接已发送给 %s"
@ -3250,9 +3372,6 @@ msgstr "密码重置连接已发送给 %s"
#~ msgid "Send follow request"
#~ msgstr "发送关注请求"
#~ msgid "Announcements"
#~ msgstr "公告"
#~ msgid "Site Configuration"
#~ msgstr "站点配置"