mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-10-31 22:19:00 +00:00
Merge branch 'main' into production
This commit is contained in:
commit
bdf617d005
41 changed files with 1806 additions and 690 deletions
|
@ -254,8 +254,12 @@ def get_data(url, params=None, timeout=10):
|
|||
resp = requests.get(
|
||||
url,
|
||||
params=params,
|
||||
headers={
|
||||
"Accept": "application/json; charset=utf-8",
|
||||
headers={ # pylint: disable=line-too-long
|
||||
"Accept": (
|
||||
"application/activity+json,"
|
||||
' application/ld+json; profile="https://www.w3.org/ns/activitystreams",'
|
||||
" application/json; charset=utf-8"
|
||||
),
|
||||
"User-Agent": settings.USER_AGENT,
|
||||
},
|
||||
timeout=timeout,
|
||||
|
|
29
bookwyrm/migrations/0120_list_embed_key.py
Normal file
29
bookwyrm/migrations/0120_list_embed_key.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Generated by Django 3.2.5 on 2021-12-04 10:55
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
def gen_uuid(apps, schema_editor):
|
||||
"""sets an unique UUID for embed_key"""
|
||||
book_lists = apps.get_model("bookwyrm", "List")
|
||||
db_alias = schema_editor.connection.alias
|
||||
for book_list in book_lists.objects.using(db_alias).all():
|
||||
book_list.embed_key = uuid.uuid4()
|
||||
book_list.save(broadcast=False)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("bookwyrm", "0119_user_feed_status_types"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="list",
|
||||
name="embed_key",
|
||||
field=models.UUIDField(editable=False, null=True, unique=True),
|
||||
),
|
||||
migrations.RunPython(gen_uuid, reverse_code=migrations.RunPython.noop),
|
||||
]
|
|
@ -73,7 +73,7 @@ class GroupMember(models.Model):
|
|||
)
|
||||
).exists():
|
||||
raise IntegrityError()
|
||||
# accepts and requests are handled by the GroupInvitation model
|
||||
# accepts and requests are handled by the GroupMemberInvitation model
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
@classmethod
|
||||
|
@ -150,31 +150,30 @@ class GroupMemberInvitation(models.Model):
|
|||
notification_type=notification_type,
|
||||
)
|
||||
|
||||
@transaction.atomic
|
||||
def accept(self):
|
||||
"""turn this request into the real deal"""
|
||||
GroupMember.from_request(self)
|
||||
|
||||
with transaction.atomic():
|
||||
GroupMember.from_request(self)
|
||||
model = apps.get_model("bookwyrm.Notification", require_ready=True)
|
||||
# tell the group owner
|
||||
model.objects.create(
|
||||
user=self.group.user,
|
||||
related_user=self.user,
|
||||
related_group=self.group,
|
||||
notification_type="ACCEPT",
|
||||
)
|
||||
|
||||
model = apps.get_model("bookwyrm.Notification", require_ready=True)
|
||||
# tell the group owner
|
||||
model.objects.create(
|
||||
user=self.group.user,
|
||||
related_user=self.user,
|
||||
related_group=self.group,
|
||||
notification_type="ACCEPT",
|
||||
)
|
||||
|
||||
# let the other members know about it
|
||||
for membership in self.group.memberships.all():
|
||||
member = membership.user
|
||||
if member not in (self.user, self.group.user):
|
||||
model.objects.create(
|
||||
user=member,
|
||||
related_user=self.user,
|
||||
related_group=self.group,
|
||||
notification_type="JOIN",
|
||||
)
|
||||
# let the other members know about it
|
||||
for membership in self.group.memberships.all():
|
||||
member = membership.user
|
||||
if member not in (self.user, self.group.user):
|
||||
model.objects.create(
|
||||
user=member,
|
||||
related_user=self.user,
|
||||
related_group=self.group,
|
||||
notification_type="JOIN",
|
||||
)
|
||||
|
||||
def reject(self):
|
||||
"""generate a Reject for this membership request"""
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
""" make a list of books!! """
|
||||
import uuid
|
||||
|
||||
from django.apps import apps
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
|
@ -43,6 +45,7 @@ class List(OrderedCollectionMixin, BookWyrmModel):
|
|||
through="ListItem",
|
||||
through_fields=("book_list", "book"),
|
||||
)
|
||||
embed_key = models.UUIDField(unique=True, null=True, editable=False)
|
||||
activity_serializer = activitypub.BookList
|
||||
|
||||
def get_remote_id(self):
|
||||
|
@ -105,6 +108,12 @@ class List(OrderedCollectionMixin, BookWyrmModel):
|
|||
group=None, curation="closed"
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
"""on save, update embed_key and avoid clash with existing code"""
|
||||
if not self.embed_key:
|
||||
self.embed_key = uuid.uuid4()
|
||||
return super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class ListItem(CollectionItemMixin, BookWyrmModel):
|
||||
"""ok"""
|
||||
|
|
|
@ -20,6 +20,10 @@ body {
|
|||
overflow: visible;
|
||||
}
|
||||
|
||||
.card.has-border {
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
.scroll-x {
|
||||
overflow: hidden;
|
||||
overflow-x: auto;
|
||||
|
|
|
@ -66,6 +66,9 @@ let BookWyrm = new class {
|
|||
document.querySelectorAll('input[type="file"]').forEach(
|
||||
bookwyrm.disableIfTooLarge.bind(bookwyrm)
|
||||
);
|
||||
document.querySelectorAll('[data-copytext]').forEach(
|
||||
bookwyrm.copyText.bind(bookwyrm)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -445,4 +448,38 @@ let BookWyrm = new class {
|
|||
parent.appendChild(label)
|
||||
parent.appendChild(input)
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up a "click-to-copy" component from a textarea element
|
||||
* with `data-copytext`, `data-copytext-label`, `data-copytext-success`
|
||||
* attributes.
|
||||
*
|
||||
* @param {object} node - DOM node of the text container
|
||||
* @return {undefined}
|
||||
*/
|
||||
|
||||
copyText(textareaEl) {
|
||||
const text = textareaEl.textContent;
|
||||
|
||||
const copyButtonEl = document.createElement('button');
|
||||
|
||||
copyButtonEl.textContent = textareaEl.dataset.copytextLabel;
|
||||
copyButtonEl.classList.add(
|
||||
"mt-2",
|
||||
"button",
|
||||
"is-small",
|
||||
"is-fullwidth",
|
||||
"is-primary",
|
||||
"is-light"
|
||||
);
|
||||
copyButtonEl.addEventListener('click', () => {
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
textareaEl.classList.add('is-success');
|
||||
copyButtonEl.classList.replace('is-primary', 'is-success');
|
||||
copyButtonEl.textContent = textareaEl.dataset.copytextSuccess;
|
||||
});
|
||||
});
|
||||
|
||||
textareaEl.parentNode.appendChild(copyButtonEl)
|
||||
}
|
||||
}();
|
||||
|
|
53
bookwyrm/templates/embed-layout.html
Normal file
53
bookwyrm/templates/embed-layout.html
Normal file
|
@ -0,0 +1,53 @@
|
|||
{% load layout %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="{% get_lang %}">
|
||||
<head>
|
||||
<title>{% block title %}BookWyrm{% endblock %} - {{ site.name }}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="{% static "css/vendor/bulma.min.css" %}">
|
||||
<link rel="stylesheet" href="{% static "css/vendor/icons.css" %}">
|
||||
<link rel="stylesheet" href="{% static "css/bookwyrm.css" %}">
|
||||
|
||||
<base target="_blank">
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{% if site.favicon %}{% get_media_prefix %}{{ site.favicon }}{% else %}{% static "images/favicon.ico" %}{% endif %}">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header class="section py-3">
|
||||
<a href="/" class="is-flex is-align-items-center">
|
||||
<img class="image logo is-flex-shrink-0" style="height: 32px" src="{% if site.logo_small %}{% get_media_prefix %}{{ site.logo_small }}{% else %}{% static "images/logo-small.png" %}{% endif %}" alt="{% blocktrans with site_name=site.name %}{{ site_name }} home page{% endblocktrans %}">
|
||||
<span class="title is-5 ml-2">{{ site.name }}</span>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main class="section py-3">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</main>
|
||||
|
||||
<footer class="section py-3">
|
||||
<p>
|
||||
<a href="{% url 'about' %}">
|
||||
{% blocktrans with site_name=site.name %}About {{ site_name }}{% endblocktrans %}
|
||||
</a>
|
||||
</p>
|
||||
{% if site.admin_email %}
|
||||
<p>
|
||||
<a href="mailto:{{ site.admin_email }}">
|
||||
{% trans "Contact site admin" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
<p>
|
||||
<a href="https://joinbookwyrm.com/">
|
||||
{% trans "Join Bookwyrm" %}
|
||||
</a>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
{% block scripts %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
|
@ -34,7 +34,7 @@
|
|||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="/">
|
||||
<img class="image logo" src="{% if site.logo_small %}{% get_media_prefix %}{{ site.logo_small }}{% else %}{% static "images/logo-small.png" %}{% endif %}" alt="Home page">
|
||||
<img class="image logo" src="{% if site.logo_small %}{% get_media_prefix %}{{ site.logo_small }}{% else %}{% static "images/logo-small.png" %}{% endif %}" alt="{% blocktrans with site_name=site.name %}{{ site_name }} home page{% endblocktrans %}">
|
||||
</a>
|
||||
<form class="navbar-item column" action="{% url 'search' %}">
|
||||
<div class="field has-addons">
|
||||
|
|
59
bookwyrm/templates/lists/embed-list.html
Normal file
59
bookwyrm/templates/lists/embed-list.html
Normal file
|
@ -0,0 +1,59 @@
|
|||
{% extends 'embed-layout.html' %}
|
||||
{% load i18n %}
|
||||
{% load bookwyrm_tags %}
|
||||
{% load bookwyrm_group_tags %}
|
||||
{% load markdown %}
|
||||
|
||||
{% block title %}{% blocktrans with list_name=list.name owner=list.user.display_name %}{{ list_name }}, a list by {{owner}}{% endblocktrans %}{% endblock title %}
|
||||
|
||||
{% block content %}
|
||||
<div class="mt-3">
|
||||
<h1 class="title is-4">
|
||||
{{ list.name }}
|
||||
<span class="subtitle">{% include 'snippets/privacy-icons.html' with item=list %}</span>
|
||||
</h1>
|
||||
<p class="subtitle is-size-6">
|
||||
{% include 'lists/created_text.html' with list=list %}
|
||||
{% blocktrans with site_name=site.name %}on <a href="/">{{ site_name }}</a>{% endblocktrans %}
|
||||
</p>
|
||||
|
||||
<div class="block content">
|
||||
{% include 'snippets/trimmed_text.html' with full=list.description %}
|
||||
</div>
|
||||
|
||||
<section>
|
||||
{% if not items.object_list.exists %}
|
||||
<p>{% trans "This list is currently empty" %}</p>
|
||||
{% else %}
|
||||
<ol start="{{ items.start_index }}" class="ordered-list">
|
||||
{% for item in items %}
|
||||
{% with book=item.book %}
|
||||
<li class="mb-5 card is-shadowless has-border">
|
||||
<div class="card-content p-0 mb-0 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">
|
||||
{% include 'snippets/book_cover.html' with cover_class='is-w-auto is-h-m-tablet is-align-items-flex-start' size='medium' %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="column mx-3 my-2">
|
||||
<h2 class="title is-6 mb-1">
|
||||
{% include 'snippets/book_titleby.html' %}
|
||||
</h2>
|
||||
<p>
|
||||
{% include 'snippets/stars.html' with rating=item.book|rating:request.user %}
|
||||
</p>
|
||||
<div>
|
||||
{{ book|book_description|to_markdown|default:""|safe|truncatewords_html:20 }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
</ol>
|
||||
{% endif %}
|
||||
{% include "snippets/pagination.html" with page=items %}
|
||||
</section>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -186,6 +186,13 @@
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div>
|
||||
<h2 class="title is-5 mt-6" id="embed-label">
|
||||
{% trans "Embed this list on a website" %}
|
||||
</h2>
|
||||
<textarea readonly class="textarea is-small" aria-labelledby="embed-label" data-copytext data-copytext-label="{% trans 'Copy embed code' %}" data-copytext-success="{% trans 'Copied!' %}"><iframe style="border-width:0;" id="bookwyrm_list_embed" width="400" height="600" title="{% blocktrans with list_name=list.name site_name=site.name owner=list.user.display_name %}{{ list_name }}, a list by {{owner}} on {{ site_name }}{% endblocktrans %}" src="{{ embed_url }}"></iframe></textarea>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
""" testing models """
|
||||
from dateutil.parser import parse
|
||||
|
||||
from imagekit.models import ImageSpecField
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
|
||||
|
@ -26,11 +28,22 @@ class Book(TestCase):
|
|||
|
||||
def test_remote_id(self):
|
||||
"""fanciness with remote/origin ids"""
|
||||
remote_id = "https://%s/book/%d" % (settings.DOMAIN, self.work.id)
|
||||
remote_id = f"https://{settings.DOMAIN}/book/{self.work.id}"
|
||||
self.assertEqual(self.work.get_remote_id(), remote_id)
|
||||
self.assertEqual(self.work.remote_id, remote_id)
|
||||
|
||||
def test_create_book(self):
|
||||
def test_generated_links(self):
|
||||
"""links produced from identifiers"""
|
||||
book = models.Edition.objects.create(
|
||||
title="ExEd",
|
||||
parent_work=self.work,
|
||||
openlibrary_key="OL123M",
|
||||
inventaire_id="isbn:123",
|
||||
)
|
||||
self.assertEqual(book.openlibrary_link, "https://openlibrary.org/books/OL123M")
|
||||
self.assertEqual(book.inventaire_link, "https://inventaire.io/entity/isbn:123")
|
||||
|
||||
def test_create_book_invalid(self):
|
||||
"""you shouldn't be able to create Books (only editions and works)"""
|
||||
self.assertRaises(ValueError, models.Book.objects.create, title="Invalid Book")
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
from unittest.mock import patch
|
||||
from django.test import TestCase
|
||||
|
||||
from bookwyrm import models, settings
|
||||
from bookwyrm import models
|
||||
|
||||
|
||||
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
|
||||
|
@ -76,7 +76,8 @@ class Group(TestCase):
|
|||
models.GroupMember.objects.create(group=self.public_group, user=self.capybara)
|
||||
|
||||
def test_group_members_can_see_private_groups(self, _):
|
||||
"""direct privacy group should not be excluded from group listings for group members viewing"""
|
||||
"""direct privacy group should not be excluded from group listings for group
|
||||
members viewing"""
|
||||
|
||||
rat_groups = models.Group.privacy_filter(self.rat).all()
|
||||
badger_groups = models.Group.privacy_filter(self.badger).all()
|
||||
|
@ -85,7 +86,8 @@ class Group(TestCase):
|
|||
self.assertTrue(self.private_group in badger_groups)
|
||||
|
||||
def test_group_members_can_see_followers_only_lists(self, _):
|
||||
"""follower-only group booklists should not be excluded from group booklist listing for group members who do not follower list owner"""
|
||||
"""follower-only group booklists should not be excluded from group booklist
|
||||
listing for group members who do not follower list owner"""
|
||||
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
followers_list = models.List.objects.create(
|
||||
|
@ -105,7 +107,8 @@ class Group(TestCase):
|
|||
self.assertTrue(followers_list in capybara_lists)
|
||||
|
||||
def test_group_members_can_see_private_lists(self, _):
|
||||
"""private group booklists should not be excluded from group booklist listing for group members"""
|
||||
"""private group booklists should not be excluded from group booklist listing
|
||||
for group members"""
|
||||
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
""" testing models """
|
||||
from unittest.mock import patch
|
||||
from django.test import TestCase
|
||||
from uuid import UUID
|
||||
|
||||
from bookwyrm import models, settings
|
||||
|
||||
|
@ -80,3 +81,12 @@ class List(TestCase):
|
|||
self.assertEqual(item.book_list.privacy, "public")
|
||||
self.assertEqual(item.privacy, "direct")
|
||||
self.assertEqual(item.recipients, [])
|
||||
|
||||
def test_embed_key(self, _):
|
||||
"""embed_key should never be empty"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
book_list = models.List.objects.create(
|
||||
name="Test List", user=self.local_user
|
||||
)
|
||||
|
||||
self.assertIsInstance(book_list.embed_key, UUID)
|
||||
|
|
|
@ -231,6 +231,32 @@ class BookViews(TestCase):
|
|||
views.update_book_from_remote(request, self.book.id, "openlibrary.org")
|
||||
self.assertEqual(mock.call_count, 1)
|
||||
|
||||
def test_resolve_book(self):
|
||||
"""load a book from search results"""
|
||||
models.Connector.objects.create(
|
||||
identifier="openlibrary.org",
|
||||
name="OpenLibrary",
|
||||
connector_file="openlibrary",
|
||||
base_url="https://openlibrary.org",
|
||||
books_url="https://openlibrary.org",
|
||||
covers_url="https://covers.openlibrary.org",
|
||||
search_url="https://openlibrary.org/search?q=",
|
||||
isbn_search_url="https://openlibrary.org/isbn",
|
||||
)
|
||||
request = self.factory.post(
|
||||
"", {"remote_id": "https://openlibrary.org/book/123"}
|
||||
)
|
||||
request.user = self.local_user
|
||||
|
||||
with patch(
|
||||
"bookwyrm.connectors.openlibrary.Connector.get_or_create_book"
|
||||
) as mock:
|
||||
mock.return_value = self.book
|
||||
result = views.resolve_book(request)
|
||||
self.assertEqual(mock.call_count, 1)
|
||||
self.assertEqual(mock.call_args[0][0], "https://openlibrary.org/book/123")
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
|
||||
def _setup_cover_url():
|
||||
"""creates cover url mock"""
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
""" test for app action functionality """
|
||||
import pathlib
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.template.response import TemplateResponse
|
||||
from django.test import TestCase
|
||||
from django.test.client import RequestFactory
|
||||
from bookwyrm.tests.validate_html import validate_html
|
||||
|
||||
from bookwyrm import forms, models, views
|
||||
from bookwyrm.tests.validate_html import validate_html
|
||||
|
||||
|
||||
class ImportViews(TestCase):
|
||||
|
@ -44,15 +45,29 @@ class ImportViews(TestCase):
|
|||
import_job = models.ImportJob.objects.create(user=self.local_user, mappings={})
|
||||
request = self.factory.get("")
|
||||
request.user = self.local_user
|
||||
with patch("bookwyrm.tasks.app.AsyncResult") as async_result:
|
||||
async_result.return_value = []
|
||||
result = view(request, import_job.id)
|
||||
|
||||
result = view(request, import_job.id)
|
||||
|
||||
self.assertIsInstance(result, TemplateResponse)
|
||||
validate_html(result.render())
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
def test_import_status_reformat(self):
|
||||
"""there are so many views, this just makes sure it LOADS"""
|
||||
view = views.ImportStatus.as_view()
|
||||
import_job = models.ImportJob.objects.create(user=self.local_user, mappings={})
|
||||
request = self.factory.post("")
|
||||
request.user = self.local_user
|
||||
with patch(
|
||||
"bookwyrm.importers.goodreads_import.GoodreadsImporter.update_legacy_job"
|
||||
) as mock:
|
||||
result = view(request, import_job.id)
|
||||
self.assertEqual(mock.call_args[0][0], import_job)
|
||||
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
def test_start_import(self):
|
||||
"""retry failed items"""
|
||||
"""start a job"""
|
||||
view = views.Import.as_view()
|
||||
form = forms.ImportForm()
|
||||
form.data["source"] = "Goodreads"
|
||||
|
@ -74,3 +89,19 @@ class ImportViews(TestCase):
|
|||
job = models.ImportJob.objects.get()
|
||||
self.assertFalse(job.include_reviews)
|
||||
self.assertEqual(job.privacy, "public")
|
||||
|
||||
def test_retry_item(self):
|
||||
"""try again on a single row"""
|
||||
job = models.ImportJob.objects.create(user=self.local_user, mappings={})
|
||||
item = models.ImportItem.objects.create(
|
||||
index=0,
|
||||
job=job,
|
||||
fail_reason="no match",
|
||||
data={},
|
||||
normalized_data={},
|
||||
)
|
||||
request = self.factory.post("")
|
||||
request.user = self.local_user
|
||||
with patch("bookwyrm.importers.importer.import_item_task.delay") as mock:
|
||||
views.retry_item(request, job.id, item.id)
|
||||
self.assertEqual(mock.call_count, 1)
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
""" test for app action functionality """
|
||||
from unittest.mock import patch
|
||||
from django.contrib.auth import decorators
|
||||
|
||||
from django.template.response import TemplateResponse
|
||||
from django.test import TestCase
|
||||
from django.test.client import RequestFactory
|
||||
|
||||
from bookwyrm import models, views, forms
|
||||
from bookwyrm import models, views
|
||||
from bookwyrm.tests.validate_html import validate_html
|
||||
|
||||
|
||||
|
@ -27,16 +26,23 @@ class GroupViews(TestCase):
|
|||
local=True,
|
||||
localname="mouse",
|
||||
)
|
||||
self.rat = models.User.objects.create_user(
|
||||
"rat@local.com",
|
||||
"rat@rat.rat",
|
||||
"password",
|
||||
local=True,
|
||||
localname="rat",
|
||||
)
|
||||
|
||||
self.testgroup = models.Group.objects.create(
|
||||
name="Test Group",
|
||||
description="Initial description",
|
||||
user=self.local_user,
|
||||
privacy="public",
|
||||
)
|
||||
self.membership = models.GroupMember.objects.create(
|
||||
group=self.testgroup, user=self.local_user
|
||||
)
|
||||
self.testgroup = models.Group.objects.create(
|
||||
name="Test Group",
|
||||
description="Initial description",
|
||||
user=self.local_user,
|
||||
privacy="public",
|
||||
)
|
||||
self.membership = models.GroupMember.objects.create(
|
||||
group=self.testgroup, user=self.local_user
|
||||
)
|
||||
|
||||
models.SiteSettings.objects.create()
|
||||
|
||||
|
@ -98,7 +104,6 @@ class GroupViews(TestCase):
|
|||
|
||||
def test_group_edit(self, _):
|
||||
"""test editing a "group" database entry"""
|
||||
|
||||
view = views.Group.as_view()
|
||||
request = self.factory.post(
|
||||
"",
|
||||
|
@ -117,3 +122,137 @@ class GroupViews(TestCase):
|
|||
self.assertEqual(self.testgroup.name, "Updated Group name")
|
||||
self.assertEqual(self.testgroup.description, "wow")
|
||||
self.assertEqual(self.testgroup.privacy, "direct")
|
||||
|
||||
def test_delete_group(self, _):
|
||||
"""delete a group"""
|
||||
request = self.factory.post("")
|
||||
request.user = self.local_user
|
||||
views.delete_group(request, self.testgroup.id)
|
||||
self.assertFalse(models.Group.objects.exists())
|
||||
|
||||
def test_invite_member(self, _):
|
||||
"""invite a member to a group"""
|
||||
request = self.factory.post(
|
||||
"",
|
||||
{
|
||||
"group": self.testgroup.id,
|
||||
"user": self.rat.localname,
|
||||
},
|
||||
)
|
||||
request.user = self.local_user
|
||||
result = views.invite_member(request)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
invite = models.GroupMemberInvitation.objects.get()
|
||||
self.assertEqual(invite.user, self.rat)
|
||||
self.assertEqual(invite.group, self.testgroup)
|
||||
|
||||
def test_invite_member_twice(self, _):
|
||||
"""invite a member to a group again"""
|
||||
request = self.factory.post(
|
||||
"",
|
||||
{
|
||||
"group": self.testgroup.id,
|
||||
"user": self.rat.localname,
|
||||
},
|
||||
)
|
||||
request.user = self.local_user
|
||||
result = views.invite_member(request)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
result = views.invite_member(request)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
def test_remove_member_denied(self, _):
|
||||
"""remove member"""
|
||||
request = self.factory.post(
|
||||
"",
|
||||
{
|
||||
"group": self.testgroup.id,
|
||||
"user": self.local_user.localname,
|
||||
},
|
||||
)
|
||||
request.user = self.local_user
|
||||
result = views.remove_member(request)
|
||||
self.assertEqual(result.status_code, 400)
|
||||
|
||||
def test_remove_member_non_member(self, _):
|
||||
"""remove member but wait, that's not a member"""
|
||||
request = self.factory.post(
|
||||
"",
|
||||
{
|
||||
"group": self.testgroup.id,
|
||||
"user": self.rat.localname,
|
||||
},
|
||||
)
|
||||
request.user = self.local_user
|
||||
result = views.remove_member(request)
|
||||
# nothing happens
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
def test_remove_member_invited(self, _):
|
||||
"""remove an invited member"""
|
||||
models.GroupMemberInvitation.objects.create(
|
||||
user=self.rat,
|
||||
group=self.testgroup,
|
||||
)
|
||||
request = self.factory.post(
|
||||
"",
|
||||
{
|
||||
"group": self.testgroup.id,
|
||||
"user": self.rat.localname,
|
||||
},
|
||||
)
|
||||
request.user = self.local_user
|
||||
result = views.remove_member(request)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
self.assertFalse(models.GroupMemberInvitation.objects.exists())
|
||||
|
||||
def test_remove_member_existing_member(self, _):
|
||||
"""remove an invited member"""
|
||||
models.GroupMember.objects.create(
|
||||
user=self.rat,
|
||||
group=self.testgroup,
|
||||
)
|
||||
request = self.factory.post(
|
||||
"",
|
||||
{
|
||||
"group": self.testgroup.id,
|
||||
"user": self.rat.localname,
|
||||
},
|
||||
)
|
||||
request.user = self.local_user
|
||||
result = views.remove_member(request)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
self.assertEqual(models.GroupMember.objects.count(), 1)
|
||||
self.assertEqual(models.GroupMember.objects.first().user, self.local_user)
|
||||
notification = models.Notification.objects.get()
|
||||
self.assertEqual(notification.user, self.rat)
|
||||
self.assertEqual(notification.related_group, self.testgroup)
|
||||
self.assertEqual(notification.notification_type, "REMOVE")
|
||||
|
||||
def test_accept_membership(self, _):
|
||||
"""accept an invite"""
|
||||
models.GroupMemberInvitation.objects.create(
|
||||
user=self.rat,
|
||||
group=self.testgroup,
|
||||
)
|
||||
request = self.factory.post("", {"group": self.testgroup.id})
|
||||
request.user = self.rat
|
||||
views.accept_membership(request)
|
||||
|
||||
self.assertFalse(models.GroupMemberInvitation.objects.exists())
|
||||
self.assertTrue(self.rat in [m.user for m in self.testgroup.memberships.all()])
|
||||
|
||||
def test_reject_membership(self, _):
|
||||
"""reject an invite"""
|
||||
models.GroupMemberInvitation.objects.create(
|
||||
user=self.rat,
|
||||
group=self.testgroup,
|
||||
)
|
||||
request = self.factory.post("", {"group": self.testgroup.id})
|
||||
request.user = self.rat
|
||||
views.reject_membership(request)
|
||||
|
||||
self.testgroup.refresh_from_db()
|
||||
self.assertFalse(models.GroupMemberInvitation.objects.exists())
|
||||
self.assertFalse(self.rat in [m.user for m in self.testgroup.memberships.all()])
|
||||
|
|
|
@ -3,6 +3,7 @@ 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
|
||||
|
@ -385,3 +386,46 @@ class ListViews(TestCase):
|
|||
|
||||
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):
|
||||
result = 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)
|
||||
result.render()
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
|
|
@ -51,6 +51,11 @@ class UserViews(TestCase):
|
|||
|
||||
def test_user_page(self):
|
||||
"""there are so many views, this just makes sure it LOADS"""
|
||||
# extras that are rendered on the user page
|
||||
models.AnnualGoal.objects.create(
|
||||
user=self.local_user, goal=12, privacy="followers"
|
||||
)
|
||||
|
||||
view = views.User.as_view()
|
||||
request = self.factory.get("")
|
||||
request.user = self.local_user
|
||||
|
@ -104,6 +109,18 @@ class UserViews(TestCase):
|
|||
self.assertIsInstance(result, ActivitypubResponse)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
def test_followers_page_anonymous(self):
|
||||
"""there are so many views, this just makes sure it LOADS"""
|
||||
view = views.Followers.as_view()
|
||||
request = self.factory.get("")
|
||||
request.user = self.anonymous_user
|
||||
with patch("bookwyrm.views.user.is_api_request") as is_api:
|
||||
is_api.return_value = False
|
||||
result = view(request, "mouse")
|
||||
self.assertIsInstance(result, TemplateResponse)
|
||||
validate_html(result.render())
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
@patch("bookwyrm.suggested_users.rerank_suggestions_task.delay")
|
||||
@patch("bookwyrm.activitystreams.populate_stream_task.delay")
|
||||
def test_followers_page_blocked(self, *_):
|
||||
|
@ -135,6 +152,18 @@ class UserViews(TestCase):
|
|||
self.assertIsInstance(result, ActivitypubResponse)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
def test_following_page_anonymous(self):
|
||||
"""there are so many views, this just makes sure it LOADS"""
|
||||
view = views.Following.as_view()
|
||||
request = self.factory.get("")
|
||||
request.user = self.anonymous_user
|
||||
with patch("bookwyrm.views.user.is_api_request") as is_api:
|
||||
is_api.return_value = False
|
||||
result = view(request, "mouse")
|
||||
self.assertIsInstance(result, TemplateResponse)
|
||||
validate_html(result.render())
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
def test_following_page_blocked(self):
|
||||
"""there are so many views, this just makes sure it LOADS"""
|
||||
view = views.Following.as_view()
|
||||
|
@ -145,3 +174,15 @@ class UserViews(TestCase):
|
|||
is_api.return_value = False
|
||||
with self.assertRaises(Http404):
|
||||
view(request, "rat")
|
||||
|
||||
def test_hide_suggestions(self):
|
||||
"""update suggestions settings"""
|
||||
self.assertTrue(self.local_user.show_suggested_users)
|
||||
request = self.factory.post("")
|
||||
request.user = self.local_user
|
||||
|
||||
result = views.hide_suggestions(request)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
self.local_user.refresh_from_db()
|
||||
self.assertFalse(self.local_user.show_suggested_users)
|
||||
|
|
|
@ -337,6 +337,11 @@ urlpatterns = [
|
|||
),
|
||||
re_path(r"^save-list/(?P<list_id>\d+)/?$", views.save_list, name="list-save"),
|
||||
re_path(r"^unsave-list/(?P<list_id>\d+)/?$", views.unsave_list, name="list-unsave"),
|
||||
re_path(
|
||||
r"^list/(?P<list_id>\d+)/embed/(?P<list_key>[0-9a-f]+)?$",
|
||||
views.unsafe_embed_list,
|
||||
name="embed-list",
|
||||
),
|
||||
# User books
|
||||
re_path(rf"{USER_PATH}/books/?$", views.Shelf.as_view(), name="user-shelves"),
|
||||
re_path(
|
||||
|
|
|
@ -84,7 +84,7 @@ from .inbox import Inbox
|
|||
from .interaction import Favorite, Unfavorite, Boost, Unboost
|
||||
from .isbn import Isbn
|
||||
from .list import Lists, SavedLists, List, Curate, UserLists
|
||||
from .list import save_list, unsave_list, delete_list
|
||||
from .list import save_list, unsave_list, delete_list, unsafe_embed_list
|
||||
from .notifications import Notifications
|
||||
from .outbox import Outbox
|
||||
from .reading import create_readthrough, delete_readthrough, delete_progressupdate
|
||||
|
|
|
@ -179,21 +179,14 @@ def delete_group(request, group_id):
|
|||
@login_required
|
||||
def invite_member(request):
|
||||
"""invite a member to the group"""
|
||||
|
||||
group = get_object_or_404(models.Group, id=request.POST.get("group"))
|
||||
if not group:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
user = get_user_from_username(request.user, request.POST["user"])
|
||||
if not user:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
if not group.user == request.user:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
try:
|
||||
models.GroupMemberInvitation.objects.create(user=user, group=group)
|
||||
|
||||
except IntegrityError:
|
||||
pass
|
||||
|
||||
|
@ -204,17 +197,11 @@ def invite_member(request):
|
|||
@login_required
|
||||
def remove_member(request):
|
||||
"""remove a member from the group"""
|
||||
|
||||
group = get_object_or_404(models.Group, id=request.POST.get("group"))
|
||||
if not group:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
user = get_user_from_username(request.user, request.POST["user"])
|
||||
if not user:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
# you can't be removed from your own group
|
||||
if request.POST["user"] == group.user:
|
||||
if user == group.user:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
is_member = models.GroupMember.objects.filter(group=group, user=user).exists()
|
||||
|
@ -234,11 +221,9 @@ def remove_member(request):
|
|||
pass
|
||||
|
||||
if is_member:
|
||||
|
||||
try:
|
||||
models.List.remove_from_group(group.user, user)
|
||||
models.GroupMember.remove(group.user, user)
|
||||
|
||||
except IntegrityError:
|
||||
pass
|
||||
|
||||
|
@ -271,18 +256,13 @@ def remove_member(request):
|
|||
@login_required
|
||||
def accept_membership(request):
|
||||
"""accept an invitation to join a group"""
|
||||
|
||||
group = models.Group.objects.get(id=request.POST["group"])
|
||||
if not group:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
invite = models.GroupMemberInvitation.objects.get(group=group, user=request.user)
|
||||
if not invite:
|
||||
return HttpResponseBadRequest()
|
||||
group = get_object_or_404(models.Group, id=request.POST.get("group"))
|
||||
invite = get_object_or_404(
|
||||
models.GroupMemberInvitation, group=group, user=request.user
|
||||
)
|
||||
|
||||
try:
|
||||
invite.accept()
|
||||
|
||||
except IntegrityError:
|
||||
pass
|
||||
|
||||
|
@ -293,19 +273,10 @@ def accept_membership(request):
|
|||
@login_required
|
||||
def reject_membership(request):
|
||||
"""reject an invitation to join a group"""
|
||||
group = get_object_or_404(models.Group, id=request.POST.get("group"))
|
||||
invite = get_object_or_404(
|
||||
models.GroupMemberInvitation, group=group, user=request.user
|
||||
)
|
||||
|
||||
group = models.Group.objects.get(id=request.POST["group"])
|
||||
if not group:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
invite = models.GroupMemberInvitation.objects.get(group=group, user=request.user)
|
||||
if not invite:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
try:
|
||||
invite.reject()
|
||||
|
||||
except IntegrityError:
|
||||
pass
|
||||
|
||||
invite.reject()
|
||||
return redirect(request.user.local_path)
|
||||
|
|
|
@ -37,33 +37,32 @@ class Import(View):
|
|||
def post(self, request):
|
||||
"""ingest a goodreads csv"""
|
||||
form = forms.ImportForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
include_reviews = request.POST.get("include_reviews") == "on"
|
||||
privacy = request.POST.get("privacy")
|
||||
source = request.POST.get("source")
|
||||
if not form.is_valid():
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
importer = None
|
||||
if source == "LibraryThing":
|
||||
importer = LibrarythingImporter()
|
||||
elif source == "Storygraph":
|
||||
importer = StorygraphImporter()
|
||||
else:
|
||||
# Default : Goodreads
|
||||
importer = GoodreadsImporter()
|
||||
include_reviews = request.POST.get("include_reviews") == "on"
|
||||
privacy = request.POST.get("privacy")
|
||||
source = request.POST.get("source")
|
||||
|
||||
try:
|
||||
job = importer.create_job(
|
||||
request.user,
|
||||
TextIOWrapper(
|
||||
request.FILES["csv_file"], encoding=importer.encoding
|
||||
),
|
||||
include_reviews,
|
||||
privacy,
|
||||
)
|
||||
except (UnicodeDecodeError, ValueError, KeyError):
|
||||
return HttpResponseBadRequest(_("Not a valid csv file"))
|
||||
importer = None
|
||||
if source == "LibraryThing":
|
||||
importer = LibrarythingImporter()
|
||||
elif source == "Storygraph":
|
||||
importer = StorygraphImporter()
|
||||
else:
|
||||
# Default : Goodreads
|
||||
importer = GoodreadsImporter()
|
||||
|
||||
importer.start_import(job)
|
||||
try:
|
||||
job = importer.create_job(
|
||||
request.user,
|
||||
TextIOWrapper(request.FILES["csv_file"], encoding=importer.encoding),
|
||||
include_reviews,
|
||||
privacy,
|
||||
)
|
||||
except (UnicodeDecodeError, ValueError, KeyError):
|
||||
return HttpResponseBadRequest(_("Not a valid csv file"))
|
||||
|
||||
return redirect(f"/import/{job.id}")
|
||||
return HttpResponseBadRequest()
|
||||
importer.start_import(job)
|
||||
|
||||
return redirect(f"/import/{job.id}")
|
||||
|
|
|
@ -7,13 +7,14 @@ from django.core.paginator import Paginator
|
|||
from django.db import IntegrityError, transaction
|
||||
from django.db.models import Avg, Count, DecimalField, Q, Max
|
||||
from django.db.models.functions import Coalesce
|
||||
from django.http import HttpResponseBadRequest, HttpResponse
|
||||
from django.http import HttpResponseBadRequest, HttpResponse, Http404
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.template.response import TemplateResponse
|
||||
from django.urls import reverse
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views import View
|
||||
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.activitypub import ActivitypubResponse
|
||||
|
@ -167,6 +168,14 @@ class List(View):
|
|||
][: 5 - len(suggestions)]
|
||||
|
||||
page = paginated.get_page(request.GET.get("page"))
|
||||
|
||||
embed_key = str(book_list.embed_key.hex)
|
||||
embed_url = reverse("embed-list", args=[book_list.id, embed_key])
|
||||
embed_url = request.build_absolute_uri(embed_url)
|
||||
|
||||
if request.GET:
|
||||
embed_url = f"{embed_url}?{request.GET.urlencode()}"
|
||||
|
||||
data = {
|
||||
"list": book_list,
|
||||
"items": page,
|
||||
|
@ -180,6 +189,7 @@ class List(View):
|
|||
"sort_form": forms.SortListForm(
|
||||
{"direction": direction, "sort_by": sort_by}
|
||||
),
|
||||
"embed_url": embed_url,
|
||||
}
|
||||
return TemplateResponse(request, "lists/list.html", data)
|
||||
|
||||
|
@ -200,6 +210,60 @@ class List(View):
|
|||
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)
|
||||
|
||||
|
||||
class Curate(View):
|
||||
"""approve or discard list suggestsions"""
|
||||
|
||||
|
@ -447,3 +511,11 @@ def normalize_book_list_ordering(book_list_id, start=0, add_offset=0):
|
|||
if item.order != effective_order:
|
||||
item.order = effective_order
|
||||
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)
|
||||
|
|
|
@ -34,11 +34,9 @@ class User(View):
|
|||
shelves = user.shelf_set
|
||||
is_self = request.user.id == user.id
|
||||
if not is_self:
|
||||
follower = user.followers.filter(id=request.user.id).exists()
|
||||
if follower:
|
||||
shelves = shelves.filter(privacy__in=["public", "followers"])
|
||||
else:
|
||||
shelves = shelves.filter(privacy="public")
|
||||
shelves = models.Shelf.privacy_filter(
|
||||
request.user, privacy_levels=["public", "followers"]
|
||||
).filter(user=user)
|
||||
|
||||
for user_shelf in shelves.all():
|
||||
if not user_shelf.books.count():
|
||||
|
@ -146,25 +144,6 @@ def annotate_if_follows(user, queryset):
|
|||
).order_by("-request_user_follows", "-created_date")
|
||||
|
||||
|
||||
class Groups(View):
|
||||
"""list of user's groups view"""
|
||||
|
||||
def get(self, request, username):
|
||||
"""list of groups"""
|
||||
user = get_user_from_username(request.user, username)
|
||||
|
||||
paginated = Paginator(
|
||||
models.Group.memberships.filter(user=user).order_by("-created_date"),
|
||||
PAGE_LENGTH,
|
||||
)
|
||||
data = {
|
||||
"user": user,
|
||||
"is_self": request.user.id == user.id,
|
||||
"group_list": paginated.get_page(request.GET.get("page")),
|
||||
}
|
||||
return TemplateResponse(request, "user/groups.html", data)
|
||||
|
||||
|
||||
@require_POST
|
||||
@login_required
|
||||
def hide_suggestions(request):
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 18:25\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-09 18:56\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "Moderator*in löschen"
|
|||
msgid "Domain block"
|
||||
msgstr "Domainsperrung"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "Hörbuch"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "E-Book"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "Graphic Novel"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "Hardcover"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "Taschenbuch"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "Benutzer*inname"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "Dieser Benutzer*inname ist bereits vergeben."
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "Besprechungen"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "Etwas ist schief gelaufen! Tut uns leid."
|
|||
msgid "Edit Author"
|
||||
msgstr "Autor*in bearbeiten"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "Alternative Namen:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "Geboren:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "Gestorben:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "Wikipedia"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr "ISNI-Datensatz anzeigen"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "Auf OpenLibrary ansehen"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "Auf Inventaire anzeigen"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "Auf LibraryThing anzeigen"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "Auf Goodreads ansehen"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "Bücher von %(name)s"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "Speichern"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "Speichern"
|
|||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,74 +451,74 @@ msgstr "Titelbild hinzufügen"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "Fehler beim Laden des Titelbilds"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s Besprechung)"
|
||||
msgstr[1] "(%(review_count)s Besprechungen)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "Beschreibung hinzufügen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "Beschreibung:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s Ausgaben</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "Eine <a href=\"%(book_path)s\">andere Ausgabe</a> dieses Buches befindet sich in deinem <a href=\"%(shelf_path)s\">%(shelf_name)s</a> Regal."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "Deine Leseaktivität"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "Lesedaten hinzufügen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "Erstellen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "Du hast keine Leseaktivität für dieses Buch."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "Deine Besprechungen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "Deine Kommentare"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "Deine Zitate"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "Themen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "Orte"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -495,11 +526,11 @@ msgstr "Orte"
|
|||
msgid "Lists"
|
||||
msgstr "Listen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "Zur Liste hinzufügen"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -577,13 +608,6 @@ msgstr "Ist das eine Ausgabe eines vorhandenen Werkes?"
|
|||
msgid "This is a new work"
|
||||
msgstr "Dies ist ein neues Werk."
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -783,6 +807,11 @@ msgstr "Lesedaten bearbeiten"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "Diese Lesedaten löschen"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1099,6 +1128,25 @@ msgstr "Falls du dein Passwort gar nicht zurücksetzen wolltest, kannst du diese
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "Passwort für %(site_name)s zurücksetzen"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Über %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Administrator*in kontaktieren"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1654,11 +1702,6 @@ msgstr ""
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Über %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1830,10 +1873,6 @@ msgstr "Status veröffentlicht"
|
|||
msgid "Error posting status"
|
||||
msgstr "Fehler beim veröffentlichen des Status"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Administrator*in kontaktieren"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "Handbuch"
|
||||
|
@ -1900,6 +1939,21 @@ msgstr "Diese Liste löschen?"
|
|||
msgid "Edit List"
|
||||
msgstr "Liste bearbeiten"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Diese Liste ist momentan leer"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "Listenkuratierung:"
|
||||
|
@ -1965,10 +2019,6 @@ msgstr "Dein Buchvorschlag wurde dieser Liste hinzugefügt!"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "Du hast ein Buch zu dieser Liste hinzugefügt!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Diese Liste ist momentan leer"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2021,6 +2071,23 @@ msgstr "Keine passenden Bücher zu „%(query)s“ gefunden"
|
|||
msgid "Suggest"
|
||||
msgstr "Vorschlagen"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "Gespeichert"
|
||||
|
@ -3387,6 +3454,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "Veröffentlicht von <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -4072,7 +4140,7 @@ msgstr "Keine Follower*innen, denen du folgst"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "Datei überschreitet die maximale Größe von 10MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 22:16+0000\n"
|
||||
"POT-Creation-Date: 2021-12-15 02:53+0000\n"
|
||||
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
@ -1129,6 +1129,25 @@ msgstr ""
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1684,11 +1703,6 @@ msgstr ""
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1860,10 +1874,6 @@ msgstr ""
|
|||
msgid "Error posting status"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr ""
|
||||
|
@ -1930,6 +1940,21 @@ msgstr ""
|
|||
msgid "Edit List"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr ""
|
||||
|
@ -1995,10 +2020,6 @@ msgstr ""
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2051,6 +2072,23 @@ msgstr ""
|
|||
msgid "Suggest"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr ""
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 18:25\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-09 18:56\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "Eliminación de moderador"
|
|||
msgid "Domain block"
|
||||
msgstr "Bloqueo de dominio"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "Audio libro"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "Libro electrónico"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "Novela gráfica"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "Tapa dura"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "Tapa blanda"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "nombre de usuario"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "Ya existe un usuario con ese nombre."
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "Reseñas"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "¡Algo salió mal! Disculpa."
|
|||
msgid "Edit Author"
|
||||
msgstr "Editar Autor/Autora"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr "Detalles sobre el/la autor/a"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "Nacido:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "Muerto:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "Wikipedia"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr "Ver registro ISNI"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "Ver en OpenLibrary"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "Ver en Inventaire"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "Ver en LibraryThing"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "Ver en Goodreads"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "Libros de %(name)s"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "Guardar"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "Guardar"
|
|||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,74 +451,74 @@ msgstr "Agregar portada"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "No se pudo cargar la portada"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s reseña)"
|
||||
msgstr[1] "(%(review_count)s reseñas)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "Agregar descripción"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "Descripción:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s ediciones</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr "Has guardado esta edición en la estantería de:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "Una <a href=\"%(book_path)s\">edición diferente</a> de este libro está en tu estantería <a href=\"%(shelf_path)s\">%(shelf_name)s</a>."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "Tu actividad de lectura"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "Agregar fechas de lectura"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "No tienes ninguna actividad de lectura para este libro."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "Tus reseñas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "Tus comentarios"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "Tus citas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "Sujetos"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -495,11 +526,11 @@ msgstr "Lugares"
|
|||
msgid "Lists"
|
||||
msgstr "Listas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "Agregar a lista"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -577,13 +608,6 @@ msgstr "¿Es esta una edición de una obra ya existente?"
|
|||
msgid "This is a new work"
|
||||
msgstr "Esta es una obra nueva"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -783,6 +807,11 @@ msgstr "Editar fechas de lectura"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "Eliminar estas fechas de lectura"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1099,6 +1128,25 @@ msgstr "Si no solicitaste reestablecer tu contraseña, puedes ignorar este mensa
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "Reestablece tu contraseña de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Sobre %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Comuníquese con el administrador del sitio"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1654,11 +1702,6 @@ msgstr "BookWyrm ha sido actualizado con posterioridad a esta importación con u
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr "Póngase en contacto con su administrador o <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>cree una propuesta</a> si está viendo elementos fallidos inesperados."
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Sobre %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1830,10 +1873,6 @@ msgstr "Estado publicado con éxito"
|
|||
msgid "Error posting status"
|
||||
msgstr "Error al publicar el estado"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Comuníquese con el administrador del sitio"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "Documentación de Django"
|
||||
|
@ -1900,6 +1939,21 @@ msgstr "¿Eliminar esta lista?"
|
|||
msgid "Edit List"
|
||||
msgstr "Editar lista"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Esta lista está vacia"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "Enumerar lista de comisariado:"
|
||||
|
@ -1965,10 +2019,6 @@ msgstr "¡Has sugerido un libro para esta lista exitosamente!"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "¡Has agregado un libro a esta lista exitosamente!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Esta lista está vacia"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2021,6 +2071,23 @@ msgstr "No se encontró ningún libro correspondiente a la búsqueda: \"%(query)
|
|||
msgid "Suggest"
|
||||
msgstr "Sugerir"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "Guardado"
|
||||
|
@ -3387,6 +3454,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "Publicado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -4072,7 +4140,7 @@ msgstr "Ningún seguidor que tu sigues"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "Archivo excede el tamaño máximo: 10MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 19:43\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-09 18:55\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "Suppression du modérateur"
|
|||
msgid "Domain block"
|
||||
msgstr "Blocage de domaine"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "Livre audio"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "eBook"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "Roman Graphique"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "Couverture rigide"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "Couverture souple"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "nom du compte :"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "Ce nom est déjà associé à un compte."
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "Critiques"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "Une erreur s’est produite ; désolé !"
|
|||
msgid "Edit Author"
|
||||
msgstr "Modifier l’auteur ou autrice"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr "Informations sur l’auteur ou l’autrice"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "Pseudonymes :"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "Naissance :"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "Décès :"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr "Liens externes"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "Wikipedia"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr "Voir l’enregistrement ISNI"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr "Charger les données"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "Voir sur OpenLibrary"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "Voir sur Inventaire"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "Voir sur LibraryThing"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "Voir sur Goodreads"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "Livres de %(name)s"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr "ISNI :"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "Enregistrer"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "Enregistrer"
|
|||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr "Le chargement des données se connectera à <strong>%(source_name)s</strong> et vérifiera les métadonnées de cet auteur ou autrice qui ne sont pas présentes ici. Les métadonnées existantes ne seront pas écrasées."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,74 +451,74 @@ msgstr "Ajouter une couverture"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "La couverture n’a pu être chargée"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s critique)"
|
||||
msgstr[1] "(%(review_count)s critiques)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "Ajouter une description"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "Description :"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s éditions</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr "Vous avez rangé cette édition dans :"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "Une <a href=\"%(book_path)s\">édition différente</a> de ce livre existe sur votre étagère <a href=\"%(shelf_path)s\">%(shelf_name)s</a>."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "Votre activité de lecture"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "Ajouter des dates de lecture"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "Vous n’avez aucune activité de lecture pour ce livre"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "Vos critiques"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "Vos commentaires"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "Vos citations"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "Sujets"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "Lieux"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -495,11 +526,11 @@ msgstr "Lieux"
|
|||
msgid "Lists"
|
||||
msgstr "Listes"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "Ajouter à la liste"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -577,13 +608,6 @@ msgstr "Est‑ce l’édition d’un ouvrage existant ?"
|
|||
msgid "This is a new work"
|
||||
msgstr "Il s’agit d’un nouvel ouvrage."
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -783,6 +807,11 @@ msgstr "Modifier les date de lecture"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "Supprimer ces dates de lecture"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr "Le chargement des données se connectera à <strong>%(source_name)s</strong> et vérifiera les métadonnées de ce livre qui ne sont pas présentes ici. Les métadonnées existantes ne seront pas écrasées."
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1099,6 +1128,25 @@ msgstr "Si vous n’avez pas demandé la réinitialisation de votre mot de passe
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "Réinitialiser votre mot de passe sur %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "À propos de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Contacter l’administrateur du site"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1654,11 +1702,6 @@ msgstr "BookWyrm a été mis à jour depuis cette importation avec une correctio
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr "Contactez votre administrateur·ice ou <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>signalez un problème</a> si vous voyez des éléments inattendus qui ont échoué."
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "À propos de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1830,10 +1873,6 @@ msgstr "Publié !"
|
|||
msgid "Error posting status"
|
||||
msgstr "Erreur lors de la publication"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Contacter l’administrateur du site"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
@ -1900,6 +1939,21 @@ msgstr "Supprimer cette liste ?"
|
|||
msgid "Edit List"
|
||||
msgstr "Modifier la liste"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Cette liste est actuellement vide"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "Modération de la liste :"
|
||||
|
@ -1965,10 +2019,6 @@ msgstr "Vous avez suggéré un livre à cette liste !"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "Vous avez ajouté un livre à cette liste !"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Cette liste est actuellement vide"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2021,6 +2071,23 @@ msgstr "Aucun livre trouvé pour la requête « %(query)s »"
|
|||
msgid "Suggest"
|
||||
msgstr "Suggérer"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "Sauvegardé"
|
||||
|
@ -3387,6 +3454,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "Publiée par <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -4072,7 +4140,7 @@ msgstr "Aucun·e abonné·e que vous suivez"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "Ce fichier dépasse la taille limite : 10 Mo"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s (%(subtitle)s)"
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 18:25\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-10 05:04\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Galician\n"
|
||||
"Language: gl\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "Eliminado pola moderación"
|
|||
msgid "Domain block"
|
||||
msgstr "Bloqueo de dominio"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "Audiolibro"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "eBook"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "Novela gráfica"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "Portada dura"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "En rústica"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "nome de usuaria"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "Xa existe unha usuaria con ese nome."
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "Recensións"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "Algo fallou! Lamentámolo."
|
|||
msgid "Edit Author"
|
||||
msgstr "Editar Autora"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr "Detalles da autoría"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "Nacemento:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "Morte:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr "Ligazóns externas"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "Wikipedia"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr "Ver rexistro ISNI"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr "Cargar datos"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "Ver en OpenLibrary"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "Ver en Inventaire"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "Ver en LibraryThing"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "Ver en Goodreads"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "Libros de %(name)s"
|
||||
|
@ -366,10 +381,10 @@ msgstr "Chave en Goodreads:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:105
|
||||
msgid "ISNI:"
|
||||
msgstr ""
|
||||
msgstr "ISNI:"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "Gardar"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "Gardar"
|
|||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr "Ao cargar os datos vas conectar con <strong>%(source_name)s</strong> e comprobar se existen metadatos desta persoa autora que non están aquí presentes. Non se sobrescribirán os datos existentes."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,74 +451,74 @@ msgstr "Engadir portada"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "Fallou a carga da portada"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s recensión)"
|
||||
msgstr[1] "(%(review_count)s recensións)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "Engadir descrición"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "Descrición:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s edicións</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr "Puxeches esta edición no estante:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "Hai unha <a href=\"%(book_path)s\">edición diferente</a> deste libro no teu estante <a href=\"%(shelf_path)s\">%(shelf_name)s</a>."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "Actividade lectora"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "Engadir datas de lectura"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "Non tes actividade lectora neste libro."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "As túas recensións"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "Os teus comentarios"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "As túas citas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "Temas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -495,11 +526,11 @@ msgstr "Lugares"
|
|||
msgid "Lists"
|
||||
msgstr "Listaxes"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "Engadir a listaxe"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -577,13 +608,6 @@ msgstr "É esta a edición dun traballo existente?"
|
|||
msgid "This is a new work"
|
||||
msgstr "Este é un novo traballo"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -783,6 +807,11 @@ msgstr "Editar datas da lectura"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "Eliminar estas datas da lectura"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr "Ao cargar os datos vas conectar con <strong>%(source_name)s</strong> e comprobar se existen metadatos deste libro que non están aquí presentes. Non se sobrescribirán os datos existentes."
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1099,6 +1128,25 @@ msgstr "Se non solicitaches cambiar o contrasinal podes ignorar este email."
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "Restablece o contrasinal en %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr "Páxina de inicio de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Acerca de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Contacta coa administración"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr "Únete a BookWyrm"
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1463,7 +1511,7 @@ msgstr "Ficheiro de datos:"
|
|||
|
||||
#: bookwyrm/templates/import/import.html:45
|
||||
msgid "Include reviews"
|
||||
msgstr "Incluir recensións"
|
||||
msgstr "Incluír recensións"
|
||||
|
||||
#: bookwyrm/templates/import/import.html:50
|
||||
msgid "Privacy setting for imported reviews:"
|
||||
|
@ -1654,11 +1702,6 @@ msgstr "Actualizouse BookWyrm desde a importación arranxando algún fallo"
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr "Contacta coa administración ou <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>abre unha incidencia</a> se atopas fallos non agardados."
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Acerca de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1830,10 +1873,6 @@ msgstr "Publicación correcta"
|
|||
msgid "Error posting status"
|
||||
msgstr "Erro ao publicar"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Contacta coa administración"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "Documentación"
|
||||
|
@ -1900,6 +1939,21 @@ msgstr "Eliminar esta lista?"
|
|||
msgid "Edit List"
|
||||
msgstr "Editar lista"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr "%(list_name)s, unha lista de %(owner)s"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr "en <a href=\"/\">%(site_name)s</a>"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "A lista está baleira neste intre"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "Mantemento da lista:"
|
||||
|
@ -1965,10 +2019,6 @@ msgstr "Suxeriches correctamente un libro para esta lista!"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "Engadiches correctamente un libro a esta lista!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "A lista está baleira neste intre"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2021,6 +2071,23 @@ msgstr "Non se atopan libros coa consulta \"%(query)s\""
|
|||
msgid "Suggest"
|
||||
msgstr "Suxire"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr "Utiliza esta lista nunha páxina web"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr "Copia o código a incluír"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr "Copiado!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
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"
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "Gardado"
|
||||
|
@ -2209,116 +2276,116 @@ msgstr "Estás ao día!"
|
|||
#: bookwyrm/templates/ostatus/error.html:7
|
||||
#, python-format
|
||||
msgid "<strong>%(account)s</strong> is not a valid username"
|
||||
msgstr ""
|
||||
msgstr "<strong>%(account)s</strong> non é un nome de usuaria válido"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:8
|
||||
#: bookwyrm/templates/ostatus/error.html:13
|
||||
msgid "Check you have the correct username before trying again"
|
||||
msgstr ""
|
||||
msgstr "Comproba que usaches o identificador correcto e inténtao outra vez"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:12
|
||||
#, python-format
|
||||
msgid "<strong>%(account)s</strong> could not be found or <code>%(remote_domain)s</code> does not support identity discovery"
|
||||
msgstr ""
|
||||
msgstr "Non se puido atopar a <strong>%(account)s</strong> ou <code>%(remote_domain)s</code> non ten soporte para o descubrimento remoto de identidades"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:17
|
||||
#, python-format
|
||||
msgid "<strong>%(account)s</strong> was found but <code>%(remote_domain)s</code> does not support 'remote follow'"
|
||||
msgstr ""
|
||||
msgstr "Atopamos a <strong>%(account)s</strong> mais <code>%(remote_domain)s</code> non ten soporte para 'seguimento remoto'"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:18
|
||||
#, python-format
|
||||
msgid "Try searching for <strong>%(user)s</strong> on <code>%(remote_domain)s</code> instead"
|
||||
msgstr ""
|
||||
msgstr "Intenta buscar <strong>%(user)s</strong> en <code>%(remote_domain)s</code>"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:46
|
||||
#, python-format
|
||||
msgid "Something went wrong trying to follow <strong>%(account)s</strong>"
|
||||
msgstr ""
|
||||
msgstr "Algo fallou ao intentar seguir a <strong>%(account)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:47
|
||||
msgid "Check you have the correct username before trying again."
|
||||
msgstr ""
|
||||
msgstr "Comproba se escribiches o nome de usuaria correcto e inténtao outra vez."
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:51
|
||||
#, python-format
|
||||
msgid "You have blocked <strong>%(account)s</strong>"
|
||||
msgstr ""
|
||||
msgstr "Bloqueaches a <strong>%(account)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:55
|
||||
#, python-format
|
||||
msgid "<strong>%(account)s</strong> has blocked you"
|
||||
msgstr ""
|
||||
msgstr "<strong>%(account)s</strong> bloqueoute"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:59
|
||||
#, python-format
|
||||
msgid "You are already following <strong>%(account)s</strong>"
|
||||
msgstr ""
|
||||
msgstr "Xa estás a seguir a <strong>%(account)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/ostatus/error.html:63
|
||||
#, python-format
|
||||
msgid "You have already requested to follow <strong>%(account)s</strong>"
|
||||
msgstr ""
|
||||
msgstr "Xa solicitaches seguir a <strong>%(account)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/ostatus/remote_follow.html:6
|
||||
#, python-format
|
||||
msgid "Follow %(username)s on the fediverse"
|
||||
msgstr ""
|
||||
msgstr "Seguir a %(username)s no fediverso"
|
||||
|
||||
#: bookwyrm/templates/ostatus/remote_follow.html:33
|
||||
#, python-format
|
||||
msgid "Follow %(username)s from another Fediverse account like BookWyrm, Mastodon, or Pleroma."
|
||||
msgstr ""
|
||||
msgstr "Sigue a %(username)s desde outra conta no Fediverso como BookWyrm, Mastodon ou Pleroma."
|
||||
|
||||
#: bookwyrm/templates/ostatus/remote_follow.html:40
|
||||
msgid "User handle to follow from:"
|
||||
msgstr ""
|
||||
msgstr "ID da usuaria desde onde seguir:"
|
||||
|
||||
#: bookwyrm/templates/ostatus/remote_follow.html:42
|
||||
msgid "Follow!"
|
||||
msgstr ""
|
||||
msgstr "Seguir!"
|
||||
|
||||
#: bookwyrm/templates/ostatus/remote_follow_button.html:8
|
||||
msgid "Follow on Fediverse"
|
||||
msgstr ""
|
||||
msgstr "Seguir no Fediverso"
|
||||
|
||||
#: bookwyrm/templates/ostatus/remote_follow_button.html:12
|
||||
msgid "This link opens in a pop-up window"
|
||||
msgstr ""
|
||||
msgstr "Esta ligazón abre unha ventá emerxente"
|
||||
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:8
|
||||
#, python-format
|
||||
msgid "Log in to %(sitename)s"
|
||||
msgstr ""
|
||||
msgstr "Conectar con %(sitename)s"
|
||||
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:10
|
||||
#, python-format
|
||||
msgid "Error following from %(sitename)s"
|
||||
msgstr ""
|
||||
msgstr "Erro no seguimento desde %(sitename)s"
|
||||
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:12
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:22
|
||||
#, python-format
|
||||
msgid "Follow from %(sitename)s"
|
||||
msgstr ""
|
||||
msgstr "Seguir desde %(sitename)s"
|
||||
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:18
|
||||
msgid "Uh oh..."
|
||||
msgstr ""
|
||||
msgstr "Oioioi..."
|
||||
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:20
|
||||
msgid "Let's log in first..."
|
||||
msgstr ""
|
||||
msgstr "Primeiro hai que conectar..."
|
||||
|
||||
#: bookwyrm/templates/ostatus/subscribe.html:51
|
||||
#, python-format
|
||||
msgid "Follow %(username)s"
|
||||
msgstr ""
|
||||
msgstr "Segue a %(username)s"
|
||||
|
||||
#: bookwyrm/templates/ostatus/success.html:28
|
||||
#, python-format
|
||||
msgid "You are now following %(display_name)s!"
|
||||
msgstr ""
|
||||
msgstr "Estás a seguir a %(display_name)s!"
|
||||
|
||||
#: bookwyrm/templates/preferences/blocks.html:4
|
||||
#: bookwyrm/templates/preferences/blocks.html:7
|
||||
|
@ -3387,6 +3454,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "Publicado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -4072,7 +4140,7 @@ msgstr "Sen seguidoras que ti segues"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "O ficheiro supera o tamaño máximo: 10MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 20:53\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-13 20:56\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Language: lt\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "Moderatorius ištrynė"
|
|||
msgid "Domain block"
|
||||
msgstr "Blokuoti pagal domeną"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "Audioknyga"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "Elektroninė knyga"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "Grafinė novelė"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "Knyga kietais viršeliais"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "Knyga minkštais viršeliais"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "naudotojo vardas"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "Toks naudotojo vardas jau egzistuoja."
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "Apžvalgos"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "Kažkas nepavyko. Atsiprašome."
|
|||
msgid "Edit Author"
|
||||
msgstr "Keisti autorių"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "Pseudonimai:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "Gimęs:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "Mirė:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "Wikipedia"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr "Peržiūrėti ISNI įrašą"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "Žiūrėti „OpenLibrary“"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "Žiūrėti „Inventaire“"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "Žiūrėti „LibraryThing“"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "Žiūrėti „Goodreads“"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "%(name)s knygos"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr "ISNI:"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "Išsaugoti"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "Išsaugoti"
|
|||
msgid "Cancel"
|
||||
msgstr "Atšaukti"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Patvirtinti"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,7 +451,7 @@ msgstr "Pridėti viršelį"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "Nepavyko įkelti viršelio"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
|
@ -429,67 +460,67 @@ msgstr[1] "(%(review_count)s atsiliepimai)"
|
|||
msgstr[2] "(%(review_count)s atsiliepimų)"
|
||||
msgstr[3] "(%(review_count)s atsiliepimai)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "Pridėti aprašymą"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "Aprašymas:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s leidimai (-ų)</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr "Šis leidimas įdėtas į:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "<a href=\"%(book_path)s\">kitas</a> šios knygos leidimas yra jūsų <a href=\"%(shelf_path)s\">%(shelf_name)s</a> lentynoje."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "Jūsų skaitymo veikla"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "Pridėti skaitymo datas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "Kurti"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "Šios knygos neskaitote."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "Tavo atsiliepimai"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "Tavo komentarai"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "Jūsų citatos"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "Temos"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "Vietos"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -497,11 +528,11 @@ msgstr "Vietos"
|
|||
msgid "Lists"
|
||||
msgstr "Sąrašai"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "Pridėti prie sąrašo"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -579,13 +610,6 @@ msgstr "Ar tai egzistuojančio darbo leidimas?"
|
|||
msgid "This is a new work"
|
||||
msgstr "Tai naujas darbas"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Patvirtinti"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -785,6 +809,11 @@ msgstr "Redaguoti skaitymo datas"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "Ištrinti šias skaitymo datas"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1105,6 +1134,25 @@ msgstr "Jei nenorite pakeisti savo slaptažodžio - ignoruokite šį laišką."
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "Keisti %(site_name)s slaptažodį"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr "%(site_name)s pagrindinis puslapis"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Apie %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Puslapio administratorius"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr "Prisijunkite prie „Bookwyrm“"
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1668,11 +1716,6 @@ msgstr "Nuo importo datos „BookWyrm“ atnaujinto programinę įrangą ir išt
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr "Jei matote netikėtų nesklandumų, susisiekite su administratoriumi arba <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>registruokite problemą</a>."
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Apie %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1844,10 +1887,6 @@ msgstr "Būsena publikuota sėkmingai"
|
|||
msgid "Error posting status"
|
||||
msgstr "Klaida, publikuojant būseną"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Puslapio administratorius"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentacija"
|
||||
|
@ -1914,6 +1953,21 @@ msgstr "Ištrinti šį sąrašą?"
|
|||
msgid "Edit List"
|
||||
msgstr "Redaguoti sąrašą"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr "%(list_name)s, sąrašą sudarė %(owner)s"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr "per <a href=\"/\">%(site_name)s</a>"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Šiuo metu sąrašas tuščias"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "Sąrašo kuravimas:"
|
||||
|
@ -1979,10 +2033,6 @@ msgstr "Sėkmingai pasiūlėte knygą šiam sąrašui!"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "Sėkmingai pridėjote knygą į šį sąrašą!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Šiuo metu sąrašas tuščias"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2035,6 +2085,23 @@ msgstr "Pagal paiešką „%(query)s“ knygų nerasta"
|
|||
msgid "Suggest"
|
||||
msgstr "Siūlyti"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr "Įdėkite šį sąrašą į tinklalapį"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr "Nukopijuokite įterptinį kodą"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr "Nukopijuota"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
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"
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "Išsaugota"
|
||||
|
@ -3409,6 +3476,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "Publikavo <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -3882,7 +3950,7 @@ msgstr "pakomentavo <a href=\"%(book_path)s\">%(book)s</a>"
|
|||
#: bookwyrm/templates/snippets/status/headers/note.html:8
|
||||
#, python-format
|
||||
msgid "replied to <a href=\"%(user_path)s\">%(username)s</a>'s <a href=\"%(status_path)s\">status</a>"
|
||||
msgstr "atsakyta į <a href=\"%(user_path)s\">%(username)s</a> <a href=\"%(status_path)s\">būseną</a>"
|
||||
msgstr "atsakė į <a href=\"%(user_path)s\">%(username)s</a> <a href=\"%(status_path)s\"> statusą</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/quotation.html:2
|
||||
#, python-format
|
||||
|
@ -4110,7 +4178,7 @@ msgstr "Jūs kartu nieko nesekate"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "Failas viršijo maksimalų dydį: 10 MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 20:54\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-11 15:41\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "Exclusão de moderador"
|
|||
msgid "Domain block"
|
||||
msgstr "Bloqueio de domínio"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "Audiolivro"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "e-book"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "Graphic novel"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "Capa dura"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "Capa mole"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "nome de usuário"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "Já existe um usuário com este nome."
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "Resenhas"
|
||||
|
||||
|
@ -246,55 +246,70 @@ msgstr "Algo deu errado! Foi mal."
|
|||
#: bookwyrm/templates/author/author.html:18
|
||||
#: bookwyrm/templates/author/author.html:19
|
||||
msgid "Edit Author"
|
||||
msgstr "Editar autor"
|
||||
msgstr "Editar autor/a"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr "Detalhes do/a autor/a"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "Pseudônimos:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "Nascimento:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "Morte:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr "Links externos"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "Wikipédia"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr "Ver registro ISNI"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr "Carregar informações"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "Ver na OpenLibrary"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "Ver no Inventaire"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "Ver no LibraryThing"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "Ver no Goodreads"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "Livros de %(name)s"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:5
|
||||
msgid "Edit Author:"
|
||||
msgstr "Editar autor:"
|
||||
msgstr "Editar autor/a:"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:13
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:19
|
||||
|
@ -345,7 +360,7 @@ msgstr "Data da morte:"
|
|||
|
||||
#: bookwyrm/templates/author/edit_author.html:75
|
||||
msgid "Author Identifiers"
|
||||
msgstr "Identificadores do autor"
|
||||
msgstr "Identificadores do/a autor/a"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:77
|
||||
msgid "Openlibrary key:"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr "ISNI:"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "Salvar"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "Salvar"
|
|||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr "Para carregar informações nos conectaremos a <strong>%(source_name)s</strong> e buscaremos metadados que ainda não temos sobre este/a autor/a. Metadados já existentes não serão substituídos."
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,74 +451,74 @@ msgstr "Adicionar capa"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "Erro ao carregar capa"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s resenha)"
|
||||
msgstr[1] "(%(review_count)s resenhas)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "Adicionar descrição"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "Descrição:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s edições</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr "Você colocou esta edição na estante em:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "Uma <a href=\"%(book_path)s\">edição diferente</a> deste livro está em sua estante <a href=\"%(shelf_path)s\">%(shelf_name)s</a>."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "Sua atividade de leitura"
|
||||
msgstr "Andamento da sua leitura"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "Adicionar datas de leitura"
|
||||
msgstr "Adicionar registro de leitura"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "Criar"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "Você ainda não registrou seu progresso para este livro."
|
||||
msgstr "Você ainda não registrou nenhuma atividade neste livro."
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "Suas resenhas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "Seus comentários"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "Suas citações"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "Assuntos"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -495,11 +526,11 @@ msgstr "Lugares"
|
|||
msgid "Lists"
|
||||
msgstr "Listas"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "Adicionar à lista"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -554,7 +585,7 @@ msgstr "\"%(name)s\" é uma das pessoas citadas abaixo?"
|
|||
#: bookwyrm/templates/book/edit/edit_book.html:67
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:69
|
||||
msgid "Author of "
|
||||
msgstr "Autor de "
|
||||
msgstr "Autor/a de "
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:69
|
||||
msgid "Find more information at isni.org"
|
||||
|
@ -562,12 +593,12 @@ msgstr "Conheça mais em isni.org"
|
|||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:79
|
||||
msgid "This is a new author"
|
||||
msgstr "Novo autor"
|
||||
msgstr "É um/a novo/a autor/a"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:86
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "Criando um novo autor: %(name)s"
|
||||
msgstr "Criando um/a novo/a autor/a: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:93
|
||||
msgid "Is this an edition of an existing work?"
|
||||
|
@ -577,13 +608,6 @@ msgstr "É uma edição de uma obra já registrada?"
|
|||
msgid "This is a new work"
|
||||
msgstr "É uma nova obra"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -628,7 +652,7 @@ msgstr "Data de publicação:"
|
|||
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:122
|
||||
msgid "Authors"
|
||||
msgstr "Autores"
|
||||
msgstr "Autores/as"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:131
|
||||
#, python-format
|
||||
|
@ -638,11 +662,11 @@ msgstr "Remover %(name)s"
|
|||
#: bookwyrm/templates/book/edit/edit_book_form.html:134
|
||||
#, python-format
|
||||
msgid "Author page for %(name)s"
|
||||
msgstr "Página de autor de %(name)s"
|
||||
msgstr "Página de autor/a de %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:142
|
||||
msgid "Add Authors:"
|
||||
msgstr "Adicionar autores:"
|
||||
msgstr "Adicionar autores/as:"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:145
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:148
|
||||
|
@ -756,7 +780,7 @@ msgstr "avaliou este livro"
|
|||
|
||||
#: bookwyrm/templates/book/readthrough.html:8
|
||||
msgid "Progress Updates:"
|
||||
msgstr "Atualização de progresso:"
|
||||
msgstr "Registro de leitura:"
|
||||
|
||||
#: bookwyrm/templates/book/readthrough.html:13
|
||||
msgid "finished"
|
||||
|
@ -764,11 +788,11 @@ msgstr "terminado"
|
|||
|
||||
#: bookwyrm/templates/book/readthrough.html:24
|
||||
msgid "Show all updates"
|
||||
msgstr "Mostrar todas as atualizações"
|
||||
msgstr "Mostrar andamento da leitura"
|
||||
|
||||
#: bookwyrm/templates/book/readthrough.html:40
|
||||
msgid "Delete this progress update"
|
||||
msgstr "Excluir esta atualização de progresso"
|
||||
msgstr "Excluir esta atualização de andamento"
|
||||
|
||||
#: bookwyrm/templates/book/readthrough.html:51
|
||||
msgid "started"
|
||||
|
@ -777,12 +801,17 @@ msgstr "iniciado"
|
|||
#: bookwyrm/templates/book/readthrough.html:58
|
||||
#: bookwyrm/templates/book/readthrough.html:72
|
||||
msgid "Edit read dates"
|
||||
msgstr "Editar datas de leitura"
|
||||
msgstr "Editar registro de leitura"
|
||||
|
||||
#: bookwyrm/templates/book/readthrough.html:62
|
||||
msgid "Delete these read dates"
|
||||
msgstr "Excluir estas datas de leitura"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr "Para carregar informações nos conectaremos a <strong>%(source_name)s</strong> e buscaremos metadados que ainda não temos sobre este livro. Metadados já existentes não serão substituídos."
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1099,6 +1128,25 @@ msgstr "Se você não solicitou a redefinição de senha, ignore este e-mail."
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "Redefinir sua senha no %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr "Página inicial de %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Sobre %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Falar com a administração"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr "Participe da BookWyrm"
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1550,7 +1598,7 @@ msgstr "ISBN"
|
|||
#: bookwyrm/templates/shelf/shelf.html:145
|
||||
#: bookwyrm/templates/shelf/shelf.html:169
|
||||
msgid "Author"
|
||||
msgstr "Autor"
|
||||
msgstr "Autor/a"
|
||||
|
||||
#: bookwyrm/templates/import/import_status.html:112
|
||||
msgid "Shelf"
|
||||
|
@ -1654,11 +1702,6 @@ msgstr "Desde a importação a BookWyrm foi atualizada com uma correção de bug
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr "Fale com a administração ou <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>crie um problema</a> se você perceber itens com erros inesperados."
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "Sobre %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1830,10 +1873,6 @@ msgstr "Publicação feita com sucesso"
|
|||
msgid "Error posting status"
|
||||
msgstr "Erro ao publicar"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "Falar com a administração"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "Documentação"
|
||||
|
@ -1900,6 +1939,21 @@ msgstr "Deletar esta lista?"
|
|||
msgid "Edit List"
|
||||
msgstr "Editar lista"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr "%(list_name)s, uma lista de %(owner)s"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr "em <a href=\"/\">%(site_name)s</a>"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Esta lista está vazia"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "Configuração da lista:"
|
||||
|
@ -1965,10 +2019,6 @@ msgstr "Você sugeriu um livro para esta lista com sucesso!"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "Você adicionou um livro a esta lista com sucesso!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "Esta lista está vazia"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2021,6 +2071,23 @@ msgstr "Nenhum livro encontrado para \"%(query)s\""
|
|||
msgid "Suggest"
|
||||
msgstr "Sugerir"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr "Incorpore esta lista em um site"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr "Copiar código de incorporação"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr "Copiado!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
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"
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "Salvo"
|
||||
|
@ -3387,6 +3454,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "Publicado por <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -3423,7 +3491,7 @@ msgstr "Algumas ideias sobre o livro"
|
|||
#: bookwyrm/templates/snippets/create_status/comment.html:27
|
||||
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:15
|
||||
msgid "Progress:"
|
||||
msgstr "Progresso:"
|
||||
msgstr "Andamento:"
|
||||
|
||||
#: bookwyrm/templates/snippets/create_status/comment.html:53
|
||||
#: bookwyrm/templates/snippets/progress_field.html:18
|
||||
|
@ -3517,7 +3585,7 @@ msgstr "Excluir as datas de leitura?"
|
|||
#: bookwyrm/templates/snippets/delete_readthrough_modal.html:7
|
||||
#, python-format
|
||||
msgid "You are deleting this readthrough and its %(count)s associated progress updates."
|
||||
msgstr "Você está excluindo este registro de leitura e as %(count)s atualizações de progresso associadas."
|
||||
msgstr "Você está excluindo este registro de leitura e as %(count)s atualizações de andamento associadas."
|
||||
|
||||
#: bookwyrm/templates/snippets/fav_button.html:16
|
||||
#: bookwyrm/templates/snippets/fav_button.html:17
|
||||
|
@ -3647,7 +3715,7 @@ msgstr "Definir meta"
|
|||
#: bookwyrm/templates/snippets/goal_progress.html:9
|
||||
#, python-format
|
||||
msgid "%(percent)s%% complete!"
|
||||
msgstr "%(percent)s%% lá!"
|
||||
msgstr "%(percent)s%% lido!"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_progress.html:12
|
||||
#, python-format
|
||||
|
@ -3737,7 +3805,7 @@ msgstr "(Opcional)"
|
|||
#: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:50
|
||||
msgid "Update progress"
|
||||
msgstr "Atualizar progresso"
|
||||
msgstr "Atualizar andamento"
|
||||
|
||||
#: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:6
|
||||
#, python-format
|
||||
|
@ -3751,7 +3819,7 @@ msgstr "Quero ler \"<em>%(book_title)s</em>\""
|
|||
|
||||
#: bookwyrm/templates/snippets/readthrough_form.html:14
|
||||
msgid "Progress"
|
||||
msgstr "Progresso"
|
||||
msgstr "Andamento"
|
||||
|
||||
#: bookwyrm/templates/snippets/register_form.html:30
|
||||
msgid "Sign Up"
|
||||
|
@ -4072,7 +4140,7 @@ msgstr "Nenhum seguidor que você segue"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "Arquivo excede o tamanho máximo: 10MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s: %(subtitle)s"
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 18:24\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-09 18:56\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr "仲裁员删除"
|
|||
msgid "Domain block"
|
||||
msgstr "域名屏蔽"
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr "有声书籍"
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr "电子书"
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr "图像小说"
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr "精装"
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr "平装"
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "用户名"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "已经存在使用该用户名的用户。"
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "书评"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "某些东西出错了!对不起啦。"
|
|||
msgid "Edit Author"
|
||||
msgstr "编辑作者"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "别名:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "出生:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "逝世:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "维基百科"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "在 OpenLibrary 查看"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "在 Inventaire 查看"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr "在 LibraryThing 查看"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr "在 Goodreads 查看"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "%(name)s 所著的书"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "保存"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "保存"
|
|||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "确认"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,73 +451,73 @@ msgstr "添加封面"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "加载封面失败"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s 则书评)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "添加描述"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "描述:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s 个版本</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "本书的 <a href=\"%(book_path)s\">另一个版本</a> 在你的 <a href=\"%(shelf_path)s\">%(shelf_name)s</a> 书架上。"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "你的阅读活动"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "添加阅读日期"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "创建"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "你还没有任何这本书的阅读活动。"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "你的书评"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "你的评论"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "你的引用"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "主题"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "地点"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -494,11 +525,11 @@ msgstr "地点"
|
|||
msgid "Lists"
|
||||
msgstr "列表"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "添加到列表"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -576,13 +607,6 @@ msgstr "这是已存在的作品的一个版本吗?"
|
|||
msgid "This is a new work"
|
||||
msgstr "这是一个新的作品。"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "确认"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -782,6 +806,11 @@ msgstr "编辑阅读日期"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "删除这些阅读日期"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1096,6 +1125,25 @@ msgstr "如果你没有请求重设密码,你可以忽略这封邮件。"
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "重置你在 %(site_name)s 的密码"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "关于 %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "联系站点管理员"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1647,11 +1695,6 @@ msgstr "在此次导入后,BookWyrm 已经更新并修复了漏洞"
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr "如果您看到意外失败的项目,请联系您的管理员或 <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>发起一个 issue</a>。"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "关于 %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1823,10 +1866,6 @@ msgstr "成功发布的状态"
|
|||
msgid "Error posting status"
|
||||
msgstr "发布状态时出错"
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "联系站点管理员"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "文档"
|
||||
|
@ -1893,6 +1932,21 @@ msgstr "删除此列表?"
|
|||
msgid "Edit List"
|
||||
msgstr "编辑列表"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "此列表当前是空的"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "列表策展:"
|
||||
|
@ -1958,10 +2012,6 @@ msgstr "你成功向该列表推荐了一本书!"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "你成功向此列表添加了一本书!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "此列表当前是空的"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2014,6 +2064,23 @@ msgstr "没有符合 “%(query)s” 请求的书目"
|
|||
msgid "Suggest"
|
||||
msgstr "推荐"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr "已保存"
|
||||
|
@ -3376,6 +3443,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 发布"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -4053,7 +4121,7 @@ msgstr "没有你关注的关注者"
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "文件超过了最大大小: 10MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr "%(title)s:%(subtitle)s"
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-07 17:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-07 18:24\n"
|
||||
"POT-Creation-Date: 2021-12-08 15:40+0000\n"
|
||||
"PO-Revision-Date: 2021-12-09 18:56\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh\n"
|
||||
|
@ -101,23 +101,23 @@ msgstr ""
|
|||
msgid "Domain block"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/book.py:233
|
||||
#: bookwyrm/models/book.py:243
|
||||
msgid "Audiobook"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/book.py:234
|
||||
#: bookwyrm/models/book.py:244
|
||||
msgid "eBook"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/book.py:235
|
||||
#: bookwyrm/models/book.py:245
|
||||
msgid "Graphic novel"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/book.py:236
|
||||
#: bookwyrm/models/book.py:246
|
||||
msgid "Hardcover"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/book.py:237
|
||||
#: bookwyrm/models/book.py:247
|
||||
msgid "Paperback"
|
||||
msgstr ""
|
||||
|
||||
|
@ -153,7 +153,7 @@ msgstr "使用者名稱"
|
|||
msgid "A user with that username already exists."
|
||||
msgstr "已經存在使用該名稱的使用者。"
|
||||
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:227
|
||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:244
|
||||
msgid "Reviews"
|
||||
msgstr "書評"
|
||||
|
||||
|
@ -248,46 +248,61 @@ msgstr "某些東西出錯了!抱歉。"
|
|||
msgid "Edit Author"
|
||||
msgstr "編輯作者"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:35
|
||||
#: bookwyrm/templates/author/author.html:40
|
||||
msgid "Author details"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:44
|
||||
#: bookwyrm/templates/author/edit_author.html:42
|
||||
msgid "Aliases:"
|
||||
msgstr "別名:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:46
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
msgid "Born:"
|
||||
msgstr "出生:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:53
|
||||
#: bookwyrm/templates/author/author.html:60
|
||||
msgid "Died:"
|
||||
msgstr "逝世:"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:62
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
msgid "External links"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:75
|
||||
msgid "Wikipedia"
|
||||
msgstr "維基百科"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:70
|
||||
#: bookwyrm/templates/author/author.html:83
|
||||
msgid "View ISNI record"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:78
|
||||
#: bookwyrm/templates/book/book.html:94
|
||||
#: bookwyrm/templates/author/author.html:88
|
||||
#: bookwyrm/templates/author/sync_modal.html:5
|
||||
#: bookwyrm/templates/book/book.html:93
|
||||
#: bookwyrm/templates/book/sync_modal.html:5
|
||||
msgid "Load data"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:92
|
||||
#: bookwyrm/templates/book/book.html:96
|
||||
msgid "View on OpenLibrary"
|
||||
msgstr "在 OpenLibrary 檢視"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:86
|
||||
#: bookwyrm/templates/book/book.html:97
|
||||
#: bookwyrm/templates/author/author.html:106
|
||||
#: bookwyrm/templates/book/book.html:107
|
||||
msgid "View on Inventaire"
|
||||
msgstr "在 Inventaire 檢視"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:94
|
||||
#: bookwyrm/templates/author/author.html:121
|
||||
msgid "View on LibraryThing"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:102
|
||||
#: bookwyrm/templates/author/author.html:129
|
||||
msgid "View on Goodreads"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:117
|
||||
#: bookwyrm/templates/author/author.html:143
|
||||
#, python-format
|
||||
msgid "Books by %(name)s"
|
||||
msgstr "%(name)s 所著的書"
|
||||
|
@ -369,7 +384,7 @@ msgid "ISNI:"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:115
|
||||
#: bookwyrm/templates/book/book.html:140
|
||||
#: bookwyrm/templates/book/book.html:157
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:121
|
||||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
|
@ -387,11 +402,13 @@ msgid "Save"
|
|||
msgstr "儲存"
|
||||
|
||||
#: bookwyrm/templates/author/edit_author.html:116
|
||||
#: bookwyrm/templates/book/book.html:141 bookwyrm/templates/book/book.html:199
|
||||
#: bookwyrm/templates/author/sync_modal.html:26
|
||||
#: bookwyrm/templates/book/book.html:158 bookwyrm/templates/book/book.html:216
|
||||
#: bookwyrm/templates/book/cover_modal.html:32
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||
#: bookwyrm/templates/book/readthrough.html:77
|
||||
#: bookwyrm/templates/book/sync_modal.html:26
|
||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||
#: bookwyrm/templates/lists/delete_list_modal.html:17
|
||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||
|
@ -400,6 +417,20 @@ msgstr "儲存"
|
|||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this author which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/sync_modal.html:23
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/book/sync_modal.html:23
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "確認"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -420,73 +451,73 @@ msgstr "新增封面"
|
|||
msgid "Failed to load cover"
|
||||
msgstr "載入封面失敗"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:117
|
||||
#: bookwyrm/templates/book/book.html:134
|
||||
#, python-format
|
||||
msgid "(%(review_count)s review)"
|
||||
msgid_plural "(%(review_count)s reviews)"
|
||||
msgstr[0] "(%(review_count)s 則書評)"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:129
|
||||
#: bookwyrm/templates/book/book.html:146
|
||||
msgid "Add Description"
|
||||
msgstr "新增描述"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:136
|
||||
#: bookwyrm/templates/book/book.html:153
|
||||
#: bookwyrm/templates/book/edit/edit_book_form.html:39
|
||||
#: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17
|
||||
msgid "Description:"
|
||||
msgstr "描述:"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:150
|
||||
#: bookwyrm/templates/book/book.html:167
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s/editions\">%(count)s editions</a>"
|
||||
msgstr "<a href=\"%(path)s/editions\">%(count)s 個版本</a>"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:158
|
||||
#: bookwyrm/templates/book/book.html:175
|
||||
msgid "You have shelved this edition in:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/book.html:173
|
||||
#: bookwyrm/templates/book/book.html:190
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(book_path)s\">different edition</a> of this book is on your <a href=\"%(shelf_path)s\">%(shelf_name)s</a> shelf."
|
||||
msgstr "本書的 <a href=\"%(book_path)s\">另一個版本</a> 在你的 <a href=\"%(shelf_path)s\">%(shelf_name)s</a> 書架上。"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:184
|
||||
#: bookwyrm/templates/book/book.html:201
|
||||
msgid "Your reading activity"
|
||||
msgstr "你的閱讀活動"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:187
|
||||
#: bookwyrm/templates/book/book.html:204
|
||||
msgid "Add read dates"
|
||||
msgstr "新增閱讀日期"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:196
|
||||
#: bookwyrm/templates/book/book.html:213
|
||||
msgid "Create"
|
||||
msgstr "建立"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:206
|
||||
#: bookwyrm/templates/book/book.html:223
|
||||
msgid "You don't have any reading activity for this book."
|
||||
msgstr "你還未閱讀這本書。"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:232
|
||||
#: bookwyrm/templates/book/book.html:249
|
||||
msgid "Your reviews"
|
||||
msgstr "你的書評"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:238
|
||||
#: bookwyrm/templates/book/book.html:255
|
||||
msgid "Your comments"
|
||||
msgstr "你的評論"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:244
|
||||
#: bookwyrm/templates/book/book.html:261
|
||||
msgid "Your quotes"
|
||||
msgstr "你的引用"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:280
|
||||
#: bookwyrm/templates/book/book.html:297
|
||||
msgid "Subjects"
|
||||
msgstr "主題"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:292
|
||||
#: bookwyrm/templates/book/book.html:309
|
||||
msgid "Places"
|
||||
msgstr "地點"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:303 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:75
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -494,11 +525,11 @@ msgstr "地點"
|
|||
msgid "Lists"
|
||||
msgstr "列表"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:314
|
||||
#: bookwyrm/templates/book/book.html:331
|
||||
msgid "Add to list"
|
||||
msgstr "新增到列表"
|
||||
|
||||
#: bookwyrm/templates/book/book.html:324
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
|
@ -576,13 +607,6 @@ msgstr "這是已存在的作品的另一個版本嗎?"
|
|||
msgid "This is a new work"
|
||||
msgstr "這是一個新的作品。"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:108
|
||||
#: bookwyrm/templates/groups/members.html:16
|
||||
#: bookwyrm/templates/landing/password_reset.html:42
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:16
|
||||
msgid "Confirm"
|
||||
msgstr "確認"
|
||||
|
||||
#: bookwyrm/templates/book/edit/edit_book.html:110
|
||||
#: bookwyrm/templates/feed/status.html:21
|
||||
msgid "Back"
|
||||
|
@ -782,6 +806,11 @@ msgstr "編輯閱讀日期"
|
|||
msgid "Delete these read dates"
|
||||
msgstr "刪除這些閱讀日期"
|
||||
|
||||
#: bookwyrm/templates/book/sync_modal.html:15
|
||||
#, python-format
|
||||
msgid "Loading data will connect to <strong>%(source_name)s</strong> and check for any metadata about this book which aren't present here. Existing metadata will not be overwritten."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/components/inline_form.html:8
|
||||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
|
@ -1096,6 +1125,25 @@ msgstr "如果你沒有請求重設密碼,你可以忽略這封郵件。"
|
|||
msgid "Reset your %(site_name)s password"
|
||||
msgstr "重置你在 %(site_name)s 的密碼"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:37
|
||||
#, python-format
|
||||
msgid "%(site_name)s home page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "關於 %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "聯絡網站管理員"
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:46
|
||||
msgid "Join Bookwyrm"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:8
|
||||
#, python-format
|
||||
msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
||||
|
@ -1647,11 +1695,6 @@ msgstr ""
|
|||
msgid "Contact your admin or <a href='https://github.com/bookwyrm-social/bookwyrm/issues'>open an issue</a> if you are seeing unexpected failed items."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:230
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr "關於 %(site_name)s"
|
||||
|
||||
#: bookwyrm/templates/landing/about.html:10
|
||||
#: bookwyrm/templates/landing/about.html:20
|
||||
msgid "Code of Conduct"
|
||||
|
@ -1823,10 +1866,6 @@ msgstr ""
|
|||
msgid "Error posting status"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:234
|
||||
msgid "Contact site admin"
|
||||
msgstr "聯絡網站管理員"
|
||||
|
||||
#: bookwyrm/templates/layout.html:238
|
||||
msgid "Documentation"
|
||||
msgstr "文件:"
|
||||
|
@ -1893,6 +1932,21 @@ msgstr ""
|
|||
msgid "Edit List"
|
||||
msgstr "編輯列表"
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:7
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:17
|
||||
#, python-format
|
||||
msgid "on <a href=\"/\">%(site_name)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/embed-list.html:26
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "此列表當前是空的"
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:19
|
||||
msgid "List curation:"
|
||||
msgstr "列表管理:"
|
||||
|
@ -1958,10 +2012,6 @@ msgstr "你成功!向該列表推薦了一本書"
|
|||
msgid "You successfully added a book to this list!"
|
||||
msgstr "你成功在此列表新增了一本書!"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:29
|
||||
msgid "This list is currently empty"
|
||||
msgstr "此列表當前是空的"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:67
|
||||
#, python-format
|
||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
|
@ -2014,6 +2064,23 @@ msgstr "沒有符合 \"%(query)s\" 請求的書目"
|
|||
msgid "Suggest"
|
||||
msgstr "推薦"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:193
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list_items.html:15
|
||||
msgid "Saved"
|
||||
msgstr ""
|
||||
|
@ -3376,6 +3443,7 @@ msgid "Posted by <a href=\"%(user_path)s\">%(username)s</a>"
|
|||
msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 釋出"
|
||||
|
||||
#: bookwyrm/templates/snippets/authors.html:22
|
||||
#: bookwyrm/templates/snippets/trimmed_list.html:14
|
||||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
|
@ -4053,7 +4121,7 @@ msgstr ""
|
|||
msgid "File exceeds maximum size: 10MB"
|
||||
msgstr "檔案超過了最大大小: 10MB"
|
||||
|
||||
#: bookwyrm/templatetags/utilities.py:34
|
||||
#: bookwyrm/templatetags/utilities.py:33
|
||||
#, python-format
|
||||
msgid "%(title)s: %(subtitle)s"
|
||||
msgstr ""
|
||||
|
|
Loading…
Reference in a new issue