Merge branch 'main' into partially-read-shelf

This commit is contained in:
Thomas Versteeg 2022-03-15 08:28:02 +00:00 committed by GitHub
commit ee414598bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
65 changed files with 2385 additions and 1859 deletions

1
.prettierignore Normal file
View file

@ -0,0 +1 @@
**/vendor/*

View file

@ -1,576 +0,0 @@
""" using django model forms """
import datetime
from collections import defaultdict
from urllib.parse import urlparse
from django import forms
from django.forms import ModelForm, PasswordInput, widgets, ChoiceField
from django.forms.widgets import Textarea
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from bookwyrm import models
from bookwyrm.models.fields import ClearableFileInputWithWarning
from bookwyrm.models.user import FeedFilterChoices
class CustomForm(ModelForm):
"""add css classes to the forms"""
def __init__(self, *args, **kwargs):
css_classes = defaultdict(lambda: "")
css_classes["text"] = "input"
css_classes["password"] = "input"
css_classes["email"] = "input"
css_classes["number"] = "input"
css_classes["checkbox"] = "checkbox"
css_classes["textarea"] = "textarea"
# pylint: disable=super-with-arguments
super(CustomForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
if hasattr(visible.field.widget, "input_type"):
input_type = visible.field.widget.input_type
if isinstance(visible.field.widget, Textarea):
input_type = "textarea"
visible.field.widget.attrs["rows"] = 5
visible.field.widget.attrs["class"] = css_classes[input_type]
# pylint: disable=missing-class-docstring
class LoginForm(CustomForm):
class Meta:
model = models.User
fields = ["localname", "password"]
help_texts = {f: None for f in fields}
widgets = {
"password": PasswordInput(),
}
class RegisterForm(CustomForm):
class Meta:
model = models.User
fields = ["localname", "email", "password"]
help_texts = {f: None for f in fields}
widgets = {"password": PasswordInput()}
def clean(self):
"""Check if the username is taken"""
cleaned_data = super().clean()
localname = cleaned_data.get("localname").strip()
if models.User.objects.filter(localname=localname).first():
self.add_error("localname", _("User with this username already exists"))
class RatingForm(CustomForm):
class Meta:
model = models.ReviewRating
fields = ["user", "book", "rating", "privacy"]
class ReviewForm(CustomForm):
class Meta:
model = models.Review
fields = [
"user",
"book",
"name",
"content",
"rating",
"content_warning",
"sensitive",
"privacy",
]
class CommentForm(CustomForm):
class Meta:
model = models.Comment
fields = [
"user",
"book",
"content",
"content_warning",
"sensitive",
"privacy",
"progress",
"progress_mode",
"reading_status",
]
class QuotationForm(CustomForm):
class Meta:
model = models.Quotation
fields = [
"user",
"book",
"quote",
"content",
"content_warning",
"sensitive",
"privacy",
"position",
"position_mode",
]
class ReplyForm(CustomForm):
class Meta:
model = models.Status
fields = [
"user",
"content",
"content_warning",
"sensitive",
"reply_parent",
"privacy",
]
class StatusForm(CustomForm):
class Meta:
model = models.Status
fields = ["user", "content", "content_warning", "sensitive", "privacy"]
class DirectForm(CustomForm):
class Meta:
model = models.Status
fields = ["user", "content", "content_warning", "sensitive", "privacy"]
class EditUserForm(CustomForm):
class Meta:
model = models.User
fields = [
"avatar",
"name",
"email",
"summary",
"show_goal",
"show_suggested_users",
"manually_approves_followers",
"default_post_privacy",
"discoverable",
"hide_follows",
"preferred_timezone",
"preferred_language",
"theme",
]
help_texts = {f: None for f in fields}
widgets = {
"avatar": ClearableFileInputWithWarning(
attrs={"aria-describedby": "desc_avatar"}
),
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}),
"email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}),
"discoverable": forms.CheckboxInput(
attrs={"aria-describedby": "desc_discoverable"}
),
}
class LimitedEditUserForm(CustomForm):
class Meta:
model = models.User
fields = [
"avatar",
"name",
"summary",
"manually_approves_followers",
"discoverable",
]
help_texts = {f: None for f in fields}
widgets = {
"avatar": ClearableFileInputWithWarning(
attrs={"aria-describedby": "desc_avatar"}
),
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}),
"discoverable": forms.CheckboxInput(
attrs={"aria-describedby": "desc_discoverable"}
),
}
class DeleteUserForm(CustomForm):
class Meta:
model = models.User
fields = ["password"]
class UserGroupForm(CustomForm):
class Meta:
model = models.User
fields = ["groups"]
class FeedStatusTypesForm(CustomForm):
class Meta:
model = models.User
fields = ["feed_status_types"]
help_texts = {f: None for f in fields}
widgets = {
"feed_status_types": widgets.CheckboxSelectMultiple(
choices=FeedFilterChoices,
),
}
class CoverForm(CustomForm):
class Meta:
model = models.Book
fields = ["cover"]
help_texts = {f: None for f in fields}
class LinkDomainForm(CustomForm):
class Meta:
model = models.LinkDomain
fields = ["name"]
class FileLinkForm(CustomForm):
class Meta:
model = models.FileLink
fields = ["url", "filetype", "availability", "book", "added_by"]
def clean(self):
"""make sure the domain isn't blocked or pending"""
cleaned_data = super().clean()
url = cleaned_data.get("url")
filetype = cleaned_data.get("filetype")
book = cleaned_data.get("book")
domain = urlparse(url).netloc
if models.LinkDomain.objects.filter(domain=domain).exists():
status = models.LinkDomain.objects.get(domain=domain).status
if status == "blocked":
# pylint: disable=line-too-long
self.add_error(
"url",
_(
"This domain is blocked. Please contact your administrator if you think this is an error."
),
)
elif models.FileLink.objects.filter(
url=url, book=book, filetype=filetype
).exists():
# pylint: disable=line-too-long
self.add_error(
"url",
_(
"This link with file type has already been added for this book. If it is not visible, the domain is still pending."
),
)
class EditionForm(CustomForm):
class Meta:
model = models.Edition
exclude = [
"remote_id",
"origin_id",
"created_date",
"updated_date",
"edition_rank",
"authors",
"parent_work",
"shelves",
"connector",
"search_vector",
"links",
"file_links",
]
widgets = {
"title": forms.TextInput(attrs={"aria-describedby": "desc_title"}),
"subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}),
"description": forms.Textarea(
attrs={"aria-describedby": "desc_description"}
),
"series": forms.TextInput(attrs={"aria-describedby": "desc_series"}),
"series_number": forms.TextInput(
attrs={"aria-describedby": "desc_series_number"}
),
"languages": forms.TextInput(
attrs={"aria-describedby": "desc_languages_help desc_languages"}
),
"publishers": forms.TextInput(
attrs={"aria-describedby": "desc_publishers_help desc_publishers"}
),
"first_published_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_first_published_date"}
),
"published_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_published_date"}
),
"cover": ClearableFileInputWithWarning(
attrs={"aria-describedby": "desc_cover"}
),
"physical_format": forms.Select(
attrs={"aria-describedby": "desc_physical_format"}
),
"physical_format_detail": forms.TextInput(
attrs={"aria-describedby": "desc_physical_format_detail"}
),
"pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}),
"isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}),
"isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}),
"openlibrary_key": forms.TextInput(
attrs={"aria-describedby": "desc_openlibrary_key"}
),
"inventaire_id": forms.TextInput(
attrs={"aria-describedby": "desc_inventaire_id"}
),
"oclc_number": forms.TextInput(
attrs={"aria-describedby": "desc_oclc_number"}
),
"ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}),
}
class AuthorForm(CustomForm):
class Meta:
model = models.Author
fields = [
"last_edited_by",
"name",
"aliases",
"bio",
"wikipedia_link",
"born",
"died",
"openlibrary_key",
"inventaire_id",
"librarything_key",
"goodreads_key",
"isni",
]
widgets = {
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}),
"bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}),
"wikipedia_link": forms.TextInput(
attrs={"aria-describedby": "desc_wikipedia_link"}
),
"born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}),
"died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}),
"oepnlibrary_key": forms.TextInput(
attrs={"aria-describedby": "desc_oepnlibrary_key"}
),
"inventaire_id": forms.TextInput(
attrs={"aria-describedby": "desc_inventaire_id"}
),
"librarything_key": forms.TextInput(
attrs={"aria-describedby": "desc_librarything_key"}
),
"goodreads_key": forms.TextInput(
attrs={"aria-describedby": "desc_goodreads_key"}
),
}
class ImportForm(forms.Form):
csv_file = forms.FileField()
class ExpiryWidget(widgets.Select):
def value_from_datadict(self, data, files, name):
"""human-readable exiration time buckets"""
selected_string = super().value_from_datadict(data, files, name)
if selected_string == "day":
interval = datetime.timedelta(days=1)
elif selected_string == "week":
interval = datetime.timedelta(days=7)
elif selected_string == "month":
interval = datetime.timedelta(days=31) # Close enough?
elif selected_string == "forever":
return None
else:
return selected_string # This will raise
return timezone.now() + interval
class InviteRequestForm(CustomForm):
def clean(self):
"""make sure the email isn't in use by a registered user"""
cleaned_data = super().clean()
email = cleaned_data.get("email")
if email and models.User.objects.filter(email=email).exists():
self.add_error("email", _("A user with this email already exists."))
class Meta:
model = models.InviteRequest
fields = ["email"]
class CreateInviteForm(CustomForm):
class Meta:
model = models.SiteInvite
exclude = ["code", "user", "times_used", "invitees"]
widgets = {
"expiry": ExpiryWidget(
choices=[
("day", _("One Day")),
("week", _("One Week")),
("month", _("One Month")),
("forever", _("Does Not Expire")),
]
),
"use_limit": widgets.Select(
choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]]
+ [(None, _("Unlimited"))]
),
}
class ShelfForm(CustomForm):
class Meta:
model = models.Shelf
fields = ["user", "name", "privacy", "description"]
class GoalForm(CustomForm):
class Meta:
model = models.AnnualGoal
fields = ["user", "year", "goal", "privacy"]
class SiteForm(CustomForm):
class Meta:
model = models.SiteSettings
exclude = ["admin_code", "install_mode"]
widgets = {
"instance_short_description": forms.TextInput(
attrs={"aria-describedby": "desc_instance_short_description"}
),
"require_confirm_email": forms.CheckboxInput(
attrs={"aria-describedby": "desc_require_confirm_email"}
),
"invite_request_text": forms.Textarea(
attrs={"aria-describedby": "desc_invite_request_text"}
),
}
class SiteThemeForm(CustomForm):
class Meta:
model = models.SiteSettings
fields = ["default_theme"]
class ThemeForm(CustomForm):
class Meta:
model = models.Theme
fields = ["name", "path"]
widgets = {
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"path": forms.Select(attrs={"aria-describedby": "desc_path"}),
}
class AnnouncementForm(CustomForm):
class Meta:
model = models.Announcement
exclude = ["remote_id"]
widgets = {
"preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}),
"content": forms.Textarea(attrs={"aria-describedby": "desc_content"}),
"event_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_event_date"}
),
"start_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_start_date"}
),
"end_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_end_date"}
),
"active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}),
}
class ListForm(CustomForm):
class Meta:
model = models.List
fields = ["user", "name", "description", "curation", "privacy", "group"]
class ListItemForm(CustomForm):
class Meta:
model = models.ListItem
fields = ["user", "book", "book_list", "notes"]
class GroupForm(CustomForm):
class Meta:
model = models.Group
fields = ["user", "privacy", "name", "description"]
class ReportForm(CustomForm):
class Meta:
model = models.Report
fields = ["user", "reporter", "status", "links", "note"]
class EmailBlocklistForm(CustomForm):
class Meta:
model = models.EmailBlocklist
fields = ["domain"]
widgets = {
"avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}),
}
class IPBlocklistForm(CustomForm):
class Meta:
model = models.IPBlocklist
fields = ["address"]
class ServerForm(CustomForm):
class Meta:
model = models.FederatedServer
exclude = ["remote_id"]
class SortListForm(forms.Form):
sort_by = ChoiceField(
choices=(
("order", _("List Order")),
("title", _("Book Title")),
("rating", _("Rating")),
),
label=_("Sort By"),
)
direction = ChoiceField(
choices=(
("ascending", _("Ascending")),
("descending", _("Descending")),
),
)
class ReadThroughForm(CustomForm):
def clean(self):
"""make sure the email isn't in use by a registered user"""
cleaned_data = super().clean()
start_date = cleaned_data.get("start_date")
finish_date = cleaned_data.get("finish_date")
if start_date and finish_date and start_date > finish_date:
self.add_error(
"finish_date", _("Reading finish date cannot be before start date.")
)
class Meta:
model = models.ReadThrough
fields = ["user", "book", "start_date", "finish_date"]
class AutoModRuleForm(CustomForm):
class Meta:
model = models.AutoMod
fields = ["string_match", "flag_users", "flag_statuses", "created_by"]

View file

@ -0,0 +1,12 @@
""" make forms available to the app """
# site admin
from .admin import *
from .author import *
from .books import *
from .edit_user import *
from .forms import *
from .groups import *
from .landing import *
from .links import *
from .lists import *
from .status import *

129
bookwyrm/forms/admin.py Normal file
View file

@ -0,0 +1,129 @@
""" using django model forms """
import datetime
from django import forms
from django.forms import widgets
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class ExpiryWidget(widgets.Select):
def value_from_datadict(self, data, files, name):
"""human-readable exiration time buckets"""
selected_string = super().value_from_datadict(data, files, name)
if selected_string == "day":
interval = datetime.timedelta(days=1)
elif selected_string == "week":
interval = datetime.timedelta(days=7)
elif selected_string == "month":
interval = datetime.timedelta(days=31) # Close enough?
elif selected_string == "forever":
return None
else:
return selected_string # This will raise
return timezone.now() + interval
class CreateInviteForm(CustomForm):
class Meta:
model = models.SiteInvite
exclude = ["code", "user", "times_used", "invitees"]
widgets = {
"expiry": ExpiryWidget(
choices=[
("day", _("One Day")),
("week", _("One Week")),
("month", _("One Month")),
("forever", _("Does Not Expire")),
]
),
"use_limit": widgets.Select(
choices=[(i, _(f"{i} uses")) for i in [1, 5, 10, 25, 50, 100]]
+ [(None, _("Unlimited"))]
),
}
class SiteForm(CustomForm):
class Meta:
model = models.SiteSettings
exclude = ["admin_code", "install_mode"]
widgets = {
"instance_short_description": forms.TextInput(
attrs={"aria-describedby": "desc_instance_short_description"}
),
"require_confirm_email": forms.CheckboxInput(
attrs={"aria-describedby": "desc_require_confirm_email"}
),
"invite_request_text": forms.Textarea(
attrs={"aria-describedby": "desc_invite_request_text"}
),
}
class ThemeForm(CustomForm):
class Meta:
model = models.Theme
fields = ["name", "path"]
widgets = {
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"path": forms.TextInput(
attrs={
"aria-describedby": "desc_path",
"placeholder": "css/themes/theme-name.scss",
}
),
}
class AnnouncementForm(CustomForm):
class Meta:
model = models.Announcement
exclude = ["remote_id"]
widgets = {
"preview": forms.TextInput(attrs={"aria-describedby": "desc_preview"}),
"content": forms.Textarea(attrs={"aria-describedby": "desc_content"}),
"event_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_event_date"}
),
"start_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_start_date"}
),
"end_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_end_date"}
),
"active": forms.CheckboxInput(attrs={"aria-describedby": "desc_active"}),
}
class EmailBlocklistForm(CustomForm):
class Meta:
model = models.EmailBlocklist
fields = ["domain"]
widgets = {
"avatar": forms.TextInput(attrs={"aria-describedby": "desc_domain"}),
}
class IPBlocklistForm(CustomForm):
class Meta:
model = models.IPBlocklist
fields = ["address"]
class ServerForm(CustomForm):
class Meta:
model = models.FederatedServer
exclude = ["remote_id"]
class AutoModRuleForm(CustomForm):
class Meta:
model = models.AutoMod
fields = ["string_match", "flag_users", "flag_statuses", "created_by"]

47
bookwyrm/forms/author.py Normal file
View file

@ -0,0 +1,47 @@
""" using django model forms """
from django import forms
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class AuthorForm(CustomForm):
class Meta:
model = models.Author
fields = [
"last_edited_by",
"name",
"aliases",
"bio",
"wikipedia_link",
"born",
"died",
"openlibrary_key",
"inventaire_id",
"librarything_key",
"goodreads_key",
"isni",
]
widgets = {
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"aliases": forms.TextInput(attrs={"aria-describedby": "desc_aliases"}),
"bio": forms.Textarea(attrs={"aria-describedby": "desc_bio"}),
"wikipedia_link": forms.TextInput(
attrs={"aria-describedby": "desc_wikipedia_link"}
),
"born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}),
"died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}),
"oepnlibrary_key": forms.TextInput(
attrs={"aria-describedby": "desc_oepnlibrary_key"}
),
"inventaire_id": forms.TextInput(
attrs={"aria-describedby": "desc_inventaire_id"}
),
"librarything_key": forms.TextInput(
attrs={"aria-describedby": "desc_librarything_key"}
),
"goodreads_key": forms.TextInput(
attrs={"aria-describedby": "desc_goodreads_key"}
),
}

87
bookwyrm/forms/books.py Normal file
View file

@ -0,0 +1,87 @@
""" using django model forms """
from django import forms
from bookwyrm import models
from bookwyrm.models.fields import ClearableFileInputWithWarning
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class CoverForm(CustomForm):
class Meta:
model = models.Book
fields = ["cover"]
help_texts = {f: None for f in fields}
class ArrayWidget(forms.widgets.TextInput):
# pylint: disable=unused-argument
# pylint: disable=no-self-use
def value_from_datadict(self, data, files, name):
"""get all values for this name"""
return [i for i in data.getlist(name) if i]
class EditionForm(CustomForm):
class Meta:
model = models.Edition
exclude = [
"remote_id",
"origin_id",
"created_date",
"updated_date",
"edition_rank",
"authors",
"parent_work",
"shelves",
"connector",
"search_vector",
"links",
"file_links",
]
widgets = {
"title": forms.TextInput(attrs={"aria-describedby": "desc_title"}),
"subtitle": forms.TextInput(attrs={"aria-describedby": "desc_subtitle"}),
"description": forms.Textarea(
attrs={"aria-describedby": "desc_description"}
),
"series": forms.TextInput(attrs={"aria-describedby": "desc_series"}),
"series_number": forms.TextInput(
attrs={"aria-describedby": "desc_series_number"}
),
"subjects": ArrayWidget(),
"languages": forms.TextInput(
attrs={"aria-describedby": "desc_languages_help desc_languages"}
),
"publishers": forms.TextInput(
attrs={"aria-describedby": "desc_publishers_help desc_publishers"}
),
"first_published_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_first_published_date"}
),
"published_date": forms.SelectDateWidget(
attrs={"aria-describedby": "desc_published_date"}
),
"cover": ClearableFileInputWithWarning(
attrs={"aria-describedby": "desc_cover"}
),
"physical_format": forms.Select(
attrs={"aria-describedby": "desc_physical_format"}
),
"physical_format_detail": forms.TextInput(
attrs={"aria-describedby": "desc_physical_format_detail"}
),
"pages": forms.NumberInput(attrs={"aria-describedby": "desc_pages"}),
"isbn_13": forms.TextInput(attrs={"aria-describedby": "desc_isbn_13"}),
"isbn_10": forms.TextInput(attrs={"aria-describedby": "desc_isbn_10"}),
"openlibrary_key": forms.TextInput(
attrs={"aria-describedby": "desc_openlibrary_key"}
),
"inventaire_id": forms.TextInput(
attrs={"aria-describedby": "desc_inventaire_id"}
),
"oclc_number": forms.TextInput(
attrs={"aria-describedby": "desc_oclc_number"}
),
"ASIN": forms.TextInput(attrs={"aria-describedby": "desc_ASIN"}),
}

View file

@ -0,0 +1,26 @@
""" Overrides django's default form class """
from collections import defaultdict
from django.forms import ModelForm
from django.forms.widgets import Textarea
class CustomForm(ModelForm):
"""add css classes to the forms"""
def __init__(self, *args, **kwargs):
css_classes = defaultdict(lambda: "")
css_classes["text"] = "input"
css_classes["password"] = "input"
css_classes["email"] = "input"
css_classes["number"] = "input"
css_classes["checkbox"] = "checkbox"
css_classes["textarea"] = "textarea"
# pylint: disable=super-with-arguments
super(CustomForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
if hasattr(visible.field.widget, "input_type"):
input_type = visible.field.widget.input_type
if isinstance(visible.field.widget, Textarea):
input_type = "textarea"
visible.field.widget.attrs["rows"] = 5
visible.field.widget.attrs["class"] = css_classes[input_type]

View file

@ -0,0 +1,68 @@
""" using django model forms """
from django import forms
from bookwyrm import models
from bookwyrm.models.fields import ClearableFileInputWithWarning
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class EditUserForm(CustomForm):
class Meta:
model = models.User
fields = [
"avatar",
"name",
"email",
"summary",
"show_goal",
"show_suggested_users",
"manually_approves_followers",
"default_post_privacy",
"discoverable",
"hide_follows",
"preferred_timezone",
"preferred_language",
"theme",
]
help_texts = {f: None for f in fields}
widgets = {
"avatar": ClearableFileInputWithWarning(
attrs={"aria-describedby": "desc_avatar"}
),
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}),
"email": forms.EmailInput(attrs={"aria-describedby": "desc_email"}),
"discoverable": forms.CheckboxInput(
attrs={"aria-describedby": "desc_discoverable"}
),
}
class LimitedEditUserForm(CustomForm):
class Meta:
model = models.User
fields = [
"avatar",
"name",
"summary",
"manually_approves_followers",
"discoverable",
]
help_texts = {f: None for f in fields}
widgets = {
"avatar": ClearableFileInputWithWarning(
attrs={"aria-describedby": "desc_avatar"}
),
"name": forms.TextInput(attrs={"aria-describedby": "desc_name"}),
"summary": forms.Textarea(attrs={"aria-describedby": "desc_summary"}),
"discoverable": forms.CheckboxInput(
attrs={"aria-describedby": "desc_discoverable"}
),
}
class DeleteUserForm(CustomForm):
class Meta:
model = models.User
fields = ["password"]

59
bookwyrm/forms/forms.py Normal file
View file

@ -0,0 +1,59 @@
""" using django model forms """
from django import forms
from django.forms import widgets
from django.utils.translation import gettext_lazy as _
from bookwyrm import models
from bookwyrm.models.user import FeedFilterChoices
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class FeedStatusTypesForm(CustomForm):
class Meta:
model = models.User
fields = ["feed_status_types"]
help_texts = {f: None for f in fields}
widgets = {
"feed_status_types": widgets.CheckboxSelectMultiple(
choices=FeedFilterChoices,
),
}
class ImportForm(forms.Form):
csv_file = forms.FileField()
class ShelfForm(CustomForm):
class Meta:
model = models.Shelf
fields = ["user", "name", "privacy", "description"]
class GoalForm(CustomForm):
class Meta:
model = models.AnnualGoal
fields = ["user", "year", "goal", "privacy"]
class ReportForm(CustomForm):
class Meta:
model = models.Report
fields = ["user", "reporter", "status", "links", "note"]
class ReadThroughForm(CustomForm):
def clean(self):
"""make sure the email isn't in use by a registered user"""
cleaned_data = super().clean()
start_date = cleaned_data.get("start_date")
finish_date = cleaned_data.get("finish_date")
if start_date and finish_date and start_date > finish_date:
self.add_error(
"finish_date", _("Reading finish date cannot be before start date.")
)
class Meta:
model = models.ReadThrough
fields = ["user", "book", "start_date", "finish_date"]

16
bookwyrm/forms/groups.py Normal file
View file

@ -0,0 +1,16 @@
""" using django model forms """
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class UserGroupForm(CustomForm):
class Meta:
model = models.User
fields = ["groups"]
class GroupForm(CustomForm):
class Meta:
model = models.Group
fields = ["user", "privacy", "name", "description"]

45
bookwyrm/forms/landing.py Normal file
View file

@ -0,0 +1,45 @@
""" Forms for the landing pages """
from django.forms import PasswordInput
from django.utils.translation import gettext_lazy as _
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class LoginForm(CustomForm):
class Meta:
model = models.User
fields = ["localname", "password"]
help_texts = {f: None for f in fields}
widgets = {
"password": PasswordInput(),
}
class RegisterForm(CustomForm):
class Meta:
model = models.User
fields = ["localname", "email", "password"]
help_texts = {f: None for f in fields}
widgets = {"password": PasswordInput()}
def clean(self):
"""Check if the username is taken"""
cleaned_data = super().clean()
localname = cleaned_data.get("localname").strip()
if models.User.objects.filter(localname=localname).first():
self.add_error("localname", _("User with this username already exists"))
class InviteRequestForm(CustomForm):
def clean(self):
"""make sure the email isn't in use by a registered user"""
cleaned_data = super().clean()
email = cleaned_data.get("email")
if email and models.User.objects.filter(email=email).exists():
self.add_error("email", _("A user with this email already exists."))
class Meta:
model = models.InviteRequest
fields = ["email"]

48
bookwyrm/forms/links.py Normal file
View file

@ -0,0 +1,48 @@
""" using django model forms """
from urllib.parse import urlparse
from django.utils.translation import gettext_lazy as _
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class LinkDomainForm(CustomForm):
class Meta:
model = models.LinkDomain
fields = ["name"]
class FileLinkForm(CustomForm):
class Meta:
model = models.FileLink
fields = ["url", "filetype", "availability", "book", "added_by"]
def clean(self):
"""make sure the domain isn't blocked or pending"""
cleaned_data = super().clean()
url = cleaned_data.get("url")
filetype = cleaned_data.get("filetype")
book = cleaned_data.get("book")
domain = urlparse(url).netloc
if models.LinkDomain.objects.filter(domain=domain).exists():
status = models.LinkDomain.objects.get(domain=domain).status
if status == "blocked":
# pylint: disable=line-too-long
self.add_error(
"url",
_(
"This domain is blocked. Please contact your administrator if you think this is an error."
),
)
elif models.FileLink.objects.filter(
url=url, book=book, filetype=filetype
).exists():
# pylint: disable=line-too-long
self.add_error(
"url",
_(
"This link with file type has already been added for this book. If it is not visible, the domain is still pending."
),
)

37
bookwyrm/forms/lists.py Normal file
View file

@ -0,0 +1,37 @@
""" using django model forms """
from django import forms
from django.forms import ChoiceField
from django.utils.translation import gettext_lazy as _
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class ListForm(CustomForm):
class Meta:
model = models.List
fields = ["user", "name", "description", "curation", "privacy", "group"]
class ListItemForm(CustomForm):
class Meta:
model = models.ListItem
fields = ["user", "book", "book_list", "notes"]
class SortListForm(forms.Form):
sort_by = ChoiceField(
choices=(
("order", _("List Order")),
("title", _("Book Title")),
("rating", _("Rating")),
),
label=_("Sort By"),
)
direction = ChoiceField(
choices=(
("ascending", _("Ascending")),
("descending", _("Descending")),
),
)

82
bookwyrm/forms/status.py Normal file
View file

@ -0,0 +1,82 @@
""" using django model forms """
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class RatingForm(CustomForm):
class Meta:
model = models.ReviewRating
fields = ["user", "book", "rating", "privacy"]
class ReviewForm(CustomForm):
class Meta:
model = models.Review
fields = [
"user",
"book",
"name",
"content",
"rating",
"content_warning",
"sensitive",
"privacy",
]
class CommentForm(CustomForm):
class Meta:
model = models.Comment
fields = [
"user",
"book",
"content",
"content_warning",
"sensitive",
"privacy",
"progress",
"progress_mode",
"reading_status",
]
class QuotationForm(CustomForm):
class Meta:
model = models.Quotation
fields = [
"user",
"book",
"quote",
"content",
"content_warning",
"sensitive",
"privacy",
"position",
"position_mode",
]
class ReplyForm(CustomForm):
class Meta:
model = models.Status
fields = [
"user",
"content",
"content_warning",
"sensitive",
"reply_parent",
"privacy",
]
class StatusForm(CustomForm):
class Meta:
model = models.Status
fields = ["user", "content", "content_warning", "sensitive", "privacy"]
class DirectForm(CustomForm):
class Meta:
model = models.Status
fields = ["user", "content", "content_warning", "sensitive", "privacy"]

View file

@ -1,32 +0,0 @@
""" Compile themes """
import os
from django.contrib.staticfiles.utils import get_files
from django.contrib.staticfiles.storage import StaticFilesStorage
from django.core.files.base import ContentFile
from django.core.management.base import BaseCommand
import sass
from sass_processor.processor import SassProcessor
# pylint: disable=line-too-long
class Command(BaseCommand):
"""Compile themes"""
help = "Compile theme scss files"
# pylint: disable=no-self-use,unused-argument
def handle(self, *args, **options):
"""compile themes"""
storage = StaticFilesStorage()
theme_files = list(get_files(storage, location="css/themes"))
theme_files = [t for t in theme_files if t[-5:] == ".scss"]
for filename in theme_files:
path = storage.path(filename)
content = sass.compile(
filename=path,
include_paths=SassProcessor.include_paths,
)
basename, _ = os.path.splitext(path)
destination_filename = basename + ".css"
print(f"saving f{destination_filename}")
storage.save(destination_filename, ContentFile(content))

View file

@ -11,7 +11,7 @@ from django.utils.translation import gettext_lazy as _
env = Env()
env.read_env()
DOMAIN = env("DOMAIN")
VERSION = "0.3.2"
VERSION = "0.3.3"
RELEASE_API = env(
"RELEASE_API",
@ -21,7 +21,7 @@ RELEASE_API = env(
PAGE_LENGTH = env("PAGE_LENGTH", 15)
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
JS_CACHE = "c7154efb"
JS_CACHE = "bc93172a"
# email
EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend")
@ -188,6 +188,7 @@ STATICFILES_FINDERS = [
]
SASS_PROCESSOR_INCLUDE_FILE_PATTERN = r"^.+\.[s]{0,1}(?:a|c)ss$"
SASS_PROCESSOR_ENABLED = True
# minify css is production but not dev
if not DEBUG:

View file

@ -1,6 +1,7 @@
/** Imports
******************************************************************************/
@import "components/avatar";
@import "components/barcode";
@import "components/book_cover";
@import "components/book_grid";
@import "components/book_list";

