forked from mirrors/bookwyrm
Merge branch 'main' into production
This commit is contained in:
commit
dd16ccd093
65 changed files with 7529 additions and 2146 deletions
|
@ -8,6 +8,8 @@ USE_HTTPS=true
|
||||||
DOMAIN=your.domain.here
|
DOMAIN=your.domain.here
|
||||||
EMAIL=your@email.here
|
EMAIL=your@email.here
|
||||||
|
|
||||||
|
# Instance defualt language (see options at bookwyrm/settings.py "LANGUAGES"
|
||||||
|
LANGUAGE_CODE="en-us"
|
||||||
# Used for deciding which editions to prefer
|
# Used for deciding which editions to prefer
|
||||||
DEFAULT_LANGUAGE="English"
|
DEFAULT_LANGUAGE="English"
|
||||||
|
|
||||||
|
|
|
@ -444,6 +444,12 @@ class ListForm(CustomForm):
|
||||||
fields = ["user", "name", "description", "curation", "privacy", "group"]
|
fields = ["user", "name", "description", "curation", "privacy", "group"]
|
||||||
|
|
||||||
|
|
||||||
|
class ListItemForm(CustomForm):
|
||||||
|
class Meta:
|
||||||
|
model = models.ListItem
|
||||||
|
fields = ["user", "book", "book_list", "notes"]
|
||||||
|
|
||||||
|
|
||||||
class GroupForm(CustomForm):
|
class GroupForm(CustomForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Group
|
model = models.Group
|
||||||
|
|
|
@ -19,9 +19,7 @@ def init_permissions():
|
||||||
{
|
{
|
||||||
"codename": "edit_instance_settings",
|
"codename": "edit_instance_settings",
|
||||||
"name": "change the instance info",
|
"name": "change the instance info",
|
||||||
"groups": [
|
"groups": ["admin"],
|
||||||
"admin",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "set_user_group",
|
"codename": "set_user_group",
|
||||||
|
@ -55,7 +53,7 @@ def init_permissions():
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
content_type = models.ContentType.objects.get_for_model(User)
|
content_type = ContentType.objects.get_for_model(models.User)
|
||||||
for permission in permissions:
|
for permission in permissions:
|
||||||
permission_obj = Permission.objects.create(
|
permission_obj = Permission.objects.create(
|
||||||
codename=permission["codename"],
|
codename=permission["codename"],
|
||||||
|
@ -66,15 +64,12 @@ def init_permissions():
|
||||||
for group_name in permission["groups"]:
|
for group_name in permission["groups"]:
|
||||||
Group.objects.get(name=group_name).permissions.add(permission_obj)
|
Group.objects.get(name=group_name).permissions.add(permission_obj)
|
||||||
|
|
||||||
# while the groups and permissions shouldn't be changed because the code
|
|
||||||
# depends on them, what permissions go with what groups should be editable
|
|
||||||
|
|
||||||
|
|
||||||
def init_connectors():
|
def init_connectors():
|
||||||
"""access book data sources"""
|
"""access book data sources"""
|
||||||
models.Connector.objects.create(
|
models.Connector.objects.create(
|
||||||
identifier="bookwyrm.social",
|
identifier="bookwyrm.social",
|
||||||
name="BookWyrm dot Social",
|
name="Bookwyrm.social",
|
||||||
connector_file="bookwyrm_connector",
|
connector_file="bookwyrm_connector",
|
||||||
base_url="https://bookwyrm.social",
|
base_url="https://bookwyrm.social",
|
||||||
books_url="https://bookwyrm.social/book",
|
books_url="https://bookwyrm.social/book",
|
||||||
|
@ -84,6 +79,7 @@ def init_connectors():
|
||||||
priority=2,
|
priority=2,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# pylint: disable=line-too-long
|
||||||
models.Connector.objects.create(
|
models.Connector.objects.create(
|
||||||
identifier="inventaire.io",
|
identifier="inventaire.io",
|
||||||
name="Inventaire",
|
name="Inventaire",
|
||||||
|
@ -127,7 +123,7 @@ def init_settings():
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def init_link_domains(*_):
|
def init_link_domains():
|
||||||
"""safe book links"""
|
"""safe book links"""
|
||||||
domains = [
|
domains = [
|
||||||
("standardebooks.org", "Standard EBooks"),
|
("standardebooks.org", "Standard EBooks"),
|
||||||
|
@ -144,10 +140,15 @@ def init_link_domains(*_):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=no-self-use
|
||||||
|
# pylint: disable=unused-argument
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
|
"""command-line options"""
|
||||||
|
|
||||||
help = "Initializes the database with starter data"
|
help = "Initializes the database with starter data"
|
||||||
|
|
||||||
def add_arguments(self, parser):
|
def add_arguments(self, parser):
|
||||||
|
"""specify which function to run"""
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--limit",
|
"--limit",
|
||||||
default=None,
|
default=None,
|
||||||
|
@ -155,6 +156,7 @@ class Command(BaseCommand):
|
||||||
)
|
)
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
|
"""execute init"""
|
||||||
limit = options.get("limit")
|
limit = options.get("limit")
|
||||||
tables = [
|
tables = [
|
||||||
"group",
|
"group",
|
||||||
|
@ -164,7 +166,7 @@ class Command(BaseCommand):
|
||||||
"settings",
|
"settings",
|
||||||
"linkdomain",
|
"linkdomain",
|
||||||
]
|
]
|
||||||
if limit not in tables:
|
if limit and limit not in tables:
|
||||||
raise Exception("Invalid table limit:", limit)
|
raise Exception("Invalid table limit:", limit)
|
||||||
|
|
||||||
if not limit or limit == "group":
|
if not limit or limit == "group":
|
||||||
|
|
21
bookwyrm/migrations/0130_alter_listitem_notes.py
Normal file
21
bookwyrm/migrations/0130_alter_listitem_notes.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Generated by Django 3.2.10 on 2022-01-24 20:01
|
||||||
|
|
||||||
|
import bookwyrm.models.fields
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0129_auto_20220117_1716"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="listitem",
|
||||||
|
name="notes",
|
||||||
|
field=bookwyrm.models.fields.TextField(
|
||||||
|
blank=True, max_length=300, null=True
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
37
bookwyrm/migrations/0130_alter_user_preferred_language.py
Normal file
37
bookwyrm/migrations/0130_alter_user_preferred_language.py
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Generated by Django 3.2.10 on 2022-01-24 17:32
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0129_auto_20220117_1716"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="user",
|
||||||
|
name="preferred_language",
|
||||||
|
field=models.CharField(
|
||||||
|
blank=True,
|
||||||
|
choices=[
|
||||||
|
("en-us", "English"),
|
||||||
|
("de-de", "Deutsch (German)"),
|
||||||
|
("es-es", "Español (Spanish)"),
|
||||||
|
("gl-es", "Galego (Galician)"),
|
||||||
|
("it-it", "Italiano (Italian)"),
|
||||||
|
("fr-fr", "Français (French)"),
|
||||||
|
("lt-lt", "Lietuvių (Lithuanian)"),
|
||||||
|
("no-no", "Norsk (Norwegian)"),
|
||||||
|
("pt-br", "Português do Brasil (Brazilian Portuguese)"),
|
||||||
|
("pt-pt", "Português Europeu (European Portuguese)"),
|
||||||
|
("sv-se", "Swedish (Svenska)"),
|
||||||
|
("zh-hans", "简体中文 (Simplified Chinese)"),
|
||||||
|
("zh-hant", "繁體中文 (Traditional Chinese)"),
|
||||||
|
],
|
||||||
|
max_length=255,
|
||||||
|
null=True,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
13
bookwyrm/migrations/0131_merge_20220125_1644.py
Normal file
13
bookwyrm/migrations/0131_merge_20220125_1644.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Generated by Django 3.2.10 on 2022-01-25 16:44
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0130_alter_listitem_notes"),
|
||||||
|
("bookwyrm", "0130_alter_user_preferred_language"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = []
|
|
@ -2,6 +2,7 @@
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -74,6 +75,22 @@ class List(OrderedCollectionMixin, BookWyrmModel):
|
||||||
return
|
return
|
||||||
super().raise_not_editable(viewer)
|
super().raise_not_editable(viewer)
|
||||||
|
|
||||||
|
def raise_not_submittable(self, viewer):
|
||||||
|
"""can the user submit a book to the list?"""
|
||||||
|
# if you can't view the list you can't submit to it
|
||||||
|
self.raise_visible_to_user(viewer)
|
||||||
|
|
||||||
|
# all good if you're the owner or the list is open
|
||||||
|
if self.user == viewer or self.curation in ["open", "curated"]:
|
||||||
|
return
|
||||||
|
if self.curation == "group":
|
||||||
|
is_group_member = GroupMember.objects.filter(
|
||||||
|
group=self.group, user=viewer
|
||||||
|
).exists()
|
||||||
|
if is_group_member:
|
||||||
|
return
|
||||||
|
raise PermissionDenied()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def followers_filter(cls, queryset, viewer):
|
def followers_filter(cls, queryset, viewer):
|
||||||
"""Override filter for "followers" privacy level to allow non-following
|
"""Override filter for "followers" privacy level to allow non-following
|
||||||
|
@ -125,7 +142,7 @@ class ListItem(CollectionItemMixin, BookWyrmModel):
|
||||||
user = fields.ForeignKey(
|
user = fields.ForeignKey(
|
||||||
"User", on_delete=models.PROTECT, activitypub_field="actor"
|
"User", on_delete=models.PROTECT, activitypub_field="actor"
|
||||||
)
|
)
|
||||||
notes = fields.TextField(blank=True, null=True)
|
notes = fields.TextField(blank=True, null=True, max_length=300)
|
||||||
approved = models.BooleanField(default=True)
|
approved = models.BooleanField(default=True)
|
||||||
order = fields.IntegerField()
|
order = fields.IntegerField()
|
||||||
endorsement = models.ManyToManyField("User", related_name="endorsers")
|
endorsement = models.ManyToManyField("User", related_name="endorsers")
|
||||||
|
|
|
@ -14,7 +14,7 @@ VERSION = "0.2.0"
|
||||||
PAGE_LENGTH = env("PAGE_LENGTH", 15)
|
PAGE_LENGTH = env("PAGE_LENGTH", 15)
|
||||||
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
|
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
|
||||||
|
|
||||||
JS_CACHE = "76c5ff1f"
|
JS_CACHE = "7b5303af"
|
||||||
|
|
||||||
# email
|
# email
|
||||||
EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend")
|
EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend")
|
||||||
|
@ -243,7 +243,7 @@ AUTH_PASSWORD_VALIDATORS = [
|
||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/3.2/topics/i18n/
|
# https://docs.djangoproject.com/en/3.2/topics/i18n/
|
||||||
|
|
||||||
LANGUAGE_CODE = "en-us"
|
LANGUAGE_CODE = env("LANGUAGE_CODE", "en-us")
|
||||||
LANGUAGES = [
|
LANGUAGES = [
|
||||||
("en-us", _("English")),
|
("en-us", _("English")),
|
||||||
("de-de", _("Deutsch (German)")),
|
("de-de", _("Deutsch (German)")),
|
||||||
|
@ -255,6 +255,7 @@ LANGUAGES = [
|
||||||
("no-no", _("Norsk (Norwegian)")),
|
("no-no", _("Norsk (Norwegian)")),
|
||||||
("pt-br", _("Português do Brasil (Brazilian Portuguese)")),
|
("pt-br", _("Português do Brasil (Brazilian Portuguese)")),
|
||||||
("pt-pt", _("Português Europeu (European Portuguese)")),
|
("pt-pt", _("Português Europeu (European Portuguese)")),
|
||||||
|
("sv-se", _("Swedish (Svenska)")),
|
||||||
("zh-hans", _("简体中文 (Simplified Chinese)")),
|
("zh-hans", _("简体中文 (Simplified Chinese)")),
|
||||||
("zh-hant", _("繁體中文 (Traditional Chinese)")),
|
("zh-hant", _("繁體中文 (Traditional Chinese)")),
|
||||||
]
|
]
|
||||||
|
|
|
@ -122,39 +122,13 @@ let BookWyrm = new (class {
|
||||||
*/
|
*/
|
||||||
updateCountElement(counter, data) {
|
updateCountElement(counter, data) {
|
||||||
let count = data.count;
|
let count = data.count;
|
||||||
const count_by_type = data.count_by_type;
|
|
||||||
|
if (count === undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const currentCount = counter.innerText;
|
const currentCount = counter.innerText;
|
||||||
const hasMentions = data.has_mentions;
|
const hasMentions = data.has_mentions;
|
||||||
const allowedStatusTypesEl = document.getElementById("unread-notifications-wrapper");
|
|
||||||
|
|
||||||
// If we're on the right counter element
|
|
||||||
if (counter.closest("[data-poll-wrapper]").contains(allowedStatusTypesEl)) {
|
|
||||||
const allowedStatusTypes = JSON.parse(allowedStatusTypesEl.textContent);
|
|
||||||
|
|
||||||
// For keys in common between allowedStatusTypes and count_by_type
|
|
||||||
// This concerns 'review', 'quotation', 'comment'
|
|
||||||
count = allowedStatusTypes.reduce(function (prev, currentKey) {
|
|
||||||
const currentValue = count_by_type[currentKey] | 0;
|
|
||||||
|
|
||||||
return prev + currentValue;
|
|
||||||
}, 0);
|
|
||||||
|
|
||||||
// Add all the "other" in count_by_type if 'everything' is allowed
|
|
||||||
if (allowedStatusTypes.includes("everything")) {
|
|
||||||
// Clone count_by_type with 0 for reviews/quotations/comments
|
|
||||||
const count_by_everything_else = Object.assign({}, count_by_type, {
|
|
||||||
review: 0,
|
|
||||||
quotation: 0,
|
|
||||||
comment: 0,
|
|
||||||
});
|
|
||||||
|
|
||||||
count = Object.keys(count_by_everything_else).reduce(function (prev, currentKey) {
|
|
||||||
const currentValue = count_by_everything_else[currentKey] | 0;
|
|
||||||
|
|
||||||
return prev + currentValue;
|
|
||||||
}, count);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count != currentCount) {
|
if (count != currentCount) {
|
||||||
this.addRemoveClass(counter.closest("[data-poll-wrapper]"), "is-hidden", count < 1);
|
this.addRemoveClass(counter.closest("[data-poll-wrapper]"), "is-hidden", count < 1);
|
||||||
|
@ -517,7 +491,7 @@ let BookWyrm = new (class {
|
||||||
|
|
||||||
duplicateInput(event) {
|
duplicateInput(event) {
|
||||||
const trigger = event.currentTarget;
|
const trigger = event.currentTarget;
|
||||||
const input_id = trigger.dataset["duplicate"];
|
const input_id = trigger.dataset.duplicate;
|
||||||
const orig = document.getElementById(input_id);
|
const orig = document.getElementById(input_id);
|
||||||
const parent = orig.parentNode;
|
const parent = orig.parentNode;
|
||||||
const new_count = parent.querySelectorAll("input").length + 1;
|
const new_count = parent.querySelectorAll("input").length + 1;
|
||||||
|
|
|
@ -24,9 +24,12 @@
|
||||||
|
|
||||||
{# announcements and system messages #}
|
{# announcements and system messages #}
|
||||||
{% if not activities.number > 1 %}
|
{% if not activities.number > 1 %}
|
||||||
<a href="{{ request.path }}" class="transition-y is-hidden notification is-primary is-block" data-poll-wrapper>
|
<a
|
||||||
{% blocktrans with tab_key=tab.key %}load <span data-poll="stream/{{ tab_key }}">0</span> unread status(es){% endblocktrans %}
|
href="{{ request.path }}"
|
||||||
{{ allowed_status_types|json_script:"unread-notifications-wrapper" }}
|
class="transition-y is-hidden notification is-primary is-block"
|
||||||
|
data-poll-wrapper
|
||||||
|
>
|
||||||
|
<span data-poll="stream/{{ tab.key }}"></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
{% if request.user.show_goal and not goal and tab.key == 'home' %}
|
{% if request.user.show_goal and not goal and tab.key == 'home' %}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<div class="modal is-active" role="dialog" aria-modal="true" aria-labelledby="get_started_header">
|
<div class="modal is-active" role="dialog" aria-modal="true" aria-labelledby="get_started_header">
|
||||||
<div class="modal-background"></div>
|
<div class="modal-background"></div>
|
||||||
<div class="modal-card is-fullwidth">
|
<div class="modal-card is-fullwidth">
|
||||||
<header class="modal-card-head">
|
<header class="modal-card-head navbar">
|
||||||
<img
|
<img
|
||||||
class="image logo mr-2"
|
class="image logo mr-2"
|
||||||
src="{% if site.logo_small %}{% get_media_prefix %}{{ site.logo_small }}{% else %}{% static "images/logo-small.png" %}{% endif %}"
|
src="{% if site.logo_small %}{% get_media_prefix %}{{ site.logo_small }}{% else %}{% static "images/logo-small.png" %}{% endif %}"
|
||||||
|
|
45
bookwyrm/templates/lists/add_item_modal.html
Normal file
45
bookwyrm/templates/lists/add_item_modal.html
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{% extends 'components/modal.html' %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load utilities %}
|
||||||
|
{% load group_tags %}
|
||||||
|
|
||||||
|
{% block modal-title %}
|
||||||
|
{% if list.curation == 'open' or request.user == list.user or list.group|is_member:request.user %}
|
||||||
|
{% blocktrans trimmed with title=book|book_title %}
|
||||||
|
Add "<em>{{ title }}</em>" to this list
|
||||||
|
{% endblocktrans %}
|
||||||
|
{% else %}
|
||||||
|
{% blocktrans trimmed with title=book|book_title %}
|
||||||
|
Suggest "<em>{{ title }}</em>" for this list
|
||||||
|
{% endblocktrans %}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block modal-form-open %}
|
||||||
|
<form
|
||||||
|
name="add-book-{{ book.id }}"
|
||||||
|
method="POST"
|
||||||
|
action="{% url 'list-add-book' %}{% if query %}?q={{ query }}{% endif %}"
|
||||||
|
>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block modal-body %}
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="hidden" name="book" value="{{ book.id }}">
|
||||||
|
<input type="hidden" name="book_list" value="{{ list.id }}">
|
||||||
|
<input type="hidden" name="user" value="{{ request.user.id }}">
|
||||||
|
{% include "lists/item_notes_field.html" with form_id=id show_label=True %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block modal-footer %}
|
||||||
|
<button type="submit" class="button is-link">
|
||||||
|
{% if list.curation == 'open' or request.user == list.user or list.group|is_member:request.user %}
|
||||||
|
{% trans "Add" %}
|
||||||
|
{% else %}
|
||||||
|
{% trans "Suggest" %}
|
||||||
|
{% endif %}
|
||||||
|
</button>
|
||||||
|
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block modal-form-close %}</form>{% endblock %}
|
|
@ -1,5 +1,6 @@
|
||||||
{% extends 'lists/layout.html' %}
|
{% extends 'lists/layout.html' %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% load utilities %}
|
||||||
|
|
||||||
{% block breadcrumbs %}
|
{% block breadcrumbs %}
|
||||||
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||||
|
@ -38,6 +39,17 @@
|
||||||
|
|
||||||
<div class="column ml-3">
|
<div class="column ml-3">
|
||||||
{% include 'snippets/book_titleby.html' %}
|
{% include 'snippets/book_titleby.html' %}
|
||||||
|
{% if item.notes %}
|
||||||
|
<div>
|
||||||
|
{% url 'user-feed' item.user|username as user_path %}
|
||||||
|
{% blocktrans trimmed with username=item.user.display_name %}
|
||||||
|
<a href="{{ user_path }}">{{ username }}</a> says:
|
||||||
|
{% endblocktrans %}
|
||||||
|
<p class="notification">
|
||||||
|
{{ item.notes }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{% trans "Suggested by" %}
|
{% trans "Suggested by" %}
|
||||||
|
|
20
bookwyrm/templates/lists/edit_item_form.html
Normal file
20
bookwyrm/templates/lists/edit_item_form.html
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{% load i18n %}
|
||||||
|
<form
|
||||||
|
name="edit-notes-{{ item.id }}"
|
||||||
|
method="POST"
|
||||||
|
action="{% url 'list-item' list.id item.id %}"
|
||||||
|
>
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="hidden" name="book" value="{{ book.id }}">
|
||||||
|
<input type="hidden" name="book_list" value="{{ list.id }}">
|
||||||
|
<input type="hidden" name="user" value="{{ request.user.id }}">
|
||||||
|
{% include "lists/item_notes_field.html" with form_id=item.id %}
|
||||||
|
<div class="field">
|
||||||
|
<div class="control">
|
||||||
|
<button type="submit" class="button is-success">
|
||||||
|
{% trans "Save" %}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
21
bookwyrm/templates/lists/item_notes_field.html
Normal file
21
bookwyrm/templates/lists/item_notes_field.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{% load i18n %}
|
||||||
|
<div class="field">
|
||||||
|
<label
|
||||||
|
for="id_notes_{{ form_id }}"
|
||||||
|
class="{% if show_label %}label{% else %}is-sr-only{% endif %}"
|
||||||
|
>
|
||||||
|
{% trans "Notes:" %}
|
||||||
|
</label>
|
||||||
|
<div class="control">
|
||||||
|
<textarea
|
||||||
|
class="textarea"
|
||||||
|
id="id_notes_{{ form_id }}"
|
||||||
|
maxlength="300"
|
||||||
|
name="notes"
|
||||||
|
aria-describedby="notes_description_{{ form_id }}"
|
||||||
|
>{{ item.notes|default:'' }}</textarea>
|
||||||
|
</div>
|
||||||
|
<p class="help" id="notes_description_{{ form_id }}">
|
||||||
|
{% trans "An optional note that will be displayed with the book." %}
|
||||||
|
</p>
|
||||||
|
</div>
|
|
@ -1,9 +1,10 @@
|
||||||
{% extends 'lists/layout.html' %}
|
{% extends 'lists/layout.html' %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load rating_tags %}
|
{% load rating_tags %}
|
||||||
{% load book_display_tags %}
|
|
||||||
{% load group_tags %}
|
{% load group_tags %}
|
||||||
|
{% load book_display_tags %}
|
||||||
{% load markdown %}
|
{% load markdown %}
|
||||||
|
{% load utilities %}
|
||||||
|
|
||||||
{% block breadcrumbs %}
|
{% block breadcrumbs %}
|
||||||
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||||
|
@ -21,7 +22,7 @@
|
||||||
{% block panel %}
|
{% block panel %}
|
||||||
{% if request.user == list.user and pending_count %}
|
{% if request.user == list.user and pending_count %}
|
||||||
<div class="block content">
|
<div class="block content">
|
||||||
<p>
|
<p class="notification">
|
||||||
<a href="{% url 'list-curate' list.id %}">{{ pending_count }} book{{ pending_count|pluralize }} awaiting your approval</a>
|
<a href="{% url 'list-curate' list.id %}">{{ pending_count }} book{{ pending_count|pluralize }} awaiting your approval</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -46,21 +47,16 @@
|
||||||
{% for item in items %}
|
{% for item in items %}
|
||||||
<li class="block mb-5">
|
<li class="block mb-5">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
{% with book=item.book %}
|
<div class="card-content">
|
||||||
<div
|
{% with book=item.book %}
|
||||||
class="
|
<div class="columns is-mobile">
|
||||||
card-content p-0 mb-0
|
<div class="column is-narrow is-cover">
|
||||||
columns is-gapless
|
|
||||||
is-mobile
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div class="column is-3-mobile is-2-tablet is-cover align to-t">
|
|
||||||
<a href="{{ item.book.local_path }}" aria-hidden="true">
|
<a href="{{ item.book.local_path }}" aria-hidden="true">
|
||||||
{% include 'snippets/book_cover.html' with cover_class='is-w-auto is-h-m-tablet is-align-items-flex-start' size='medium' %}
|
{% include 'snippets/book_cover.html' with cover_class='is-w-auto is-h-m-tablet is-align-items-flex-start' size='medium' %}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="column mx-3 my-2">
|
<div class="column">
|
||||||
<p>
|
<p>
|
||||||
{% include 'snippets/book_titleby.html' %}
|
{% include 'snippets/book_titleby.html' %}
|
||||||
</p>
|
</p>
|
||||||
|
@ -73,8 +69,54 @@
|
||||||
{% include 'snippets/shelve_button/shelve_button.html' with book=book %}
|
{% include 'snippets/shelve_button/shelve_button.html' with book=book %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
|
||||||
|
{% if item.notes %}
|
||||||
|
<div class="media notification">
|
||||||
|
<figure class="media-left" aria-hidden="true">
|
||||||
|
{% include "snippets/avatar.html" with user=item.user %}
|
||||||
|
</figure>
|
||||||
|
<div class="media-content">
|
||||||
|
<div class="content">
|
||||||
|
<header>
|
||||||
|
{% url 'user-feed' user|username as user_path %}
|
||||||
|
{% blocktrans trimmed with username=user.display_name %}
|
||||||
|
<a href="{{ user_path }}">{{ username }}</a> says:
|
||||||
|
{% endblocktrans %}
|
||||||
|
</header>
|
||||||
|
<p>
|
||||||
|
{{ item.notes|to_markdown|safe }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
{% if item.user == request.user %}
|
||||||
|
<div>
|
||||||
|
<details class="details-panel box">
|
||||||
|
<summary>
|
||||||
|
<span role="heading" aria-level="3">
|
||||||
|
{% trans "Edit notes" %}
|
||||||
|
<span class="details-close icon icon-pencil" aria-hidden></span>
|
||||||
|
</span>
|
||||||
|
</summary>
|
||||||
|
{% include "lists/edit_item_form.html" %}
|
||||||
|
</details>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% elif item.user == request.user %}
|
||||||
|
<div>
|
||||||
|
<details class="details-panel box">
|
||||||
|
<summary>
|
||||||
|
<span role="heading" aria-level="3">
|
||||||
|
{% trans "Add notes" %}
|
||||||
|
<span class="details-close icon icon-plus" aria-hidden></span>
|
||||||
|
</span>
|
||||||
|
</summary>
|
||||||
|
{% include "lists/edit_item_form.html" %}
|
||||||
|
</details>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
<div class="card-footer is-stacked-mobile has-background-white-bis is-align-items-stretch">
|
<div class="card-footer is-stacked-mobile has-background-white-bis is-align-items-stretch">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<p>
|
<p>
|
||||||
|
@ -195,23 +237,19 @@
|
||||||
<div class="column ml-3">
|
<div class="column ml-3">
|
||||||
<p>{% include 'snippets/book_titleby.html' with book=book %}</p>
|
<p>{% include 'snippets/book_titleby.html' with book=book %}</p>
|
||||||
|
|
||||||
<form
|
{% join "add_item" list.id book.id as modal_id %}
|
||||||
class="mt-1"
|
<button
|
||||||
name="add-book-{{ book.id }}"
|
type="button"
|
||||||
method="post"
|
class="button is-small is-link"
|
||||||
action="{% url 'list-add-book' %}{% if query %}?q={{ query }}{% endif %}"
|
data-modal-open="{{ modal_id }}"
|
||||||
>
|
>
|
||||||
{% csrf_token %}
|
{% if list.curation == 'open' or request.user == list.user or list.group|is_member:request.user %}
|
||||||
<input type="hidden" name="book" value="{{ book.id }}">
|
{% trans "Add" %}
|
||||||
<input type="hidden" name="list" value="{{ list.id }}">
|
{% else %}
|
||||||
<button type="submit" class="button is-small is-link">
|
{% trans "Suggest" %}
|
||||||
{% if list.curation == 'open' or request.user == list.user or list.group|is_member:request.user %}
|
{% endif %}
|
||||||
{% trans "Add" %}
|
</button>
|
||||||
{% else %}
|
{% include "lists/add_item_modal.html" with id=modal_id %}
|
||||||
{% trans "Suggest" %}
|
|
||||||
{% endif %}
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -225,7 +263,7 @@
|
||||||
<textarea
|
<textarea
|
||||||
readonly
|
readonly
|
||||||
class="textarea is-small"
|
class="textarea is-small"
|
||||||
aria-labelledby="embed-label"
|
aria-describedby="embed-label"
|
||||||
data-copytext
|
data-copytext
|
||||||
data-copytext-label="{% trans 'Copy embed code' %}"
|
data-copytext-label="{% trans 'Copy embed code' %}"
|
||||||
data-copytext-success="{% trans 'Copied!' %}"
|
data-copytext-success="{% trans 'Copied!' %}"
|
||||||
|
|
|
@ -6,5 +6,5 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% include "snippets/report_modal.html" with user=user active=True static=True %}
|
{% include "snippets/report_modal.html" with user=user active=True static=True id="report-modal" %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,5 +1,78 @@
|
||||||
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
||||||
|
|
||||||
|
##### AhrefsBot #####
|
||||||
|
# see http://ahrefs.com/robot/
|
||||||
|
User-agent: AhrefsBot
|
||||||
|
Crawl-Delay: 10
|
||||||
|
#Disallow: /
|
||||||
|
|
||||||
|
|
||||||
|
##### SemrushBot #####
|
||||||
|
# see http://www.semrush.com/bot.html
|
||||||
|
User-agent: SemrushBot
|
||||||
|
Crawl-Delay: 10
|
||||||
|
#Disallow: /
|
||||||
|
|
||||||
|
# To block SemrushBot from crawling your site for different SEO and technical issues:
|
||||||
|
User-agent: SiteAuditBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SemrushBot from crawling your site for Backlink Audit tool:
|
||||||
|
User-agent: SemrushBot-BA
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SemrushBot from crawling your site for On Page SEO Checker tool and similar tools:
|
||||||
|
User-agent: SemrushBot-SI
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SemrushBot from checking URLs on your site for SWA tool:
|
||||||
|
User-agent: SemrushBot-SWA
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SemrushBot from crawling your site for Content Analyzer and Post Tracking tools:
|
||||||
|
User-agent: SemrushBot-CT
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SemrushBot from crawling your site for Brand Monitoring:
|
||||||
|
User-agent: SemrushBot-BM
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SplitSignalBot from crawling your site for SplitSignal tool:
|
||||||
|
User-agent: SplitSignalBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
#To block SemrushBot-COUB from crawling your site for Content Outline Builder tool:
|
||||||
|
User-agent: SemrushBot-COUB
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
|
||||||
|
##### DotBot #####
|
||||||
|
# see https://opensiteexplorer.org/dotbot
|
||||||
|
User-agent: dotbot
|
||||||
|
Crawl-delay: 10
|
||||||
|
#Disallow: /
|
||||||
|
|
||||||
|
|
||||||
|
##### BLEXBot #####
|
||||||
|
# see http://webmeup-crawler.com/
|
||||||
|
User-agent: BLEXBot
|
||||||
|
Crawl-delay: 10
|
||||||
|
#Disallow: /
|
||||||
|
|
||||||
|
|
||||||
|
##### MJ12bot #####
|
||||||
|
# see http://mj12bot.com/
|
||||||
|
User-Agent: MJ12bot
|
||||||
|
Crawl-Delay: 20
|
||||||
|
#Disallow: /
|
||||||
|
|
||||||
|
|
||||||
|
##### PetalBot #####
|
||||||
|
# see https://webmaster.petalsearch.com/site/petalbot
|
||||||
|
User-agent: PetalBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /static/js/
|
Disallow: /static/js/
|
||||||
Disallow: /static/css/
|
Disallow: /static/css/
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
<img class="avatar image {% if large %}is-96x96{% elif medium %}is-48x48{% else %}is-32x32{% endif %}" src="{% if user.avatar %}{% get_media_prefix %}{{ user.avatar }}{% else %}{% static "images/default_avi.jpg" %}{% endif %}" {% if ariaHide %}aria-hidden="true"{% endif %} alt="{{ user.alt_text }}">
|
<img
|
||||||
|
class="avatar image {% if large %}is-96x96{% elif medium %}is-48x48{% else %}is-32x32{% endif %}"
|
||||||
|
src="{% if user.avatar %}{% get_media_prefix %}{{ user.avatar }}{% else %}{% static "images/default_avi.jpg" %}{% endif %}"
|
||||||
|
{% if ariaHide %}aria-hidden="true"{% endif %}
|
||||||
|
alt="{{ user.alt_text }}"
|
||||||
|
>
|
||||||
|
|
113
bookwyrm/tests/management/test_initdb.py
Normal file
113
bookwyrm/tests/management/test_initdb.py
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
""" test populating user streams """
|
||||||
|
from django.contrib.auth.models import Group, Permission
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from bookwyrm import models
|
||||||
|
from bookwyrm.management.commands import initdb
|
||||||
|
|
||||||
|
|
||||||
|
class InitDB(TestCase):
|
||||||
|
"""gotta init that db"""
|
||||||
|
|
||||||
|
def test_init_groups(self):
|
||||||
|
"""Create groups"""
|
||||||
|
initdb.init_groups()
|
||||||
|
self.assertEqual(Group.objects.count(), 3)
|
||||||
|
self.assertTrue(Group.objects.filter(name="admin").exists())
|
||||||
|
self.assertTrue(Group.objects.filter(name="moderator").exists())
|
||||||
|
self.assertTrue(Group.objects.filter(name="editor").exists())
|
||||||
|
|
||||||
|
def test_init_permissions(self):
|
||||||
|
"""User permissions"""
|
||||||
|
initdb.init_groups()
|
||||||
|
initdb.init_permissions()
|
||||||
|
|
||||||
|
group = Group.objects.get(name="admin")
|
||||||
|
self.assertTrue(
|
||||||
|
group.permissions.filter(codename="edit_instance_settings").exists()
|
||||||
|
)
|
||||||
|
self.assertTrue(group.permissions.filter(codename="set_user_group").exists())
|
||||||
|
self.assertTrue(
|
||||||
|
group.permissions.filter(codename="control_federation").exists()
|
||||||
|
)
|
||||||
|
self.assertTrue(group.permissions.filter(codename="create_invites").exists())
|
||||||
|
self.assertTrue(group.permissions.filter(codename="moderate_user").exists())
|
||||||
|
self.assertTrue(group.permissions.filter(codename="moderate_post").exists())
|
||||||
|
self.assertTrue(group.permissions.filter(codename="edit_book").exists())
|
||||||
|
|
||||||
|
group = Group.objects.get(name="moderator")
|
||||||
|
self.assertTrue(group.permissions.filter(codename="set_user_group").exists())
|
||||||
|
self.assertTrue(
|
||||||
|
group.permissions.filter(codename="control_federation").exists()
|
||||||
|
)
|
||||||
|
self.assertTrue(group.permissions.filter(codename="create_invites").exists())
|
||||||
|
self.assertTrue(group.permissions.filter(codename="moderate_user").exists())
|
||||||
|
self.assertTrue(group.permissions.filter(codename="moderate_post").exists())
|
||||||
|
self.assertTrue(group.permissions.filter(codename="edit_book").exists())
|
||||||
|
|
||||||
|
group = Group.objects.get(name="editor")
|
||||||
|
self.assertTrue(group.permissions.filter(codename="edit_book").exists())
|
||||||
|
|
||||||
|
def test_init_connectors(self):
|
||||||
|
"""Outside data sources"""
|
||||||
|
initdb.init_connectors()
|
||||||
|
self.assertTrue(
|
||||||
|
models.Connector.objects.filter(identifier="bookwyrm.social").exists()
|
||||||
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
models.Connector.objects.filter(identifier="inventaire.io").exists()
|
||||||
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
models.Connector.objects.filter(identifier="openlibrary.org").exists()
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_init_settings(self):
|
||||||
|
"""Create the settings file"""
|
||||||
|
initdb.init_settings()
|
||||||
|
settings = models.SiteSettings.objects.get()
|
||||||
|
self.assertEqual(settings.name, "BookWyrm")
|
||||||
|
|
||||||
|
def test_init_link_domains(self):
|
||||||
|
"""Common trusted domains for links"""
|
||||||
|
initdb.init_link_domains()
|
||||||
|
self.assertTrue(
|
||||||
|
models.LinkDomain.objects.filter(
|
||||||
|
status="approved", domain="standardebooks.org"
|
||||||
|
).exists()
|
||||||
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
models.LinkDomain.objects.filter(
|
||||||
|
status="approved", domain="theanarchistlibrary.org"
|
||||||
|
).exists()
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_command_no_args(self):
|
||||||
|
"""command line calls"""
|
||||||
|
command = initdb.Command()
|
||||||
|
command.handle()
|
||||||
|
|
||||||
|
# everything should have been called
|
||||||
|
self.assertEqual(Group.objects.count(), 3)
|
||||||
|
self.assertTrue(Permission.objects.exists())
|
||||||
|
self.assertEqual(models.Connector.objects.count(), 3)
|
||||||
|
self.assertEqual(models.FederatedServer.objects.count(), 2)
|
||||||
|
self.assertEqual(models.SiteSettings.objects.count(), 1)
|
||||||
|
self.assertEqual(models.LinkDomain.objects.count(), 5)
|
||||||
|
|
||||||
|
def test_command_with_args(self):
|
||||||
|
"""command line calls"""
|
||||||
|
command = initdb.Command()
|
||||||
|
command.handle(limit="group")
|
||||||
|
|
||||||
|
# everything should have been called
|
||||||
|
self.assertEqual(Group.objects.count(), 3)
|
||||||
|
self.assertEqual(models.Connector.objects.count(), 0)
|
||||||
|
self.assertEqual(models.FederatedServer.objects.count(), 0)
|
||||||
|
self.assertEqual(models.SiteSettings.objects.count(), 0)
|
||||||
|
self.assertEqual(models.LinkDomain.objects.count(), 0)
|
||||||
|
|
||||||
|
def test_command_invalid_args(self):
|
||||||
|
"""command line calls"""
|
||||||
|
command = initdb.Command()
|
||||||
|
with self.assertRaises(Exception):
|
||||||
|
command.handle(limit="sdkfjhsdkjf")
|
|
@ -1,4 +1,5 @@
|
||||||
""" test for app action functionality """
|
""" test for app action functionality """
|
||||||
|
import os
|
||||||
import json
|
import json
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
@ -207,3 +208,6 @@ class FederationViews(TestCase):
|
||||||
created = models.FederatedServer.objects.get(server_name="server.name")
|
created = models.FederatedServer.objects.get(server_name="server.name")
|
||||||
self.assertEqual(created.status, "blocked")
|
self.assertEqual(created.status, "blocked")
|
||||||
self.assertEqual(created.notes, "https://explanation.url")
|
self.assertEqual(created.notes, "https://explanation.url")
|
||||||
|
|
||||||
|
# remove file.json after test
|
||||||
|
os.remove("file.json")
|
||||||
|
|
|
@ -4,7 +4,7 @@ from django.template.response import TemplateResponse
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.test.client import RequestFactory
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
from bookwyrm import models, views
|
from bookwyrm import forms, models, views
|
||||||
from bookwyrm.tests.validate_html import validate_html
|
from bookwyrm.tests.validate_html import validate_html
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,3 +39,35 @@ class IPBlocklistViews(TestCase):
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
validate_html(result.render())
|
validate_html(result.render())
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_blocklist_page_post(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.IPBlocklist.as_view()
|
||||||
|
form = forms.IPBlocklistForm()
|
||||||
|
form.data["address"] = "0.0.0.0"
|
||||||
|
|
||||||
|
request = self.factory.post("", form.data)
|
||||||
|
request.user = self.local_user
|
||||||
|
request.user.is_superuser = True
|
||||||
|
|
||||||
|
result = view(request)
|
||||||
|
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
block = models.IPBlocklist.objects.get()
|
||||||
|
self.assertEqual(block.address, "0.0.0.0")
|
||||||
|
self.assertTrue(block.is_active)
|
||||||
|
|
||||||
|
def test_blocklist_page_delete(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
block = models.IPBlocklist.objects.create(address="0.0.0.0")
|
||||||
|
view = views.IPBlocklist.as_view()
|
||||||
|
|
||||||
|
request = self.factory.post("")
|
||||||
|
request.user = self.local_user
|
||||||
|
request.user.is_superuser = True
|
||||||
|
|
||||||
|
view(request, block.id)
|
||||||
|
self.assertFalse(models.IPBlocklist.objects.exists())
|
||||||
|
|
|
@ -89,6 +89,14 @@ class ReportViews(TestCase):
|
||||||
self.assertEqual(comment.note, "hi")
|
self.assertEqual(comment.note, "hi")
|
||||||
self.assertEqual(comment.report, report)
|
self.assertEqual(comment.report, report)
|
||||||
|
|
||||||
|
def test_report_modal_view(self):
|
||||||
|
"""a user reports another user"""
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
result = views.Report.as_view()(request, self.local_user.id)
|
||||||
|
|
||||||
|
validate_html(result.render())
|
||||||
|
|
||||||
def test_make_report(self):
|
def test_make_report(self):
|
||||||
"""a user reports another user"""
|
"""a user reports another user"""
|
||||||
form = forms.ReportForm()
|
form = forms.ReportForm()
|
||||||
|
@ -103,6 +111,30 @@ class ReportViews(TestCase):
|
||||||
self.assertEqual(report.reporter, self.local_user)
|
self.assertEqual(report.reporter, self.local_user)
|
||||||
self.assertEqual(report.user, self.rat)
|
self.assertEqual(report.user, self.rat)
|
||||||
|
|
||||||
|
def test_report_link(self):
|
||||||
|
"""a user reports a link as spam"""
|
||||||
|
book = models.Edition.objects.create(title="hi")
|
||||||
|
link = models.FileLink.objects.create(
|
||||||
|
book=book, added_by=self.local_user, url="https://skdjfs.sdf"
|
||||||
|
)
|
||||||
|
domain = link.domain
|
||||||
|
domain.status = "approved"
|
||||||
|
domain.save()
|
||||||
|
|
||||||
|
form = forms.ReportForm()
|
||||||
|
form.data["reporter"] = self.local_user.id
|
||||||
|
form.data["user"] = self.rat.id
|
||||||
|
form.data["links"] = link.id
|
||||||
|
request = self.factory.post("", form.data)
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
views.Report.as_view()(request)
|
||||||
|
|
||||||
|
report = models.Report.objects.get()
|
||||||
|
domain.refresh_from_db()
|
||||||
|
self.assertEqual(report.links.first().id, link.id)
|
||||||
|
self.assertEqual(domain.status, "pending")
|
||||||
|
|
||||||
def test_resolve_report(self):
|
def test_resolve_report(self):
|
||||||
"""toggle report resolution status"""
|
"""toggle report resolution status"""
|
||||||
report = models.Report.objects.create(reporter=self.local_user, user=self.rat)
|
report = models.Report.objects.create(reporter=self.local_user, user=self.rat)
|
||||||
|
|
|
@ -118,6 +118,7 @@ class InboxAdd(TestCase):
|
||||||
"type": "ListItem",
|
"type": "ListItem",
|
||||||
"book": self.book.remote_id,
|
"book": self.book.remote_id,
|
||||||
"id": "https://example.com/listbook/6189",
|
"id": "https://example.com/listbook/6189",
|
||||||
|
"notes": "hi hello",
|
||||||
"order": 1,
|
"order": 1,
|
||||||
},
|
},
|
||||||
"target": "https://example.com/user/mouse/list/to-read",
|
"target": "https://example.com/user/mouse/list/to-read",
|
||||||
|
@ -130,3 +131,4 @@ class InboxAdd(TestCase):
|
||||||
self.assertEqual(booklist.name, "Test List")
|
self.assertEqual(booklist.name, "Test List")
|
||||||
self.assertEqual(booklist.books.first(), self.book)
|
self.assertEqual(booklist.books.first(), self.book)
|
||||||
self.assertEqual(listitem.remote_id, "https://example.com/listbook/6189")
|
self.assertEqual(listitem.remote_id, "https://example.com/listbook/6189")
|
||||||
|
self.assertEqual(listitem.notes, "hi hello")
|
||||||
|
|
1
bookwyrm/tests/views/lists/__init__.py
Normal file
1
bookwyrm/tests/views/lists/__init__.py
Normal file
|
@ -0,0 +1 @@
|
||||||
|
from . import *
|
129
bookwyrm/tests/views/lists/test_curate.py
Normal file
129
bookwyrm/tests/views/lists/test_curate.py
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
""" test for app action functionality """
|
||||||
|
import json
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
from django.contrib.auth.models import AnonymousUser
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
|
from bookwyrm import models, views
|
||||||
|
from bookwyrm.tests.validate_html import validate_html
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=unused-argument
|
||||||
|
class ListViews(TestCase):
|
||||||
|
"""list view"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
"""we need basic test data and mocks"""
|
||||||
|
self.factory = RequestFactory()
|
||||||
|
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||||
|
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||||
|
), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
|
||||||
|
self.local_user = models.User.objects.create_user(
|
||||||
|
"mouse@local.com",
|
||||||
|
"mouse@mouse.com",
|
||||||
|
"mouseword",
|
||||||
|
local=True,
|
||||||
|
localname="mouse",
|
||||||
|
remote_id="https://example.com/users/mouse",
|
||||||
|
)
|
||||||
|
work = models.Work.objects.create(title="Work")
|
||||||
|
self.book = models.Edition.objects.create(
|
||||||
|
title="Example Edition",
|
||||||
|
remote_id="https://example.com/book/1",
|
||||||
|
parent_work=work,
|
||||||
|
)
|
||||||
|
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
self.list = models.List.objects.create(
|
||||||
|
name="Test List", user=self.local_user
|
||||||
|
)
|
||||||
|
self.anonymous_user = AnonymousUser
|
||||||
|
self.anonymous_user.is_authenticated = False
|
||||||
|
|
||||||
|
models.SiteSettings.objects.create()
|
||||||
|
|
||||||
|
def test_curate_page(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.Curate.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=False,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertEqual(result.status_code, 302)
|
||||||
|
|
||||||
|
def test_curate_approve(self):
|
||||||
|
"""approve a pending item"""
|
||||||
|
view = views.Curate.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
pending = models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=False,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
request = self.factory.post(
|
||||||
|
"",
|
||||||
|
{"item": pending.id, "approved": "true"},
|
||||||
|
)
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
|
) as mock:
|
||||||
|
view(request, self.list.id)
|
||||||
|
|
||||||
|
self.assertEqual(mock.call_count, 2)
|
||||||
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
|
self.assertEqual(activity["type"], "Add")
|
||||||
|
self.assertEqual(activity["actor"], self.local_user.remote_id)
|
||||||
|
self.assertEqual(activity["target"], self.list.remote_id)
|
||||||
|
|
||||||
|
pending.refresh_from_db()
|
||||||
|
self.assertEqual(self.list.books.count(), 1)
|
||||||
|
self.assertEqual(self.list.listitem_set.first(), pending)
|
||||||
|
self.assertTrue(pending.approved)
|
||||||
|
|
||||||
|
def test_curate_reject(self):
|
||||||
|
"""approve a pending item"""
|
||||||
|
view = views.Curate.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
pending = models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=False,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
request = self.factory.post(
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
"item": pending.id,
|
||||||
|
"approved": "false",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
view(request, self.list.id)
|
||||||
|
|
||||||
|
self.assertFalse(self.list.books.exists())
|
||||||
|
self.assertFalse(models.ListItem.objects.exists())
|
89
bookwyrm/tests/views/lists/test_embed.py
Normal file
89
bookwyrm/tests/views/lists/test_embed.py
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
""" test for app action functionality """
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
from django.contrib.auth.models import AnonymousUser
|
||||||
|
from django.http.response import Http404
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
|
from bookwyrm import models, views
|
||||||
|
from bookwyrm.tests.validate_html import validate_html
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=unused-argument
|
||||||
|
class ListViews(TestCase):
|
||||||
|
"""list view"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
"""we need basic test data and mocks"""
|
||||||
|
self.factory = RequestFactory()
|
||||||
|
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||||
|
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||||
|
), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
|
||||||
|
self.local_user = models.User.objects.create_user(
|
||||||
|
"mouse@local.com",
|
||||||
|
"mouse@mouse.com",
|
||||||
|
"mouseword",
|
||||||
|
local=True,
|
||||||
|
localname="mouse",
|
||||||
|
remote_id="https://example.com/users/mouse",
|
||||||
|
)
|
||||||
|
work = models.Work.objects.create(title="Work")
|
||||||
|
self.book = models.Edition.objects.create(
|
||||||
|
title="Example Edition",
|
||||||
|
remote_id="https://example.com/book/1",
|
||||||
|
parent_work=work,
|
||||||
|
)
|
||||||
|
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
self.list = models.List.objects.create(
|
||||||
|
name="Test List", user=self.local_user
|
||||||
|
)
|
||||||
|
self.anonymous_user = AnonymousUser
|
||||||
|
self.anonymous_user.is_authenticated = False
|
||||||
|
|
||||||
|
models.SiteSettings.objects.create()
|
||||||
|
|
||||||
|
def test_embed_call_without_key(self):
|
||||||
|
"""there are so many views, this just makes sure it DOESN’T load"""
|
||||||
|
view = views.unsafe_embed_list
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=True,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
with self.assertRaises(Http404):
|
||||||
|
view(request, self.list.id, "")
|
||||||
|
|
||||||
|
def test_embed_call_with_key(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.unsafe_embed_list
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=True,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
embed_key = str(self.list.embed_key.hex)
|
||||||
|
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id, embed_key)
|
||||||
|
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
|
@ -4,14 +4,19 @@ from unittest.mock import patch
|
||||||
|
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.test.client import RequestFactory
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
from bookwyrm import models, views
|
from bookwyrm import models, views
|
||||||
|
from bookwyrm.activitypub import ActivitypubResponse
|
||||||
|
from bookwyrm.tests.validate_html import validate_html
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
class ListActionViews(TestCase):
|
# pylint: disable=too-many-public-methods
|
||||||
"""tag views"""
|
class ListViews(TestCase):
|
||||||
|
"""list view"""
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
"""we need basic test data and mocks"""
|
"""we need basic test data and mocks"""
|
||||||
|
@ -35,7 +40,6 @@ class ListActionViews(TestCase):
|
||||||
localname="rat",
|
localname="rat",
|
||||||
remote_id="https://example.com/users/rat",
|
remote_id="https://example.com/users/rat",
|
||||||
)
|
)
|
||||||
|
|
||||||
work = models.Work.objects.create(title="Work")
|
work = models.Work.objects.create(title="Work")
|
||||||
self.book = models.Edition.objects.create(
|
self.book = models.Edition.objects.create(
|
||||||
title="Example Edition",
|
title="Example Edition",
|
||||||
|
@ -67,8 +71,194 @@ class ListActionViews(TestCase):
|
||||||
)
|
)
|
||||||
self.anonymous_user = AnonymousUser
|
self.anonymous_user = AnonymousUser
|
||||||
self.anonymous_user.is_authenticated = False
|
self.anonymous_user.is_authenticated = False
|
||||||
|
|
||||||
models.SiteSettings.objects.create()
|
models.SiteSettings.objects.create()
|
||||||
|
|
||||||
|
def test_list_page(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=True,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_page_with_query(self):
|
||||||
|
"""searching for a book to add"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
request = self.factory.get("", {"q": "Example Edition"})
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_page_sorted(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
for (i, book) in enumerate([self.book, self.book_two, self.book_three]):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=book,
|
||||||
|
approved=True,
|
||||||
|
order=i + 1,
|
||||||
|
)
|
||||||
|
|
||||||
|
request = self.factory.get("/?sort_by=order")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
request = self.factory.get("/?sort_by=title")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
request = self.factory.get("/?sort_by=rating")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
request = self.factory.get("/?sort_by=sdkfh")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_page_empty(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_page_logged_out(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=True,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_page_json_view(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=True,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = True
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, ActivitypubResponse)
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_page_json_view_page(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
request = self.factory.get("/?page=1")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.list.list.is_api_request") as is_api:
|
||||||
|
is_api.return_value = True
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
self.assertIsInstance(result, ActivitypubResponse)
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_list_edit(self):
|
||||||
|
"""edit a list"""
|
||||||
|
view = views.List.as_view()
|
||||||
|
request = self.factory.post(
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
"name": "New Name",
|
||||||
|
"description": "wow",
|
||||||
|
"privacy": "direct",
|
||||||
|
"curation": "curated",
|
||||||
|
"user": self.local_user.id,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
|
) as mock:
|
||||||
|
result = view(request, self.list.id)
|
||||||
|
|
||||||
|
self.assertEqual(mock.call_count, 1)
|
||||||
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
|
self.assertEqual(activity["type"], "Update")
|
||||||
|
self.assertEqual(activity["actor"], self.local_user.remote_id)
|
||||||
|
self.assertEqual(activity["object"]["id"], self.list.remote_id)
|
||||||
|
|
||||||
|
self.assertEqual(result.status_code, 302)
|
||||||
|
|
||||||
|
self.list.refresh_from_db()
|
||||||
|
self.assertEqual(self.list.name, "New Name")
|
||||||
|
self.assertEqual(self.list.description, "wow")
|
||||||
|
self.assertEqual(self.list.privacy, "direct")
|
||||||
|
self.assertEqual(self.list.curation, "curated")
|
||||||
|
|
||||||
def test_delete_list(self):
|
def test_delete_list(self):
|
||||||
"""delete an entire list"""
|
"""delete an entire list"""
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
@ -110,73 +300,14 @@ class ListActionViews(TestCase):
|
||||||
with self.assertRaises(PermissionDenied):
|
with self.assertRaises(PermissionDenied):
|
||||||
views.delete_list(request, self.list.id)
|
views.delete_list(request, self.list.id)
|
||||||
|
|
||||||
def test_curate_approve(self):
|
|
||||||
"""approve a pending item"""
|
|
||||||
view = views.Curate.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
pending = models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=False,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
request = self.factory.post(
|
|
||||||
"",
|
|
||||||
{"item": pending.id, "approved": "true"},
|
|
||||||
)
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
with patch(
|
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
|
||||||
) as mock:
|
|
||||||
view(request, self.list.id)
|
|
||||||
|
|
||||||
self.assertEqual(mock.call_count, 2)
|
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
|
||||||
self.assertEqual(activity["type"], "Add")
|
|
||||||
self.assertEqual(activity["actor"], self.local_user.remote_id)
|
|
||||||
self.assertEqual(activity["target"], self.list.remote_id)
|
|
||||||
|
|
||||||
pending.refresh_from_db()
|
|
||||||
self.assertEqual(self.list.books.count(), 1)
|
|
||||||
self.assertEqual(self.list.listitem_set.first(), pending)
|
|
||||||
self.assertTrue(pending.approved)
|
|
||||||
|
|
||||||
def test_curate_reject(self):
|
|
||||||
"""approve a pending item"""
|
|
||||||
view = views.Curate.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
pending = models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=False,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
request = self.factory.post(
|
|
||||||
"",
|
|
||||||
{
|
|
||||||
"item": pending.id,
|
|
||||||
"approved": "false",
|
|
||||||
},
|
|
||||||
)
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
view(request, self.list.id)
|
|
||||||
|
|
||||||
self.assertFalse(self.list.books.exists())
|
|
||||||
self.assertFalse(models.ListItem.objects.exists())
|
|
||||||
|
|
||||||
def test_add_book(self):
|
def test_add_book(self):
|
||||||
"""put a book on a list"""
|
"""put a book on a list"""
|
||||||
request = self.factory.post(
|
request = self.factory.post(
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
@ -184,7 +315,7 @@ class ListActionViews(TestCase):
|
||||||
with patch(
|
with patch(
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
) as mock:
|
) as mock:
|
||||||
views.list.add_book(request)
|
views.add_book(request)
|
||||||
self.assertEqual(mock.call_count, 1)
|
self.assertEqual(mock.call_count, 1)
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
self.assertEqual(activity["type"], "Add")
|
self.assertEqual(activity["type"], "Add")
|
||||||
|
@ -205,7 +336,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_one.user = self.local_user
|
request_one.user = self.local_user
|
||||||
|
@ -214,13 +346,14 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book_two.id,
|
"book": self.book_two.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_two.user = self.local_user
|
request_two.user = self.local_user
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
views.list.add_book(request_one)
|
views.add_book(request_one)
|
||||||
views.list.add_book(request_two)
|
views.add_book(request_two)
|
||||||
|
|
||||||
items = self.list.listitem_set.order_by("order").all()
|
items = self.list.listitem_set.order_by("order").all()
|
||||||
self.assertEqual(items[0].book, self.book)
|
self.assertEqual(items[0].book, self.book)
|
||||||
|
@ -237,7 +370,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_one.user = self.local_user
|
request_one.user = self.local_user
|
||||||
|
@ -246,7 +380,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book_two.id,
|
"book": self.book_two.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_two.user = self.local_user
|
request_two.user = self.local_user
|
||||||
|
@ -255,15 +390,16 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book_three.id,
|
"book": self.book_three.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_three.user = self.local_user
|
request_three.user = self.local_user
|
||||||
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
views.list.add_book(request_one)
|
views.add_book(request_one)
|
||||||
views.list.add_book(request_two)
|
views.add_book(request_two)
|
||||||
views.list.add_book(request_three)
|
views.add_book(request_three)
|
||||||
|
|
||||||
items = self.list.listitem_set.order_by("order").all()
|
items = self.list.listitem_set.order_by("order").all()
|
||||||
self.assertEqual(items[0].book, self.book)
|
self.assertEqual(items[0].book, self.book)
|
||||||
|
@ -276,7 +412,7 @@ class ListActionViews(TestCase):
|
||||||
remove_request = self.factory.post("", {"item": items[1].id})
|
remove_request = self.factory.post("", {"item": items[1].id})
|
||||||
remove_request.user = self.local_user
|
remove_request.user = self.local_user
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
views.list.remove_book(remove_request, self.list.id)
|
views.remove_book(remove_request, self.list.id)
|
||||||
items = self.list.listitem_set.order_by("order").all()
|
items = self.list.listitem_set.order_by("order").all()
|
||||||
self.assertEqual(items[0].book, self.book)
|
self.assertEqual(items[0].book, self.book)
|
||||||
self.assertEqual(items[1].book, self.book_three)
|
self.assertEqual(items[1].book, self.book_three)
|
||||||
|
@ -293,7 +429,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book_three.id,
|
"book": self.book_three.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
@ -312,7 +449,7 @@ class ListActionViews(TestCase):
|
||||||
approved=False,
|
approved=False,
|
||||||
order=2,
|
order=2,
|
||||||
)
|
)
|
||||||
views.list.add_book(request)
|
views.add_book(request)
|
||||||
|
|
||||||
items = self.list.listitem_set.order_by("order").all()
|
items = self.list.listitem_set.order_by("order").all()
|
||||||
self.assertEqual(items[0].book, self.book)
|
self.assertEqual(items[0].book, self.book)
|
||||||
|
@ -403,7 +540,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_one.user = self.local_user
|
request_one.user = self.local_user
|
||||||
|
@ -412,7 +550,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book_two.id,
|
"book": self.book_two.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_two.user = self.local_user
|
request_two.user = self.local_user
|
||||||
|
@ -421,15 +560,16 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book_three.id,
|
"book": self.book_three.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request_three.user = self.local_user
|
request_three.user = self.local_user
|
||||||
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
views.list.add_book(request_one)
|
views.add_book(request_one)
|
||||||
views.list.add_book(request_two)
|
views.add_book(request_two)
|
||||||
views.list.add_book(request_three)
|
views.add_book(request_three)
|
||||||
|
|
||||||
items = self.list.listitem_set.order_by("order").all()
|
items = self.list.listitem_set.order_by("order").all()
|
||||||
self.assertEqual(items[0].book, self.book)
|
self.assertEqual(items[0].book, self.book)
|
||||||
|
@ -442,7 +582,7 @@ class ListActionViews(TestCase):
|
||||||
set_position_request = self.factory.post("", {"position": 1})
|
set_position_request = self.factory.post("", {"position": 1})
|
||||||
set_position_request.user = self.local_user
|
set_position_request.user = self.local_user
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
views.list.set_book_position(set_position_request, items[2].id)
|
views.set_book_position(set_position_request, items[2].id)
|
||||||
items = self.list.listitem_set.order_by("order").all()
|
items = self.list.listitem_set.order_by("order").all()
|
||||||
self.assertEqual(items[0].book, self.book_three)
|
self.assertEqual(items[0].book, self.book_three)
|
||||||
self.assertEqual(items[1].book, self.book)
|
self.assertEqual(items[1].book, self.book)
|
||||||
|
@ -459,7 +599,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.rat.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request.user = self.rat
|
request.user = self.rat
|
||||||
|
@ -467,7 +608,7 @@ class ListActionViews(TestCase):
|
||||||
with patch(
|
with patch(
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
) as mock:
|
) as mock:
|
||||||
views.list.add_book(request)
|
views.add_book(request)
|
||||||
self.assertEqual(mock.call_count, 1)
|
self.assertEqual(mock.call_count, 1)
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
self.assertEqual(activity["type"], "Add")
|
self.assertEqual(activity["type"], "Add")
|
||||||
|
@ -487,7 +628,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.rat.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request.user = self.rat
|
request.user = self.rat
|
||||||
|
@ -495,7 +637,7 @@ class ListActionViews(TestCase):
|
||||||
with patch(
|
with patch(
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
) as mock:
|
) as mock:
|
||||||
views.list.add_book(request)
|
views.add_book(request)
|
||||||
|
|
||||||
self.assertEqual(mock.call_count, 1)
|
self.assertEqual(mock.call_count, 1)
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
|
@ -519,7 +661,8 @@ class ListActionViews(TestCase):
|
||||||
"",
|
"",
|
||||||
{
|
{
|
||||||
"book": self.book.id,
|
"book": self.book.id,
|
||||||
"list": self.list.id,
|
"book_list": self.list.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
@ -527,7 +670,7 @@ class ListActionViews(TestCase):
|
||||||
with patch(
|
with patch(
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
) as mock:
|
) as mock:
|
||||||
views.list.add_book(request)
|
views.add_book(request)
|
||||||
self.assertEqual(mock.call_count, 1)
|
self.assertEqual(mock.call_count, 1)
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
self.assertEqual(activity["type"], "Add")
|
self.assertEqual(activity["type"], "Add")
|
||||||
|
@ -539,6 +682,23 @@ class ListActionViews(TestCase):
|
||||||
self.assertEqual(item.user, self.local_user)
|
self.assertEqual(item.user, self.local_user)
|
||||||
self.assertTrue(item.approved)
|
self.assertTrue(item.approved)
|
||||||
|
|
||||||
|
def test_add_book_permission_denied(self):
|
||||||
|
"""you can't add to that list"""
|
||||||
|
self.list.curation = "closed"
|
||||||
|
self.list.save(broadcast=False)
|
||||||
|
request = self.factory.post(
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
"book": self.book.id,
|
||||||
|
"book_list": self.list.id,
|
||||||
|
"user": self.rat.id,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
request.user = self.rat
|
||||||
|
|
||||||
|
with self.assertRaises(PermissionDenied):
|
||||||
|
views.add_book(request)
|
||||||
|
|
||||||
def test_remove_book(self):
|
def test_remove_book(self):
|
||||||
"""take an item off a list"""
|
"""take an item off a list"""
|
||||||
|
|
||||||
|
@ -555,7 +715,7 @@ class ListActionViews(TestCase):
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
views.list.remove_book(request, self.list.id)
|
views.remove_book(request, self.list.id)
|
||||||
self.assertFalse(self.list.listitem_set.exists())
|
self.assertFalse(self.list.listitem_set.exists())
|
||||||
|
|
||||||
def test_remove_book_unauthorized(self):
|
def test_remove_book_unauthorized(self):
|
||||||
|
@ -569,7 +729,7 @@ class ListActionViews(TestCase):
|
||||||
request.user = self.rat
|
request.user = self.rat
|
||||||
|
|
||||||
with self.assertRaises(PermissionDenied):
|
with self.assertRaises(PermissionDenied):
|
||||||
views.list.remove_book(request, self.list.id)
|
views.remove_book(request, self.list.id)
|
||||||
self.assertTrue(self.list.listitem_set.exists())
|
self.assertTrue(self.list.listitem_set.exists())
|
||||||
|
|
||||||
def test_save_unsave_list(self):
|
def test_save_unsave_list(self):
|
70
bookwyrm/tests/views/lists/test_list_item.py
Normal file
70
bookwyrm/tests/views/lists/test_list_item.py
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
""" test for app action functionality """
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
|
from bookwyrm import models, views
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=unused-argument
|
||||||
|
# pylint: disable=too-many-public-methods
|
||||||
|
class ListItemViews(TestCase):
|
||||||
|
"""list view"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
"""we need basic test data and mocks"""
|
||||||
|
self.factory = RequestFactory()
|
||||||
|
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||||
|
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||||
|
), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
|
||||||
|
self.local_user = models.User.objects.create_user(
|
||||||
|
"mouse@local.com",
|
||||||
|
"mouse@mouse.com",
|
||||||
|
"mouseword",
|
||||||
|
local=True,
|
||||||
|
localname="mouse",
|
||||||
|
remote_id="https://example.com/users/mouse",
|
||||||
|
)
|
||||||
|
work = models.Work.objects.create(title="Work")
|
||||||
|
self.book = models.Edition.objects.create(
|
||||||
|
title="Example Edition",
|
||||||
|
remote_id="https://example.com/book/1",
|
||||||
|
parent_work=work,
|
||||||
|
)
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
self.list = models.List.objects.create(
|
||||||
|
name="Test List", user=self.local_user
|
||||||
|
)
|
||||||
|
|
||||||
|
models.SiteSettings.objects.create()
|
||||||
|
|
||||||
|
def test_add_list_item_notes(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.ListItem.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
item = models.ListItem.objects.create(
|
||||||
|
book_list=self.list,
|
||||||
|
user=self.local_user,
|
||||||
|
book=self.book,
|
||||||
|
approved=True,
|
||||||
|
order=1,
|
||||||
|
)
|
||||||
|
request = self.factory.post(
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
"book_list": self.list.id,
|
||||||
|
"book": self.book.id,
|
||||||
|
"user": self.local_user.id,
|
||||||
|
"notes": "beep boop",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
|
) as mock:
|
||||||
|
view(request, self.list.id, item.id)
|
||||||
|
self.assertEqual(mock.call_count, 1)
|
||||||
|
|
||||||
|
item.refresh_from_db()
|
||||||
|
self.assertEqual(item.notes, "beep boop")
|
161
bookwyrm/tests/views/lists/test_lists.py
Normal file
161
bookwyrm/tests/views/lists/test_lists.py
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
""" test for app action functionality """
|
||||||
|
import json
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
from django.contrib.auth.models import AnonymousUser
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
|
from bookwyrm import models, views
|
||||||
|
from bookwyrm.tests.validate_html import validate_html
|
||||||
|
|
||||||
|
# pylint: disable=unused-argument
|
||||||
|
class ListViews(TestCase):
|
||||||
|
"""lists of lists"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
"""we need basic test data and mocks"""
|
||||||
|
self.factory = RequestFactory()
|
||||||
|
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||||
|
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||||
|
), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
|
||||||
|
self.local_user = models.User.objects.create_user(
|
||||||
|
"mouse@local.com",
|
||||||
|
"mouse@mouse.com",
|
||||||
|
"mouseword",
|
||||||
|
local=True,
|
||||||
|
localname="mouse",
|
||||||
|
remote_id="https://example.com/users/mouse",
|
||||||
|
)
|
||||||
|
self.anonymous_user = AnonymousUser
|
||||||
|
self.anonymous_user.is_authenticated = False
|
||||||
|
|
||||||
|
models.SiteSettings.objects.create()
|
||||||
|
|
||||||
|
@patch("bookwyrm.lists_stream.ListsStream.get_list_stream")
|
||||||
|
def test_lists_page(self, _):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.Lists.as_view()
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
|
), patch("bookwyrm.lists_stream.add_list_task.delay"):
|
||||||
|
models.List.objects.create(name="Public list", user=self.local_user)
|
||||||
|
models.List.objects.create(
|
||||||
|
name="Private list", privacy="direct", user=self.local_user
|
||||||
|
)
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
result = view(request)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
|
||||||
|
result = view(request)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_saved_lists_page(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.SavedLists.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
booklist = models.List.objects.create(
|
||||||
|
name="Public list", user=self.local_user
|
||||||
|
)
|
||||||
|
models.List.objects.create(
|
||||||
|
name="Private list", privacy="direct", user=self.local_user
|
||||||
|
)
|
||||||
|
self.local_user.saved_lists.add(booklist)
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
result = view(request)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
self.assertEqual(result.context_data["lists"].object_list, [booklist])
|
||||||
|
|
||||||
|
def test_saved_lists_page_empty(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.SavedLists.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.List.objects.create(name="Public list", user=self.local_user)
|
||||||
|
models.List.objects.create(
|
||||||
|
name="Private list", privacy="direct", user=self.local_user
|
||||||
|
)
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
result = view(request)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
self.assertEqual(len(result.context_data["lists"].object_list), 0)
|
||||||
|
|
||||||
|
def test_saved_lists_page_logged_out(self):
|
||||||
|
"""logged out saved lists"""
|
||||||
|
view = views.SavedLists.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
|
||||||
|
result = view(request)
|
||||||
|
self.assertEqual(result.status_code, 302)
|
||||||
|
|
||||||
|
def test_user_lists_page(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.UserLists.as_view()
|
||||||
|
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||||
|
models.List.objects.create(name="Public list", user=self.local_user)
|
||||||
|
models.List.objects.create(
|
||||||
|
name="Private list", privacy="direct", user=self.local_user
|
||||||
|
)
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
result = view(request, self.local_user.localname)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_user_lists_page_logged_out(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.UserLists.as_view()
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.anonymous_user
|
||||||
|
|
||||||
|
result = view(request, self.local_user.username)
|
||||||
|
self.assertEqual(result.status_code, 302)
|
||||||
|
|
||||||
|
def test_lists_create(self):
|
||||||
|
"""create list view"""
|
||||||
|
view = views.Lists.as_view()
|
||||||
|
request = self.factory.post(
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
"name": "A list",
|
||||||
|
"description": "wow",
|
||||||
|
"privacy": "unlisted",
|
||||||
|
"curation": "open",
|
||||||
|
"user": self.local_user.id,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
||||||
|
) as mock:
|
||||||
|
result = view(request)
|
||||||
|
|
||||||
|
self.assertEqual(mock.call_count, 1)
|
||||||
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
|
self.assertEqual(activity["type"], "Create")
|
||||||
|
self.assertEqual(activity["actor"], self.local_user.remote_id)
|
||||||
|
|
||||||
|
self.assertEqual(result.status_code, 302)
|
||||||
|
new_list = models.List.objects.filter(name="A list").get()
|
||||||
|
self.assertEqual(new_list.description, "wow")
|
||||||
|
self.assertEqual(new_list.privacy, "unlisted")
|
||||||
|
self.assertEqual(new_list.curation, "open")
|
|
@ -140,3 +140,14 @@ class AnnualSummary(TestCase):
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
validate_html(result.render())
|
validate_html(result.render())
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_personal_annual_summary(self, *_):
|
||||||
|
"""redirect to unique user url"""
|
||||||
|
view = views.personal_annual_summary
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
result = view(request, 2020)
|
||||||
|
|
||||||
|
self.assertEqual(result.status_code, 302)
|
||||||
|
self.assertEqual(result.url, "/user/mouse/2020-in-the-books")
|
||||||
|
|
|
@ -1,438 +0,0 @@
|
||||||
""" test for app action functionality """
|
|
||||||
import json
|
|
||||||
from unittest.mock import patch
|
|
||||||
|
|
||||||
from django.contrib.auth.models import AnonymousUser
|
|
||||||
from django.http.response import Http404
|
|
||||||
from django.template.response import TemplateResponse
|
|
||||||
from django.test import TestCase
|
|
||||||
from django.test.client import RequestFactory
|
|
||||||
|
|
||||||
from bookwyrm import models, views
|
|
||||||
from bookwyrm.activitypub import ActivitypubResponse
|
|
||||||
from bookwyrm.tests.validate_html import validate_html
|
|
||||||
|
|
||||||
# pylint: disable=unused-argument
|
|
||||||
class ListViews(TestCase):
|
|
||||||
"""tag views"""
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
"""we need basic test data and mocks"""
|
|
||||||
self.factory = RequestFactory()
|
|
||||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
|
||||||
"bookwyrm.activitystreams.populate_stream_task.delay"
|
|
||||||
), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
|
|
||||||
self.local_user = models.User.objects.create_user(
|
|
||||||
"mouse@local.com",
|
|
||||||
"mouse@mouse.com",
|
|
||||||
"mouseword",
|
|
||||||
local=True,
|
|
||||||
localname="mouse",
|
|
||||||
remote_id="https://example.com/users/mouse",
|
|
||||||
)
|
|
||||||
self.rat = models.User.objects.create_user(
|
|
||||||
"rat@local.com",
|
|
||||||
"rat@rat.com",
|
|
||||||
"ratword",
|
|
||||||
local=True,
|
|
||||||
localname="rat",
|
|
||||||
remote_id="https://example.com/users/rat",
|
|
||||||
)
|
|
||||||
work = models.Work.objects.create(title="Work")
|
|
||||||
self.book = models.Edition.objects.create(
|
|
||||||
title="Example Edition",
|
|
||||||
remote_id="https://example.com/book/1",
|
|
||||||
parent_work=work,
|
|
||||||
)
|
|
||||||
work_two = models.Work.objects.create(title="Labori")
|
|
||||||
self.book_two = models.Edition.objects.create(
|
|
||||||
title="Example Edition 2",
|
|
||||||
remote_id="https://example.com/book/2",
|
|
||||||
parent_work=work_two,
|
|
||||||
)
|
|
||||||
work_three = models.Work.objects.create(title="Trabajar")
|
|
||||||
self.book_three = models.Edition.objects.create(
|
|
||||||
title="Example Edition 3",
|
|
||||||
remote_id="https://example.com/book/3",
|
|
||||||
parent_work=work_three,
|
|
||||||
)
|
|
||||||
work_four = models.Work.objects.create(title="Travailler")
|
|
||||||
self.book_four = models.Edition.objects.create(
|
|
||||||
title="Example Edition 4",
|
|
||||||
remote_id="https://example.com/book/4",
|
|
||||||
parent_work=work_four,
|
|
||||||
)
|
|
||||||
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
self.list = models.List.objects.create(
|
|
||||||
name="Test List", user=self.local_user
|
|
||||||
)
|
|
||||||
self.anonymous_user = AnonymousUser
|
|
||||||
self.anonymous_user.is_authenticated = False
|
|
||||||
|
|
||||||
models.SiteSettings.objects.create()
|
|
||||||
|
|
||||||
@patch("bookwyrm.lists_stream.ListsStream.get_list_stream")
|
|
||||||
def test_lists_page(self, _):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.Lists.as_view()
|
|
||||||
with patch(
|
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
|
||||||
), patch("bookwyrm.lists_stream.add_list_task.delay"):
|
|
||||||
models.List.objects.create(name="Public list", user=self.local_user)
|
|
||||||
models.List.objects.create(
|
|
||||||
name="Private list", privacy="direct", user=self.local_user
|
|
||||||
)
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
result = view(request)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
|
|
||||||
result = view(request)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_saved_lists_page(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.SavedLists.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
booklist = models.List.objects.create(
|
|
||||||
name="Public list", user=self.local_user
|
|
||||||
)
|
|
||||||
models.List.objects.create(
|
|
||||||
name="Private list", privacy="direct", user=self.local_user
|
|
||||||
)
|
|
||||||
self.local_user.saved_lists.add(booklist)
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
result = view(request)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
self.assertEqual(result.context_data["lists"].object_list, [booklist])
|
|
||||||
|
|
||||||
def test_saved_lists_page_empty(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.SavedLists.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.List.objects.create(name="Public list", user=self.local_user)
|
|
||||||
models.List.objects.create(
|
|
||||||
name="Private list", privacy="direct", user=self.local_user
|
|
||||||
)
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
result = view(request)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
self.assertEqual(len(result.context_data["lists"].object_list), 0)
|
|
||||||
|
|
||||||
def test_saved_lists_page_logged_out(self):
|
|
||||||
"""logged out saved lists"""
|
|
||||||
view = views.SavedLists.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
|
|
||||||
result = view(request)
|
|
||||||
self.assertEqual(result.status_code, 302)
|
|
||||||
|
|
||||||
def test_lists_create(self):
|
|
||||||
"""create list view"""
|
|
||||||
view = views.Lists.as_view()
|
|
||||||
request = self.factory.post(
|
|
||||||
"",
|
|
||||||
{
|
|
||||||
"name": "A list",
|
|
||||||
"description": "wow",
|
|
||||||
"privacy": "unlisted",
|
|
||||||
"curation": "open",
|
|
||||||
"user": self.local_user.id,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch(
|
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
|
||||||
) as mock:
|
|
||||||
result = view(request)
|
|
||||||
|
|
||||||
self.assertEqual(mock.call_count, 1)
|
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
|
||||||
self.assertEqual(activity["type"], "Create")
|
|
||||||
self.assertEqual(activity["actor"], self.local_user.remote_id)
|
|
||||||
|
|
||||||
self.assertEqual(result.status_code, 302)
|
|
||||||
new_list = models.List.objects.filter(name="A list").get()
|
|
||||||
self.assertEqual(new_list.description, "wow")
|
|
||||||
self.assertEqual(new_list.privacy, "unlisted")
|
|
||||||
self.assertEqual(new_list.curation, "open")
|
|
||||||
|
|
||||||
def test_list_page(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=True,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_list_page_sorted(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
for (i, book) in enumerate([self.book, self.book_two, self.book_three]):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=book,
|
|
||||||
approved=True,
|
|
||||||
order=i + 1,
|
|
||||||
)
|
|
||||||
|
|
||||||
request = self.factory.get("/?sort_by=order")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
request = self.factory.get("/?sort_by=title")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
request = self.factory.get("/?sort_by=rating")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
request = self.factory.get("/?sort_by=sdkfh")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_list_page_empty(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_list_page_logged_out(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=True,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_list_page_json_view(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=True,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = True
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, ActivitypubResponse)
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_list_page_json_view_page(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
request = self.factory.get("/?page=1")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = True
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, ActivitypubResponse)
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_list_edit(self):
|
|
||||||
"""edit a list"""
|
|
||||||
view = views.List.as_view()
|
|
||||||
request = self.factory.post(
|
|
||||||
"",
|
|
||||||
{
|
|
||||||
"name": "New Name",
|
|
||||||
"description": "wow",
|
|
||||||
"privacy": "direct",
|
|
||||||
"curation": "curated",
|
|
||||||
"user": self.local_user.id,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
with patch(
|
|
||||||
"bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
|
|
||||||
) as mock:
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
|
|
||||||
self.assertEqual(mock.call_count, 1)
|
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
|
||||||
self.assertEqual(activity["type"], "Update")
|
|
||||||
self.assertEqual(activity["actor"], self.local_user.remote_id)
|
|
||||||
self.assertEqual(activity["object"]["id"], self.list.remote_id)
|
|
||||||
|
|
||||||
self.assertEqual(result.status_code, 302)
|
|
||||||
|
|
||||||
self.list.refresh_from_db()
|
|
||||||
self.assertEqual(self.list.name, "New Name")
|
|
||||||
self.assertEqual(self.list.description, "wow")
|
|
||||||
self.assertEqual(self.list.privacy, "direct")
|
|
||||||
self.assertEqual(self.list.curation, "curated")
|
|
||||||
|
|
||||||
def test_curate_page(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.Curate.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=False,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
result = view(request, self.list.id)
|
|
||||||
self.assertEqual(result.status_code, 302)
|
|
||||||
|
|
||||||
def test_user_lists_page(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.UserLists.as_view()
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.List.objects.create(name="Public list", user=self.local_user)
|
|
||||||
models.List.objects.create(
|
|
||||||
name="Private list", privacy="direct", user=self.local_user
|
|
||||||
)
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.local_user
|
|
||||||
|
|
||||||
result = view(request, self.local_user.localname)
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
||||||
|
|
||||||
def test_user_lists_page_logged_out(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.UserLists.as_view()
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
|
|
||||||
result = view(request, self.local_user.username)
|
|
||||||
self.assertEqual(result.status_code, 302)
|
|
||||||
|
|
||||||
def test_embed_call_without_key(self):
|
|
||||||
"""there are so many views, this just makes sure it DOESN’T load"""
|
|
||||||
view = views.unsafe_embed_list
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=True,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
with self.assertRaises(Http404):
|
|
||||||
view(request, self.list.id, "")
|
|
||||||
|
|
||||||
def test_embed_call_with_key(self):
|
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
|
||||||
view = views.unsafe_embed_list
|
|
||||||
request = self.factory.get("")
|
|
||||||
request.user = self.anonymous_user
|
|
||||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book_list=self.list,
|
|
||||||
user=self.local_user,
|
|
||||||
book=self.book,
|
|
||||||
approved=True,
|
|
||||||
order=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
embed_key = str(self.list.embed_key.hex)
|
|
||||||
|
|
||||||
with patch("bookwyrm.views.list.is_api_request") as is_api:
|
|
||||||
is_api.return_value = False
|
|
||||||
result = view(request, self.list.id, embed_key)
|
|
||||||
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
|
||||||
validate_html(result.render())
|
|
||||||
self.assertEqual(result.status_code, 200)
|
|
|
@ -45,31 +45,51 @@ class UpdateViews(TestCase):
|
||||||
data = json.loads(result.getvalue())
|
data = json.loads(result.getvalue())
|
||||||
self.assertEqual(data["count"], 1)
|
self.assertEqual(data["count"], 1)
|
||||||
|
|
||||||
def test_get_unread_status_count(self):
|
def test_get_unread_status_string(self):
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
request = self.factory.get("")
|
request = self.factory.get("")
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"bookwyrm.activitystreams.ActivityStream.get_unread_count"
|
"bookwyrm.activitystreams.ActivityStream.get_unread_count"
|
||||||
) as mock_count:
|
) as mock_count, patch(
|
||||||
with patch(
|
"bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
|
||||||
# pylint:disable=line-too-long
|
) as mock_count_by_status:
|
||||||
"bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
|
mock_count.return_value = 3
|
||||||
) as mock_count_by_status:
|
mock_count_by_status.return_value = {"review": 5}
|
||||||
mock_count.return_value = 3
|
result = views.get_unread_status_string(request, "home")
|
||||||
mock_count_by_status.return_value = {"review": 5}
|
|
||||||
result = views.get_unread_status_count(request, "home")
|
|
||||||
|
|
||||||
self.assertIsInstance(result, JsonResponse)
|
self.assertIsInstance(result, JsonResponse)
|
||||||
data = json.loads(result.getvalue())
|
data = json.loads(result.getvalue())
|
||||||
self.assertEqual(data["count"], 3)
|
self.assertEqual(data["count"], "Load 5 unread statuses")
|
||||||
self.assertEqual(data["count_by_type"]["review"], 5)
|
|
||||||
|
|
||||||
def test_get_unread_status_count_invalid_stream(self):
|
def test_get_unread_status_string_with_filters(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
self.local_user.feed_status_types = ["comment", "everything"]
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.activitystreams.ActivityStream.get_unread_count"
|
||||||
|
) as mock_count, patch(
|
||||||
|
"bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
|
||||||
|
) as mock_count_by_status:
|
||||||
|
mock_count.return_value = 3
|
||||||
|
mock_count_by_status.return_value = {
|
||||||
|
"generated_note": 1,
|
||||||
|
"comment": 1,
|
||||||
|
"review": 10,
|
||||||
|
}
|
||||||
|
result = views.get_unread_status_string(request, "home")
|
||||||
|
|
||||||
|
self.assertIsInstance(result, JsonResponse)
|
||||||
|
data = json.loads(result.getvalue())
|
||||||
|
self.assertEqual(data["count"], "Load 2 unread statuses")
|
||||||
|
|
||||||
|
def test_get_unread_status_string_invalid_stream(self):
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
request = self.factory.get("")
|
request = self.factory.get("")
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
|
||||||
with self.assertRaises(Http404):
|
with self.assertRaises(Http404):
|
||||||
views.get_unread_status_count(request, "fish")
|
views.get_unread_status_string(request, "fish")
|
||||||
|
|
|
@ -369,16 +369,21 @@ urlpatterns = [
|
||||||
re_path(r"^list/?$", views.Lists.as_view(), name="lists"),
|
re_path(r"^list/?$", views.Lists.as_view(), name="lists"),
|
||||||
re_path(r"^list/saved/?$", views.SavedLists.as_view(), name="saved-lists"),
|
re_path(r"^list/saved/?$", views.SavedLists.as_view(), name="saved-lists"),
|
||||||
re_path(r"^list/(?P<list_id>\d+)(.json)?/?$", views.List.as_view(), name="list"),
|
re_path(r"^list/(?P<list_id>\d+)(.json)?/?$", views.List.as_view(), name="list"),
|
||||||
|
re_path(
|
||||||
|
r"^list/(?P<list_id>\d+)/item/(?P<list_item>\d+)/?$",
|
||||||
|
views.ListItem.as_view(),
|
||||||
|
name="list-item",
|
||||||
|
),
|
||||||
re_path(r"^list/delete/(?P<list_id>\d+)/?$", views.delete_list, name="delete-list"),
|
re_path(r"^list/delete/(?P<list_id>\d+)/?$", views.delete_list, name="delete-list"),
|
||||||
re_path(r"^list/add-book/?$", views.list.add_book, name="list-add-book"),
|
re_path(r"^list/add-book/?$", views.add_book, name="list-add-book"),
|
||||||
re_path(
|
re_path(
|
||||||
r"^list/(?P<list_id>\d+)/remove/?$",
|
r"^list/(?P<list_id>\d+)/remove/?$",
|
||||||
views.list.remove_book,
|
views.remove_book,
|
||||||
name="list-remove-book",
|
name="list-remove-book",
|
||||||
),
|
),
|
||||||
re_path(
|
re_path(
|
||||||
r"^list-item/(?P<list_item_id>\d+)/set-position$",
|
r"^list-item/(?P<list_item_id>\d+)/set-position$",
|
||||||
views.list.set_book_position,
|
views.set_book_position,
|
||||||
name="list-set-book-position",
|
name="list-set-book-position",
|
||||||
),
|
),
|
||||||
re_path(
|
re_path(
|
||||||
|
|
|
@ -61,6 +61,21 @@ from .imports.manually_review import (
|
||||||
delete_import_item,
|
delete_import_item,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# lists
|
||||||
|
from .list.curate import Curate
|
||||||
|
from .list.embed import unsafe_embed_list
|
||||||
|
from .list.list_item import ListItem
|
||||||
|
from .list.lists import Lists, SavedLists, UserLists
|
||||||
|
from .list.list import (
|
||||||
|
List,
|
||||||
|
save_list,
|
||||||
|
unsave_list,
|
||||||
|
delete_list,
|
||||||
|
add_book,
|
||||||
|
remove_book,
|
||||||
|
set_book_position,
|
||||||
|
)
|
||||||
|
|
||||||
# misc views
|
# misc views
|
||||||
from .author import Author, EditAuthor, update_author_from_remote
|
from .author import Author, EditAuthor, update_author_from_remote
|
||||||
from .directory import Directory
|
from .directory import Directory
|
||||||
|
@ -90,8 +105,6 @@ from .group import (
|
||||||
from .inbox import Inbox
|
from .inbox import Inbox
|
||||||
from .interaction import Favorite, Unfavorite, Boost, Unboost
|
from .interaction import Favorite, Unfavorite, Boost, Unboost
|
||||||
from .isbn import Isbn
|
from .isbn import Isbn
|
||||||
from .list import Lists, SavedLists, List, Curate, UserLists
|
|
||||||
from .list import save_list, unsave_list, delete_list, unsafe_embed_list
|
|
||||||
from .notifications import Notifications
|
from .notifications import Notifications
|
||||||
from .outbox import Outbox
|
from .outbox import Outbox
|
||||||
from .reading import ReadThrough, delete_readthrough, delete_progressupdate
|
from .reading import ReadThrough, delete_readthrough, delete_progressupdate
|
||||||
|
@ -101,7 +114,7 @@ from .rss_feed import RssFeed
|
||||||
from .search import Search
|
from .search import Search
|
||||||
from .status import CreateStatus, EditStatus, DeleteStatus, update_progress
|
from .status import CreateStatus, EditStatus, DeleteStatus, update_progress
|
||||||
from .status import edit_readthrough
|
from .status import edit_readthrough
|
||||||
from .updates import get_notification_count, get_unread_status_count
|
from .updates import get_notification_count, get_unread_status_string
|
||||||
from .user import User, Followers, Following, hide_suggestions, user_redirect
|
from .user import User, Followers, Following, hide_suggestions, user_redirect
|
||||||
from .wellknown import *
|
from .wellknown import *
|
||||||
from .annual_summary import (
|
from .annual_summary import (
|
||||||
|
|
|
@ -62,7 +62,6 @@ class Feed(View):
|
||||||
"streams": STREAMS,
|
"streams": STREAMS,
|
||||||
"goal_form": forms.GoalForm(),
|
"goal_form": forms.GoalForm(),
|
||||||
"feed_status_types_options": FeedFilterChoices,
|
"feed_status_types_options": FeedFilterChoices,
|
||||||
"allowed_status_types": request.user.feed_status_types,
|
|
||||||
"filters_applied": filters_applied,
|
"filters_applied": filters_applied,
|
||||||
"path": f"/{tab['key']}",
|
"path": f"/{tab['key']}",
|
||||||
"annual_summary_year": get_annual_summary_year(),
|
"annual_summary_year": get_annual_summary_year(),
|
||||||
|
|
|
@ -57,14 +57,7 @@ class GetStartedBooks(View):
|
||||||
if len(book_results) < 5:
|
if len(book_results) < 5:
|
||||||
popular_books = (
|
popular_books = (
|
||||||
models.Edition.objects.exclude(
|
models.Edition.objects.exclude(
|
||||||
# exclude already shelved
|
Q( # exclude if it's already in search results
|
||||||
Q(
|
|
||||||
parent_work__in=[
|
|
||||||
b.book.parent_work
|
|
||||||
for b in request.user.shelfbook_set.distinct().all()
|
|
||||||
]
|
|
||||||
)
|
|
||||||
| Q( # and exclude if it's already in search results
|
|
||||||
parent_work__in=[b.parent_work for b in book_results]
|
parent_work__in=[b.parent_work for b in book_results]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
55
bookwyrm/views/list/curate.py
Normal file
55
bookwyrm/views/list/curate.py
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
""" book list views"""
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.db.models import Max
|
||||||
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
from django.utils.decorators import method_decorator
|
||||||
|
from django.views import View
|
||||||
|
|
||||||
|
from bookwyrm import forms, models
|
||||||
|
from bookwyrm.views.list.list import increment_order_in_reverse
|
||||||
|
from bookwyrm.views.list.list import normalize_book_list_ordering
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=no-self-use
|
||||||
|
@method_decorator(login_required, name="dispatch")
|
||||||
|
class Curate(View):
|
||||||
|
"""approve or discard list suggestsions"""
|
||||||
|
|
||||||
|
def get(self, request, list_id):
|
||||||
|
"""display a pending list"""
|
||||||
|
book_list = get_object_or_404(models.List, id=list_id)
|
||||||
|
book_list.raise_not_editable(request.user)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"list": book_list,
|
||||||
|
"pending": book_list.listitem_set.filter(approved=False),
|
||||||
|
"list_form": forms.ListForm(instance=book_list),
|
||||||
|
}
|
||||||
|
return TemplateResponse(request, "lists/curate.html", data)
|
||||||
|
|
||||||
|
def post(self, request, list_id):
|
||||||
|
"""edit a book_list"""
|
||||||
|
book_list = get_object_or_404(models.List, id=list_id)
|
||||||
|
book_list.raise_not_editable(request.user)
|
||||||
|
|
||||||
|
suggestion = get_object_or_404(models.ListItem, id=request.POST.get("item"))
|
||||||
|
approved = request.POST.get("approved") == "true"
|
||||||
|
if approved:
|
||||||
|
# update the book and set it to be the last in the order of approved books,
|
||||||
|
# before any pending books
|
||||||
|
suggestion.approved = True
|
||||||
|
order_max = (
|
||||||
|
book_list.listitem_set.filter(approved=True).aggregate(Max("order"))[
|
||||||
|
"order__max"
|
||||||
|
]
|
||||||
|
or 0
|
||||||
|
) + 1
|
||||||
|
suggestion.order = order_max
|
||||||
|
increment_order_in_reverse(book_list.id, order_max)
|
||||||
|
suggestion.save()
|
||||||
|
else:
|
||||||
|
deleted_order = suggestion.order
|
||||||
|
suggestion.delete(broadcast=False)
|
||||||
|
normalize_book_list_ordering(book_list.id, start=deleted_order)
|
||||||
|
return redirect("list-curate", book_list.id)
|
75
bookwyrm/views/list/embed.py
Normal file
75
bookwyrm/views/list/embed.py
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
""" book list views"""
|
||||||
|
from django.core.paginator import Paginator
|
||||||
|
from django.db.models import Avg, DecimalField
|
||||||
|
from django.db.models.functions import Coalesce
|
||||||
|
from django.http import Http404
|
||||||
|
from django.shortcuts import get_object_or_404
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
from django.views import View
|
||||||
|
from django.views.decorators.clickjacking import xframe_options_exempt
|
||||||
|
|
||||||
|
from bookwyrm import models
|
||||||
|
from bookwyrm.settings import PAGE_LENGTH
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=no-self-use
|
||||||
|
class EmbedList(View):
|
||||||
|
"""embeded book list page"""
|
||||||
|
|
||||||
|
def get(self, request, list_id, list_key):
|
||||||
|
"""display a book list"""
|
||||||
|
book_list = get_object_or_404(models.List, id=list_id)
|
||||||
|
|
||||||
|
embed_key = str(book_list.embed_key.hex)
|
||||||
|
|
||||||
|
if list_key != embed_key:
|
||||||
|
raise Http404()
|
||||||
|
|
||||||
|
# sort_by shall be "order" unless a valid alternative is given
|
||||||
|
sort_by = request.GET.get("sort_by", "order")
|
||||||
|
if sort_by not in ("order", "title", "rating"):
|
||||||
|
sort_by = "order"
|
||||||
|
|
||||||
|
# direction shall be "ascending" unless a valid alternative is given
|
||||||
|
direction = request.GET.get("direction", "ascending")
|
||||||
|
if direction not in ("ascending", "descending"):
|
||||||
|
direction = "ascending"
|
||||||
|
|
||||||
|
directional_sort_by = {
|
||||||
|
"order": "order",
|
||||||
|
"title": "book__title",
|
||||||
|
"rating": "average_rating",
|
||||||
|
}[sort_by]
|
||||||
|
if direction == "descending":
|
||||||
|
directional_sort_by = "-" + directional_sort_by
|
||||||
|
|
||||||
|
items = book_list.listitem_set.prefetch_related("user", "book", "book__authors")
|
||||||
|
if sort_by == "rating":
|
||||||
|
items = items.annotate(
|
||||||
|
average_rating=Avg(
|
||||||
|
Coalesce("book__review__rating", 0.0),
|
||||||
|
output_field=DecimalField(),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
items = items.filter(approved=True).order_by(directional_sort_by)
|
||||||
|
|
||||||
|
paginated = Paginator(items, PAGE_LENGTH)
|
||||||
|
|
||||||
|
page = paginated.get_page(request.GET.get("page"))
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"list": book_list,
|
||||||
|
"items": page,
|
||||||
|
"page_range": paginated.get_elided_page_range(
|
||||||
|
page.number, on_each_side=2, on_ends=1
|
||||||
|
),
|
||||||
|
}
|
||||||
|
return TemplateResponse(request, "lists/embed-list.html", data)
|
||||||
|
|
||||||
|
|
||||||
|
@xframe_options_exempt
|
||||||
|
def unsafe_embed_list(request, *args, **kwargs):
|
||||||
|
"""allows the EmbedList view to be loaded through unsafe iframe origins"""
|
||||||
|
|
||||||
|
embed_list_view = EmbedList.as_view()
|
||||||
|
return embed_list_view(request, *args, **kwargs)
|
|
@ -3,96 +3,26 @@ from typing import Optional
|
||||||
from urllib.parse import urlencode
|
from urllib.parse import urlencode
|
||||||
|
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.core.paginator import Paginator
|
from django.core.paginator import Paginator
|
||||||
from django.db import IntegrityError, transaction
|
from django.db import IntegrityError, transaction
|
||||||
from django.db.models import Avg, DecimalField, Q, Max
|
from django.db.models import Avg, DecimalField, Q, Max
|
||||||
from django.db.models.functions import Coalesce
|
from django.db.models.functions import Coalesce
|
||||||
from django.http import HttpResponseBadRequest, HttpResponse, Http404
|
from django.http import HttpResponseBadRequest, HttpResponse
|
||||||
from django.shortcuts import get_object_or_404, redirect
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.decorators import method_decorator
|
from django.utils.decorators import method_decorator
|
||||||
from django.views import View
|
from django.views import View
|
||||||
from django.views.decorators.http import require_POST
|
from django.views.decorators.http import require_POST
|
||||||
from django.views.decorators.clickjacking import xframe_options_exempt
|
|
||||||
|
|
||||||
from bookwyrm import book_search, forms, models
|
from bookwyrm import book_search, forms, models
|
||||||
from bookwyrm.activitypub import ActivitypubResponse
|
from bookwyrm.activitypub import ActivitypubResponse
|
||||||
from bookwyrm.lists_stream import ListsStream
|
|
||||||
from bookwyrm.settings import PAGE_LENGTH
|
from bookwyrm.settings import PAGE_LENGTH
|
||||||
from .helpers import is_api_request
|
from bookwyrm.views.helpers import is_api_request
|
||||||
from .helpers import get_user_from_username
|
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=no-self-use
|
# pylint: disable=no-self-use
|
||||||
class Lists(View):
|
|
||||||
"""book list page"""
|
|
||||||
|
|
||||||
def get(self, request):
|
|
||||||
"""display a book list"""
|
|
||||||
lists = ListsStream().get_list_stream(request.user)
|
|
||||||
paginated = Paginator(lists, 12)
|
|
||||||
data = {
|
|
||||||
"lists": paginated.get_page(request.GET.get("page")),
|
|
||||||
"list_form": forms.ListForm(),
|
|
||||||
"path": "/list",
|
|
||||||
}
|
|
||||||
return TemplateResponse(request, "lists/lists.html", data)
|
|
||||||
|
|
||||||
@method_decorator(login_required, name="dispatch")
|
|
||||||
# pylint: disable=unused-argument
|
|
||||||
def post(self, request):
|
|
||||||
"""create a book_list"""
|
|
||||||
form = forms.ListForm(request.POST)
|
|
||||||
if not form.is_valid():
|
|
||||||
return redirect("lists")
|
|
||||||
book_list = form.save()
|
|
||||||
# list should not have a group if it is not group curated
|
|
||||||
if not book_list.curation == "group":
|
|
||||||
book_list.group = None
|
|
||||||
book_list.save(broadcast=False)
|
|
||||||
|
|
||||||
return redirect(book_list.local_path)
|
|
||||||
|
|
||||||
|
|
||||||
@method_decorator(login_required, name="dispatch")
|
|
||||||
class SavedLists(View):
|
|
||||||
"""saved book list page"""
|
|
||||||
|
|
||||||
def get(self, request):
|
|
||||||
"""display book lists"""
|
|
||||||
# hide lists with no approved books
|
|
||||||
lists = request.user.saved_lists.order_by("-updated_date")
|
|
||||||
|
|
||||||
paginated = Paginator(lists, 12)
|
|
||||||
data = {
|
|
||||||
"lists": paginated.get_page(request.GET.get("page")),
|
|
||||||
"list_form": forms.ListForm(),
|
|
||||||
"path": "/list",
|
|
||||||
}
|
|
||||||
return TemplateResponse(request, "lists/lists.html", data)
|
|
||||||
|
|
||||||
|
|
||||||
@method_decorator(login_required, name="dispatch")
|
|
||||||
class UserLists(View):
|
|
||||||
"""a user's book list page"""
|
|
||||||
|
|
||||||
def get(self, request, username):
|
|
||||||
"""display a book list"""
|
|
||||||
user = get_user_from_username(request.user, username)
|
|
||||||
lists = models.List.privacy_filter(request.user).filter(user=user)
|
|
||||||
paginated = Paginator(lists, 12)
|
|
||||||
|
|
||||||
data = {
|
|
||||||
"user": user,
|
|
||||||
"is_self": request.user.id == user.id,
|
|
||||||
"lists": paginated.get_page(request.GET.get("page")),
|
|
||||||
"list_form": forms.ListForm(),
|
|
||||||
"path": user.local_path + "/lists",
|
|
||||||
}
|
|
||||||
return TemplateResponse(request, "user/lists.html", data)
|
|
||||||
|
|
||||||
|
|
||||||
class List(View):
|
class List(View):
|
||||||
"""book list page"""
|
"""book list page"""
|
||||||
|
|
||||||
|
@ -191,7 +121,8 @@ class List(View):
|
||||||
|
|
||||||
form = forms.ListForm(request.POST, instance=book_list)
|
form = forms.ListForm(request.POST, instance=book_list)
|
||||||
if not form.is_valid():
|
if not form.is_valid():
|
||||||
return redirect("list", book_list.id)
|
# this shouldn't happen
|
||||||
|
raise Exception(form.errors)
|
||||||
book_list = form.save()
|
book_list = form.save()
|
||||||
if not book_list.curation == "group":
|
if not book_list.curation == "group":
|
||||||
book_list.group = None
|
book_list.group = None
|
||||||
|
@ -200,103 +131,6 @@ class List(View):
|
||||||
return redirect(book_list.local_path)
|
return redirect(book_list.local_path)
|
||||||
|
|
||||||
|
|
||||||
class EmbedList(View):
|
|
||||||
"""embeded book list page"""
|
|
||||||
|
|
||||||
def get(self, request, list_id, list_key):
|
|
||||||
"""display a book list"""
|
|
||||||
book_list = get_object_or_404(models.List, id=list_id)
|
|
||||||
|
|
||||||
embed_key = str(book_list.embed_key.hex)
|
|
||||||
|
|
||||||
if list_key != embed_key:
|
|
||||||
raise Http404()
|
|
||||||
|
|
||||||
# sort_by shall be "order" unless a valid alternative is given
|
|
||||||
sort_by = request.GET.get("sort_by", "order")
|
|
||||||
if sort_by not in ("order", "title", "rating"):
|
|
||||||
sort_by = "order"
|
|
||||||
|
|
||||||
# direction shall be "ascending" unless a valid alternative is given
|
|
||||||
direction = request.GET.get("direction", "ascending")
|
|
||||||
if direction not in ("ascending", "descending"):
|
|
||||||
direction = "ascending"
|
|
||||||
|
|
||||||
directional_sort_by = {
|
|
||||||
"order": "order",
|
|
||||||
"title": "book__title",
|
|
||||||
"rating": "average_rating",
|
|
||||||
}[sort_by]
|
|
||||||
if direction == "descending":
|
|
||||||
directional_sort_by = "-" + directional_sort_by
|
|
||||||
|
|
||||||
items = book_list.listitem_set.prefetch_related("user", "book", "book__authors")
|
|
||||||
if sort_by == "rating":
|
|
||||||
items = items.annotate(
|
|
||||||
average_rating=Avg(
|
|
||||||
Coalesce("book__review__rating", 0.0),
|
|
||||||
output_field=DecimalField(),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
items = items.filter(approved=True).order_by(directional_sort_by)
|
|
||||||
|
|
||||||
paginated = Paginator(items, PAGE_LENGTH)
|
|
||||||
|
|
||||||
page = paginated.get_page(request.GET.get("page"))
|
|
||||||
|
|
||||||
data = {
|
|
||||||
"list": book_list,
|
|
||||||
"items": page,
|
|
||||||
"page_range": paginated.get_elided_page_range(
|
|
||||||
page.number, on_each_side=2, on_ends=1
|
|
||||||
),
|
|
||||||
}
|
|
||||||
return TemplateResponse(request, "lists/embed-list.html", data)
|
|
||||||
|
|
||||||
|
|
||||||
@method_decorator(login_required, name="dispatch")
|
|
||||||
class Curate(View):
|
|
||||||
"""approve or discard list suggestsions"""
|
|
||||||
|
|
||||||
def get(self, request, list_id):
|
|
||||||
"""display a pending list"""
|
|
||||||
book_list = get_object_or_404(models.List, id=list_id)
|
|
||||||
book_list.raise_not_editable(request.user)
|
|
||||||
|
|
||||||
data = {
|
|
||||||
"list": book_list,
|
|
||||||
"pending": book_list.listitem_set.filter(approved=False),
|
|
||||||
"list_form": forms.ListForm(instance=book_list),
|
|
||||||
}
|
|
||||||
return TemplateResponse(request, "lists/curate.html", data)
|
|
||||||
|
|
||||||
def post(self, request, list_id):
|
|
||||||
"""edit a book_list"""
|
|
||||||
book_list = get_object_or_404(models.List, id=list_id)
|
|
||||||
book_list.raise_not_editable(request.user)
|
|
||||||
|
|
||||||
suggestion = get_object_or_404(models.ListItem, id=request.POST.get("item"))
|
|
||||||
approved = request.POST.get("approved") == "true"
|
|
||||||
if approved:
|
|
||||||
# update the book and set it to be the last in the order of approved books,
|
|
||||||
# before any pending books
|
|
||||||
suggestion.approved = True
|
|
||||||
order_max = (
|
|
||||||
book_list.listitem_set.filter(approved=True).aggregate(Max("order"))[
|
|
||||||
"order__max"
|
|
||||||
]
|
|
||||||
or 0
|
|
||||||
) + 1
|
|
||||||
suggestion.order = order_max
|
|
||||||
increment_order_in_reverse(book_list.id, order_max)
|
|
||||||
suggestion.save()
|
|
||||||
else:
|
|
||||||
deleted_order = suggestion.order
|
|
||||||
suggestion.delete(broadcast=False)
|
|
||||||
normalize_book_list_ordering(book_list.id, start=deleted_order)
|
|
||||||
return redirect("list-curate", book_list.id)
|
|
||||||
|
|
||||||
|
|
||||||
@require_POST
|
@require_POST
|
||||||
@login_required
|
@login_required
|
||||||
def save_list(request, list_id):
|
def save_list(request, list_id):
|
||||||
|
@ -330,53 +164,41 @@ def delete_list(request, list_id):
|
||||||
|
|
||||||
@require_POST
|
@require_POST
|
||||||
@login_required
|
@login_required
|
||||||
|
@transaction.atomic
|
||||||
def add_book(request):
|
def add_book(request):
|
||||||
"""put a book on a list"""
|
"""put a book on a list"""
|
||||||
book_list = get_object_or_404(models.List, id=request.POST.get("list"))
|
book_list = get_object_or_404(models.List, id=request.POST.get("book_list"))
|
||||||
is_group_member = False
|
# make sure the user is allowed to submit to this list
|
||||||
if book_list.curation == "group":
|
|
||||||
is_group_member = models.GroupMember.objects.filter(
|
|
||||||
group=book_list.group, user=request.user
|
|
||||||
).exists()
|
|
||||||
|
|
||||||
book_list.raise_visible_to_user(request.user)
|
book_list.raise_visible_to_user(request.user)
|
||||||
|
if request.user != book_list.user and book_list.curation == "closed":
|
||||||
|
raise PermissionDenied()
|
||||||
|
|
||||||
|
is_group_member = models.GroupMember.objects.filter(
|
||||||
|
group=book_list.group, user=request.user
|
||||||
|
).exists()
|
||||||
|
|
||||||
|
form = forms.ListItemForm(request.POST)
|
||||||
|
if not form.is_valid():
|
||||||
|
# this shouldn't happen, there aren't validated fields
|
||||||
|
raise Exception(form.errors)
|
||||||
|
item = form.save(commit=False)
|
||||||
|
|
||||||
|
if book_list.curation == "curated":
|
||||||
|
# make a pending entry at the end of the list
|
||||||
|
order_max = (book_list.listitem_set.aggregate(Max("order"))["order__max"]) or 0
|
||||||
|
item.approved = is_group_member or request.user == book_list.user
|
||||||
|
else:
|
||||||
|
# add the book at the latest order of approved books, before pending books
|
||||||
|
order_max = (
|
||||||
|
book_list.listitem_set.filter(approved=True).aggregate(Max("order"))[
|
||||||
|
"order__max"
|
||||||
|
]
|
||||||
|
) or 0
|
||||||
|
increment_order_in_reverse(book_list.id, order_max + 1)
|
||||||
|
item.order = order_max + 1
|
||||||
|
|
||||||
book = get_object_or_404(models.Edition, id=request.POST.get("book"))
|
|
||||||
# do you have permission to add to the list?
|
|
||||||
try:
|
try:
|
||||||
if (
|
item.save()
|
||||||
request.user == book_list.user
|
|
||||||
or is_group_member
|
|
||||||
or book_list.curation == "open"
|
|
||||||
):
|
|
||||||
# add the book at the latest order of approved books, before pending books
|
|
||||||
order_max = (
|
|
||||||
book_list.listitem_set.filter(approved=True).aggregate(Max("order"))[
|
|
||||||
"order__max"
|
|
||||||
]
|
|
||||||
) or 0
|
|
||||||
increment_order_in_reverse(book_list.id, order_max + 1)
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
book=book,
|
|
||||||
book_list=book_list,
|
|
||||||
user=request.user,
|
|
||||||
order=order_max + 1,
|
|
||||||
)
|
|
||||||
elif book_list.curation == "curated":
|
|
||||||
# make a pending entry at the end of the list
|
|
||||||
order_max = (
|
|
||||||
book_list.listitem_set.aggregate(Max("order"))["order__max"]
|
|
||||||
) or 0
|
|
||||||
models.ListItem.objects.create(
|
|
||||||
approved=False,
|
|
||||||
book=book,
|
|
||||||
book_list=book_list,
|
|
||||||
user=request.user,
|
|
||||||
order=order_max + 1,
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
# you can't add to this list, what were you THINKING
|
|
||||||
return HttpResponseBadRequest()
|
|
||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
# if the book is already on the list, don't flip out
|
# if the book is already on the list, don't flip out
|
||||||
pass
|
pass
|
||||||
|
@ -499,11 +321,3 @@ def normalize_book_list_ordering(book_list_id, start=0, add_offset=0):
|
||||||
if item.order != effective_order:
|
if item.order != effective_order:
|
||||||
item.order = effective_order
|
item.order = effective_order
|
||||||
item.save()
|
item.save()
|
||||||
|
|
||||||
|
|
||||||
@xframe_options_exempt
|
|
||||||
def unsafe_embed_list(request, *args, **kwargs):
|
|
||||||
"""allows the EmbedList view to be loaded through unsafe iframe origins"""
|
|
||||||
|
|
||||||
embed_list_view = EmbedList.as_view()
|
|
||||||
return embed_list_view(request, *args, **kwargs)
|
|
22
bookwyrm/views/list/list_item.py
Normal file
22
bookwyrm/views/list/list_item.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
""" book list views"""
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
|
from django.utils.decorators import method_decorator
|
||||||
|
from django.views import View
|
||||||
|
|
||||||
|
from bookwyrm import forms, models
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=no-self-use
|
||||||
|
@method_decorator(login_required, name="dispatch")
|
||||||
|
class ListItem(View):
|
||||||
|
"""book list page"""
|
||||||
|
|
||||||
|
def post(self, request, list_id, list_item):
|
||||||
|
"""Edit a list item's notes"""
|
||||||
|
list_item = get_object_or_404(models.ListItem, id=list_item, book_list=list_id)
|
||||||
|
list_item.raise_not_editable(request.user)
|
||||||
|
form = forms.ListItemForm(request.POST, instance=list_item)
|
||||||
|
if form.is_valid():
|
||||||
|
form.save()
|
||||||
|
return redirect("list", list_item.book_list.id)
|
80
bookwyrm/views/list/lists.py
Normal file
80
bookwyrm/views/list/lists.py
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
""" book list views"""
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.core.paginator import Paginator
|
||||||
|
from django.shortcuts import redirect
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
from django.utils.decorators import method_decorator
|
||||||
|
from django.views import View
|
||||||
|
|
||||||
|
from bookwyrm import forms, models
|
||||||
|
from bookwyrm.lists_stream import ListsStream
|
||||||
|
from bookwyrm.views.helpers import get_user_from_username
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=no-self-use
|
||||||
|
class Lists(View):
|
||||||
|
"""book list page"""
|
||||||
|
|
||||||
|
def get(self, request):
|
||||||
|
"""display a book list"""
|
||||||
|
lists = ListsStream().get_list_stream(request.user)
|
||||||
|
paginated = Paginator(lists, 12)
|
||||||
|
data = {
|
||||||
|
"lists": paginated.get_page(request.GET.get("page")),
|
||||||
|
"list_form": forms.ListForm(),
|
||||||
|
"path": "/list",
|
||||||
|
}
|
||||||
|
return TemplateResponse(request, "lists/lists.html", data)
|
||||||
|
|
||||||
|
@method_decorator(login_required, name="dispatch")
|
||||||
|
# pylint: disable=unused-argument
|
||||||
|
def post(self, request):
|
||||||
|
"""create a book_list"""
|
||||||
|
form = forms.ListForm(request.POST)
|
||||||
|
if not form.is_valid():
|
||||||
|
return redirect("lists")
|
||||||
|
book_list = form.save()
|
||||||
|
# list should not have a group if it is not group curated
|
||||||
|
if not book_list.curation == "group":
|
||||||
|
book_list.group = None
|
||||||
|
book_list.save(broadcast=False)
|
||||||
|
|
||||||
|
return redirect(book_list.local_path)
|
||||||
|
|
||||||
|
|
||||||
|
@method_decorator(login_required, name="dispatch")
|
||||||
|
class SavedLists(View):
|
||||||
|
"""saved book list page"""
|
||||||
|
|
||||||
|
def get(self, request):
|
||||||
|
"""display book lists"""
|
||||||
|
# hide lists with no approved books
|
||||||
|
lists = request.user.saved_lists.order_by("-updated_date")
|
||||||
|
|
||||||
|
paginated = Paginator(lists, 12)
|
||||||
|
data = {
|
||||||
|
"lists": paginated.get_page(request.GET.get("page")),
|
||||||
|
"list_form": forms.ListForm(),
|
||||||
|
"path": "/list",
|
||||||
|
}
|
||||||
|
return TemplateResponse(request, "lists/lists.html", data)
|
||||||
|
|
||||||
|
|
||||||
|
@method_decorator(login_required, name="dispatch")
|
||||||
|
class UserLists(View):
|
||||||
|
"""a user's book list page"""
|
||||||
|
|
||||||
|
def get(self, request, username):
|
||||||
|
"""display a book list"""
|
||||||
|
user = get_user_from_username(request.user, username)
|
||||||
|
lists = models.List.privacy_filter(request.user).filter(user=user)
|
||||||
|
paginated = Paginator(lists, 12)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"user": user,
|
||||||
|
"is_self": request.user.id == user.id,
|
||||||
|
"lists": paginated.get_page(request.GET.get("page")),
|
||||||
|
"list_form": forms.ListForm(),
|
||||||
|
"path": user.local_path + "/lists",
|
||||||
|
}
|
||||||
|
return TemplateResponse(request, "user/lists.html", data)
|
|
@ -1,6 +1,7 @@
|
||||||
""" endpoints for getting updates about activity """
|
""" endpoints for getting updates about activity """
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.http import Http404, JsonResponse
|
from django.http import Http404, JsonResponse
|
||||||
|
from django.utils.translation import ngettext
|
||||||
|
|
||||||
from bookwyrm import activitystreams
|
from bookwyrm import activitystreams
|
||||||
|
|
||||||
|
@ -17,14 +18,31 @@ def get_notification_count(request):
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def get_unread_status_count(request, stream="home"):
|
def get_unread_status_string(request, stream="home"):
|
||||||
"""any unread statuses for this feed?"""
|
"""any unread statuses for this feed?"""
|
||||||
stream = activitystreams.streams.get(stream)
|
stream = activitystreams.streams.get(stream)
|
||||||
if not stream:
|
if not stream:
|
||||||
raise Http404
|
raise Http404
|
||||||
return JsonResponse(
|
|
||||||
{
|
counts_by_type = stream.get_unread_count_by_status_type(request.user).items()
|
||||||
"count": stream.get_unread_count(request.user),
|
if counts_by_type == {}:
|
||||||
"count_by_type": stream.get_unread_count_by_status_type(request.user),
|
count = stream.get_unread_count(request.user)
|
||||||
}
|
else:
|
||||||
)
|
# only consider the types that are visible in the feed
|
||||||
|
allowed_status_types = request.user.feed_status_types
|
||||||
|
count = sum(c for (k, c) in counts_by_type if k in allowed_status_types)
|
||||||
|
# if "everything else" is allowed, add other types to the sum
|
||||||
|
count += sum(
|
||||||
|
c
|
||||||
|
for (k, c) in counts_by_type
|
||||||
|
if k not in ["review", "comment", "quotation"]
|
||||||
|
)
|
||||||
|
|
||||||
|
if not count:
|
||||||
|
return JsonResponse({})
|
||||||
|
|
||||||
|
translation_string = lambda c: ngettext(
|
||||||
|
"Load %(count)d unread status", "Load %(count)d unread statuses", c
|
||||||
|
) % {"count": c}
|
||||||
|
|
||||||
|
return JsonResponse({"count": translation_string(count)})
|
||||||
|
|
|
@ -30,17 +30,15 @@ class User(View):
|
||||||
|
|
||||||
shelf_preview = []
|
shelf_preview = []
|
||||||
|
|
||||||
# only show other shelves that should be visible
|
# only show shelves that should be visible
|
||||||
shelves = user.shelf_set
|
shelves = user.shelf_set
|
||||||
is_self = request.user.id == user.id
|
is_self = request.user.id == user.id
|
||||||
if not is_self:
|
if not is_self:
|
||||||
shelves = models.Shelf.privacy_filter(
|
shelves = models.Shelf.privacy_filter(
|
||||||
request.user, privacy_levels=["public", "followers"]
|
request.user, privacy_levels=["public", "followers"]
|
||||||
).filter(user=user)
|
).filter(user=user, books__isnull=False)
|
||||||
|
|
||||||
for user_shelf in shelves.all():
|
for user_shelf in shelves.all()[:3]:
|
||||||
if not user_shelf.books.count():
|
|
||||||
continue
|
|
||||||
shelf_preview.append(
|
shelf_preview.append(
|
||||||
{
|
{
|
||||||
"name": user_shelf.name,
|
"name": user_shelf.name,
|
||||||
|
@ -49,8 +47,6 @@ class User(View):
|
||||||
"size": user_shelf.books.count(),
|
"size": user_shelf.books.count(),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if len(shelf_preview) > 2:
|
|
||||||
break
|
|
||||||
|
|
||||||
# user's posts
|
# user's posts
|
||||||
activities = (
|
activities = (
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-20 08:20\n"
|
"PO-Revision-Date: 2022-01-24 18:55\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Buchtitel"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Bewertung"
|
msgstr "Bewertung"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sortieren nach"
|
msgstr "Sortieren nach"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Zitate"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Alles andere"
|
msgstr "Alles andere"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Start-Zeitleiste"
|
msgstr "Start-Zeitleiste"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Startseite"
|
msgstr "Startseite"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Bücher-Zeitleiste"
|
msgstr "Bücher-Zeitleiste"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Bücher"
|
msgstr "Bücher"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Englisch)"
|
msgstr "English (Englisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch"
|
msgstr "Deutsch"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (Spanisch)"
|
msgstr "Español (Spanisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Galizisch)"
|
msgstr "Galego (Galizisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (Italienisch)"
|
msgstr "Italiano (Italienisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Französisch)"
|
msgstr "Français (Französisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Litauisch)"
|
msgstr "Lietuvių (Litauisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (Norwegisch)"
|
msgstr "Norsk (Norwegisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (brasilianisches Portugiesisch)"
|
msgstr "Português do Brasil (brasilianisches Portugiesisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugiesisch)"
|
msgstr "Português Europeu (Portugiesisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (vereinfachtes Chinesisch)"
|
msgstr "简体中文 (vereinfachtes Chinesisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Chinesisch, traditionell)"
|
msgstr "繁體中文 (Chinesisch, traditionell)"
|
||||||
|
|
||||||
|
@ -315,58 +315,54 @@ msgstr "Etwas ist schief gelaufen! Tut uns leid."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Über"
|
msgstr "Über"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Willkommen auf %(site_name)s!"
|
msgstr "Willkommen auf %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s ist Teil von <em>BookWyrm</em>, ein Netzwerk unabhängiger, selbstverwalteter Gemeinschaften für Leser*innen. Obwohl du dich nahtlos mit anderen Benutzer*innen überall im <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm-Netzwerk</a> austauschen kannst, ist diese Gemeinschaft einzigartig."
|
msgstr "%(site_name)s ist Teil von <em>BookWyrm</em>, ein Netzwerk unabhängiger, selbstverwalteter Gemeinschaften für Leser*innen. Obwohl du dich nahtlos mit anderen Benutzer*innen überall im <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm-Netzwerk</a> austauschen kannst, ist diese Gemeinschaft einzigartig."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> ist mit einer durchschnittlichen Bewertung von %(rating)s (von 5) das beliebtestes Buch auf %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> ist mit einer durchschnittlichen Bewertung von %(rating)s (von 5) das beliebtestes Buch auf %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "Das Buch <a href=\"%(book_path)s\"><em>%(title)s</em></a> wollen mehr Benutzer*innen von %(site_name)s lesen als jedes andere Buch."
|
msgstr "Das Buch <a href=\"%(book_path)s\"><em>%(title)s</em></a> wollen mehr Benutzer*innen von %(site_name)s lesen als jedes andere Buch."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> hat die unterschiedlichsten Bewertungen aller Bücher auf %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> hat die unterschiedlichsten Bewertungen aller Bücher auf %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Verfolge deine Lektüre, sprich über Bücher, schreibe Besprechungen und entdecke, was Du als Nächstes lesen könntest. BookWyrm ist eine Software im menschlichen Maßstab, die immer übersichtlich, werbefrei, persönlich, und gemeinschaftsorientiert sein wird. Wenn du Feature-Anfragen, Fehlerberichte oder große Träume hast, wende dich <a href='https://joinbookwyrm.com/get-involved' target='_blank'>an</a> und verschaffe dir Gehör."
|
msgstr "Verfolge deine Lektüre, sprich über Bücher, schreibe Besprechungen und entdecke, was Du als Nächstes lesen könntest. BookWyrm ist eine Software im menschlichen Maßstab, die immer übersichtlich, werbefrei, persönlich, und gemeinschaftsorientiert sein wird. Wenn du Feature-Anfragen, Fehlerberichte oder große Träume hast, wende dich <a href='https://joinbookwyrm.com/get-involved' target='_blank'>an</a> und verschaffe dir Gehör."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Lerne deinen Admins kennen"
|
msgstr "Lerne deinen Admins kennen"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr ""
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
" die Moderator*innen und Administrator*innen von %(site_name)s halten diese Seite in Betrieb, setzen die <a href=\"coc_path\">Verhaltensregeln</a> durch und reagieren auf Meldungen über Spam oder schlechtes Benehmen von Nutzer*innen.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderator*in"
|
msgstr "Moderator*in"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administration"
|
msgstr "Administration"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -428,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Adresse kopieren"
|
msgstr "Adresse kopieren"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Kopiert!"
|
msgstr "Kopiert!"
|
||||||
|
|
||||||
|
@ -497,7 +493,7 @@ msgstr "Das am schnellsten gelesene Buch dieses Jahr …"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "von"
|
msgstr "von"
|
||||||
|
@ -733,9 +729,9 @@ msgstr "Das Laden von Daten wird eine Verbindung zu <strong>%(source_name)s</str
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bestätigen"
|
msgstr "Bestätigen"
|
||||||
|
|
||||||
|
@ -819,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Orte"
|
msgstr "Orte"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -834,7 +830,7 @@ msgstr "Zur Liste hinzufügen"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -936,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Zurück"
|
msgstr "Zurück"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Titel:"
|
msgstr "Titel:"
|
||||||
|
|
||||||
|
@ -1653,7 +1649,7 @@ msgid "What are you reading?"
|
||||||
msgstr "Was liest du gerade?"
|
msgstr "Was liest du gerade?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Nach einem Buch suchen"
|
msgstr "Nach einem Buch suchen"
|
||||||
|
|
||||||
|
@ -1671,9 +1667,9 @@ msgstr "Du kannst Bücher hinzufügen, wenn du %(site_name)s benutzt."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1689,7 +1685,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Auf %(site_name)s beliebt"
|
msgstr "Auf %(site_name)s beliebt"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Keine Bücher gefunden"
|
msgstr "Keine Bücher gefunden"
|
||||||
|
|
||||||
|
@ -1794,7 +1790,7 @@ msgstr "Diese Aktion kann nicht rückgängig gemacht werden"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Löschen"
|
msgstr "Löschen"
|
||||||
|
|
||||||
|
@ -1814,17 +1810,17 @@ msgstr "Gruppenbeschreibung:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Gruppe löschen"
|
msgstr "Gruppe löschen"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Mitglieder dieser Gruppe können von der Gruppe kuratierte Listen anlegen."
|
msgstr "Mitglieder dieser Gruppe können von der Gruppe kuratierte Listen anlegen."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Liste erstellen"
|
msgstr "Liste erstellen"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Diese Gruppe enthält keine Listen"
|
msgstr "Diese Gruppe enthält keine Listen"
|
||||||
|
|
||||||
|
@ -1832,15 +1828,15 @@ msgstr "Diese Gruppe enthält keine Listen"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Gruppe bearbeiten"
|
msgstr "Gruppe bearbeiten"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Hinzuzufügende*n Benutzer*in suchen"
|
msgstr "Hinzuzufügende*n Benutzer*in suchen"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Gruppe verlassen"
|
msgstr "Gruppe verlassen"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2297,18 +2293,18 @@ msgstr "Diese Liste löschen?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Liste bearbeiten"
|
msgstr "Liste bearbeiten"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, eine Liste von %(owner)s"
|
msgstr "%(list_name)s, eine Liste von %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "auf <a href=\"/\">%(site_name)s</a>"
|
msgstr "auf <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Diese Liste ist momentan leer"
|
msgstr "Diese Liste ist momentan leer"
|
||||||
|
|
||||||
|
@ -2369,76 +2365,76 @@ msgstr "Gruppe erstellen"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Liste löschen"
|
msgstr "Liste löschen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Dein Buchvorschlag wurde dieser Liste hinzugefügt!"
|
msgstr "Dein Buchvorschlag wurde dieser Liste hinzugefügt!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Du hast ein Buch zu dieser Liste hinzugefügt!"
|
msgstr "Du hast ein Buch zu dieser Liste hinzugefügt!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Hinzugefügt von <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Hinzugefügt von <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Listenposition"
|
msgstr "Listenposition"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Übernehmen"
|
msgstr "Übernehmen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Entfernen"
|
msgstr "Entfernen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Liste sortieren"
|
msgstr "Liste sortieren"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Reihenfolge"
|
msgstr "Reihenfolge"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Bücher hinzufügen"
|
msgstr "Bücher hinzufügen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Bücher vorschlagen"
|
msgstr "Bücher vorschlagen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "suchen"
|
msgstr "suchen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Suche zurücksetzen"
|
msgstr "Suche zurücksetzen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Keine passenden Bücher zu „%(query)s“ gefunden"
|
msgstr "Keine passenden Bücher zu „%(query)s“ gefunden"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Vorschlagen"
|
msgstr "Vorschlagen"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Diese Liste auf einer Webseite einbetten"
|
msgstr "Diese Liste auf einer Webseite einbetten"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Code zum einbetten kopieren"
|
msgstr "Code zum einbetten kopieren"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, eine Liste von %(owner)s auf %(site_name)s"
|
msgstr "%(list_name)s, eine Liste von %(owner)s auf %(site_name)s"
|
||||||
|
@ -3914,15 +3910,15 @@ msgstr "Abgeschlossen"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Dieses Regal ist leer."
|
msgstr "Dieses Regal ist leer."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Einladen"
|
msgstr "Einladen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Einladung stornieren"
|
msgstr "Einladung stornieren"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "@%(username)s entfernen"
|
msgstr "@%(username)s entfernen"
|
||||||
|
@ -4010,7 +4006,7 @@ msgstr "Spoileralarm!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Spoileralarm aktivieren"
|
msgstr "Spoileralarm aktivieren"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Kommentar:"
|
msgstr "Kommentar:"
|
||||||
|
@ -4019,33 +4015,33 @@ msgstr "Kommentar:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Veröffentlichen"
|
msgstr "Veröffentlichen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Zitat:"
|
msgstr "Zitat:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Ein Auszug aus „%(book_title)s“"
|
msgstr "Ein Auszug aus „%(book_title)s“"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Position:"
|
msgstr "Position:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "Auf Seite:"
|
msgstr "Auf Seite:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Bei Prozentsatz:"
|
msgstr "Bei Prozentsatz:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "Deine Besprechung von „%(book_title)s“"
|
msgstr "Deine Besprechung von „%(book_title)s“"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Besprechung:"
|
msgstr "Besprechung:"
|
||||||
|
|
||||||
|
@ -4099,7 +4095,7 @@ msgid "Unfollow"
|
||||||
msgstr "Entfolgen"
|
msgstr "Entfolgen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Annehmen"
|
msgstr "Annehmen"
|
||||||
|
|
||||||
|
@ -4139,15 +4135,15 @@ msgstr[1] "hat <em><a href=\"%(path)s\">%(title)s</a></em> mit %(display_rating)
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] "Besprechung von „<a href='%(book_path)s'>%(book_title)s</a>“ (%(display_rating)s Stern): %(review_title)s"
|
msgstr[0] ""
|
||||||
msgstr[1] "Besprechungen von „<a href='%(book_path)s'>%(book_title)s</a>“ (%(display_rating)s Stern): %(review_title)s"
|
msgstr[1] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr "Besprechung von „<a href='%(book_path)s'>%(book_title)s</a>: %(review_title)s"
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4217,11 +4213,11 @@ msgstr "Nur für Follower*innen"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Beitragssichtbarkeit"
|
msgstr "Beitragssichtbarkeit"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Bewerten"
|
msgstr "Bewerten"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Bewerten"
|
msgstr "Bewerten"
|
||||||
|
|
||||||
|
@ -4315,29 +4311,29 @@ msgstr "Aus %(name)s entfernen"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Lesen abschließen"
|
msgstr "Lesen abschließen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Inhaltswarnung"
|
msgstr "Inhaltswarnung"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Status anzeigen"
|
msgstr "Status anzeigen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Seite %(page)s)"
|
msgstr "(Seite %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Bild in neuem Fenster öffnen"
|
msgstr "Bild in neuem Fenster öffnen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Status ausblenden"
|
msgstr "Status ausblenden"
|
||||||
|
|
||||||
|
@ -4630,7 +4626,7 @@ msgstr "Es wurde kein*e Benutzer*in mit dieser E-Mail-Adresse gefunden."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Ein Link zum Zurücksetzen des Passworts wurde an {email} gesendet"
|
msgstr "Ein Link zum Zurücksetzen des Passworts wurde an {email} gesendet"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Status -Updates von {obj.display_name}"
|
msgstr "Status -Updates von {obj.display_name}"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 0.0.1\n"
|
"Project-Id-Version: 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-20 17:58+0000\n"
|
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
||||||
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: English <LL@li.org>\n"
|
"Language-Team: English <LL@li.org>\n"
|
||||||
|
@ -47,33 +47,33 @@ msgstr ""
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:483
|
#: bookwyrm/forms.py:489
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:484
|
#: bookwyrm/forms.py:490
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491
|
#: bookwyrm/forms.py:497
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:492
|
#: bookwyrm/forms.py:498
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:505
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -284,10 +284,14 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "Swedish (Svenska)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/settings.py:260
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -316,54 +320,54 @@ msgstr ""
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -425,7 +429,7 @@ msgid "Copy address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:269
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -690,6 +694,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
#: bookwyrm/templates/book/file_links/edit_links.html:82
|
||||||
#: bookwyrm/templates/groups/form.html:30
|
#: bookwyrm/templates/groups/form.html:30
|
||||||
#: bookwyrm/templates/lists/bookmark_button.html:15
|
#: bookwyrm/templates/lists/bookmark_button.html:15
|
||||||
|
#: bookwyrm/templates/lists/edit_item_form.html:15
|
||||||
#: bookwyrm/templates/lists/form.html:130
|
#: bookwyrm/templates/lists/form.html:130
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:124
|
#: bookwyrm/templates/preferences/edit_user.html:124
|
||||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
|
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
|
||||||
|
@ -713,6 +718,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:21
|
#: bookwyrm/templates/book/file_links/verification_modal.html:21
|
||||||
#: bookwyrm/templates/book/sync_modal.html:23
|
#: bookwyrm/templates/book/sync_modal.html:23
|
||||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||||
|
#: bookwyrm/templates/lists/add_item_modal.html:42
|
||||||
#: bookwyrm/templates/lists/delete_list_modal.html:18
|
#: bookwyrm/templates/lists/delete_list_modal.html:18
|
||||||
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
|
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
|
||||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
|
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
|
||||||
|
@ -817,7 +823,7 @@ msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
#: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -831,7 +837,8 @@ msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:209
|
#: bookwyrm/templates/lists/add_item_modal.html:37
|
||||||
|
#: bookwyrm/templates/lists/list.html:247
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -1551,16 +1558,11 @@ msgstr ""
|
||||||
msgid "You have no messages right now."
|
msgid "You have no messages right now."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/feed/feed.html:28
|
#: bookwyrm/templates/feed/feed.html:54
|
||||||
#, python-format
|
|
||||||
msgid "load <span data-poll=\"stream/%(tab_key)s\">0</span> unread status(es)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: bookwyrm/templates/feed/feed.html:51
|
|
||||||
msgid "There aren't any activities right now! Try following a user to get started"
|
msgid "There aren't any activities right now! Try following a user to get started"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/feed/feed.html:52
|
#: bookwyrm/templates/feed/feed.html:55
|
||||||
msgid "Alternatively, you can try enabling more status types"
|
msgid "Alternatively, you can try enabling more status types"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1649,7 +1651,7 @@ msgid "What are you reading?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:205
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1669,7 +1671,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:15
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1685,7 +1687,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:180
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2034,7 +2036,7 @@ msgid "Approving a suggestion will permanently add the suggested book to your sh
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/import/manual_review.html:58
|
#: bookwyrm/templates/import/manual_review.html:58
|
||||||
#: bookwyrm/templates/lists/curate.html:59
|
#: bookwyrm/templates/lists/curate.html:71
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:76
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:76
|
||||||
msgid "Approve"
|
msgid "Approve"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2245,6 +2247,21 @@ msgstr ""
|
||||||
msgid "BookWyrm's source code is freely available. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
|
msgid "BookWyrm's source code is freely available. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/add_item_modal.html:8
|
||||||
|
#, python-format
|
||||||
|
msgid "Add \"<em>%(title)s</em>\" to this list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/add_item_modal.html:12
|
||||||
|
#, python-format
|
||||||
|
msgid "Suggest \"<em>%(title)s</em>\" for this list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/add_item_modal.html:39
|
||||||
|
#: bookwyrm/templates/lists/list.html:249
|
||||||
|
msgid "Suggest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/bookmark_button.html:30
|
#: bookwyrm/templates/lists/bookmark_button.html:30
|
||||||
msgid "Un-save"
|
msgid "Un-save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2264,23 +2281,29 @@ msgstr ""
|
||||||
msgid "Created by <a href=\"%(path)s\">%(username)s</a>"
|
msgid "Created by <a href=\"%(path)s\">%(username)s</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:11
|
#: bookwyrm/templates/lists/curate.html:12
|
||||||
msgid "Curate"
|
msgid "Curate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:20
|
#: bookwyrm/templates/lists/curate.html:21
|
||||||
msgid "Pending Books"
|
msgid "Pending Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:23
|
#: bookwyrm/templates/lists/curate.html:24
|
||||||
msgid "You're all set!"
|
msgid "You're all set!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:43
|
#: bookwyrm/templates/lists/curate.html:45
|
||||||
|
#: bookwyrm/templates/lists/list.html:83
|
||||||
|
#, python-format
|
||||||
|
msgid "<a href=\"%(user_path)s\">%(username)s</a> says:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/curate.html:55
|
||||||
msgid "Suggested by"
|
msgid "Suggested by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:65
|
#: bookwyrm/templates/lists/curate.html:77
|
||||||
msgid "Discard"
|
msgid "Discard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2304,7 +2327,7 @@ msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:27
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:43
|
#: bookwyrm/templates/lists/list.html:44
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2365,76 +2388,89 @@ msgstr ""
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:35
|
#: bookwyrm/templates/lists/item_notes_field.html:7
|
||||||
|
#: bookwyrm/templates/settings/federation/edit_instance.html:74
|
||||||
|
msgid "Notes:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/item_notes_field.html:19
|
||||||
|
msgid "An optional note that will be displayed with the book."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/list.html:36
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:37
|
#: bookwyrm/templates/lists/list.html:38
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:81
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
|
msgid "Edit notes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/list.html:111
|
||||||
|
msgid "Add notes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/lists/list.html:123
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:96
|
#: bookwyrm/templates/lists/list.html:138
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:102
|
#: bookwyrm/templates/lists/list.html:144
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:117
|
#: bookwyrm/templates/lists/list.html:159
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:131
|
#: bookwyrm/templates/lists/list.html:173
|
||||||
#: bookwyrm/templates/lists/list.html:148
|
#: bookwyrm/templates/lists/list.html:190
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:141
|
#: bookwyrm/templates/lists/list.html:183
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:155
|
#: bookwyrm/templates/lists/list.html:197
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:157
|
#: bookwyrm/templates/lists/list.html:199
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:168
|
#: bookwyrm/templates/lists/list.html:210
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:174
|
#: bookwyrm/templates/lists/list.html:216
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:221
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:211
|
#: bookwyrm/templates/lists/list.html:260
|
||||||
msgid "Suggest"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:222
|
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:268
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:232
|
#: bookwyrm/templates/lists/list.html:270
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3222,10 +3258,6 @@ msgstr ""
|
||||||
msgid "Version:"
|
msgid "Version:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/federation/edit_instance.html:74
|
|
||||||
msgid "Notes:"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/federation/instance.html:19
|
#: bookwyrm/templates/settings/federation/instance.html:19
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4626,7 +4658,14 @@ msgstr ""
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/views/updates.py:45
|
||||||
|
#, python-format
|
||||||
|
msgid "Load %(count)d unread status"
|
||||||
|
msgid_plural "Load %(count)d unread statuses"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 20:55\n"
|
"PO-Revision-Date: 2022-01-26 11:26\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Título"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Valoración"
|
msgstr "Valoración"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citas"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Todo lo demás"
|
msgstr "Todo lo demás"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Línea de tiempo principal"
|
msgstr "Línea de tiempo principal"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Inicio"
|
msgstr "Inicio"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Línea temporal de libros"
|
msgstr "Línea temporal de libros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Libros"
|
msgstr "Libros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Inglés)"
|
msgstr "English (Inglés)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch (Alemán)"
|
msgstr "Deutsch (Alemán)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español"
|
msgstr "Español"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Gallego)"
|
msgstr "Galego (Gallego)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano"
|
msgstr "Italiano"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Francés)"
|
msgstr "Français (Francés)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Lituano)"
|
msgstr "Lietuvių (Lituano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (Noruego)"
|
msgstr "Norsk (Noruego)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (Portugués brasileño)"
|
msgstr "Português do Brasil (Portugués brasileño)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugués europeo)"
|
msgstr "Português Europeu (Portugués europeo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Chino simplificado)"
|
msgstr "简体中文 (Chino simplificado)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Chino tradicional)"
|
msgstr "繁體中文 (Chino tradicional)"
|
||||||
|
|
||||||
|
@ -315,58 +315,54 @@ msgstr "¡Algo salió mal! Disculpa."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Acerca de"
|
msgstr "Acerca de"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "¡Bienvenido a %(site_name)s!"
|
msgstr "¡Bienvenido a %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s es parte de <em>BookWyrm</em>, una red de comunidades independientes y autogestionadas para lectores. Aunque puedes interactuar sin problemas con los usuarios de cualquier parte de la <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">red BookWyrm</a>, esta comunidad es única."
|
msgstr "%(site_name)s es parte de <em>BookWyrm</em>, una red de comunidades independientes y autogestionadas para lectores. Aunque puedes interactuar sin problemas con los usuarios de cualquier parte de la <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">red BookWyrm</a>, esta comunidad es única."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> es el libro más querido de %(site_name)s, con una valoración promedio de %(rating)s sobre 5."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> es el libro más querido de %(site_name)s, con una valoración promedio de %(rating)s sobre 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "Los usuarios de %(site_name)s quieren leer <a href=\"%(book_path)s\"><em>%(title)s</em></a> más que cualquier otro libro."
|
msgstr "Los usuarios de %(site_name)s quieren leer <a href=\"%(book_path)s\"><em>%(title)s</em></a> más que cualquier otro libro."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "Las valoraciones de <a href=\"%(book_path)s\"><em>%(title)s</em></a> están más divididas que las de cualquier otro libro en %(site_name)s."
|
msgstr "Las valoraciones de <a href=\"%(book_path)s\"><em>%(title)s</em></a> están más divididas que las de cualquier otro libro en %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Haz un registro de tu lectura, habla sobre libros, escribe reseñas y descubre qué leer a continuación. BookWyrm es un software de escala humana, siempre sin anuncios, anticorporativo y orientado a la comunidad, diseñado para ser pequeño y personal. Si tienes solicitudes de características, informes de errores o grandes sueños, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contacta</a> y hazte oír."
|
msgstr "Haz un registro de tu lectura, habla sobre libros, escribe reseñas y descubre qué leer a continuación. BookWyrm es un software de escala humana, siempre sin anuncios, anticorporativo y orientado a la comunidad, diseñado para ser pequeño y personal. Si tienes solicitudes de características, informes de errores o grandes sueños, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contacta</a> y hazte oír."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Conoce a tus administradores"
|
msgstr "Conoce a tus administradores"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en funcionamiento, hacen cumplir el <a href=\"coc_path\">código de conducta</a> y responden cuando los usuarios informan de spam y mal comportamiento."
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
" Los moderadores y administradores de %(site_name)s mantienen el sitio en funcionamiento, hacen cumplir el <a href=\"coc_path\">código de conducta</a> y responden cuando los usuarios reportan spam y mal comportamiento.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderador"
|
msgstr "Moderador"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrador"
|
msgstr "Administrador"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -428,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Copiar dirección"
|
msgstr "Copiar dirección"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "¡Copiado!"
|
msgstr "¡Copiado!"
|
||||||
|
|
||||||
|
@ -497,7 +493,7 @@ msgstr "Su lectura más corta de este año…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "por"
|
msgstr "por"
|
||||||
|
@ -733,9 +729,9 @@ msgstr "La carga de datos se conectará a <strong>%(source_name)s</strong> y com
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
|
@ -819,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Lugares"
|
msgstr "Lugares"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -834,7 +830,7 @@ msgstr "Agregar a lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -936,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Volver"
|
msgstr "Volver"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Título:"
|
msgstr "Título:"
|
||||||
|
|
||||||
|
@ -1653,7 +1649,7 @@ msgid "What are you reading?"
|
||||||
msgstr "¿Qué estás leyendo?"
|
msgstr "¿Qué estás leyendo?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Buscar libros"
|
msgstr "Buscar libros"
|
||||||
|
|
||||||
|
@ -1671,9 +1667,9 @@ msgstr "Puedes agregar libros cuando comiences a usar %(site_name)s."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1689,7 +1685,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Popular en %(site_name)s"
|
msgstr "Popular en %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "No se encontró ningún libro"
|
msgstr "No se encontró ningún libro"
|
||||||
|
|
||||||
|
@ -1794,7 +1790,7 @@ msgstr "Esta acción no se puede deshacer"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Eliminar"
|
msgstr "Eliminar"
|
||||||
|
|
||||||
|
@ -1814,17 +1810,17 @@ msgstr "Descripción del grupo:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Eliminar grupo"
|
msgstr "Eliminar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Los miembros de este grupo pueden crear listas comisariadas en grupo."
|
msgstr "Los miembros de este grupo pueden crear listas comisariadas en grupo."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Crear lista"
|
msgstr "Crear lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Este grupo no tiene listas"
|
msgstr "Este grupo no tiene listas"
|
||||||
|
|
||||||
|
@ -1832,15 +1828,15 @@ msgstr "Este grupo no tiene listas"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Editar grupo"
|
msgstr "Editar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Buscar para agregar un usuario"
|
msgstr "Buscar para agregar un usuario"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Dejar grupo"
|
msgstr "Dejar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2297,18 +2293,18 @@ msgstr "¿Eliminar esta lista?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Editar lista"
|
msgstr "Editar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, una lista de %(owner)s"
|
msgstr "%(list_name)s, una lista de %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "en <a href=\"/\">%(site_name)s</a>"
|
msgstr "en <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Esta lista está vacia"
|
msgstr "Esta lista está vacia"
|
||||||
|
|
||||||
|
@ -2369,76 +2365,76 @@ msgstr "Crear un grupo"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Eliminar lista"
|
msgstr "Eliminar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "¡Has sugerido un libro para esta lista exitosamente!"
|
msgstr "¡Has sugerido un libro para esta lista exitosamente!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "¡Has agregado un libro a esta lista exitosamente!"
|
msgstr "¡Has agregado un libro a esta lista exitosamente!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Agregado por <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Agregado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Posición"
|
msgstr "Posición"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Establecido"
|
msgstr "Establecido"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Quitar"
|
msgstr "Quitar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Ordena la lista"
|
msgstr "Ordena la lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Dirección"
|
msgstr "Dirección"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Agregar libros"
|
msgstr "Agregar libros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Sugerir libros"
|
msgstr "Sugerir libros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "buscar"
|
msgstr "buscar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Borrar búsqueda"
|
msgstr "Borrar búsqueda"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "No se encontró ningún libro correspondiente a la búsqueda: \"%(query)s\""
|
msgstr "No se encontró ningún libro correspondiente a la búsqueda: \"%(query)s\""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Sugerir"
|
msgstr "Sugerir"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Incrustar esta lista en un sitio web"
|
msgstr "Incrustar esta lista en un sitio web"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Copiar código para incrustar"
|
msgstr "Copiar código para incrustar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, una lista de %(owner)s en %(site_name)s"
|
msgstr "%(list_name)s, una lista de %(owner)s en %(site_name)s"
|
||||||
|
@ -3914,15 +3910,15 @@ msgstr "Terminado"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Esta estantería está vacía."
|
msgstr "Esta estantería está vacía."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Invitar"
|
msgstr "Invitar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Anular la invitación"
|
msgstr "Anular la invitación"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Eliminar a @%(username)s"
|
msgstr "Eliminar a @%(username)s"
|
||||||
|
@ -4010,7 +4006,7 @@ msgstr "¡Advertencia, ya vienen spoilers!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Incluir alerta de spoiler"
|
msgstr "Incluir alerta de spoiler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Comentario:"
|
msgstr "Comentario:"
|
||||||
|
@ -4019,33 +4015,33 @@ msgstr "Comentario:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Compartir"
|
msgstr "Compartir"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Cita:"
|
msgstr "Cita:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Un extracto de '%(book_title)s'"
|
msgstr "Un extracto de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Posición:"
|
msgstr "Posición:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "En la página:"
|
msgstr "En la página:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Al por ciento:"
|
msgstr "Al por ciento:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "Tu reseña de '%(book_title)s'"
|
msgstr "Tu reseña de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Reseña:"
|
msgstr "Reseña:"
|
||||||
|
|
||||||
|
@ -4099,7 +4095,7 @@ msgid "Unfollow"
|
||||||
msgstr "Dejar de seguir"
|
msgstr "Dejar de seguir"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
|
@ -4139,15 +4135,15 @@ msgstr[1] "valoró <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rating
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] "Reseña de «<a href='%(book_path)s'>%(book_title)s</a>» (%(display_rating)s estrella): %(review_title)s"
|
msgstr[0] "Reseña de «%(book_title)s» (%(display_rating)s estrella): %(review_title)s"
|
||||||
msgstr[1] "Reseña de «<a href='%(book_path)s'>%(book_title)s</a>» (%(display_rating)s estrellas): %(review_title)s"
|
msgstr[1] "Reseña de «%(book_title)s» (%(display_rating)s estrellas): %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr "Reseña de «<a href='%(book_path)s'>%(book_title)s</a>»: %(review_title)s"
|
msgstr "Reseña de «%(book_title)s»: %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4217,11 +4213,11 @@ msgstr "Solo seguidores"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Privacidad de publicación"
|
msgstr "Privacidad de publicación"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Da una valoración"
|
msgstr "Da una valoración"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Valorar"
|
msgstr "Valorar"
|
||||||
|
|
||||||
|
@ -4315,29 +4311,29 @@ msgstr "Quitar de %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Terminar de leer"
|
msgstr "Terminar de leer"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Advertencia de contenido"
|
msgstr "Advertencia de contenido"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Mostrar estado"
|
msgstr "Mostrar estado"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Página %(page)s)"
|
msgstr "(Página %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Abrir imagen en una nueva ventana"
|
msgstr "Abrir imagen en una nueva ventana"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Ocultar estado"
|
msgstr "Ocultar estado"
|
||||||
|
|
||||||
|
@ -4630,7 +4626,7 @@ msgstr "No se pudo encontrar un usuario con esa dirección de correo electrónic
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Un enlace para reestablecer tu contraseña se envió a {email}"
|
msgstr "Un enlace para reestablecer tu contraseña se envió a {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Actualizaciones de status de {obj.display_name}"
|
msgstr "Actualizaciones de status de {obj.display_name}"
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 20:55\n"
|
"PO-Revision-Date: 2022-01-24 18:55\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: French\n"
|
"Language-Team: French\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Titre du livre"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Note"
|
msgstr "Note"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Trier par"
|
msgstr "Trier par"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citations"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Tout le reste"
|
msgstr "Tout le reste"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Mon fil d’actualité"
|
msgstr "Mon fil d’actualité"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Accueil"
|
msgstr "Accueil"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Actualité de mes livres"
|
msgstr "Actualité de mes livres"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Livres"
|
msgstr "Livres"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English"
|
msgstr "English"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch"
|
msgstr "Deutsch"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español"
|
msgstr "Español"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Galicien)"
|
msgstr "Galego (Galicien)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (italien)"
|
msgstr "Italiano (italien)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français"
|
msgstr "Français"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Lituanien)"
|
msgstr "Lietuvių (Lituanien)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (norvégien)"
|
msgstr "Norsk (norvégien)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (Portugais brésilien)"
|
msgstr "Português do Brasil (Portugais brésilien)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugais européen)"
|
msgstr "Português Europeu (Portugais européen)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简化字"
|
msgstr "简化字"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "Infos supplémentaires :"
|
msgstr "Infos supplémentaires :"
|
||||||
|
|
||||||
|
@ -315,58 +315,54 @@ msgstr "Une erreur s’est produite ; désolé !"
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "À propos"
|
msgstr "À propos"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Bienvenue sur %(site_name)s !"
|
msgstr "Bienvenue sur %(site_name)s !"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s fait partie de <em>BookWyrm</em>, un réseau de communautés indépendantes et autogérées, à destination des lecteurs. Bien que vous puissiez interagir apparemment avec les comptes n'importe où dans le <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">réseau BookWyrm</a>, cette communauté est unique."
|
msgstr "%(site_name)s fait partie de <em>BookWyrm</em>, un réseau de communautés indépendantes et autogérées, à destination des lecteurs. Bien que vous puissiez interagir apparemment avec les comptes n'importe où dans le <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">réseau BookWyrm</a>, cette communauté est unique."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> est le livre le plus aimé de %(site_name)s, avec une note moyenne de %(rating)s sur 5."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> est le livre le plus aimé de %(site_name)s, avec une note moyenne de %(rating)s sur 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "Sur %(site_name)s, c’est <a href=\"%(book_path)s\"><em>%(title)s</em></a> que tout le monde veut lire plus que n’importe quel autre livre."
|
msgstr "Sur %(site_name)s, c’est <a href=\"%(book_path)s\"><em>%(title)s</em></a> que tout le monde veut lire plus que n’importe quel autre livre."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> divise les critiques plus que n’importe quel autre livre sur %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> divise les critiques plus que n’importe quel autre livre sur %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Gardez trace de vos lectures, parlez de livres, écrivez des commentaires et découvrez quoi lire ensuite. BookWyrm est un logiciel à échelle humaine, sans publicité, anti-capitaliste et axé sur la communauté, conçu pour rester petit et personnel. Si vous avez des demandes de fonctionnalités, des rapports de bogue ou des rêves grandioses, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>rejoignez-nous</a> et faites-vous entendre."
|
msgstr "Gardez trace de vos lectures, parlez de livres, écrivez des commentaires et découvrez quoi lire ensuite. BookWyrm est un logiciel à échelle humaine, sans publicité, anti-capitaliste et axé sur la communauté, conçu pour rester petit et personnel. Si vous avez des demandes de fonctionnalités, des rapports de bogue ou des rêves grandioses, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>rejoignez-nous</a> et faites-vous entendre."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Rencontrez vos admins"
|
msgstr "Rencontrez vos admins"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr ""
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
" Les admins et modérateurs/modératrices de %(site_name)s maintiennent le site opérationnel, font respecter le <a href=\"coc_path\">code de conduite</a>, et répondent lorsque les utilisateurs signalent spam et mauvais comportements.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Modérateur/modératrice"
|
msgstr "Modérateur/modératrice"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -428,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Copier l’adresse"
|
msgstr "Copier l’adresse"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Copié !"
|
msgstr "Copié !"
|
||||||
|
|
||||||
|
@ -497,7 +493,7 @@ msgstr "Sa lecture la plus courte l’année…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "de"
|
msgstr "de"
|
||||||
|
@ -733,9 +729,9 @@ msgstr "Le chargement des données se connectera à <strong>%(source_name)s</str
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmer"
|
msgstr "Confirmer"
|
||||||
|
|
||||||
|
@ -819,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Lieux"
|
msgstr "Lieux"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -834,7 +830,7 @@ msgstr "Ajouter à la liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -936,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Retour"
|
msgstr "Retour"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Titre :"
|
msgstr "Titre :"
|
||||||
|
|
||||||
|
@ -1653,7 +1649,7 @@ msgid "What are you reading?"
|
||||||
msgstr "Que lisez‑vous ?"
|
msgstr "Que lisez‑vous ?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Chercher un livre"
|
msgstr "Chercher un livre"
|
||||||
|
|
||||||
|
@ -1671,9 +1667,9 @@ msgstr "Vous pourrez ajouter des livres lorsque vous commencerez à utiliser %(s
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1689,7 +1685,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Populaire sur %(site_name)s"
|
msgstr "Populaire sur %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Aucun livre trouvé"
|
msgstr "Aucun livre trouvé"
|
||||||
|
|
||||||
|
@ -1794,7 +1790,7 @@ msgstr "Cette action ne peut pas être annulée"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
|
||||||
|
@ -1814,17 +1810,17 @@ msgstr "Description du groupe :"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Supprimer le groupe"
|
msgstr "Supprimer le groupe"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Les membres de ce groupe peuvent créer des listes gérées par le groupe."
|
msgstr "Les membres de ce groupe peuvent créer des listes gérées par le groupe."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Créer une liste"
|
msgstr "Créer une liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Ce groupe n'a pas de liste"
|
msgstr "Ce groupe n'a pas de liste"
|
||||||
|
|
||||||
|
@ -1832,15 +1828,15 @@ msgstr "Ce groupe n'a pas de liste"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Modifier le groupe"
|
msgstr "Modifier le groupe"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Chercher et ajouter un·e utilisateur·rice"
|
msgstr "Chercher et ajouter un·e utilisateur·rice"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Quitter le groupe"
|
msgstr "Quitter le groupe"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2297,18 +2293,18 @@ msgstr "Supprimer cette liste ?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Modifier la liste"
|
msgstr "Modifier la liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, une liste de %(owner)s"
|
msgstr "%(list_name)s, une liste de %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "sur <a href=\"/\">%(site_name)s</a>"
|
msgstr "sur <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Cette liste est actuellement vide"
|
msgstr "Cette liste est actuellement vide"
|
||||||
|
|
||||||
|
@ -2369,76 +2365,76 @@ msgstr "Créer un Groupe"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Supprimer la liste"
|
msgstr "Supprimer la liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Vous avez suggéré un livre à cette liste !"
|
msgstr "Vous avez suggéré un livre à cette liste !"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Vous avez ajouté un livre à cette liste !"
|
msgstr "Vous avez ajouté un livre à cette liste !"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Ajouté par <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Ajouté par <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Position"
|
msgstr "Position"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Appliquer"
|
msgstr "Appliquer"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Retirer"
|
msgstr "Retirer"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Trier la liste"
|
msgstr "Trier la liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Direction"
|
msgstr "Direction"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Ajouter des livres"
|
msgstr "Ajouter des livres"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Suggérer des livres"
|
msgstr "Suggérer des livres"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "chercher"
|
msgstr "chercher"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Vider la requête"
|
msgstr "Vider la requête"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Aucun livre trouvé pour la requête « %(query)s »"
|
msgstr "Aucun livre trouvé pour la requête « %(query)s »"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Suggérer"
|
msgstr "Suggérer"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Intégrez cette liste sur un autre site internet"
|
msgstr "Intégrez cette liste sur un autre site internet"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Copier le code d'intégration"
|
msgstr "Copier le code d'intégration"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, une liste de %(owner)s sur %(site_name)s"
|
msgstr "%(list_name)s, une liste de %(owner)s sur %(site_name)s"
|
||||||
|
@ -3914,15 +3910,15 @@ msgstr "Terminé"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Cette étagère est vide"
|
msgstr "Cette étagère est vide"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Inviter"
|
msgstr "Inviter"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Annuler l'invitation"
|
msgstr "Annuler l'invitation"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Retirer @%(username)s"
|
msgstr "Retirer @%(username)s"
|
||||||
|
@ -4010,7 +4006,7 @@ msgstr "Attention spoilers !"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Afficher une alerte spoiler"
|
msgstr "Afficher une alerte spoiler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Commentaire :"
|
msgstr "Commentaire :"
|
||||||
|
@ -4019,33 +4015,33 @@ msgstr "Commentaire :"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Publier"
|
msgstr "Publier"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Citation :"
|
msgstr "Citation :"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Un extrait de '%(book_title)s'"
|
msgstr "Un extrait de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Emplacement :"
|
msgstr "Emplacement :"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "À la page :"
|
msgstr "À la page :"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Au pourcentage :"
|
msgstr "Au pourcentage :"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "Votre critique de '%(book_title)s'"
|
msgstr "Votre critique de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Critique :"
|
msgstr "Critique :"
|
||||||
|
|
||||||
|
@ -4099,7 +4095,7 @@ msgid "Unfollow"
|
||||||
msgstr "Se désabonner"
|
msgstr "Se désabonner"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Accepter"
|
msgstr "Accepter"
|
||||||
|
|
||||||
|
@ -4139,15 +4135,15 @@ msgstr[1] "a noté <em><a href=\"%(path)s\">%(title)s</a></em> : %(display_ratin
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] "Critique de « <a href='%(book_path)s'>%(book_title)s</a> » (%(display_rating)s étoile) : %(review_title)s"
|
msgstr[0] ""
|
||||||
msgstr[1] "Critique de « <a href='%(book_path)s'>%(book_title)s</a> » (%(display_rating)s étoile) : %(review_title)s"
|
msgstr[1] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr "Critique de « <a href='%(book_path)s'>%(book_title)s</a> » : %(review_title)s"
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4217,11 +4213,11 @@ msgstr "Abonnemé(e)s uniquement"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Confidentialité du statut"
|
msgstr "Confidentialité du statut"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Laisser une note"
|
msgstr "Laisser une note"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Noter"
|
msgstr "Noter"
|
||||||
|
|
||||||
|
@ -4315,29 +4311,29 @@ msgstr "Retirer de %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Terminer la lecture"
|
msgstr "Terminer la lecture"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Avertissement sur le contenu"
|
msgstr "Avertissement sur le contenu"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Afficher le statut"
|
msgstr "Afficher le statut"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Page %(page)s)"
|
msgstr "(Page %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Ouvrir l’image dans une nouvelle fenêtre"
|
msgstr "Ouvrir l’image dans une nouvelle fenêtre"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Masquer le statut"
|
msgstr "Masquer le statut"
|
||||||
|
|
||||||
|
@ -4630,7 +4626,7 @@ msgstr "Aucun compte avec cette adresse email n’a été trouvé."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Un lien de réinitialisation a été envoyé à {email}."
|
msgstr "Un lien de réinitialisation a été envoyé à {email}."
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Mises à jour de statut de {obj.display_name}"
|
msgstr "Mises à jour de statut de {obj.display_name}"
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-18 06:22\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Galician\n"
|
"Language-Team: Galician\n"
|
||||||
"Language: gl\n"
|
"Language: gl\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Título do libro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Puntuación"
|
msgstr "Puntuación"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citas"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "As outras cousas"
|
msgstr "As outras cousas"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Cronoloxía de Inicio"
|
msgstr "Cronoloxía de Inicio"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Inicio"
|
msgstr "Inicio"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Cronoloxía de libros"
|
msgstr "Cronoloxía de libros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Libros"
|
msgstr "Libros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Inglés)"
|
msgstr "English (Inglés)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Alemán (Alemaña)"
|
msgstr "Alemán (Alemaña)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (España)"
|
msgstr "Español (España)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Galician)"
|
msgstr "Galego (Galician)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (Italian)"
|
msgstr "Italiano (Italian)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Francés (Francia)"
|
msgstr "Francés (Francia)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Lithuanian)"
|
msgstr "Lietuvių (Lithuanian)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Noruegués (Norwegian)"
|
msgstr "Noruegués (Norwegian)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (Portugués brasileiro)"
|
msgstr "Português do Brasil (Portugués brasileiro)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugués europeo)"
|
msgstr "Português Europeu (Portugués europeo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Chinés simplificado)"
|
msgstr "简体中文 (Chinés simplificado)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Chinés tradicional)"
|
msgstr "繁體中文 (Chinés tradicional)"
|
||||||
|
|
||||||
|
@ -315,58 +315,54 @@ msgstr "Algo fallou! Lamentámolo."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Acerca de"
|
msgstr "Acerca de"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Sexas ben vida a %(site_name)s!"
|
msgstr "Sexas ben vida a %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s é parte de <em>BookWyrm</em>, unha rede independente, auto-xestionada por comunidades de persoas lectoras. Aínda que podes interactuar con outras usuarias da <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">rede BookWyrm</a>, esta comunidade é única."
|
msgstr "%(site_name)s é parte de <em>BookWyrm</em>, unha rede independente, auto-xestionada por comunidades de persoas lectoras. Aínda que podes interactuar con outras usuarias da <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">rede BookWyrm</a>, esta comunidade é única."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro máis querido de %(site_name)s, cunha valoración media de %(rating)s sobre 5."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro máis querido de %(site_name)s, cunha valoración media de %(rating)s sobre 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro que máis queren ler as usuarias de %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro que máis queren ler as usuarias de %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro con valoracións máis diverxentes en %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro con valoracións máis diverxentes en %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Rexistra as túas lecturas, conversa acerca dos libros, escribe recensións e descubre próximas lecturas. Sempre sen publicidade, anti-corporacións e orientado á comunidade, BookWyrm é software a escala humana, deseñado para ser pequeno e persoal. Se queres propoñer novas ferramentas, informar de fallos, ou colaborar, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contacta con nós</a> e deixa oír a túa voz."
|
msgstr "Rexistra as túas lecturas, conversa acerca dos libros, escribe recensións e descubre próximas lecturas. Sempre sen publicidade, anti-corporacións e orientado á comunidade, BookWyrm é software a escala humana, deseñado para ser pequeno e persoal. Se queres propoñer novas ferramentas, informar de fallos, ou colaborar, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contacta con nós</a> e deixa oír a túa voz."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Contacta coa administración"
|
msgstr "Contacta coa administración"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr "A moderación e administración de %(site_name)s coidan e xestionan o sitio web, fan cumprir co <a href=\"coc_path\">código de conduta</a> e responden ás denuncias das usuarias sobre spam e mal comportamento."
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
"A moderación e administración de %(site_name)s coidan e xestionan o sitio web, fan cumprir co <a href=\"coc_path\">código de conducta</a> e responden ás denuncias das usuarias sobre spam e mal comportamento.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderación"
|
msgstr "Moderación"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -428,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Copiar enderezo"
|
msgstr "Copiar enderezo"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Copiado!"
|
msgstr "Copiado!"
|
||||||
|
|
||||||
|
@ -497,7 +493,7 @@ msgstr "A lectura máis curta deste ano…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "por"
|
msgstr "por"
|
||||||
|
@ -733,9 +729,9 @@ msgstr "Ao cargar os datos vas conectar con <strong>%(source_name)s</strong> e c
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
|
@ -819,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Lugares"
|
msgstr "Lugares"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -834,7 +830,7 @@ msgstr "Engadir a listaxe"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -936,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Atrás"
|
msgstr "Atrás"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Título:"
|
msgstr "Título:"
|
||||||
|
|
||||||
|
@ -1653,7 +1649,7 @@ msgid "What are you reading?"
|
||||||
msgstr "Que estás a ler?"
|
msgstr "Que estás a ler?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Buscar un libro"
|
msgstr "Buscar un libro"
|
||||||
|
|
||||||
|
@ -1671,9 +1667,9 @@ msgstr "Podes engadir libros cando comeces a usar %(site_name)s."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1689,7 +1685,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Populares en %(site_name)s"
|
msgstr "Populares en %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Non se atopan libros"
|
msgstr "Non se atopan libros"
|
||||||
|
|
||||||
|
@ -1794,7 +1790,7 @@ msgstr "Esta acción non ten volta atrás"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Eliminar"
|
msgstr "Eliminar"
|
||||||
|
|
||||||
|
@ -1814,17 +1810,17 @@ msgstr "Descrición do grupo:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Eliminar grupo"
|
msgstr "Eliminar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Os membros deste grupo poden crear listas xestionadas comunitariamente."
|
msgstr "Os membros deste grupo poden crear listas xestionadas comunitariamente."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Crear lista"
|
msgstr "Crear lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Este grupo non ten listaxes"
|
msgstr "Este grupo non ten listaxes"
|
||||||
|
|
||||||
|
@ -1832,15 +1828,15 @@ msgstr "Este grupo non ten listaxes"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Editar grupo"
|
msgstr "Editar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Buscar para engadir usuaria"
|
msgstr "Buscar para engadir usuaria"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Saír do grupo"
|
msgstr "Saír do grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2297,18 +2293,18 @@ msgstr "Eliminar esta lista?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Editar lista"
|
msgstr "Editar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, unha lista de %(owner)s"
|
msgstr "%(list_name)s, unha lista de %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "en <a href=\"/\">%(site_name)s</a>"
|
msgstr "en <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "A lista está baleira neste intre"
|
msgstr "A lista está baleira neste intre"
|
||||||
|
|
||||||
|
@ -2369,76 +2365,76 @@ msgstr "Crea un Grupo"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Eliminar lista"
|
msgstr "Eliminar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Suxeriches correctamente un libro para esta lista!"
|
msgstr "Suxeriches correctamente un libro para esta lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Engadiches correctamente un libro a esta lista!"
|
msgstr "Engadiches correctamente un libro a esta lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Engadido por <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Engadido por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Posición da lista"
|
msgstr "Posición da lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Establecer"
|
msgstr "Establecer"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Eliminar"
|
msgstr "Eliminar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Ordenar lista"
|
msgstr "Ordenar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Dirección"
|
msgstr "Dirección"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Engadir Libros"
|
msgstr "Engadir Libros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Suxerir Libros"
|
msgstr "Suxerir Libros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "buscar"
|
msgstr "buscar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Limpar busca"
|
msgstr "Limpar busca"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Non se atopan libros coa consulta \"%(query)s\""
|
msgstr "Non se atopan libros coa consulta \"%(query)s\""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Suxire"
|
msgstr "Suxire"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Utiliza esta lista nunha páxina web"
|
msgstr "Utiliza esta lista nunha páxina web"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Copia o código a incluír"
|
msgstr "Copia o código a incluír"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, unha lista de %(owner)s en %(site_name)s"
|
msgstr "%(list_name)s, unha lista de %(owner)s en %(site_name)s"
|
||||||
|
@ -3914,15 +3910,15 @@ msgstr "Rematado"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Este estante esta baleiro."
|
msgstr "Este estante esta baleiro."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Convidar"
|
msgstr "Convidar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Retirar convite"
|
msgstr "Retirar convite"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Eliminar @%(username)s"
|
msgstr "Eliminar @%(username)s"
|
||||||
|
@ -4010,7 +4006,7 @@ msgstr "Contén Spoilers!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Incluír alerta de spoiler"
|
msgstr "Incluír alerta de spoiler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Comentario:"
|
msgstr "Comentario:"
|
||||||
|
@ -4019,33 +4015,33 @@ msgstr "Comentario:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Publicación"
|
msgstr "Publicación"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Cita:"
|
msgstr "Cita:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Un extracto de '%(book_title)s'"
|
msgstr "Un extracto de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Posición:"
|
msgstr "Posición:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "Na páxina:"
|
msgstr "Na páxina:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Na porcentaxe:"
|
msgstr "Na porcentaxe:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "A túa recensión de '%(book_title)s'"
|
msgstr "A túa recensión de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Recensión:"
|
msgstr "Recensión:"
|
||||||
|
|
||||||
|
@ -4099,7 +4095,7 @@ msgid "Unfollow"
|
||||||
msgstr "Non seguir"
|
msgstr "Non seguir"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
|
@ -4139,15 +4135,15 @@ msgstr[1] "valorado <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_ratin
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] "Recensión de \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s estrela): %(review_title)s"
|
msgstr[0] "Recensión de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
|
||||||
msgstr[1] "Recensión de \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s estrelas): %(review_title)s"
|
msgstr[1] "Recensión de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr "Recensión de \"<a href='%(book_path)s'>%(book_title)s</a>\" %(review_title)s"
|
msgstr "Recensión de \"%(book_title)s\": %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4217,11 +4213,11 @@ msgstr "Só seguidoras"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Privacidade da publicación"
|
msgstr "Privacidade da publicación"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Fai unha valoración"
|
msgstr "Fai unha valoración"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Valorar"
|
msgstr "Valorar"
|
||||||
|
|
||||||
|
@ -4315,29 +4311,29 @@ msgstr "Eliminar de %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Rematar a lectura"
|
msgstr "Rematar a lectura"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Aviso sobre o contido"
|
msgstr "Aviso sobre o contido"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Mostrar estado"
|
msgstr "Mostrar estado"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Páxina %(page)s)"
|
msgstr "(Páxina %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Abrir imaxe en nova ventá"
|
msgstr "Abrir imaxe en nova ventá"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Agochar estado"
|
msgstr "Agochar estado"
|
||||||
|
|
||||||
|
@ -4630,7 +4626,7 @@ msgstr "Non atopamos unha usuaria con ese email."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Enviamos unha ligazón de restablecemento a {email}"
|
msgstr "Enviamos unha ligazón de restablecemento a {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Actualizacións de estados desde {obj.display_name}"
|
msgstr "Actualizacións de estados desde {obj.display_name}"
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-19 23:20\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Titolo del libro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Valutazione"
|
msgstr "Valutazione"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordina per"
|
msgstr "Ordina per"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citazioni"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Tutto il resto"
|
msgstr "Tutto il resto"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "La tua timeline"
|
msgstr "La tua timeline"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Home"
|
msgstr "Home"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Timeline dei libri"
|
msgstr "Timeline dei libri"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Libri"
|
msgstr "Libri"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Inglese)"
|
msgstr "English (Inglese)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch (Tedesco)"
|
msgstr "Deutsch (Tedesco)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (Spagnolo)"
|
msgstr "Español (Spagnolo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Galiziano)"
|
msgstr "Galego (Galiziano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (Italiano)"
|
msgstr "Italiano (Italiano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Francese)"
|
msgstr "Français (Francese)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Lituano)"
|
msgstr "Lietuvių (Lituano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (Norvegese)"
|
msgstr "Norsk (Norvegese)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (Portoghese Brasiliano)"
|
msgstr "Português do Brasil (Portoghese Brasiliano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portoghese europeo)"
|
msgstr "Português Europeu (Portoghese europeo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Cinese Semplificato)"
|
msgstr "简体中文 (Cinese Semplificato)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Cinese Tradizionale)"
|
msgstr "繁體中文 (Cinese Tradizionale)"
|
||||||
|
|
||||||
|
@ -315,58 +315,54 @@ msgstr "Qualcosa è andato storto! Ci dispiace."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Informazioni su"
|
msgstr "Informazioni su"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Benvenuto su %(site_name)s!"
|
msgstr "Benvenuto su %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s fa parte di <em>BookWyrm</em>, una rete di comunità indipendenti e autogestite per i lettori. Mentre puoi interagire apparentemente con gli utenti ovunque nella rete <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">di BookWyrm</a>, questa comunità è unica."
|
msgstr "%(site_name)s fa parte di <em>BookWyrm</em>, una rete di comunità indipendenti e autogestite per i lettori. Mentre puoi interagire apparentemente con gli utenti ovunque nella rete <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">di BookWyrm</a>, questa comunità è unica."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> è il libro più amato di %(site_name)s, con un punteggio medio di %(rating)s su 5."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> è il libro più amato di %(site_name)s, con un punteggio medio di %(rating)s su 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "Più %(site_name)s utenti vogliono leggere <a href=\"%(book_path)s\"><em>%(title)s</em></a> rispetto a qualsiasi altro libro."
|
msgstr "Più %(site_name)s utenti vogliono leggere <a href=\"%(book_path)s\"><em>%(title)s</em></a> rispetto a qualsiasi altro libro."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> ha le valutazioni più divisive di ogni libro su %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> ha le valutazioni più divisive di ogni libro su %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Traccia la tue letture, parla di libri, scrivi recensioni, e scopri cosa leggere dopo. BookWyrm, sempre libero, anti-corporate, orientato alla comunità, è un software a misura d'uomo, progettato per rimanere piccolo e personale. Se hai richieste di funzionalità, segnalazioni di bug o grandi sogni, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contatta</a> e fai sentire la tua voce."
|
msgstr "Traccia la tue letture, parla di libri, scrivi recensioni, e scopri cosa leggere dopo. BookWyrm, sempre libero, anti-corporate, orientato alla comunità, è un software a misura d'uomo, progettato per rimanere piccolo e personale. Se hai richieste di funzionalità, segnalazioni di bug o grandi sogni, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contatta</a> e fai sentire la tua voce."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Incontra gli amministratori"
|
msgstr "Incontra gli amministratori"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr "I moderatori e gli amministratori di %(site_name)s mantengono il sito attivo e funzionante, applicano il <a href=\"coc_path\">codice di condotta</a>, e rispondono quando gli utenti segnalano spam o comportamenti non adeguati."
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
"I moderatori e gli amministratori di %(site_name)s mantengono il sito attivo e funzionante, applicano il <a href=\"coc_path\">codice di condotta</a>, e rispondono quando gli utenti segnalano spam o comportamenti non adeguati.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderatori"
|
msgstr "Moderatori"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -428,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Copia l'indirizzo"
|
msgstr "Copia l'indirizzo"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Copiato!"
|
msgstr "Copiato!"
|
||||||
|
|
||||||
|
@ -497,7 +493,7 @@ msgstr "La loro lettura più breve quest’anno…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "di"
|
msgstr "di"
|
||||||
|
@ -733,9 +729,9 @@ msgstr "Il caricamento dei dati si collegherà a <strong>%(source_name)s</strong
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Conferma"
|
msgstr "Conferma"
|
||||||
|
|
||||||
|
@ -819,14 +815,14 @@ msgid "Places"
|
||||||
msgstr "Luoghi"
|
msgstr "Luoghi"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
#: bookwyrm/templates/user/layout.html:85
|
#: bookwyrm/templates/user/layout.html:85
|
||||||
msgid "Lists"
|
msgid "Lists"
|
||||||
msgstr "Elenchi"
|
msgstr "Liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:359
|
#: bookwyrm/templates/book/book.html:359
|
||||||
msgid "Add to list"
|
msgid "Add to list"
|
||||||
|
@ -834,7 +830,7 @@ msgstr "Aggiungi all'elenco"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -936,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Indietro"
|
msgstr "Indietro"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Titolo:"
|
msgstr "Titolo:"
|
||||||
|
|
||||||
|
@ -1653,7 +1649,7 @@ msgid "What are you reading?"
|
||||||
msgstr "Cosa stai leggendo?"
|
msgstr "Cosa stai leggendo?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Cerca un libro"
|
msgstr "Cerca un libro"
|
||||||
|
|
||||||
|
@ -1671,9 +1667,9 @@ msgstr "Puoi aggiungere libri quando inizi a usare %(site_name)s."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1689,7 +1685,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Popolare su %(site_name)s"
|
msgstr "Popolare su %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Nessun libro trovato"
|
msgstr "Nessun libro trovato"
|
||||||
|
|
||||||
|
@ -1794,7 +1790,7 @@ msgstr "Questa azione non può essere annullata"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Elimina"
|
msgstr "Elimina"
|
||||||
|
|
||||||
|
@ -1814,17 +1810,17 @@ msgstr "Descrizione gruppo:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Elimina gruppo"
|
msgstr "Elimina gruppo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "I membri di questo gruppo possono creare liste curate dal gruppo."
|
msgstr "I membri di questo gruppo possono creare liste curate dal gruppo."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Crea Lista"
|
msgstr "Crea Lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Questo gruppo non ha alcuna lista"
|
msgstr "Questo gruppo non ha alcuna lista"
|
||||||
|
|
||||||
|
@ -1832,15 +1828,15 @@ msgstr "Questo gruppo non ha alcuna lista"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Modifica gruppo"
|
msgstr "Modifica gruppo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Cerca o aggiungi utente"
|
msgstr "Cerca o aggiungi utente"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Lascia il gruppo"
|
msgstr "Lascia il gruppo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2297,18 +2293,18 @@ msgstr "Vuoi eliminare la lista selezionata?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Modifica lista"
|
msgstr "Modifica lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, una lista di %(owner)s"
|
msgstr "%(list_name)s, una lista di %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "su <a href=\"/\">%(site_name)s</a>"
|
msgstr "su <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Questa lista è attualmente vuota"
|
msgstr "Questa lista è attualmente vuota"
|
||||||
|
|
||||||
|
@ -2369,76 +2365,76 @@ msgstr "Crea un gruppo"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Elimina lista"
|
msgstr "Elimina lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Hai consigliato con successo un libro per questa lista!"
|
msgstr "Hai consigliato con successo un libro per questa lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Hai consigliato con successo un libro per questa lista!"
|
msgstr "Hai consigliato con successo un libro per questa lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Aggiunto da <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Aggiunto da <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Posizione elenco"
|
msgstr "Posizione elenco"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Imposta"
|
msgstr "Imposta"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Elimina"
|
msgstr "Elimina"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Ordine lista"
|
msgstr "Ordine lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Direzione"
|
msgstr "Direzione"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Aggiungi Libri"
|
msgstr "Aggiungi Libri"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Libri consigliati"
|
msgstr "Libri consigliati"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "cerca"
|
msgstr "cerca"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Cancella ricerca"
|
msgstr "Cancella ricerca"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Nessun libro trovato corrispondente alla query \"%(query)s\""
|
msgstr "Nessun libro trovato corrispondente alla query \"%(query)s\""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Suggerisci"
|
msgstr "Suggerisci"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Incorpora questa lista in un sito web"
|
msgstr "Incorpora questa lista in un sito web"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Copia codice di incorporamento"
|
msgstr "Copia codice di incorporamento"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, una lista di %(owner)s su %(site_name)s"
|
msgstr "%(list_name)s, una lista di %(owner)s su %(site_name)s"
|
||||||
|
@ -3914,15 +3910,15 @@ msgstr "Completato"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Questo scaffale è vuoto."
|
msgstr "Questo scaffale è vuoto."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Invita"
|
msgstr "Invita"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Revoca invito"
|
msgstr "Revoca invito"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Rimuovi %(username)s"
|
msgstr "Rimuovi %(username)s"
|
||||||
|
@ -4010,7 +4006,7 @@ msgstr "Attenzione Spoiler!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Includi avviso spoiler"
|
msgstr "Includi avviso spoiler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Commenta:"
|
msgstr "Commenta:"
|
||||||
|
@ -4019,33 +4015,33 @@ msgstr "Commenta:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Pubblica"
|
msgstr "Pubblica"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Citazione:"
|
msgstr "Citazione:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Un estratto da '%(book_title)s'"
|
msgstr "Un estratto da '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Posizione:"
|
msgstr "Posizione:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "Alla pagina:"
|
msgstr "Alla pagina:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Alla percentuale:"
|
msgstr "Alla percentuale:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "La tua recensione di '%(book_title)s'"
|
msgstr "La tua recensione di '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Recensione:"
|
msgstr "Recensione:"
|
||||||
|
|
||||||
|
@ -4099,7 +4095,7 @@ msgid "Unfollow"
|
||||||
msgstr "Smetti di seguire"
|
msgstr "Smetti di seguire"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Accetta"
|
msgstr "Accetta"
|
||||||
|
|
||||||
|
@ -4139,15 +4135,15 @@ msgstr[1] "valutato <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_ratin
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] "Recensione di \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stella): %(review_title)s"
|
msgstr[0] "Recensione di \"%(book_title)s\" (%(display_rating)s stella): %(review_title)s"
|
||||||
msgstr[1] "Recensione di \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stelle): %(review_title)s"
|
msgstr[1] "Recensione di \"%(book_title)s\" (%(display_rating)s stelle): %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr "Recensione di \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgstr "Recensione di \"%(book_title)s\": %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4217,11 +4213,11 @@ msgstr "Solo Followers"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Privacy dei post"
|
msgstr "Privacy dei post"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Lascia una recensione"
|
msgstr "Lascia una recensione"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Vota"
|
msgstr "Vota"
|
||||||
|
|
||||||
|
@ -4315,29 +4311,29 @@ msgstr "Rimuovi da %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Finito di leggere"
|
msgstr "Finito di leggere"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Avviso sul contenuto"
|
msgstr "Avviso sul contenuto"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Mostra stato"
|
msgstr "Mostra stato"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Pagina %(page)s)"
|
msgstr "(Pagina %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Apri immagine in una nuova finestra"
|
msgstr "Apri immagine in una nuova finestra"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Nascondi lo stato"
|
msgstr "Nascondi lo stato"
|
||||||
|
|
||||||
|
@ -4379,7 +4375,7 @@ msgstr "valutato <a href=\"%(book_path)s\">%(book)s</a>:"
|
||||||
#: bookwyrm/templates/snippets/status/headers/read.html:10
|
#: bookwyrm/templates/snippets/status/headers/read.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "finished reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "finished reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr "lettura del libro <a href=\"%(book_path)s\">%(book)s</a> di <a href=\"%(author_path)s\">%(author_name)s</a> completata"
|
msgstr "ha finito di leggere <a href=\"%(book_path)s\">%(book)s</a> di <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/read.html:17
|
#: bookwyrm/templates/snippets/status/headers/read.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4389,7 +4385,7 @@ msgstr "lettura di <a href=\"%(book_path)s\">%(book)s</a> completata"
|
||||||
#: bookwyrm/templates/snippets/status/headers/reading.html:10
|
#: bookwyrm/templates/snippets/status/headers/reading.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "started reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "started reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr "lettura del libro <a href=\"%(book_path)s\">%(book)s</a> di <a href=\"%(author_path)s\">%(author_name)s</a> iniziata"
|
msgstr "ha iniziato a leggere <a href=\"%(book_path)s\">%(book)s</a> di <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/reading.html:17
|
#: bookwyrm/templates/snippets/status/headers/reading.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4409,7 +4405,7 @@ msgstr "recensito <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
#: bookwyrm/templates/snippets/status/headers/to_read.html:10
|
#: bookwyrm/templates/snippets/status/headers/to_read.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr "da leggere <a href=\"%(book_path)s\">%(book)s</a> da <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgstr "vuole leggere <a href=\"%(book_path)s\">%(book)s</a> di <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/to_read.html:17
|
#: bookwyrm/templates/snippets/status/headers/to_read.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4562,7 +4558,7 @@ msgstr "Visualizza tutti i libri"
|
||||||
#: bookwyrm/templates/user/user.html:58
|
#: bookwyrm/templates/user/user.html:58
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(current_year)s Reading Goal"
|
msgid "%(current_year)s Reading Goal"
|
||||||
msgstr "Obiettivo di lettura del %(current_year)s"
|
msgstr "Obiettivo di lettura %(current_year)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/user/user.html:65
|
#: bookwyrm/templates/user/user.html:65
|
||||||
msgid "User Activity"
|
msgid "User Activity"
|
||||||
|
@ -4630,7 +4626,7 @@ msgstr "Non è stato trovato nessun utente con questo indirizzo email."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Il link per reimpostare la password è stato inviato a {email}"
|
msgstr "Il link per reimpostare la password è stato inviato a {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Aggiornamenti di stato da {obj.display_name}"
|
msgstr "Aggiornamenti di stato da {obj.display_name}"
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 19:57\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Lithuanian\n"
|
"Language-Team: Lithuanian\n"
|
||||||
"Language: lt\n"
|
"Language: lt\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Knygos antraštė"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Įvertinimas"
|
msgstr "Įvertinimas"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Rūšiuoti pagal"
|
msgstr "Rūšiuoti pagal"
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ msgstr "Mažėjančia tvarka"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:505
|
#: bookwyrm/forms.py:505
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr ""
|
msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą."
|
||||||
|
|
||||||
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
|
#: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167
|
||||||
msgid "Error loading book"
|
msgid "Error loading book"
|
||||||
|
@ -193,20 +193,20 @@ msgstr "Privatu"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:51
|
#: bookwyrm/models/link.py:51
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr ""
|
msgstr "Nemokama"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:52
|
#: bookwyrm/models/link.py:52
|
||||||
msgid "Purchasable"
|
msgid "Purchasable"
|
||||||
msgstr ""
|
msgstr "Galima nusipirkti"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:53
|
#: bookwyrm/models/link.py:53
|
||||||
msgid "Available for loan"
|
msgid "Available for loan"
|
||||||
msgstr ""
|
msgstr "Galima pasiskolinti"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:70
|
#: bookwyrm/models/link.py:70
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:23
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:23
|
||||||
msgid "Approved"
|
msgid "Approved"
|
||||||
msgstr ""
|
msgstr "Patvirtinti"
|
||||||
|
|
||||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
|
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
|
||||||
msgid "Reviews"
|
msgid "Reviews"
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citatos"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Visa kita"
|
msgstr "Visa kita"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Pagrindinė siena"
|
msgstr "Pagrindinė siena"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Pagrindinis"
|
msgstr "Pagrindinis"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Knygų siena"
|
msgstr "Knygų siena"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Knygos"
|
msgstr "Knygos"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Anglų)"
|
msgstr "English (Anglų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch (Vokiečių)"
|
msgstr "Deutsch (Vokiečių)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (Ispanų)"
|
msgstr "Español (Ispanų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (galisų)"
|
msgstr "Galego (galisų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr ""
|
msgstr "Italų (Italian)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Prancūzų)"
|
msgstr "Français (Prancūzų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių"
|
msgstr "Lietuvių"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr ""
|
msgstr "Norvegų (Norwegian)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português brasileiro (Brazilijos portugalų)"
|
msgstr "Português brasileiro (Brazilijos portugalų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Europos portugalų)"
|
msgstr "Português Europeu (Europos portugalų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Supaprastinta kinų)"
|
msgstr "简体中文 (Supaprastinta kinų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Tradicinė kinų)"
|
msgstr "繁體中文 (Tradicinė kinų)"
|
||||||
|
|
||||||
|
@ -313,58 +313,56 @@ msgstr "Kažkas nepavyko. Atsiprašome."
|
||||||
#: bookwyrm/templates/about/about.html:9
|
#: bookwyrm/templates/about/about.html:9
|
||||||
#: bookwyrm/templates/about/layout.html:35
|
#: bookwyrm/templates/about/layout.html:35
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr "Apie"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Sveiki atvykę į %(site_name)s!"
|
msgstr "Sveiki atvykę į %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr ""
|
msgstr "%(site_name)s yra <em>BookWyrm</em>dalis, tinklo nepriklausomų skaitytojų bendruomenių. Jūs galite bendrauti su nariais iš šio <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm tinklo</a>, tačiau ši bendruomenė yra unikali."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr ""
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> yra %(site_name)s's mėgstamiausia knyga, kurios vidutinis įvertinimas yra %(rating)s iš 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr ""
|
msgstr "Daugiau %(site_name)s narių nori perskaityti <a href=\"%(book_path)s\"><em>%(title)s</em></a> negu bet kurią kitą knygą."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr ""
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> labiausiai kontroversiškai reitinguota %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr ""
|
msgstr "Šio serverio administratoriai"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr ""
|
msgstr "Moderatorius"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administravimas"
|
msgstr "Administravimas"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -379,15 +377,15 @@ msgstr "Elgesio kodeksas"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/layout.html:11
|
#: bookwyrm/templates/about/layout.html:11
|
||||||
msgid "Active users:"
|
msgid "Active users:"
|
||||||
msgstr ""
|
msgstr "Aktyvūs vartotojai:"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/layout.html:15
|
#: bookwyrm/templates/about/layout.html:15
|
||||||
msgid "Statuses posted:"
|
msgid "Statuses posted:"
|
||||||
msgstr ""
|
msgstr "Publikuotos būsenos:"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/layout.html:19
|
#: bookwyrm/templates/about/layout.html:19
|
||||||
msgid "Software version:"
|
msgid "Software version:"
|
||||||
msgstr ""
|
msgstr "Serverio programinės įrangos versija:"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/layout.html:30
|
#: bookwyrm/templates/about/layout.html:30
|
||||||
#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229
|
#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229
|
||||||
|
@ -426,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Kopijuoti adresą"
|
msgstr "Kopijuoti adresą"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Nukopijuota"
|
msgstr "Nukopijuota"
|
||||||
|
|
||||||
|
@ -461,7 +459,7 @@ msgstr "Jei padarysite puslapį privačiu - senas raktas nustos galioti. Ateityj
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Sadly %(display_name)s didn’t finish any books in %(year)s"
|
msgid "Sadly %(display_name)s didn’t finish any books in %(year)s"
|
||||||
msgstr ""
|
msgstr "Gaila, bet %(display_name)s %(year)s metais neperskaitė nei vienos knygos"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -499,7 +497,7 @@ msgstr "Trumpiausias skaitinys tais metais…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr " "
|
msgstr " "
|
||||||
|
@ -739,9 +737,9 @@ msgstr "Duomenų įkėlimas prisijungs prie <strong>%(source_name)s</strong> ir
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Patvirtinti"
|
msgstr "Patvirtinti"
|
||||||
|
|
||||||
|
@ -827,8 +825,8 @@ msgid "Places"
|
||||||
msgstr "Vietos"
|
msgstr "Vietos"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -842,7 +840,7 @@ msgstr "Pridėti prie sąrašo"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -944,7 +942,7 @@ msgid "Back"
|
||||||
msgstr "Atgal"
|
msgstr "Atgal"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Pavadinimas:"
|
msgstr "Pavadinimas:"
|
||||||
|
|
||||||
|
@ -1076,51 +1074,52 @@ msgstr "Paieškos leidimai"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:6
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:6
|
||||||
msgid "Add file link"
|
msgid "Add file link"
|
||||||
msgstr ""
|
msgstr "Pridėti nuorodą į failą"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:19
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:19
|
||||||
msgid "Links from unknown domains will need to be approved by a moderator before they are added."
|
msgid "Links from unknown domains will need to be approved by a moderator before they are added."
|
||||||
msgstr ""
|
msgstr "Nuorodos iš nežinomų domenų turi būti patvirtintos moderatorių."
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:24
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:24
|
||||||
msgid "URL:"
|
msgid "URL:"
|
||||||
msgstr ""
|
msgstr "Nuoroda:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:29
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:29
|
||||||
msgid "File type:"
|
msgid "File type:"
|
||||||
msgstr ""
|
msgstr "Failo tipas:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:48
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:48
|
||||||
msgid "Availability:"
|
msgid "Availability:"
|
||||||
msgstr ""
|
msgstr "Prieinamumas:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:5
|
#: bookwyrm/templates/book/file_links/edit_links.html:5
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:22
|
#: bookwyrm/templates/book/file_links/edit_links.html:22
|
||||||
#: bookwyrm/templates/book/file_links/links.html:53
|
#: bookwyrm/templates/book/file_links/links.html:53
|
||||||
msgid "Edit links"
|
msgid "Edit links"
|
||||||
msgstr ""
|
msgstr "Redaguoti nuorodas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:11
|
#: bookwyrm/templates/book/file_links/edit_links.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "\n"
|
||||||
" Links for \"<em>%(title)s</em>\"\n"
|
" Links for \"<em>%(title)s</em>\"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr "\"<em>%(title)s</em>\" nuorodos\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:32
|
#: bookwyrm/templates/book/file_links/edit_links.html:32
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:6
|
#: bookwyrm/templates/settings/link_domains/link_table.html:6
|
||||||
msgid "URL"
|
msgid "URL"
|
||||||
msgstr ""
|
msgstr "Nuoroda"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:33
|
#: bookwyrm/templates/book/file_links/edit_links.html:33
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:7
|
#: bookwyrm/templates/settings/link_domains/link_table.html:7
|
||||||
msgid "Added by"
|
msgid "Added by"
|
||||||
msgstr ""
|
msgstr "Pridėjo"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:34
|
#: bookwyrm/templates/book/file_links/edit_links.html:34
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:8
|
#: bookwyrm/templates/settings/link_domains/link_table.html:8
|
||||||
msgid "Filetype"
|
msgid "Filetype"
|
||||||
msgstr ""
|
msgstr "Failo tipas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:35
|
#: bookwyrm/templates/book/file_links/edit_links.html:35
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
|
||||||
|
@ -1148,41 +1147,41 @@ msgstr "Veiksmai"
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:53
|
#: bookwyrm/templates/book/file_links/edit_links.html:53
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||||
msgid "Report spam"
|
msgid "Report spam"
|
||||||
msgstr ""
|
msgstr "Pranešti apie brukalą"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:97
|
#: bookwyrm/templates/book/file_links/edit_links.html:97
|
||||||
msgid "No links available for this book."
|
msgid "No links available for this book."
|
||||||
msgstr ""
|
msgstr "Šiai knygai nuorodų nėra."
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:108
|
#: bookwyrm/templates/book/file_links/edit_links.html:108
|
||||||
#: bookwyrm/templates/book/file_links/links.html:18
|
#: bookwyrm/templates/book/file_links/links.html:18
|
||||||
msgid "Add link to file"
|
msgid "Add link to file"
|
||||||
msgstr ""
|
msgstr "Pridėti nuorodą į failą"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/file_link_page.html:6
|
#: bookwyrm/templates/book/file_links/file_link_page.html:6
|
||||||
msgid "File Links"
|
msgid "File Links"
|
||||||
msgstr ""
|
msgstr "Nuorodos į failus"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/links.html:9
|
#: bookwyrm/templates/book/file_links/links.html:9
|
||||||
msgid "Get a copy"
|
msgid "Get a copy"
|
||||||
msgstr ""
|
msgstr "Gauti kopiją"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/links.html:47
|
#: bookwyrm/templates/book/file_links/links.html:47
|
||||||
msgid "No links available"
|
msgid "No links available"
|
||||||
msgstr ""
|
msgstr "Nuorodų nėra"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:5
|
#: bookwyrm/templates/book/file_links/verification_modal.html:5
|
||||||
msgid "Leaving BookWyrm"
|
msgid "Leaving BookWyrm"
|
||||||
msgstr ""
|
msgstr "Tęsti naršymą ne BookWyrm"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:11
|
#: bookwyrm/templates/book/file_links/verification_modal.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
|
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
|
||||||
msgstr ""
|
msgstr "Nuoroda veda į: <code>%(link_url)s</code>.<br> Ar tikrai norite ten nueiti?"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:20
|
#: bookwyrm/templates/book/file_links/verification_modal.html:20
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr ""
|
msgstr "Tęsti"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/publisher_info.html:23
|
#: bookwyrm/templates/book/publisher_info.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -1663,7 +1662,7 @@ msgid "What are you reading?"
|
||||||
msgstr "Ką skaitome?"
|
msgstr "Ką skaitome?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Ieškoti knygos"
|
msgstr "Ieškoti knygos"
|
||||||
|
|
||||||
|
@ -1681,9 +1680,9 @@ msgstr "Kai pradedate naudotis %(site_name)s, galite pridėti knygų."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1699,7 +1698,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "%(site_name)s populiaru"
|
msgstr "%(site_name)s populiaru"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Knygų nerasta"
|
msgstr "Knygų nerasta"
|
||||||
|
|
||||||
|
@ -1804,7 +1803,7 @@ msgstr "Nebegalite atšaukti šio veiksmo"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Ištrinti"
|
msgstr "Ištrinti"
|
||||||
|
|
||||||
|
@ -1824,17 +1823,17 @@ msgstr "Grupės aprašymas:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Ištrinti grupę"
|
msgstr "Ištrinti grupę"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr ""
|
msgstr "Šios grupės nariai gali kurti grupės kuruojamus sąrašus."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Sukurti sąrašą"
|
msgstr "Sukurti sąrašą"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Šioje grupėje nėra sąrašų"
|
msgstr "Šioje grupėje nėra sąrašų"
|
||||||
|
|
||||||
|
@ -1842,15 +1841,15 @@ msgstr "Šioje grupėje nėra sąrašų"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Redaguoti grupę"
|
msgstr "Redaguoti grupę"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Ieškokite, kad pridėtumėte naudotoją"
|
msgstr "Ieškokite, kad pridėtumėte naudotoją"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Išeiti iš grupės"
|
msgstr "Išeiti iš grupės"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2067,7 +2066,7 @@ msgstr "Atmesti"
|
||||||
|
|
||||||
#: bookwyrm/templates/import/tooltip.html:6
|
#: bookwyrm/templates/import/tooltip.html:6
|
||||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||||
msgstr ""
|
msgstr "Galite atsisiųsti savo „Goodreads“ duomenis iš <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Importavimo ir eksportavimo puslapio</a>, esančio jūsų „Goodreads“ paskyroje."
|
||||||
|
|
||||||
#: bookwyrm/templates/import/troubleshoot.html:7
|
#: bookwyrm/templates/import/troubleshoot.html:7
|
||||||
msgid "Failed items"
|
msgid "Failed items"
|
||||||
|
@ -2315,18 +2314,18 @@ msgstr "Ištrinti šį sąrašą?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Redaguoti sąrašą"
|
msgstr "Redaguoti sąrašą"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, sąrašą sudarė %(owner)s"
|
msgstr "%(list_name)s, sąrašą sudarė %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "per <a href=\"/\">%(site_name)s</a>"
|
msgstr "per <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Šiuo metu sąrašas tuščias"
|
msgstr "Šiuo metu sąrašas tuščias"
|
||||||
|
|
||||||
|
@ -2387,76 +2386,76 @@ msgstr "Sukurti grupę"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Ištrinti sąrašą"
|
msgstr "Ištrinti sąrašą"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Sėkmingai pasiūlėte knygą šiam sąrašui!"
|
msgstr "Sėkmingai pasiūlėte knygą šiam sąrašui!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Sėkmingai pridėjote knygą į šį sąrašą!"
|
msgstr "Sėkmingai pridėjote knygą į šį sąrašą!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Pridėjo <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Pridėjo <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Sąrašo pozicija"
|
msgstr "Sąrašo pozicija"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Nustatyti"
|
msgstr "Nustatyti"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Pašalinti"
|
msgstr "Pašalinti"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Rūšiuoti sąrašą"
|
msgstr "Rūšiuoti sąrašą"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Kryptis"
|
msgstr "Kryptis"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Pridėti knygų"
|
msgstr "Pridėti knygų"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Siūlyti knygų"
|
msgstr "Siūlyti knygų"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "paieška"
|
msgstr "paieška"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Išvalyti paiešką"
|
msgstr "Išvalyti paiešką"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Pagal paiešką „%(query)s“ knygų nerasta"
|
msgstr "Pagal paiešką „%(query)s“ knygų nerasta"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Siūlyti"
|
msgstr "Siūlyti"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Įdėkite šį sąrašą į tinklalapį"
|
msgstr "Įdėkite šį sąrašą į tinklalapį"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Nukopijuokite įterptinį kodą"
|
msgstr "Nukopijuokite įterptinį kodą"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, sąrašą sudarė %(owner)s, per %(site_name)s"
|
msgstr "%(list_name)s, sąrašą sudarė %(owner)s, per %(site_name)s"
|
||||||
|
@ -3523,7 +3522,7 @@ msgstr "Pranešimai"
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:5
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:5
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:7
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:7
|
||||||
msgid "Link Domains"
|
msgid "Link Domains"
|
||||||
msgstr ""
|
msgstr "Susieti domenus"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/layout.html:72
|
#: bookwyrm/templates/settings/layout.html:72
|
||||||
msgid "Instance Settings"
|
msgid "Instance Settings"
|
||||||
|
@ -3546,23 +3545,23 @@ msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:45
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:45
|
||||||
msgid "Set display name"
|
msgid "Set display name"
|
||||||
msgstr ""
|
msgstr "Nurodyti pavadinimą"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:53
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:53
|
||||||
msgid "View links"
|
msgid "View links"
|
||||||
msgstr ""
|
msgstr "Peržiūrėti nuorodas"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:96
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:96
|
||||||
msgid "No domains currently approved"
|
msgid "No domains currently approved"
|
||||||
msgstr ""
|
msgstr "Nėra patvirtintų domenų"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:98
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:98
|
||||||
msgid "No domains currently pending"
|
msgid "No domains currently pending"
|
||||||
msgstr ""
|
msgstr "Nėra domenų, laukiančių patvirtinimo"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:100
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:100
|
||||||
msgid "No domains currently blocked"
|
msgid "No domains currently blocked"
|
||||||
msgstr ""
|
msgstr "Šiuo metu užblokuotų domenų nėra"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:39
|
#: bookwyrm/templates/settings/link_domains/link_table.html:39
|
||||||
msgid "No links available for this domain."
|
msgid "No links available for this domain."
|
||||||
|
@ -3582,7 +3581,7 @@ msgstr "Būsena ištrinta"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:39
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr ""
|
msgstr "Raportuotos nuorodos"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:55
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
|
@ -3610,7 +3609,7 @@ msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_links_table.html:17
|
#: bookwyrm/templates/settings/reports/report_links_table.html:17
|
||||||
msgid "Block domain"
|
msgid "Block domain"
|
||||||
msgstr ""
|
msgstr "Užblokuoti domeną"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_preview.html:17
|
#: bookwyrm/templates/settings/reports/report_preview.html:17
|
||||||
msgid "No notes provided"
|
msgid "No notes provided"
|
||||||
|
@ -3865,7 +3864,7 @@ msgstr "Visam laikui ištrintas"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
|
||||||
msgid "User Actions"
|
msgid "User Actions"
|
||||||
msgstr ""
|
msgstr "Nario veiksmai"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
|
||||||
msgid "Suspend user"
|
msgid "Suspend user"
|
||||||
|
@ -3889,7 +3888,7 @@ msgstr "Redaguoti lentyną"
|
||||||
|
|
||||||
#: bookwyrm/templates/shelf/shelf.html:24
|
#: bookwyrm/templates/shelf/shelf.html:24
|
||||||
msgid "User profile"
|
msgid "User profile"
|
||||||
msgstr ""
|
msgstr "Nario profilis"
|
||||||
|
|
||||||
#: bookwyrm/templates/shelf/shelf.html:39
|
#: bookwyrm/templates/shelf/shelf.html:39
|
||||||
#: bookwyrm/templates/snippets/translated_shelf_name.html:3
|
#: bookwyrm/templates/snippets/translated_shelf_name.html:3
|
||||||
|
@ -3942,15 +3941,15 @@ msgstr "Baigta"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Ši lentyna tuščia."
|
msgstr "Ši lentyna tuščia."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Pakviesti"
|
msgstr "Pakviesti"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Atšaukti kvietimą"
|
msgstr "Atšaukti kvietimą"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Pašalinti @%(username)s"
|
msgstr "Pašalinti @%(username)s"
|
||||||
|
@ -4040,7 +4039,7 @@ msgstr "Galimas turinio atskleidimas!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Įdėti įspėjimą apie turinio atskleidimą"
|
msgstr "Įdėti įspėjimą apie turinio atskleidimą"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Komentuoti:"
|
msgstr "Komentuoti:"
|
||||||
|
@ -4049,33 +4048,33 @@ msgstr "Komentuoti:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Publikuoti"
|
msgstr "Publikuoti"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Citata:"
|
msgstr "Citata:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Ištrauka iš „%(book_title)s“"
|
msgstr "Ištrauka iš „%(book_title)s“"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Pozicija:"
|
msgstr "Pozicija:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "Puslapyje:"
|
msgstr "Puslapyje:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Proc.:"
|
msgstr "Proc.:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "Jūsų apžvalga apie „%(book_title)s“"
|
msgstr "Jūsų apžvalga apie „%(book_title)s“"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Atsiliepimas:"
|
msgstr "Atsiliepimas:"
|
||||||
|
|
||||||
|
@ -4129,7 +4128,7 @@ msgid "Unfollow"
|
||||||
msgstr "Nebesekti"
|
msgstr "Nebesekti"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Sutikti"
|
msgstr "Sutikti"
|
||||||
|
|
||||||
|
@ -4177,8 +4176,8 @@ msgstr[3] "įvertinta <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rat
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
msgstr[2] ""
|
msgstr[2] ""
|
||||||
|
@ -4186,7 +4185,7 @@ msgstr[3] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
|
@ -4257,11 +4256,11 @@ msgstr "Tik sekėjai"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Įrašo privatumas"
|
msgstr "Įrašo privatumas"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Palikti įvertinimą"
|
msgstr "Palikti įvertinimą"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Įvertinti"
|
msgstr "Įvertinti"
|
||||||
|
|
||||||
|
@ -4355,29 +4354,29 @@ msgstr "Pašalinti iš %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Baigti skaityti"
|
msgstr "Baigti skaityti"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Įspėjimas dėl turinio"
|
msgstr "Įspėjimas dėl turinio"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Rodyti būseną"
|
msgstr "Rodyti būseną"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Psl. %(page)s)"
|
msgstr "(Psl. %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Atidaryti paveikslėlį naujame lange"
|
msgstr "Atidaryti paveikslėlį naujame lange"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Slėpti būseną"
|
msgstr "Slėpti būseną"
|
||||||
|
|
||||||
|
@ -4674,7 +4673,7 @@ msgstr "Šiuo el. pašto adresu nerastas nei vienas narys."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Slaptažodžio atstatymo nuoroda išsiųsta į {email}"
|
msgstr "Slaptažodžio atstatymo nuoroda išsiųsta į {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Būsenos atnaujinimai iš {obj.display_name}"
|
msgstr "Būsenos atnaujinimai iš {obj.display_name}"
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 19:57\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Norwegian\n"
|
"Language-Team: Norwegian\n"
|
||||||
"Language: no\n"
|
"Language: no\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Boktittel"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Vurdering"
|
msgstr "Vurdering"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sorter etter"
|
msgstr "Sorter etter"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Sitater"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Andre ting"
|
msgstr "Andre ting"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Lokal tidslinje"
|
msgstr "Lokal tidslinje"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Hjem"
|
msgstr "Hjem"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Boktidslinja"
|
msgstr "Boktidslinja"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Bøker"
|
msgstr "Bøker"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Engelsk)"
|
msgstr "English (Engelsk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch (Tysk)"
|
msgstr "Deutsch (Tysk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (Spansk)"
|
msgstr "Español (Spansk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Gallisk)"
|
msgstr "Galego (Gallisk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (Italiensk)"
|
msgstr "Italiano (Italiensk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Fransk)"
|
msgstr "Français (Fransk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Litauisk)"
|
msgstr "Lietuvių (Litauisk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (Norsk)"
|
msgstr "Norsk (Norsk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português - Brasil (Brasiliansk portugisisk)"
|
msgstr "Português - Brasil (Brasiliansk portugisisk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Europeisk Portugisisk)"
|
msgstr "Português Europeu (Europeisk Portugisisk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Forenklet kinesisk)"
|
msgstr "简体中文 (Forenklet kinesisk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Tradisjonelt kinesisk)"
|
msgstr "繁體中文 (Tradisjonelt kinesisk)"
|
||||||
|
|
||||||
|
@ -315,58 +315,54 @@ msgstr "Beklager, noe gikk galt! Leit, det der."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Om"
|
msgstr "Om"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Velkommen til %(site_name)s!"
|
msgstr "Velkommen til %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> er %(site_name)s sin favorittbok, med en gjennomsnittlig vurdering på %(rating)s av 5."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> er %(site_name)s sin favorittbok, med en gjennomsnittlig vurdering på %(rating)s av 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "Flere av %(site_name)s sine medlemmer ønsker å lese <a href=\"%(book_path)s\"><em>%(title)s</em></a> enn noen annen bok."
|
msgstr "Flere av %(site_name)s sine medlemmer ønsker å lese <a href=\"%(book_path)s\"><em>%(title)s</em></a> enn noen annen bok."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> er den boka på %(site_name)s med de mest polariserte vurderingene."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> er den boka på %(site_name)s med de mest polariserte vurderingene."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Journalfør lesingen din, snakk om bøker, skriv anmeldelser, og oppdag din neste bok. BookWyrm er reklamefri, ukommers og fellesskapsorientert, programvare for mennesker, designet for å forbli liten og nær. Hvis du har ønsker, feilrapporter eller store vyer, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>ta kontakt</a> og bli hørt."
|
msgstr "Journalfør lesingen din, snakk om bøker, skriv anmeldelser, og oppdag din neste bok. BookWyrm er reklamefri, ukommers og fellesskapsorientert, programvare for mennesker, designet for å forbli liten og nær. Hvis du har ønsker, feilrapporter eller store vyer, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>ta kontakt</a> og bli hørt."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Møt administratorene"
|
msgstr "Møt administratorene"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr ""
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
" %(site_name)s sine moderatorer og administratorer holder nettsida oppe og tilgjengelig, håndhever <a href=\"coc_path\">atferdskoden</a>, og svarer på brukernes rapporterer om spam og dårlig atferd.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderator"
|
msgstr "Moderator"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -428,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Kopiér adresse"
|
msgstr "Kopiér adresse"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Kopiert!"
|
msgstr "Kopiert!"
|
||||||
|
|
||||||
|
@ -497,7 +493,7 @@ msgstr "Den korteste teksten lest i år…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "av"
|
msgstr "av"
|
||||||
|
@ -733,9 +729,9 @@ msgstr "Laster inn data kobler til <strong>%(source_name)s</strong> og finner me
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bekreft"
|
msgstr "Bekreft"
|
||||||
|
|
||||||
|
@ -819,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Steder"
|
msgstr "Steder"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -834,7 +830,7 @@ msgstr "Legg til i liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -936,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Tilbake"
|
msgstr "Tilbake"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Tittel:"
|
msgstr "Tittel:"
|
||||||
|
|
||||||
|
@ -1651,7 +1647,7 @@ msgid "What are you reading?"
|
||||||
msgstr "Hva er det du leser nå?"
|
msgstr "Hva er det du leser nå?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Søk etter en bok"
|
msgstr "Søk etter en bok"
|
||||||
|
|
||||||
|
@ -1669,9 +1665,9 @@ msgstr "Du kan legge til bøker når du begynner å bruke %(site_name)s."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1687,7 +1683,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Populært på %(site_name)s"
|
msgstr "Populært på %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Ingen bøker funnet"
|
msgstr "Ingen bøker funnet"
|
||||||
|
|
||||||
|
@ -1792,7 +1788,7 @@ msgstr "Denne handlingen er endelig"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Slett"
|
msgstr "Slett"
|
||||||
|
|
||||||
|
@ -1812,17 +1808,17 @@ msgstr "Gruppebeskrivelse:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Slett gruppa"
|
msgstr "Slett gruppa"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Medlemmer av denne gruppen kan opprette gruppekontrollerte lister."
|
msgstr "Medlemmer av denne gruppen kan opprette gruppekontrollerte lister."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Opprett liste"
|
msgstr "Opprett liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Denne gruppa har ingen lister"
|
msgstr "Denne gruppa har ingen lister"
|
||||||
|
|
||||||
|
@ -1830,15 +1826,15 @@ msgstr "Denne gruppa har ingen lister"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Rediger gruppe"
|
msgstr "Rediger gruppe"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Søk for å legge til et medlem"
|
msgstr "Søk for å legge til et medlem"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Forlat gruppa"
|
msgstr "Forlat gruppa"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2295,18 +2291,18 @@ msgstr "Slett denne lista?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Redigér lista"
|
msgstr "Redigér lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, ei liste av %(owner)s"
|
msgstr "%(list_name)s, ei liste av %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "på <a href=\"/\">%(site_name)s</a>"
|
msgstr "på <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Denne lista er for tida tom"
|
msgstr "Denne lista er for tida tom"
|
||||||
|
|
||||||
|
@ -2367,76 +2363,76 @@ msgstr "Opprett ei gruppe"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Slett liste"
|
msgstr "Slett liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Du har nå foreslått en bok for denne lista!"
|
msgstr "Du har nå foreslått en bok for denne lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Du har nå lagt til ei bok i denne lista!"
|
msgstr "Du har nå lagt til ei bok i denne lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Lagt til av <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Lagt til av <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Listeposisjon"
|
msgstr "Listeposisjon"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Bruk"
|
msgstr "Bruk"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Fjern"
|
msgstr "Fjern"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Sorter liste"
|
msgstr "Sorter liste"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Retning"
|
msgstr "Retning"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Legg til bøker"
|
msgstr "Legg til bøker"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Foreslå bøker"
|
msgstr "Foreslå bøker"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "søk"
|
msgstr "søk"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Nullstill søk"
|
msgstr "Nullstill søk"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Ingen bøker funnet for søket\"%(query)s\""
|
msgstr "Ingen bøker funnet for søket\"%(query)s\""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Foreslå"
|
msgstr "Foreslå"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Legg denne lista inn på et nettsted"
|
msgstr "Legg denne lista inn på et nettsted"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Kopier kode som legger inn lista"
|
msgstr "Kopier kode som legger inn lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, en liste av %(owner)s på %(site_name)s"
|
msgstr "%(list_name)s, en liste av %(owner)s på %(site_name)s"
|
||||||
|
@ -3912,15 +3908,15 @@ msgstr "Fullført"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Denne hylla er tom."
|
msgstr "Denne hylla er tom."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Invitér"
|
msgstr "Invitér"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Avlys invitasjon"
|
msgstr "Avlys invitasjon"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Fjern %(username)s"
|
msgstr "Fjern %(username)s"
|
||||||
|
@ -4008,7 +4004,7 @@ msgstr "Spoilers forut!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Inkluder spoiler-varsel"
|
msgstr "Inkluder spoiler-varsel"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Kommentar:"
|
msgstr "Kommentar:"
|
||||||
|
@ -4017,33 +4013,33 @@ msgstr "Kommentar:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Innlegg"
|
msgstr "Innlegg"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Sitat:"
|
msgstr "Sitat:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "En utdrag fra '%(book_title)s'"
|
msgstr "En utdrag fra '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Plassering:"
|
msgstr "Plassering:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "På side:"
|
msgstr "På side:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Ved prosent:"
|
msgstr "Ved prosent:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "Din anmeldelse av '%(book_title)s"
|
msgstr "Din anmeldelse av '%(book_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Anmeldelse:"
|
msgstr "Anmeldelse:"
|
||||||
|
|
||||||
|
@ -4097,7 +4093,7 @@ msgid "Unfollow"
|
||||||
msgstr "Slutt å følge"
|
msgstr "Slutt å følge"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Godta"
|
msgstr "Godta"
|
||||||
|
|
||||||
|
@ -4137,14 +4133,14 @@ msgstr[1] "vurderte <em><a href=\"%(path)s\">%(title)s</a></em> til: %(display_r
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
|
@ -4215,11 +4211,11 @@ msgstr "Kun følgere"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Delingsinstilling for post"
|
msgstr "Delingsinstilling for post"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Legg inn en vurdering"
|
msgstr "Legg inn en vurdering"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Vurdér"
|
msgstr "Vurdér"
|
||||||
|
|
||||||
|
@ -4313,29 +4309,29 @@ msgstr "Fjern fra %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Fullfør lesing"
|
msgstr "Fullfør lesing"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Varsel om følsomt innhold"
|
msgstr "Varsel om følsomt innhold"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Vis status"
|
msgstr "Vis status"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(side %(page)s)"
|
msgstr "(side %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Åpne bilde i nytt vindu"
|
msgstr "Åpne bilde i nytt vindu"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Skjul status"
|
msgstr "Skjul status"
|
||||||
|
|
||||||
|
@ -4628,7 +4624,7 @@ msgstr "Ingen bruker med den e-postadressen ble funnet."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "En lenke for tilbakestilling av passord er sendt til {email}"
|
msgstr "En lenke for tilbakestilling av passord er sendt til {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Statusoppdateringer fra {obj.display_name}"
|
msgstr "Statusoppdateringer fra {obj.display_name}"
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-18 14:10\n"
|
"PO-Revision-Date: 2022-01-24 18:55\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Portuguese, Brazilian\n"
|
"Language-Team: Portuguese, Brazilian\n"
|
||||||
"Language: pt\n"
|
"Language: pt\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Título do livro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Avaliação"
|
msgstr "Avaliação"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Organizar por"
|
msgstr "Organizar por"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citações"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Todo o resto"
|
msgstr "Todo o resto"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Linha do tempo"
|
msgstr "Linha do tempo"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Página inicial"
|
msgstr "Página inicial"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Linha do tempo dos livros"
|
msgstr "Linha do tempo dos livros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Livros"
|
msgstr "Livros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English (Inglês)"
|
msgstr "English (Inglês)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch (Alemão)"
|
msgstr "Deutsch (Alemão)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (Espanhol)"
|
msgstr "Español (Espanhol)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Galego)"
|
msgstr "Galego (Galego)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (Italiano)"
|
msgstr "Italiano (Italiano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Francês)"
|
msgstr "Français (Francês)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (Lituano)"
|
msgstr "Lietuvių (Lituano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (Norueguês)"
|
msgstr "Norsk (Norueguês)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (Português do Brasil)"
|
msgstr "Português do Brasil (Português do Brasil)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Português Europeu)"
|
msgstr "Português Europeu (Português Europeu)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Chinês simplificado)"
|
msgstr "简体中文 (Chinês simplificado)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Chinês tradicional)"
|
msgstr "繁體中文 (Chinês tradicional)"
|
||||||
|
|
||||||
|
@ -315,57 +315,54 @@ msgstr "Algo deu errado! Foi mal."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Sobre"
|
msgstr "Sobre"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Bem-vindol(a) a %(site_name)s!"
|
msgstr "Bem-vindol(a) a %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s é parte da <em>BookWyrm</em>, uma rede independente e autogestionada para leitores. Apesar de você poder interagir diretamente com usuários de toda a <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">rede BookWyrm</a>, esta comunidade é única."
|
msgstr "%(site_name)s é parte da <em>BookWyrm</em>, uma rede independente e autogestionada para leitores. Apesar de você poder interagir diretamente com usuários de toda a <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">rede BookWyrm</a>, esta comunidade é única."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o livro favorito da instância %(site_name)s, com uma avaliação média de %(rating)s em 5."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o livro favorito da instância %(site_name)s, com uma avaliação média de %(rating)s em 5."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr "O livro mais desejado de toda a instância %(site_name)s é <a href=\"%(book_path)s\"><em>%(title)s</em></a>."
|
msgstr "O livro mais desejado de toda a instância %(site_name)s é <a href=\"%(book_path)s\"><em>%(title)s</em></a>."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> tem a avaliação mais polêmica de toda a instância %(site_name)s."
|
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> tem a avaliação mais polêmica de toda a instância %(site_name)s."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr "Registre o andamento de suas leituras, fale sobre livros, escreva resenhas e ache o que ler em seguida. Sempre sem propagandas, anticorporativa e voltada à comunidade, a BookWyrm é um software em escala humana desenvolvido para permanecer pequeno e pessoal. Se você tem sugestões de funções, avisos sobre bugs ou grandes sonhos para o projeto, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>fale conosco</a> e faça sua voz ser ouvida."
|
msgstr "Registre o andamento de suas leituras, fale sobre livros, escreva resenhas e ache o que ler em seguida. Sempre sem propagandas, anticorporativa e voltada à comunidade, a BookWyrm é um software em escala humana desenvolvido para permanecer pequeno e pessoal. Se você tem sugestões de funções, avisos sobre bugs ou grandes sonhos para o projeto, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>fale conosco</a> e faça sua voz ser ouvida."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Conheça a administração"
|
msgstr "Conheça a administração"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
msgstr "Moderadores/as e administradores/as de %(site_name)s mantêm o site funcionando, aplicam o <a href=\"coc_path\">código de conduta</a> e respondem quando usuários denunciam spam e mau comportamento."
|
||||||
" "
|
|
||||||
msgstr "\n"
|
|
||||||
" Moderadores/as e administradores/as da instância %(site_name)s mantêm o site em funcionamento, aplicam o <a href=\"coc_path\">código de conduta</a> e respondem às denúncias de spam e mau comportamento na rede. "
|
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderador/a"
|
msgstr "Moderador/a"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -427,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Copiar endereço"
|
msgstr "Copiar endereço"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Copiado!"
|
msgstr "Copiado!"
|
||||||
|
|
||||||
|
@ -496,7 +493,7 @@ msgstr "A leitura mais curta do ano…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "de"
|
msgstr "de"
|
||||||
|
@ -732,9 +729,9 @@ msgstr "Para carregar informações nos conectaremos a <strong>%(source_name)s</
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
|
@ -818,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Lugares"
|
msgstr "Lugares"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -833,7 +830,7 @@ msgstr "Adicionar à lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -935,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Voltar"
|
msgstr "Voltar"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Título:"
|
msgstr "Título:"
|
||||||
|
|
||||||
|
@ -1652,7 +1649,7 @@ msgid "What are you reading?"
|
||||||
msgstr "O que você está lendo?"
|
msgstr "O que você está lendo?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Pesquisar livro"
|
msgstr "Pesquisar livro"
|
||||||
|
|
||||||
|
@ -1670,9 +1667,9 @@ msgstr "Você pode adicionar livros quando começar a usar o %(site_name)s."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1688,7 +1685,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Popular em %(site_name)s"
|
msgstr "Popular em %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Nenhum livro encontrado"
|
msgstr "Nenhum livro encontrado"
|
||||||
|
|
||||||
|
@ -1793,7 +1790,7 @@ msgstr "Esta ação não pode ser desfeita"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Excluir"
|
msgstr "Excluir"
|
||||||
|
|
||||||
|
@ -1813,17 +1810,17 @@ msgstr "Descrição do grupo:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Excluir grupo"
|
msgstr "Excluir grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Membros deste grupo podem criar listas organizadas coletivamente."
|
msgstr "Membros deste grupo podem criar listas organizadas coletivamente."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Criar lista"
|
msgstr "Criar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Este grupo não tem listas"
|
msgstr "Este grupo não tem listas"
|
||||||
|
|
||||||
|
@ -1831,15 +1828,15 @@ msgstr "Este grupo não tem listas"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Editar grupo"
|
msgstr "Editar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Pesquisar usuário para adicionar"
|
msgstr "Pesquisar usuário para adicionar"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Sair do grupo"
|
msgstr "Sair do grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2296,18 +2293,18 @@ msgstr "Deletar esta lista?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Editar lista"
|
msgstr "Editar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, uma lista de %(owner)s"
|
msgstr "%(list_name)s, uma lista de %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "em <a href=\"/\">%(site_name)s</a>"
|
msgstr "em <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Esta lista está vazia"
|
msgstr "Esta lista está vazia"
|
||||||
|
|
||||||
|
@ -2368,76 +2365,76 @@ msgstr "Criar grupo"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Excluir lista"
|
msgstr "Excluir lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Você sugeriu um livro para esta lista com sucesso!"
|
msgstr "Você sugeriu um livro para esta lista com sucesso!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Você adicionou um livro a esta lista com sucesso!"
|
msgstr "Você adicionou um livro a esta lista com sucesso!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Adicionado por <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Adicionado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Posição na lista"
|
msgstr "Posição na lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Definir"
|
msgstr "Definir"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Remover"
|
msgstr "Remover"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Ordenar lista"
|
msgstr "Ordenar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Sentido"
|
msgstr "Sentido"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Adicionar livros"
|
msgstr "Adicionar livros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Sugerir livros"
|
msgstr "Sugerir livros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "pesquisar"
|
msgstr "pesquisar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Limpar pesquisa"
|
msgstr "Limpar pesquisa"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Nenhum livro encontrado para \"%(query)s\""
|
msgstr "Nenhum livro encontrado para \"%(query)s\""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Sugerir"
|
msgstr "Sugerir"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Incorpore esta lista em um site"
|
msgstr "Incorpore esta lista em um site"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Copiar código de incorporação"
|
msgstr "Copiar código de incorporação"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, uma lista de %(owner)s em %(site_name)s"
|
msgstr "%(list_name)s, uma lista de %(owner)s em %(site_name)s"
|
||||||
|
@ -3913,15 +3910,15 @@ msgstr "Terminado"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Esta estante está vazia."
|
msgstr "Esta estante está vazia."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Convidar"
|
msgstr "Convidar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Desconvidar"
|
msgstr "Desconvidar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Excluir @%(username)s"
|
msgstr "Excluir @%(username)s"
|
||||||
|
@ -4009,7 +4006,7 @@ msgstr "Alerta de spoiler!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Incluir alerta de spoiler"
|
msgstr "Incluir alerta de spoiler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Comentário:"
|
msgstr "Comentário:"
|
||||||
|
@ -4018,33 +4015,33 @@ msgstr "Comentário:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Publicar"
|
msgstr "Publicar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Citação:"
|
msgstr "Citação:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Um trecho de '%(book_title)s'"
|
msgstr "Um trecho de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Posição:"
|
msgstr "Posição:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "Na página:"
|
msgstr "Na página:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Na porcentagem:"
|
msgstr "Na porcentagem:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "Sua resenha de '%(book_title)s'"
|
msgstr "Sua resenha de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Resenha:"
|
msgstr "Resenha:"
|
||||||
|
|
||||||
|
@ -4098,7 +4095,7 @@ msgid "Unfollow"
|
||||||
msgstr "Deixar de seguir"
|
msgstr "Deixar de seguir"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceitar"
|
msgstr "Aceitar"
|
||||||
|
|
||||||
|
@ -4138,15 +4135,15 @@ msgstr[1] "avaliou <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rating
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] "Resenha de \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s estrela): %(review_title)s"
|
msgstr[0] "Resenha de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s"
|
||||||
msgstr[1] "Resenha de \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s estrelas): %(review_title)s"
|
msgstr[1] "Resenha de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr "Resenha de \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgstr "Resenha de \"%(book_title)s\": %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4216,11 +4213,11 @@ msgstr "Apenas seguidores"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Privacidade da publicação"
|
msgstr "Privacidade da publicação"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Deixe uma avaliação"
|
msgstr "Deixe uma avaliação"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Avaliar"
|
msgstr "Avaliar"
|
||||||
|
|
||||||
|
@ -4314,29 +4311,29 @@ msgstr "Remover de %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Terminar de ler"
|
msgstr "Terminar de ler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Aviso de conteúdo"
|
msgstr "Aviso de conteúdo"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Mostrar publicação"
|
msgstr "Mostrar publicação"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Página %(page)s)"
|
msgstr "(Página %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Abrir imagem em nova janela"
|
msgstr "Abrir imagem em nova janela"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Esconder publicação"
|
msgstr "Esconder publicação"
|
||||||
|
|
||||||
|
@ -4629,7 +4626,7 @@ msgstr "Não há nenhum usuário com este e-mail."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Um link para redefinição da senha foi enviado para {email}"
|
msgstr "Um link para redefinição da senha foi enviado para {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Novas publicações de {obj.display_name}"
|
msgstr "Novas publicações de {obj.display_name}"
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 19:57\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Portuguese\n"
|
"Language-Team: Portuguese\n"
|
||||||
"Language: pt\n"
|
"Language: pt\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "Título do livro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Classificação"
|
msgstr "Classificação"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar Por"
|
msgstr "Ordenar Por"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "Citações"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "Tudo o resto"
|
msgstr "Tudo o resto"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "Cronograma Inicial"
|
msgstr "Cronograma Inicial"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Início"
|
msgstr "Início"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "Cronograma de Livros"
|
msgstr "Cronograma de Livros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "Livros"
|
msgstr "Livros"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "Inglês"
|
msgstr "Inglês"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch (Alemão)"
|
msgstr "Deutsch (Alemão)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español (Espanhol)"
|
msgstr "Español (Espanhol)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego (Galician)"
|
msgstr "Galego (Galician)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr "Italiano (Italiano)"
|
msgstr "Italiano (Italiano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français (Francês)"
|
msgstr "Français (Francês)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių (lituano)"
|
msgstr "Lietuvių (lituano)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr "Norsk (Norueguês)"
|
msgstr "Norsk (Norueguês)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr "Português do Brasil (Português brasileiro)"
|
msgstr "Português do Brasil (Português brasileiro)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português (Português Europeu)"
|
msgstr "Português (Português Europeu)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文 (Chinês simplificado)"
|
msgstr "简体中文 (Chinês simplificado)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文 (Chinês tradicional)"
|
msgstr "繁體中文 (Chinês tradicional)"
|
||||||
|
|
||||||
|
@ -315,56 +315,54 @@ msgstr "Ocorreu um erro! Pedimos desculpa por isto."
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Sobre"
|
msgstr "Sobre"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "Bem-vindo(a) ao %(site_name)s!"
|
msgstr "Bem-vindo(a) ao %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr "%(site_name)s faz parte do <em>BookWyrm</em>, uma rede de comunidades independentes, focada nos leitores. Enquanto podes interagir continuamente com utilizadores por todo o lado na <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">Rede Boomwyrm</a>, esta comunidade é única."
|
msgstr "%(site_name)s faz parte do <em>BookWyrm</em>, uma rede de comunidades independentes, focada nos leitores. Enquanto podes interagir continuamente com utilizadores por todo o lado na <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">Rede Boomwyrm</a>, esta comunidade é única."
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr "Conheça os nossos administradores"
|
msgstr "Conheça os nossos administradores"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr "Moderador"
|
msgstr "Moderador"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -426,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "Copiar endereço"
|
msgstr "Copiar endereço"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "Copiado!"
|
msgstr "Copiado!"
|
||||||
|
|
||||||
|
@ -495,7 +493,7 @@ msgstr "A sua menor leitura este ano…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "por"
|
msgstr "por"
|
||||||
|
@ -731,9 +729,9 @@ msgstr "Carregar os dados irá conectar a <strong>%(source_name)s</strong> e ver
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
|
@ -817,8 +815,8 @@ msgid "Places"
|
||||||
msgstr "Lugares"
|
msgstr "Lugares"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -832,7 +830,7 @@ msgstr "Adicionar à lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -934,7 +932,7 @@ msgid "Back"
|
||||||
msgstr "Voltar"
|
msgstr "Voltar"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "Título:"
|
msgstr "Título:"
|
||||||
|
|
||||||
|
@ -1649,7 +1647,7 @@ msgid "What are you reading?"
|
||||||
msgstr "O que andas a ler?"
|
msgstr "O que andas a ler?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "Pesquisar por um livro"
|
msgstr "Pesquisar por um livro"
|
||||||
|
|
||||||
|
@ -1667,9 +1665,9 @@ msgstr "Podes adicionar livros quando começas a usar %(site_name)s."
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1685,7 +1683,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "Populares em %(site_name)s"
|
msgstr "Populares em %(site_name)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "Nenhum livro encontrado"
|
msgstr "Nenhum livro encontrado"
|
||||||
|
|
||||||
|
@ -1790,7 +1788,7 @@ msgstr "Esta ação não pode ser desfeita"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Apagar"
|
msgstr "Apagar"
|
||||||
|
|
||||||
|
@ -1810,17 +1808,17 @@ msgstr "Descrição do Grupo:"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "Apagar grupo"
|
msgstr "Apagar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr "Os membros deste grupo podem criar listas administradas apenas pelo grupo."
|
msgstr "Os membros deste grupo podem criar listas administradas apenas pelo grupo."
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "Criar Lista"
|
msgstr "Criar Lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "Este grupo não tem listas"
|
msgstr "Este grupo não tem listas"
|
||||||
|
|
||||||
|
@ -1828,15 +1826,15 @@ msgstr "Este grupo não tem listas"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "Editar grupo"
|
msgstr "Editar grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "Procura para adicionares um utilizador"
|
msgstr "Procura para adicionares um utilizador"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "Sair do grupo"
|
msgstr "Sair do grupo"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2293,18 +2291,18 @@ msgstr "Apagar esta lista?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "Editar lista"
|
msgstr "Editar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s, uma lista de %(owner)s"
|
msgstr "%(list_name)s, uma lista de %(owner)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "em <a href=\"/\">%(site_name)s</a>"
|
msgstr "em <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "Esta lista está vazia"
|
msgstr "Esta lista está vazia"
|
||||||
|
|
||||||
|
@ -2365,76 +2363,76 @@ msgstr "Criar um Grupo"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "Apagar lista"
|
msgstr "Apagar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "Sugeriste um livro para esta lista com sucesso!"
|
msgstr "Sugeriste um livro para esta lista com sucesso!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "Adicionaste um livro a esta lista com sucesso!"
|
msgstr "Adicionaste um livro a esta lista com sucesso!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "Adicionado por <a href=\"%(user_path)s\">%(username)s</a>"
|
msgstr "Adicionado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "Posição da lista"
|
msgstr "Posição da lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "Definir"
|
msgstr "Definir"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Remover"
|
msgstr "Remover"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "Ordenar lista"
|
msgstr "Ordenar lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "Direcção"
|
msgstr "Direcção"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "Adicionar Livros"
|
msgstr "Adicionar Livros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "Sugerir Livros"
|
msgstr "Sugerir Livros"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "pesquisar"
|
msgstr "pesquisar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "Limpar Pesquisa"
|
msgstr "Limpar Pesquisa"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "Nenhum livro encontrado que corresponda à consulta \"%(query)s\""
|
msgstr "Nenhum livro encontrado que corresponda à consulta \"%(query)s\""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "Sugerir"
|
msgstr "Sugerir"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "Incorporar esta lista num website"
|
msgstr "Incorporar esta lista num website"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "Copiar código de incorporação"
|
msgstr "Copiar código de incorporação"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s, uma lista de %(owner)s no %(site_name)s"
|
msgstr "%(list_name)s, uma lista de %(owner)s no %(site_name)s"
|
||||||
|
@ -3910,15 +3908,15 @@ msgstr "Concluído"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "Esta prateleira está vazia."
|
msgstr "Esta prateleira está vazia."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Convidar"
|
msgstr "Convidar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "Cancelar convite"
|
msgstr "Cancelar convite"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "Remover %(username)s"
|
msgstr "Remover %(username)s"
|
||||||
|
@ -4006,7 +4004,7 @@ msgstr "Alerta de spoiler!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "Incluir aviso de spoiler"
|
msgstr "Incluir aviso de spoiler"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "Comentar:"
|
msgstr "Comentar:"
|
||||||
|
@ -4015,33 +4013,33 @@ msgstr "Comentar:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Publicação"
|
msgstr "Publicação"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "Citação:"
|
msgstr "Citação:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "Um excerto de '%(book_title)s'"
|
msgstr "Um excerto de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "Posição:"
|
msgstr "Posição:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "Na página:"
|
msgstr "Na página:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "Na percentagem:"
|
msgstr "Na percentagem:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "A tua critica de '%(book_title)s'"
|
msgstr "A tua critica de '%(book_title)s'"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "Critica:"
|
msgstr "Critica:"
|
||||||
|
|
||||||
|
@ -4095,7 +4093,7 @@ msgid "Unfollow"
|
||||||
msgstr "Deixar de seguir"
|
msgstr "Deixar de seguir"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceitar"
|
msgstr "Aceitar"
|
||||||
|
|
||||||
|
@ -4135,14 +4133,14 @@ msgstr[1] "avaliado <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_ratin
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
|
@ -4213,11 +4211,11 @@ msgstr "Apenas seguidores"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "Privacidade de publicação"
|
msgstr "Privacidade de publicação"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "Deixar uma avaliação"
|
msgstr "Deixar uma avaliação"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "Avaliação"
|
msgstr "Avaliação"
|
||||||
|
|
||||||
|
@ -4311,29 +4309,29 @@ msgstr "Remover de %(name)s"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "Terminar leitura"
|
msgstr "Terminar leitura"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Aviso de Conteúdo"
|
msgstr "Aviso de Conteúdo"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "Mostrar o estado"
|
msgstr "Mostrar o estado"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(Página %(page)s)"
|
msgstr "(Página %(page)s)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "Abrir imagem numa nova janela"
|
msgstr "Abrir imagem numa nova janela"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "Ocultar estado"
|
msgstr "Ocultar estado"
|
||||||
|
|
||||||
|
@ -4626,7 +4624,7 @@ msgstr "Não foi encontrado nenhum utilizador com este E-Mail."
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "Um link para redefinir a palavra-passe foi enviado para este {email}"
|
msgstr "Um link para redefinir a palavra-passe foi enviado para este {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "Actualização de estado fornecido por {obj.display_name}"
|
msgstr "Actualização de estado fornecido por {obj.display_name}"
|
||||||
|
|
BIN
locale/sv_SE/LC_MESSAGES/django.mo
Normal file
BIN
locale/sv_SE/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
4633
locale/sv_SE/LC_MESSAGES/django.po
Normal file
4633
locale/sv_SE/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load diff
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 19:57\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Chinese Simplified\n"
|
"Language-Team: Chinese Simplified\n"
|
||||||
"Language: zh\n"
|
"Language: zh\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "书名"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "评价"
|
msgstr "评价"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "排序方式"
|
msgstr "排序方式"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr "引用"
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr "所有其它内容"
|
msgstr "所有其它内容"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "主页时间线"
|
msgstr "主页时间线"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "主页"
|
msgstr "主页"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr "书目时间线"
|
msgstr "书目时间线"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "书目"
|
msgstr "书目"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English(英语)"
|
msgstr "English(英语)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch(德语)"
|
msgstr "Deutsch(德语)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español(西班牙语)"
|
msgstr "Español(西班牙语)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr "Galego(加利西亚语)"
|
msgstr "Galego(加利西亚语)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français(法语)"
|
msgstr "Français(法语)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr "Lietuvių(立陶宛语)"
|
msgstr "Lietuvių(立陶宛语)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "简体中文"
|
msgstr "简体中文"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文(繁体中文)"
|
msgstr "繁體中文(繁体中文)"
|
||||||
|
|
||||||
|
@ -315,56 +315,54 @@ msgstr "某些东西出错了!对不起啦。"
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "欢迎来到 %(site_name)s!"
|
msgstr "欢迎来到 %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "管理员"
|
msgstr "管理员"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -426,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr "复制地址"
|
msgstr "复制地址"
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr "复制成功!"
|
msgstr "复制成功!"
|
||||||
|
|
||||||
|
@ -493,7 +491,7 @@ msgstr "TA 今年阅读最短的…"
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "作者"
|
msgstr "作者"
|
||||||
|
@ -727,9 +725,9 @@ msgstr "加载数据会连接到 <strong>%(source_name)s</strong> 并检查这
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "确认"
|
msgstr "确认"
|
||||||
|
|
||||||
|
@ -812,8 +810,8 @@ msgid "Places"
|
||||||
msgstr "地点"
|
msgstr "地点"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -827,7 +825,7 @@ msgstr "添加到列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -929,7 +927,7 @@ msgid "Back"
|
||||||
msgstr "返回"
|
msgstr "返回"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "标题:"
|
msgstr "标题:"
|
||||||
|
|
||||||
|
@ -1642,7 +1640,7 @@ msgid "What are you reading?"
|
||||||
msgstr "你在阅读什么?"
|
msgstr "你在阅读什么?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "搜索书目"
|
msgstr "搜索书目"
|
||||||
|
|
||||||
|
@ -1660,9 +1658,9 @@ msgstr "你可以在开始使用 %(site_name)s 后添加书目。"
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1678,7 +1676,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "%(site_name)s 上的热门"
|
msgstr "%(site_name)s 上的热门"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "没有找到书目"
|
msgstr "没有找到书目"
|
||||||
|
|
||||||
|
@ -1783,7 +1781,7 @@ msgstr "此操作无法被撤销"
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "删除"
|
msgstr "删除"
|
||||||
|
|
||||||
|
@ -1803,17 +1801,17 @@ msgstr "群组描述"
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr "删除群组"
|
msgstr "删除群组"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "创建列表"
|
msgstr "创建列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr "这个群组没有任何列表"
|
msgstr "这个群组没有任何列表"
|
||||||
|
|
||||||
|
@ -1821,15 +1819,15 @@ msgstr "这个群组没有任何列表"
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr "编辑群组"
|
msgstr "编辑群组"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr "搜索或添加用户"
|
msgstr "搜索或添加用户"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr "退出群组"
|
msgstr "退出群组"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2282,18 +2280,18 @@ msgstr "删除此列表?"
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "编辑列表"
|
msgstr "编辑列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr "%(list_name)s,来自 %(owner)s 的列表"
|
msgstr "%(list_name)s,来自 %(owner)s 的列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr "在 <a href=\"/\">%(site_name)s</a>"
|
msgstr "在 <a href=\"/\">%(site_name)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "此列表当前是空的"
|
msgstr "此列表当前是空的"
|
||||||
|
|
||||||
|
@ -2354,76 +2352,76 @@ msgstr "创建一个群组"
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr "删除列表"
|
msgstr "删除列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "你成功向该列表推荐了一本书!"
|
msgstr "你成功向该列表推荐了一本书!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "你成功向此列表添加了一本书!"
|
msgstr "你成功向此列表添加了一本书!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 添加"
|
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 添加"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "列表位置:"
|
msgstr "列表位置:"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "设定"
|
msgstr "设定"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "移除"
|
msgstr "移除"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "排序列表"
|
msgstr "排序列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "方向"
|
msgstr "方向"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "添加书目"
|
msgstr "添加书目"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "推荐书目"
|
msgstr "推荐书目"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "搜索"
|
msgstr "搜索"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "清除搜索"
|
msgstr "清除搜索"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "没有符合 “%(query)s” 请求的书目"
|
msgstr "没有符合 “%(query)s” 请求的书目"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "推荐"
|
msgstr "推荐"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr "将此列表嵌入到网站"
|
msgstr "将此列表嵌入到网站"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr "复制嵌入代码"
|
msgstr "复制嵌入代码"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr "%(list_name)s,%(owner)s 在 %(site_name)s 上的列表"
|
msgstr "%(list_name)s,%(owner)s 在 %(site_name)s 上的列表"
|
||||||
|
@ -3894,15 +3892,15 @@ msgstr "完成时间"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "此书架是空的。"
|
msgstr "此书架是空的。"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "邀请"
|
msgstr "邀请"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr "移除邀请"
|
msgstr "移除邀请"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr "移除 @%(username)s"
|
msgstr "移除 @%(username)s"
|
||||||
|
@ -3989,7 +3987,7 @@ msgstr "前有剧透!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "加入剧透警告"
|
msgstr "加入剧透警告"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "评论:"
|
msgstr "评论:"
|
||||||
|
@ -3998,33 +3996,33 @@ msgstr "评论:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "发布"
|
msgstr "发布"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "引用:"
|
msgstr "引用:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr "摘自《%(book_title)s》的节录"
|
msgstr "摘自《%(book_title)s》的节录"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr "位置:"
|
msgstr "位置:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr "页码:"
|
msgstr "页码:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr "百分比:"
|
msgstr "百分比:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr "你对《%(book_title)s》的书评"
|
msgstr "你对《%(book_title)s》的书评"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "书评:"
|
msgstr "书评:"
|
||||||
|
|
||||||
|
@ -4078,7 +4076,7 @@ msgid "Unfollow"
|
||||||
msgstr "取消关注"
|
msgstr "取消关注"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "接受"
|
msgstr "接受"
|
||||||
|
|
||||||
|
@ -4114,13 +4112,13 @@ msgstr[0] "为 <em><a href=\"%(path)s\">%(title)s</a></em> 打了分: %(display_
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
|
@ -4191,11 +4189,11 @@ msgstr "仅关注者"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "发文隐私"
|
msgstr "发文隐私"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "留下评价"
|
msgstr "留下评价"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "评价"
|
msgstr "评价"
|
||||||
|
|
||||||
|
@ -4289,29 +4287,29 @@ msgstr "从 %(name)s 移除"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "完成阅读"
|
msgstr "完成阅读"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "内容警告"
|
msgstr "内容警告"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr "显示状态"
|
msgstr "显示状态"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr "(第 %(page)s 页)"
|
msgstr "(第 %(page)s 页)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr "(%(percent)s%%)"
|
msgstr "(%(percent)s%%)"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "在新窗口中打开图像"
|
msgstr "在新窗口中打开图像"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr "隐藏状态"
|
msgstr "隐藏状态"
|
||||||
|
|
||||||
|
@ -4602,7 +4600,7 @@ msgstr "没有找到使用该邮箱的用户。"
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "密码重置连接已发送给 {email}"
|
msgstr "密码重置连接已发送给 {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr "{obj.display_name} 的状态更新"
|
msgstr "{obj.display_name} 的状态更新"
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-17 19:26+0000\n"
|
"POT-Creation-Date: 2022-01-24 17:25+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-17 19:57\n"
|
"PO-Revision-Date: 2022-01-24 18:54\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Chinese Traditional\n"
|
"Language-Team: Chinese Traditional\n"
|
||||||
"Language: zh\n"
|
"Language: zh\n"
|
||||||
|
@ -56,11 +56,11 @@ msgstr "書名"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:33
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "評價"
|
msgstr "評價"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134
|
#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:135
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "排序方式"
|
msgstr "排序方式"
|
||||||
|
|
||||||
|
@ -224,69 +224,69 @@ msgstr ""
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr "主頁時間線"
|
msgstr "主頁時間線"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:121
|
#: bookwyrm/settings.py:173
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "主頁"
|
msgstr "主頁"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122
|
#: bookwyrm/settings.py:174
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr "書目"
|
msgstr "書目"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:196
|
#: bookwyrm/settings.py:248
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "English(英語)"
|
msgstr "English(英語)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:197
|
#: bookwyrm/settings.py:249
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr "Deutsch(德語)"
|
msgstr "Deutsch(德語)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:198
|
#: bookwyrm/settings.py:250
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr "Español(西班牙語)"
|
msgstr "Español(西班牙語)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:199
|
#: bookwyrm/settings.py:251
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:200
|
#: bookwyrm/settings.py:252
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:201
|
#: bookwyrm/settings.py:253
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr "Français(法語)"
|
msgstr "Français(法語)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:202
|
#: bookwyrm/settings.py:254
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:203
|
#: bookwyrm/settings.py:255
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:204
|
#: bookwyrm/settings.py:256
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:205
|
#: bookwyrm/settings.py:257
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:206
|
#: bookwyrm/settings.py:258
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr "簡體中文"
|
msgstr "簡體中文"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:207
|
#: bookwyrm/settings.py:259
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr "繁體中文"
|
msgstr "繁體中文"
|
||||||
|
|
||||||
|
@ -315,56 +315,54 @@ msgstr "某些東西出錯了!抱歉。"
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:18
|
#: bookwyrm/templates/about/about.html:19
|
||||||
#: bookwyrm/templates/get_started/layout.html:20
|
#: bookwyrm/templates/get_started/layout.html:20
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome to %(site_name)s!"
|
msgid "Welcome to %(site_name)s!"
|
||||||
msgstr "歡迎來到 %(site_name)s!"
|
msgstr "歡迎來到 %(site_name)s!"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:22
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:39
|
#: bookwyrm/templates/about/about.html:40
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:58
|
#: bookwyrm/templates/about/about.html:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:77
|
#: bookwyrm/templates/about/about.html:78
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:88
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:95
|
#: bookwyrm/templates/about/about.html:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:98
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
" %(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior.\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:112
|
#: bookwyrm/templates/about/about.html:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:114 bookwyrm/templates/layout.html:131
|
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "管理員"
|
msgstr "管理員"
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:130
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:13
|
||||||
|
@ -426,7 +424,7 @@ msgid "Copy address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:230
|
#: bookwyrm/templates/lists/list.html:231
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -493,7 +491,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:245
|
#: bookwyrm/templates/annual_summary/layout.html:245
|
||||||
#: bookwyrm/templates/book/book.html:47
|
#: bookwyrm/templates/book/book.html:47
|
||||||
#: bookwyrm/templates/discover/large-book.html:22
|
#: bookwyrm/templates/discover/large-book.html:22
|
||||||
#: bookwyrm/templates/landing/large-book.html:25
|
#: bookwyrm/templates/landing/large-book.html:26
|
||||||
#: bookwyrm/templates/landing/small-book.html:18
|
#: bookwyrm/templates/landing/small-book.html:18
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "作者"
|
msgstr "作者"
|
||||||
|
@ -727,9 +725,9 @@ msgstr ""
|
||||||
#: bookwyrm/templates/author/sync_modal.html:22
|
#: bookwyrm/templates/author/sync_modal.html:22
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||||
#: bookwyrm/templates/book/sync_modal.html:22
|
#: bookwyrm/templates/book/sync_modal.html:22
|
||||||
#: bookwyrm/templates/groups/members.html:30
|
#: bookwyrm/templates/groups/members.html:29
|
||||||
#: bookwyrm/templates/landing/password_reset.html:42
|
#: bookwyrm/templates/landing/password_reset.html:42
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "確認"
|
msgstr "確認"
|
||||||
|
|
||||||
|
@ -812,8 +810,8 @@ msgid "Places"
|
||||||
msgstr "地點"
|
msgstr "地點"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:348
|
#: bookwyrm/templates/book/book.html:348
|
||||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:74
|
#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74
|
||||||
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:10
|
#: bookwyrm/templates/lists/curate.html:7 bookwyrm/templates/lists/list.html:11
|
||||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||||
#: bookwyrm/templates/search/layout.html:25
|
#: bookwyrm/templates/search/layout.html:25
|
||||||
#: bookwyrm/templates/search/layout.html:50
|
#: bookwyrm/templates/search/layout.html:50
|
||||||
|
@ -827,7 +825,7 @@ msgstr "新增到列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:369
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/list.html:208
|
#: bookwyrm/templates/lists/list.html:209
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -929,7 +927,7 @@ msgid "Back"
|
||||||
msgstr "返回"
|
msgstr "返回"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
#: bookwyrm/templates/book/edit/edit_book_form.html:21
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:16
|
#: bookwyrm/templates/snippets/create_status/review.html:15
|
||||||
msgid "Title:"
|
msgid "Title:"
|
||||||
msgstr "標題:"
|
msgstr "標題:"
|
||||||
|
|
||||||
|
@ -1642,7 +1640,7 @@ msgid "What are you reading?"
|
||||||
msgstr "你在閱讀什麼?"
|
msgstr "你在閱讀什麼?"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:162
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:163
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr "搜尋書目"
|
msgstr "搜尋書目"
|
||||||
|
|
||||||
|
@ -1660,9 +1658,9 @@ msgstr "你可以在開始使用 %(site_name)s 後新增書目。"
|
||||||
#: bookwyrm/templates/get_started/books.html:17
|
#: bookwyrm/templates/get_started/books.html:17
|
||||||
#: bookwyrm/templates/get_started/users.html:18
|
#: bookwyrm/templates/get_started/users.html:18
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:16
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:17 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:166
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:167
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1678,7 +1676,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr "%(site_name)s 上的熱門"
|
msgstr "%(site_name)s 上的熱門"
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:179
|
#: bookwyrm/templates/lists/list.html:180
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr "沒有找到書目"
|
msgstr "沒有找到書目"
|
||||||
|
|
||||||
|
@ -1783,7 +1781,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
#: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:36
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:12
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:13
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:14
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "刪除"
|
msgstr "刪除"
|
||||||
|
|
||||||
|
@ -1803,17 +1801,17 @@ msgstr ""
|
||||||
msgid "Delete group"
|
msgid "Delete group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:22
|
#: bookwyrm/templates/groups/group.html:21
|
||||||
msgid "Members of this group can create group-curated lists."
|
msgid "Members of this group can create group-curated lists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:27
|
#: bookwyrm/templates/groups/group.html:26
|
||||||
#: bookwyrm/templates/lists/create_form.html:5
|
#: bookwyrm/templates/lists/create_form.html:5
|
||||||
#: bookwyrm/templates/lists/lists.html:20
|
#: bookwyrm/templates/lists/lists.html:20
|
||||||
msgid "Create List"
|
msgid "Create List"
|
||||||
msgstr "建立列表"
|
msgstr "建立列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/group.html:40
|
#: bookwyrm/templates/groups/group.html:39
|
||||||
msgid "This group has no lists"
|
msgid "This group has no lists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1821,15 +1819,15 @@ msgstr ""
|
||||||
msgid "Edit group"
|
msgid "Edit group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:12
|
#: bookwyrm/templates/groups/members.html:11
|
||||||
msgid "Search to add a user"
|
msgid "Search to add a user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:33
|
#: bookwyrm/templates/groups/members.html:32
|
||||||
msgid "Leave group"
|
msgid "Leave group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/groups/members.html:55
|
#: bookwyrm/templates/groups/members.html:54
|
||||||
#: bookwyrm/templates/groups/suggested_users.html:35
|
#: bookwyrm/templates/groups/suggested_users.html:35
|
||||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||||
#: bookwyrm/templates/user/user_preview.html:36
|
#: bookwyrm/templates/user/user_preview.html:36
|
||||||
|
@ -2282,18 +2280,18 @@ msgstr ""
|
||||||
msgid "Edit List"
|
msgid "Edit List"
|
||||||
msgstr "編輯列表"
|
msgstr "編輯列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:7
|
#: bookwyrm/templates/lists/embed-list.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s"
|
msgid "%(list_name)s, a list by %(owner)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:17
|
#: bookwyrm/templates/lists/embed-list.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/embed-list.html:26
|
#: bookwyrm/templates/lists/embed-list.html:27
|
||||||
#: bookwyrm/templates/lists/list.html:42
|
#: bookwyrm/templates/lists/list.html:43
|
||||||
msgid "This list is currently empty"
|
msgid "This list is currently empty"
|
||||||
msgstr "此列表當前是空的"
|
msgstr "此列表當前是空的"
|
||||||
|
|
||||||
|
@ -2354,76 +2352,76 @@ msgstr ""
|
||||||
msgid "Delete list"
|
msgid "Delete list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:34
|
#: bookwyrm/templates/lists/list.html:35
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
msgstr "你成功!向該列表推薦了一本書"
|
msgstr "你成功!向該列表推薦了一本書"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:37
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr "你成功在此列表新增了一本書!"
|
msgstr "你成功在此列表新增了一本書!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:80
|
#: bookwyrm/templates/lists/list.html:81
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 新增"
|
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 新增"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:95
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr "列表位置:"
|
msgstr "列表位置:"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:101
|
#: bookwyrm/templates/lists/list.html:102
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr "設定"
|
msgstr "設定"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:116
|
#: bookwyrm/templates/lists/list.html:117
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "移除"
|
msgstr "移除"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:130
|
#: bookwyrm/templates/lists/list.html:131
|
||||||
#: bookwyrm/templates/lists/list.html:147
|
#: bookwyrm/templates/lists/list.html:148
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr "排序列表"
|
msgstr "排序列表"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:140
|
#: bookwyrm/templates/lists/list.html:141
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr "方向"
|
msgstr "方向"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:154
|
#: bookwyrm/templates/lists/list.html:155
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr "新增書目"
|
msgstr "新增書目"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:156
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr "推薦書目"
|
msgstr "推薦書目"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:167
|
#: bookwyrm/templates/lists/list.html:168
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "搜尋"
|
msgstr "搜尋"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:174
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr "清除搜尋"
|
msgstr "清除搜尋"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:178
|
#: bookwyrm/templates/lists/list.html:179
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr "沒有符合 \"%(query)s\" 請求的書目"
|
msgstr "沒有符合 \"%(query)s\" 請求的書目"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:211
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr "推薦"
|
msgstr "推薦"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:222
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:229
|
#: bookwyrm/templates/lists/list.html:230
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:231
|
#: bookwyrm/templates/lists/list.html:232
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3894,15 +3892,15 @@ msgstr "完成時間"
|
||||||
msgid "This shelf is empty."
|
msgid "This shelf is empty."
|
||||||
msgstr "此書架是空的。"
|
msgstr "此書架是空的。"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:15
|
#: bookwyrm/templates/snippets/add_to_group_button.html:16
|
||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:24
|
#: bookwyrm/templates/snippets/add_to_group_button.html:25
|
||||||
msgid "Uninvite"
|
msgid "Uninvite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/add_to_group_button.html:28
|
#: bookwyrm/templates/snippets/add_to_group_button.html:29
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Remove @%(username)s"
|
msgid "Remove @%(username)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3989,7 +3987,7 @@ msgstr "前有劇透!"
|
||||||
msgid "Include spoiler alert"
|
msgid "Include spoiler alert"
|
||||||
msgstr "加入劇透警告"
|
msgstr "加入劇透警告"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/layout.html:48
|
#: bookwyrm/templates/snippets/create_status/layout.html:47
|
||||||
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
#: bookwyrm/templates/snippets/reading_modals/form.html:7
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "評論:"
|
msgstr "評論:"
|
||||||
|
@ -3998,33 +3996,33 @@ msgstr "評論:"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "釋出"
|
msgstr "釋出"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:17
|
#: bookwyrm/templates/snippets/create_status/quotation.html:16
|
||||||
msgid "Quote:"
|
msgid "Quote:"
|
||||||
msgstr "引用:"
|
msgstr "引用:"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:25
|
#: bookwyrm/templates/snippets/create_status/quotation.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "An excerpt from '%(book_title)s'"
|
msgid "An excerpt from '%(book_title)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:32
|
#: bookwyrm/templates/snippets/create_status/quotation.html:31
|
||||||
msgid "Position:"
|
msgid "Position:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:45
|
#: bookwyrm/templates/snippets/create_status/quotation.html:44
|
||||||
msgid "On page:"
|
msgid "On page:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/quotation.html:51
|
#: bookwyrm/templates/snippets/create_status/quotation.html:50
|
||||||
msgid "At percent:"
|
msgid "At percent:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:25
|
#: bookwyrm/templates/snippets/create_status/review.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your review of '%(book_title)s'"
|
msgid "Your review of '%(book_title)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:40
|
#: bookwyrm/templates/snippets/create_status/review.html:39
|
||||||
msgid "Review:"
|
msgid "Review:"
|
||||||
msgstr "書評:"
|
msgstr "書評:"
|
||||||
|
|
||||||
|
@ -4078,7 +4076,7 @@ msgid "Unfollow"
|
||||||
msgstr "取消關注"
|
msgstr "取消關注"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
#: bookwyrm/templates/snippets/follow_request_buttons.html:7
|
||||||
#: bookwyrm/templates/snippets/join_invitation_buttons.html:8
|
#: bookwyrm/templates/snippets/join_invitation_buttons.html:9
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "接受"
|
msgstr "接受"
|
||||||
|
|
||||||
|
@ -4114,13 +4112,13 @@ msgstr[0] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"<a href='%(book_path)s'>%(book_title)s</a>\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
|
@ -4191,11 +4189,11 @@ msgstr "僅關注者"
|
||||||
msgid "Post privacy"
|
msgid "Post privacy"
|
||||||
msgstr "發文隱私"
|
msgstr "發文隱私"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:4
|
#: bookwyrm/templates/snippets/rate_action.html:5
|
||||||
msgid "Leave a rating"
|
msgid "Leave a rating"
|
||||||
msgstr "留下評價"
|
msgstr "留下評價"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/rate_action.html:19
|
#: bookwyrm/templates/snippets/rate_action.html:20
|
||||||
msgid "Rate"
|
msgid "Rate"
|
||||||
msgstr "評價"
|
msgstr "評價"
|
||||||
|
|
||||||
|
@ -4289,29 +4287,29 @@ msgstr "從 %(name)s 移除"
|
||||||
msgid "Finish reading"
|
msgid "Finish reading"
|
||||||
msgstr "完成閱讀"
|
msgstr "完成閱讀"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
#: bookwyrm/templates/snippets/status/content_status.html:73
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:79
|
#: bookwyrm/templates/snippets/status/content_status.html:80
|
||||||
msgid "Show status"
|
msgid "Show status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:101
|
#: bookwyrm/templates/snippets/status/content_status.html:102
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(Page %(page)s)"
|
msgid "(Page %(page)s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:103
|
#: bookwyrm/templates/snippets/status/content_status.html:104
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "(%(percent)s%%)"
|
msgid "(%(percent)s%%)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:125
|
#: bookwyrm/templates/snippets/status/content_status.html:126
|
||||||
msgid "Open image in new window"
|
msgid "Open image in new window"
|
||||||
msgstr "在新視窗中開啟圖片"
|
msgstr "在新視窗中開啟圖片"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/content_status.html:144
|
#: bookwyrm/templates/snippets/status/content_status.html:145
|
||||||
msgid "Hide status"
|
msgid "Hide status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4602,7 +4600,7 @@ msgstr "沒有找到使用該郵箱的使用者。"
|
||||||
msgid "A password reset link was sent to {email}"
|
msgid "A password reset link was sent to {email}"
|
||||||
msgstr "密碼重置連結已傳送給 {email}"
|
msgstr "密碼重置連結已傳送給 {email}"
|
||||||
|
|
||||||
#: bookwyrm/views/rss_feed.py:35
|
#: bookwyrm/views/rss_feed.py:34
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Status updates from {obj.display_name}"
|
msgid "Status updates from {obj.display_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
Loading…
Reference in a new issue