mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-12-18 22:26:34 +00:00
Merge branch 'main' into frontend/subtitle
This commit is contained in:
commit
b9562e44e3
43 changed files with 1258 additions and 1026 deletions
|
@ -13,16 +13,10 @@ DEFAULT_LANGUAGE="English"
|
|||
## Leave unset to allow all hosts
|
||||
# ALLOWED_HOSTS="localhost,127.0.0.1,[::1]"
|
||||
|
||||
OL_URL=https://openlibrary.org
|
||||
|
||||
## Database backend to use.
|
||||
## Default is postgres, sqlite is for dev quickstart only (NOT production!!!)
|
||||
BOOKWYRM_DATABASE_BACKEND=postgres
|
||||
|
||||
MEDIA_ROOT=images/
|
||||
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_PASSWORD=fedireads
|
||||
POSTGRES_PASSWORD=securedbypassword123
|
||||
POSTGRES_USER=fedireads
|
||||
POSTGRES_DB=fedireads
|
||||
POSTGRES_HOST=db
|
||||
|
@ -34,10 +28,8 @@ REDIS_ACTIVITY_PORT=6379
|
|||
#REDIS_ACTIVITY_PASSWORD=redispassword345
|
||||
|
||||
# Redis as celery broker
|
||||
#REDIS_BROKER_PORT=6379
|
||||
REDIS_BROKER_PORT=6379
|
||||
#REDIS_BROKER_PASSWORD=redispassword123
|
||||
CELERY_BROKER=redis://redis_broker:6379/0
|
||||
CELERY_RESULT_BACKEND=redis://redis_broker:6379/0
|
||||
|
||||
FLOWER_PORT=8888
|
||||
#FLOWER_USER=mouse
|
||||
|
@ -49,6 +41,3 @@ EMAIL_HOST_USER=mail@your.domain.here
|
|||
EMAIL_HOST_PASSWORD=emailpassword123
|
||||
EMAIL_USE_TLS=true
|
||||
EMAIL_USE_SSL=false
|
||||
|
||||
# Set this to true when initializing certbot for domain, false when not
|
||||
CERTBOT_INIT=false
|
||||
|
|
|
@ -13,16 +13,10 @@ DEFAULT_LANGUAGE="English"
|
|||
## Leave unset to allow all hosts
|
||||
# ALLOWED_HOSTS="localhost,127.0.0.1,[::1]"
|
||||
|
||||
OL_URL=https://openlibrary.org
|
||||
|
||||
## Database backend to use.
|
||||
## Default is postgres, sqlite is for dev quickstart only (NOT production!!!)
|
||||
BOOKWYRM_DATABASE_BACKEND=postgres
|
||||
|
||||
MEDIA_ROOT=images/
|
||||
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_PASSWORD=securedbpassword123
|
||||
POSTGRES_PASSWORD=securedbypassword123
|
||||
POSTGRES_USER=fedireads
|
||||
POSTGRES_DB=fedireads
|
||||
POSTGRES_HOST=db
|
||||
|
@ -36,8 +30,6 @@ REDIS_ACTIVITY_PASSWORD=redispassword345
|
|||
# Redis as celery broker
|
||||
REDIS_BROKER_PORT=6379
|
||||
REDIS_BROKER_PASSWORD=redispassword123
|
||||
CELERY_BROKER=redis://:${REDIS_BROKER_PASSWORD}@redis_broker:${REDIS_BROKER_PORT}/0
|
||||
CELERY_RESULT_BACKEND=redis://:${REDIS_BROKER_PASSWORD}@redis_broker:${REDIS_BROKER_PORT}/0
|
||||
|
||||
FLOWER_PORT=8888
|
||||
FLOWER_USER=mouse
|
||||
|
@ -49,6 +41,3 @@ EMAIL_HOST_USER=mail@your.domain.here
|
|||
EMAIL_HOST_PASSWORD=emailpassword123
|
||||
EMAIL_USE_TLS=true
|
||||
EMAIL_USE_SSL=false
|
||||
|
||||
# Set this to true when initializing certbot for domain, false when not
|
||||
CERTBOT_INIT=false
|
||||
|
|
4
.github/workflows/django-tests.yml
vendored
4
.github/workflows/django-tests.yml
vendored
|
@ -50,7 +50,6 @@ jobs:
|
|||
SECRET_KEY: beepbeep
|
||||
DEBUG: true
|
||||
DOMAIN: your.domain.here
|
||||
OL_URL: https://openlibrary.org
|
||||
BOOKWYRM_DATABASE_BACKEND: postgres
|
||||
MEDIA_ROOT: images/
|
||||
POSTGRES_PASSWORD: hunter2
|
||||
|
@ -58,7 +57,8 @@ jobs:
|
|||
POSTGRES_DB: github_actions
|
||||
POSTGRES_HOST: 127.0.0.1
|
||||
CELERY_BROKER: ""
|
||||
CELERY_RESULT_BACKEND: ""
|
||||
REDIS_BROKER_PORT: 6379
|
||||
FLOWER_PORT: 8888
|
||||
EMAIL_HOST: "smtp.mailgun.org"
|
||||
EMAIL_PORT: 587
|
||||
EMAIL_HOST_USER: ""
|
||||
|
|
|
@ -9,5 +9,3 @@ WORKDIR /app
|
|||
COPY requirements.txt /app/
|
||||
RUN pip install -r requirements.txt --no-cache-dir
|
||||
RUN apt-get update && apt-get install -y gettext libgettextpo-dev && apt-get clean
|
||||
|
||||
COPY ./bookwyrm ./celerywyrm /app/
|
||||
|
|
|
@ -9,6 +9,7 @@ from django.contrib.postgres.fields import ArrayField as DjangoArrayField
|
|||
from django.core.exceptions import ValidationError
|
||||
from django.core.files.base import ContentFile
|
||||
from django.db import models
|
||||
from django.forms import ClearableFileInput, ImageField
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from bookwyrm import activitypub
|
||||
|
@ -332,6 +333,14 @@ class TagField(ManyToManyField):
|
|||
return items
|
||||
|
||||
|
||||
class ClearableFileInputWithWarning(ClearableFileInput):
|
||||
template_name = "widgets/clearable_file_input_with_warning.html"
|
||||
|
||||
|
||||
class CustomImageField(ImageField):
|
||||
widget = ClearableFileInputWithWarning
|
||||
|
||||
|
||||
def image_serializer(value, alt):
|
||||
"""helper for serializing images"""
|
||||
if value and hasattr(value, "url"):
|
||||
|
@ -395,6 +404,14 @@ class ImageField(ActivitypubFieldMixin, models.ImageField):
|
|||
image_content = ContentFile(response.content)
|
||||
return [image_name, image_content]
|
||||
|
||||
def formfield(self, **kwargs):
|
||||
return super().formfield(
|
||||
**{
|
||||
"form_class": CustomImageField,
|
||||
**kwargs,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class DateTimeField(ActivitypubFieldMixin, models.DateTimeField):
|
||||
"""activitypub-aware datetime field"""
|
||||
|
|
|
@ -14,13 +14,18 @@ PAGE_LENGTH = env("PAGE_LENGTH", 15)
|
|||
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
|
||||
|
||||
# celery
|
||||
CELERY_BROKER = env("CELERY_BROKER")
|
||||
CELERY_RESULT_BACKEND = env("CELERY_RESULT_BACKEND")
|
||||
CELERY_BROKER = "redis://:{}@redis_broker:{}/0".format(
|
||||
requests.utils.quote(env("REDIS_BROKER_PASSWORD", "")), env("REDIS_BROKER_PORT")
|
||||
)
|
||||
CELERY_RESULT_BACKEND = "redis://:{}@redis_broker:{}/0".format(
|
||||
requests.utils.quote(env("REDIS_BROKER_PASSWORD", "")), env("REDIS_BROKER_PORT")
|
||||
)
|
||||
CELERY_ACCEPT_CONTENT = ["application/json"]
|
||||
CELERY_TASK_SERIALIZER = "json"
|
||||
CELERY_RESULT_SERIALIZER = "json"
|
||||
|
||||
# email
|
||||
EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend")
|
||||
EMAIL_HOST = env("EMAIL_HOST")
|
||||
EMAIL_PORT = env("EMAIL_PORT", 587)
|
||||
EMAIL_HOST_USER = env("EMAIL_HOST_USER")
|
||||
|
@ -47,7 +52,6 @@ SECRET_KEY = env("SECRET_KEY")
|
|||
DEBUG = env.bool("DEBUG", True)
|
||||
|
||||
ALLOWED_HOSTS = env.list("ALLOWED_HOSTS", ["*"])
|
||||
OL_URL = env("OL_URL")
|
||||
|
||||
# Application definition
|
||||
|
||||
|
@ -109,10 +113,8 @@ STREAMS = ["home", "local", "federated"]
|
|||
# Database
|
||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
|
||||
|
||||
BOOKWYRM_DATABASE_BACKEND = env("BOOKWYRM_DATABASE_BACKEND", "postgres")
|
||||
|
||||
BOOKWYRM_DBS = {
|
||||
"postgres": {
|
||||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql_psycopg2",
|
||||
"NAME": env("POSTGRES_DB", "fedireads"),
|
||||
"USER": env("POSTGRES_USER", "fedireads"),
|
||||
|
@ -122,8 +124,6 @@ BOOKWYRM_DBS = {
|
|||
},
|
||||
}
|
||||
|
||||
DATABASES = {"default": BOOKWYRM_DBS[BOOKWYRM_DATABASE_BACKEND]}
|
||||
|
||||
|
||||
LOGIN_URL = "/login/"
|
||||
AUTH_USER_MODEL = "bookwyrm.User"
|
||||
|
@ -131,6 +131,7 @@ AUTH_USER_MODEL = "bookwyrm.User"
|
|||
# Password validation
|
||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
|
||||
|
||||
# pylint: disable=line-too-long
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
let BookWyrm = new class {
|
||||
constructor() {
|
||||
this.MAX_FILE_SIZE_BYTES = 10 * 1000000
|
||||
this.initOnDOMLoaded();
|
||||
this.initReccuringTasks();
|
||||
this.initEventListeners();
|
||||
|
@ -32,15 +33,26 @@ let BookWyrm = new class {
|
|||
'click',
|
||||
this.back)
|
||||
);
|
||||
|
||||
document.querySelectorAll('input[type="file"]')
|
||||
.forEach(node => node.addEventListener(
|
||||
'change',
|
||||
this.disableIfTooLarge.bind(this)
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute code once the DOM is loaded.
|
||||
*/
|
||||
initOnDOMLoaded() {
|
||||
const bookwyrm = this
|
||||
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
document.querySelectorAll('.tab-group')
|
||||
.forEach(tabs => new TabGroup(tabs));
|
||||
document.querySelectorAll('input[type="file"]').forEach(
|
||||
bookwyrm.disableIfTooLarge.bind(bookwyrm)
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -284,4 +296,27 @@ let BookWyrm = new class {
|
|||
node.classList.remove(classname);
|
||||
}
|
||||
}
|
||||
|
||||
disableIfTooLarge(eventOrElement) {
|
||||
const { addRemoveClass, MAX_FILE_SIZE_BYTES } = this
|
||||
const element = eventOrElement.currentTarget || eventOrElement
|
||||
|
||||
const submits = element.form.querySelectorAll('[type="submit"]')
|
||||
const warns = element.parentElement.querySelectorAll('.file-too-big')
|
||||
const isTooBig = element.files &&
|
||||
element.files[0] &&
|
||||
element.files[0].size > MAX_FILE_SIZE_BYTES
|
||||
|
||||
if (isTooBig) {
|
||||
submits.forEach(submitter => submitter.disabled = true)
|
||||
warns.forEach(
|
||||
sib => addRemoveClass(sib, 'is-hidden', false)
|
||||
)
|
||||
} else {
|
||||
submits.forEach(submitter => submitter.disabled = false)
|
||||
warns.forEach(
|
||||
sib => addRemoveClass(sib, 'is-hidden', true)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,42 +22,76 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="block content columns">
|
||||
{% if author.aliases or author.born or author.died or author.wikipedia_link %}
|
||||
<div class="column is-narrow">
|
||||
<div class="box">
|
||||
<div class="block columns" itemscope itemtype="https://schema.org/Person">
|
||||
<meta itemprop="name" content="{{ author.name }}">
|
||||
|
||||
{% if author.aliases or author.born or author.died or author.wikipedia_link or author.openlibrary_key or author.inventaire_id %}
|
||||
<div class="column is-two-fifths">
|
||||
<div class="box py-2">
|
||||
<dl>
|
||||
{% if author.aliases %}
|
||||
<div class="is-flex">
|
||||
<dt class="mr-1">{% trans "Aliases:" %}</dt>
|
||||
<dd itemprop="aliases">{{ author.aliases|join:', ' }}</dd>
|
||||
<div class="is-flex is-flex-wrap-wrap my-1">
|
||||
<dt class="has-text-weight-bold mr-1">{% trans "Aliases:" %}</dt>
|
||||
{% for alias in author.aliases %}
|
||||
<dd itemprop="alternateName" content="{{alias}}">
|
||||
{{alias}}{% if not forloop.last %}, {% endif %}
|
||||
</dd>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if author.born %}
|
||||
<div class="is-flex">
|
||||
<dt class="mr-1">{% trans "Born:" %}</dt>
|
||||
<dd itemprop="aliases">{{ author.born|naturalday }}</dd>
|
||||
<div class="is-flex my-1">
|
||||
<dt class="has-text-weight-bold mr-1">{% trans "Born:" %}</dt>
|
||||
<dd itemprop="birthDate">{{ author.born|naturalday }}</dd>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if author.died %}
|
||||
<div class="is-flex">
|
||||
<dt class="mr-1">{% trans "Died:" %}</dt>
|
||||
<dd itemprop="aliases">{{ author.died|naturalday }}</dd>
|
||||
<div class="is-flex my-1">
|
||||
<dt class="has-text-weight-bold mr-1">{% trans "Died:" %}</dt>
|
||||
<dd itemprop="deathDate">{{ author.died|naturalday }}</dd>
|
||||
</div>
|
||||
{% endif %}
|
||||
</dl>
|
||||
|
||||
{% if author.wikipedia_link %}
|
||||
<p><a href="{{ author.wikipedia_link }}" rel=”noopener” target="_blank">{% trans "Wikipedia" %}</a></p>
|
||||
{% endif %}
|
||||
{% if author.openlibrary_key %}
|
||||
<p class="mb-0">
|
||||
<a href="https://openlibrary.org/authors/{{ author.openlibrary_key }}" target="_blank" rel="noopener">{% trans "View on OpenLibrary" %}</a>
|
||||
<p class="my-1">
|
||||
<a itemprop="sameAs" href="{{ author.wikipedia_link }}" rel=”noopener” target="_blank">
|
||||
{% trans "Wikipedia" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if author.openlibrary_key %}
|
||||
<p class="my-1">
|
||||
<a itemprop="sameAs" href="https://openlibrary.org/authors/{{ author.openlibrary_key }}" target="_blank" rel="noopener">
|
||||
{% trans "View on OpenLibrary" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if author.inventaire_id %}
|
||||
<p class="mb-0">
|
||||
<a href="https://inventaire.io/entity/{{ author.inventaire_id }}" target="_blank" rel="noopener">{% trans "View on Inventaire" %}</a>
|
||||
<p class="my-1">
|
||||
<a itemprop="sameAs" href="https://inventaire.io/entity/{{ author.inventaire_id }}" target="_blank" rel="noopener">
|
||||
{% trans "View on Inventaire" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if author.librarything_key %}
|
||||
<p class="my-1">
|
||||
<a itemprop="sameAs" href="https://www.librarything.com/author/{{ author.librarything_key }}" target="_blank" rel="noopener">
|
||||
{% trans "View on LibraryThing" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if author.goodreads_key %}
|
||||
<p class="my-1">
|
||||
<a itemprop="sameAs" href="https://www.goodreads.com/author/show/{{ author.goodreads_key }}" target="_blank" rel="noopener">
|
||||
{% trans "View on Goodreads" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
|
@ -29,67 +29,85 @@
|
|||
<div class="columns">
|
||||
<div class="column">
|
||||
<h2 class="title is-4">{% trans "Metadata" %}</h2>
|
||||
<p class="mb-2"><label class="label" for="id_name">{% trans "Name:" %}</label> {{ form.name }}</p>
|
||||
{% for error in form.name.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_name">{% trans "Name:" %}</label>
|
||||
{{ form.name }}
|
||||
{% for error in form.name.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_aliases">{% trans "Aliases:" %}</label>
|
||||
{{ form.aliases }}
|
||||
<span class="help">{% trans "Separate multiple values with commas." %}</span>
|
||||
</p>
|
||||
{% for error in form.aliases.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.aliases.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_bio">{% trans "Bio:" %}</label> {{ form.bio }}</p>
|
||||
{% for error in form.bio.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_bio">{% trans "Bio:" %}</label>
|
||||
{{ form.bio }}
|
||||
{% for error in form.bio.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_wikipedia_link">{% trans "Wikipedia link:" %}</label> {{ form.wikipedia_link }}</p>
|
||||
<p class="field"><label class="label" for="id_wikipedia_link">{% trans "Wikipedia link:" %}</label> {{ form.wikipedia_link }}</p>
|
||||
{% for error in form.wikipedia_link.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_born">{% trans "Birth date:" %}</label>
|
||||
<input type="date" name="born" value="{{ form.born.value|date:'Y-m-d' }}" class="input" id="id_born">
|
||||
</p>
|
||||
{% for error in form.born.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.born.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_died">{% trans "Death date:" %}</label>
|
||||
<input type="date" name="died" value="{{ form.died.value|date:'Y-m-d' }}" class="input" id="id_died">
|
||||
</p>
|
||||
{% for error in form.died.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.died.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<h2 class="title is-4">{% trans "Author Identifiers" %}</h2>
|
||||
<p class="mb-2"><label class="label" for="id_openlibrary_key">{% trans "Openlibrary key:" %}</label> {{ form.openlibrary_key }}</p>
|
||||
{% for error in form.openlibrary_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_openlibrary_key">{% trans "Openlibrary key:" %}</label>
|
||||
{{ form.openlibrary_key }}
|
||||
{% for error in form.openlibrary_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_inventaire_id">{% trans "Inventaire ID:" %}</label> {{ form.inventaire_id }}</p>
|
||||
{% for error in form.inventaire_id.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_inventaire_id">{% trans "Inventaire ID:" %}</label>
|
||||
{{ form.inventaire_id }}
|
||||
{% for error in form.inventaire_id.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_librarything_key">{% trans "Librarything key:" %}</label> {{ form.librarything_key }}</p>
|
||||
{% for error in form.librarything_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_librarything_key">{% trans "Librarything key:" %}</label>
|
||||
{{ form.librarything_key }}
|
||||
{% for error in form.librarything_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_goodreads_key">{% trans "Goodreads key:" %}</label> {{ form.goodreads_key }}</p>
|
||||
{% for error in form.goodreads_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_goodreads_key">{% trans "Goodreads key:" %}</label>
|
||||
{{ form.goodreads_key }}
|
||||
{% for error in form.goodreads_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -14,11 +14,25 @@
|
|||
{% endif %}
|
||||
</h1>
|
||||
{% if book %}
|
||||
<div>
|
||||
<p>{% trans "Added:" %} {{ book.created_date | naturaltime }}</p>
|
||||
<p>{% trans "Updated:" %} {{ book.updated_date | naturaltime }}</p>
|
||||
<p>{% trans "Last edited by:" %} <a href="{{ book.last_edited_by.remote_id }}">{{ book.last_edited_by.display_name }}</a></p>
|
||||
</div>
|
||||
<dl>
|
||||
<div class="is-flex">
|
||||
<dt class="has-text-weight-semibold">{% trans "Added:" %}</dt>
|
||||
<dd class="ml-2">{{ book.created_date | naturaltime }}</dd>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<dt class="has-text-weight-semibold">{% trans "Updated:" %}</dt>
|
||||
<dd class="ml-2">{{ book.updated_date | naturaltime }}</dd>
|
||||
</div>
|
||||
|
||||
{% if book.last_edited_by %}
|
||||
<div class="is-flex">
|
||||
<dt class="has-text-weight-semibold">{% trans "Last edited by:" %}</dt>
|
||||
<dd class="ml-2"><a href="{{ book.last_edited_by.remote_id }}">{{ book.last_edited_by.display_name }}</a></dd>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</dl>
|
||||
{% endif %}
|
||||
</header>
|
||||
|
||||
|
@ -38,21 +52,28 @@
|
|||
{% if confirm_mode %}
|
||||
<div class="box">
|
||||
<h2 class="title is-4">{% trans "Confirm Book Info" %}</h2>
|
||||
<div class="columns">
|
||||
<div class="columns mb-4">
|
||||
{% if author_matches %}
|
||||
<input type="hidden" name="author-match-count" value="{{ author_matches|length }}">
|
||||
<div class="column is-half">
|
||||
{% for author in author_matches %}
|
||||
<fieldset class="mb-4">
|
||||
<legend class="title is-5 mb-1">{% blocktrans with name=author.name %}Is "{{ name }}" an existing author?{% endblocktrans %}</legend>
|
||||
<fieldset>
|
||||
<legend class="title is-5 mb-1">
|
||||
{% blocktrans with name=author.name %}Is "{{ name }}" an existing author?{% endblocktrans %}
|
||||
</legend>
|
||||
{% with forloop.counter0 as counter %}
|
||||
{% for match in author.matches %}
|
||||
<label><input type="radio" name="author_match-{{ counter }}" value="{{ match.id }}" required> {{ match.name }}</label>
|
||||
<label class="label mb-2">
|
||||
<input type="radio" name="author_match-{{ counter }}" value="{{ match.id }}" required>
|
||||
{{ match.name }}
|
||||
</label>
|
||||
<p class="help">
|
||||
<a href="{{ match.local_path }}" target="_blank">{% blocktrans with book_title=match.book_set.first.title %}Author of <em>{{ book_title }}</em>{% endblocktrans %}</a>
|
||||
</p>
|
||||
{% endfor %}
|
||||
<label><input type="radio" name="author_match-{{ counter }}" value="{{ author.name }}" required> {% trans "This is a new author" %}</label>
|
||||
<label class="label">
|
||||
<input type="radio" name="author_match-{{ counter }}" value="{{ author.name }}" required> {% trans "This is a new author" %}
|
||||
</label>
|
||||
{% endwith %}
|
||||
</fieldset>
|
||||
{% endfor %}
|
||||
|
@ -64,11 +85,17 @@
|
|||
{% if not book %}
|
||||
<div class="column is-half">
|
||||
<fieldset>
|
||||
<legend class="title is-5 mb-1">{% trans "Is this an edition of an existing work?" %}</legend>
|
||||
<legend class="title is-5 mb-1">
|
||||
{% trans "Is this an edition of an existing work?" %}
|
||||
</legend>
|
||||
{% for match in book_matches %}
|
||||
<label class="label"><input type="radio" name="parent_work" value="{{ match.parent_work.id }}"> {{ match.parent_work.title }}</label>
|
||||
<label class="label">
|
||||
<input type="radio" name="parent_work" value="{{ match.parent_work.id }}"> {{ match.parent_work.title }}
|
||||
</label>
|
||||
{% endfor %}
|
||||
<label><input type="radio" name="parent_work" value="0" required> {% trans "This is a new work" %}</label>
|
||||
<label>
|
||||
<input type="radio" name="parent_work" value="0" required> {% trans "This is a new work" %}
|
||||
</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -89,76 +116,79 @@
|
|||
<section class="block">
|
||||
<h2 class="title is-4">{% trans "Metadata" %}</h2>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_title">{% trans "Title:" %}</label>
|
||||
<input type="text" name="title" value="{{ form.title.value|default:'' }}" maxlength="255" class="input" required="" id="id_title">
|
||||
</p>
|
||||
{% for error in form.title.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.title.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_subtitle">{% trans "Subtitle:" %}</label>
|
||||
<input type="text" name="subtitle" value="{{ form.subtitle.value|default:'' }}" maxlength="255" class="input" id="id_subtitle">
|
||||
</p>
|
||||
{% for error in form.subtitle.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.subtitle.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_description">{% trans "Description:" %}</label> {{ form.description }} </p>
|
||||
{% for error in form.description.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_description">{% trans "Description:" %}</label>
|
||||
{{ form.description }}
|
||||
{% for error in form.description.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_series">{% trans "Series:" %}</label>
|
||||
<input type="text" class="input" name="series" id="id_series" value="{{ form.series.value|default:'' }}">
|
||||
</p>
|
||||
{% for error in form.series.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.series.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_series_number">{% trans "Series number:" %}</label>
|
||||
{{ form.series_number }}
|
||||
</p>
|
||||
{% for error in form.series_number.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.series_number.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_languages">{% trans "Languages:" %}</label>
|
||||
{{ form.languages }}
|
||||
<span class="help">{% trans "Separate multiple values with commas." %}</span>
|
||||
</p>
|
||||
{% for error in form.languages.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.languages.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_publishers">{% trans "Publisher:" %}</label>
|
||||
{{ form.publishers }}
|
||||
<span class="help">{% trans "Separate multiple values with commas." %}</span>
|
||||
</p>
|
||||
{% for error in form.publishers.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.publishers.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_first_published_date">{% trans "First published date:" %}</label>
|
||||
<input type="date" name="first_published_date" class="input" id="id_first_published_date"{% if form.first_published_date.value %} value="{{ form.first_published_date.value|date:'Y-m-d' }}"{% endif %}>
|
||||
</p>
|
||||
{% for error in form.first_published_date.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.first_published_date.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
<div class="field">
|
||||
<label class="label" for="id_published_date">{% trans "Published date:" %}</label>
|
||||
<input type="date" name="published_date" class="input" id="id_published_date"{% if form.published_date.value %} value="{{ form.published_date.value|date:'Y-m-d'}}"{% endif %}>
|
||||
</p>
|
||||
{% for error in form.published_date.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.published_date.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="block">
|
||||
|
@ -166,16 +196,23 @@
|
|||
{% if book.authors.exists %}
|
||||
<fieldset>
|
||||
{% for author in book.authors.all %}
|
||||
<label class="label mb-2">
|
||||
<input type="checkbox" name="remove_authors" value="{{ author.id }}" {% if author.id|stringformat:"i" in remove_authors %}checked{% endif %}>
|
||||
{% blocktrans with name=author.name path=author.local_path %}Remove <a href="{{ path }}">{{ name }}</a>{% endblocktrans %}
|
||||
</label>
|
||||
<div class="is-flex is-justify-content-space-between">
|
||||
<label class="label mb-2">
|
||||
<input type="checkbox" name="remove_authors" value="{{ author.id }}" {% if author.id|stringformat:"i" in remove_authors %}checked{% endif %}>
|
||||
{% blocktrans with name=author.name %}Remove {{ name }}{% endblocktrans %}
|
||||
</label>
|
||||
<p class="help">
|
||||
<a href="{{ author.local_path }}">{% blocktrans with name=author.name %}Author page for {{ name }}{% endblocktrans %}</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
<label class="label" for="id_add_author">{% trans "Add Authors:" %}</label>
|
||||
<input class="input" type="text" name="add_author" id="id_add_author" placeholder="{% trans 'John Doe, Jane Smith' %}" value="{{ add_author }}" {% if confirm_mode %}readonly{% endif %}>
|
||||
<span class="help">{% trans "Separate multiple values with commas." %}</span>
|
||||
<div class="field">
|
||||
<label class="label" for="id_add_author">{% trans "Add Authors:" %}</label>
|
||||
<input class="input" type="text" name="add_author" id="id_add_author" placeholder="{% trans 'John Doe, Jane Smith' %}" value="{{ add_author }}" {% if confirm_mode %}readonly{% endif %}>
|
||||
<span class="help">{% trans "Separate multiple values with commas." %}</span>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
@ -188,17 +225,17 @@
|
|||
|
||||
<div class="column">
|
||||
<div class="block">
|
||||
<p>
|
||||
<div class="field">
|
||||
<label class="label" for="id_cover">{% trans "Upload cover:" %}</label>
|
||||
{{ form.cover }}
|
||||
</p>
|
||||
</div>
|
||||
{% if book %}
|
||||
<p>
|
||||
<div class="field">
|
||||
<label class="label" for="id_cover_url">
|
||||
{% trans "Load cover from url:" %}
|
||||
</label>
|
||||
<input class="input" name="cover-url" id="id_cover_url">
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for error in form.cover.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
|
@ -209,51 +246,72 @@
|
|||
|
||||
<div class="block">
|
||||
<h2 class="title is-4">{% trans "Physical Properties" %}</h2>
|
||||
<p class="mb-2"><label class="label" for="id_physical_format">{% trans "Format:" %}</label> {{ form.physical_format }} </p>
|
||||
{% for error in form.physical_format.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
{% for error in form.physical_format.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_physical_format">{% trans "Format:" %}</label>
|
||||
{{ form.physical_format }}
|
||||
{% for error in form.physical_format.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_pages">{% trans "Pages:" %}</label> {{ form.pages }} </p>
|
||||
{% for error in form.pages.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_pages">{% trans "Pages:" %}</label>
|
||||
{{ form.pages }}
|
||||
{% for error in form.pages.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="block">
|
||||
<h2 class="title is-4">{% trans "Book Identifiers" %}</h2>
|
||||
<p class="mb-2"><label class="label" for="id_isbn_13">{% trans "ISBN 13:" %}</label> {{ form.isbn_13 }} </p>
|
||||
{% for error in form.isbn_13.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_isbn_13">{% trans "ISBN 13:" %}</label>
|
||||
{{ form.isbn_13 }}
|
||||
{% for error in form.isbn_13.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_isbn_10">{% trans "ISBN 10:" %}</label> {{ form.isbn_10 }} </p>
|
||||
{% for error in form.isbn_10.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_isbn_10">{% trans "ISBN 10:" %}</label>
|
||||
{{ form.isbn_10 }}
|
||||
{% for error in form.isbn_10.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_openlibrary_key">{% trans "Openlibrary ID:" %}</label> {{ form.openlibrary_key }} </p>
|
||||
{% for error in form.openlibrary_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_openlibrary_key">{% trans "Openlibrary ID:" %}</label>
|
||||
{{ form.openlibrary_key }}
|
||||
{% for error in form.openlibrary_key.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_inventaire_id">{% trans "Inventaire ID:" %}</label> {{ form.inventaire_id }} </p>
|
||||
{% for error in form.inventaire_id.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_inventaire_id">{% trans "Inventaire ID:" %}</label>
|
||||
{{ form.inventaire_id }}
|
||||
{% for error in form.inventaire_id.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_oclc_number">{% trans "OCLC Number:" %}</label> {{ form.oclc_number }} </p>
|
||||
{% for error in form.oclc_number.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_oclc_number">{% trans "OCLC Number:" %}</label>
|
||||
{{ form.oclc_number }}
|
||||
{% for error in form.oclc_number.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p class="mb-2"><label class="label" for="id_asin">{% trans "ASIN:" %}</label> {{ form.asin }} </p>
|
||||
{% for error in form.ASIN.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_asin">{% trans "ASIN:" %}</label>
|
||||
{{ form.asin }}
|
||||
{% for error in form.ASIN.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -261,7 +319,7 @@
|
|||
{% if not confirm_mode %}
|
||||
<div class="block">
|
||||
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
||||
<a class="button" href="{{ book.local_path}}">{% trans "Cancel" %}</a>
|
||||
<a class="button" href="{{ book.local_path }}">{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
{% trans "Close" as label %}
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head" tabindex="0" id="modal-title-{{ controls_text }}-{{ controls_uid }}">
|
||||
<h2 class="modal-card-title" id="modal-card-title-{{ controls_text }}-{{ controls_uid }}">
|
||||
<h2 class="modal-card-title is-flex-shrink-1" id="modal-card-title-{{ controls_text }}-{{ controls_uid }}">
|
||||
{% block modal-title %}{% endblock %}
|
||||
</h2>
|
||||
{% include 'snippets/toggle/toggle_button.html' with label=label class="delete" nonbutton=True %}
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">
|
||||
<p>{% trans "Privacy setting for imported reviews:" %}</p>
|
||||
<label>
|
||||
<span class="label">{% trans "Privacy setting for imported reviews:" %}</span>
|
||||
{% include 'snippets/privacy_select.html' with no_label=True %}
|
||||
</label>
|
||||
</div>
|
||||
|
|
|
@ -8,13 +8,17 @@
|
|||
<div class="block">
|
||||
<h1 class="title">{% trans "Import Status" %}</h1>
|
||||
|
||||
<p>
|
||||
{% trans "Import started:" %} {{ job.created_date | naturaltime }}
|
||||
</p>
|
||||
{% if job.complete %}
|
||||
<p>
|
||||
{% trans "Import completed:" %} {{ task.date_done | naturaltime }}
|
||||
</p>
|
||||
<dl>
|
||||
<div class="is-flex">
|
||||
<dt class="has-text-weight-medium">{% trans "Import started:" %}</dt>
|
||||
<dd class="ml-2">{{ job.created_date | naturaltime }}</dd>
|
||||
</div>
|
||||
{% if job.complete %}
|
||||
<div class="is-flex">
|
||||
<dt class="has-text-weight-medium">{% trans "Import completed:" %}</dt>
|
||||
<dd class="ml-2">{{ task.date_done | naturaltime }}</dd>
|
||||
</div>
|
||||
</dl>
|
||||
{% elif task.failed %}
|
||||
<div class="notification is-danger">{% trans "TASK FAILED" %}</div>
|
||||
{% endif %}
|
||||
|
@ -22,8 +26,9 @@
|
|||
|
||||
<div class="block">
|
||||
{% if not job.complete %}
|
||||
{% trans "Import still in progress." %}
|
||||
<p>
|
||||
{% trans "Import still in progress." %}
|
||||
<br/>
|
||||
{% trans "(Hit reload to update!)" %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
@ -49,16 +54,13 @@
|
|||
<fieldset id="failed-imports">
|
||||
<ul>
|
||||
{% for item in failed_items %}
|
||||
<li class="pb-1">
|
||||
<input class="checkbox" type="checkbox" name="import_item" value="{{ item.id }}" id="import-item-{{ item.id }}">
|
||||
<label for="import-item-{{ item.id }}">
|
||||
Line {{ item.index }}:
|
||||
<strong>{{ item.data.Title }}</strong> by
|
||||
{{ item.data.Author }}
|
||||
</label>
|
||||
<p>
|
||||
<li class="mb-2 is-flex is-align-items-start">
|
||||
<input class="checkbox mt-1" type="checkbox" name="import_item" value="{{ item.id }}" id="import-item-{{ item.id }}">
|
||||
<label class="ml-1" for="import-item-{{ item.id }}">
|
||||
{% blocktrans with index=item.index title=item.data.Title author=item.data.Author %}Line {{ index }}: <strong>{{ title }}</strong> by {{ author }}{% endblocktrans %}
|
||||
<br/>
|
||||
{{ item.fail_reason }}.
|
||||
</p>
|
||||
</label>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
|
|
@ -203,7 +203,7 @@
|
|||
<div class="columns">
|
||||
<div class="column is-one-fifth">
|
||||
<p>
|
||||
<a href="{% url 'about' %}">{% trans "About this server" %}</a>
|
||||
<a href="{% url 'about' %}">{% trans "About this instance" %}</a>
|
||||
</p>
|
||||
{% if site.admin_email %}
|
||||
<p>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
{% block title %}
|
||||
{% if server %}
|
||||
{% blocktrans with server_name=server.server_name %}Reports: {{ server_name }}{% endblocktrans %}
|
||||
{% blocktrans with instance_name=server.server_name %}Reports: {{ instance_name }}{% endblocktrans %}
|
||||
{% else %}
|
||||
{% trans "Reports" %}
|
||||
{% endif %}
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
{% block header %}
|
||||
{% if server %}
|
||||
{% blocktrans with server_name=server.server_name %}Reports: <small>{{ server_name }}</small>{% endblocktrans %}
|
||||
{% blocktrans with instance_name=server.server_name %}Reports: <small>{{ instance_name }}</small>{% endblocktrans %}
|
||||
<a href="{% url 'settings-reports' %}" class="help has-text-weight-normal">Clear filters</a>
|
||||
{% else %}
|
||||
{% trans "Reports" %}
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
</li>
|
||||
<li>
|
||||
{% url 'settings-federation' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Federated Servers" %}</a>
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Federated Instances" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{% extends 'settings/admin_layout.html' %}
|
||||
{% load i18n %}
|
||||
{% block title %}{% trans "Add server" %}{% endblock %}
|
||||
{% block title %}{% trans "Add instance" %}{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
{% trans "Add server" %}
|
||||
<a href="{% url 'settings-federation' %}" class="has-text-weight-normal help">{% trans "Back to server list" %}</a>
|
||||
{% trans "Add instance" %}
|
||||
<a href="{% url 'settings-federation' %}" class="has-text-weight-normal help">{% trans "Back to instance list" %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
|
@ -17,7 +17,7 @@
|
|||
</li>
|
||||
{% url 'settings-add-federated-server' as url %}
|
||||
<li {% if url in request.path %}class="is-active" aria-current="page"{% endif %}>
|
||||
<a href="{{ url }}">{% trans "Add server" %}</a>
|
||||
<a href="{{ url }}">{% trans "Add instance" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -26,14 +26,14 @@
|
|||
{% csrf_token %}
|
||||
<div class="columns">
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_server_name">{% trans "Instance:" %}</label>
|
||||
<input type="text" name="server_name" maxlength="255" class="input" required id="id_server_name" value="{{ form.server_name.value|default:'' }}" placeholder="domain.com">
|
||||
{% for error in form.server_name.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_status">{% trans "Status:" %}</label>
|
||||
<div class="select">
|
||||
<select name="status" class="" id="id_status">
|
||||
|
@ -44,14 +44,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_application_type">{% trans "Software:" %}</label>
|
||||
<input type="text" name="application_type" maxlength="255" class="input" id="id_application_type" value="{{ form.application_type.value|default:'' }}">
|
||||
{% for error in form.application_type.errors %}
|
||||
<p class="help is-danger">{{ error | escape }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_application_version">{% trans "Version:" %}</label>
|
||||
<input type="text" name="application_version" maxlength="255" class="input" id="id_application_version" value="{{ form.application_version.value|default:'' }}">
|
||||
{% for error in form.application_version.errors %}
|
||||
|
@ -60,10 +60,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
<div class="field">
|
||||
<label class="label" for="id_notes">{% trans "Notes:" %}</label>
|
||||
<textarea name="notes" cols="None" rows="None" class="textarea" id="id_notes">{{ form.notes.value|default:'' }}</textarea>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="button is-primary">{% trans "Save" %}</button>
|
||||
</form>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{% extends 'settings/admin_layout.html' %}
|
||||
{% load i18n %}
|
||||
{% block title %}{% trans "Federated Servers" %}{% endblock %}
|
||||
{% block title %}{% trans "Federated Instances" %}{% endblock %}
|
||||
|
||||
{% block header %}{% trans "Federated Servers" %}{% endblock %}
|
||||
{% block header %}{% trans "Federated Instances" %}{% endblock %}
|
||||
|
||||
{% block edit-button %}
|
||||
<a href="{% url 'settings-import-blocklist' %}">
|
||||
<span class="icon icon-plus" title="{% trans 'Add server' %}" aria-hidden="True"></span>
|
||||
<span>{% trans "Add server" %}</span>
|
||||
<span class="icon icon-plus" title="{% trans 'Add instance' %}" aria-hidden="True"></span>
|
||||
<span>{% trans "Add instance" %}</span>
|
||||
</a>
|
||||
{% endblock %}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
|||
<tr>
|
||||
{% url 'settings-federation' as url %}
|
||||
<th>
|
||||
{% trans "Server name" as text %}
|
||||
{% trans "Instance name" as text %}
|
||||
{% include 'snippets/table-sort-header.html' with field="server_name" sort=sort text=text %}
|
||||
</th>
|
||||
<th>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{% extends 'settings/admin_layout.html' %}
|
||||
{% load i18n %}
|
||||
{% block title %}{% trans "Add server" %}{% endblock %}
|
||||
{% block title %}{% trans "Add instance" %}{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
{% trans "Import Blocklist" %}
|
||||
<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 instance list" %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
|
@ -17,7 +17,7 @@
|
|||
</li>
|
||||
{% url 'settings-add-federated-server' as url %}
|
||||
<li {% if url in request.path %}class="is-active" aria-current="page"{% endif %}>
|
||||
<a href="{{ url }}">{% trans "Add server" %}</a>
|
||||
<a href="{{ url }}">{% trans "Add instance" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<pre>
|
||||
[
|
||||
{
|
||||
"instance": "example.server.com",
|
||||
"instance": "example.instance.com",
|
||||
"url": "https://link.to.more/info"
|
||||
},
|
||||
...
|
||||
|
|
|
@ -11,23 +11,23 @@
|
|||
{% csrf_token %}
|
||||
<section class="block" id="instance-info">
|
||||
<h2 class="title is-4">{% trans "Instance Info" %}</h2>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_name">{% trans "Instance Name:" %}</label>
|
||||
{{ site_form.name }}
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_instance_tagline">{% trans "Tagline:" %}</label>
|
||||
{{ site_form.instance_tagline }}
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_instance_description">{% trans "Instance description:" %}</label>
|
||||
{{ site_form.instance_description }}
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_code_of_conduct">{% trans "Code of conduct:" %}</label>
|
||||
{{ site_form.code_of_conduct }}
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_privacy_policy">{% trans "Privacy Policy:" %}</label>
|
||||
{{ site_form.privacy_policy }}
|
||||
</div>
|
||||
|
@ -57,19 +57,19 @@
|
|||
|
||||
<section class="block" id="footer">
|
||||
<h2 class="title is-4">{% trans "Footer Content" %}</h2>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_support_link">{% trans "Support link:" %}</label>
|
||||
<input type="text" name="support_link" maxlength="255" class="input" id="id_support_link" placeholder="https://www.patreon.com/bookwyrm"{% if site.support_link %} value="{{ site.support_link }}"{% endif %}>
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_support_title">{% trans "Support title:" %}</label>
|
||||
<input type="text" name="support_title" maxlength="100" class="input" id="id_support_title" placeholder="Patreon"{% if site.support_title %} value="{{ site.support_title }}"{% endif %}>
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_admin_email">{% trans "Admin email:" %}</label>
|
||||
{{ site_form.admin_email }}
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_footer_item">{% trans "Additional info:" %}</label>
|
||||
{{ site_form.footer_item }}
|
||||
</div>
|
||||
|
@ -79,15 +79,19 @@
|
|||
|
||||
<section class="block" id="registration">
|
||||
<h2 class="title is-4">{% trans "Registration" %}</h2>
|
||||
<div class="control">
|
||||
<label class="label" for="id_allow_registration">{% trans "Allow registration:" %}
|
||||
{{ site_form.allow_registration }}
|
||||
<div class="field">
|
||||
<label class="label" for="id_allow_registration">
|
||||
{{ site_form.allow_registration }}
|
||||
{% trans "Allow registration" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="control">
|
||||
<label class="label" for="id_allow_invite_requests">{% trans "Allow invite requests:" %}
|
||||
{{ site_form.allow_invite_requests }}
|
||||
<div class="field">
|
||||
<label class="label" for="id_allow_invite_requests">
|
||||
{{ site_form.allow_invite_requests }}
|
||||
{% trans "Allow invite requests" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="field">
|
||||
<label class="label" for="id_registration_closed_text">{% trans "Registration closed text:" %}</label>
|
||||
{{ site_form.registration_closed_text }}
|
||||
</div>
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
<input type="hidden" name="id" value="{{ readthrough.id }}">
|
||||
<input type="hidden" name="book" value="{{ book.id }}">
|
||||
<div class="field">
|
||||
<label class="label" tabindex="0" id="add-readthrough-focus">
|
||||
<label class="label" tabindex="0" id="add-readthrough-focus" for="id_start_date-{{ readthrough.id }}">
|
||||
{% trans "Started reading" %}
|
||||
<input type="date" name="start_date" class="input" id="id_start_date-{{ readthrough.id }}" value="{{ readthrough.start_date | date:"Y-m-d" }}">
|
||||
</label>
|
||||
<input type="date" name="start_date" class="input" id="id_start_date-{{ readthrough.id }}" value="{{ readthrough.start_date | date:"Y-m-d" }}">
|
||||
</div>
|
||||
{# Only show progress for editing existing readthroughs #}
|
||||
{% if readthrough.id and not readthrough.finish_date %}
|
||||
|
@ -26,8 +26,8 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
<div class="field">
|
||||
<label class="label">
|
||||
<label class="label" for="id_finish_date-{{ readthrough.id }}">
|
||||
{% trans "Finished reading" %}
|
||||
<input type="date" name="finish_date" class="input" id="id_finish_date-{{ readthrough.id }}" value="{{ readthrough.finish_date | date:"Y-m-d" }}">
|
||||
</label>
|
||||
<input type="date" name="finish_date" class="input" id="id_finish_date-{{ readthrough.id }}" value="{{ readthrough.finish_date | date:"Y-m-d" }}">
|
||||
</div>
|
||||
|
|
|
@ -15,16 +15,16 @@
|
|||
{% csrf_token %}
|
||||
<input type="hidden" name="id" value="{{ readthrough.id }}">
|
||||
<div class="field">
|
||||
<label class="label">
|
||||
<label class="label" for="finish_id_start_date-{{ uuid }}">
|
||||
{% trans "Started reading" %}
|
||||
<input type="date" name="start_date" class="input" id="finish_id_start_date-{{ uuid }}" value="{{ readthrough.start_date | date:"Y-m-d" }}">
|
||||
</label>
|
||||
<input type="date" name="start_date" class="input" id="finish_id_start_date-{{ uuid }}" value="{{ readthrough.start_date | date:"Y-m-d" }}">
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">
|
||||
<label class="label" for="id_finish_date-{{ uuid }}">
|
||||
{% trans "Finished reading" %}
|
||||
<input type="date" name="finish_date" class="input" id="id_finish_date-{{ uuid }}" value="{% now "Y-m-d" %}">
|
||||
</label>
|
||||
<input type="date" name="finish_date" class="input" id="id_finish_date-{{ uuid }}" value="{% now "Y-m-d" %}">
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
@ -38,7 +38,7 @@
|
|||
</label>
|
||||
{% include 'snippets/privacy_select.html' %}
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="column has-text-right">
|
||||
<button type="submit" class="button is-success">{% trans "Save" %}</button>
|
||||
{% trans "Cancel" as button_text %}
|
||||
{% include 'snippets/toggle/close_button.html' with text=button_text controls_text="finish-reading" controls_uid=uuid %}
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
<section class="modal-card-body">
|
||||
{% csrf_token %}
|
||||
<div class="field">
|
||||
<label class="label">
|
||||
<label class="label" for="start_id_start_date-{{ uuid }}">
|
||||
{% trans "Started reading" %}
|
||||
<input type="date" name="start_date" class="input" id="start_id_start_date-{{ uuid }}" value="{% now "Y-m-d" %}">
|
||||
</label>
|
||||
<input type="date" name="start_date" class="input" id="start_id_start_date-{{ uuid }}" value="{% now "Y-m-d" %}">
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
@ -30,7 +30,7 @@
|
|||
</label>
|
||||
{% include 'snippets/privacy_select.html' %}
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="column has-text-right">
|
||||
<button class="button is-success" type="submit">{% trans "Save" %}</button>
|
||||
{% trans "Cancel" as button_text %}
|
||||
{% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="start-reading" controls_uid=uuid %}
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block filter %}
|
||||
<label class="label" for="id_server">{% trans "Server name" %}</label>
|
||||
<label class="label" for="id_server">{% trans "Instance name" %}</label>
|
||||
<input type="text" class="input" name="server" value="{{ request.GET.server|default:'' }}" id="id_server" placeholder="example.server.com">
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
{% block header %}
|
||||
{% if server %}
|
||||
{% blocktrans with server_name=server.server_name %}Users: <small>{{ server_name }}</small>{% endblocktrans %}
|
||||
{% blocktrans with instance_name=server.server_name %}Users: <small>{{ instance_name }}</small>{% endblocktrans %}
|
||||
<a href="{% url 'settings-users' %}" class="help has-text-weight-normal">Clear filters</a>
|
||||
{% else %}
|
||||
{% trans "Users" %}
|
||||
|
@ -35,7 +35,7 @@
|
|||
{% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %}
|
||||
</th>
|
||||
<th>
|
||||
{% trans "Remote server" as text %}
|
||||
{% trans "Remote instance" as text %}
|
||||
{% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %}
|
||||
</th>
|
||||
</tr>
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{% load i18n %}
|
||||
{% load utilities %}
|
||||
|
||||
{% if widget.is_initial %}
|
||||
<p class="mb-1">
|
||||
{{ widget.initial_text }}:
|
||||
<a href="{{ widget.value.url }}">{{ widget.value|truncatepath:10 }}</a>
|
||||
</p>
|
||||
{% if not widget.required %}
|
||||
<p class="mb-1">
|
||||
<label class="has-text-weight-normal">
|
||||
<input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}"{% if widget.attrs.disabled %} disabled{% endif %}>
|
||||
{{ widget.clear_checkbox_label }}
|
||||
</label>{% endif %}
|
||||
</p>
|
||||
<p class="mb-1">
|
||||
{{ widget.input_text }}:
|
||||
{% else %}
|
||||
<p class="mb-1">
|
||||
{% endif %}
|
||||
<input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>
|
||||
<span class="help file-cta is-hidden file-too-big">{% trans "File exceeds maximum size: 10MB" %}</span>
|
||||
</p>
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
""" template filters for really common utilities """
|
||||
import os
|
||||
from uuid import uuid4
|
||||
from django import template
|
||||
|
||||
|
@ -33,3 +34,15 @@ def get_title(book):
|
|||
def comparison_bool(str1, str2):
|
||||
"""idk why I need to write a tag for this, it reutrns a bool"""
|
||||
return str1 == str2
|
||||
|
||||
|
||||
@register.filter(is_safe=True)
|
||||
def truncatepath(value, arg):
|
||||
"""Truncate a path by removing all directories except the first and truncating ."""
|
||||
path = os.path.normpath(value.name)
|
||||
path_list = path.split(os.sep)
|
||||
try:
|
||||
length = int(arg)
|
||||
except ValueError: # invalid literal for int()
|
||||
return path_list[-1] # Fail silently.
|
||||
return "%s/…%s" % (path_list[0], path_list[-1][-length:])
|
||||
|
|
2
bw-dev
2
bw-dev
|
@ -90,7 +90,7 @@ case "$CMD" in
|
|||
runweb python manage.py collectstatic --no-input
|
||||
;;
|
||||
makemessages)
|
||||
runweb django-admin makemessages --no-wrap --ignore=venv $@
|
||||
runweb django-admin makemessages --no-wrap --ignore=venv --all $@
|
||||
;;
|
||||
compilemessages)
|
||||
runweb django-admin compilemessages --ignore venv $@
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
""" bookwyrm settings and configuration """
|
||||
from bookwyrm.settings import *
|
||||
|
||||
CELERY_BROKER_URL = env("CELERY_BROKER")
|
||||
CELERY_BROKER_URL = CELERY_BROKER
|
||||
CELERY_ACCEPT_CONTENT = ["json"]
|
||||
CELERY_TASK_SERIALIZER = "json"
|
||||
CELERY_RESULT_BACKEND = "redis"
|
||||
FLOWER_PORT = env("FLOWER_PORT")
|
||||
|
||||
INSTALLED_APPS = INSTALLED_APPS + [
|
||||
"celerywyrm",
|
||||
|
|
|
@ -74,10 +74,10 @@ services:
|
|||
restart: on-failure
|
||||
flower:
|
||||
build: .
|
||||
command: flower --port=${FLOWER_PORT}
|
||||
command: flower -A celerywyrm
|
||||
env_file: .env
|
||||
environment:
|
||||
- CELERY_BROKER_URL=${CELERY_BROKER}
|
||||
volumes:
|
||||
- .:/app
|
||||
networks:
|
||||
- main
|
||||
depends_on:
|
||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-05-20 14:40-0700\n"
|
||||
"POT-Creation-Date: 2021-06-06 20:52+0000\n"
|
||||
"PO-Revision-Date: 2021-03-02 17:19-0800\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
@ -62,12 +62,12 @@ msgid "Book Title"
|
|||
msgstr "Titel"
|
||||
|
||||
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:84
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:115
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:85
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:116
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
|
||||
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
|
||||
msgid "Sort By"
|
||||
msgstr ""
|
||||
|
||||
|
@ -83,41 +83,41 @@ msgstr "Zu lesen angefangen"
|
|||
msgid "Descending"
|
||||
msgstr "Zu lesen angefangen"
|
||||
|
||||
#: bookwyrm/models/fields.py:24
|
||||
#: bookwyrm/models/fields.py:25
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid remote_id"
|
||||
msgstr "%(value)s ist keine gültige remote_id"
|
||||
|
||||
#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
|
||||
#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid username"
|
||||
msgstr "%(value)s ist kein gültiger Username"
|
||||
|
||||
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
|
||||
#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
|
||||
msgid "username"
|
||||
msgstr "Username"
|
||||
|
||||
#: bookwyrm/models/fields.py:170
|
||||
#: bookwyrm/models/fields.py:171
|
||||
msgid "A user with that username already exists."
|
||||
msgstr "Dieser Benutzename ist bereits vergeben."
|
||||
|
||||
#: bookwyrm/settings.py:155
|
||||
#: bookwyrm/settings.py:156
|
||||
msgid "English"
|
||||
msgstr "Englisch"
|
||||
|
||||
#: bookwyrm/settings.py:156
|
||||
#: bookwyrm/settings.py:157
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: bookwyrm/settings.py:157
|
||||
#: bookwyrm/settings.py:158
|
||||
msgid "Spanish"
|
||||
msgstr "Spanisch"
|
||||
|
||||
#: bookwyrm/settings.py:158
|
||||
#: bookwyrm/settings.py:159
|
||||
msgid "French"
|
||||
msgstr "Französisch"
|
||||
|
||||
#: bookwyrm/settings.py:159
|
||||
#: bookwyrm/settings.py:160
|
||||
msgid "Simplified Chinese"
|
||||
msgstr "Vereinfachtes Chinesisch"
|
||||
|
||||
|
@ -266,7 +266,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/book/edit_book.html:263
|
||||
#: bookwyrm/templates/lists/form.html:42
|
||||
#: bookwyrm/templates/preferences/edit_user.html:70
|
||||
#: bookwyrm/templates/settings/announcement_form.html:65
|
||||
#: bookwyrm/templates/settings/announcement_form.html:69
|
||||
#: bookwyrm/templates/settings/edit_server.html:68
|
||||
#: bookwyrm/templates/settings/federated_server.html:98
|
||||
#: bookwyrm/templates/settings/site.html:97
|
||||
|
@ -398,7 +398,7 @@ msgstr "Themen"
|
|||
msgid "Places"
|
||||
msgstr "Orte"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
|
||||
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -414,7 +414,7 @@ msgstr "Zur Liste"
|
|||
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:164
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
|
@ -559,7 +559,7 @@ msgid "John Doe, Jane Smith"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/edit_book.html:183
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:77
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:78
|
||||
msgid "Cover"
|
||||
msgstr ""
|
||||
|
||||
|
@ -688,7 +688,7 @@ msgstr "Föderiert"
|
|||
|
||||
#: bookwyrm/templates/directory/directory.html:4
|
||||
#: bookwyrm/templates/directory/directory.html:9
|
||||
#: bookwyrm/templates/layout.html:92
|
||||
#: bookwyrm/templates/layout.html:64
|
||||
msgid "Directory"
|
||||
msgstr ""
|
||||
|
||||
|
@ -902,7 +902,7 @@ msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
|||
msgstr "Direktnachrichten mit <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:10
|
||||
#: bookwyrm/templates/layout.html:87
|
||||
#: bookwyrm/templates/layout.html:92
|
||||
msgid "Direct Messages"
|
||||
msgstr "Direktnachrichten"
|
||||
|
||||
|
@ -960,7 +960,6 @@ msgid "Updates"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/feed_layout.html:10
|
||||
#: bookwyrm/templates/layout.html:58
|
||||
#: bookwyrm/templates/user/shelf/books_header.html:3
|
||||
msgid "Your books"
|
||||
msgstr "Deine Bücher"
|
||||
|
@ -1022,7 +1021,7 @@ msgid "What are you reading?"
|
|||
msgstr "Zu lesen angefangen"
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:9
|
||||
#: bookwyrm/templates/lists/list.html:120
|
||||
#: bookwyrm/templates/lists/list.html:135
|
||||
msgid "Search for a book"
|
||||
msgstr "Nach einem Buch suchen"
|
||||
|
||||
|
@ -1042,7 +1041,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/get_started/users.html:18
|
||||
#: bookwyrm/templates/get_started/users.html:19
|
||||
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
|
||||
#: bookwyrm/templates/lists/list.html:124
|
||||
#: bookwyrm/templates/lists/list.html:139
|
||||
#: bookwyrm/templates/search/layout.html:4
|
||||
#: bookwyrm/templates/search/layout.html:9
|
||||
msgid "Search"
|
||||
|
@ -1061,7 +1060,7 @@ msgid "Popular on %(site_name)s"
|
|||
msgstr "Über %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:58
|
||||
#: bookwyrm/templates/lists/list.html:137
|
||||
#: bookwyrm/templates/lists/list.html:152
|
||||
msgid "No books found"
|
||||
msgstr "Keine Bücher gefunden"
|
||||
|
||||
|
@ -1184,7 +1183,7 @@ msgid "%(username)s's %(year)s Books"
|
|||
msgstr "%(username)ss %(year)s Bücher"
|
||||
|
||||
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
|
||||
#: bookwyrm/templates/layout.html:97
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:40
|
||||
msgid "Import Books"
|
||||
msgstr "Bücher importieren"
|
||||
|
||||
|
@ -1271,14 +1270,14 @@ msgstr "Buch"
|
|||
|
||||
#: bookwyrm/templates/import_status.html:114
|
||||
#: bookwyrm/templates/snippets/create_status_form.html:13
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:78
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:98
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:79
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:99
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: bookwyrm/templates/import_status.html:117
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:79
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:101
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:80
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:102
|
||||
msgid "Author"
|
||||
msgstr "Autor*in"
|
||||
|
||||
|
@ -1320,15 +1319,21 @@ msgstr "Suche nach Buch oder Benutzer*in"
|
|||
msgid "Main navigation menu"
|
||||
msgstr "Navigationshauptmenü"
|
||||
|
||||
#: bookwyrm/templates/layout.html:61
|
||||
#: bookwyrm/templates/layout.html:58
|
||||
msgid "Feed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:102
|
||||
#: bookwyrm/templates/layout.html:87
|
||||
#, fuzzy
|
||||
#| msgid "Your books"
|
||||
msgid "Your Books"
|
||||
msgstr "Deine Bücher"
|
||||
|
||||
#: bookwyrm/templates/layout.html:97
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: bookwyrm/templates/layout.html:111
|
||||
#: bookwyrm/templates/layout.html:106
|
||||
#: bookwyrm/templates/settings/admin_layout.html:31
|
||||
#: bookwyrm/templates/settings/manage_invite_requests.html:15
|
||||
#: bookwyrm/templates/settings/manage_invites.html:3
|
||||
|
@ -1336,45 +1341,47 @@ msgstr "Einstellungen"
|
|||
msgid "Invites"
|
||||
msgstr "Einladungen"
|
||||
|
||||
#: bookwyrm/templates/layout.html:118
|
||||
#: bookwyrm/templates/layout.html:113
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:125
|
||||
#: bookwyrm/templates/layout.html:120
|
||||
msgid "Log out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
|
||||
#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
|
||||
#: bookwyrm/templates/notifications.html:6
|
||||
#: bookwyrm/templates/notifications.html:11
|
||||
msgid "Notifications"
|
||||
msgstr "Benachrichtigungen"
|
||||
|
||||
#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
|
||||
#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
|
||||
#: bookwyrm/templates/login.html:17
|
||||
#: bookwyrm/templates/snippets/register_form.html:4
|
||||
msgid "Username:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:159
|
||||
#: bookwyrm/templates/layout.html:156
|
||||
msgid "password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
|
||||
#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
|
||||
msgid "Forgot your password?"
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
|
||||
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
|
||||
#: bookwyrm/templates/login.html:33
|
||||
msgid "Log in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: bookwyrm/templates/layout.html:171
|
||||
#: bookwyrm/templates/layout.html:168
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:206
|
||||
msgid "About this server"
|
||||
#, fuzzy
|
||||
#| msgid "About this server"
|
||||
msgid "About this instance"
|
||||
msgstr "Über diesen Server"
|
||||
|
||||
#: bookwyrm/templates/layout.html:210
|
||||
|
@ -1438,7 +1445,7 @@ msgid "Discard"
|
|||
msgstr "Ablehnen"
|
||||
|
||||
#: bookwyrm/templates/lists/edit_form.html:5
|
||||
#: bookwyrm/templates/lists/list_layout.html:17
|
||||
#: bookwyrm/templates/lists/list_layout.html:16
|
||||
msgid "Edit List"
|
||||
msgstr "Liste bearbeiten"
|
||||
|
||||
|
@ -1487,63 +1494,64 @@ msgstr "Alle können Bücher hinzufügen"
|
|||
msgid "This list is currently empty"
|
||||
msgstr "Diese Liste ist momentan leer"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:65
|
||||
#: bookwyrm/templates/lists/list.html:66
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
msgstr "Direktnachrichten mit <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Started"
|
||||
msgid "Set"
|
||||
msgstr "Gestartet"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:80
|
||||
#: bookwyrm/templates/lists/list.html:74
|
||||
#, fuzzy
|
||||
#| msgid "List curation:"
|
||||
msgid "List position"
|
||||
msgstr "Listenkuratierung:"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:86
|
||||
#: bookwyrm/templates/lists/list.html:81
|
||||
#, fuzzy
|
||||
#| msgid "Started"
|
||||
msgid "Set"
|
||||
msgstr "Gestartet"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:89
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:26
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
|
||||
#: bookwyrm/templates/lists/list.html:103
|
||||
#: bookwyrm/templates/lists/list.html:120
|
||||
#, fuzzy
|
||||
#| msgid "Your Lists"
|
||||
msgid "Sort List"
|
||||
msgstr "Deine Listen"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:105
|
||||
#: bookwyrm/templates/lists/list.html:113
|
||||
#, fuzzy
|
||||
#| msgid "List curation:"
|
||||
msgid "Direction"
|
||||
msgstr "Listenkuratierung:"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:127
|
||||
msgid "Add Books"
|
||||
msgstr "Bücher hinzufügen"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:129
|
||||
msgid "Suggest Books"
|
||||
msgstr "Bücher vorschlagen"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:125
|
||||
#: bookwyrm/templates/lists/list.html:140
|
||||
msgid "search"
|
||||
msgstr "suchen"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:131
|
||||
#: bookwyrm/templates/lists/list.html:146
|
||||
msgid "Clear search"
|
||||
msgstr "Suche leeren"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:136
|
||||
#: bookwyrm/templates/lists/list.html:151
|
||||
#, python-format
|
||||
msgid "No books found matching the query \"%(query)s\""
|
||||
msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:164
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Suggest"
|
||||
msgstr "Vorschlagen"
|
||||
|
||||
|
@ -1643,7 +1651,7 @@ msgstr "Lösen"
|
|||
#: bookwyrm/templates/moderation/reports.html:6
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Lists: %(username)s"
|
||||
msgid "Reports: %(server_name)s"
|
||||
msgid "Reports: %(instance_name)s"
|
||||
msgstr "Listen: %(username)s"
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:8
|
||||
|
@ -1657,7 +1665,7 @@ msgstr "Aktuelle Importe"
|
|||
#: bookwyrm/templates/moderation/reports.html:14
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Lists: %(username)s"
|
||||
msgid "Reports: <small>%(server_name)s</small>"
|
||||
msgid "Reports: <small>%(instance_name)s</small>"
|
||||
msgstr "Listen: %(username)s"
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:28
|
||||
|
@ -1863,6 +1871,26 @@ msgstr "Profil"
|
|||
msgid "Relationships"
|
||||
msgstr "Beziehungen"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:5
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:35
|
||||
msgid "rated"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:7
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:37
|
||||
msgid "reviewed"
|
||||
msgstr "bewertete"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:9
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:39
|
||||
msgid "commented on"
|
||||
msgstr "kommentierte"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:11
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:41
|
||||
msgid "quoted"
|
||||
msgstr "zitierte"
|
||||
|
||||
#: bookwyrm/templates/search/book.html:64
|
||||
#, fuzzy
|
||||
#| msgid "Show results from other catalogues"
|
||||
|
@ -1922,7 +1950,9 @@ msgstr "Nutzer*innen verwalten"
|
|||
#: bookwyrm/templates/settings/admin_layout.html:39
|
||||
#: bookwyrm/templates/settings/federation.html:3
|
||||
#: bookwyrm/templates/settings/federation.html:5
|
||||
msgid "Federated Servers"
|
||||
#, fuzzy
|
||||
#| msgid "Federated Servers"
|
||||
msgid "Federated Instances"
|
||||
msgstr "Föderierende Server"
|
||||
|
||||
#: bookwyrm/templates/settings/admin_layout.html:44
|
||||
|
@ -1976,6 +2006,7 @@ msgid "Back to list"
|
|||
msgstr "Zurück zu den Meldungen"
|
||||
|
||||
#: bookwyrm/templates/settings/announcement.html:11
|
||||
#: bookwyrm/templates/settings/announcement_form.html:6
|
||||
#, fuzzy
|
||||
#| msgid "Announcements"
|
||||
msgid "Edit Announcement"
|
||||
|
@ -2017,7 +2048,7 @@ msgstr "Geburtsdatum:"
|
|||
msgid "Active:"
|
||||
msgstr "Aktivität"
|
||||
|
||||
#: bookwyrm/templates/settings/announcement_form.html:5
|
||||
#: bookwyrm/templates/settings/announcement_form.html:8
|
||||
#: bookwyrm/templates/settings/announcements.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Announcements"
|
||||
|
@ -2076,15 +2107,15 @@ msgstr "Aktivität"
|
|||
#: bookwyrm/templates/settings/server_blocklist.html:3
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:20
|
||||
#, fuzzy
|
||||
#| msgid "Add cover"
|
||||
msgid "Add server"
|
||||
msgstr "Cover hinzufügen"
|
||||
#| msgid "Instance Name:"
|
||||
msgid "Add instance"
|
||||
msgstr "Instanzname"
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:7
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:7
|
||||
#, fuzzy
|
||||
#| msgid "Back to reports"
|
||||
msgid "Back to server list"
|
||||
msgid "Back to instance list"
|
||||
msgstr "Zurück zu den Meldungen"
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:16
|
||||
|
@ -2213,8 +2244,10 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/settings/federation.html:19
|
||||
#: bookwyrm/templates/user_admin/server_filter.html:5
|
||||
msgid "Server name"
|
||||
msgstr "Servername"
|
||||
#, fuzzy
|
||||
#| msgid "Instance Name:"
|
||||
msgid "Instance name"
|
||||
msgstr "Instanzname"
|
||||
|
||||
#: bookwyrm/templates/settings/federation.html:23
|
||||
#, fuzzy
|
||||
|
@ -2353,7 +2386,7 @@ msgid "Import Blocklist"
|
|||
msgstr "Bücher importieren"
|
||||
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:26
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:5
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:7
|
||||
msgid "Success!"
|
||||
msgstr "Erfolg!"
|
||||
|
||||
|
@ -2446,15 +2479,15 @@ msgstr "Cover hinzufügen"
|
|||
msgid "<a href=\"%(path)s\">%(title)s</a> by "
|
||||
msgstr "<a href=\"%(path)s\">%(title)s</a> von "
|
||||
|
||||
#: bookwyrm/templates/snippets/boost_button.html:9
|
||||
#: bookwyrm/templates/snippets/boost_button.html:10
|
||||
#: bookwyrm/templates/snippets/boost_button.html:20
|
||||
#: bookwyrm/templates/snippets/boost_button.html:21
|
||||
#, fuzzy
|
||||
#| msgid "boosted"
|
||||
msgid "Boost"
|
||||
msgstr "teilt"
|
||||
|
||||
#: bookwyrm/templates/snippets/boost_button.html:16
|
||||
#: bookwyrm/templates/snippets/boost_button.html:17
|
||||
#: bookwyrm/templates/snippets/boost_button.html:33
|
||||
#: bookwyrm/templates/snippets/boost_button.html:34
|
||||
#, fuzzy
|
||||
#| msgid "Un-boost status"
|
||||
msgid "Un-boost"
|
||||
|
@ -2554,13 +2587,13 @@ msgstr "Diese Lesedaten löschen?"
|
|||
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
|
||||
msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates."
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:9
|
||||
#: bookwyrm/templates/snippets/fav_button.html:11
|
||||
#: bookwyrm/templates/snippets/fav_button.html:10
|
||||
#: bookwyrm/templates/snippets/fav_button.html:12
|
||||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:17
|
||||
#: bookwyrm/templates/snippets/fav_button.html:18
|
||||
#: bookwyrm/templates/snippets/fav_button.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Un-like status"
|
||||
msgid "Un-like"
|
||||
|
@ -2609,6 +2642,14 @@ msgstr "Annehmen"
|
|||
msgid "No rating"
|
||||
msgstr "Kein Rating"
|
||||
|
||||
#: bookwyrm/templates/snippets/form_rate_stars.html:44
|
||||
#: bookwyrm/templates/snippets/stars.html:7
|
||||
#, python-format
|
||||
msgid "%(rating)s star"
|
||||
msgid_plural "%(rating)s stars"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: bookwyrm/templates/snippets/generated_status/goal.html:1
|
||||
#, python-format
|
||||
msgid "set a goal to read %(counter)s book in %(year)s"
|
||||
|
@ -2664,17 +2705,17 @@ msgstr "Posten"
|
|||
msgid "Set goal"
|
||||
msgstr "Ziel setzen"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:7
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:9
|
||||
#, python-format
|
||||
msgid "%(percent)s%% complete!"
|
||||
msgstr "%(percent)s%% komplett!"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:10
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#, python-format
|
||||
msgid "You've read <a href=\"%(path)s\">%(read_count)s of %(goal_count)s books</a>."
|
||||
msgstr "Du hast <a href=\"%(path)s\">%(read_count)s von %(goal_count)s Büchern</a> gelesen."
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:14
|
||||
#, python-format
|
||||
msgid "%(username)s has read <a href=\"%(path)s\">%(read_count)s of %(goal_count)s books</a>."
|
||||
msgstr "%(username)s hat <a href=\"%(path)s\">%(read_count)s von %(goal_count)s Büchern</a> gelesen."
|
||||
|
@ -2787,26 +2828,6 @@ msgstr "Registrieren"
|
|||
msgid "Report"
|
||||
msgstr "Importieren"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:5
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:35
|
||||
msgid "rated"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:7
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:37
|
||||
msgid "reviewed"
|
||||
msgstr "bewertete"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:9
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:39
|
||||
msgid "commented on"
|
||||
msgstr "kommentierte"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:11
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:41
|
||||
msgid "quoted"
|
||||
msgstr "zitierte"
|
||||
|
||||
#: bookwyrm/templates/snippets/search_result_text.html:36
|
||||
msgid "Import book"
|
||||
msgstr "Buch importieren"
|
||||
|
@ -2989,7 +3010,7 @@ msgstr "Regal bearbeiten"
|
|||
msgid "Update shelf"
|
||||
msgstr "Regal aktualisieren"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
|
||||
#, fuzzy
|
||||
#| msgid "books"
|
||||
msgid "All books"
|
||||
|
@ -2999,30 +3020,30 @@ msgstr "Bücher"
|
|||
msgid "Create shelf"
|
||||
msgstr "Regal erstellen"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:61
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:62
|
||||
msgid "Edit shelf"
|
||||
msgstr "Regal bearbeiten"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:80
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:104
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:81
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:105
|
||||
msgid "Shelved"
|
||||
msgstr "Ins Regal gestellt"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:81
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:108
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:82
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:109
|
||||
msgid "Started"
|
||||
msgstr "Gestartet"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:82
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:111
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:83
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:112
|
||||
msgid "Finished"
|
||||
msgstr "Abgeschlossen"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:137
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:138
|
||||
msgid "This shelf is empty."
|
||||
msgstr "Dieses Regal ist leer."
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:143
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:144
|
||||
msgid "Delete shelf"
|
||||
msgstr "Regal löschen"
|
||||
|
||||
|
@ -3084,9 +3105,10 @@ msgid "Back to users"
|
|||
msgstr "Zurück zu den Meldungen"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:7
|
||||
#, python-format
|
||||
msgid "Users: <small>%(server_name)s</small>"
|
||||
msgstr ""
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Lists: %(username)s"
|
||||
msgid "Users: <small>%(instance_name)s</small>"
|
||||
msgstr "Listen: %(username)s"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:22
|
||||
#: bookwyrm/templates/user_admin/username_filter.html:5
|
||||
|
@ -3107,9 +3129,9 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:38
|
||||
#, fuzzy
|
||||
#| msgid "Remove"
|
||||
msgid "Remote server"
|
||||
msgstr "Entfernen"
|
||||
#| msgid "Instance Name:"
|
||||
msgid "Remote instance"
|
||||
msgstr "Instanzname"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:47
|
||||
#, fuzzy
|
||||
|
@ -3158,6 +3180,10 @@ msgstr ""
|
|||
msgid "Access level:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
|
||||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/views/import_data.py:67
|
||||
#, fuzzy
|
||||
#| msgid "Email address:"
|
||||
|
@ -3175,6 +3201,27 @@ msgstr "Dieser Benutzename ist bereits vergeben."
|
|||
msgid "A password reset link sent to %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Lists: %(username)s"
|
||||
#~ msgid "Reports: <small>%(server_name)s</small>"
|
||||
#~ msgstr "Listen: %(username)s"
|
||||
|
||||
#~ msgid "Federated Servers"
|
||||
#~ msgstr "Föderierende Server"
|
||||
|
||||
#~ msgid "Server name"
|
||||
#~ msgstr "Servername"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Add cover"
|
||||
#~ msgid "Add server"
|
||||
#~ msgstr "Cover hinzufügen"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Remove"
|
||||
#~ msgid "Remote server"
|
||||
#~ msgstr "Entfernen"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Book"
|
||||
#~ msgid "BookWyrm\\"
|
||||
|
@ -3225,12 +3272,12 @@ msgstr ""
|
|||
#~ msgid "Enter a number."
|
||||
#~ msgstr "Seriennummer:"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "A user with that username already exists."
|
||||
#~ msgid "%(model_name)s with this %(field_labels)s already exists."
|
||||
#~ msgstr "Dieser Benutzename ist bereits vergeben."
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid remote_id"
|
||||
#~ msgid "Value %(value)r is not a valid choice."
|
||||
#~ msgstr "%(value)s ist keine gültige remote_id"
|
||||
|
@ -3240,7 +3287,7 @@ msgstr ""
|
|||
#~ msgid "This field cannot be null."
|
||||
#~ msgstr "Dieses Regal ist leer."
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "A user with that username already exists."
|
||||
#~ msgid "%(model_name)s with this %(field_label)s already exists."
|
||||
#~ msgstr "Dieser Benutzename ist bereits vergeben."
|
||||
|
@ -3250,7 +3297,7 @@ msgstr ""
|
|||
#~ msgid "Comma-separated integers"
|
||||
#~ msgstr "Keine aktiven Einladungen"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(value)s” value must be a decimal number."
|
||||
#~ msgstr "%(value)s ist kein gültiger Username"
|
||||
|
@ -3270,7 +3317,7 @@ msgstr ""
|
|||
#~ msgid "Email address"
|
||||
#~ msgstr "E-Mail Adresse"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(value)s” value must be a float."
|
||||
#~ msgstr "%(value)s ist kein gültiger Username"
|
||||
|
@ -3300,7 +3347,7 @@ msgstr ""
|
|||
#~ msgid "Positive small integer"
|
||||
#~ msgstr "Keine aktiven Einladungen"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(value)s” is not a valid UUID."
|
||||
#~ msgstr "%(value)s ist kein gültiger Username"
|
||||
|
@ -3315,12 +3362,12 @@ msgstr ""
|
|||
#~ msgid "One-to-one relationship"
|
||||
#~ msgstr "Beziehungen"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "Relationships"
|
||||
#~ msgid "%(from)s-%(to)s relationship"
|
||||
#~ msgstr "Beziehungen"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "Relationships"
|
||||
#~ msgid "%(from)s-%(to)s relationships"
|
||||
#~ msgstr "Beziehungen"
|
||||
|
@ -3375,7 +3422,7 @@ msgstr ""
|
|||
#~ msgid "Enter a valid UUID."
|
||||
#~ msgstr "E-Mail Adresse"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(pk)s” is not a valid value."
|
||||
#~ msgstr "%(value)s ist kein gültiger Username"
|
||||
|
@ -3439,12 +3486,12 @@ msgstr ""
|
|||
#~ msgid "This is not a valid IPv6 address."
|
||||
#~ msgstr "E-Mail Adresse"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "No books found matching the query \"%(query)s\""
|
||||
#~ msgid "No %(verbose_name)s found matching the query"
|
||||
#~ msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(path)s” does not exist"
|
||||
#~ msgstr "%(value)s ist kein gültiger Username"
|
||||
|
@ -3463,11 +3510,9 @@ msgstr ""
|
|||
#~ msgid "Matching Users"
|
||||
#~ msgstr "Passende Nutzer*innen"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Set a reading goal for %(year)s"
|
||||
#~ msgstr "Leseziel für %(year)s setzen"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "by %(author)s"
|
||||
#~ msgstr "von %(author)s"
|
||||
|
||||
|
@ -3477,17 +3522,17 @@ msgstr ""
|
|||
#~ msgid "Reactivate user"
|
||||
#~ msgstr "Nutzer:in reaktivieren"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
#~ msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">review</a>"
|
||||
#~ msgstr "Direktnachrichten mit <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "<a href=\"%(related_path)s\">replied</a> to your <a href=\"%(parent_path)s\">status</a>"
|
||||
#~ msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">comment</a>"
|
||||
#~ msgstr "hat auf deinen <a href=\"%(parent_path)s\">Status</a> geantwortet</a>"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "<a href=\"%(related_path)s\">replied</a> to your <a href=\"%(parent_path)s\">status</a>"
|
||||
#~ msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">quote</a>"
|
||||
#~ msgstr "hat auf deinen <a href=\"%(parent_path)s\">Status</a> <a href=\"%(related_path)s\">geantwortet</a>"
|
||||
|
@ -3498,7 +3543,6 @@ msgstr ""
|
|||
#~ msgid "Add tag"
|
||||
#~ msgstr "Tag hinzufügen"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Books tagged \"%(tag.name)s\""
|
||||
#~ msgstr "Mit \"%(tag.name)s\" markierte Bücher"
|
||||
|
||||
|
@ -3507,7 +3551,7 @@ msgstr ""
|
|||
#~ msgid "Getting Started"
|
||||
#~ msgstr "Gestartet"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "No users found for \"%(query)s\""
|
||||
#~ msgid "No users were found for \"%(query)s\""
|
||||
#~ msgstr "Keine Nutzer*innen für \"%(query)s\" gefunden"
|
||||
|
@ -3515,7 +3559,7 @@ msgstr ""
|
|||
#~ msgid "Your lists"
|
||||
#~ msgstr "Deine Listen"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "See all %(size)s"
|
||||
#~ msgid "See all %(size)s lists"
|
||||
#~ msgstr "Alle %(size)s anzeigen"
|
||||
|
@ -3538,14 +3582,12 @@ msgstr ""
|
|||
#~ msgid "Your Shelves"
|
||||
#~ msgstr "Deine Regale"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "%(username)s: Shelves"
|
||||
#~ msgstr "%(username)s: Regale"
|
||||
|
||||
#~ msgid "Shelves"
|
||||
#~ msgstr "Regale"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "See all %(shelf_count)s shelves"
|
||||
#~ msgstr "Alle %(shelf_count)s Regale anzeigen"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-05-20 14:40-0700\n"
|
||||
"POT-Creation-Date: 2021-06-06 20:52+0000\n"
|
||||
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
@ -56,12 +56,12 @@ msgid "Book Title"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:84
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:115
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:85
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:116
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
|
||||
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
|
||||
msgid "Sort By"
|
||||
msgstr ""
|
||||
|
||||
|
@ -73,41 +73,41 @@ msgstr ""
|
|||
msgid "Descending"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/fields.py:24
|
||||
#: bookwyrm/models/fields.py:25
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid remote_id"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
|
||||
#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid username"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
|
||||
#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
|
||||
msgid "username"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/fields.py:170
|
||||
#: bookwyrm/models/fields.py:171
|
||||
msgid "A user with that username already exists."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/settings.py:155
|
||||
#: bookwyrm/settings.py:156
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/settings.py:156
|
||||
#: bookwyrm/settings.py:157
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/settings.py:157
|
||||
#: bookwyrm/settings.py:158
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/settings.py:158
|
||||
#: bookwyrm/settings.py:159
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/settings.py:159
|
||||
#: bookwyrm/settings.py:160
|
||||
msgid "Simplified Chinese"
|
||||
msgstr ""
|
||||
|
||||
|
@ -248,7 +248,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/book/edit_book.html:263
|
||||
#: bookwyrm/templates/lists/form.html:42
|
||||
#: bookwyrm/templates/preferences/edit_user.html:70
|
||||
#: bookwyrm/templates/settings/announcement_form.html:65
|
||||
#: bookwyrm/templates/settings/announcement_form.html:69
|
||||
#: bookwyrm/templates/settings/edit_server.html:68
|
||||
#: bookwyrm/templates/settings/federated_server.html:98
|
||||
#: bookwyrm/templates/settings/site.html:97
|
||||
|
@ -367,7 +367,7 @@ msgstr ""
|
|||
msgid "Places"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
|
||||
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -381,7 +381,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:164
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
|
@ -511,7 +511,7 @@ msgid "John Doe, Jane Smith"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/edit_book.html:183
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:77
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:78
|
||||
msgid "Cover"
|
||||
msgstr ""
|
||||
|
||||
|
@ -630,7 +630,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/directory/directory.html:4
|
||||
#: bookwyrm/templates/directory/directory.html:9
|
||||
#: bookwyrm/templates/layout.html:92
|
||||
#: bookwyrm/templates/layout.html:64
|
||||
msgid "Directory"
|
||||
msgstr ""
|
||||
|
||||
|
@ -831,7 +831,7 @@ msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:10
|
||||
#: bookwyrm/templates/layout.html:87
|
||||
#: bookwyrm/templates/layout.html:92
|
||||
msgid "Direct Messages"
|
||||
msgstr ""
|
||||
|
||||
|
@ -887,7 +887,6 @@ msgid "Updates"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/feed_layout.html:10
|
||||
#: bookwyrm/templates/layout.html:58
|
||||
#: bookwyrm/templates/user/shelf/books_header.html:3
|
||||
msgid "Your books"
|
||||
msgstr ""
|
||||
|
@ -942,7 +941,7 @@ msgid "What are you reading?"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:9
|
||||
#: bookwyrm/templates/lists/list.html:120
|
||||
#: bookwyrm/templates/lists/list.html:135
|
||||
msgid "Search for a book"
|
||||
msgstr ""
|
||||
|
||||
|
@ -962,7 +961,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/get_started/users.html:18
|
||||
#: bookwyrm/templates/get_started/users.html:19
|
||||
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
|
||||
#: bookwyrm/templates/lists/list.html:124
|
||||
#: bookwyrm/templates/lists/list.html:139
|
||||
#: bookwyrm/templates/search/layout.html:4
|
||||
#: bookwyrm/templates/search/layout.html:9
|
||||
msgid "Search"
|
||||
|
@ -978,7 +977,7 @@ msgid "Popular on %(site_name)s"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:58
|
||||
#: bookwyrm/templates/lists/list.html:137
|
||||
#: bookwyrm/templates/lists/list.html:152
|
||||
msgid "No books found"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1090,7 +1089,7 @@ msgid "%(username)s's %(year)s Books"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
|
||||
#: bookwyrm/templates/layout.html:97
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:40
|
||||
msgid "Import Books"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1175,14 +1174,14 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/import_status.html:114
|
||||
#: bookwyrm/templates/snippets/create_status_form.html:13
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:78
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:98
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:79
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:99
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/import_status.html:117
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:79
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:101
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:80
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:102
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1224,15 +1223,19 @@ msgstr ""
|
|||
msgid "Main navigation menu"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:61
|
||||
#: bookwyrm/templates/layout.html:58
|
||||
msgid "Feed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:102
|
||||
#: bookwyrm/templates/layout.html:87
|
||||
msgid "Your Books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:97
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:111
|
||||
#: bookwyrm/templates/layout.html:106
|
||||
#: bookwyrm/templates/settings/admin_layout.html:31
|
||||
#: bookwyrm/templates/settings/manage_invite_requests.html:15
|
||||
#: bookwyrm/templates/settings/manage_invites.html:3
|
||||
|
@ -1240,45 +1243,45 @@ msgstr ""
|
|||
msgid "Invites"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:118
|
||||
#: bookwyrm/templates/layout.html:113
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:125
|
||||
#: bookwyrm/templates/layout.html:120
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
|
||||
#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
|
||||
#: bookwyrm/templates/notifications.html:6
|
||||
#: bookwyrm/templates/notifications.html:11
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
|
||||
#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
|
||||
#: bookwyrm/templates/login.html:17
|
||||
#: bookwyrm/templates/snippets/register_form.html:4
|
||||
msgid "Username:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:159
|
||||
#: bookwyrm/templates/layout.html:156
|
||||
msgid "password"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
|
||||
#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
|
||||
msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
|
||||
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
|
||||
#: bookwyrm/templates/login.html:33
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:171
|
||||
#: bookwyrm/templates/layout.html:168
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:206
|
||||
msgid "About this server"
|
||||
msgid "About this instance"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:210
|
||||
|
@ -1338,7 +1341,7 @@ msgid "Discard"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/edit_form.html:5
|
||||
#: bookwyrm/templates/lists/list_layout.html:17
|
||||
#: bookwyrm/templates/lists/list_layout.html:16
|
||||
msgid "Edit List"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1385,54 +1388,55 @@ msgstr ""
|
|||
msgid "This list is currently empty"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:65
|
||||
#: bookwyrm/templates/lists/list.html:66
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:77
|
||||
msgid "Set"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:80
|
||||
#: bookwyrm/templates/lists/list.html:74
|
||||
msgid "List position"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:86
|
||||
#: bookwyrm/templates/lists/list.html:81
|
||||
msgid "Set"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:89
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:26
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
|
||||
#: bookwyrm/templates/lists/list.html:103
|
||||
#: bookwyrm/templates/lists/list.html:120
|
||||
msgid "Sort List"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:105
|
||||
#: bookwyrm/templates/lists/list.html:113
|
||||
msgid "Direction"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:127
|
||||
msgid "Add Books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:129
|
||||
msgid "Suggest Books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:125
|
||||
#: bookwyrm/templates/lists/list.html:140
|
||||
msgid "search"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:131
|
||||
#: bookwyrm/templates/lists/list.html:146
|
||||
msgid "Clear search"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:136
|
||||
#: bookwyrm/templates/lists/list.html:151
|
||||
#, python-format
|
||||
msgid "No books found matching the query \"%(query)s\""
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:164
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Suggest"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1523,7 +1527,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/moderation/reports.html:6
|
||||
#, python-format
|
||||
msgid "Reports: %(server_name)s"
|
||||
msgid "Reports: %(instance_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:8
|
||||
|
@ -1534,7 +1538,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/moderation/reports.html:14
|
||||
#, python-format
|
||||
msgid "Reports: <small>%(server_name)s</small>"
|
||||
msgid "Reports: <small>%(instance_name)s</small>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:28
|
||||
|
@ -1733,6 +1737,26 @@ msgstr ""
|
|||
msgid "Relationships"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:5
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:35
|
||||
msgid "rated"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:7
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:37
|
||||
msgid "reviewed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:9
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:39
|
||||
msgid "commented on"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:11
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:41
|
||||
msgid "quoted"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/search/book.html:64
|
||||
msgid "Load results from other catalogues"
|
||||
msgstr ""
|
||||
|
@ -1783,7 +1807,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/settings/admin_layout.html:39
|
||||
#: bookwyrm/templates/settings/federation.html:3
|
||||
#: bookwyrm/templates/settings/federation.html:5
|
||||
msgid "Federated Servers"
|
||||
msgid "Federated Instances"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/admin_layout.html:44
|
||||
|
@ -1833,6 +1857,7 @@ msgid "Back to list"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/announcement.html:11
|
||||
#: bookwyrm/templates/settings/announcement_form.html:6
|
||||
msgid "Edit Announcement"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1866,7 +1891,7 @@ msgstr ""
|
|||
msgid "Active:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/announcement_form.html:5
|
||||
#: bookwyrm/templates/settings/announcement_form.html:8
|
||||
#: bookwyrm/templates/settings/announcements.html:8
|
||||
msgid "Create Announcement"
|
||||
msgstr ""
|
||||
|
@ -1910,12 +1935,12 @@ msgstr ""
|
|||
#: bookwyrm/templates/settings/federation.html:10
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:3
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:20
|
||||
msgid "Add server"
|
||||
msgid "Add instance"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:7
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:7
|
||||
msgid "Back to server list"
|
||||
msgid "Back to instance list"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:16
|
||||
|
@ -2022,7 +2047,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/settings/federation.html:19
|
||||
#: bookwyrm/templates/user_admin/server_filter.html:5
|
||||
msgid "Server name"
|
||||
msgid "Instance name"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/federation.html:23
|
||||
|
@ -2144,7 +2169,7 @@ msgid "Import Blocklist"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:26
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:5
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:7
|
||||
msgid "Success!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2230,13 +2255,13 @@ msgstr ""
|
|||
msgid "<a href=\"%(path)s\">%(title)s</a> by "
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/boost_button.html:9
|
||||
#: bookwyrm/templates/snippets/boost_button.html:10
|
||||
#: bookwyrm/templates/snippets/boost_button.html:20
|
||||
#: bookwyrm/templates/snippets/boost_button.html:21
|
||||
msgid "Boost"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/boost_button.html:16
|
||||
#: bookwyrm/templates/snippets/boost_button.html:17
|
||||
#: bookwyrm/templates/snippets/boost_button.html:33
|
||||
#: bookwyrm/templates/snippets/boost_button.html:34
|
||||
msgid "Un-boost"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2326,13 +2351,13 @@ msgstr ""
|
|||
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:9
|
||||
#: bookwyrm/templates/snippets/fav_button.html:11
|
||||
#: bookwyrm/templates/snippets/fav_button.html:10
|
||||
#: bookwyrm/templates/snippets/fav_button.html:12
|
||||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:17
|
||||
#: bookwyrm/templates/snippets/fav_button.html:18
|
||||
#: bookwyrm/templates/snippets/fav_button.html:19
|
||||
msgid "Un-like"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2373,6 +2398,14 @@ msgstr ""
|
|||
msgid "No rating"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/form_rate_stars.html:44
|
||||
#: bookwyrm/templates/snippets/stars.html:7
|
||||
#, python-format
|
||||
msgid "%(rating)s star"
|
||||
msgid_plural "%(rating)s stars"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: bookwyrm/templates/snippets/generated_status/goal.html:1
|
||||
#, python-format
|
||||
msgid "set a goal to read %(counter)s book in %(year)s"
|
||||
|
@ -2427,17 +2460,17 @@ msgstr ""
|
|||
msgid "Set goal"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:7
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:9
|
||||
#, python-format
|
||||
msgid "%(percent)s%% complete!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:10
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#, python-format
|
||||
msgid "You've read <a href=\"%(path)s\">%(read_count)s of %(goal_count)s books</a>."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:14
|
||||
#, python-format
|
||||
msgid "%(username)s has read <a href=\"%(path)s\">%(read_count)s of %(goal_count)s books</a>."
|
||||
msgstr ""
|
||||
|
@ -2546,26 +2579,6 @@ msgstr ""
|
|||
msgid "Report"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:5
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:35
|
||||
msgid "rated"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:7
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:37
|
||||
msgid "reviewed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:9
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:39
|
||||
msgid "commented on"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:11
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:41
|
||||
msgid "quoted"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/search_result_text.html:36
|
||||
msgid "Import book"
|
||||
msgstr ""
|
||||
|
@ -2735,7 +2748,7 @@ msgstr ""
|
|||
msgid "Update shelf"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
|
||||
msgid "All books"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2743,30 +2756,30 @@ msgstr ""
|
|||
msgid "Create shelf"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:61
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:62
|
||||
msgid "Edit shelf"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:80
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:104
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:81
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:105
|
||||
msgid "Shelved"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:81
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:108
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:82
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:109
|
||||
msgid "Started"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:82
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:111
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:83
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:112
|
||||
msgid "Finished"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:137
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:138
|
||||
msgid "This shelf is empty."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:143
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:144
|
||||
msgid "Delete shelf"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2825,7 +2838,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:7
|
||||
#, python-format
|
||||
msgid "Users: <small>%(server_name)s</small>"
|
||||
msgid "Users: <small>%(instance_name)s</small>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:22
|
||||
|
@ -2842,7 +2855,7 @@ msgid "Last Active"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:38
|
||||
msgid "Remote server"
|
||||
msgid "Remote instance"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:47
|
||||
|
@ -2886,6 +2899,10 @@ msgstr ""
|
|||
msgid "Access level:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
|
||||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/views/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr ""
|
||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-05-25 01:44+0000\n"
|
||||
"POT-Creation-Date: 2021-06-06 20:52+0000\n"
|
||||
"PO-Revision-Date: 2021-03-19 11:49+0800\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -73,41 +73,41 @@ msgstr "Ascendente"
|
|||
msgid "Descending"
|
||||
msgstr "Descendente"
|
||||
|
||||
#: bookwyrm/models/fields.py:24
|
||||
#: bookwyrm/models/fields.py:25
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid remote_id"
|
||||
msgstr "%(value)s no es un remote_id válido"
|
||||
|
||||
#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
|
||||
#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid username"
|
||||
msgstr "%(value)s no es un usuario válido"
|
||||
|
||||
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:152
|
||||
#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
|
||||
msgid "username"
|
||||
msgstr "nombre de usuario"
|
||||
|
||||
#: bookwyrm/models/fields.py:170
|
||||
#: bookwyrm/models/fields.py:171
|
||||
msgid "A user with that username already exists."
|
||||
msgstr "Ya existe un usuario con ese nombre."
|
||||
|
||||
#: bookwyrm/settings.py:155
|
||||
#: bookwyrm/settings.py:156
|
||||
msgid "English"
|
||||
msgstr "Inglés"
|
||||
|
||||
#: bookwyrm/settings.py:156
|
||||
#: bookwyrm/settings.py:157
|
||||
msgid "German"
|
||||
msgstr "Aléman"
|
||||
|
||||
#: bookwyrm/settings.py:157
|
||||
#: bookwyrm/settings.py:158
|
||||
msgid "Spanish"
|
||||
msgstr "Español"
|
||||
|
||||
#: bookwyrm/settings.py:158
|
||||
#: bookwyrm/settings.py:159
|
||||
msgid "French"
|
||||
msgstr "Francés"
|
||||
|
||||
#: bookwyrm/settings.py:159
|
||||
#: bookwyrm/settings.py:160
|
||||
msgid "Simplified Chinese"
|
||||
msgstr "Chino simplificado"
|
||||
|
||||
|
@ -1281,7 +1281,9 @@ msgid "Join"
|
|||
msgstr "Unirse"
|
||||
|
||||
#: bookwyrm/templates/layout.html:206
|
||||
msgid "About this server"
|
||||
#, fuzzy
|
||||
#| msgid "About this server"
|
||||
msgid "About this instance"
|
||||
msgstr "Sobre este servidor"
|
||||
|
||||
#: bookwyrm/templates/layout.html:210
|
||||
|
@ -1527,8 +1529,8 @@ msgstr "Resolver"
|
|||
|
||||
#: bookwyrm/templates/moderation/reports.html:6
|
||||
#, python-format
|
||||
msgid "Reports: %(server_name)s"
|
||||
msgstr "Informes: %(server_name)s"
|
||||
msgid "Reports: %(instance_name)s"
|
||||
msgstr "Informes: %(instance_name)s"
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:8
|
||||
#: bookwyrm/templates/moderation/reports.html:17
|
||||
|
@ -1538,8 +1540,8 @@ msgstr "Informes"
|
|||
|
||||
#: bookwyrm/templates/moderation/reports.html:14
|
||||
#, python-format
|
||||
msgid "Reports: <small>%(server_name)s</small>"
|
||||
msgstr "Informes: <small>%(server_name)s</small>"
|
||||
msgid "Reports: <small>%(instance_name)s</small>"
|
||||
msgstr "Informes: <small>%(instance_name)s</small>"
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:28
|
||||
msgid "Resolved"
|
||||
|
@ -1660,6 +1662,7 @@ msgid " suggested adding <em><a href=\"%(book_path)s\">%(book_title)s</a></em> t
|
|||
msgstr " sugirió agregar <em><a href=\"%(book_path)s\">%(book_title)s</a></em> a tu lista \"<a href=\"%(list_path)s/curate\">%(list_name)s</a>\""
|
||||
|
||||
#: bookwyrm/templates/notifications.html:128
|
||||
#, python-format
|
||||
msgid "Your <a href=\"%(url)s\">import</a> completed."
|
||||
msgstr "Tu <a href=\"%(url)s\">importación</a> ha terminado."
|
||||
|
||||
|
@ -1791,6 +1794,7 @@ msgid "Users"
|
|||
msgstr "Usuarios"
|
||||
|
||||
#: bookwyrm/templates/search/layout.html:58
|
||||
#, python-format
|
||||
msgid "No results found for \"%(query)s\""
|
||||
msgstr "No se encontró ningún resultado correspondiente a \"%(query)s\""
|
||||
|
||||
|
@ -1805,7 +1809,9 @@ msgstr "Administrar usuarios"
|
|||
#: bookwyrm/templates/settings/admin_layout.html:39
|
||||
#: bookwyrm/templates/settings/federation.html:3
|
||||
#: bookwyrm/templates/settings/federation.html:5
|
||||
msgid "Federated Servers"
|
||||
#, fuzzy
|
||||
#| msgid "Federated Servers"
|
||||
msgid "Federated Instances"
|
||||
msgstr "Servidores federalizados"
|
||||
|
||||
#: bookwyrm/templates/settings/admin_layout.html:44
|
||||
|
@ -1933,12 +1939,16 @@ msgstr "inactivo"
|
|||
#: bookwyrm/templates/settings/federation.html:10
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:3
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:20
|
||||
msgid "Add server"
|
||||
msgstr "Agregar servidor"
|
||||
#, fuzzy
|
||||
#| msgid "View instance"
|
||||
msgid "Add instance"
|
||||
msgstr "Ver instancia"
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:7
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:7
|
||||
msgid "Back to server list"
|
||||
#, fuzzy
|
||||
#| msgid "Back to server list"
|
||||
msgid "Back to instance list"
|
||||
msgstr "Volver a la lista de servidores"
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:16
|
||||
|
@ -2045,8 +2055,10 @@ msgstr "Todos los usuarios en esta instancia serán re-activados."
|
|||
|
||||
#: bookwyrm/templates/settings/federation.html:19
|
||||
#: bookwyrm/templates/user_admin/server_filter.html:5
|
||||
msgid "Server name"
|
||||
msgstr "Nombre de servidor"
|
||||
#, fuzzy
|
||||
#| msgid "Instance Name:"
|
||||
msgid "Instance name"
|
||||
msgstr "Nombre de instancia:"
|
||||
|
||||
#: bookwyrm/templates/settings/federation.html:23
|
||||
msgid "Date federated"
|
||||
|
@ -2240,6 +2252,7 @@ msgid "Registration closed text:"
|
|||
msgstr "Texto de registración cerrada:"
|
||||
|
||||
#: bookwyrm/templates/snippets/announcement.html:31
|
||||
#, python-format
|
||||
msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
msgstr "Publicado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
|
@ -2478,6 +2491,8 @@ msgid "page %(page)s of %(total_pages)s"
|
|||
msgstr "página %(page)s de %(total_pages)s"
|
||||
|
||||
#: bookwyrm/templates/snippets/page_text.html:6
|
||||
#, fuzzy, python-format
|
||||
#| msgid "page %(page)s"
|
||||
msgid "page %(page)s"
|
||||
msgstr "página %(pages)s"
|
||||
|
||||
|
@ -2822,6 +2837,7 @@ msgid "%(counter)s following"
|
|||
msgstr "%(counter)s siguiendo"
|
||||
|
||||
#: bookwyrm/templates/user/user_preview.html:26
|
||||
#, python-format
|
||||
msgid "%(mutuals_display)s follower you follow"
|
||||
msgid_plural "%(mutuals_display)s followers you follow"
|
||||
msgstr[0] "%(mutuals_display)s seguidor que sigues"
|
||||
|
@ -2833,8 +2849,8 @@ msgstr "Volver a usuarios"
|
|||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:7
|
||||
#, python-format
|
||||
msgid "Users: <small>%(server_name)s</small>"
|
||||
msgstr "Usuarios <small>%(server_name)s</small>"
|
||||
msgid "Users: <small>%(instance_name)s</small>"
|
||||
msgstr "Usuarios <small>%(instance_name)s</small>"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:22
|
||||
#: bookwyrm/templates/user_admin/username_filter.html:5
|
||||
|
@ -2850,8 +2866,10 @@ msgid "Last Active"
|
|||
msgstr "Actividad reciente"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:38
|
||||
msgid "Remote server"
|
||||
msgstr "Quitar servidor"
|
||||
#, fuzzy
|
||||
#| msgid "View instance"
|
||||
msgid "Remote instance"
|
||||
msgstr "Ver instancia"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:47
|
||||
msgid "Active"
|
||||
|
@ -2894,6 +2912,10 @@ msgstr "Des-suspender usuario"
|
|||
msgid "Access level:"
|
||||
msgstr "Nivel de acceso:"
|
||||
|
||||
#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
|
||||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/views/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
msgstr "No un archivo csv válido"
|
||||
|
@ -2907,6 +2929,18 @@ msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónic
|
|||
msgid "A password reset link sent to %s"
|
||||
msgstr "Un enlace para reestablecer tu contraseña se enviará a %s"
|
||||
|
||||
#~ msgid "Federated Servers"
|
||||
#~ msgstr "Servidores federalizados"
|
||||
|
||||
#~ msgid "Server name"
|
||||
#~ msgstr "Nombre de servidor"
|
||||
|
||||
#~ msgid "Add server"
|
||||
#~ msgstr "Agregar servidor"
|
||||
|
||||
#~ msgid "Remote server"
|
||||
#~ msgstr "Quitar servidor"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "BookWyrm users"
|
||||
#~ msgid "BookWyrm\\"
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.1.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-05-20 14:40-0700\n"
|
||||
"POT-Creation-Date: 2021-06-06 20:52+0000\n"
|
||||
"PO-Revision-Date: 2021-03-20 00:56+0000\n"
|
||||
"Last-Translator: Kana <gudzpoz@live.com>\n"
|
||||
"Language-Team: Mouse Reeve <LL@li.org>\n"
|
||||
|
@ -58,12 +58,12 @@ msgid "Book Title"
|
|||
msgstr "标题"
|
||||
|
||||
#: bookwyrm/forms.py:301 bookwyrm/templates/snippets/create_status_form.html:34
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:84
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:115
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:85
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:116
|
||||
msgid "Rating"
|
||||
msgstr "评价"
|
||||
|
||||
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:101
|
||||
#: bookwyrm/forms.py:303 bookwyrm/templates/lists/list.html:107
|
||||
msgid "Sort By"
|
||||
msgstr ""
|
||||
|
||||
|
@ -79,41 +79,41 @@ msgstr "升序排序"
|
|||
msgid "Descending"
|
||||
msgstr "升序排序"
|
||||
|
||||
#: bookwyrm/models/fields.py:24
|
||||
#: bookwyrm/models/fields.py:25
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid remote_id"
|
||||
msgstr "%(value)s 不是有效的 remote_id"
|
||||
|
||||
#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42
|
||||
#: bookwyrm/models/fields.py:34 bookwyrm/models/fields.py:43
|
||||
#, python-format
|
||||
msgid "%(value)s is not a valid username"
|
||||
msgstr "%(value)s 不是有效的用户名"
|
||||
|
||||
#: bookwyrm/models/fields.py:165 bookwyrm/templates/layout.html:155
|
||||
#: bookwyrm/models/fields.py:166 bookwyrm/templates/layout.html:152
|
||||
msgid "username"
|
||||
msgstr "用户名"
|
||||
|
||||
#: bookwyrm/models/fields.py:170
|
||||
#: bookwyrm/models/fields.py:171
|
||||
msgid "A user with that username already exists."
|
||||
msgstr "已经存在使用该用户名的用户。"
|
||||
|
||||
#: bookwyrm/settings.py:155
|
||||
#: bookwyrm/settings.py:156
|
||||
msgid "English"
|
||||
msgstr "English(英语)"
|
||||
|
||||
#: bookwyrm/settings.py:156
|
||||
#: bookwyrm/settings.py:157
|
||||
msgid "German"
|
||||
msgstr "Deutsch(德语)"
|
||||
|
||||
#: bookwyrm/settings.py:157
|
||||
#: bookwyrm/settings.py:158
|
||||
msgid "Spanish"
|
||||
msgstr "Español(西班牙语)"
|
||||
|
||||
#: bookwyrm/settings.py:158
|
||||
#: bookwyrm/settings.py:159
|
||||
msgid "French"
|
||||
msgstr "Français(法语)"
|
||||
|
||||
#: bookwyrm/settings.py:159
|
||||
#: bookwyrm/settings.py:160
|
||||
msgid "Simplified Chinese"
|
||||
msgstr "简体中文"
|
||||
|
||||
|
@ -260,7 +260,7 @@ msgstr "Goodreads key:"
|
|||
#: bookwyrm/templates/book/edit_book.html:263
|
||||
#: bookwyrm/templates/lists/form.html:42
|
||||
#: bookwyrm/templates/preferences/edit_user.html:70
|
||||
#: bookwyrm/templates/settings/announcement_form.html:65
|
||||
#: bookwyrm/templates/settings/announcement_form.html:69
|
||||
#: bookwyrm/templates/settings/edit_server.html:68
|
||||
#: bookwyrm/templates/settings/federated_server.html:98
|
||||
#: bookwyrm/templates/settings/site.html:97
|
||||
|
@ -386,7 +386,7 @@ msgstr "主题"
|
|||
msgid "Places"
|
||||
msgstr "地点"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:64
|
||||
#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -400,7 +400,7 @@ msgstr "添加到列表"
|
|||
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:164
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Add"
|
||||
msgstr "添加"
|
||||
|
||||
|
@ -532,7 +532,7 @@ msgid "John Doe, Jane Smith"
|
|||
msgstr "张三, 李四"
|
||||
|
||||
#: bookwyrm/templates/book/edit_book.html:183
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:77
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:78
|
||||
msgid "Cover"
|
||||
msgstr "封面"
|
||||
|
||||
|
@ -655,7 +655,7 @@ msgstr "跨站社区"
|
|||
|
||||
#: bookwyrm/templates/directory/directory.html:4
|
||||
#: bookwyrm/templates/directory/directory.html:9
|
||||
#: bookwyrm/templates/layout.html:92
|
||||
#: bookwyrm/templates/layout.html:64
|
||||
msgid "Directory"
|
||||
msgstr "目录"
|
||||
|
||||
|
@ -854,7 +854,7 @@ msgid "Direct Messages with <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:87
|
||||
#: bookwyrm/templates/layout.html:92
|
||||
msgid "Direct Messages"
|
||||
msgstr "私信"
|
||||
|
||||
|
@ -910,7 +910,6 @@ msgid "Updates"
|
|||
msgstr "更新"
|
||||
|
||||
#: bookwyrm/templates/feed/feed_layout.html:10
|
||||
#: bookwyrm/templates/layout.html:58
|
||||
#: bookwyrm/templates/user/shelf/books_header.html:3
|
||||
msgid "Your books"
|
||||
msgstr "你的书目"
|
||||
|
@ -963,7 +962,7 @@ msgid "What are you reading?"
|
|||
msgstr "你在阅读什么?"
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:9
|
||||
#: bookwyrm/templates/lists/list.html:120
|
||||
#: bookwyrm/templates/lists/list.html:135
|
||||
msgid "Search for a book"
|
||||
msgstr "搜索书目"
|
||||
|
||||
|
@ -983,7 +982,7 @@ msgstr "你可以在开始使用 %(site_name)s 后添加书目。"
|
|||
#: bookwyrm/templates/get_started/users.html:18
|
||||
#: bookwyrm/templates/get_started/users.html:19
|
||||
#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38
|
||||
#: bookwyrm/templates/lists/list.html:124
|
||||
#: bookwyrm/templates/lists/list.html:139
|
||||
#: bookwyrm/templates/search/layout.html:4
|
||||
#: bookwyrm/templates/search/layout.html:9
|
||||
msgid "Search"
|
||||
|
@ -999,7 +998,7 @@ msgid "Popular on %(site_name)s"
|
|||
msgstr "%(site_name)s 上的热门"
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:58
|
||||
#: bookwyrm/templates/lists/list.html:137
|
||||
#: bookwyrm/templates/lists/list.html:152
|
||||
msgid "No books found"
|
||||
msgstr "没有找到书目"
|
||||
|
||||
|
@ -1111,7 +1110,7 @@ msgid "%(username)s's %(year)s Books"
|
|||
msgstr "%(username)s 在 %(year)s 的书目"
|
||||
|
||||
#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9
|
||||
#: bookwyrm/templates/layout.html:97
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:40
|
||||
msgid "Import Books"
|
||||
msgstr "导入书目"
|
||||
|
||||
|
@ -1196,14 +1195,14 @@ msgstr "书目"
|
|||
|
||||
#: bookwyrm/templates/import_status.html:114
|
||||
#: bookwyrm/templates/snippets/create_status_form.html:13
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:78
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:98
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:79
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:99
|
||||
msgid "Title"
|
||||
msgstr "标题"
|
||||
|
||||
#: bookwyrm/templates/import_status.html:117
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:79
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:101
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:80
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:102
|
||||
msgid "Author"
|
||||
msgstr "作者"
|
||||
|
||||
|
@ -1245,15 +1244,21 @@ msgstr "搜索书目或用户"
|
|||
msgid "Main navigation menu"
|
||||
msgstr "主导航菜单"
|
||||
|
||||
#: bookwyrm/templates/layout.html:61
|
||||
#: bookwyrm/templates/layout.html:58
|
||||
msgid "Feed"
|
||||
msgstr "动态"
|
||||
|
||||
#: bookwyrm/templates/layout.html:102
|
||||
#: bookwyrm/templates/layout.html:87
|
||||
#, fuzzy
|
||||
#| msgid "Your books"
|
||||
msgid "Your Books"
|
||||
msgstr "你的书目"
|
||||
|
||||
#: bookwyrm/templates/layout.html:97
|
||||
msgid "Settings"
|
||||
msgstr "设置"
|
||||
|
||||
#: bookwyrm/templates/layout.html:111
|
||||
#: bookwyrm/templates/layout.html:106
|
||||
#: bookwyrm/templates/settings/admin_layout.html:31
|
||||
#: bookwyrm/templates/settings/manage_invite_requests.html:15
|
||||
#: bookwyrm/templates/settings/manage_invites.html:3
|
||||
|
@ -1261,45 +1266,47 @@ msgstr "设置"
|
|||
msgid "Invites"
|
||||
msgstr "邀请"
|
||||
|
||||
#: bookwyrm/templates/layout.html:118
|
||||
#: bookwyrm/templates/layout.html:113
|
||||
msgid "Admin"
|
||||
msgstr "管理员"
|
||||
|
||||
#: bookwyrm/templates/layout.html:125
|
||||
#: bookwyrm/templates/layout.html:120
|
||||
msgid "Log out"
|
||||
msgstr "登出"
|
||||
|
||||
#: bookwyrm/templates/layout.html:133 bookwyrm/templates/layout.html:134
|
||||
#: bookwyrm/templates/layout.html:128 bookwyrm/templates/layout.html:129
|
||||
#: bookwyrm/templates/notifications.html:6
|
||||
#: bookwyrm/templates/notifications.html:11
|
||||
msgid "Notifications"
|
||||
msgstr "通知"
|
||||
|
||||
#: bookwyrm/templates/layout.html:154 bookwyrm/templates/layout.html:158
|
||||
#: bookwyrm/templates/layout.html:151 bookwyrm/templates/layout.html:155
|
||||
#: bookwyrm/templates/login.html:17
|
||||
#: bookwyrm/templates/snippets/register_form.html:4
|
||||
msgid "Username:"
|
||||
msgstr "用户名:"
|
||||
|
||||
#: bookwyrm/templates/layout.html:159
|
||||
#: bookwyrm/templates/layout.html:156
|
||||
msgid "password"
|
||||
msgstr "密码"
|
||||
|
||||
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:36
|
||||
#: bookwyrm/templates/layout.html:157 bookwyrm/templates/login.html:36
|
||||
msgid "Forgot your password?"
|
||||
msgstr "忘记了密码?"
|
||||
|
||||
#: bookwyrm/templates/layout.html:163 bookwyrm/templates/login.html:10
|
||||
#: bookwyrm/templates/layout.html:160 bookwyrm/templates/login.html:10
|
||||
#: bookwyrm/templates/login.html:33
|
||||
msgid "Log in"
|
||||
msgstr "登录"
|
||||
|
||||
#: bookwyrm/templates/layout.html:171
|
||||
#: bookwyrm/templates/layout.html:168
|
||||
msgid "Join"
|
||||
msgstr "加入"
|
||||
|
||||
#: bookwyrm/templates/layout.html:206
|
||||
msgid "About this server"
|
||||
#, fuzzy
|
||||
#| msgid "About this server"
|
||||
msgid "About this instance"
|
||||
msgstr "关于本服务器"
|
||||
|
||||
#: bookwyrm/templates/layout.html:210
|
||||
|
@ -1361,7 +1368,7 @@ msgid "Discard"
|
|||
msgstr "削除"
|
||||
|
||||
#: bookwyrm/templates/lists/edit_form.html:5
|
||||
#: bookwyrm/templates/lists/list_layout.html:17
|
||||
#: bookwyrm/templates/lists/list_layout.html:16
|
||||
msgid "Edit List"
|
||||
msgstr "编辑列表"
|
||||
|
||||
|
@ -1410,62 +1417,63 @@ msgstr "任何人都可以向此列表中添加书目"
|
|||
msgid "This list is currently empty"
|
||||
msgstr "此列表当前是空的"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:65
|
||||
#: bookwyrm/templates/lists/list.html:66
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 添加"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:77
|
||||
#, fuzzy
|
||||
#| msgid "Sent"
|
||||
msgid "Set"
|
||||
msgstr "已发送"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:80
|
||||
#: bookwyrm/templates/lists/list.html:74
|
||||
#, fuzzy
|
||||
#| msgid "List curation:"
|
||||
msgid "List position"
|
||||
msgstr "列表策展:"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:86
|
||||
#: bookwyrm/templates/lists/list.html:81
|
||||
#, fuzzy
|
||||
#| msgid "Sent"
|
||||
msgid "Set"
|
||||
msgstr "已发送"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:89
|
||||
#: bookwyrm/templates/snippets/shelf_selector.html:26
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:99 bookwyrm/templates/lists/list.html:111
|
||||
#: bookwyrm/templates/lists/list.html:103
|
||||
#: bookwyrm/templates/lists/list.html:120
|
||||
#, fuzzy
|
||||
#| msgid "Your Lists"
|
||||
msgid "Sort List"
|
||||
msgstr "你的列表"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:105
|
||||
#: bookwyrm/templates/lists/list.html:113
|
||||
#, fuzzy
|
||||
#| msgid "Directory"
|
||||
msgid "Direction"
|
||||
msgstr "目录"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:127
|
||||
msgid "Add Books"
|
||||
msgstr "添加书目"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:129
|
||||
msgid "Suggest Books"
|
||||
msgstr "推荐书目"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:125
|
||||
#: bookwyrm/templates/lists/list.html:140
|
||||
msgid "search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:131
|
||||
#: bookwyrm/templates/lists/list.html:146
|
||||
msgid "Clear search"
|
||||
msgstr "清除搜索"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:136
|
||||
#: bookwyrm/templates/lists/list.html:151
|
||||
#, python-format
|
||||
msgid "No books found matching the query \"%(query)s\""
|
||||
msgstr "没有符合 \"%(query)s\" 请求的书目"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:164
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Suggest"
|
||||
msgstr "推荐"
|
||||
|
||||
|
@ -1558,8 +1566,8 @@ msgstr "已解决"
|
|||
|
||||
#: bookwyrm/templates/moderation/reports.html:6
|
||||
#, python-format
|
||||
msgid "Reports: %(server_name)s"
|
||||
msgstr "报告: %(server_name)s"
|
||||
msgid "Reports: %(instance_name)s"
|
||||
msgstr "报告: %(instance_name)s"
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:8
|
||||
#: bookwyrm/templates/moderation/reports.html:17
|
||||
|
@ -1569,8 +1577,8 @@ msgstr "报告"
|
|||
|
||||
#: bookwyrm/templates/moderation/reports.html:14
|
||||
#, python-format
|
||||
msgid "Reports: <small>%(server_name)s</small>"
|
||||
msgstr "报告: <small>%(server_name)s</small>"
|
||||
msgid "Reports: <small>%(instance_name)s</small>"
|
||||
msgstr "报告: <small>%(instance_name)s</small>"
|
||||
|
||||
#: bookwyrm/templates/moderation/reports.html:28
|
||||
msgid "Resolved"
|
||||
|
@ -1771,6 +1779,26 @@ msgstr "个人资料"
|
|||
msgid "Relationships"
|
||||
msgstr "关系"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:5
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:35
|
||||
msgid "rated"
|
||||
msgstr "评价了"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:7
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:37
|
||||
msgid "reviewed"
|
||||
msgstr "写了书评给"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:9
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:39
|
||||
msgid "commented on"
|
||||
msgstr "评论了"
|
||||
|
||||
#: bookwyrm/templates/rss/title.html:11
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:41
|
||||
msgid "quoted"
|
||||
msgstr "引用了"
|
||||
|
||||
#: bookwyrm/templates/search/book.html:64
|
||||
#, fuzzy
|
||||
#| msgid "Show results from other catalogues"
|
||||
|
@ -1828,7 +1856,9 @@ msgstr "管理用户"
|
|||
#: bookwyrm/templates/settings/admin_layout.html:39
|
||||
#: bookwyrm/templates/settings/federation.html:3
|
||||
#: bookwyrm/templates/settings/federation.html:5
|
||||
msgid "Federated Servers"
|
||||
#, fuzzy
|
||||
#| msgid "Federated Servers"
|
||||
msgid "Federated Instances"
|
||||
msgstr "互联的服务器"
|
||||
|
||||
#: bookwyrm/templates/settings/admin_layout.html:44
|
||||
|
@ -1882,6 +1912,7 @@ msgid "Back to list"
|
|||
msgstr "回到服务器列表"
|
||||
|
||||
#: bookwyrm/templates/settings/announcement.html:11
|
||||
#: bookwyrm/templates/settings/announcement_form.html:6
|
||||
#, fuzzy
|
||||
#| msgid "Announcements"
|
||||
msgid "Edit Announcement"
|
||||
|
@ -1923,7 +1954,7 @@ msgstr "出生日期:"
|
|||
msgid "Active:"
|
||||
msgstr "活跃"
|
||||
|
||||
#: bookwyrm/templates/settings/announcement_form.html:5
|
||||
#: bookwyrm/templates/settings/announcement_form.html:8
|
||||
#: bookwyrm/templates/settings/announcements.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Announcements"
|
||||
|
@ -1982,13 +2013,15 @@ msgstr "停用"
|
|||
#: bookwyrm/templates/settings/server_blocklist.html:3
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:20
|
||||
#, fuzzy
|
||||
#| msgid "Add cover"
|
||||
msgid "Add server"
|
||||
msgstr "添加封面"
|
||||
#| msgid "Instance Name:"
|
||||
msgid "Add instance"
|
||||
msgstr "实例名称"
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:7
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:7
|
||||
msgid "Back to server list"
|
||||
#, fuzzy
|
||||
#| msgid "Back to server list"
|
||||
msgid "Back to instance list"
|
||||
msgstr "回到服务器列表"
|
||||
|
||||
#: bookwyrm/templates/settings/edit_server.html:16
|
||||
|
@ -2103,8 +2136,10 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/settings/federation.html:19
|
||||
#: bookwyrm/templates/user_admin/server_filter.html:5
|
||||
msgid "Server name"
|
||||
msgstr "服务器名称"
|
||||
#, fuzzy
|
||||
#| msgid "Instance Name:"
|
||||
msgid "Instance name"
|
||||
msgstr "实例名称"
|
||||
|
||||
#: bookwyrm/templates/settings/federation.html:23
|
||||
msgid "Date federated"
|
||||
|
@ -2231,7 +2266,7 @@ msgid "Import Blocklist"
|
|||
msgstr "导入书目"
|
||||
|
||||
#: bookwyrm/templates/settings/server_blocklist.html:26
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:5
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:7
|
||||
msgid "Success!"
|
||||
msgstr "成功!"
|
||||
|
||||
|
@ -2320,15 +2355,15 @@ msgstr "没有封面"
|
|||
msgid "<a href=\"%(path)s\">%(title)s</a> by "
|
||||
msgstr "<a href=\"%(path)s\">%(title)s</a> 来自"
|
||||
|
||||
#: bookwyrm/templates/snippets/boost_button.html:9
|
||||
#: bookwyrm/templates/snippets/boost_button.html:10
|
||||
#: bookwyrm/templates/snippets/boost_button.html:20
|
||||
#: bookwyrm/templates/snippets/boost_button.html:21
|
||||
#, fuzzy
|
||||
#| msgid "boosted"
|
||||
msgid "Boost"
|
||||
msgstr "转发了"
|
||||
|
||||
#: bookwyrm/templates/snippets/boost_button.html:16
|
||||
#: bookwyrm/templates/snippets/boost_button.html:17
|
||||
#: bookwyrm/templates/snippets/boost_button.html:33
|
||||
#: bookwyrm/templates/snippets/boost_button.html:34
|
||||
#, fuzzy
|
||||
#| msgid "Un-boost status"
|
||||
msgid "Un-boost"
|
||||
|
@ -2422,13 +2457,13 @@ msgstr "删除这些阅读日期吗?"
|
|||
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
|
||||
msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。"
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:9
|
||||
#: bookwyrm/templates/snippets/fav_button.html:11
|
||||
#: bookwyrm/templates/snippets/fav_button.html:10
|
||||
#: bookwyrm/templates/snippets/fav_button.html:12
|
||||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:17
|
||||
#: bookwyrm/templates/snippets/fav_button.html:18
|
||||
#: bookwyrm/templates/snippets/fav_button.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Un-like status"
|
||||
msgid "Un-like"
|
||||
|
@ -2471,6 +2506,13 @@ msgstr "接受"
|
|||
msgid "No rating"
|
||||
msgstr "没有评价"
|
||||
|
||||
#: bookwyrm/templates/snippets/form_rate_stars.html:44
|
||||
#: bookwyrm/templates/snippets/stars.html:7
|
||||
#, python-format
|
||||
msgid "%(rating)s star"
|
||||
msgid_plural "%(rating)s stars"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/snippets/generated_status/goal.html:1
|
||||
#, python-format
|
||||
msgid "set a goal to read %(counter)s book in %(year)s"
|
||||
|
@ -2522,17 +2564,17 @@ msgstr "发布到消息流中"
|
|||
msgid "Set goal"
|
||||
msgstr "设置目标"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:7
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:9
|
||||
#, python-format
|
||||
msgid "%(percent)s%% complete!"
|
||||
msgstr "完成了 %(percent)s%% !"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:10
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#, python-format
|
||||
msgid "You've read <a href=\"%(path)s\">%(read_count)s of %(goal_count)s books</a>."
|
||||
msgstr "你已经阅读了 <a href=\"%(path)s\">%(goal_count)s 本书中的 %(read_count)s 本</a>。"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:14
|
||||
#, python-format
|
||||
msgid "%(username)s has read <a href=\"%(path)s\">%(read_count)s of %(goal_count)s books</a>."
|
||||
msgstr "%(username)s 已经阅读了 <a href=\"%(path)s\">%(goal_count)s 本书中的 %(read_count)s 本</a>。"
|
||||
|
@ -2641,26 +2683,6 @@ msgstr "注册"
|
|||
msgid "Report"
|
||||
msgstr "报告"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:5
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:35
|
||||
msgid "rated"
|
||||
msgstr "评价了"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:7
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:37
|
||||
msgid "reviewed"
|
||||
msgstr "写了书评给"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:9
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:39
|
||||
msgid "commented on"
|
||||
msgstr "评论了"
|
||||
|
||||
#: bookwyrm/templates/snippets/rss_title.html:11
|
||||
#: bookwyrm/templates/snippets/status/status_header.html:41
|
||||
msgid "quoted"
|
||||
msgstr "引用了"
|
||||
|
||||
#: bookwyrm/templates/snippets/search_result_text.html:36
|
||||
msgid "Import book"
|
||||
msgstr "导入书目"
|
||||
|
@ -2832,7 +2854,7 @@ msgstr "编辑书架"
|
|||
msgid "Update shelf"
|
||||
msgstr "更新书架"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:51
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56
|
||||
msgid "All books"
|
||||
msgstr "所有书目"
|
||||
|
||||
|
@ -2840,30 +2862,30 @@ msgstr "所有书目"
|
|||
msgid "Create shelf"
|
||||
msgstr "创建书架"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:61
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:62
|
||||
msgid "Edit shelf"
|
||||
msgstr "编辑书架"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:80
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:104
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:81
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:105
|
||||
msgid "Shelved"
|
||||
msgstr "上架时间"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:81
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:108
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:82
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:109
|
||||
msgid "Started"
|
||||
msgstr "开始时间"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:82
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:111
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:83
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:112
|
||||
msgid "Finished"
|
||||
msgstr "完成时间"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:137
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:138
|
||||
msgid "This shelf is empty."
|
||||
msgstr "此书架是空的。"
|
||||
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:143
|
||||
#: bookwyrm/templates/user/shelf/shelf.html:144
|
||||
msgid "Delete shelf"
|
||||
msgstr "删除书架"
|
||||
|
||||
|
@ -2924,8 +2946,8 @@ msgstr "回到报告"
|
|||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:7
|
||||
#, python-format
|
||||
msgid "Users: <small>%(server_name)s</small>"
|
||||
msgstr "用户: <small>%(server_name)s</small>"
|
||||
msgid "Users: <small>%(instance_name)s</small>"
|
||||
msgstr "用户: <small>%(instance_name)s</small>"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:22
|
||||
#: bookwyrm/templates/user_admin/username_filter.html:5
|
||||
|
@ -2941,7 +2963,7 @@ msgid "Last Active"
|
|||
msgstr "最后或缺"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:38
|
||||
msgid "Remote server"
|
||||
msgid "Remote instance"
|
||||
msgstr "移除服务器"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user_admin.html:47
|
||||
|
@ -2989,6 +3011,10 @@ msgstr ""
|
|||
msgid "Access level:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:3
|
||||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/views/import_data.py:67
|
||||
#, fuzzy
|
||||
#| msgid "Email address:"
|
||||
|
@ -3004,6 +3030,23 @@ msgstr "没有找到使用该邮箱的用户。"
|
|||
msgid "A password reset link sent to %s"
|
||||
msgstr "密码重置连接已发送给 %s"
|
||||
|
||||
#~ msgid "Reports: <small>%(server_name)s</small>"
|
||||
#~ msgstr "报告: <small>%(server_name)s</small>"
|
||||
|
||||
#~ msgid "Federated Servers"
|
||||
#~ msgstr "互联的服务器"
|
||||
|
||||
#~ msgid "Server name"
|
||||
#~ msgstr "服务器名称"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Add cover"
|
||||
#~ msgid "Add server"
|
||||
#~ msgstr "添加封面"
|
||||
|
||||
#~ msgid "Remote server"
|
||||
#~ msgstr "移除服务器"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "BookWyrm users"
|
||||
#~ msgid "BookWyrm\\"
|
||||
|
@ -3054,12 +3097,12 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "Enter a number."
|
||||
#~ msgstr "系列编号:"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "A user with this email already exists."
|
||||
#~ msgid "%(model_name)s with this %(field_labels)s already exists."
|
||||
#~ msgstr "已经存在使用该邮箱的用户。"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid remote_id"
|
||||
#~ msgid "Value %(value)r is not a valid choice."
|
||||
#~ msgstr "%(value)s 不是有效的 remote_id"
|
||||
|
@ -3069,7 +3112,7 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "This field cannot be null."
|
||||
#~ msgstr "此书架是空的。"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "A user with this email already exists."
|
||||
#~ msgid "%(model_name)s with this %(field_label)s already exists."
|
||||
#~ msgstr "已经存在使用该邮箱的用户。"
|
||||
|
@ -3119,7 +3162,7 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "Positive small integer"
|
||||
#~ msgstr "无有效的邀请"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(value)s” is not a valid UUID."
|
||||
#~ msgstr "%(value)s 不是有效的用户名"
|
||||
|
@ -3134,12 +3177,12 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "One-to-one relationship"
|
||||
#~ msgstr "关系"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "Relationships"
|
||||
#~ msgid "%(from)s-%(to)s relationship"
|
||||
#~ msgstr "关系"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "Relationships"
|
||||
#~ msgid "%(from)s-%(to)s relationships"
|
||||
#~ msgstr "关系"
|
||||
|
@ -3199,7 +3242,7 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "Order"
|
||||
#~ msgstr "排列顺序"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "%(value)s is not a valid username"
|
||||
#~ msgid "“%(pk)s” is not a valid value."
|
||||
#~ msgstr "%(value)s 不是有效的用户名"
|
||||
|
@ -3263,7 +3306,7 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "This is not a valid IPv6 address."
|
||||
#~ msgstr "邮箱地址:"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#, fuzzy
|
||||
#~| msgid "No books found matching the query \"%(query)s\""
|
||||
#~ msgid "No %(verbose_name)s found matching the query"
|
||||
#~ msgstr "没有符合 \"%(query)s\" 请求的书目"
|
||||
|
@ -3282,11 +3325,9 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "Matching Users"
|
||||
#~ msgstr "匹配的用户"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Set a reading goal for %(year)s"
|
||||
#~ msgstr "设定 %(year)s 的阅读目标"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "by %(author)s"
|
||||
#~ msgstr "由 %(author)s 所著"
|
||||
|
||||
|
@ -3299,15 +3340,12 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "Date"
|
||||
#~ msgstr "日期"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">review</a>"
|
||||
#~ msgstr "回复了 <a href=\"%(user_path)s\">%(username)s</a> 的 <a href=\"%(status_path)s\">书评</a>"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">comment</a>"
|
||||
#~ msgstr "恢复了 <a href=\"%(user_path)s\">%(username)s</a> 的 <a href=\"%(status_path)s\">评论</a>"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">quote</a>"
|
||||
#~ msgstr "回复了 <a href=\"%(user_path)s\">%(username)s</a> 的 <a href=\"%(status_path)s\">引用</a>"
|
||||
|
||||
|
@ -3317,7 +3355,6 @@ msgstr "密码重置连接已发送给 %s"
|
|||
#~ msgid "Add tag"
|
||||
#~ msgstr "添加标签"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Books tagged \"%(tag.name)s\""
|
||||
#~ msgstr "标有 \"%(tag.name)s\" 标签的书"
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
include /etc/nginx/conf.d/server_config;
|
||||
|
||||
upstream web {
|
||||
server web:8000;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
include /etc/nginx/conf.d/server_config;
|
||||
|
||||
upstream web {
|
||||
server web:8000;
|
||||
}
|
||||
|
|
1
nginx/server_config
Normal file
1
nginx/server_config
Normal file
|
@ -0,0 +1 @@
|
|||
client_max_body_size 10m;
|
|
@ -1,5 +1,5 @@
|
|||
celery==4.4.2
|
||||
Django==3.2.0
|
||||
Django==3.2.1
|
||||
django-model-utils==4.0.0
|
||||
environs==7.2.0
|
||||
flower==0.9.4
|
||||
|
|
Loading…
Reference in a new issue