View file

@ -0,0 +1,26 @@
/* Barcode scanner CSS */
#barcode-scanner {
position: relative;
max-width: 100%;
text-align: center;
height: calc(70vh - 200px);
video {
height: calc(70vh - 200px);
max-width: 100%;
}
canvas {
position: absolute;
top: 0;
left: 0;
right: 0;
margin: auto;
height: calc(70vh - 200px);
max-width: 100%;
}
}
#barcode-camera-list {
float: right;
}

View file

@ -39,6 +39,7 @@
<glyph unicode="&#xe91e;" glyph-name="graphic-heart" d="M934.176 791.52c-116.128 115.072-301.824 117.472-422.112 9.216-120.32 108.256-305.952 105.856-422.144-9.216-119.712-118.528-119.712-310.688 0-429.28 34.208-33.888 353.696-350.112 353.696-350.112 37.856-37.504 99.072-37.504 136.896 0 0 0 349.824 346.304 353.696 350.112 119.744 118.592 119.744 310.752-0.032 429.28zM888.576 407.424l-353.696-350.112c-12.576-12.512-33.088-12.512-45.6 0l-353.696 350.112c-94.4 93.44-94.4 245.472 0 338.912 91.008 90.080 237.312 93.248 333.088 7.104l43.392-39.040 43.36 39.040c95.808 86.144 242.112 83.008 333.12-7.104 94.4-93.408 94.4-245.44 0.032-338.912zM296.096 719.968c8.864 0 16-7.168 16-16s-7.168-16-16-16h-0.032c-57.408 0-103.968-46.56-103.968-103.968v-0.032c0-8.832-7.168-16-16-16s-16 7.168-16 16v0c0 75.072 60.832 135.904 135.872 135.968 0.064 0 0.064 0.032 0.128 0.032z" />
<glyph unicode="&#xe91f;" glyph-name="graphic-paperplane" d="M1009.376 954.88c-5.312 3.424-11.36 5.12-17.376 5.12-6.176 0-12.384-1.76-17.76-5.376l-960-640c-9.888-6.56-15.328-18.112-14.048-29.952 1.216-11.808 8.896-22.016 19.936-26.368l250.368-100.192 117.728-206.016c5.632-9.888 16.096-16 27.424-16.128 0.128 0 0.224 0 0.352 0 11.232 0 21.664 5.952 27.424 15.552l66.464 110.816 310.24-124.064c3.808-1.536 7.808-2.272 11.872-2.272 5.44 0 10.816 1.376 15.68 4.128 8.448 4.736 14.24 13.056 15.872 22.624l160 960c2.080 12.576-3.488 25.184-14.176 32.128zM100.352 295.136l741.6 494.432-539.2-577.184c-2.848 1.696-5.376 3.936-8.512 5.184l-193.888 77.568zM326.048 189.888c-0.064 0.128-0.16 0.192-0.224 0.32l606.176 648.8-516.768-805.184-89.184 156.064zM806.944 12.512l-273.312 109.312c-6.496 2.56-13.248 3.424-19.936 3.808l420.864 652.416-127.616-765.536z" />
<glyph unicode="&#xe920;" glyph-name="graphic-banknote" d="M1005.28 621.248l-320 320c-15.872 15.872-38.88 22.24-60.672 16.864-11.488-2.816-21.76-8.736-29.888-16.864-7.264-7.264-12.736-16.256-15.872-26.304-14.496-47.008-39.552-87.872-76.64-124.928-49.536-49.504-114.048-87.008-182.304-126.656-72.448-41.984-147.296-85.504-208.64-146.816-52.128-52.192-87.616-110.24-108.416-177.632-7.008-22.752-0.896-47.36 15.872-64.192l320-320c15.872-15.872 38.88-22.24 60.672-16.864 11.488 2.88 21.76 8.736 29.888 16.864 7.264 7.264 12.736 16.256 15.872 26.368 14.528 47.008 39.584 87.872 76.704 124.928 49.504 49.504 113.984 86.944 182.304 126.56 72.384 42.048 147.264 85.568 208.576 146.88 52.128 52.128 87.616 110.24 108.448 177.632 6.976 22.72 0.832 47.424-15.904 64.16zM384 0c-105.984 105.984-214.016 214.048-320 320 90.944 294.432 485.12 281.568 576 576 105.984-105.952 214.048-214.016 320.064-320-90.976-294.368-485.152-281.568-576.064-576zM625.984 483.2c-10.432 8.736-20.928 14.688-31.488 17.632-10.496 2.944-20.992 4.128-31.616 3.36-10.496-0.8-21.248-3.2-32-7.328-10.752-4.192-21.568-8.736-32.448-14.016-17.184 19.744-34.368 39.264-51.552 57.376 7.744 7.008 15.264 10.56 22.496 10.816 7.264 0.32 14.24-0.448 20.864-2.112 6.752-1.696 12.928-3.136 18.624-4.256 5.76-1.12 10.752 0.128 15.136 3.808 4.64 4 7.2 9.184 7.552 15.424 0.32 6.304-2.048 12.448-7.328 18.432-6.752 7.744-14.88 12.448-24.64 14.176-9.632 1.696-19.488 1.568-29.76-0.672-10.112-2.304-19.744-6.112-28.864-11.488s-16.448-10.88-21.888-16.256c-2.080 1.984-4.16 3.936-6.24 5.888-2.304 2.112-5.184 3.264-8.64 3.2-3.488 0-6.368-1.504-8.736-4.256-2.304-2.688-3.36-5.824-2.944-9.12 0.32-3.424 1.696-6.048 4.064-8.064 2.080-1.76 4.16-3.488 6.24-5.312-8.192-9.888-14.944-20.8-20.256-32.32-5.376-11.552-8.576-23.008-9.76-34.112-1.248-11.2-0.064-21.44 3.36-30.944 3.424-9.568 9.76-17.696 19.008-25.376 15.072-12.512 32.8-17.824 53.376-16.64 20.512 1.248 42.624 7.36 66.4 20.128 18.88-21.824 37.824-43.488 56.736-63.616-8-6.752-15.008-10.624-21.184-11.872-6.176-1.312-11.68-1.184-16.672 0.32-4.992 1.568-9.632 3.808-13.888 6.688-4.256 2.944-8.448 5.44-12.64 7.488-4.128 2.048-8.384 3.2-12.736 3.264s-8.992-2.048-14.112-6.432c-5.248-4.576-7.872-9.888-7.872-15.872 0-5.952 2.752-12 8.128-18.112 5.44-6.112 12.512-11.264 21.056-15.328s18.208-6.624 28.832-7.328c10.624-0.736 21.824 0.864 33.632 5.248 11.872 4.32 23.616 12.128 35.2 23.744 5.568-5.44 11.2-10.624 16.8-15.616 2.368-2.048 5.248-3.072 8.736-2.816 3.36 0.128 6.304 1.696 8.64 4.512 2.368 2.88 3.36 6.048 3.008 9.376-0.32 3.36-1.696 5.952-4 7.808-5.632 4.512-11.264 9.248-16.864 14.24 9.568 11.744 17.248 24.128 22.944 36.384 5.696 12.32 9.056 24.192 10.176 35.2 1.12 11.072-0.192 21.056-3.808 30.112-3.584 9.184-9.952 17.056-19.072 24.64zM447.072 461.504c-9.056-0.384-16.96 2.624-23.872 9.312-2.944 2.816-4.992 6.24-6.24 10.304-1.312 4.064-1.76 8.512-1.248 13.376 0.448 4.8 1.888 9.824 4.384 14.88 2.368 5.056 5.888 10.112 10.368 15.008 16.224-16.128 32.416-33.824 48.64-52.128-12.288-6.752-22.976-10.368-32.032-10.752zM598.016 397.44c-2.88-5.312-6.176-10.048-10.048-14.176-17.952 18.112-35.872 38.016-53.76 58.432 4.576 2.048 9.376 4.192 14.56 6.368s10.368 3.616 15.552 4.512c5.312 0.8 10.56 0.576 15.808-0.672 5.184-1.312 10.112-4.128 14.688-8.576 4.512-4.512 7.36-9.184 8.512-14.24 1.248-5.12 1.312-10.304 0.448-15.616-0.928-5.344-2.816-10.656-5.76-16.032zM470.944 250.24c6.304 5.088 15.584 4.832 21.376-1.056 6.272-6.24 6.272-16.448 0-22.688-0.512-0.512-1.056-0.864-1.632-1.312l0.064-0.064c-20.256-15.392-36.896-29.248-54.848-47.2-16.224-16.192-30.88-33.248-43.552-50.56l-20.448-28c-0.64-1.152-1.408-2.208-2.368-3.2-6.272-6.24-16.48-6.24-22.72 0-5.44 5.44-6.112 13.824-2.112 20.064l-0.064 0.064 21.888 29.888c13.664 18.688 29.376 36.992 46.752 54.368 18.080 18.144 37.6 34.336 57.6 49.696h0.064zM588.096 713.12c16.192 16.192 30.816 33.184 43.52 50.592l21.248 29.12c0.768 1.376 1.632 2.752 2.816 3.936 6.304 6.304 16.512 6.304 22.816 0 5.984-6.016 6.24-15.52 0.8-21.888l0.064-0.064-21.888-30.016c-13.696-18.688-29.376-36.928-46.752-54.304-18.080-18.080-37.568-34.336-57.568-49.696l-0.128 0.064c-6.368-5.856-16.256-5.728-22.368 0.448-6.304 6.304-6.304 16.576 0 22.88 1.12 1.184 2.432 2.016 3.744 2.752 18.816 14.368 36.96 29.44 53.696 46.176z" />
<glyph unicode="&#xe937;" glyph-name="barcode" d="M0 832h128v-640h-128zM192 832h64v-640h-64zM320 832h64v-640h-64zM512 832h64v-640h-64zM768 832h64v-640h-64zM960 832h64v-640h-64zM640 832h32v-640h-32zM448 832h32v-640h-32zM864 832h32v-640h-32zM0 128h64v-64h-64zM192 128h64v-64h-64zM320 128h64v-64h-64zM640 128h64v-64h-64zM960 128h64v-64h-64zM768 128h128v-64h-128zM448 128h128v-64h-128z" />
<glyph unicode="&#xe97a;" glyph-name="spinner" d="M384 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM655.53 719.53c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM832 448c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM719.53 176.47c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM448.002 64c0 0 0 0 0 0 0 35.346 28.654 64 64 64s64-28.654 64-64c0 0 0 0 0 0 0-35.346-28.654-64-64-64s-64 28.654-64 64zM176.472 176.47c0 0 0 0 0 0 0 35.346 28.654 64 64 64s64-28.654 64-64c0 0 0 0 0 0 0-35.346-28.654-64-64-64s-64 28.654-64 64zM144.472 719.53c0 0 0 0 0 0 0 53.019 42.981 96 96 96s96-42.981 96-96c0 0 0 0 0 0 0-53.019-42.981-96-96-96s-96 42.981-96 96zM56 448c0 39.765 32.235 72 72 72s72-32.235 72-72c0-39.765-32.235-72-72-72s-72 32.235-72 72z" />
<glyph unicode="&#xe986;" glyph-name="search" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256z" />
<glyph unicode="&#xe9d7;" glyph-name="star-empty" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538zM512 206.502l-223.462-117.48 42.676 248.83-180.786 176.222 249.84 36.304 111.732 226.396 111.736-226.396 249.836-36.304-180.788-176.222 42.678-248.83-223.462 117.48z" />

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -149,3 +149,6 @@
.icon-download:before {
content: "\ea36";
}
.icon-barcode:before {
content: "\e937";
}

View file

@ -1,5 +1,5 @@
/* exported BookWyrm */
/* globals TabGroup */
/* globals TabGroup, Quagga */
let BookWyrm = new (class {
constructor() {
@ -38,15 +38,15 @@ let BookWyrm = new (class {
.querySelectorAll("[data-modal-open]")
.forEach((node) => node.addEventListener("click", this.handleModalButton.bind(this)));
document
.querySelectorAll("[data-duplicate]")
.forEach((node) => node.addEventListener("click", this.duplicateInput.bind(this)));
document
.querySelectorAll("details.dropdown")
.forEach((node) =>
node.addEventListener("toggle", this.handleDetailsDropdown.bind(this))
);
document
.querySelector("#barcode-scanner-modal")
.addEventListener("open", this.openBarcodeScanner.bind(this));
}
/**
@ -427,9 +427,11 @@ let BookWyrm = new (class {
});
modalElement.addEventListener("keydown", handleFocusTrap);
modalElement.dispatchEvent(new Event("open"));
}
function handleModalClose(modalElement) {
modalElement.dispatchEvent(new Event("close"));
modalElement.removeEventListener("keydown", handleFocusTrap);
htmlElement.classList.remove("is-clipped");
modalElement.classList.remove("is-active");
@ -489,26 +491,6 @@ let BookWyrm = new (class {
window.open(url, windowName, "left=100,top=100,width=430,height=600");
}
duplicateInput(event) {
const trigger = event.currentTarget;
const input_id = trigger.dataset.duplicate;
const orig = document.getElementById(input_id);
const parent = orig.parentNode;
const new_count = parent.querySelectorAll("input").length + 1;
let input = orig.cloneNode();
input.id += "-" + new_count;
input.value = "";
let label = parent.querySelector("label").cloneNode();
label.setAttribute("for", input.id);
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`
@ -632,4 +614,174 @@ let BookWyrm = new (class {
}
}
}
openBarcodeScanner(event) {
const scannerNode = document.getElementById("barcode-scanner");
const statusNode = document.getElementById("barcode-status");
const cameraListNode = document.querySelector("#barcode-camera-list > select");
cameraListNode.addEventListener("change", onChangeCamera);
function onChangeCamera(event) {
initBarcodes(event.target.value);
}
function toggleStatus(status) {
for (const child of statusNode.children) {
BookWyrm.toggleContainer(child, !child.classList.contains(status));
}
}
function initBarcodes(cameraId = null) {
toggleStatus("grant-access");
if (!cameraId) {
cameraId = sessionStorage.getItem("preferredCam");
} else {
sessionStorage.setItem("preferredCam", cameraId);
}
scannerNode.replaceChildren();
Quagga.stop();
Quagga.init(
{
inputStream: {
name: "Live",
type: "LiveStream",
target: scannerNode,
constraints: {
facingMode: "environment",
deviceId: cameraId,
},
},
decoder: {
readers: [
"ean_reader",
{
format: "ean_reader",
config: {
supplements: ["ean_2_reader", "ean_5_reader"],
},
},
],
multiple: false,
},
},
(err) => {
if (err) {
scannerNode.replaceChildren();
console.log(err);
toggleStatus("access-denied");
return;
}
let activeId = null;
const track = Quagga.CameraAccess.getActiveTrack();
if (track) {
activeId = track.getSettings().deviceId;
}
Quagga.CameraAccess.enumerateVideoDevices().then((devices) => {
cameraListNode.replaceChildren();
for (const device of devices) {
const child = document.createElement("option");
child.value = device.deviceId;
child.innerText = device.label.slice(0, 30);
if (activeId === child.value) {
child.selected = true;
}
cameraListNode.appendChild(child);
}
});
toggleStatus("scanning");
Quagga.start();
}
);
}
function cleanup(clearDrawing = true) {
Quagga.stop();
cameraListNode.removeEventListener("change", onChangeCamera);
if (clearDrawing) {
scannerNode.replaceChildren();
}
}
Quagga.onProcessed((result) => {
const drawingCtx = Quagga.canvas.ctx.overlay;
const drawingCanvas = Quagga.canvas.dom.overlay;
if (result) {
if (result.boxes) {
drawingCtx.clearRect(
0,
0,
parseInt(drawingCanvas.getAttribute("width")),
parseInt(drawingCanvas.getAttribute("height"))
);
result.boxes
.filter((box) => box !== result.box)
.forEach((box) => {
Quagga.ImageDebug.drawPath(box, { x: 0, y: 1 }, drawingCtx, {
color: "green",
lineWidth: 2,
});
});
}
if (result.box) {
Quagga.ImageDebug.drawPath(result.box, { x: 0, y: 1 }, drawingCtx, {
color: "#00F",
lineWidth: 2,
});
}
if (result.codeResult && result.codeResult.code) {
Quagga.ImageDebug.drawPath(result.line, { x: "x", y: "y" }, drawingCtx, {
color: "red",
lineWidth: 3,
});
}
}
});
let lastDetection = null;
let numDetected = 0;
Quagga.onDetected((result) => {
// Detect the same code 3 times as an extra check to avoid bogus scans.
if (lastDetection === null || lastDetection !== result.codeResult.code) {
numDetected = 1;
lastDetection = result.codeResult.code;
return;
} else if (numDetected++ < 3) {
return;
}
const code = result.codeResult.code;
statusNode.querySelector(".isbn").innerText = code;
toggleStatus("found");
const search = new URL("/search", document.location);
search.searchParams.set("q", code);
cleanup(false);
location.assign(search);
});
event.target.addEventListener("close", cleanup, { once: true });
initBarcodes();
}
})();

View file

@ -0,0 +1,49 @@
(function () {
"use strict";
/**
* Remoev input field
*
* @param {event} the button click event
*/
function removeInput(event) {
const trigger = event.currentTarget;
const input_id = trigger.dataset.remove;
const input = document.getElementById(input_id);
input.remove();
}
/**
* Duplicate an input field
*
* @param {event} the click even on the associated button
*/
function duplicateInput(event) {
const trigger = event.currentTarget;
const input_id = trigger.dataset.duplicate;
const orig = document.getElementById(input_id);
const parent = orig.parentNode;
const new_count = parent.querySelectorAll("input").length + 1;
let input = orig.cloneNode();
input.id += "-" + new_count;
input.value = "";
let label = parent.querySelector("label").cloneNode();
label.setAttribute("for", input.id);
parent.appendChild(label);
parent.appendChild(input);
}
document
.querySelectorAll("[data-duplicate]")
.forEach((node) => node.addEventListener("click", duplicateInput));
document
.querySelectorAll("[data-remove]")
.forEach((node) => node.addEventListener("click", removeInput));
})();

File diff suppressed because one or more lines are too long

View file

@ -12,6 +12,15 @@
{% endblock %}
{% block content %}
{% if update_error %}
<div class="notification is-danger is-light">
<span class="icon icon-x" aria-hidden="true"></span>
<span>
{% trans "Unable to connect to remote source." %}
</span>
</div>
{% endif %}
{% with user_authenticated=request.user.is_authenticated can_edit_book=perms.bookwyrm.edit_book %}
<div class="block" itemscope itemtype="https://schema.org/Book">
<div class="columns is-mobile">

View file

@ -1,4 +1,5 @@
{% load i18n %}
{% load static %}
{% if form.non_field_errors %}
<div class="block">
@ -21,7 +22,7 @@
{% trans "Title:" %}
</label>
<input type="text" name="title" value="{{ form.title.value|default:'' }}" maxlength="255" class="input" required="" id="id_title" aria-describedby="desc_title">
{% include 'snippets/form_errors.html' with errors_list=form.title.errors id="desc_title" %}
</div>
@ -30,7 +31,7 @@
{% trans "Subtitle:" %}
</label>
<input type="text" name="subtitle" value="{{ form.subtitle.value|default:'' }}" maxlength="255" class="input" id="id_subtitle" aria-describedby="desc_subtitle">
{% include 'snippets/form_errors.html' with errors_list=form.subtitle.errors id="desc_subtitle" %}
</div>
@ -39,7 +40,7 @@
{% trans "Description:" %}
</label>
{{ form.description }}
{% include 'snippets/form_errors.html' with errors_list=form.description.errors id="desc_description" %}
</div>
@ -50,7 +51,7 @@
{% trans "Series:" %}
</label>
<input type="text" class="input" name="series" id="id_series" value="{{ form.series.value|default:'' }}" aria-describedby="desc_series">
{% include 'snippets/form_errors.html' with errors_list=form.series.errors id="desc_series" %}
</div>
</div>
@ -60,7 +61,7 @@
{% trans "Series number:" %}
</label>
{{ form.series_number }}
{% include 'snippets/form_errors.html' with errors_list=form.series_number.errors id="desc_series_number" %}
</div>
</div>
@ -74,9 +75,60 @@
<span class="help" id="desc_languages_help">
{% trans "Separate multiple values with commas." %}
</span>
{% include 'snippets/form_errors.html' with errors_list=form.languages.errors id="desc_languages" %}
</div>
<div>
<label class="label" for="id_add_subjects">
{% trans "Subjects:" %}
</label>
{% for subject in book.subjects %}
<label class="label is-sr-only" for="id_add_subject={% if not forloop.first %}-{{forloop.counter}}{% endif %}">
{% trans "Add subject" %}
</label>
<div class="field has-addons" id="subject_field_wrapper_{{ forloop.counter }}">
<div class="control is-expanded">
<input
id="id_add_subject-{{ forloop.counter }}"
type="text"
name="subjects"
value="{{ subject }}"
class="input"
>
</div>
<div class="control">
<button
class="button is-danger is-light"
type="button"
data-remove="subject_field_wrapper_{{ forloop.counter }}"
>
{% trans "Remove subject" as text %}
<span class="icon icon-x" title="{{ text }}">
<span class="is-sr-only">{{ text }}</span>
</span>
</button>
</div>
</div>
{% endfor %}
<input
class="input"
type="text"
name="subjects"
id="id_add_subject"
value="{{ subject }}"
{% if confirm_mode %}readonly{% endif %}
>
{% include 'snippets/form_errors.html' with errors_list=form.subjects.errors id="desc_subjects" %}
</div>
<span class="help">
<button class="button is-small" type="button" data-duplicate="id_add_subject" id="another_subject_field">
<span class="icon icon-plus" aria-hidden="true"></span>
<span>{% trans "Add Another Subject" %}</span>
</button>
</span>
</div>
</section>
@ -93,7 +145,7 @@
<span class="help" id="desc_publishers_help">
{% trans "Separate multiple values with commas." %}
</span>
{% include 'snippets/form_errors.html' with errors_list=form.publishers.errors id="desc_publishers" %}
</div>
@ -102,7 +154,7 @@
{% trans "First published date:" %}
</label>
<input type="date" name="first_published_date" class="input" id="id_first_published_date"{% if form.first_published_date.value %} value="{{ form.first_published_date.value|date:'Y-m-d' }}"{% endif %} aria-describedby="desc_first_published_date">
{% include 'snippets/form_errors.html' with errors_list=form.first_published_date.errors id="desc_first_published_date" %}
</div>
@ -111,7 +163,7 @@
{% trans "Published date:" %}
</label>
<input type="date" name="published_date" class="input" id="id_published_date"{% if form.published_date.value %} value="{{ form.published_date.value|date:'Y-m-d'}}"{% endif %} aria-describedby="desc_published_date">
{% include 'snippets/form_errors.html' with errors_list=form.published_date.errors id="desc_published_date" %}
</div>
</div>
@ -149,7 +201,12 @@
<input class="input" type="text" name="add_author" id="id_add_author" placeholder="{% trans 'Jane Doe' %}" value="{{ author }}" {% if confirm_mode %}readonly{% endif %}>
{% endfor %}
</div>
<span class="help"><button class="button is-small" type="button" data-duplicate="id_add_author" id="another_author_field">{% trans "Add Another Author" %}</button></span>
<span class="help">
<button class="button is-small" type="button" data-duplicate="id_add_author" id="another_author_field">
<span class="icon icon-plus" aria-hidden="true"></span>
<span>{% trans "Add Another Author" %}</span>
</button>
</span>
</div>
</section>
</div>
@ -180,7 +237,7 @@
</label>
<input class="input" name="cover-url" id="id_cover_url" type="url" value="{{ cover_url|default:'' }}" aria-describedby="desc_cover">
</div>
{% include 'snippets/form_errors.html' with errors_list=form.cover.errors id="desc_cover" %}
</div>
</div>
@ -201,7 +258,7 @@
<div class="select">
{{ form.physical_format }}
</div>
{% include 'snippets/form_errors.html' with errors_list=form.physical_format.errors id="desc_physical_format" %}
</div>
</div>
@ -211,7 +268,7 @@
{% trans "Format details:" %}
</label>
{{ form.physical_format_detail }}
{% include 'snippets/form_errors.html' with errors_list=form.physical_format_detail.errors id="desc_physical_format_detail" %}
</div>
</div>
@ -222,7 +279,7 @@
{% trans "Pages:" %}
</label>
{{ form.pages }}
{% include 'snippets/form_errors.html' with errors_list=form.pages.errors id="desc_pages" %}
</div>
</div>
@ -238,7 +295,7 @@
{% trans "ISBN 13:" %}
</label>
{{ form.isbn_13 }}
{% include 'snippets/form_errors.html' with errors_list=form.isbn_13.errors id="desc_isbn_13" %}
</div>
@ -247,7 +304,7 @@
{% trans "ISBN 10:" %}
</label>
{{ form.isbn_10 }}
{% include 'snippets/form_errors.html' with errors_list=form.isbn_10.errors id="desc_isbn_10" %}
</div>
@ -256,7 +313,7 @@
{% trans "Openlibrary ID:" %}
</label>
{{ form.openlibrary_key }}
{% include 'snippets/form_errors.html' with errors_list=form.openlibrary_key.errors id="desc_openlibrary_key" %}
</div>
@ -265,7 +322,7 @@
{% trans "Inventaire ID:" %}
</label>
{{ form.inventaire_id }}
{% include 'snippets/form_errors.html' with errors_list=form.inventaire_id.errors id="desc_inventaire_id" %}
</div>
@ -274,7 +331,7 @@
{% trans "OCLC Number:" %}
</label>
{{ form.oclc_number }}
{% include 'snippets/form_errors.html' with errors_list=form.oclc_number.errors id="desc_oclc_number" %}
</div>
@ -283,10 +340,14 @@
{% trans "ASIN:" %}
</label>
{{ form.asin }}
{% include 'snippets/form_errors.html' with errors_list=form.ASIN.errors id="desc_ASIN" %}
</div>
</div>
</section>
</div>
</div>
{% block scripts %}
<script src="{% static "js/forms.js" %}"></script>
{% endblock %}

View file

@ -56,8 +56,16 @@
</span>
</button>
</div>
<div class="control">
<button class="button" type="button" data-modal-open="barcode-scanner-modal">
<span class="icon icon-barcode" title="{% trans 'Scan Barcode' %}">
<span class="is-sr-only">{% trans "Scan Barcode" %}</span>
</span>
</button>
</div>
</div>
</form>
{% include "search/barcode_modal.html" with id="barcode-scanner-modal" %}
<button type="button" tabindex="0" class="navbar-burger pulldown-menu my-4" data-controls="main_nav" aria-expanded="false">
<i class="icon icon-dots-three-vertical" aria-hidden="true"></i>
@ -266,6 +274,7 @@
<script src="{% static "js/bookwyrm.js" %}?v={{ js_cache }}"></script>
<script src="{% static "js/localstorage.js" %}?v={{ js_cache }}"></script>
<script src="{% static "js/status_cache.js" %}?v={{ js_cache }}"></script>
<script src="{% static "js/vendor/quagga.min.js" %}?v={{ js_cache }}"></script>
{% block scripts %}{% endblock %}

View file

@ -0,0 +1,48 @@
{% extends 'components/modal.html' %}
{% load i18n %}
{% block modal-title %}
{% blocktrans %}
Scan Barcode
{% endblocktrans %}
{% endblock %}
{% block modal-body %}
<div class="block">
<div id="barcode-scanner"></div>
</div>
<div id="barcode-camera-list" class="select is-small">
<select>
</select>
</div>
<div id="barcode-status" class="block">
<div class="grant-access is-hidden">
<span class="icon icon-lock"></span>
<span class="is-size-5">{% trans "Requesting camera..." %}</span></br>
<span>{% trans "Grant access to the camera to scan a book's barcode." %}</span>
</div>
<div class="access-denied is-hidden">
<span class="icon icon-warning"></span>
<span class="is-size-5">Access denied</span><br/>
<span>{% trans "Could not access camera" %}</span>
</div>
<div class="scanning is-hidden">
<span class="icon icon-barcode"></span>
<span class="is-size-5">{% trans "Scanning..." context "barcode scanner" %}</span><br/>
<span>{% trans "Align your book's barcode with the camera." %}</span>
</div>
<div class="found is-hidden">
<span class="icon icon-check"></span>
<span class="is-size-5">{% trans "ISBN scanned" context "barcode scanner" %}</span><br/>
{% trans "Searching for book:" context "followed by ISBN" %} <span class="isbn"></span>...
</div>
</div>
{% endblock %}
{% block modal-footer %}
<button class="button" type="button" data-modal-close>{% trans "Cancel" %}</button>
{% endblock %}

View file

@ -0,0 +1,7 @@
{% extends 'snippets/filters_panel/filters_panel.html' %}
{% block filter_fields %}
{% include 'settings/users/username_filter.html' %}
{% include 'directory/community_filter.html' %}
{% include 'settings/users/server_filter.html' %}
{% endblock %}

View file

@ -30,7 +30,7 @@
</ul>
</div>
{% include 'settings/users/user_admin_filters.html' %}
{% include 'settings/reports/report_filters.html' %}
<div class="block">
{% if not reports %}

View file

@ -29,7 +29,7 @@
{% trans "Copy the theme file into the <code>bookwyrm/static/css/themes</code> directory on your server from the command line." %}
</li>
<li>
{% trans "Run <code>./bw-dev compilescss</code>." %}
{% trans "Run <code>./bw-dev collectstatic</code>." %}
</li>
<li>
{% trans "Add the file name using the form below to make it available in the application interface." %}
@ -56,12 +56,7 @@
class="box"
enctype="multipart/form-data"
>
{% if not choices %}
<div class="notification is-warning">
{% trans "No available theme files detected" %}
</div>
{% endif %}
<fieldset {% if not choices %}disabled{% endif %}>
<fieldset>
{% csrf_token %}
<div class="columns">
<div class="column is-half">
@ -79,20 +74,7 @@
{% trans "Theme filename" %}
</label>
<div class="control">
<div class="select">
<select
name="path"
aria-describedby="desc_path"
class=""
id="id_path"
>
{% for choice in choices %}
<option value="{{ choice }}">
{{ choice }}
</option>
{% endfor %}
</select>
</div>
{{ theme_form.path }}
{% include 'snippets/form_errors.html' with errors_list=theme_form.path.errors id="desc_path" %}
</div>
</div>

View file

@ -0,0 +1,16 @@
{% extends 'snippets/filters_panel/filter_field.html' %}
{% load i18n %}
{% block filter %}
<label class="label" for="id_email">{% trans "Email" %}</label>
<div class="control">
<input
type="text"
class="input"
name="email"
value="{{ request.GET.email|default:'' }}"
id="id_email" placeholder="user@email.com"
>
</div>
{% endblock %}

View file

@ -1,10 +1,23 @@
{% extends 'settings/layout.html' %}
{% load i18n %}
{% load utilities %}
{% block title %}{{ user.username }}{% endblock %}
{% block header %}
{{ user.username }}
<a class="help has-text-weight-normal" href="{% url 'settings-users' %}">{% trans "Back to users" %}</a>
{% endblock %}
{% block breadcrumbs %}
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
<ul>
<li><a href="{% url 'settings-users' %}">{% trans "Users" %}</a></li>
<li class="is-active">
<a href="#" aria-current="page">
{{ user|username }}
</a>
</li>
</ul>
</nav>
{% endblock %}
{% block panel %}

View file

@ -1,5 +1,7 @@
{% extends 'settings/layout.html' %}
{% load i18n %}
{% load utilities %}
{% block title %}{% trans "Users" %}{% endblock %}
{% block header %}
@ -15,46 +17,67 @@
{% include 'settings/users/user_admin_filters.html' %}
<table class="table is-striped">
<tr>
{% url 'settings-users' as url %}
<th>
{% trans "Username" as text %}
{% include 'snippets/table-sort-header.html' with field="username" sort=sort text=text %}
</th>
<th>
{% trans "Date Added" as text %}
{% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %}
</th>
<th>
{% trans "Last Active" as text %}
{% include 'snippets/table-sort-header.html' with field="last_active_date" sort=sort text=text %}
</th>
<th>
{% trans "Status" as text %}
{% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %}
</th>
<th>
{% trans "Remote instance" as text %}
{% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %}
</th>
</tr>
{% for user in users %}
<tr>
<td><a href="{% url 'settings-user' user.id %}">{{ user.username }}</a></td>
<td>{{ user.created_date }}</td>
<td>{{ user.last_active_date }}</td>
<td>{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %}</td>
<td>
{% if user.federated_server %}
<a href="{% url 'settings-federated-server' user.federated_server.id %}">{{ user.federated_server.server_name }}</a>
{% elif not user.local %}
<em>{% trans "Not set" %}</em>
<div class="block">
<div class="tabs">
<ul>
{% url 'settings-users' as url %}
<li {% if request.path in url %}class="is-active" aria-current="page"{% endif %}>
<a href="{{ url }}">{% trans "Local users" %}</a>
</li>
{% url 'settings-users' status="federated" as url %}
<li {% if url in request.path %}class="is-active" aria-current="page"{% endif %}>
<a href="{{ url }}">{% trans "Federated community" %}</a>
</li>
</ul>
</div>
</div>
<div class="table-container block">
<table class="table is-striped">
<tr>
{% url 'settings-users' as url %}
<th>
{% trans "Username" as text %}
{% include 'snippets/table-sort-header.html' with field="username" sort=sort text=text %}
</th>
<th>
{% trans "Date Added" as text %}
{% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %}
</th>
<th>
{% trans "Last Active" as text %}
{% include 'snippets/table-sort-header.html' with field="last_active_date" sort=sort text=text %}
</th>
<th>
{% trans "Status" as text %}
{% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %}
</th>
{% if status != "local" %}
<th>
{% trans "Remote instance" as text %}
{% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %}
</th>
{% endif %}
</td>
</tr>
{% endfor %}
</table>
</tr>
{% for user in users %}
<tr>
<td><a href="{% url 'settings-user' user.id %}">{{ user|username }}</a></td>
<td>{{ user.created_date }}</td>
<td>{{ user.last_active_date }}</td>
<td>{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %}</td>
{% if status != "local" %}
<td>
{% if user.federated_server %}
<a href="{% url 'settings-federated-server' user.federated_server.id %}">{{ user.federated_server.server_name }}</a>
{% else %}
<em>{% trans "Not set" %}</em>
{% endif %}
</td>
{% endif %}
</tr>
{% endfor %}
</table>
</div>
{% include 'snippets/pagination.html' with page=users path=request.path %}
{% endblock %}

View file

@ -2,6 +2,11 @@
{% block filter_fields %}
{% include 'settings/users/username_filter.html' %}
{% include 'directory/community_filter.html' %}
{% if status != "local" %}
{% include 'settings/users/server_filter.html' %}
{% else %}
{% include 'settings/users/email_filter.html' %}
{% endif %}
{% endblock %}

View file

@ -71,14 +71,14 @@
<dd>{{ user.last_active_date }}</dd>
<dt class="is-pulled-left mr-5">{% trans "Manually approved followers:" %}</dt>
<dd>{{ user.manually_approves_followers }}</dd>
<dd>{{ user.manually_approves_followers|yesno }}</dd>
<dt class="is-pulled-left mr-5">{% trans "Discoverable:" %}</dt>
<dd>{{ user.discoverable }}</dd>
<dd>{{ user.discoverable|yesno }}</dd>
{% if not user.is_active %}
<dt class="is-pulled-left mr-5">{% trans "Deactivation reason:" %}</dt>
<dd>{{ user.deactivation_reason }}</dd>
<dd>{{ user.get_deactivation_reason_display }}</dd>
{% endif %}
{% if not user.is_active and user.deactivation_reason == "pending" %}
@ -104,7 +104,7 @@
<dd>{{ server.application_version }}</dd>
<dt class="is-pulled-left mr-5">{% trans "Status:" %}</dt>
<dd>{{ server.status }}</dd>
<dd>{{ server.get_status_display }}</dd>
</dl>
{% if server.notes %}
<h5>{% trans "Notes" %}</h5>

View file

@ -125,6 +125,11 @@ urlpatterns = [
re_path(
r"^settings/users/?$", views.UserAdminList.as_view(), name="settings-users"
),
re_path(
r"^settings/users/(?P<status>(local|federated))\/?$",
views.UserAdminList.as_view(),
name="settings-users",
),
re_path(
r"^settings/users/(?P<user>\d+)/?$",
views.UserAdmin.as_view(),

View file

@ -1,7 +1,5 @@
""" manage themes """
from django.contrib.auth.decorators import login_required, permission_required
from django.contrib.staticfiles.utils import get_files
from django.contrib.staticfiles.storage import StaticFilesStorage
from django.shortcuts import get_object_or_404, redirect
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
@ -41,11 +39,8 @@ class Themes(View):
def get_view_data():
"""data for view"""
choices = list(get_files(StaticFilesStorage(), location="css/themes"))
current = models.Theme.objects.values_list("path", flat=True)
return {
"themes": models.Theme.objects.all(),
"choices": [c for c in choices if c not in current and c[-5:] == ".scss"],
"theme_form": forms.ThemeForm(),
}

View file

@ -19,7 +19,7 @@ from bookwyrm.settings import PAGE_LENGTH
class UserAdminList(View):
"""admin view of users on this server"""
def get(self, request):
def get(self, request, status="local"):
"""list of users"""
filters = {}
server = request.GET.get("server")
@ -37,6 +37,8 @@ class UserAdminList(View):
if email:
filters["email__endswith"] = email
filters["local"] = status == "local"
users = models.User.objects.filter(**filters)
sort = request.GET.get("sort", "-created_date")
@ -56,6 +58,7 @@ class UserAdminList(View):
"users": paginated.get_page(request.GET.get("page")),
"sort": sort,
"server": server,
"status": status,
}
return TemplateResponse(request, "settings/users/user_admin.html", data)

View file

@ -12,7 +12,7 @@ from django.views.decorators.http import require_POST
from bookwyrm import forms, models
from bookwyrm.activitypub import ActivitypubResponse
from bookwyrm.connectors import connector_manager
from bookwyrm.connectors import connector_manager, ConnectorException
from bookwyrm.connectors.abstract_connector import get_image
from bookwyrm.settings import PAGE_LENGTH
from bookwyrm.views.helpers import is_api_request
@ -22,7 +22,7 @@ from bookwyrm.views.helpers import is_api_request
class Book(View):
"""a book! this is the stuff"""
def get(self, request, book_id, user_statuses=False):
def get(self, request, book_id, user_statuses=False, update_error=False):
"""info about a book"""
if is_api_request(request):
book = get_object_or_404(
@ -80,6 +80,7 @@ class Book(View):
else None,
"rating": reviews.aggregate(Avg("rating"))["rating__avg"],
"lists": lists,
"update_error": update_error,
}
if request.user.is_authenticated:
@ -191,6 +192,10 @@ def update_book_from_remote(request, book_id, connector_identifier):
)
book = get_object_or_404(models.Book.objects.select_subclasses(), id=book_id)
connector.update_book_from_remote(book)
try:
connector.update_book_from_remote(book)
except ConnectorException:
# the remote source isn't available or doesn't know this book
return Book().get(request, book_id, update_error=True)
return redirect("book", book.id)

3
bw-dev
View file

@ -154,7 +154,7 @@ case "$CMD" in
--config dev-tools/.stylelintrc.js
;;
compilescss)
runweb python manage.py compilethemes
runweb python manage.py compilescss
runweb python manage.py collectstatic --no-input
;;
collectstatic_watch)
@ -225,6 +225,7 @@ case "$CMD" in
*)
set +x # No need to echo echo
echo "Unrecognised command. Try:"
echo " setup"
echo " up [container]"
echo " service_ports_web"
echo " initdb"

89
complete_bwdev.fish Normal file
View file

@ -0,0 +1,89 @@
# bw-dev auto-completions for fish-shell.
# copy this to ~./.config/fish/completions/ with the name `bw-dev.fish`
# this will only work if renamed to `bw-dev.fish`.
set -l commands up \
service_ports_web \
initdb \
resetdb \
makemigrations \
migrate \
bash \
shell \
dbshell \
restart_celery \
pytest \
collectstatic \
makemessages \
compilemessages \
update_locales \
build \
clean \
black \
prettier \
stylelint \
formatters \
compilescss \
collectstatic_watch \
populate_streams \
populate_lists_streams \
populate_suggestions \
generate_thumbnails \
generate_preview_images \
copy_media_to_s3 \
set_cors_to_s3 \
setup \
admin_code \
runweb
function __bw_complete -a cmds cmd desc
complete -f -c bw-dev -n "not __fish_seen_subcommand_from $cmds" -a $cmd -d $desc
end
__bw_complete "$commands" "up" "bring one or all service(s) up"
__bw_complete "$commands" "service_ports_web" "run command on the web container with its portsenabled and mapped"
__bw_complete "$commands" "initdb" "initialize database"
__bw_complete "$commands" "resetdb" "!! WARNING !! reset database"
__bw_complete "$commands" "makemigrations" "create new migrations"
__bw_complete "$commands" "migrate" "perform all migrations"
__bw_complete "$commands" "bash" "open up bash within the web container"
__bw_complete "$commands" "shell" "open the Python shell within the web container"
__bw_complete "$commands" "dbshell" "open the database shell within the web container"
__bw_complete "$commands" "restart_celery" "restart the celery container"
__bw_complete "$commands" "pytest" "run unit tests"
__bw_complete "$commands" "collectstatic" "copy changed static files into the installation"
__bw_complete "$commands" "makemessages" "extract all localizable messages from the code"
__bw_complete "$commands" "compilemessages" "compile .po localization files to .mo"
__bw_complete "$commands" "update_locales" "run makemessages and compilemessages for the en_US and additional locales"
__bw_complete "$commands" "build" "build the containers"
__bw_complete "$commands" "clean" "bring the cluster down and remove all containers"
__bw_complete "$commands" "black" "run Python code formatting tool"
__bw_complete "$commands" "prettier" "run JavaScript code formatting tool"
__bw_complete "$commands" "stylelint" "run SCSS linting tool"
__bw_complete "$commands" "formatters" "run multiple formatter tools"
__bw_complete "$commands" "compilescss" "compile the SCSS layouts to CSS"
__bw_complete "$commands" "populate_streams" "populate the main streams"
__bw_complete "$commands" "populate_lists_streams" "populate streams for book lists"
__bw_complete "$commands" "populate_suggestions" "populate book suggestions"
__bw_complete "$commands" "generate_thumbnails" "generate book thumbnails"
__bw_complete "$commands" "generate_preview_images" "generate book preview images"
__bw_complete "$commands" "collectstatic_watch" "watch filesystem and copy changed static files"
__bw_complete "$commands" "copy_media_to_s3" "run the `s3 cp` command to copy media to a bucket on S3"
__bw_complete "$commands" "sync_media_to_s3" "run the `s3 sync` command to sync media with a bucket on S3"
__bw_complete "$commands" "set_cors_to_s3" "push a CORS configuration defined in .json to s3"
__bw_complete "$commands" "setup" "perform first-time setup"
__bw_complete "$commands" "admin_code" "get the admin code"
__bw_complete "$commands" "runweb" "run a command on the web container"
function __bw_complete_subcommand -a cmd
complete -f -c bw-dev -n "__fish_seen_subcommand_from $cmd" $argv[2..-1]
end
__bw_complete_subcommand "up" -a "(docker-compose config --service)"
__bw_complete_subcommand "pytest" -a "bookwyrm/tests/**.py"
__bw_complete_subcommand "populate_streams" -a "--stream=" -d "pick a single stream to populate"
__bw_complete_subcommand "populate_streams" -l stream -a "home local books"
__bw_complete_subcommand "generate_preview_images" -a "--all"\
-d "Generates images for ALL types: site, users and books. Can use a lot of computing power."
__bw_complete_subcommand "set_cors_to_s3" -a "**.json"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 20:16\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:52\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: German\n"
"Language: de\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Follower*innen"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Zitate"
msgid "Everything else"
msgstr "Alles andere"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Start-Zeitleiste"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Startseite"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Bücher-Zeitleiste"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Bücher"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Englisch)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (Spanisch)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Galizisch)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (Italienisch)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Französisch)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Litauisch)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norwegisch)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (brasilianisches Portugiesisch)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugiesisch)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Schwedisch)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (vereinfachtes Chinesisch)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinesisch, traditionell)"
@ -356,54 +356,54 @@ msgstr "Etwas ist schief gelaufen! Tut uns leid."
msgid "About"
msgstr "Über"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Willkommen auf %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s ist Teil von <em>BookWyrm</em>, ein Netzwerk unabhängiger, selbstverwalteter Gemeinschaften für Leser*innen. Obwohl du dich nahtlos mit anderen Benutzer*innen überall im <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm-Netzwerk</a> austauschen kannst, ist diese Gemeinschaft einzigartig."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> ist mit einer durchschnittlichen Bewertung von %(rating)s (von 5) das beliebtestes Buch auf %(site_name)s."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Das Buch <a href=\"%(book_path)s\"><em>%(title)s</em></a> wollen mehr Benutzer*innen von %(site_name)s lesen als jedes andere Buch."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> hat die unterschiedlichsten Bewertungen aller Bücher auf %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Verfolge deine Lektüre, sprich über Bücher, schreibe Besprechungen und entdecke, was Du als Nächstes lesen könntest. BookWyrm ist eine Software im menschlichen Maßstab, die immer übersichtlich, werbefrei, persönlich, und gemeinschaftsorientiert sein wird. Wenn du Feature-Anfragen, Fehlerberichte oder große Träume hast, wende dich <a href='https://joinbookwyrm.com/get-involved' target='_blank'>an</a> und verschaffe dir Gehör."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Lerne deinen Admins kennen"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "Die Moderator*innen und Administrator*innen von %(site_name)s halten diese Seite am Laufen. Beachte den <a href=\"coc_path\">Verhaltenskodex</a> und melde, wenn andere Benutzer*innen dagegen verstoßen oder Spam verbreiten."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderator*in"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Administration"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Speichern"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Abbrechen"
@ -770,9 +770,9 @@ msgstr "Abbrechen"
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 "Das Laden von Daten wird eine Verbindung zu <strong>%(source_name)s</strong> aufbauen und überprüfen, ob Autor*in-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Zur Liste hinzufügen"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Aktionen"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Spam melden"
@ -1216,7 +1216,7 @@ msgstr "BookWyrm verlassen"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Dieser Link führt zu: <code>%(link_url)s</code>.<br> Möchtest du dorthin wechseln?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Weiter"
@ -1292,7 +1292,7 @@ msgstr "Bestätigungscode:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Absenden"
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Keine Benutzer*innen für „%(query)s“ gefunden"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Gruppe erstellen"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "Diese Gruppe löschen?"
msgid "This action cannot be un-done"
msgstr "Diese Aktion kann nicht rückgängig gemacht werden"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "\"<em>%(title)s</em>\" zu dieser Liste hinzufügen"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "\"<em>%(title)s</em>\" für diese Liste vorschlagen"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Vorschlagen"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Listenposition"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Übernehmen"
@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4200,7 +4201,8 @@ msgid "Need help?"
msgstr ""
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Regal erstellen"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4216,10 +4218,6 @@ msgstr "Benutzer*inprofil"
msgid "All books"
msgstr "Alle Bücher"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Regal erstellen"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Antworten"
msgid "Content"
msgstr "Inhalt"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Inhaltswarnung:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Spoileralarm!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Spoileralarm aktivieren"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Spoileralarm!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Kommentar:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Veröffentlichen"
@ -4851,10 +4849,6 @@ msgstr "Deine Gruppen"
msgid "Groups: %(username)s"
msgstr "Gruppen: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Gruppe erstellen"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Benutzer*inprofil"

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-02 19:39\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 20:49\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Spanish\n"
"Language: es\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Seguidores"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citas"
msgid "Everything else"
msgstr "Todo lo demás"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Línea de tiempo principal"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Inicio"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Línea temporal de libros"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Libros"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Inglés)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch (Alemán)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Gallego)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Francés)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituano)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (Noruego)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portugués brasileño)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugués europeo)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Sueco)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chino simplificado)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chino tradicional)"
@ -356,54 +356,54 @@ msgstr "¡Algo salió mal! Disculpa."
msgid "About"
msgstr "Acerca de"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "¡Bienvenido a %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s es parte de <em>BookWyrm</em>, una red de comunidades independientes y autogestionadas para lectores. Aunque puedes interactuar sin problemas con los usuarios de cualquier parte de la <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">red BookWyrm</a>, esta comunidad es única."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> es el libro más querido de %(site_name)s, con una valoración promedio de %(rating)s sobre 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Los usuarios de %(site_name)s quieren leer <a href=\"%(book_path)s\"><em>%(title)s</em></a> más que cualquier otro libro."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "Las valoraciones de <a href=\"%(book_path)s\"><em>%(title)s</em></a> están más divididas que las de cualquier otro libro en %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Haz un registro de tu lectura, habla sobre libros, escribe reseñas y descubre qué leer a continuación. BookWyrm es un software de escala humana, siempre sin anuncios, anticorporativo y orientado a la comunidad, diseñado para ser pequeño y personal. Si tienes solicitudes de características, informes de errores o grandes sueños, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contacta</a> y hazte oír."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Conoce a tus administradores"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en funcionamiento, hacen cumplir el <a href=\"coc_path\">código de conducta</a> y responden cuando los usuarios informan de spam y mal comportamiento."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderador"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Administrador"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -598,11 +598,11 @@ msgstr "Alias:"
#: bookwyrm/templates/author/author.html:48
msgid "Born:"
msgstr "Nacido:"
msgstr "Fecha de nacimiento:"
#: bookwyrm/templates/author/author.html:55
msgid "Died:"
msgstr "Muerto:"
msgstr "Fecha de defunción:"
#: bookwyrm/templates/author/author.html:65
msgid "External links"
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Guardar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Cancelar"
@ -770,9 +770,9 @@ msgstr "Cancelar"
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 "La carga de datos se conectará a <strong>%(source_name)s</strong> y comprobará si hay metadatos sobre este autor que no están presentes aquí. Los metadatos existentes no serán sobrescritos."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Agregar a lista"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Acciones"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Denunciar spam"
@ -1216,7 +1216,7 @@ msgstr "Saliendo de BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Este enlace te lleva a: <code>%(link_url)s</code>.<br> ¿Es ahí adonde quieres ir?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Continuar"
@ -1292,7 +1292,7 @@ msgstr "Código de confirmación:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Enviar"
@ -1326,7 +1326,7 @@ msgstr "Usuarios locales"
#: bookwyrm/templates/directory/community_filter.html:12
msgid "Federated community"
msgstr "Comunidad federalizada"
msgstr "Comunidad federada"
#: bookwyrm/templates/directory/directory.html:4
#: bookwyrm/templates/directory/directory.html:9
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "No se encontró ningún usuario correspondiente a \"%(query)s\""
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Crear grupo"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "¿Eliminar este grupo?"
msgid "This action cannot be un-done"
msgstr "Esta acción no se puede deshacer"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Añadir «<em>%(title)s</em>» a esta lista"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Sugerir «<em>%(title)s</em>» para esta lista"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Sugerir"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Posición"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Establecido"
@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4200,8 +4201,9 @@ msgid "Need help?"
msgstr ""
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
msgstr "Crear Estantería"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crear estantería"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
msgid "Edit Shelf"
@ -4216,10 +4218,6 @@ msgstr "Perfil de usuario"
msgid "All books"
msgstr "Todos los libros"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crear estantería"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Responder"
msgid "Content"
msgstr "Contenido"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Advertencia de contenido:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "¡Advertencia, ya vienen spoilers!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Incluir alerta de spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "¡Advertencia, ya vienen spoilers!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Comentario:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Compartir"
@ -4851,10 +4849,6 @@ msgstr "Tus grupos"
msgid "Groups: %(username)s"
msgstr "Grupos: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Crear grupo"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Perfil de usuario"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-02 12:24\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-14 16:32\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: French\n"
"Language: fr\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Abonné(e)s"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citations"
msgid "Everything else"
msgstr "Tout le reste"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Mon fil dactualité"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Accueil"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Actualité de mes livres"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Livres"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Galicien)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (italien)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituanien)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (norvégien)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portugais brésilien)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugais européen)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Suédois)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简化字"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "Infos supplémentaires:"
@ -356,54 +356,54 @@ msgstr "Une erreur sest produite; désolé!"
msgid "About"
msgstr "À propos"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Bienvenue sur %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s fait partie de <em>BookWyrm</em>, un réseau de communautés indépendantes et autogérées, à destination des lecteurs. Bien que vous puissiez interagir apparemment avec les comptes n'importe où dans le <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">réseau BookWyrm</a>, cette communauté est unique."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> est le livre le plus aimé de %(site_name)s, avec une note moyenne de %(rating)s sur 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Sur %(site_name)s, cest <a href=\"%(book_path)s\"><em>%(title)s</em></a> que tout le monde veut lire plus que nimporte quel autre livre."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> divise les critiques plus que nimporte quel autre livre sur %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Gardez trace de vos lectures, parlez de livres, écrivez des commentaires et découvrez quoi lire ensuite. BookWyrm est un logiciel à échelle humaine, sans publicité, anti-capitaliste et axé sur la communauté, conçu pour rester petit et personnel. Si vous avez des demandes de fonctionnalités, des rapports de bogue ou des rêves grandioses, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>rejoignez-nous</a> et faites-vous entendre."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Rencontrez vos admins"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "Ladministration et la modération de %(site_name)s maintiennent le site opérationnel, font respecter le <a href=\"coc_path\">code de conduite</a>, et répondent lorsque les utilisateurs signalent le spam et les mauvais comportements."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Modérateur/modératrice"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI :"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Enregistrer"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Annuler"
@ -770,9 +770,9 @@ msgstr "Annuler"
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:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Ajouter à la liste"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Actions"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Signaler un spam"
@ -1216,7 +1216,7 @@ msgstr "Vous quittez BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Ce lien vous amène à <code>%(link_url)s</code>.<br>Est-ce là que vous souhaitez aller ?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Continuer"
@ -1292,7 +1292,7 @@ msgstr "Code de confirmation:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Valider"
@ -1806,8 +1806,9 @@ msgid "No users found for \"%(query)s\""
msgstr "Aucun compte trouvé pour « %(query)s»"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
msgstr "Créer un Groupe"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Créer un groupe"
#: bookwyrm/templates/groups/created_text.html:4
#, python-format
@ -1824,9 +1825,9 @@ msgstr "Supprimer ce groupe ?"
msgid "This action cannot be un-done"
msgstr "Cette action ne peut pas être annulée"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Ajouter « <em>%(title)s</em> » à cette liste"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Suggérer « <em>%(title)s</em> » pour cette liste"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Suggérer"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Position"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Appliquer"
@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr "Copiez le fichier de thème dans le répertoire <code>bookwyrm/static/css/themes</code> de votre serveur depuis la ligne de commande."
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgstr "Exécutez <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr "Exécutez <code>./bw-dev collectstatic</code>."
#: bookwyrm/templates/settings/themes.html:35
msgid "Add the file name using the form below to make it available in the application interface."
@ -4200,7 +4201,8 @@ msgid "Need help?"
msgstr "Besoin daide ?"
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Créer une étagère"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4216,10 +4218,6 @@ msgstr "Profil utilisateur·rice"
msgid "All books"
msgstr "Tous les livres"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Créer une étagère"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Répondre"
msgid "Content"
msgstr "Contenu"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Avertissement sur le contenu :"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Attention spoilers!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Afficher une alerte spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr "Avertissements de contenu/spoilers :"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Attention spoilers!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Commentaire:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Publier"
@ -4497,7 +4495,7 @@ msgstr "Critique de « %(book_title)s»: %(review_title)s"
#: bookwyrm/templates/snippets/goal_form.html:4
#, python-format
msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year."
msgstr "Définissez un nombre de livre à lire comme objectif pour %(year)s, et suivezvotre progression au fil de lannée."
msgstr "Définissez un nombre de livres à lire comme objectif pour %(year)s, et suivez votre progression au fil de lannée."
#: bookwyrm/templates/snippets/goal_form.html:16
msgid "Reading goal:"
@ -4851,10 +4849,6 @@ msgstr "Vos Groupes"
msgid "Groups: %(username)s"
msgstr "Groupes : %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Créer un groupe"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Profil"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-02 07:34\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:52\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Galician\n"
"Language: gl\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Seguidoras"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citas"
msgid "Everything else"
msgstr "As outras cousas"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Cronoloxía de Inicio"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Inicio"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Cronoloxía de libros"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Libros"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Inglés)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Alemán (Alemaña)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (España)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Galician)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (Italian)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Francés (Francia)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lithuanian)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Noruegués (Norwegian)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portugués brasileiro)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portugués europeo)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Sueco (Swedish)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chinés simplificado)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinés tradicional)"
@ -356,54 +356,54 @@ msgstr "Algo fallou! Lamentámolo."
msgid "About"
msgstr "Acerca de"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Sexas ben vida a %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s é parte de <em>BookWyrm</em>, unha rede independente, auto-xestionada por comunidades de persoas lectoras. Aínda que podes interactuar con outras usuarias da <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">rede BookWyrm</a>, esta comunidade é única."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro máis querido de %(site_name)s, cunha valoración media de %(rating)s sobre 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro que máis queren ler as usuarias de %(site_name)s."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o libro con valoracións máis diverxentes en %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Rexistra as túas lecturas, conversa acerca dos libros, escribe recensións e descubre próximas lecturas. Sempre sen publicidade, anti-corporacións e orientado á comunidade, BookWyrm é software a escala humana, deseñado para ser pequeno e persoal. Se queres propoñer novas ferramentas, informar de fallos, ou colaborar, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contacta con nós</a> e deixa oír a túa voz."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Contacta coa administración"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "A moderación e administración de %(site_name)s coidan e xestionan o sitio web, fan cumprir co <a href=\"coc_path\">código de conduta</a> e responden ás denuncias das usuarias sobre spam e mal comportamento."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderación"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Gardar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Cancelar"
@ -770,9 +770,9 @@ msgstr "Cancelar"
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:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Engadir a listaxe"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Accións"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Denunciar spam"
@ -1216,7 +1216,7 @@ msgstr "Saír de BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Esta ligazón vaite levar a: <code>%(link_url)s</code>.<br>É ahí a onde queres ir?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Continuar"
@ -1292,7 +1292,7 @@ msgstr "Código de confirmación:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Enviar"
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Non se atopan usuarias para \"%(query)s\""
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Crear grupo"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "Eliminar este grupo?"
msgid "This action cannot be un-done"
msgstr "Esta acción non ten volta atrás"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Engadir \"<em>%(title)s</em>\" a esta lista"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Suxerir \"<em>%(title)s</em>\" para esta lista"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Suxire"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Posición da lista"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Establecer"
@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr "Copia o ficheiro do decorado no cartafol <code>bookwyrm/static/css/themes</code> do teu servidor usando a liña de comandos."
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgstr "Executa <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
msgid "Add the file name using the form below to make it available in the application interface."
@ -4200,8 +4201,9 @@ msgid "Need help?"
msgstr "Precisas axuda?"
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
msgstr "Crear Estante"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crear estante"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
msgid "Edit Shelf"
@ -4216,10 +4218,6 @@ msgstr "Perfil da usuaria"
msgid "All books"
msgstr "Tódolos libros"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crear estante"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Responder"
msgid "Content"
msgstr "Contido"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Aviso sobre o contido:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Contén Spoilers!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Incluír alerta de spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Contén Spoilers!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Comentario:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Publicación"
@ -4851,10 +4849,6 @@ msgstr "Os teus grupos"
msgid "Groups: %(username)s"
msgstr "Grupos: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Crear grupo"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Perfil da usuaria"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 21:14\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:52\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Italian\n"
"Language: it\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Followers"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citazioni"
msgid "Everything else"
msgstr "Tutto il resto"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "La tua timeline"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Home"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Timeline dei libri"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Libri"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Inglese)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch (Tedesco)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (Spagnolo)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Galiziano)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (Italiano)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Francese)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituano)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norvegese)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Portoghese Brasiliano)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Portoghese europeo)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Svedese)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Cinese Semplificato)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Cinese Tradizionale)"
@ -356,54 +356,54 @@ msgstr "Qualcosa è andato storto! Ci dispiace."
msgid "About"
msgstr "Informazioni su"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Benvenuto su %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s fa parte di <em>BookWyrm</em>, una rete di comunità indipendenti e autogestite per i lettori. Mentre puoi interagire apparentemente con gli utenti ovunque nella rete <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">di BookWyrm</a>, questa comunità è unica."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> è il libro più amato di %(site_name)s, con un punteggio medio di %(rating)s su 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Più %(site_name)s utenti vogliono leggere <a href=\"%(book_path)s\"><em>%(title)s</em></a> rispetto a qualsiasi altro libro."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> ha le valutazioni più divisive di ogni libro su %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Traccia la tue letture, parla di libri, scrivi recensioni, e scopri cosa leggere dopo. BookWyrm, sempre libero, anti-corporate, orientato alla comunità, è un software a misura d'uomo, progettato per rimanere piccolo e personale. Se hai richieste di funzionalità, segnalazioni di bug o grandi sogni, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>contatta</a> e fai sentire la tua voce."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Incontra gli amministratori"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "I moderatori e gli amministratori di %(site_name)s mantengono il sito attivo e funzionante, applicano il <a href=\"coc_path\">codice di condotta</a>, e rispondono quando gli utenti segnalano spam o comportamenti non adeguati."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderatori"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Salva"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Cancella"
@ -770,9 +770,9 @@ msgstr "Cancella"
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 "Il caricamento dei dati si collegherà a <strong>%(source_name)s</strong> e verificherà eventuali metadati relativi a questo autore che non sono presenti qui. I metadati esistenti non vengono sovrascritti."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Aggiungi all'elenco"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Azioni"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Segnala come spam"
@ -1216,7 +1216,7 @@ msgstr "Esci da BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Questo link ti sta portando a: <code>%(link_url)s</code>.<br> È qui che vuoi andare?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Continua"
@ -1292,7 +1292,7 @@ msgstr "Codice di conferma:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Invia"
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Nessun utente trovato per \"%(query)s\""
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Crea gruppo"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "Eliminare questo gruppo?"
msgid "This action cannot be un-done"
msgstr "Questa azione non può essere annullata"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Aggiungi \"<em>%(title)s</em>\" a questa lista"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Suggerisci \"<em>%(title)s</em>\" per questa lista"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Suggerisci"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Posizione elenco"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Imposta"
@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr "Copia il file del tema nella directory <code>bookwyrm/static/css/themes</code> sul tuo server dalla riga di comando."
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgstr "Esegui <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
msgid "Add the file name using the form below to make it available in the application interface."
@ -4200,8 +4201,9 @@ msgid "Need help?"
msgstr "Hai bisogno di aiuto?"
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
msgstr "Crea Scaffale"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crea scaffale"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
msgid "Edit Shelf"
@ -4216,10 +4218,6 @@ msgstr "Profilo utente"
msgid "All books"
msgstr "Tutti i libri"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Crea scaffale"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Rispondi"
msgid "Content"
msgstr "Contenuto"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Avviso sul contenuto:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Attenzione Spoiler!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Includi avviso spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Attenzione Spoiler!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Commenta:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Pubblica"
@ -4851,10 +4849,6 @@ msgstr "I tuoi gruppi"
msgid "Groups: %(username)s"
msgstr "Gruppi: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Crea gruppo"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Profilo utente"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 20:15\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:51\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Lithuanian\n"
"Language: lt\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Sekėjai"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citatos"
msgid "Everything else"
msgstr "Visa kita"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Pagrindinė siena"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Pagrindinis"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Knygų siena"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Knygos"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Anglų)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch (Vokiečių)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (Ispanų)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (galisų)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italų (Italian)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Prancūzų)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norvegų (Norwegian)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português brasileiro (Brazilijos portugalų)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Europos portugalų)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Švedų)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Supaprastinta kinų)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Tradicinė kinų)"
@ -356,54 +356,54 @@ msgstr "Kažkas nepavyko. Atsiprašome."
msgid "About"
msgstr "Apie"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Sveiki atvykę į %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s yra <em>BookWyrm</em>dalis, tinklo nepriklausomų skaitytojų bendruomenių. Jūs galite bendrauti su nariais iš šio <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm tinklo</a>, tačiau ši bendruomenė yra unikali."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> yra %(site_name)s's mėgstamiausia knyga, kurios vidutinis įvertinimas yra %(rating)s iš 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Daugiau %(site_name)s narių nori perskaityti <a href=\"%(book_path)s\"><em>%(title)s</em></a> negu bet kurią kitą knygą."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> labiausiai kontroversiškai reitinguota %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Sekite savo skaitymus, kalbėkite apie knygas, rašykite atsiliepimus ir atraskite, ką dar perskaityti. „BookWyrm“ tai programinė įranga, kurioje nėra reklamų, biurokratijos. Tai bendruomenei orientuota, nedidelė ir asmeninė įranga, kurią lengva plėsti. Jei norite papildomų funkcijų, įgyvendinti savo svajones ar tiesiog pranešti apie klaidą, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>susisiekite</a> ir jus išgirsime."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Šio serverio administratoriai"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "Svetainės %(site_name)s moderatoriai ir administratoriai nuolat atnaujina puslapį, laikosi <a href=\"coc_path\">elgsenos susitarimo</a> ir atsako, kai naudotojai praneša apie brukalą ir blogą elgesį."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderatorius"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Administravimas"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -735,14 +735,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -756,20 +756,20 @@ msgstr "Išsaugoti"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Atšaukti"
@ -778,9 +778,9 @@ msgstr "Atšaukti"
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 "Duomenų įkėlimas prisijungs prie <strong>%(source_name)s</strong> ir patikrins ar nėra naujos informacijos. Esantys metaduomenys nebus perrašomi."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -883,8 +883,8 @@ msgid "Add to list"
msgstr "Pridėti prie sąrašo"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1191,7 +1191,7 @@ msgid "Actions"
msgstr "Veiksmai"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Pranešti apie brukalą"
@ -1225,7 +1225,7 @@ msgstr "Tęsti naršymą ne BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Nuoroda veda į: <code>%(link_url)s</code>.<br> Ar tikrai norite ten nueiti?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Tęsti"
@ -1301,7 +1301,7 @@ msgstr "Patvirtinimo kodas:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Siųsti"
@ -1819,7 +1819,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Pagal paiešką „%(query)s“ nieko nerasta"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Sukurti grupę"
#: bookwyrm/templates/groups/created_text.html:4
@ -1837,9 +1838,9 @@ msgstr "Ištrinti šią grupę?"
msgid "This action cannot be un-done"
msgstr "Nebegalite atšaukti šio veiksmo"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2319,7 +2320,7 @@ msgstr "Pridėti \"<em>%(title)s</em>\" į šį sąrašą"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Siūlyti \"<em>%(title)s</em>\" į šį sąrašą"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Siūlyti"
@ -2489,7 +2490,7 @@ msgid "List position"
msgstr "Sąrašo pozicija"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Nustatyti"
@ -3952,7 +3953,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4229,7 +4230,8 @@ msgid "Need help?"
msgstr ""
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Sukurti lentyną"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4245,10 +4247,6 @@ msgstr "Nario paskyra"
msgid "All books"
msgstr "Visos knygos"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Sukurti lentyną"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4376,24 +4374,24 @@ msgstr "Atsakyti"
msgid "Content"
msgstr "Turinys"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Įspėjimas dėl turinio:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Galimas turinio atskleidimas!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Įdėti įspėjimą apie turinio atskleidimą"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Galimas turinio atskleidimas!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Komentuoti:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Publikuoti"
@ -4894,10 +4892,6 @@ msgstr "Jūsų grupės"
msgid "Groups: %(username)s"
msgstr "Grupės: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Sukurti grupę"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Nario paskyra"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 20:15\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:51\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Norwegian\n"
"Language: no\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Følgere"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Sitater"
msgid "Everything else"
msgstr "Andre ting"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Lokal tidslinje"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Hjem"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Boktidslinja"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Bøker"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Engelsk)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch (Tysk)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (Spansk)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Gallisk)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (Italiensk)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Fransk)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Litauisk)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norsk)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português - Brasil (Brasiliansk portugisisk)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Europeisk Portugisisk)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Svensk)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Forenklet kinesisk)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Tradisjonelt kinesisk)"
@ -356,54 +356,54 @@ msgstr "Beklager, noe gikk galt! Leit, det der."
msgid "About"
msgstr "Om"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Velkommen til %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s er en del av <em>BookWyrm</em>, et nettverk av selvstendige, selvstyrte samfunn for lesere. Du kan kommunisere sømløst med brukere hvor som helst i <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm nettverket</a>, men hvert samfunn er unikt."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> er %(site_name)s sin favorittbok, med en gjennomsnittlig vurdering på %(rating)s av 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Flere av %(site_name)s sine medlemmer ønsker å lese <a href=\"%(book_path)s\"><em>%(title)s</em></a> enn noen annen bok."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> er den boka på %(site_name)s med de mest polariserte vurderingene."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Journalfør lesingen din, snakk om bøker, skriv anmeldelser, og oppdag din neste bok. BookWyrm er reklamefri, ukommers og fellesskapsorientert, programvare for mennesker, designet for å forbli liten og nær. Hvis du har ønsker, feilrapporter eller store vyer, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>ta kontakt</a> og bli hørt."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Møt administratorene"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "%(site_name)s sine moderatorer og administratorer holder nettsida oppe og tilgjengelig, håndhever <a href=\"coc_path\">adferdskoden</a>, og svarer på brukernes rapporterer om spam og dårlig atferd."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderator"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Lagre"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Avbryt"
@ -770,9 +770,9 @@ msgstr "Avbryt"
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 "Laster inn data kobler til <strong>%(source_name)s</strong> og finner metadata om denne forfatteren som enda ikke finnes her. Eksisterende metadata vil ikke bli overskrevet."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Legg til i liste"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Handlinger"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Rapporter spam"
@ -1216,7 +1216,7 @@ msgstr "Forlater BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Denne lenka sender deg til: <code>%(link_url)s</code>.<br> Er det dit du vil dra?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Fortsett"
@ -1292,7 +1292,7 @@ msgstr "Bekreftelseskode:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Send inn"
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Ingen medlemmer funnet for \"%(query)s\""
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Opprett gruppe"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "Slette denne gruppa?"
msgid "This action cannot be un-done"
msgstr "Denne handlingen er endelig"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Legg til \"<em>%(title)s</em>\" på denne lista"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Foreslå \"<em>%(title)s</em>\" for denne lista"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Foreslå"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Listeposisjon"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Bruk"
@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4200,7 +4201,8 @@ msgid "Need help?"
msgstr ""
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Lag hylle"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4216,10 +4218,6 @@ msgstr "Brukerprofil"
msgid "All books"
msgstr "Alle bøker"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Lag hylle"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Svar"
msgid "Content"
msgstr "Innhold"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Innholdsadvarsel:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Spoilers forut!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Inkluder spoiler-varsel"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Spoilers forut!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Kommentar:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Innlegg"
@ -4851,10 +4849,6 @@ msgstr "Gruppene dine"
msgid "Groups: %(username)s"
msgstr "Grupper: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Opprett gruppe"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Brukerprofil"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 23:21\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 20:49\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Seguidores"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citações"
msgid "Everything else"
msgstr "Todo o resto"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Linha do tempo"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Página inicial"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Linha do tempo dos livros"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Livros"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English (Inglês)"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch (Alemão)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (Espanhol)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Galego)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (Italiano)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Francês)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (Lituano)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norueguês)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Português do Brasil)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Português Europeu)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Sueco)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chinês simplificado)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinês tradicional)"
@ -356,54 +356,54 @@ msgstr "Algo deu errado! Foi mal."
msgid "About"
msgstr "Sobre"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Bem-vindol(a) a %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s é parte da <em>BookWyrm</em>, uma rede independente e autogestionada para leitores. Apesar de você poder interagir diretamente com usuários de toda a <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">rede BookWyrm</a>, esta comunidade é única."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> é o livro favorito da instância %(site_name)s, com uma avaliação média de %(rating)s em 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "O livro mais desejado de toda a instância %(site_name)s é <a href=\"%(book_path)s\"><em>%(title)s</em></a>."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> tem a avaliação mais polêmica de toda a instância %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Registre o andamento de suas leituras, fale sobre livros, escreva resenhas e ache o que ler em seguida. Sempre sem propagandas, anticorporativa e voltada à comunidade, a BookWyrm é um software em escala humana desenvolvido para permanecer pequeno e pessoal. Se você tem sugestões de funções, avisos sobre bugs ou grandes sonhos para o projeto, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>fale conosco</a> e faça sua voz ser ouvida."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Conheça a administração"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "Moderadores/as e administradores/as de %(site_name)s mantêm o site funcionando, aplicam o <a href=\"coc_path\">código de conduta</a> e respondem quando usuários denunciam spam e mau comportamento."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderador/a"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Salvar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Cancelar"
@ -770,9 +770,9 @@ msgstr "Cancelar"
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:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Adicionar à lista"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Ações"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Denunciar spam"
@ -1216,7 +1216,7 @@ msgstr "Saindo da BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Este link te levará a: <code>%(link_url)s</code>.<br> Você quer mesmo ir?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Continuar"
@ -1292,7 +1292,7 @@ msgstr "Código de confirmação:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Enviar"
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Nenhum usuário encontrado para \"%(query)s\""
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Criar grupo"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "Deletar grupo?"
msgid "This action cannot be un-done"
msgstr "Esta ação não pode ser desfeita"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Adicionar \"<em>%(title)s</em>\" a esta lista"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Sugerir \"<em>%(title)s</em>\" para esta lista"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Sugerir"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Posição na lista"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Definir"
@ -3923,8 +3924,8 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr "Copie o arquivo do tema para a pasta <code>bookwyrm/static/css/themes</code> em seu servidor pela linha de comando."
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgstr "Execute <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr "Execute <code>./bw-dev collectstatic</code>."
#: bookwyrm/templates/settings/themes.html:35
msgid "Add the file name using the form below to make it available in the application interface."
@ -4200,7 +4201,8 @@ msgid "Need help?"
msgstr "Precisa de ajuda?"
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Criar estante"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4216,10 +4218,6 @@ msgstr "Perfil do usuário"
msgid "All books"
msgstr "Todos os livros"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Criar estante"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Responder"
msgid "Content"
msgstr "Conteúdo"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Aviso de conteúdo:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Alerta de spoiler!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Incluir alerta de spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr "Avisos de spoiler/conteúdo:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Alerta de spoiler!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Comentário:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Publicar"
@ -4851,10 +4849,6 @@ msgstr "Seus grupos"
msgid "Groups: %(username)s"
msgstr "Grupos: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Criar grupo"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Perfil do usuário"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 20:15\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:51\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Portuguese\n"
"Language: pt\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Seguidores"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citações"
msgid "Everything else"
msgstr "Tudo o resto"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Cronograma Inicial"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Início"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Cronograma de Livros"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Livros"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "Inglês"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch (Alemão)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español (Espanhol)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Galician)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano (Italiano)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français (Francês)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių (lituano)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk (Norueguês)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil (Português brasileiro)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português (Português Europeu)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr ""
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Chinês simplificado)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Chinês tradicional)"
@ -356,54 +356,54 @@ msgstr "Ocorreu um erro! Pedimos desculpa por isto."
msgid "About"
msgstr "Sobre"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Bem-vindo(a) ao %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s faz parte do <em>BookWyrm</em>, uma rede de comunidades independentes, focada nos leitores. Enquanto podes interagir continuamente com utilizadores por todo o lado na <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">Rede Boomwyrm</a>, esta comunidade é única."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr ""
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr ""
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr ""
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr ""
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Conheça os nossos administradores"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr ""
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderador"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Admin"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Salvar"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Cancelar"
@ -770,9 +770,9 @@ msgstr "Cancelar"
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 "Carregar os dados irá conectar a <strong>%(source_name)s</strong> e verificar se há metadados sobre este autor que não estão aqui presentes. Os metadados existentes não serão substituídos."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Adicionar à lista"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1180,7 +1180,7 @@ msgid "Actions"
msgstr "Acções"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr ""
@ -1214,7 +1214,7 @@ msgstr ""
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr ""
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr ""
@ -1290,7 +1290,7 @@ msgstr "Código de confirmação:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Submeter"
@ -1804,8 +1804,9 @@ msgid "No users found for \"%(query)s\""
msgstr "Nenhum utilizador encontrado para \"%(query)s\""
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
msgstr "Criar um Grupo"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Criar grupo"
#: bookwyrm/templates/groups/created_text.html:4
#, python-format
@ -1822,9 +1823,9 @@ msgstr "Apagar este grupo?"
msgid "This action cannot be un-done"
msgstr "Esta ação não pode ser desfeita"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2296,7 +2297,7 @@ msgstr ""
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr ""
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Sugerir"
@ -2466,7 +2467,7 @@ msgid "List position"
msgstr "Posição da lista"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Definir"
@ -3921,7 +3922,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4198,7 +4199,8 @@ msgid "Need help?"
msgstr ""
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Criar prateleira"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4214,10 +4216,6 @@ msgstr ""
msgid "All books"
msgstr "Todos os livros"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Criar prateleira"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4341,24 +4339,24 @@ msgstr "Responder"
msgid "Content"
msgstr "Conteúdo"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Aviso de Conteúdo:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Alerta de spoiler!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Incluir aviso de spoiler"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Alerta de spoiler!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Comentar:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Publicação"
@ -4849,10 +4847,6 @@ msgstr "Os Teus Grupos"
msgid "Groups: %(username)s"
msgstr "Grupos: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Criar grupo"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Perfil de Utilizador"

Binary file not shown.

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-04 04:45\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:51\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Swedish\n"
"Language: sv\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "Följare"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "Citationer"
msgid "Everything else"
msgstr "Allt annat"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "Tidslinje för Hem"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "Hem"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "Tidslinjer för böcker"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "Böcker"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "Engelska"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Tyska (Tysk)"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Spanska (Spansk)"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego (Gallisk)"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italienska (Italiensk)"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Franska (Fransk)"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Litauiska (Litauisk)"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norska (Norska)"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português d Brasil (Brasiliansk Portugisiska)"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu (Europeisk Portugisiska)"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska (Svenska)"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文 (Förenklad Kinesiska)"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文 (Traditionell Kinesiska)"
@ -356,54 +356,54 @@ msgstr "Något gick fel! Förlåt för det."
msgid "About"
msgstr "Om"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "Välkommen till %(site_name)s!"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s är en del av <em>BookWyrm</em>, ett nätverk av oberoende, självstyrda gemenskaper för läsare. Medan du kan interagera sömlöst med användare var som helst i <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm-nätverket</a>så är den här gemenskapen unik."
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> är %(site_name)s's mest omtyckta bok med ett genomsnittligt betyg på %(rating)s utav 5."
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "Flera %(site_name)s användare vill läsa <a href=\"%(book_path)s\"><em>%(title)s</em></a> än någon annan bok."
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> har de mest splittrade betygen av alla böcker på %(site_name)s."
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "Följ din läsning, prata om böcker, skriv recensioner och upptäck vad som ska läsas härnäst. BookWyrm är alltid annonsfri, företagsfientlig och gemenskapsorienterad, och är en mänsklig programvara som är utformad för att förbli liten och personlig. Om du har förfrågningar om funktioner, felrapporter eller storslagna drömmar, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>ta kontakt</a> och gör dig själv hörd."
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "Träffa dina administratörer"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "%(site_name)s's moderatorer och administratörer håller hemsidan uppe och fungerande, upprätthåller <a href=\"coc_path\">uppförandekoden</a> och svarar när användarna rapporterar skräppost och dåligt uppförande."
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "Moderator"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "Administratör"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -727,14 +727,14 @@ msgstr "ISNI:"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -748,20 +748,20 @@ msgstr "Spara"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "Avbryt"
@ -770,9 +770,9 @@ msgstr "Avbryt"
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 "Att ladda in data kommer att ansluta till <strong>%(source_name)s</strong> och kontrollera eventuella metadata om den här författaren som inte finns här. Befintliga metadata kommer inte att skrivas över."
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -873,8 +873,8 @@ msgid "Add to list"
msgstr "Lägg till i listan"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1182,7 +1182,7 @@ msgid "Actions"
msgstr "Åtgärder"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "Rapportera skräppost"
@ -1216,7 +1216,7 @@ msgstr "Lämnar BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "Den här länken tar dig till: <code>%(link_url)s</code>.<br> Är det dit du vill åka?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "Fortsätt"
@ -1292,7 +1292,7 @@ msgstr "Bekräftelsekod:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "Skicka in"
@ -1806,7 +1806,8 @@ msgid "No users found for \"%(query)s\""
msgstr "Ingen användare \"%(query)s\" hittades"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Skapa grupp"
#: bookwyrm/templates/groups/created_text.html:4
@ -1824,9 +1825,9 @@ msgstr "Ta bort den här gruppen?"
msgid "This action cannot be un-done"
msgstr "Den här åtgärden kan inte ångras"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2298,7 +2299,7 @@ msgstr "Lägg till \"<em>%(title)s</em>\" i den här listan"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "Föreslå \"<em>%(title)s</em>\" för den här listan"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "Föreslå"
@ -2468,7 +2469,7 @@ msgid "List position"
msgstr "Listans plats"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "Ställ in"
@ -3923,7 +3924,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4200,7 +4201,8 @@ msgid "Need help?"
msgstr "Behöver du hjälp?"
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Skapa hylla"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4216,10 +4218,6 @@ msgstr "Användarprofil"
msgid "All books"
msgstr "Alla böcker"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "Skapa hylla"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4343,24 +4341,24 @@ msgstr "Svara"
msgid "Content"
msgstr "Innehåll"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "Innehållsvarning:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "Varning för spoiler!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "Inkludera spoilervarning"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "Varning för spoiler!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "Kommentar:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "Inlägg"
@ -4851,10 +4849,6 @@ msgstr "Dina grupper"
msgid "Groups: %(username)s"
msgstr "Grupper: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "Skapa grupp"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "Användarprofil"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-04 15:46\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-14 00:10\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Chinese Simplified\n"
"Language: zh\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "关注者"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr "引用"
msgid "Everything else"
msgstr "所有其它内容"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "主页时间线"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "主页"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr "书目时间线"
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "书目"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English英语"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch德语"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español西班牙语"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr "Galego加利西亚语"
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr "Italiano意大利语"
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français法语"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr "Lietuvių立陶宛语"
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr "Norsk挪威语"
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr "Português do Brasil巴西葡萄牙语"
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr "Português Europeu欧洲葡萄牙语"
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr "Svenska瑞典语"
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "简体中文"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文(繁体中文)"
@ -356,54 +356,54 @@ msgstr "某些东西出错了!对不起啦。"
msgid "About"
msgstr "关于"
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "欢迎来到 %(site_name)s"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr "%(site_name)s 是 <em>BookWyrm</em> 的一部分,这是一个为读者建立的独立、自我导向的社区网络。 虽然您可以在 <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm 网络</a>中与任何地方的用户无缝互动,但这个社区是独一无二的。"
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> 是 %(site_name)s 最受欢迎的书,平均得分为 %(rating)s满分五分。"
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr "%(site_name)s 上的最用户想读的书籍是 <a href=\"%(book_path)s\"><em>%(title)s</em></a>。"
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr "在 %(site_name)s 上,对 <a href=\"%(book_path)s\"><em>%(title)s</em></a> 这本书的评分争议较大。"
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr "记录您的阅读、谈论书籍、撰写评论、发现下一本书。 BookWyrm 永远是无广告、反公司化和面向社区的为人设计的软件,其目的是保持小规模和个人性。 如果您有特性请求、错误报告或大梦想, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>联系我们</a>,为自己发声。"
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr "遇见您的管理员"
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr "%(site_name)s 的仲裁员和管理员负责维持站点运行, 执行<a href=\"coc_path\">行为守则</a>,并在用户报告垃圾邮件和不良行为时做出回应。"
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr "仲裁员"
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "管理员"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -476,7 +476,7 @@ msgstr "共享状态:<strong>公开(需要密钥)</strong>"
#: bookwyrm/templates/annual_summary/layout.html:78
msgid "The page can be seen by anyone with the complete address."
msgstr "有完整地址的任何人都可以看到该页面。"
msgstr "任何有完整地址的人都可以看到该页面。"
#: bookwyrm/templates/annual_summary/layout.html:83
msgid "Make page private"
@ -723,14 +723,14 @@ msgstr "ISNI"
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -744,20 +744,20 @@ msgstr "保存"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "取消"
@ -766,9 +766,9 @@ msgstr "取消"
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 "加载数据会连接到 <strong>%(source_name)s</strong> 并检查这里还没有记录的与作者相关的元数据。现存的元数据不会被覆盖。"
#: bookwyrm/templates/author/sync_modal.html:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -868,8 +868,8 @@ msgid "Add to list"
msgstr "添加到列表"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1177,7 +1177,7 @@ msgid "Actions"
msgstr "动作"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr "举报垃圾信息"
@ -1211,7 +1211,7 @@ msgstr "离开 BookWyrm"
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr "此链接将跳转至:<code>%(link_url)s</code>。<br>这是您想跳转的网址吗?"
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr "继续"
@ -1287,7 +1287,7 @@ msgstr "确认代码:"
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "提交"
@ -1799,7 +1799,8 @@ msgid "No users found for \"%(query)s\""
msgstr "没有找到 \"%(query)s\" 的用户"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "创建群组"
#: bookwyrm/templates/groups/created_text.html:4
@ -1817,9 +1818,9 @@ msgstr "删除该群组?"
msgid "This action cannot be un-done"
msgstr "此操作无法被撤销"
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2287,7 +2288,7 @@ msgstr "将 “<em>%(title)s</em>” 添加到这个列表"
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr "推荐 “<em>%(title)s</em>” 到这个列表"
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "推荐"
@ -2457,7 +2458,7 @@ msgid "List position"
msgstr "列表位置:"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "设定"
@ -3908,8 +3909,8 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr "从命令行将主题文件复制到您服务器上的 <code>bookwym/static/css/themes</code> 目录。"
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgstr "运行 <code>./bw-dev compilescsss</code>。"
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
msgid "Add the file name using the form below to make it available in the application interface."
@ -4185,7 +4186,8 @@ msgid "Need help?"
msgstr "需要帮助?"
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "创建书架"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4201,10 +4203,6 @@ msgstr "用户个人资料"
msgid "All books"
msgstr "所有书目"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "创建书架"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4326,24 +4324,24 @@ msgstr "回复"
msgid "Content"
msgstr "内容"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr "内容警告:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "前有剧透!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "加入剧透警告"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr "剧透/内容警告:"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "前有剧透!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "评论:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "发布"
@ -4829,10 +4827,6 @@ msgstr "您的群组"
msgid "Groups: %(username)s"
msgstr "群组: %(username)s"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr "创建群组"
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "用户个人资料"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: bookwyrm\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-01 19:48+0000\n"
"PO-Revision-Date: 2022-03-01 20:15\n"
"POT-Creation-Date: 2022-03-13 18:56+0000\n"
"PO-Revision-Date: 2022-03-13 19:52\n"
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
"Language-Team: Chinese Traditional\n"
"Language: zh\n"
@ -220,7 +220,7 @@ msgid "Followers"
msgstr "關注者"
#: bookwyrm/models/fields.py:208
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
#: bookwyrm/templates/snippets/create_status/post_options_block.html:6
#: bookwyrm/templates/snippets/privacy-icons.html:15
#: bookwyrm/templates/snippets/privacy-icons.html:16
#: bookwyrm/templates/snippets/privacy_select.html:20
@ -261,73 +261,73 @@ msgstr ""
msgid "Everything else"
msgstr ""
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home Timeline"
msgstr "主頁時間線"
#: bookwyrm/settings.py:211
#: bookwyrm/settings.py:208
msgid "Home"
msgstr "主頁"
#: bookwyrm/settings.py:212
#: bookwyrm/settings.py:209
msgid "Books Timeline"
msgstr ""
#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21
#: bookwyrm/settings.py:209 bookwyrm/templates/search/layout.html:21
#: bookwyrm/templates/search/layout.html:42
#: bookwyrm/templates/user/layout.html:91
msgid "Books"
msgstr "書目"
#: bookwyrm/settings.py:284
#: bookwyrm/settings.py:281
msgid "English"
msgstr "English英語"
#: bookwyrm/settings.py:285
#: bookwyrm/settings.py:282
msgid "Deutsch (German)"
msgstr "Deutsch德語"
#: bookwyrm/settings.py:286
#: bookwyrm/settings.py:283
msgid "Español (Spanish)"
msgstr "Español西班牙語"
#: bookwyrm/settings.py:287
#: bookwyrm/settings.py:284
msgid "Galego (Galician)"
msgstr ""
#: bookwyrm/settings.py:288
#: bookwyrm/settings.py:285
msgid "Italiano (Italian)"
msgstr ""
#: bookwyrm/settings.py:289
#: bookwyrm/settings.py:286
msgid "Français (French)"
msgstr "Français法語"
#: bookwyrm/settings.py:290
#: bookwyrm/settings.py:287
msgid "Lietuvių (Lithuanian)"
msgstr ""
#: bookwyrm/settings.py:291
#: bookwyrm/settings.py:288
msgid "Norsk (Norwegian)"
msgstr ""
#: bookwyrm/settings.py:292
#: bookwyrm/settings.py:289
msgid "Português do Brasil (Brazilian Portuguese)"
msgstr ""
#: bookwyrm/settings.py:293
#: bookwyrm/settings.py:290
msgid "Português Europeu (European Portuguese)"
msgstr ""
#: bookwyrm/settings.py:294
#: bookwyrm/settings.py:291
msgid "Svenska (Swedish)"
msgstr ""
#: bookwyrm/settings.py:295
#: bookwyrm/settings.py:292
msgid "简体中文 (Simplified Chinese)"
msgstr "簡體中文"
#: bookwyrm/settings.py:296
#: bookwyrm/settings.py:293
msgid "繁體中文 (Traditional Chinese)"
msgstr "繁體中文"
@ -356,54 +356,54 @@ msgstr "某些東西出錯了!抱歉。"
msgid "About"
msgstr ""
#: bookwyrm/templates/about/about.html:19
#: bookwyrm/templates/about/about.html:20
#: bookwyrm/templates/get_started/layout.html:20
#, python-format
msgid "Welcome to %(site_name)s!"
msgstr "歡迎來到 %(site_name)s"
#: bookwyrm/templates/about/about.html:23
#: bookwyrm/templates/about/about.html:24
#, python-format
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
msgstr ""
#: bookwyrm/templates/about/about.html:40
#: bookwyrm/templates/about/about.html:42
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> is %(site_name)s's most beloved book, with an average rating of %(rating)s out of 5."
msgstr ""
#: bookwyrm/templates/about/about.html:59
#: bookwyrm/templates/about/about.html:61
#, python-format
msgid "More %(site_name)s users want to read <a href=\"%(book_path)s\"><em>%(title)s</em></a> than any other book."
msgstr ""
#: bookwyrm/templates/about/about.html:78
#: bookwyrm/templates/about/about.html:80
#, python-format
msgid "<a href=\"%(book_path)s\"><em>%(title)s</em></a> has the most divisive ratings of any book on %(site_name)s."
msgstr ""
#: bookwyrm/templates/about/about.html:89
#: bookwyrm/templates/about/about.html:91
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
msgstr ""
#: bookwyrm/templates/about/about.html:96
#: bookwyrm/templates/about/about.html:98
msgid "Meet your admins"
msgstr ""
#: bookwyrm/templates/about/about.html:99
#: bookwyrm/templates/about/about.html:101
#, python-format
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
msgstr ""
#: bookwyrm/templates/about/about.html:113
#: bookwyrm/templates/about/about.html:115
msgid "Moderator"
msgstr ""
#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132
#: bookwyrm/templates/about/about.html:117 bookwyrm/templates/layout.html:132
msgid "Admin"
msgstr "管理員"
#: bookwyrm/templates/about/about.html:131
#: bookwyrm/templates/about/about.html:133
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
#: bookwyrm/templates/snippets/status/status_options.html:35
#: bookwyrm/templates/snippets/user_options.html:14
@ -723,14 +723,14 @@ msgstr ""
#: bookwyrm/templates/author/edit_author.html:115
#: bookwyrm/templates/book/book.html:193
#: bookwyrm/templates/book/edit/edit_book.html:121
#: bookwyrm/templates/book/file_links/add_link_modal.html:58
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
#: bookwyrm/templates/book/file_links/edit_links.html:82
#: bookwyrm/templates/groups/form.html:30
#: bookwyrm/templates/groups/form.html:32
#: bookwyrm/templates/lists/bookmark_button.html:15
#: bookwyrm/templates/lists/edit_item_form.html:15
#: bookwyrm/templates/lists/form.html:130
#: bookwyrm/templates/preferences/edit_user.html:136
#: bookwyrm/templates/readthrough/readthrough_modal.html:72
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
#: bookwyrm/templates/settings/announcements/edit_announcement.html:120
#: bookwyrm/templates/settings/federation/edit_instance.html:98
#: bookwyrm/templates/settings/federation/instance.html:105
@ -744,20 +744,20 @@ msgstr "儲存"
#: bookwyrm/templates/author/edit_author.html:116
#: bookwyrm/templates/author/sync_modal.html:23
#: bookwyrm/templates/book/book.html:194
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/book/cover_add_modal.html:33
#: bookwyrm/templates/book/edit/edit_book.html:123
#: bookwyrm/templates/book/edit/edit_book.html:126
#: bookwyrm/templates/book/file_links/add_link_modal.html:59
#: bookwyrm/templates/book/file_links/verification_modal.html:21
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/sync_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/add_item_modal.html:42
#: bookwyrm/templates/lists/delete_list_modal.html:18
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/add_item_modal.html:36
#: bookwyrm/templates/lists/delete_list_modal.html:16
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
#: bookwyrm/templates/settings/federation/instance.html:106
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
#: bookwyrm/templates/snippets/report_modal.html:53
#: bookwyrm/templates/snippets/report_modal.html:52
msgid "Cancel"
msgstr "取消"
@ -766,9 +766,9 @@ msgstr "取消"
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:22
#: bookwyrm/templates/author/sync_modal.html:24
#: bookwyrm/templates/book/edit/edit_book.html:108
#: bookwyrm/templates/book/sync_modal.html:22
#: bookwyrm/templates/book/sync_modal.html:24
#: bookwyrm/templates/groups/members.html:29
#: bookwyrm/templates/landing/password_reset.html:42
#: bookwyrm/templates/snippets/remove_from_group_button.html:17
@ -868,8 +868,8 @@ msgid "Add to list"
msgstr "新增到列表"
#: bookwyrm/templates/book/book.html:370
#: bookwyrm/templates/book/cover_add_modal.html:31
#: bookwyrm/templates/lists/add_item_modal.html:37
#: bookwyrm/templates/book/cover_add_modal.html:32
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/list.html:255
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
@ -1175,7 +1175,7 @@ msgid "Actions"
msgstr "動作"
#: bookwyrm/templates/book/file_links/edit_links.html:53
#: bookwyrm/templates/book/file_links/verification_modal.html:25
#: bookwyrm/templates/book/file_links/verification_modal.html:22
msgid "Report spam"
msgstr ""
@ -1209,7 +1209,7 @@ msgstr ""
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
msgstr ""
#: bookwyrm/templates/book/file_links/verification_modal.html:20
#: bookwyrm/templates/book/file_links/verification_modal.html:26
#: bookwyrm/templates/setup/config.html:139
msgid "Continue"
msgstr ""
@ -1285,7 +1285,7 @@ msgstr ""
#: bookwyrm/templates/confirm_email/confirm_email.html:25
#: bookwyrm/templates/landing/layout.html:73
#: bookwyrm/templates/settings/dashboard/dashboard.html:116
#: bookwyrm/templates/snippets/report_modal.html:52
#: bookwyrm/templates/snippets/report_modal.html:53
msgid "Submit"
msgstr "提交"
@ -1797,7 +1797,8 @@ msgid "No users found for \"%(query)s\""
msgstr "沒有找到 \"%(query)s\" 的使用者"
#: bookwyrm/templates/groups/create_form.html:5
msgid "Create Group"
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr ""
#: bookwyrm/templates/groups/created_text.html:4
@ -1815,9 +1816,9 @@ msgstr ""
msgid "This action cannot be un-done"
msgstr ""
#: bookwyrm/templates/groups/delete_group_modal.html:15
#: bookwyrm/templates/lists/delete_list_modal.html:15
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:21
#: bookwyrm/templates/groups/delete_group_modal.html:17
#: bookwyrm/templates/lists/delete_list_modal.html:19
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:29
#: bookwyrm/templates/settings/announcements/announcement.html:23
#: bookwyrm/templates/settings/announcements/announcements.html:56
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:49
@ -2285,7 +2286,7 @@ msgstr ""
msgid "Suggest \"<em>%(title)s</em>\" for this list"
msgstr ""
#: bookwyrm/templates/lists/add_item_modal.html:39
#: bookwyrm/templates/lists/add_item_modal.html:41
#: bookwyrm/templates/lists/list.html:257
msgid "Suggest"
msgstr "推薦"
@ -2455,7 +2456,7 @@ msgid "List position"
msgstr "列表位置:"
#: bookwyrm/templates/lists/list.html:152
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:23
msgid "Set"
msgstr "設定"
@ -3906,7 +3907,7 @@ msgid "Copy the theme file into the <code>bookwyrm/static/css/themes</code> dire
msgstr ""
#: bookwyrm/templates/settings/themes.html:32
msgid "Run <code>./bw-dev compilescss</code>."
msgid "Run <code>./bw-dev collectstatic</code>."
msgstr ""
#: bookwyrm/templates/settings/themes.html:35
@ -4183,7 +4184,8 @@ msgid "Need help?"
msgstr ""
#: bookwyrm/templates/shelf/create_shelf_form.html:5
msgid "Create Shelf"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "建立書架"
#: bookwyrm/templates/shelf/edit_shelf_form.html:5
@ -4199,10 +4201,6 @@ msgstr ""
msgid "All books"
msgstr "所有書目"
#: bookwyrm/templates/shelf/shelf.html:72
msgid "Create shelf"
msgstr "建立書架"
#: bookwyrm/templates/shelf/shelf.html:96
#, python-format
msgid "%(formatted_count)s book"
@ -4324,24 +4322,24 @@ msgstr "回覆"
msgid "Content"
msgstr "內容"
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:10
msgid "Content warning:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers ahead!"
msgstr "前有劇透!"
#: bookwyrm/templates/snippets/create_status/content_warning_toggle.html:13
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:9
msgid "Include spoiler alert"
msgstr "加入劇透警告"
#: bookwyrm/templates/snippets/create_status/layout.html:47
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:18
msgid "Spoilers/content warnings:"
msgstr ""
#: bookwyrm/templates/snippets/create_status/content_warning_field.html:27
msgid "Spoilers ahead!"
msgstr "前有劇透!"
#: bookwyrm/templates/snippets/create_status/layout.html:45
#: bookwyrm/templates/snippets/reading_modals/form.html:7
msgid "Comment:"
msgstr "評論:"
#: bookwyrm/templates/snippets/create_status/post_options_block.html:21
#: bookwyrm/templates/snippets/create_status/post_options_block.html:18
msgid "Post"
msgstr "釋出"
@ -4827,10 +4825,6 @@ msgstr ""
msgid "Groups: %(username)s"
msgstr ""
#: bookwyrm/templates/user/groups.html:17
msgid "Create group"
msgstr ""
#: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10
msgid "User Profile"
msgstr "使用者使用者資料"