Merge branch 'main' into openlibrary-author-fields
This commit is contained in:
commit
39691bed3a
16
.env.example
16
.env.example
|
@ -89,3 +89,19 @@ PREVIEW_TEXT_COLOR=#363636
|
||||||
PREVIEW_IMG_WIDTH=1200
|
PREVIEW_IMG_WIDTH=1200
|
||||||
PREVIEW_IMG_HEIGHT=630
|
PREVIEW_IMG_HEIGHT=630
|
||||||
PREVIEW_DEFAULT_COVER_COLOR=#002549
|
PREVIEW_DEFAULT_COVER_COLOR=#002549
|
||||||
|
|
||||||
|
# Below are example keys if you want to enable automatically
|
||||||
|
# sending telemetry to an OTLP-compatible service. Many of
|
||||||
|
# the main monitoring apps have OLTP collectors, including
|
||||||
|
# NewRelic, DataDog, and Honeycomb.io - consult their
|
||||||
|
# documentation for setup instructions, and what exactly to
|
||||||
|
# put below!
|
||||||
|
#
|
||||||
|
# Service name is an arbitrary tag that is attached to any
|
||||||
|
# data sent, used to distinguish different sources. Useful
|
||||||
|
# for sending prod and dev metrics to the same place and
|
||||||
|
# keeping them separate, for instance!
|
||||||
|
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT= # API endpoint for your provider
|
||||||
|
OTEL_EXPORTER_OTLP_HEADERS= # Any headers required, usually authentication info
|
||||||
|
OTEL_SERVICE_NAME= # Service name to identify your app
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# @url https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
|
# @url https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
|
||||||
name: Lint Frontend
|
name: Lint Frontend (run `./bw-dev stylelint` to fix css errors)
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
@ -8,7 +8,7 @@ on:
|
||||||
- '.github/workflows/**'
|
- '.github/workflows/**'
|
||||||
- 'static/**'
|
- 'static/**'
|
||||||
- '.eslintrc'
|
- '.eslintrc'
|
||||||
- '.stylelintrc'
|
- '.stylelintrc.js'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main, ci, frontend ]
|
branches: [ main, ci, frontend ]
|
||||||
|
|
||||||
|
@ -22,17 +22,16 @@ jobs:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Install modules
|
- name: Install modules
|
||||||
run: yarn
|
run: npm install stylelint stylelint-config-recommended stylelint-config-standard stylelint-order eslint
|
||||||
|
|
||||||
# See .stylelintignore for files that are not linted.
|
# See .stylelintignore for files that are not linted.
|
||||||
- name: Run stylelint
|
- name: Run stylelint
|
||||||
run: >
|
run: >
|
||||||
yarn stylelint bookwyrm/static/**/*.css \
|
npx stylelint bookwyrm/static/css/*.css \
|
||||||
--report-needless-disables \
|
--config dev-tools/.stylelintrc.js
|
||||||
--report-invalid-scope-disables
|
|
||||||
|
|
||||||
# See .eslintignore for files that are not linted.
|
# See .eslintignore for files that are not linted.
|
||||||
- name: Run ESLint
|
- name: Run ESLint
|
||||||
run: >
|
run: >
|
||||||
yarn eslint bookwyrm/static \
|
npx eslint bookwyrm/static \
|
||||||
--ext .js,.jsx,.ts,.tsx
|
--ext .js,.jsx,.ts,.tsx
|
||||||
|
|
|
@ -17,8 +17,7 @@ jobs:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Install modules
|
- name: Install modules
|
||||||
run: npm install .
|
run: npm install prettier
|
||||||
|
|
||||||
# See .stylelintignore for files that are not linted.
|
|
||||||
- name: Run Prettier
|
- name: Run Prettier
|
||||||
run: npx prettier --check bookwyrm/static/js/*.js
|
run: npx prettier --check bookwyrm/static/js/*.js
|
||||||
|
|
|
@ -24,7 +24,9 @@
|
||||||
.idea
|
.idea
|
||||||
|
|
||||||
#Node tools
|
#Node tools
|
||||||
/node_modules/
|
node_modules/
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
|
||||||
#nginx
|
#nginx
|
||||||
nginx/default.conf
|
nginx/default.conf
|
||||||
|
|
|
@ -227,7 +227,7 @@ def set_related_field(
|
||||||
model_field = getattr(model, related_field_name)
|
model_field = getattr(model, related_field_name)
|
||||||
if hasattr(model_field, "activitypub_field"):
|
if hasattr(model_field, "activitypub_field"):
|
||||||
setattr(activity, getattr(model_field, "activitypub_field"), instance.remote_id)
|
setattr(activity, getattr(model_field, "activitypub_field"), instance.remote_id)
|
||||||
item = activity.to_model()
|
item = activity.to_model(model=model)
|
||||||
|
|
||||||
# if the related field isn't serialized (attachments on Status), then
|
# if the related field isn't serialized (attachments on Status), then
|
||||||
# we have to set it post-creation
|
# we have to set it post-creation
|
||||||
|
@ -298,6 +298,7 @@ class Link(ActivityObject):
|
||||||
mediaType: str = None
|
mediaType: str = None
|
||||||
id: str = None
|
id: str = None
|
||||||
attributedTo: str = None
|
attributedTo: str = None
|
||||||
|
availability: str = None
|
||||||
type: str = "Link"
|
type: str = "Link"
|
||||||
|
|
||||||
def serialize(self, **kwargs):
|
def serialize(self, **kwargs):
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
"""Do further startup configuration and initialization"""
|
||||||
|
import os
|
||||||
|
import urllib
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
from bookwyrm import settings
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def download_file(url, destination):
|
||||||
|
"""Downloads a file to the given path"""
|
||||||
|
try:
|
||||||
|
# Ensure our destination directory exists
|
||||||
|
os.makedirs(os.path.dirname(destination))
|
||||||
|
with urllib.request.urlopen(url) as stream:
|
||||||
|
with open(destination, "b+w") as outfile:
|
||||||
|
outfile.write(stream.read())
|
||||||
|
except (urllib.error.HTTPError, urllib.error.URLError):
|
||||||
|
logger.error("Failed to download file %s", url)
|
||||||
|
except OSError:
|
||||||
|
logger.error("Couldn't open font file %s for writing", destination)
|
||||||
|
except: # pylint: disable=bare-except
|
||||||
|
logger.exception("Unknown error in file download")
|
||||||
|
|
||||||
|
|
||||||
|
class BookwyrmConfig(AppConfig):
|
||||||
|
"""Handles additional configuration"""
|
||||||
|
|
||||||
|
name = "bookwyrm"
|
||||||
|
verbose_name = "BookWyrm"
|
||||||
|
|
||||||
|
# pylint: disable=no-self-use
|
||||||
|
def ready(self):
|
||||||
|
"""set up OTLP and preview image files, if desired"""
|
||||||
|
if settings.OTEL_EXPORTER_OTLP_ENDPOINT:
|
||||||
|
# pylint: disable=import-outside-toplevel
|
||||||
|
from bookwyrm.telemetry import open_telemetry
|
||||||
|
|
||||||
|
open_telemetry.instrumentDjango()
|
||||||
|
|
||||||
|
if settings.ENABLE_PREVIEW_IMAGES and settings.FONTS:
|
||||||
|
# Download any fonts that we don't have yet
|
||||||
|
logger.debug("Downloading fonts..")
|
||||||
|
for name, config in settings.FONTS.items():
|
||||||
|
font_path = os.path.join(
|
||||||
|
settings.FONT_DIR, config["directory"], config["filename"]
|
||||||
|
)
|
||||||
|
|
||||||
|
if "url" in config and not os.path.exists(font_path):
|
||||||
|
logger.info("Just a sec, downloading %s", name)
|
||||||
|
download_file(config["url"], font_path)
|
|
@ -1,7 +1,11 @@
|
||||||
""" functionality outline for a book data connector """
|
""" functionality outline for a book data connector """
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
import imghdr
|
||||||
|
import ipaddress
|
||||||
import logging
|
import logging
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
|
from django.core.files.base import ContentFile
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
import requests
|
import requests
|
||||||
from requests.exceptions import RequestException
|
from requests.exceptions import RequestException
|
||||||
|
@ -248,6 +252,8 @@ def dict_from_mappings(data, mappings):
|
||||||
def get_data(url, params=None, timeout=10):
|
def get_data(url, params=None, timeout=10):
|
||||||
"""wrapper for request.get"""
|
"""wrapper for request.get"""
|
||||||
# check if the url is blocked
|
# check if the url is blocked
|
||||||
|
raise_not_valid_url(url)
|
||||||
|
|
||||||
if models.FederatedServer.is_blocked(url):
|
if models.FederatedServer.is_blocked(url):
|
||||||
raise ConnectorException(f"Attempting to load data from blocked url: {url}")
|
raise ConnectorException(f"Attempting to load data from blocked url: {url}")
|
||||||
|
|
||||||
|
@ -280,6 +286,7 @@ def get_data(url, params=None, timeout=10):
|
||||||
|
|
||||||
def get_image(url, timeout=10):
|
def get_image(url, timeout=10):
|
||||||
"""wrapper for requesting an image"""
|
"""wrapper for requesting an image"""
|
||||||
|
raise_not_valid_url(url)
|
||||||
try:
|
try:
|
||||||
resp = requests.get(
|
resp = requests.get(
|
||||||
url,
|
url,
|
||||||
|
@ -290,10 +297,32 @@ def get_image(url, timeout=10):
|
||||||
)
|
)
|
||||||
except RequestException as err:
|
except RequestException as err:
|
||||||
logger.exception(err)
|
logger.exception(err)
|
||||||
return None
|
return None, None
|
||||||
|
|
||||||
if not resp.ok:
|
if not resp.ok:
|
||||||
return None
|
return None, None
|
||||||
return resp
|
|
||||||
|
image_content = ContentFile(resp.content)
|
||||||
|
extension = imghdr.what(None, image_content.read())
|
||||||
|
if not extension:
|
||||||
|
logger.exception("File requested was not an image: %s", url)
|
||||||
|
return None, None
|
||||||
|
|
||||||
|
return image_content, extension
|
||||||
|
|
||||||
|
|
||||||
|
def raise_not_valid_url(url):
|
||||||
|
"""do some basic reality checks on the url"""
|
||||||
|
parsed = urlparse(url)
|
||||||
|
if not parsed.scheme in ["http", "https"]:
|
||||||
|
raise ConnectorException("Invalid scheme: ", url)
|
||||||
|
|
||||||
|
try:
|
||||||
|
ipaddress.ip_address(parsed.netloc)
|
||||||
|
raise ConnectorException("Provided url is an IP address: ", url)
|
||||||
|
except ValueError:
|
||||||
|
# it's not an IP address, which is good
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Mapping:
|
class Mapping:
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
""" using django model forms """
|
""" using django model forms """
|
||||||
import datetime
|
import datetime
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.forms import ModelForm, PasswordInput, widgets, ChoiceField
|
from django.forms import ModelForm, PasswordInput, widgets, ChoiceField
|
||||||
|
@ -227,6 +228,34 @@ class FileLinkForm(CustomForm):
|
||||||
model = models.FileLink
|
model = models.FileLink
|
||||||
fields = ["url", "filetype", "availability", "book", "added_by"]
|
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 EditionForm(CustomForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -7,6 +7,7 @@ from bookwyrm import settings
|
||||||
r = redis.Redis(
|
r = redis.Redis(
|
||||||
host=settings.REDIS_ACTIVITY_HOST,
|
host=settings.REDIS_ACTIVITY_HOST,
|
||||||
port=settings.REDIS_ACTIVITY_PORT,
|
port=settings.REDIS_ACTIVITY_PORT,
|
||||||
|
password=settings.REDIS_ACTIVITY_PASSWORD,
|
||||||
db=settings.REDIS_ACTIVITY_DB_INDEX,
|
db=settings.REDIS_ACTIVITY_DB_INDEX,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Generated by Django 3.2.10 on 2022-02-02 20:42
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0131_merge_20220125_1644"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="user",
|
||||||
|
name="preferred_language",
|
||||||
|
field=models.CharField(
|
||||||
|
blank=True,
|
||||||
|
choices=[
|
||||||
|
("en-us", "English"),
|
||||||
|
("de-de", "Deutsch (German)"),
|
||||||
|
("es-es", "Español (Spanish)"),
|
||||||
|
("gl-es", "Galego (Galician)"),
|
||||||
|
("it-it", "Italiano (Italian)"),
|
||||||
|
("fr-fr", "Français (French)"),
|
||||||
|
("lt-lt", "Lietuvių (Lithuanian)"),
|
||||||
|
("no-no", "Norsk (Norwegian)"),
|
||||||
|
("pt-br", "Português do Brasil (Brazilian Portuguese)"),
|
||||||
|
("pt-pt", "Português Europeu (European Portuguese)"),
|
||||||
|
("sv-se", "Svenska (Swedish)"),
|
||||||
|
("zh-hans", "简体中文 (Simplified Chinese)"),
|
||||||
|
("zh-hant", "繁體中文 (Traditional Chinese)"),
|
||||||
|
],
|
||||||
|
max_length=255,
|
||||||
|
null=True,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Generated by Django 3.2.11 on 2022-02-04 20:06
|
||||||
|
|
||||||
|
import bookwyrm.models.fields
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0132_alter_user_preferred_language"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="listitem",
|
||||||
|
name="notes",
|
||||||
|
field=bookwyrm.models.fields.HtmlField(
|
||||||
|
blank=True, max_length=300, null=True
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Generated by Django 3.2.11 on 2022-02-11 18:59
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0133_alter_listitem_notes"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="announcement",
|
||||||
|
name="display_type",
|
||||||
|
field=models.CharField(
|
||||||
|
choices=[
|
||||||
|
("white-ter", "None"),
|
||||||
|
("primary-light", "Primary"),
|
||||||
|
("success-light", "Success"),
|
||||||
|
("link-light", "Link"),
|
||||||
|
("warning-light", "Warning"),
|
||||||
|
("danger-light", "Danger"),
|
||||||
|
],
|
||||||
|
default="white-ter",
|
||||||
|
max_length=20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -2,10 +2,21 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from .base_model import BookWyrmModel
|
from .base_model import BookWyrmModel
|
||||||
|
|
||||||
|
|
||||||
|
DisplayTypes = [
|
||||||
|
("white-ter", _("None")),
|
||||||
|
("primary-light", _("Primary")),
|
||||||
|
("success-light", _("Success")),
|
||||||
|
("link-light", _("Link")),
|
||||||
|
("warning-light", _("Warning")),
|
||||||
|
("danger-light", _("Danger")),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class Announcement(BookWyrmModel):
|
class Announcement(BookWyrmModel):
|
||||||
"""The admin has something to say"""
|
"""The admin has something to say"""
|
||||||
|
|
||||||
|
@ -16,6 +27,13 @@ class Announcement(BookWyrmModel):
|
||||||
start_date = models.DateTimeField(blank=True, null=True)
|
start_date = models.DateTimeField(blank=True, null=True)
|
||||||
end_date = models.DateTimeField(blank=True, null=True)
|
end_date = models.DateTimeField(blank=True, null=True)
|
||||||
active = models.BooleanField(default=True)
|
active = models.BooleanField(default=True)
|
||||||
|
display_type = models.CharField(
|
||||||
|
max_length=20,
|
||||||
|
blank=False,
|
||||||
|
null=False,
|
||||||
|
choices=DisplayTypes,
|
||||||
|
default="white-ter",
|
||||||
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def active_announcements(cls):
|
def active_announcements(cls):
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
""" activitypub-aware django model fields """
|
""" activitypub-aware django model fields """
|
||||||
from dataclasses import MISSING
|
from dataclasses import MISSING
|
||||||
import imghdr
|
|
||||||
import re
|
import re
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
from urllib.parse import urljoin
|
from urllib.parse import urljoin
|
||||||
|
@ -9,7 +8,6 @@ import dateutil.parser
|
||||||
from dateutil.parser import ParserError
|
from dateutil.parser import ParserError
|
||||||
from django.contrib.postgres.fields import ArrayField as DjangoArrayField
|
from django.contrib.postgres.fields import ArrayField as DjangoArrayField
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.core.files.base import ContentFile
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.forms import ClearableFileInput, ImageField as DjangoImageField
|
from django.forms import ClearableFileInput, ImageField as DjangoImageField
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -443,12 +441,10 @@ class ImageField(ActivitypubFieldMixin, models.ImageField):
|
||||||
except ValidationError:
|
except ValidationError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
response = get_image(url)
|
image_content, extension = get_image(url)
|
||||||
if not response:
|
if not image_content:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
image_content = ContentFile(response.content)
|
|
||||||
extension = imghdr.what(None, image_content.read()) or ""
|
|
||||||
image_name = f"{uuid4()}.{extension}"
|
image_name = f"{uuid4()}.{extension}"
|
||||||
return [image_name, image_content]
|
return [image_name, image_content]
|
||||||
|
|
||||||
|
|
|
@ -142,7 +142,7 @@ class ListItem(CollectionItemMixin, BookWyrmModel):
|
||||||
user = fields.ForeignKey(
|
user = fields.ForeignKey(
|
||||||
"User", on_delete=models.PROTECT, activitypub_field="actor"
|
"User", on_delete=models.PROTECT, activitypub_field="actor"
|
||||||
)
|
)
|
||||||
notes = fields.TextField(blank=True, null=True, max_length=300)
|
notes = fields.HtmlField(blank=True, null=True, max_length=300)
|
||||||
approved = models.BooleanField(default=True)
|
approved = models.BooleanField(default=True)
|
||||||
order = fields.IntegerField()
|
order = fields.IntegerField()
|
||||||
endorsement = models.ManyToManyField("User", related_name="endorsers")
|
endorsement = models.ManyToManyField("User", related_name="endorsers")
|
||||||
|
|
|
@ -4,6 +4,7 @@ import os
|
||||||
import textwrap
|
import textwrap
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
import logging
|
||||||
|
|
||||||
import colorsys
|
import colorsys
|
||||||
from colorthief import ColorThief
|
from colorthief import ColorThief
|
||||||
|
@ -17,34 +18,49 @@ from django.db.models import Avg
|
||||||
from bookwyrm import models, settings
|
from bookwyrm import models, settings
|
||||||
from bookwyrm.tasks import app
|
from bookwyrm.tasks import app
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
IMG_WIDTH = settings.PREVIEW_IMG_WIDTH
|
IMG_WIDTH = settings.PREVIEW_IMG_WIDTH
|
||||||
IMG_HEIGHT = settings.PREVIEW_IMG_HEIGHT
|
IMG_HEIGHT = settings.PREVIEW_IMG_HEIGHT
|
||||||
BG_COLOR = settings.PREVIEW_BG_COLOR
|
BG_COLOR = settings.PREVIEW_BG_COLOR
|
||||||
TEXT_COLOR = settings.PREVIEW_TEXT_COLOR
|
TEXT_COLOR = settings.PREVIEW_TEXT_COLOR
|
||||||
DEFAULT_COVER_COLOR = settings.PREVIEW_DEFAULT_COVER_COLOR
|
DEFAULT_COVER_COLOR = settings.PREVIEW_DEFAULT_COVER_COLOR
|
||||||
|
DEFAULT_FONT = settings.PREVIEW_DEFAULT_FONT
|
||||||
TRANSPARENT_COLOR = (0, 0, 0, 0)
|
TRANSPARENT_COLOR = (0, 0, 0, 0)
|
||||||
|
|
||||||
margin = math.floor(IMG_HEIGHT / 10)
|
margin = math.floor(IMG_HEIGHT / 10)
|
||||||
gutter = math.floor(margin / 2)
|
gutter = math.floor(margin / 2)
|
||||||
inner_img_height = math.floor(IMG_HEIGHT * 0.8)
|
inner_img_height = math.floor(IMG_HEIGHT * 0.8)
|
||||||
inner_img_width = math.floor(inner_img_height * 0.7)
|
inner_img_width = math.floor(inner_img_height * 0.7)
|
||||||
font_dir = os.path.join(settings.STATIC_ROOT, "fonts/public_sans")
|
|
||||||
|
|
||||||
|
|
||||||
def get_font(font_name, size=28):
|
def get_imagefont(name, size):
|
||||||
"""Loads custom font"""
|
"""Loads an ImageFont based on config"""
|
||||||
if font_name == "light":
|
try:
|
||||||
font_path = os.path.join(font_dir, "PublicSans-Light.ttf")
|
config = settings.FONTS[name]
|
||||||
if font_name == "regular":
|
path = os.path.join(settings.FONT_DIR, config["directory"], config["filename"])
|
||||||
font_path = os.path.join(font_dir, "PublicSans-Regular.ttf")
|
return ImageFont.truetype(path, size)
|
||||||
elif font_name == "bold":
|
except KeyError:
|
||||||
font_path = os.path.join(font_dir, "PublicSans-Bold.ttf")
|
logger.error("Font %s not found in config", name)
|
||||||
|
except OSError:
|
||||||
|
logger.error("Could not load font %s from file", name)
|
||||||
|
|
||||||
|
return ImageFont.load_default()
|
||||||
|
|
||||||
|
|
||||||
|
def get_font(weight, size=28):
|
||||||
|
"""Gets a custom font with the given weight and size"""
|
||||||
|
font = get_imagefont(DEFAULT_FONT, size)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
font = ImageFont.truetype(font_path, size)
|
if weight == "light":
|
||||||
except OSError:
|
font.set_variation_by_name("Light")
|
||||||
font = ImageFont.load_default()
|
if weight == "bold":
|
||||||
|
font.set_variation_by_name("Bold")
|
||||||
|
if weight == "regular":
|
||||||
|
font.set_variation_by_name("Regular")
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
return font
|
return font
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ class InputHtmlParser(HTMLParser): # pylint: disable=abstract-method
|
||||||
"ol",
|
"ol",
|
||||||
"li",
|
"li",
|
||||||
]
|
]
|
||||||
|
self.allowed_attrs = ["href", "rel", "src", "alt"]
|
||||||
self.tag_stack = []
|
self.tag_stack = []
|
||||||
self.output = []
|
self.output = []
|
||||||
# if the html appears invalid, we just won't allow any at all
|
# if the html appears invalid, we just won't allow any at all
|
||||||
|
@ -30,7 +31,14 @@ class InputHtmlParser(HTMLParser): # pylint: disable=abstract-method
|
||||||
def handle_starttag(self, tag, attrs):
|
def handle_starttag(self, tag, attrs):
|
||||||
"""check if the tag is valid"""
|
"""check if the tag is valid"""
|
||||||
if self.allow_html and tag in self.allowed_tags:
|
if self.allow_html and tag in self.allowed_tags:
|
||||||
self.output.append(("tag", self.get_starttag_text()))
|
allowed_attrs = " ".join(
|
||||||
|
f'{a}="{v}"' for a, v in attrs if a in self.allowed_attrs
|
||||||
|
)
|
||||||
|
reconstructed = f"<{tag}"
|
||||||
|
if allowed_attrs:
|
||||||
|
reconstructed += " " + allowed_attrs
|
||||||
|
reconstructed += ">"
|
||||||
|
self.output.append(("tag", reconstructed))
|
||||||
self.tag_stack.append(tag)
|
self.tag_stack.append(tag)
|
||||||
else:
|
else:
|
||||||
self.output.append(("data", ""))
|
self.output.append(("data", ""))
|
||||||
|
|
|
@ -9,7 +9,7 @@ from django.utils.translation import gettext_lazy as _
|
||||||
env = Env()
|
env = Env()
|
||||||
env.read_env()
|
env.read_env()
|
||||||
DOMAIN = env("DOMAIN")
|
DOMAIN = env("DOMAIN")
|
||||||
VERSION = "0.2.0"
|
VERSION = "0.3.0"
|
||||||
|
|
||||||
PAGE_LENGTH = env("PAGE_LENGTH", 15)
|
PAGE_LENGTH = env("PAGE_LENGTH", 15)
|
||||||
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
|
DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English")
|
||||||
|
@ -35,6 +35,9 @@ LOCALE_PATHS = [
|
||||||
]
|
]
|
||||||
LANGUAGE_COOKIE_NAME = env.str("LANGUAGE_COOKIE_NAME", "django_language")
|
LANGUAGE_COOKIE_NAME = env.str("LANGUAGE_COOKIE_NAME", "django_language")
|
||||||
|
|
||||||
|
STATIC_ROOT = os.path.join(BASE_DIR, env("STATIC_ROOT", "static"))
|
||||||
|
MEDIA_ROOT = os.path.join(BASE_DIR, env("MEDIA_ROOT", "images"))
|
||||||
|
|
||||||
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
|
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
|
||||||
|
|
||||||
# Preview image
|
# Preview image
|
||||||
|
@ -44,6 +47,17 @@ PREVIEW_TEXT_COLOR = env.str("PREVIEW_TEXT_COLOR", "#363636")
|
||||||
PREVIEW_IMG_WIDTH = env.int("PREVIEW_IMG_WIDTH", 1200)
|
PREVIEW_IMG_WIDTH = env.int("PREVIEW_IMG_WIDTH", 1200)
|
||||||
PREVIEW_IMG_HEIGHT = env.int("PREVIEW_IMG_HEIGHT", 630)
|
PREVIEW_IMG_HEIGHT = env.int("PREVIEW_IMG_HEIGHT", 630)
|
||||||
PREVIEW_DEFAULT_COVER_COLOR = env.str("PREVIEW_DEFAULT_COVER_COLOR", "#002549")
|
PREVIEW_DEFAULT_COVER_COLOR = env.str("PREVIEW_DEFAULT_COVER_COLOR", "#002549")
|
||||||
|
PREVIEW_DEFAULT_FONT = env.str("PREVIEW_DEFAULT_FONT", "Source Han Sans")
|
||||||
|
|
||||||
|
FONTS = {
|
||||||
|
# pylint: disable=line-too-long
|
||||||
|
"Source Han Sans": {
|
||||||
|
"directory": "source_han_sans",
|
||||||
|
"filename": "SourceHanSans-VF.ttf.ttc",
|
||||||
|
"url": "https://github.com/adobe-fonts/source-han-sans/raw/release/Variable/OTC/SourceHanSans-VF.ttf.ttc",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FONT_DIR = os.path.join(STATIC_ROOT, "fonts")
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
||||||
|
@ -150,6 +164,9 @@ LOGGING = {
|
||||||
"handlers": ["console", "mail_admins"],
|
"handlers": ["console", "mail_admins"],
|
||||||
"level": LOG_LEVEL,
|
"level": LOG_LEVEL,
|
||||||
},
|
},
|
||||||
|
"django.utils.autoreload": {
|
||||||
|
"level": "INFO",
|
||||||
|
},
|
||||||
# Add a bookwyrm-specific logger
|
# Add a bookwyrm-specific logger
|
||||||
"bookwyrm": {
|
"bookwyrm": {
|
||||||
"handlers": ["console"],
|
"handlers": ["console"],
|
||||||
|
@ -255,7 +272,7 @@ LANGUAGES = [
|
||||||
("no-no", _("Norsk (Norwegian)")),
|
("no-no", _("Norsk (Norwegian)")),
|
||||||
("pt-br", _("Português do Brasil (Brazilian Portuguese)")),
|
("pt-br", _("Português do Brasil (Brazilian Portuguese)")),
|
||||||
("pt-pt", _("Português Europeu (European Portuguese)")),
|
("pt-pt", _("Português Europeu (European Portuguese)")),
|
||||||
("sv-se", _("Swedish (Svenska)")),
|
("sv-se", _("Svenska (Swedish)")),
|
||||||
("zh-hans", _("简体中文 (Simplified Chinese)")),
|
("zh-hans", _("简体中文 (Simplified Chinese)")),
|
||||||
("zh-hant", _("繁體中文 (Traditional Chinese)")),
|
("zh-hant", _("繁體中文 (Traditional Chinese)")),
|
||||||
]
|
]
|
||||||
|
@ -311,13 +328,12 @@ if USE_S3:
|
||||||
MEDIA_FULL_URL = MEDIA_URL
|
MEDIA_FULL_URL = MEDIA_URL
|
||||||
STATIC_FULL_URL = STATIC_URL
|
STATIC_FULL_URL = STATIC_URL
|
||||||
DEFAULT_FILE_STORAGE = "bookwyrm.storage_backends.ImagesStorage"
|
DEFAULT_FILE_STORAGE = "bookwyrm.storage_backends.ImagesStorage"
|
||||||
# I don't know if it's used, but the site crashes without it
|
|
||||||
STATIC_ROOT = os.path.join(BASE_DIR, env("STATIC_ROOT", "static"))
|
|
||||||
MEDIA_ROOT = os.path.join(BASE_DIR, env("MEDIA_ROOT", "images"))
|
|
||||||
else:
|
else:
|
||||||
STATIC_URL = "/static/"
|
STATIC_URL = "/static/"
|
||||||
STATIC_ROOT = os.path.join(BASE_DIR, env("STATIC_ROOT", "static"))
|
|
||||||
MEDIA_URL = "/images/"
|
MEDIA_URL = "/images/"
|
||||||
MEDIA_FULL_URL = f"{PROTOCOL}://{DOMAIN}{MEDIA_URL}"
|
MEDIA_FULL_URL = f"{PROTOCOL}://{DOMAIN}{MEDIA_URL}"
|
||||||
STATIC_FULL_URL = f"{PROTOCOL}://{DOMAIN}{STATIC_URL}"
|
STATIC_FULL_URL = f"{PROTOCOL}://{DOMAIN}{STATIC_URL}"
|
||||||
MEDIA_ROOT = os.path.join(BASE_DIR, env("MEDIA_ROOT", "images"))
|
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT = env("OTEL_EXPORTER_OTLP_ENDPOINT", None)
|
||||||
|
OTEL_EXPORTER_OTLP_HEADERS = env("OTEL_EXPORTER_OTLP_HEADERS", None)
|
||||||
|
OTEL_SERVICE_NAME = env("OTEL_SERVICE_NAME", None)
|
||||||
|
|
|
@ -319,7 +319,7 @@ details.details-panel summary {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
details.details-panel summary .details-close {
|
details summary .details-close {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
@ -327,7 +327,7 @@ details.details-panel summary .details-close {
|
||||||
transition: transform 0.2s ease;
|
transition: transform 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
details[open].details-panel summary .details-close {
|
details[open] summary .details-close {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -496,7 +496,7 @@ details[open].details-panel summary .details-close {
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
|
|
||||||
/* Useful when stretching under-sized images. */
|
/* Useful when stretching under-sized images. */
|
||||||
image-rendering: optimizeQuality;
|
image-rendering: optimizequality;
|
||||||
image-rendering: smooth;
|
image-rendering: smooth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font
|
||||||
|
Name 'Source'. Source is a trademark of Adobe in the United States
|
||||||
|
and/or other countries.
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License,
|
||||||
|
Version 1.1.
|
||||||
|
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font
|
||||||
|
creation efforts of academic and linguistic communities, and to
|
||||||
|
provide a free and open framework in which fonts may be shared and
|
||||||
|
improved in partnership with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply to
|
||||||
|
any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software
|
||||||
|
components as distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to,
|
||||||
|
deleting, or substituting -- in part or in whole -- any of the
|
||||||
|
components of the Original Version, by changing formats or by porting
|
||||||
|
the Font Software to a new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed,
|
||||||
|
modify, redistribute, and sell modified and unmodified copies of the
|
||||||
|
Font Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components, in
|
||||||
|
Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the
|
||||||
|
corresponding Copyright Holder. This restriction only applies to the
|
||||||
|
primary font name as presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created using
|
||||||
|
the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@ -0,0 +1,9 @@
|
||||||
|
The font file itself is not included in the Git repository to avoid putting
|
||||||
|
large files in the repo history. The Docker image should download the correct
|
||||||
|
font into this folder automatically.
|
||||||
|
|
||||||
|
In case something goes wrong, the font used is the Variable OTC TTF, available
|
||||||
|
as of this writing from the Adobe Fonts GitHub repository:
|
||||||
|
https://github.com/adobe-fonts/source-han-sans/tree/release#user-content-variable-otcs
|
||||||
|
|
||||||
|
BookWyrm expects the file to be in this folder, named SourceHanSans-VF.ttf.ttc
|
|
@ -0,0 +1,22 @@
|
||||||
|
from opentelemetry import trace
|
||||||
|
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
|
||||||
|
from opentelemetry.sdk.trace import TracerProvider
|
||||||
|
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
||||||
|
|
||||||
|
trace.set_tracer_provider(TracerProvider())
|
||||||
|
trace.get_tracer_provider().add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
|
||||||
|
|
||||||
|
|
||||||
|
def instrumentDjango():
|
||||||
|
from opentelemetry.instrumentation.django import DjangoInstrumentor
|
||||||
|
|
||||||
|
DjangoInstrumentor().instrument()
|
||||||
|
|
||||||
|
|
||||||
|
def instrumentCelery():
|
||||||
|
from opentelemetry.instrumentation.celery import CeleryInstrumentor
|
||||||
|
from celery.signals import worker_process_init
|
||||||
|
|
||||||
|
@worker_process_init.connect(weak=False)
|
||||||
|
def init_celery_tracing(*args, **kwargs):
|
||||||
|
CeleryInstrumentor().instrument()
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
{% if superlatives.top_rated %}
|
{% if superlatives.top_rated %}
|
||||||
{% with book=superlatives.top_rated.default_edition rating=top_rated.rating %}
|
{% with book=superlatives.top_rated.default_edition rating=superlatives.top_rated.rating %}
|
||||||
<div class="column is-one-third is-flex">
|
<div class="column is-one-third is-flex">
|
||||||
<div class="media notification">
|
<div class="media notification">
|
||||||
<div class="media-left">
|
<div class="media-left">
|
||||||
|
|
|
@ -356,10 +356,11 @@
|
||||||
<form name="list-add" method="post" action="{% url 'list-add-book' %}">
|
<form name="list-add" method="post" action="{% url 'list-add-book' %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="hidden" name="book" value="{{ book.id }}">
|
<input type="hidden" name="book" value="{{ book.id }}">
|
||||||
|
<input type="hidden" name="user" value="{{ request.user.id }}">
|
||||||
<label class="label" for="id_list">{% trans "Add to list" %}</label>
|
<label class="label" for="id_list">{% trans "Add to list" %}</label>
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="select control is-clipped">
|
<div class="select control is-clipped">
|
||||||
<select name="list" id="id_list">
|
<select name="book_list" id="id_list">
|
||||||
{% for list in user.list_set.all %}
|
{% for list in user.list_set.all %}
|
||||||
<option value="{{ list.id }}">{{ list.name }}</option>
|
<option value="{{ list.id }}">{{ list.name }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -56,9 +56,7 @@
|
||||||
|
|
||||||
{% block modal-footer %}
|
{% block modal-footer %}
|
||||||
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
||||||
{% if not static %}
|
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
||||||
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block modal-form-close %}</form>{% endblock %}
|
{% block modal-form-close %}</form>{% endblock %}
|
||||||
|
|
|
@ -6,15 +6,14 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<header class="block content">
|
<header class="block">
|
||||||
<h1 class="title">
|
<h1 class="title">
|
||||||
{% blocktrans with title=book|book_title %}
|
{% blocktrans with title=book|book_title %}
|
||||||
Links for "<em>{{ title }}</em>"
|
Links for "<em>{{ title }}</em>"
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
|
||||||
|
|
||||||
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{% url 'book' book.id %}">{{ book|book_title }}</a></li>
|
<li><a href="{% url 'book' book.id %}">{{ book|book_title }}</a></li>
|
||||||
<li class="is-active">
|
<li class="is-active">
|
||||||
|
@ -23,7 +22,8 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
<section class="block content">
|
<section class="block content">
|
||||||
<div class="table-container">
|
<div class="table-container">
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
<span class="icon icon-spinner is-pulled-left" aria-hidden="true"></span>
|
<span class="icon icon-spinner is-pulled-left" aria-hidden="true"></span>
|
||||||
<span>{% trans "In progress" %}</span>
|
<span>{% trans "In progress" %}</span>
|
||||||
<span class="is-pulled-right">
|
<span class="is-pulled-right">
|
||||||
<a href="#" class="button is-small">{% trans "Refresh" %}</a>
|
<a href="{% url 'import-status' job.id %}" class="button is-small">{% trans "Refresh" %}</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="is-flex">
|
<div class="is-flex">
|
||||||
|
@ -230,7 +230,7 @@
|
||||||
|
|
||||||
{% if not legacy %}
|
{% if not legacy %}
|
||||||
<div>
|
<div>
|
||||||
{% include 'snippets/pagination.html' with page=items %}
|
{% include 'snippets/pagination.html' with page=items path=page_path %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endspaceless %}{% endblock %}
|
{% endspaceless %}{% endblock %}
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
<div class="columns is-mobile">
|
<div class="columns is-mobile">
|
||||||
<div class="column is-narrow is-cover">
|
<div class="column is-narrow is-cover">
|
||||||
<a href="{{ item.book.local_path }}" aria-hidden="true">
|
<a href="{{ item.book.local_path }}" aria-hidden="true">
|
||||||
{% include 'snippets/book_cover.html' with cover_class='is-w-auto is-h-m-tablet is-align-items-flex-start' size='medium' %}
|
{% include 'snippets/book_cover.html' with cover_class='is-w-auto is-h-m-mobile is-h-m-tablet is-align-items-flex-start' size='medium' %}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -79,14 +79,12 @@
|
||||||
<div class="media-content">
|
<div class="media-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<header>
|
<header>
|
||||||
{% url 'user-feed' user|username as user_path %}
|
{% url 'user-feed' item.user|username as user_path %}
|
||||||
{% blocktrans trimmed with username=user.display_name %}
|
{% blocktrans trimmed with username=item.user.display_name %}
|
||||||
<a href="{{ user_path }}">{{ username }}</a> says:
|
<a href="{{ user_path }}">{{ username }}</a> says:
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</header>
|
</header>
|
||||||
<p>
|
|
||||||
{{ item.notes|to_markdown|safe }}
|
{{ item.notes|to_markdown|safe }}
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
{% if item.user == request.user %}
|
{% if item.user == request.user %}
|
||||||
<div>
|
<div>
|
||||||
|
@ -97,7 +95,7 @@
|
||||||
<span class="details-close icon icon-pencil" aria-hidden></span>
|
<span class="details-close icon icon-pencil" aria-hidden></span>
|
||||||
</span>
|
</span>
|
||||||
</summary>
|
</summary>
|
||||||
{% include "lists/edit_item_form.html" %}
|
{% include "lists/edit_item_form.html" with book=item.book %}
|
||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -112,7 +110,7 @@
|
||||||
<span class="details-close icon icon-plus" aria-hidden></span>
|
<span class="details-close icon icon-plus" aria-hidden></span>
|
||||||
</span>
|
</span>
|
||||||
</summary>
|
</summary>
|
||||||
{% include "lists/edit_item_form.html" %}
|
{% include "lists/edit_item_form.html" with book=item.book %}
|
||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -70,9 +70,7 @@
|
||||||
|
|
||||||
{% block modal-footer %}
|
{% block modal-footer %}
|
||||||
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
||||||
{% if not static %}
|
|
||||||
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-form-close %}
|
{% block modal-form-close %}
|
||||||
|
|
|
@ -1,17 +1,20 @@
|
||||||
{% extends 'settings/layout.html' %}
|
{% extends 'settings/layout.html' %}
|
||||||
{% load i18n %}{% load humanize %}
|
{% load i18n %}
|
||||||
|
{% load humanize %}
|
||||||
|
|
||||||
{% block title %}{% trans "Announcement" %} - {{ announcement.preview }}{% endblock %}
|
{% block title %}{% trans "Announcement" %} - {{ announcement.preview }}{% endblock %}
|
||||||
|
|
||||||
{% block header %}
|
{% block header %}
|
||||||
{% trans "Announcement" %}
|
{% trans "Announcement" %}
|
||||||
<a href="{% url 'settings-announcements' %}" class="has-text-weight-normal help">{% trans "Back to list" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block edit-button %}
|
{% block edit-button %}
|
||||||
{% trans "Edit Announcement" as button_text %}
|
|
||||||
<div class="field has-addons">
|
<div class="field has-addons">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
{% include 'snippets/toggle/open_button.html' with controls_text="edit_announcement" icon_with_text="pencil" text=button_text focus="edit_announcement_header" %}
|
<a class="button" href="{% url 'settings-announcements-edit' announcement.id %}">
|
||||||
|
<span class="icon icon-pencil m-0-mobile" aria-hidden="true"></span>
|
||||||
|
<span class="is-sr-only-mobile">{% trans "Edit" %}</span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<form class="control" action="{% url 'settings-announcements-delete' announcement.id %}" method="post">
|
<form class="control" action="{% url 'settings-announcements-delete' announcement.id %}" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
@ -23,12 +26,20 @@
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block breadcrumbs %}
|
||||||
|
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="{% url 'settings-announcements' %}">{% trans "Announcements" %}</a></li>
|
||||||
|
<li class="is-active">
|
||||||
|
<a href="#" aria-current="page">
|
||||||
|
{{ announcement.preview|truncatechars:30 }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block panel %}
|
{% block panel %}
|
||||||
|
|
||||||
<form name="edit-announcement" method="post" action="{% url 'settings-announcements' announcement.id %}" class="block">
|
|
||||||
{% include 'settings/announcements/announcement_form.html' with controls_text="edit_announcement" %}
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<div class="block content">
|
<div class="block content">
|
||||||
<dl>
|
<dl>
|
||||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">{% trans "Visible:" %}</dt>
|
<dt class="is-pulled-left mr-5 has-text-weight-bold">{% trans "Visible:" %}</dt>
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
{% extends 'components/inline_form.html' %}
|
|
||||||
{% load i18n %}
|
|
||||||
|
|
||||||
{% block header %}
|
|
||||||
{% if announcement %}
|
|
||||||
{% trans "Edit Announcement" %}
|
|
||||||
{% else %}
|
|
||||||
{% trans "Create Announcement" %}
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block form %}
|
|
||||||
{% csrf_token %}
|
|
||||||
<input type="hidden" name="user" value="{{ request.user.id }}">
|
|
||||||
<p>
|
|
||||||
<label class="label" for="id_preview">
|
|
||||||
{% trans "Preview:" %}
|
|
||||||
</label>
|
|
||||||
{{ form.preview }}
|
|
||||||
|
|
||||||
{% include 'snippets/form_errors.html' with errors_list=form.preview.errors id="desc_preview" %}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<label class="label" for="id_content">
|
|
||||||
{% trans "Content:" %}
|
|
||||||
</label>
|
|
||||||
{{ form.content }}
|
|
||||||
|
|
||||||
{% include 'snippets/form_errors.html' with errors_list=form.content.errors id="desc_content" %}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<label class="label" for="id_event_date">
|
|
||||||
{% trans "Event date:" %}
|
|
||||||
</label>
|
|
||||||
<input type="date" name="event_date" value="{{ form.event_date.value|date:'Y-m-d' }}" class="input" id="id_event_date">
|
|
||||||
|
|
||||||
{% include 'snippets/form_errors.html' with errors_list=form.event_date.errors id="desc_event_date" %}
|
|
||||||
</p>
|
|
||||||
<hr aria-hidden="true">
|
|
||||||
<div class="columns">
|
|
||||||
<div class="column">
|
|
||||||
<p>
|
|
||||||
<label class="label" for="id_start_date">
|
|
||||||
{% trans "Start date:" %}
|
|
||||||
</label>
|
|
||||||
<input type="date" name="start_date" class="input" value="{{ form.start_date.value|date:'Y-m-d' }}" id="id_start_date">
|
|
||||||
|
|
||||||
{% include 'snippets/form_errors.html' with errors_list=form.start_date.errors id="desc_start_date" %}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="column">
|
|
||||||
<p>
|
|
||||||
<label class="label" for="id_end_date">
|
|
||||||
{% trans "End date:" %}
|
|
||||||
</label>
|
|
||||||
<input type="date" name="end_date" class="input" id="id_end_date" value="{{ form.end_date.value|date:'Y-m-d' }}">
|
|
||||||
|
|
||||||
{% include 'snippets/form_errors.html' with errors_list=form.end_date.errors id="desc_end_date" %}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="column is-narrow">
|
|
||||||
<p>
|
|
||||||
<label class="label" for="id_active">
|
|
||||||
{% trans "Active:" %}
|
|
||||||
</label>
|
|
||||||
{{ form.active }}
|
|
||||||
|
|
||||||
{% include 'snippets/form_errors.html' with errors_list=form.active.errors id="desc_active" %}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="field has-addons">
|
|
||||||
<div class="control">
|
|
||||||
<button type="submit" class="button is-primary">
|
|
||||||
{% trans "Save" %}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
|
@ -5,16 +5,15 @@
|
||||||
{% block header %}{% trans "Announcements" %}{% endblock %}
|
{% block header %}{% trans "Announcements" %}{% endblock %}
|
||||||
|
|
||||||
{% block edit-button %}
|
{% block edit-button %}
|
||||||
{% trans "Create Announcement" as button_text %}
|
<a href="{% url 'settings-announcements-edit' %}">
|
||||||
{% include 'snippets/toggle/open_button.html' with controls_text="create_announcement" icon_with_text="plus" text=button_text focus="create_announcement_header" %}
|
{% trans "Create Announcement" as text %}
|
||||||
|
<span class="icon icon-plus" title="{{ text }}" aria-hidden="true"></span>
|
||||||
|
<span class="is-sr-only-mobile">{{ text }}</span>
|
||||||
|
</a>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block panel %}
|
{% block panel %}
|
||||||
<form name="create-announcement" method="post" action="{% url 'settings-announcements' %}" class="block">
|
<div class="block table-container">
|
||||||
{% include 'settings/announcements/announcement_form.html' with controls_text="create_announcement" %}
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<div class="block">
|
|
||||||
<table class="table is-striped">
|
<table class="table is-striped">
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
|
@ -38,6 +37,9 @@
|
||||||
{% trans "Status" as text %}
|
{% trans "Status" as text %}
|
||||||
{% include 'snippets/table-sort-header.html' with field="active" sort=sort text=text %}
|
{% include 'snippets/table-sort-header.html' with field="active" sort=sort text=text %}
|
||||||
</th>
|
</th>
|
||||||
|
<th>
|
||||||
|
{% trans "Actions" %}
|
||||||
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
{% for announcement in announcements %}
|
{% for announcement in announcements %}
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -46,6 +48,15 @@
|
||||||
<td>{{ announcement.start_date|naturaltime|default:'' }}</td>
|
<td>{{ announcement.start_date|naturaltime|default:'' }}</td>
|
||||||
<td>{{ announcement.end_date|naturaltime|default:'' }}</td>
|
<td>{{ announcement.end_date|naturaltime|default:'' }}</td>
|
||||||
<td>{% if announcement.active %}{% trans "active" %}{% else %}{% trans "inactive" %}{% endif %}</td>
|
<td>{% if announcement.active %}{% trans "active" %}{% else %}{% trans "inactive" %}{% endif %}</td>
|
||||||
|
<td>
|
||||||
|
<form class="control" action="{% url 'settings-announcements-delete' announcement.id %}" method="post">
|
||||||
|
{% csrf_token %}
|
||||||
|
<button type="submit" class="button is-danger is-light is-small">
|
||||||
|
<span class="icon icon-x m-0-mobile" aria-hidden="true"></span>
|
||||||
|
<span class="is-sr-only-mobile">{% trans "Delete" %}</span>
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if not announcements %}
|
{% if not announcements %}
|
||||||
|
|
|
@ -0,0 +1,125 @@
|
||||||
|
{% extends 'settings/layout.html' %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% block header %}
|
||||||
|
{% if announcement %}
|
||||||
|
{% trans "Edit Announcement" %}
|
||||||
|
{% else %}
|
||||||
|
{% trans "Create Announcement" %}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block breadcrumbs %}
|
||||||
|
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="{% url 'settings-announcements' %}">{% trans "Announcements" %}</a></li>
|
||||||
|
{% if announcement %}
|
||||||
|
<li>
|
||||||
|
<a href="{% url 'settings-announcements' announcement.id %}">
|
||||||
|
{{ announcement.preview|truncatechars:30 }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
<li class="is-active">
|
||||||
|
<a href="#" aria-current="page">
|
||||||
|
Edit
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block panel %}
|
||||||
|
<form
|
||||||
|
name="edit-announcement"
|
||||||
|
method="POST"
|
||||||
|
{% if announcement.id %}
|
||||||
|
action="{% url 'settings-announcements-edit' announcement.id %}"
|
||||||
|
{% else %}
|
||||||
|
action="{% url 'settings-announcements-edit' %}"
|
||||||
|
{% endif %}
|
||||||
|
class="block"
|
||||||
|
>
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="hidden" name="user" value="{{ request.user.id }}">
|
||||||
|
<h2 class="title is-4">{% trans "Announcement content" %}</h2>
|
||||||
|
<div class="box">
|
||||||
|
<p class="field">
|
||||||
|
<label class="label" for="id_preview">
|
||||||
|
{% trans "Summary:" %}
|
||||||
|
</label>
|
||||||
|
{{ form.preview }}
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.preview.errors id="desc_preview" %}
|
||||||
|
</p>
|
||||||
|
<p class="field">
|
||||||
|
<label class="label" for="id_content">
|
||||||
|
{% trans "Details:" %}
|
||||||
|
</label>
|
||||||
|
{{ form.content }}
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.content.errors id="desc_content" %}
|
||||||
|
</p>
|
||||||
|
<p class="field">
|
||||||
|
<label class="label" for="id_event_date">
|
||||||
|
{% trans "Event date:" %}
|
||||||
|
</label>
|
||||||
|
<input type="date" name="event_date" value="{{ form.event_date.value|date:'Y-m-d' }}" class="input" id="id_event_date">
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.event_date.errors id="desc_event_date" %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="title is-4">{% trans "Display settings" %}</h2>
|
||||||
|
<div class="box">
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<p>
|
||||||
|
<label class="label" for="id_start_date">
|
||||||
|
{% trans "Start date:" %}
|
||||||
|
</label>
|
||||||
|
<input type="date" name="start_date" class="input" value="{{ form.start_date.value|date:'Y-m-d' }}" id="id_start_date">
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.start_date.errors id="desc_start_date" %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<p>
|
||||||
|
<label class="label" for="id_end_date">
|
||||||
|
{% trans "End date:" %}
|
||||||
|
</label>
|
||||||
|
<input type="date" name="end_date" class="input" id="id_end_date" value="{{ form.end_date.value|date:'Y-m-d' }}">
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.end_date.errors id="desc_end_date" %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="column is-narrow">
|
||||||
|
<label class="label" for="id_active">
|
||||||
|
{% trans "Color:" %}
|
||||||
|
</label>
|
||||||
|
<div class="select">
|
||||||
|
{{ form.display_type }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.active.errors id="desc_display_type" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="field">
|
||||||
|
<label class="label" for="id_active">
|
||||||
|
{% trans "Active:" %}
|
||||||
|
{{ form.active }}
|
||||||
|
</label>
|
||||||
|
|
||||||
|
{% include 'snippets/form_errors.html' with errors_list=form.active.errors id="desc_active" %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field has-addons">
|
||||||
|
<div class="control">
|
||||||
|
<button type="submit" class="button is-primary">
|
||||||
|
{% trans "Save" %}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
|
@ -9,6 +9,7 @@
|
||||||
<div class="columns is-mobile">
|
<div class="columns is-mobile">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<h1 class="title">{% block header %}{% endblock %}</h1>
|
<h1 class="title">{% block header %}{% endblock %}</h1>
|
||||||
|
{% block breadcrumbs %}{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
<div class="column is-narrow">
|
<div class="column is-narrow">
|
||||||
{% block edit-button %}{% endblock %}
|
{% block edit-button %}{% endblock %}
|
||||||
|
@ -16,6 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<div class="block columns">
|
<div class="block columns">
|
||||||
<nav class="menu column is-one-quarter">
|
<nav class="menu column is-one-quarter">
|
||||||
<h2 class="menu-label">
|
<h2 class="menu-label">
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
href="{{ shelf_tab.local_path }}"
|
href="{{ shelf_tab.local_path }}"
|
||||||
{% if shelf_tab.identifier == shelf.identifier %} aria-current="page"{% endif %}
|
{% if shelf_tab.identifier == shelf.identifier %} aria-current="page"{% endif %}
|
||||||
>
|
>
|
||||||
{% include 'user/books_header.html' with shelf=shelf_tab %}
|
{% include "snippets/translated_shelf_name.html" with shelf=shelf_tab %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -1,32 +1,29 @@
|
||||||
{% load humanize %}{% load i18n %}{% load utilities %}
|
{% load humanize %}{% load i18n %}{% load utilities %}
|
||||||
{% with announcement.id|uuid as uuid %}
|
{% with announcement.id|uuid as uuid %}
|
||||||
<aside
|
<aside
|
||||||
class="notification mb-1 p-3{% if not admin_mode %} is-hidden{% endif %} transition-y"
|
class="notification mb-1 p-3{% if not admin_mode %} is-hidden{% endif %} transition-y has-background-{{ announcement.display_type }}"
|
||||||
{% if not admin_mode %}data-hide="hide_announcement_{{ announcement.id }}"{% endif %}
|
{% if not admin_mode %}data-hide="hide_announcement_{{ announcement.id }}"{% endif %}
|
||||||
>
|
>
|
||||||
<div class="columns mb-0 is-mobile">
|
<details>
|
||||||
<div class="column pb-0">
|
<summary>
|
||||||
{% if announcement.event_date %}
|
{% if announcement.event_date %}
|
||||||
<strong>{{ announcement.event_date|naturalday|title }}:</strong>
|
<strong>{{ announcement.event_date|naturalday|title }}:</strong>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ announcement.preview }}
|
|
||||||
</div>
|
{{ announcement.preview|safe }}
|
||||||
|
|
||||||
{% if announcement.content %}
|
{% if announcement.content %}
|
||||||
<div class="column is-narrow pb-0">
|
<span class="details-close mt-4 mr-4 icon icon-x is-small" aria-hidden></span>
|
||||||
{% trans "Open" as button_text %}
|
|
||||||
{% include 'snippets/toggle/open_button.html' with text=button_text controls_text="announcement" class="is-small" controls_uid=uuid icon_with_text="arrow-down" %}
|
|
||||||
{% trans "Close" as button_text %}
|
|
||||||
{% include 'snippets/toggle/close_button.html' with text=button_text controls_text="announcement" class="is-small" controls_uid=uuid icon_with_text="arrow-up" %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</summary>
|
||||||
{% if announcement.content %}
|
{% if announcement.content %}
|
||||||
<div class="mb-2 mt-2 {% if not pressed %}is-hidden{% endif %}" id="announcement_{{ uuid }}">
|
<div class="mb-2 mt-2" id="announcement_{{ uuid }}">
|
||||||
<div class="box is-shadowless mb-0">
|
<div class="box is-shadowless mb-0">
|
||||||
{{ announcement.content|safe }}
|
{{ announcement.content|safe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
</details>
|
||||||
<div class="is-flex mt-0 help">
|
<div class="is-flex mt-0 help">
|
||||||
<p>{% blocktrans with user_path=announcement.user.local_path username=announcement.user.display_name %}Posted by <a href="{{ user_path }}">{{ username }}</a>{% endblocktrans %}</p>
|
<p>{% blocktrans with user_path=announcement.user.local_path username=announcement.user.display_name %}Posted by <a href="{{ user_path }}">{{ username }}</a>{% endblocktrans %}</p>
|
||||||
{% if not admin_mode %}
|
{% if not admin_mode %}
|
||||||
|
|
|
@ -50,9 +50,7 @@
|
||||||
{% block modal-footer %}
|
{% block modal-footer %}
|
||||||
|
|
||||||
<button class="button is-success" type="submit">{% trans "Submit" %}</button>
|
<button class="button is-success" type="submit">{% trans "Submit" %}</button>
|
||||||
{% if not static %}
|
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
||||||
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
""" testing activitystreams """
|
""" testing activitystreams """
|
||||||
|
from datetime import datetime
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
from bookwyrm import activitystreams, models
|
from bookwyrm import activitystreams, models
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,13 +54,63 @@ class Activitystreams(TestCase):
|
||||||
"""the abstract base class for stream objects"""
|
"""the abstract base class for stream objects"""
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.test_stream.stream_id(self.local_user),
|
self.test_stream.stream_id(self.local_user),
|
||||||
"{}-test".format(self.local_user.id),
|
f"{self.local_user.id}-test",
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.test_stream.unread_id(self.local_user),
|
self.test_stream.unread_id(self.local_user),
|
||||||
"{}-test-unread".format(self.local_user.id),
|
f"{self.local_user.id}-test-unread",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_unread_by_status_type_id(self, *_):
|
||||||
|
"""stream for status type"""
|
||||||
|
self.assertEqual(
|
||||||
|
self.test_stream.unread_by_status_type_id(self.local_user),
|
||||||
|
f"{self.local_user.id}-test-unread-by-type",
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_get_rank(self, *_):
|
||||||
|
"""sort order"""
|
||||||
|
date = datetime(2022, 1, 28, 0, 0, tzinfo=timezone.utc)
|
||||||
|
status = models.Status.objects.create(
|
||||||
|
user=self.remote_user,
|
||||||
|
content="hi",
|
||||||
|
privacy="direct",
|
||||||
|
published_date=date,
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
str(self.test_stream.get_rank(status)),
|
||||||
|
"1643328000.0",
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_get_activity_stream(self, *_):
|
||||||
|
"""load statuses"""
|
||||||
|
status = models.Status.objects.create(
|
||||||
|
user=self.remote_user,
|
||||||
|
content="hi",
|
||||||
|
privacy="direct",
|
||||||
|
)
|
||||||
|
status2 = models.Comment.objects.create(
|
||||||
|
user=self.remote_user,
|
||||||
|
content="hi",
|
||||||
|
privacy="direct",
|
||||||
|
book=self.book,
|
||||||
|
)
|
||||||
|
models.Comment.objects.create(
|
||||||
|
user=self.remote_user,
|
||||||
|
content="hi",
|
||||||
|
privacy="direct",
|
||||||
|
book=self.book,
|
||||||
|
)
|
||||||
|
with patch("bookwyrm.activitystreams.r.set"), patch(
|
||||||
|
"bookwyrm.activitystreams.r.delete"
|
||||||
|
), patch("bookwyrm.activitystreams.ActivityStream.get_store") as redis_mock:
|
||||||
|
redis_mock.return_value = [status.id, status2.id]
|
||||||
|
result = self.test_stream.get_activity_stream(self.local_user)
|
||||||
|
self.assertEqual(result.count(), 2)
|
||||||
|
self.assertEqual(result.first(), status2)
|
||||||
|
self.assertEqual(result.last(), status)
|
||||||
|
self.assertIsInstance(result.first(), models.Comment)
|
||||||
|
|
||||||
def test_abstractstream_get_audience(self, *_):
|
def test_abstractstream_get_audience(self, *_):
|
||||||
"""get a list of users that should see a status"""
|
"""get a list of users that should see a status"""
|
||||||
status = models.Status.objects.create(
|
status = models.Status.objects.create(
|
||||||
|
|
|
@ -52,3 +52,29 @@ class Activitystreams(TestCase):
|
||||||
# yes book, yes audience
|
# yes book, yes audience
|
||||||
result = activitystreams.BooksStream().get_statuses_for_user(self.local_user)
|
result = activitystreams.BooksStream().get_statuses_for_user(self.local_user)
|
||||||
self.assertEqual(list(result), [status])
|
self.assertEqual(list(result), [status])
|
||||||
|
|
||||||
|
def test_book_statuses(self, *_):
|
||||||
|
"""statuses about a book"""
|
||||||
|
alt_book = models.Edition.objects.create(
|
||||||
|
title="hi", parent_work=self.book.parent_work
|
||||||
|
)
|
||||||
|
status = models.Status.objects.create(
|
||||||
|
user=self.local_user, content="hi", privacy="public"
|
||||||
|
)
|
||||||
|
status = models.Comment.objects.create(
|
||||||
|
user=self.remote_user, content="hi", privacy="public", book=alt_book
|
||||||
|
)
|
||||||
|
models.ShelfBook.objects.create(
|
||||||
|
user=self.local_user,
|
||||||
|
shelf=self.local_user.shelf_set.first(),
|
||||||
|
book=self.book,
|
||||||
|
)
|
||||||
|
with patch(
|
||||||
|
"bookwyrm.activitystreams.BooksStream.bulk_add_objects_to_store"
|
||||||
|
) as redis_mock:
|
||||||
|
activitystreams.BooksStream().add_book_statuses(self.local_user, self.book)
|
||||||
|
args = redis_mock.call_args[0]
|
||||||
|
queryset = args[0]
|
||||||
|
self.assertEqual(queryset.count(), 1)
|
||||||
|
self.assertTrue(status in queryset)
|
||||||
|
self.assertEqual(args[1], f"{self.local_user.id}-books")
|
||||||
|
|
|
@ -4,8 +4,8 @@ from django.test import TestCase
|
||||||
import responses
|
import responses
|
||||||
|
|
||||||
from bookwyrm import models
|
from bookwyrm import models
|
||||||
from bookwyrm.connectors import abstract_connector
|
from bookwyrm.connectors import abstract_connector, ConnectorException
|
||||||
from bookwyrm.connectors.abstract_connector import Mapping
|
from bookwyrm.connectors.abstract_connector import Mapping, get_data
|
||||||
from bookwyrm.settings import DOMAIN
|
from bookwyrm.settings import DOMAIN
|
||||||
|
|
||||||
|
|
||||||
|
@ -163,3 +163,11 @@ class AbstractConnector(TestCase):
|
||||||
author.refresh_from_db()
|
author.refresh_from_db()
|
||||||
self.assertEqual(author.name, "Test")
|
self.assertEqual(author.name, "Test")
|
||||||
self.assertEqual(author.isni, "hi")
|
self.assertEqual(author.isni, "hi")
|
||||||
|
|
||||||
|
def test_get_data_invalid_url(self):
|
||||||
|
"""load json data from an arbitrary url"""
|
||||||
|
with self.assertRaises(ConnectorException):
|
||||||
|
get_data("file://hello.com/image/jpg")
|
||||||
|
|
||||||
|
with self.assertRaises(ConnectorException):
|
||||||
|
get_data("http://127.0.0.1/image/jpg")
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
""" testing models """
|
""" testing models """
|
||||||
from dateutil.parser import parse
|
from dateutil.parser import parse
|
||||||
|
|
||||||
from imagekit.models import ImageSpecField
|
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
|
|
|
@ -443,17 +443,16 @@ class ModelFields(TestCase):
|
||||||
image_file = pathlib.Path(__file__).parent.joinpath(
|
image_file = pathlib.Path(__file__).parent.joinpath(
|
||||||
"../../static/images/default_avi.jpg"
|
"../../static/images/default_avi.jpg"
|
||||||
)
|
)
|
||||||
image = Image.open(image_file)
|
|
||||||
output = BytesIO()
|
|
||||||
image.save(output, format=image.format)
|
|
||||||
|
|
||||||
instance = fields.ImageField()
|
instance = fields.ImageField()
|
||||||
|
|
||||||
|
with open(image_file, "rb") as image_data:
|
||||||
responses.add(
|
responses.add(
|
||||||
responses.GET,
|
responses.GET,
|
||||||
"http://www.example.com/image.jpg",
|
"http://www.example.com/image.jpg",
|
||||||
body=image.tobytes(),
|
body=image_data.read(),
|
||||||
status=200,
|
status=200,
|
||||||
|
content_type="image/jpeg",
|
||||||
|
stream=True,
|
||||||
)
|
)
|
||||||
loaded_image = instance.field_from_activity("http://www.example.com/image.jpg")
|
loaded_image = instance.field_from_activity("http://www.example.com/image.jpg")
|
||||||
self.assertIsInstance(loaded_image, list)
|
self.assertIsInstance(loaded_image, list)
|
||||||
|
@ -465,17 +464,17 @@ class ModelFields(TestCase):
|
||||||
image_file = pathlib.Path(__file__).parent.joinpath(
|
image_file = pathlib.Path(__file__).parent.joinpath(
|
||||||
"../../static/images/default_avi.jpg"
|
"../../static/images/default_avi.jpg"
|
||||||
)
|
)
|
||||||
image = Image.open(image_file)
|
|
||||||
output = BytesIO()
|
|
||||||
image.save(output, format=image.format)
|
|
||||||
|
|
||||||
instance = fields.ImageField(activitypub_field="cover", name="cover")
|
instance = fields.ImageField(activitypub_field="cover", name="cover")
|
||||||
|
|
||||||
|
with open(image_file, "rb") as image_data:
|
||||||
responses.add(
|
responses.add(
|
||||||
responses.GET,
|
responses.GET,
|
||||||
"http://www.example.com/image.jpg",
|
"http://www.example.com/image.jpg",
|
||||||
body=image.tobytes(),
|
body=image_data.read(),
|
||||||
|
content_type="image/jpeg",
|
||||||
status=200,
|
status=200,
|
||||||
|
stream=True,
|
||||||
)
|
)
|
||||||
book = Edition.objects.create(title="hello")
|
book = Edition.objects.create(title="hello")
|
||||||
|
|
||||||
|
@ -491,17 +490,17 @@ class ModelFields(TestCase):
|
||||||
image_file = pathlib.Path(__file__).parent.joinpath(
|
image_file = pathlib.Path(__file__).parent.joinpath(
|
||||||
"../../static/images/default_avi.jpg"
|
"../../static/images/default_avi.jpg"
|
||||||
)
|
)
|
||||||
image = Image.open(image_file)
|
|
||||||
output = BytesIO()
|
|
||||||
image.save(output, format=image.format)
|
|
||||||
|
|
||||||
instance = fields.ImageField(activitypub_field="cover", name="cover")
|
instance = fields.ImageField(activitypub_field="cover", name="cover")
|
||||||
|
|
||||||
|
with open(image_file, "rb") as image_data:
|
||||||
responses.add(
|
responses.add(
|
||||||
responses.GET,
|
responses.GET,
|
||||||
"http://www.example.com/image.jpg",
|
"http://www.example.com/image.jpg",
|
||||||
body=image.tobytes(),
|
body=image_data.read(),
|
||||||
status=200,
|
status=200,
|
||||||
|
content_type="image/jpeg",
|
||||||
|
stream=True,
|
||||||
)
|
)
|
||||||
book = Edition.objects.create(title="hello")
|
book = Edition.objects.create(title="hello")
|
||||||
|
|
||||||
|
@ -565,17 +564,17 @@ class ModelFields(TestCase):
|
||||||
another_image_file = pathlib.Path(__file__).parent.joinpath(
|
another_image_file = pathlib.Path(__file__).parent.joinpath(
|
||||||
"../../static/images/logo.png"
|
"../../static/images/logo.png"
|
||||||
)
|
)
|
||||||
another_image = Image.open(another_image_file)
|
|
||||||
another_output = BytesIO()
|
|
||||||
another_image.save(another_output, format=another_image.format)
|
|
||||||
|
|
||||||
instance = fields.ImageField(activitypub_field="cover", name="cover")
|
instance = fields.ImageField(activitypub_field="cover", name="cover")
|
||||||
|
|
||||||
|
with open(another_image_file, "rb") as another_image:
|
||||||
responses.add(
|
responses.add(
|
||||||
responses.GET,
|
responses.GET,
|
||||||
"http://www.example.com/image.jpg",
|
"http://www.example.com/image.jpg",
|
||||||
body=another_image.tobytes(),
|
body=another_image.read(),
|
||||||
status=200,
|
status=200,
|
||||||
|
content_type="image/jpeg",
|
||||||
|
stream=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
MockActivity = namedtuple("MockActivity", ("cover"))
|
MockActivity = namedtuple("MockActivity", ("cover"))
|
||||||
|
|
|
@ -24,13 +24,21 @@ class Sanitizer(TestCase):
|
||||||
self.assertEqual(input_text, output)
|
self.assertEqual(input_text, output)
|
||||||
|
|
||||||
def test_valid_html_attrs(self):
|
def test_valid_html_attrs(self):
|
||||||
"""and don't remove attributes"""
|
"""and don't remove useful attributes"""
|
||||||
input_text = '<a href="fish.com">yes </a> <i>html</i>'
|
input_text = '<a href="fish.com">yes </a> <i>html</i>'
|
||||||
parser = InputHtmlParser()
|
parser = InputHtmlParser()
|
||||||
parser.feed(input_text)
|
parser.feed(input_text)
|
||||||
output = parser.get_output()
|
output = parser.get_output()
|
||||||
self.assertEqual(input_text, output)
|
self.assertEqual(input_text, output)
|
||||||
|
|
||||||
|
def test_valid_html_invalid_attrs(self):
|
||||||
|
"""do remove un-approved attributes"""
|
||||||
|
input_text = '<a href="fish.com" fish="hello">yes </a> <i>html</i>'
|
||||||
|
parser = InputHtmlParser()
|
||||||
|
parser.feed(input_text)
|
||||||
|
output = parser.get_output()
|
||||||
|
self.assertEqual(output, '<a href="fish.com">yes </a> <i>html</i>')
|
||||||
|
|
||||||
def test_invalid_html(self):
|
def test_invalid_html(self):
|
||||||
"""remove all html when the html is malformed"""
|
"""remove all html when the html is malformed"""
|
||||||
input_text = "<b>yes <i>html</i>"
|
input_text = "<b>yes <i>html</i>"
|
||||||
|
|
|
@ -74,11 +74,12 @@ class AnnouncementViews(TestCase):
|
||||||
|
|
||||||
def test_create_announcement(self):
|
def test_create_announcement(self):
|
||||||
"""create a new announcement"""
|
"""create a new announcement"""
|
||||||
view = views.Announcements.as_view()
|
view = views.EditAnnouncement.as_view()
|
||||||
form = forms.AnnouncementForm()
|
form = forms.AnnouncementForm()
|
||||||
form.data["preview"] = "hi hi"
|
form.data["preview"] = "hi hi"
|
||||||
form.data["start_date"] = "2021-05-20"
|
form.data["start_date"] = "2021-05-20"
|
||||||
form.data["user"] = self.local_user.id
|
form.data["user"] = self.local_user.id
|
||||||
|
form.data["display_type"] = "warning-light"
|
||||||
|
|
||||||
request = self.factory.post("", form.data)
|
request = self.factory.post("", form.data)
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
@ -97,11 +98,12 @@ class AnnouncementViews(TestCase):
|
||||||
announcement = models.Announcement.objects.create(
|
announcement = models.Announcement.objects.create(
|
||||||
preview="hi", user=self.local_user
|
preview="hi", user=self.local_user
|
||||||
)
|
)
|
||||||
view = views.Announcement.as_view()
|
view = views.EditAnnouncement.as_view()
|
||||||
form = forms.AnnouncementForm(instance=announcement)
|
form = forms.AnnouncementForm(instance=announcement)
|
||||||
form.data["preview"] = "hi hi"
|
form.data["preview"] = "hi hi"
|
||||||
form.data["start_date"] = "2021-05-20"
|
form.data["start_date"] = "2021-05-20"
|
||||||
form.data["user"] = self.local_user.id
|
form.data["user"] = self.local_user.id
|
||||||
|
form.data["display_type"] = "warning-light"
|
||||||
|
|
||||||
request = self.factory.post("", form.data)
|
request = self.factory.post("", form.data)
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
|
|
|
@ -80,6 +80,15 @@ class LinkViews(TestCase):
|
||||||
activity = json.loads(mock.call_args[1]["args"][1])
|
activity = json.loads(mock.call_args[1]["args"][1])
|
||||||
self.assertEqual(activity["type"], "Update")
|
self.assertEqual(activity["type"], "Update")
|
||||||
self.assertEqual(activity["object"]["type"], "Edition")
|
self.assertEqual(activity["object"]["type"], "Edition")
|
||||||
|
self.assertIsInstance(activity["object"]["fileLinks"], list)
|
||||||
|
self.assertEqual(
|
||||||
|
activity["object"]["fileLinks"][0]["href"], "https://www.example.com"
|
||||||
|
)
|
||||||
|
self.assertEqual(activity["object"]["fileLinks"][0]["mediaType"], "HTML")
|
||||||
|
self.assertEqual(
|
||||||
|
activity["object"]["fileLinks"][0]["attributedTo"],
|
||||||
|
self.local_user.remote_id,
|
||||||
|
)
|
||||||
|
|
||||||
link = models.FileLink.objects.get()
|
link = models.FileLink.objects.get()
|
||||||
self.assertEqual(link.name, "www.example.com")
|
self.assertEqual(link.name, "www.example.com")
|
||||||
|
|
|
@ -6,7 +6,6 @@ from unittest.mock import patch
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from bookwyrm import models, views
|
from bookwyrm import models, views
|
||||||
from bookwyrm.activitypub.base_activity import set_related_field
|
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=too-many-public-methods
|
# pylint: disable=too-many-public-methods
|
||||||
|
|
|
@ -85,6 +85,7 @@ class ListViews(TestCase):
|
||||||
user=self.local_user,
|
user=self.local_user,
|
||||||
book=self.book,
|
book=self.book,
|
||||||
approved=True,
|
approved=True,
|
||||||
|
notes="hello",
|
||||||
order=1,
|
order=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -178,6 +179,7 @@ class ListViews(TestCase):
|
||||||
book_list=self.list,
|
book_list=self.list,
|
||||||
user=self.local_user,
|
user=self.local_user,
|
||||||
book=self.book,
|
book=self.book,
|
||||||
|
notes="hi hello",
|
||||||
approved=True,
|
approved=True,
|
||||||
order=1,
|
order=1,
|
||||||
)
|
)
|
||||||
|
|
|
@ -67,4 +67,4 @@ class ListItemViews(TestCase):
|
||||||
self.assertEqual(mock.call_count, 1)
|
self.assertEqual(mock.call_count, 1)
|
||||||
|
|
||||||
item.refresh_from_db()
|
item.refresh_from_db()
|
||||||
self.assertEqual(item.notes, "beep boop")
|
self.assertEqual(item.notes, "<p>beep boop</p>")
|
||||||
|
|
|
@ -50,6 +50,43 @@ class AuthorViews(TestCase):
|
||||||
models.SiteSettings.objects.create()
|
models.SiteSettings.objects.create()
|
||||||
|
|
||||||
def test_author_page(self):
|
def test_author_page(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.Author.as_view()
|
||||||
|
author = models.Author.objects.create(name="Jessica")
|
||||||
|
self.book.authors.add(author)
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.author.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, author.id)
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_author_page_edition_author(self):
|
||||||
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
|
view = views.Author.as_view()
|
||||||
|
another_book = models.Edition.objects.create(
|
||||||
|
title="Example Edition",
|
||||||
|
remote_id="https://example.com/book/1",
|
||||||
|
parent_work=self.work,
|
||||||
|
isbn_13="9780300112511",
|
||||||
|
)
|
||||||
|
author = models.Author.objects.create(name="Jessica")
|
||||||
|
self.book.authors.add(author)
|
||||||
|
request = self.factory.get("")
|
||||||
|
request.user = self.local_user
|
||||||
|
with patch("bookwyrm.views.author.is_api_request") as is_api:
|
||||||
|
is_api.return_value = False
|
||||||
|
result = view(request, author.id)
|
||||||
|
books = result.context_data["books"]
|
||||||
|
self.assertEqual(books.object_list.count(), 1)
|
||||||
|
|
||||||
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
|
validate_html(result.render())
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
|
def test_author_page_empty(self):
|
||||||
"""there are so many views, this just makes sure it LOADS"""
|
"""there are so many views, this just makes sure it LOADS"""
|
||||||
view = views.Author.as_view()
|
view = views.Author.as_view()
|
||||||
author = models.Author.objects.create(name="Jessica")
|
author = models.Author.objects.create(name="Jessica")
|
||||||
|
|
|
@ -93,6 +93,16 @@ urlpatterns = [
|
||||||
views.Announcement.as_view(),
|
views.Announcement.as_view(),
|
||||||
name="settings-announcements",
|
name="settings-announcements",
|
||||||
),
|
),
|
||||||
|
re_path(
|
||||||
|
r"^settings/announcements/create/?$",
|
||||||
|
views.EditAnnouncement.as_view(),
|
||||||
|
name="settings-announcements-edit",
|
||||||
|
),
|
||||||
|
re_path(
|
||||||
|
r"^settings/announcements/(?P<announcement_id>\d+)/edit/?$",
|
||||||
|
views.EditAnnouncement.as_view(),
|
||||||
|
name="settings-announcements-edit",
|
||||||
|
),
|
||||||
re_path(
|
re_path(
|
||||||
r"^settings/announcements/(?P<announcement_id>\d+)/delete/?$",
|
r"^settings/announcements/(?P<announcement_id>\d+)/delete/?$",
|
||||||
views.delete_announcement,
|
views.delete_announcement,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
""" make sure all our nice views are available """
|
""" make sure all our nice views are available """
|
||||||
# site admin
|
# site admin
|
||||||
from .admin.announcements import Announcements, Announcement, delete_announcement
|
from .admin.announcements import Announcements, Announcement
|
||||||
|
from .admin.announcements import EditAnnouncement, delete_announcement
|
||||||
from .admin.dashboard import Dashboard
|
from .admin.dashboard import Dashboard
|
||||||
from .admin.federation import Federation, FederatedServer
|
from .admin.federation import Federation, FederatedServer
|
||||||
from .admin.federation import AddFederatedServer, ImportServerBlocklist
|
from .admin.federation import AddFederatedServer, ImportServerBlocklist
|
||||||
|
|
|
@ -45,23 +45,6 @@ class Announcements(View):
|
||||||
request, "settings/announcements/announcements.html", data
|
request, "settings/announcements/announcements.html", data
|
||||||
)
|
)
|
||||||
|
|
||||||
def post(self, request):
|
|
||||||
"""edit the site settings"""
|
|
||||||
form = forms.AnnouncementForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
form.save()
|
|
||||||
# reset the create form
|
|
||||||
form = forms.AnnouncementForm()
|
|
||||||
data = {
|
|
||||||
"announcements": Paginator(
|
|
||||||
models.Announcement.objects.order_by("-created_date"), PAGE_LENGTH
|
|
||||||
).get_page(request.GET.get("page")),
|
|
||||||
"form": form,
|
|
||||||
}
|
|
||||||
return TemplateResponse(
|
|
||||||
request, "settings/announcements/announcements.html", data
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@method_decorator(login_required, name="dispatch")
|
@method_decorator(login_required, name="dispatch")
|
||||||
@method_decorator(
|
@method_decorator(
|
||||||
|
@ -76,26 +59,51 @@ class Announcement(View):
|
||||||
announcement = get_object_or_404(models.Announcement, id=announcement_id)
|
announcement = get_object_or_404(models.Announcement, id=announcement_id)
|
||||||
data = {
|
data = {
|
||||||
"announcement": announcement,
|
"announcement": announcement,
|
||||||
"form": forms.AnnouncementForm(instance=announcement),
|
|
||||||
}
|
}
|
||||||
return TemplateResponse(
|
return TemplateResponse(
|
||||||
request, "settings/announcements/announcement.html", data
|
request, "settings/announcements/announcement.html", data
|
||||||
)
|
)
|
||||||
|
|
||||||
def post(self, request, announcement_id):
|
|
||||||
"""edit announcement"""
|
@method_decorator(login_required, name="dispatch")
|
||||||
|
@method_decorator(
|
||||||
|
permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
|
||||||
|
name="dispatch",
|
||||||
|
)
|
||||||
|
class EditAnnouncement(View):
|
||||||
|
"""Create of edit an announcement"""
|
||||||
|
|
||||||
|
def get(self, request, announcement_id=None):
|
||||||
|
"""announcement forms"""
|
||||||
|
announcement = None
|
||||||
|
if announcement_id:
|
||||||
announcement = get_object_or_404(models.Announcement, id=announcement_id)
|
announcement = get_object_or_404(models.Announcement, id=announcement_id)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"announcement": announcement,
|
||||||
|
"form": forms.AnnouncementForm(instance=announcement),
|
||||||
|
}
|
||||||
|
return TemplateResponse(
|
||||||
|
request, "settings/announcements/edit_announcement.html", data
|
||||||
|
)
|
||||||
|
|
||||||
|
def post(self, request, announcement_id=None):
|
||||||
|
"""edit announcement"""
|
||||||
|
announcement = None
|
||||||
|
if announcement_id:
|
||||||
|
announcement = get_object_or_404(models.Announcement, id=announcement_id)
|
||||||
|
|
||||||
form = forms.AnnouncementForm(request.POST, instance=announcement)
|
form = forms.AnnouncementForm(request.POST, instance=announcement)
|
||||||
if form.is_valid():
|
if not form.is_valid():
|
||||||
announcement = form.save()
|
|
||||||
form = forms.AnnouncementForm(instance=announcement)
|
|
||||||
data = {
|
data = {
|
||||||
"announcement": announcement,
|
"announcement": announcement,
|
||||||
"form": form,
|
"form": form,
|
||||||
}
|
}
|
||||||
return TemplateResponse(
|
return TemplateResponse(
|
||||||
request, "settings/announcements/announcement.html", data
|
request, "settings/announcements/edit_announcement.html", data
|
||||||
)
|
)
|
||||||
|
announcement = form.save()
|
||||||
|
return redirect("settings-announcements", announcement.id)
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
""" the good people stuff! the authors! """
|
""" the good people stuff! the authors! """
|
||||||
from django.contrib.auth.decorators import login_required, permission_required
|
from django.contrib.auth.decorators import login_required, permission_required
|
||||||
from django.core.paginator import Paginator
|
from django.core.paginator import Paginator
|
||||||
|
from django.db.models import Q
|
||||||
from django.shortcuts import get_object_or_404, redirect
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
from django.utils.decorators import method_decorator
|
from django.utils.decorators import method_decorator
|
||||||
|
@ -25,9 +26,11 @@ class Author(View):
|
||||||
if is_api_request(request):
|
if is_api_request(request):
|
||||||
return ActivitypubResponse(author.to_activity())
|
return ActivitypubResponse(author.to_activity())
|
||||||
|
|
||||||
books = models.Work.objects.filter(
|
books = (
|
||||||
authors=author, editions__authors=author
|
models.Work.objects.filter(Q(authors=author) | Q(editions__authors=author))
|
||||||
).distinct()
|
.order_by("-published_date")
|
||||||
|
.distinct()
|
||||||
|
)
|
||||||
|
|
||||||
paginated = Paginator(books, PAGE_LENGTH)
|
paginated = Paginator(books, PAGE_LENGTH)
|
||||||
page = paginated.get_page(request.GET.get("page"))
|
page = paginated.get_page(request.GET.get("page"))
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
from django.contrib.auth.decorators import login_required, permission_required
|
from django.contrib.auth.decorators import login_required, permission_required
|
||||||
from django.core.files.base import ContentFile
|
|
||||||
from django.core.paginator import Paginator
|
from django.core.paginator import Paginator
|
||||||
from django.db.models import Avg, Q
|
from django.db.models import Avg, Q
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
|
@ -144,13 +143,12 @@ def upload_cover(request, book_id):
|
||||||
def set_cover_from_url(url):
|
def set_cover_from_url(url):
|
||||||
"""load it from a url"""
|
"""load it from a url"""
|
||||||
try:
|
try:
|
||||||
image_file = get_image(url)
|
image_content, extension = get_image(url)
|
||||||
except: # pylint: disable=bare-except
|
except: # pylint: disable=bare-except
|
||||||
return None
|
return None
|
||||||
if not image_file:
|
if not image_content:
|
||||||
return None
|
return None
|
||||||
image_name = str(uuid4()) + "." + url.split(".")[-1]
|
image_name = str(uuid4()) + "." + extension
|
||||||
image_content = ContentFile(image_file.content)
|
|
||||||
return [image_name, image_content]
|
return [image_name, image_content]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ from django.core.paginator import Paginator
|
||||||
from django.shortcuts import get_object_or_404, redirect
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
from django.utils.decorators import method_decorator
|
from django.utils.decorators import method_decorator
|
||||||
|
from django.urls import reverse
|
||||||
from django.views import View
|
from django.views import View
|
||||||
|
|
||||||
from bookwyrm import models
|
from bookwyrm import models
|
||||||
|
@ -35,6 +36,7 @@ class ImportTroubleshoot(View):
|
||||||
page.number, on_each_side=2, on_ends=1
|
page.number, on_each_side=2, on_ends=1
|
||||||
),
|
),
|
||||||
"complete": True,
|
"complete": True,
|
||||||
|
"page_path": reverse("import-troubleshoot", args=[job.id]),
|
||||||
}
|
}
|
||||||
|
|
||||||
return TemplateResponse(request, "import/troubleshoot.html", data)
|
return TemplateResponse(request, "import/troubleshoot.html", data)
|
||||||
|
|
|
@ -5,6 +5,7 @@ from django.utils.decorators import method_decorator
|
||||||
from django.views import View
|
from django.views import View
|
||||||
|
|
||||||
from bookwyrm import forms, models
|
from bookwyrm import forms, models
|
||||||
|
from bookwyrm.views.status import to_markdown
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=no-self-use
|
# pylint: disable=no-self-use
|
||||||
|
@ -18,5 +19,9 @@ class ListItem(View):
|
||||||
list_item.raise_not_editable(request.user)
|
list_item.raise_not_editable(request.user)
|
||||||
form = forms.ListItemForm(request.POST, instance=list_item)
|
form = forms.ListItemForm(request.POST, instance=list_item)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save()
|
item = form.save(commit=False)
|
||||||
|
item.notes = to_markdown(item.notes)
|
||||||
|
item.save()
|
||||||
|
else:
|
||||||
|
raise Exception(form.errors)
|
||||||
return redirect("list", list_item.book_list.id)
|
return redirect("list", list_item.book_list.id)
|
||||||
|
|
|
@ -31,12 +31,17 @@ class User(View):
|
||||||
shelf_preview = []
|
shelf_preview = []
|
||||||
|
|
||||||
# only show shelves that should be visible
|
# only show shelves that should be visible
|
||||||
shelves = user.shelf_set
|
|
||||||
is_self = request.user.id == user.id
|
is_self = request.user.id == user.id
|
||||||
if not is_self:
|
if not is_self:
|
||||||
shelves = models.Shelf.privacy_filter(
|
shelves = (
|
||||||
|
models.Shelf.privacy_filter(
|
||||||
request.user, privacy_levels=["public", "followers"]
|
request.user, privacy_levels=["public", "followers"]
|
||||||
).filter(user=user, books__isnull=False)
|
)
|
||||||
|
.filter(user=user, books__isnull=False)
|
||||||
|
.distinct()
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
shelves = user.shelf_set.filter(books__isnull=False).distinct()
|
||||||
|
|
||||||
for user_shelf in shelves.all()[:3]:
|
for user_shelf in shelves.all()[:3]:
|
||||||
shelf_preview.append(
|
shelf_preview.append(
|
||||||
|
|
25
bw-dev
25
bw-dev
|
@ -30,12 +30,12 @@ function execweb {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initdb {
|
function initdb {
|
||||||
execweb python manage.py migrate
|
runweb python manage.py migrate
|
||||||
execweb python manage.py initdb "$@"
|
runweb python manage.py initdb "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
function makeitblack {
|
function makeitblack {
|
||||||
docker-compose run --rm web black celerywyrm bookwyrm
|
docker-compose run --rm dev-tools black celerywyrm bookwyrm
|
||||||
}
|
}
|
||||||
|
|
||||||
function awscommand {
|
function awscommand {
|
||||||
|
@ -97,7 +97,7 @@ case "$CMD" in
|
||||||
docker-compose restart celery_worker
|
docker-compose restart celery_worker
|
||||||
;;
|
;;
|
||||||
pytest)
|
pytest)
|
||||||
execweb pytest --no-cov-on-fail "$@"
|
runweb pytest --no-cov-on-fail "$@"
|
||||||
;;
|
;;
|
||||||
collectstatic)
|
collectstatic)
|
||||||
runweb python manage.py collectstatic --no-input
|
runweb python manage.py collectstatic --no-input
|
||||||
|
@ -135,7 +135,17 @@ case "$CMD" in
|
||||||
makeitblack
|
makeitblack
|
||||||
;;
|
;;
|
||||||
prettier)
|
prettier)
|
||||||
npx prettier --write bookwyrm/static/js/*.js
|
docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js
|
||||||
|
;;
|
||||||
|
stylelint)
|
||||||
|
docker-compose run --rm dev-tools npx stylelint \
|
||||||
|
bookwyrm/static/css/*.css --fix \
|
||||||
|
--config dev-tools/.stylelintrc.js
|
||||||
|
;;
|
||||||
|
formatters)
|
||||||
|
docker-compose run --rm dev-tools black celerywyrm bookwyrm && \
|
||||||
|
npx prettier --write bookwyrm/static/js/*.js && \
|
||||||
|
npx stylelint bookwyrm/static/css/*.css --fix --config dev-tools/.stylelintrc.js
|
||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
git pull
|
git pull
|
||||||
|
@ -143,6 +153,8 @@ case "$CMD" in
|
||||||
runweb python manage.py migrate
|
runweb python manage.py migrate
|
||||||
runweb python manage.py collectstatic --no-input
|
runweb python manage.py collectstatic --no-input
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
|
docker-compose restart web
|
||||||
|
docker-compose restart celery_worker
|
||||||
;;
|
;;
|
||||||
populate_streams)
|
populate_streams)
|
||||||
runweb python manage.py populate_streams "$@"
|
runweb python manage.py populate_streams "$@"
|
||||||
|
@ -209,6 +221,9 @@ case "$CMD" in
|
||||||
echo " build"
|
echo " build"
|
||||||
echo " clean"
|
echo " clean"
|
||||||
echo " black"
|
echo " black"
|
||||||
|
echo " prettier"
|
||||||
|
echo " stylelint"
|
||||||
|
echo " formatters"
|
||||||
echo " populate_streams [--stream=<stream name>]"
|
echo " populate_streams [--stream=<stream name>]"
|
||||||
echo " populate_suggestions"
|
echo " populate_suggestions"
|
||||||
echo " generate_thumbnails"
|
echo " generate_thumbnails"
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
from django.apps import AppConfig
|
||||||
|
from celerywyrm import settings
|
||||||
|
|
||||||
|
|
||||||
|
class CelerywyrmConfig(AppConfig):
|
||||||
|
name = "celerywyrm"
|
||||||
|
verbose_name = "BookWyrm Celery"
|
||||||
|
|
||||||
|
def ready(self):
|
||||||
|
if settings.OTEL_EXPORTER_OTLP_ENDPOINT:
|
||||||
|
from bookwyrm.telemetry import open_telemetry
|
||||||
|
|
||||||
|
open_telemetry.instrumentCelery()
|
19
certbot.sh
19
certbot.sh
|
@ -1,19 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
source .env;
|
|
||||||
|
|
||||||
if [ "$CERTBOT_INIT" = "true" ]
|
|
||||||
then
|
|
||||||
certonly \
|
|
||||||
--webroot \
|
|
||||||
--webroot-path=/var/www/certbot \
|
|
||||||
--email ${EMAIL} \
|
|
||||||
--agree-tos \
|
|
||||||
--no-eff-email \
|
|
||||||
-d ${DOMAIN} \
|
|
||||||
-d www.${DOMAIN}
|
|
||||||
else
|
|
||||||
renew \
|
|
||||||
--webroot \
|
|
||||||
--webroot-path \
|
|
||||||
/var/www/certbot
|
|
||||||
fi
|
|
|
@ -21,6 +21,8 @@ build
|
||||||
clean
|
clean
|
||||||
black
|
black
|
||||||
prettier
|
prettier
|
||||||
|
stylelint
|
||||||
|
formatters
|
||||||
populate_streams
|
populate_streams
|
||||||
populate_lists_streams
|
populate_lists_streams
|
||||||
populate_suggestions
|
populate_suggestions
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
FROM python:3.9
|
||||||
|
|
||||||
|
ENV PYTHONUNBUFFERED 1
|
||||||
|
|
||||||
|
RUN mkdir /app
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package.json requirements.txt .stylelintrc.js .stylelintignore /app/
|
||||||
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y curl
|
||||||
|
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
|
||||||
|
RUN apt-get install -y nodejs
|
||||||
|
RUN npm install .
|
|
@ -3,15 +3,16 @@
|
||||||
"watch:static": "yarn watch \"./bw-dev collectstatic\" bookwyrm/static/**"
|
"watch:static": "yarn watch \"./bw-dev collectstatic\" bookwyrm/static/**"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.23.0",
|
"eslint": "^8.9.0",
|
||||||
"prettier": "2.5.1",
|
"prettier": "2.5.1",
|
||||||
"stylelint": "^14.2.0",
|
"stylelint": "^14.5.0",
|
||||||
"stylelint-config-standard": "^24.0.0",
|
|
||||||
"stylelint-order": "^5.0.0",
|
|
||||||
"watch": "^0.13.0"
|
"watch": "^0.13.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"merge": "2.1.1",
|
"merge": "2.1.1",
|
||||||
"postcss": "8.2.13"
|
"postcss": "^8.4.6",
|
||||||
|
"stylelint-config-recommended": "^7.0.0",
|
||||||
|
"stylelint-config-standard": "^25.0.0",
|
||||||
|
"stylelint-order": "^5.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
black==21.4b2
|
|
@ -35,29 +35,27 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- main
|
- main
|
||||||
ports:
|
ports:
|
||||||
- 8000:8000
|
- 8000
|
||||||
redis_activity:
|
redis_activity:
|
||||||
image: redis
|
image: redis
|
||||||
command: redis-server --requirepass ${REDIS_ACTIVITY_PASSWORD} --appendonly yes --port ${REDIS_ACTIVITY_PORT}
|
command: redis-server --requirepass ${REDIS_ACTIVITY_PASSWORD} --appendonly yes --port ${REDIS_ACTIVITY_PORT}
|
||||||
env_file: .env
|
|
||||||
networks:
|
|
||||||
- main
|
|
||||||
restart: on-failure
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis.conf:/etc/redis/redis.conf
|
- ./redis.conf:/etc/redis/redis.conf
|
||||||
- redis_activity_data:/data
|
- redis_activity_data:/data
|
||||||
redis_broker:
|
|
||||||
image: redis
|
|
||||||
command: redis-server --requirepass ${REDIS_BROKER_PASSWORD} --appendonly yes --port ${REDIS_BROKER_PORT}
|
|
||||||
env_file: .env
|
env_file: .env
|
||||||
ports:
|
|
||||||
- 6379:6379
|
|
||||||
networks:
|
networks:
|
||||||
- main
|
- main
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
redis_broker:
|
||||||
|
image: redis
|
||||||
|
command: redis-server --requirepass ${REDIS_BROKER_PASSWORD} --appendonly yes --port ${REDIS_BROKER_PORT}
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis.conf:/etc/redis/redis.conf
|
- ./redis.conf:/etc/redis/redis.conf
|
||||||
- redis_broker_data:/data
|
- redis_broker_data:/data
|
||||||
|
env_file: .env
|
||||||
|
networks:
|
||||||
|
- main
|
||||||
|
restart: on-failure
|
||||||
celery_worker:
|
celery_worker:
|
||||||
env_file: .env
|
env_file: .env
|
||||||
build: .
|
build: .
|
||||||
|
@ -74,10 +72,10 @@ services:
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
flower:
|
flower:
|
||||||
build: .
|
build: .
|
||||||
command: celery -A celerywyrm flower
|
command: celery -A celerywyrm flower --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD}
|
||||||
env_file: .env
|
env_file: .env
|
||||||
ports:
|
ports:
|
||||||
- ${FLOWER_PORT}:${FLOWER_PORT}
|
- ${FLOWER_PORT}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/app
|
- .:/app
|
||||||
networks:
|
networks:
|
||||||
|
@ -86,6 +84,11 @@ services:
|
||||||
- db
|
- db
|
||||||
- redis_broker
|
- redis_broker
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
dev-tools:
|
||||||
|
build: dev-tools
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- .:/app
|
||||||
volumes:
|
volumes:
|
||||||
pgdata:
|
pgdata:
|
||||||
static_volume:
|
static_volume:
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-29 14:28\n"
|
"PO-Revision-Date: 2022-02-04 21:01\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse."
|
msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Ein Tag"
|
msgstr "Ein Tag"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Eine Woche"
|
msgstr "Eine Woche"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Ein Monat"
|
msgstr "Ein Monat"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Läuft nicht ab"
|
msgstr "Läuft nicht ab"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i}-mal verwendbar"
|
msgstr "{i}-mal verwendbar"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Unbegrenzt"
|
msgstr "Unbegrenzt"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Reihenfolge der Liste"
|
msgstr "Reihenfolge der Liste"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Buchtitel"
|
msgstr "Buchtitel"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Bewertung"
|
msgstr "Bewertung"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sortieren nach"
|
msgstr "Sortieren nach"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Aufsteigend"
|
msgstr "Aufsteigend"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Absteigend"
|
msgstr "Absteigend"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "Enddatum darf nicht vor dem Startdatum liegen."
|
msgstr "Enddatum darf nicht vor dem Startdatum liegen."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Föderiert"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Blockiert"
|
msgstr "Blockiert"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s ist keine gültige remote_id"
|
msgstr "%(value)s ist keine gültige remote_id"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s ist kein gültiger Benutzer*inname"
|
msgstr "%(value)s ist kein gültiger Benutzer*inname"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "Benutzer*inname"
|
msgstr "Benutzer*inname"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Dieser Benutzer*inname ist bereits vergeben."
|
msgstr "Dieser Benutzer*inname ist bereits vergeben."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Dieser Benutzer*inname ist bereits vergeben."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Öffentlich"
|
msgstr "Öffentlich"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Öffentlich"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Ungelistet"
|
msgstr "Ungelistet"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Follower*innen"
|
msgstr "Follower*innen"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugiesisch)"
|
msgstr "Português Europeu (Portugiesisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr "Svenska (Schwedisch)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Administration"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Direktnachricht senden"
|
msgstr "Direktnachricht senden"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Physikalische Eigenschaften"
|
msgstr "Physikalische Eigenschaften"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Format:"
|
msgstr "Format:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Ausgaben von %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Ausgaben von <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Ausgaben von <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Beliebig(e)"
|
msgstr "Beliebig(e)"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Sprache:"
|
msgstr "Sprache:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Ausgaben suchen"
|
msgstr "Ausgaben suchen"
|
||||||
|
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Keine Links für diese Domain vorhanden."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Zurück zu den Meldungen"
|
msgstr "Zurück zu den Meldungen"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Gemeldete Statusmeldungen"
|
msgstr "Gemeldete Statusmeldungen"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "Statusmeldung gelöscht"
|
msgstr "Statusmeldung gelöscht"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Gemeldete Links"
|
msgstr "Gemeldete Links"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Moderator*innenkommentare"
|
msgstr "Moderator*innenkommentare"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentieren"
|
msgstr "Kommentieren"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "Prozent"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "von %(pages)s Seiten"
|
msgstr "von %(pages)s Seiten"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Antworten"
|
msgstr "Antworten"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Inhalt"
|
msgstr "Inhalt"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Filter werden angewendet"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Filter zurücksetzen"
|
msgstr "Filter zurücksetzen"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Filter anwenden"
|
msgstr "Filter anwenden"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 0.0.1\n"
|
"Project-Id-Version: 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-30 18:17+0000\n"
|
"POT-Creation-Date: 2022-02-05 02:20+0000\n"
|
||||||
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: English <LL@li.org>\n"
|
"Language-Team: English <LL@li.org>\n"
|
||||||
|
@ -18,62 +18,70 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:245
|
||||||
|
msgid "This domain is blocked. Please contact your administrator if you think this is an error."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:255
|
||||||
|
msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:394
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:408
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:409
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:410
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:411
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:415
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:416
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:518
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:519
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:526
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:527
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:540
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -141,26 +149,26 @@ msgstr ""
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -168,7 +176,7 @@ msgstr ""
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -176,14 +184,14 @@ msgstr ""
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -225,73 +233,73 @@ msgstr ""
|
||||||
msgid "Everything else"
|
msgid "Everything else"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:173
|
#: bookwyrm/settings.py:190
|
||||||
msgid "Home Timeline"
|
msgid "Home Timeline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:173
|
#: bookwyrm/settings.py:190
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:174
|
#: bookwyrm/settings.py:191
|
||||||
msgid "Books Timeline"
|
msgid "Books Timeline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:174 bookwyrm/templates/search/layout.html:21
|
#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21
|
||||||
#: bookwyrm/templates/search/layout.html:42
|
#: bookwyrm/templates/search/layout.html:42
|
||||||
#: bookwyrm/templates/user/layout.html:91
|
#: bookwyrm/templates/user/layout.html:91
|
||||||
msgid "Books"
|
msgid "Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:248
|
#: bookwyrm/settings.py:265
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:249
|
#: bookwyrm/settings.py:266
|
||||||
msgid "Deutsch (German)"
|
msgid "Deutsch (German)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:250
|
#: bookwyrm/settings.py:267
|
||||||
msgid "Español (Spanish)"
|
msgid "Español (Spanish)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:251
|
#: bookwyrm/settings.py:268
|
||||||
msgid "Galego (Galician)"
|
msgid "Galego (Galician)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:252
|
#: bookwyrm/settings.py:269
|
||||||
msgid "Italiano (Italian)"
|
msgid "Italiano (Italian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:253
|
#: bookwyrm/settings.py:270
|
||||||
msgid "Français (French)"
|
msgid "Français (French)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:254
|
#: bookwyrm/settings.py:271
|
||||||
msgid "Lietuvių (Lithuanian)"
|
msgid "Lietuvių (Lithuanian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:255
|
#: bookwyrm/settings.py:272
|
||||||
msgid "Norsk (Norwegian)"
|
msgid "Norsk (Norwegian)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:256
|
#: bookwyrm/settings.py:273
|
||||||
msgid "Português do Brasil (Brazilian Portuguese)"
|
msgid "Português do Brasil (Brazilian Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:257
|
#: bookwyrm/settings.py:274
|
||||||
msgid "Português Europeu (European Portuguese)"
|
msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:275
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:276
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:260
|
#: bookwyrm/settings.py:277
|
||||||
msgid "繁體中文 (Traditional Chinese)"
|
msgid "繁體中文 (Traditional Chinese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -370,7 +378,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -429,7 +437,7 @@ msgid "Copy address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||||
#: bookwyrm/templates/lists/list.html:269
|
#: bookwyrm/templates/lists/list.html:267
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -714,17 +722,17 @@ msgstr ""
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:32
|
#: bookwyrm/templates/book/cover_add_modal.html:32
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:123
|
#: bookwyrm/templates/book/edit/edit_book.html:123
|
||||||
#: bookwyrm/templates/book/edit/edit_book.html:126
|
#: bookwyrm/templates/book/edit/edit_book.html:126
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:60
|
#: 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:21
|
||||||
#: bookwyrm/templates/book/sync_modal.html:23
|
#: bookwyrm/templates/book/sync_modal.html:23
|
||||||
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
#: bookwyrm/templates/groups/delete_group_modal.html:17
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:42
|
#: bookwyrm/templates/lists/add_item_modal.html:42
|
||||||
#: bookwyrm/templates/lists/delete_list_modal.html:18
|
#: bookwyrm/templates/lists/delete_list_modal.html:18
|
||||||
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
|
#: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23
|
||||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:74
|
#: bookwyrm/templates/readthrough/readthrough_modal.html:73
|
||||||
#: bookwyrm/templates/settings/federation/instance.html:88
|
#: bookwyrm/templates/settings/federation/instance.html:88
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:54
|
#: bookwyrm/templates/snippets/report_modal.html:53
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -831,14 +839,14 @@ msgstr ""
|
||||||
msgid "Lists"
|
msgid "Lists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:359
|
#: bookwyrm/templates/book/book.html:360
|
||||||
msgid "Add to list"
|
msgid "Add to list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/book.html:369
|
#: bookwyrm/templates/book/book.html:370
|
||||||
#: bookwyrm/templates/book/cover_add_modal.html:31
|
#: bookwyrm/templates/book/cover_add_modal.html:31
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:37
|
#: bookwyrm/templates/lists/add_item_modal.html:37
|
||||||
#: bookwyrm/templates/lists/list.html:247
|
#: bookwyrm/templates/lists/list.html:245
|
||||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
|
@ -1018,7 +1026,7 @@ msgid "Physical Properties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1056,17 +1064,17 @@ msgstr ""
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1651,7 +1659,7 @@ msgid "What are you reading?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:9
|
#: bookwyrm/templates/get_started/books.html:9
|
||||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:205
|
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203
|
||||||
msgid "Search for a book"
|
msgid "Search for a book"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1671,7 +1679,7 @@ msgstr ""
|
||||||
#: bookwyrm/templates/get_started/users.html:19
|
#: bookwyrm/templates/get_started/users.html:19
|
||||||
#: bookwyrm/templates/groups/members.html:15
|
#: bookwyrm/templates/groups/members.html:15
|
||||||
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53
|
||||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:209
|
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207
|
||||||
#: bookwyrm/templates/search/layout.html:4
|
#: bookwyrm/templates/search/layout.html:4
|
||||||
#: bookwyrm/templates/search/layout.html:9
|
#: bookwyrm/templates/search/layout.html:9
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
|
@ -1687,7 +1695,7 @@ msgid "Popular on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/get_started/books.html:58
|
#: bookwyrm/templates/get_started/books.html:58
|
||||||
#: bookwyrm/templates/lists/list.html:222
|
#: bookwyrm/templates/lists/list.html:220
|
||||||
msgid "No books found"
|
msgid "No books found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2258,7 +2266,7 @@ msgid "Suggest \"<em>%(title)s</em>\" for this list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:39
|
#: bookwyrm/templates/lists/add_item_modal.html:39
|
||||||
#: bookwyrm/templates/lists/list.html:249
|
#: bookwyrm/templates/lists/list.html:247
|
||||||
msgid "Suggest"
|
msgid "Suggest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2405,72 +2413,72 @@ msgstr ""
|
||||||
msgid "You successfully added a book to this list!"
|
msgid "You successfully added a book to this list!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:96
|
#: bookwyrm/templates/lists/list.html:94
|
||||||
msgid "Edit notes"
|
msgid "Edit notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:111
|
#: bookwyrm/templates/lists/list.html:109
|
||||||
msgid "Add notes"
|
msgid "Add notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:123
|
#: bookwyrm/templates/lists/list.html:121
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:138
|
#: bookwyrm/templates/lists/list.html:136
|
||||||
msgid "List position"
|
msgid "List position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:144
|
#: bookwyrm/templates/lists/list.html:142
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21
|
||||||
msgid "Set"
|
msgid "Set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:159
|
#: bookwyrm/templates/lists/list.html:157
|
||||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
#: bookwyrm/templates/snippets/remove_from_group_button.html:20
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:173
|
#: bookwyrm/templates/lists/list.html:171
|
||||||
#: bookwyrm/templates/lists/list.html:190
|
#: bookwyrm/templates/lists/list.html:188
|
||||||
msgid "Sort List"
|
msgid "Sort List"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:183
|
#: bookwyrm/templates/lists/list.html:181
|
||||||
msgid "Direction"
|
msgid "Direction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:197
|
#: bookwyrm/templates/lists/list.html:195
|
||||||
msgid "Add Books"
|
msgid "Add Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:199
|
#: bookwyrm/templates/lists/list.html:197
|
||||||
msgid "Suggest Books"
|
msgid "Suggest Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:210
|
#: bookwyrm/templates/lists/list.html:208
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:216
|
#: bookwyrm/templates/lists/list.html:214
|
||||||
msgid "Clear search"
|
msgid "Clear search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:221
|
#: bookwyrm/templates/lists/list.html:219
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No books found matching the query \"%(query)s\""
|
msgid "No books found matching the query \"%(query)s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:260
|
#: bookwyrm/templates/lists/list.html:258
|
||||||
msgid "Embed this list on a website"
|
msgid "Embed this list on a website"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:268
|
#: bookwyrm/templates/lists/list.html:266
|
||||||
msgid "Copy embed code"
|
msgid "Copy embed code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:270
|
#: bookwyrm/templates/lists/list.html:268
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4108,7 +4116,7 @@ msgstr ""
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 08:06\n"
|
"PO-Revision-Date: 2022-02-04 22:13\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr "El dominio está bloqueado. No vuelva a intentar esta url."
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr "El dominio ya está pendiente. Inténtalo más tarde."
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Ya existe un usuario con ese correo electrónico."
|
msgstr "Ya existe un usuario con ese correo electrónico."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Un día"
|
msgstr "Un día"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Una semana"
|
msgstr "Una semana"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Un mes"
|
msgstr "Un mes"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "No expira"
|
msgstr "No expira"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} usos"
|
msgstr "{i} usos"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Sin límite"
|
msgstr "Sin límite"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Orden de la lista"
|
msgstr "Orden de la lista"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Título"
|
msgstr "Título"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Valoración"
|
msgstr "Valoración"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Ascendente"
|
msgstr "Ascendente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Descendente"
|
msgstr "Descendente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio."
|
msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Federalizado"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Bloqueado"
|
msgstr "Bloqueado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s no es un remote_id válido"
|
msgstr "%(value)s no es un remote_id válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s no es un usuario válido"
|
msgstr "%(value)s no es un usuario válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "nombre de usuario"
|
msgstr "nombre de usuario"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Ya existe un usuario con ese nombre."
|
msgstr "Ya existe un usuario con ese nombre."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Ya existe un usuario con ese nombre."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Público"
|
msgstr "Público"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Público"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "No listado"
|
msgstr "No listado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Seguidores"
|
msgstr "Seguidores"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugués europeo)"
|
msgstr "Português Europeu (Portugués europeo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr "Sueco (Svenska)"
|
msgstr "Svenska (Sueco)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Administrador"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Enviar mensaje directo"
|
msgstr "Enviar mensaje directo"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Propiedades físicas"
|
msgstr "Propiedades físicas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Formato:"
|
msgstr "Formato:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Ediciones de %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Ediciones de <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Ediciones de <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Cualquier"
|
msgstr "Cualquier"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Idioma:"
|
msgstr "Idioma:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Buscar ediciones"
|
msgstr "Buscar ediciones"
|
||||||
|
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Ningún enlace disponible para este dominio."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Volver a los informes"
|
msgstr "Volver a los informes"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Estados reportados"
|
msgstr "Estados reportados"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "El estado ha sido eliminado"
|
msgstr "El estado ha sido eliminado"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Enlaces denunciados"
|
msgstr "Enlaces denunciados"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Comentarios de moderador"
|
msgstr "Comentarios de moderador"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Comentario"
|
msgstr "Comentario"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "por ciento"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "de %(pages)s páginas"
|
msgstr "de %(pages)s páginas"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Contenido"
|
msgstr "Contenido"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Filtros aplicados"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Borrar filtros"
|
msgstr "Borrar filtros"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Aplicar filtros"
|
msgstr "Aplicar filtros"
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 11:29\n"
|
"PO-Revision-Date: 2022-02-04 21:01\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: French\n"
|
"Language-Team: French\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Cet email est déjà associé à un compte."
|
msgstr "Cet email est déjà associé à un compte."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Un jour"
|
msgstr "Un jour"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Une semaine"
|
msgstr "Une semaine"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Un mois"
|
msgstr "Un mois"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Sans expiration"
|
msgstr "Sans expiration"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} utilisations"
|
msgstr "{i} utilisations"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Sans limite"
|
msgstr "Sans limite"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Ordre de la liste"
|
msgstr "Ordre de la liste"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Titre du livre"
|
msgstr "Titre du livre"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Note"
|
msgstr "Note"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Trier par"
|
msgstr "Trier par"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Ordre croissant"
|
msgstr "Ordre croissant"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Ordre décroissant"
|
msgstr "Ordre décroissant"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début."
|
msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Fédéré"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Bloqué"
|
msgstr "Bloqué"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s n’est pas une remote_id valide."
|
msgstr "%(value)s n’est pas une remote_id valide."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s n’est pas un nom de compte valide."
|
msgstr "%(value)s n’est pas un nom de compte valide."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "nom du compte :"
|
msgstr "nom du compte :"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Ce nom est déjà associé à un compte."
|
msgstr "Ce nom est déjà associé à un compte."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Ce nom est déjà associé à un compte."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Public"
|
msgstr "Public"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Public"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Non listé"
|
msgstr "Non listé"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Abonné(e)s"
|
msgstr "Abonné(e)s"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugais européen)"
|
msgstr "Português Europeu (Portugais européen)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr "Suédois (Svenska)"
|
msgstr "Svenska (Suédois)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Admin"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Envoyer un message direct"
|
msgstr "Envoyer un message direct"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Propriétés physiques"
|
msgstr "Propriétés physiques"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Format :"
|
msgstr "Format :"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Éditions de %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Éditions de <a href=\"%(work_path)s\">« %(work_title)s »</a>"
|
msgstr "Éditions de <a href=\"%(work_path)s\">« %(work_title)s »</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Tou(te)s"
|
msgstr "Tou(te)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Langue :"
|
msgstr "Langue :"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Rechercher des éditions"
|
msgstr "Rechercher des éditions"
|
||||||
|
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Aucun lien n’est disponible pour ce domaine."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Retour aux signalements"
|
msgstr "Retour aux signalements"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Rapporteur du message"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Mise à jour de votre rapport :"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Statuts signalés"
|
msgstr "Statuts signalés"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "Le statut a été supprimé"
|
msgstr "Le statut a été supprimé"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Liens signalés"
|
msgstr "Liens signalés"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Commentaires de l’équipe de modération"
|
msgstr "Commentaires de l’équipe de modération"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Commentaire"
|
msgstr "Commentaire"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "pourcent"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "sur %(pages)s pages"
|
msgstr "sur %(pages)s pages"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Répondre"
|
msgstr "Répondre"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Contenu"
|
msgstr "Contenu"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Des filtres sont appliqués"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Annuler les filtres"
|
msgstr "Annuler les filtres"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Appliquer les filtres"
|
msgstr "Appliquer les filtres"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 05:04\n"
|
"PO-Revision-Date: 2022-02-04 21:01\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Galician\n"
|
"Language-Team: Galician\n"
|
||||||
"Language: gl\n"
|
"Language: gl\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Xa existe unha usuaria con este email."
|
msgstr "Xa existe unha usuaria con este email."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Un día"
|
msgstr "Un día"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Unha semana"
|
msgstr "Unha semana"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Un mes"
|
msgstr "Un mes"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Non caduca"
|
msgstr "Non caduca"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} usos"
|
msgstr "{i} usos"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Sen límite"
|
msgstr "Sen límite"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Orde da listaxe"
|
msgstr "Orde da listaxe"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Título do libro"
|
msgstr "Título do libro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Puntuación"
|
msgstr "Puntuación"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Ascendente"
|
msgstr "Ascendente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Descendente"
|
msgstr "Descendente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "A data final da lectura non pode ser anterior á de inicio."
|
msgstr "A data final da lectura non pode ser anterior á de inicio."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Federado"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Bloqueado"
|
msgstr "Bloqueado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s non é un remote_id válido"
|
msgstr "%(value)s non é un remote_id válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s non é un nome de usuaria válido"
|
msgstr "%(value)s non é un nome de usuaria válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "nome de usuaria"
|
msgstr "nome de usuaria"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Xa existe unha usuaria con ese nome."
|
msgstr "Xa existe unha usuaria con ese nome."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Xa existe unha usuaria con ese nome."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Público"
|
msgstr "Público"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Público"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Non listado"
|
msgstr "Non listado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Seguidoras"
|
msgstr "Seguidoras"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portugués europeo)"
|
msgstr "Português Europeu (Portugués europeo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr "Sueco (Svenska)"
|
msgstr "Sueco (Swedish)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Admin"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Enviar mensaxe directa"
|
msgstr "Enviar mensaxe directa"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Propiedades físicas"
|
msgstr "Propiedades físicas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Formato:"
|
msgstr "Formato:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Edicións de %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Edicións de <a href=\"%(work_path)s\">%(work_title)s</a>"
|
msgstr "Edicións de <a href=\"%(work_path)s\">%(work_title)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Calquera"
|
msgstr "Calquera"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Idioma:"
|
msgstr "Idioma:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Buscar edicións"
|
msgstr "Buscar edicións"
|
||||||
|
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Non hai ligazóns dispoñibles para este dominio."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Volver a denuncias"
|
msgstr "Volver a denuncias"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Denunciante"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Actualiza a denuncia:"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Estados dununciados"
|
msgstr "Estados dununciados"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "O estado foi eliminado"
|
msgstr "O estado foi eliminado"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Ligazóns denunciadas"
|
msgstr "Ligazóns denunciadas"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Comentarios da moderación"
|
msgstr "Comentarios da moderación"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Comentario"
|
msgstr "Comentario"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "porcentaxe"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "de %(pages)s páxinas"
|
msgstr "de %(pages)s páxinas"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Contido"
|
msgstr "Contido"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Filtros aplicados"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Limpar filtros"
|
msgstr "Limpar filtros"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Aplicar filtros"
|
msgstr "Aplicar filtros"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 19:04\n"
|
"PO-Revision-Date: 2022-02-04 21:01\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Esiste già un'utenza con questo indirizzo email."
|
msgstr "Esiste già un'utenza con questo indirizzo email."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Un giorno"
|
msgstr "Un giorno"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Una settimana"
|
msgstr "Una settimana"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Un mese"
|
msgstr "Un mese"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Non scade"
|
msgstr "Non scade"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} usi"
|
msgstr "{i} usi"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Illimitato"
|
msgstr "Illimitato"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Ordina Lista"
|
msgstr "Ordina Lista"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Titolo del libro"
|
msgstr "Titolo del libro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Valutazione"
|
msgstr "Valutazione"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordina per"
|
msgstr "Ordina per"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Crescente"
|
msgstr "Crescente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Decrescente"
|
msgstr "Decrescente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "La data di fine lettura non può essere precedente alla data di inizio."
|
msgstr "La data di fine lettura non può essere precedente alla data di inizio."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Federato"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Bloccato"
|
msgstr "Bloccato"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s non è un Id remoto valido"
|
msgstr "%(value)s non è un Id remoto valido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s non è un nome utente valido"
|
msgstr "%(value)s non è un nome utente valido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "nome utente"
|
msgstr "nome utente"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Un utente con questo nome utente esiste già."
|
msgstr "Un utente con questo nome utente esiste già."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Un utente con questo nome utente esiste già."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Pubblico"
|
msgstr "Pubblico"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Pubblico"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Non in lista"
|
msgstr "Non in lista"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Followers"
|
msgstr "Followers"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Portoghese europeo)"
|
msgstr "Português Europeu (Portoghese europeo)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr "Swedish (Svedese)"
|
msgstr "Svenska (Svedese)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Admin"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Invia messaggio diretto"
|
msgstr "Invia messaggio diretto"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Caratteristiche"
|
msgstr "Caratteristiche"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Formato:"
|
msgstr "Formato:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Edizioni di %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Edizioni di <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Edizioni di <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Qualsiasi"
|
msgstr "Qualsiasi"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Lingua:"
|
msgstr "Lingua:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Ricerca edizioni"
|
msgstr "Ricerca edizioni"
|
||||||
|
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Nessun collegamento disponibile per questo libro."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Tornare all'elenco dei report"
|
msgstr "Tornare all'elenco dei report"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Messaggio segnalato"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Aggiornamento sul tuo rapporto:"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Stati segnalati"
|
msgstr "Stati segnalati"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "Lo stato è stato eliminato"
|
msgstr "Lo stato è stato eliminato"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Collegamenti segnalati"
|
msgstr "Collegamenti segnalati"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Commenti del moderatore"
|
msgstr "Commenti del moderatore"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Commenta"
|
msgstr "Commenta"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "percentuale"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "di %(pages)s pagine"
|
msgstr "di %(pages)s pagine"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Rispondi"
|
msgstr "Rispondi"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Contenuto"
|
msgstr "Contenuto"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Filtri applicati"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Rimuovi filtri"
|
msgstr "Rimuovi filtri"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Applica filtri"
|
msgstr "Applica filtri"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-30 17:27\n"
|
"PO-Revision-Date: 2022-02-04 21:00\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Lithuanian\n"
|
"Language-Team: Lithuanian\n"
|
||||||
"Language: lt\n"
|
"Language: lt\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Vartotojas su šiuo el. pašto adresu jau yra."
|
msgstr "Vartotojas su šiuo el. pašto adresu jau yra."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Diena"
|
msgstr "Diena"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Savaitė"
|
msgstr "Savaitė"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Mėnuo"
|
msgstr "Mėnuo"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Galiojimas nesibaigia"
|
msgstr "Galiojimas nesibaigia"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} naudoja"
|
msgstr "{i} naudoja"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Neribota"
|
msgstr "Neribota"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Kaip pridėta į sąrašą"
|
msgstr "Kaip pridėta į sąrašą"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Knygos antraštė"
|
msgstr "Knygos antraštė"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Įvertinimas"
|
msgstr "Įvertinimas"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Rūšiuoti pagal"
|
msgstr "Rūšiuoti pagal"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Didėjančia tvarka"
|
msgstr "Didėjančia tvarka"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Mažėjančia tvarka"
|
msgstr "Mažėjančia tvarka"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą."
|
msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Susijungę"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Užblokuoti"
|
msgstr "Užblokuoti"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s yra negaliojantis remote_id"
|
msgstr "%(value)s yra negaliojantis remote_id"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s yra negaliojantis naudotojo vardas"
|
msgstr "%(value)s yra negaliojantis naudotojo vardas"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "naudotojo vardas"
|
msgstr "naudotojo vardas"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Toks naudotojo vardas jau egzistuoja."
|
msgstr "Toks naudotojo vardas jau egzistuoja."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Toks naudotojo vardas jau egzistuoja."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Viešas"
|
msgstr "Viešas"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Viešas"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Slaptas"
|
msgstr "Slaptas"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Sekėjai"
|
msgstr "Sekėjai"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Europos portugalų)"
|
msgstr "Português Europeu (Europos portugalų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr "Švedų (Swedish)"
|
msgstr "Svenska (Švedų)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -347,7 +355,7 @@ msgstr "<a href=\"%(book_path)s\"><em>%(title)s</em></a> labiausiai kontroversi
|
||||||
|
|
||||||
#: bookwyrm/templates/about/about.html:89
|
#: bookwyrm/templates/about/about.html:89
|
||||||
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, <a href='https://joinbookwyrm.com/get-involved' target='_blank'>reach out</a> and make yourself heard."
|
||||||
msgstr ""
|
msgstr "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:96
|
||||||
msgid "Meet your admins"
|
msgid "Meet your admins"
|
||||||
|
@ -356,7 +364,7 @@ msgstr "Šio serverio administratoriai"
|
||||||
#: bookwyrm/templates/about/about.html:99
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
msgstr ""
|
msgstr "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:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Administravimas"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Siųsti asmeninę žinutę"
|
msgstr "Siųsti asmeninę žinutę"
|
||||||
|
|
||||||
|
@ -1027,7 +1035,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Fizinės savybės"
|
msgstr "Fizinės savybės"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Formatas:"
|
msgstr "Formatas:"
|
||||||
|
|
||||||
|
@ -1065,17 +1073,17 @@ msgstr "Knygos %(book_title)s leidimai"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> leidimai"
|
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> leidimai"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Bet kas"
|
msgstr "Bet kas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Kalba:"
|
msgstr "Kalba:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Paieškos leidimai"
|
msgstr "Paieškos leidimai"
|
||||||
|
|
||||||
|
@ -2919,7 +2927,7 @@ msgstr "Trinate tai, kas perskaityta ir %(count)s susietų progreso naujinių."
|
||||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:8
|
#: bookwyrm/templates/readthrough/readthrough_modal.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Update read dates for \"<em>%(title)s</em>\""
|
msgid "Update read dates for \"<em>%(title)s</em>\""
|
||||||
msgstr ""
|
msgstr "Atnaujinkite knygos „<em>%(title)s</em>“ skaitymo datas"
|
||||||
|
|
||||||
#: bookwyrm/templates/readthrough/readthrough_form.html:10
|
#: bookwyrm/templates/readthrough/readthrough_form.html:10
|
||||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:31
|
#: bookwyrm/templates/readthrough/readthrough_modal.html:31
|
||||||
|
@ -2970,7 +2978,7 @@ msgstr "Ištrinti šias skaitymo datas"
|
||||||
#: bookwyrm/templates/readthrough/readthrough_modal.html:12
|
#: bookwyrm/templates/readthrough/readthrough_modal.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add read dates for \"<em>%(title)s</em>\""
|
msgid "Add read dates for \"<em>%(title)s</em>\""
|
||||||
msgstr ""
|
msgstr "Pridėkite knygos „<em>%(title)s</em>“ skaitymo datas"
|
||||||
|
|
||||||
#: bookwyrm/templates/report.html:5
|
#: bookwyrm/templates/report.html:5
|
||||||
#: bookwyrm/templates/snippets/report_button.html:13
|
#: bookwyrm/templates/snippets/report_button.html:13
|
||||||
|
@ -3154,10 +3162,10 @@ msgstr[3] "%(display_count)s atvirų ataskaitų"
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(display_count)s domain needs review"
|
msgid "%(display_count)s domain needs review"
|
||||||
msgid_plural "%(display_count)s domains need review"
|
msgid_plural "%(display_count)s domains need review"
|
||||||
msgstr[0] ""
|
msgstr[0] "%(display_count)s domeną reikia peržiūrėti"
|
||||||
msgstr[1] ""
|
msgstr[1] "%(display_count)s domenus reikia peržiūrėti"
|
||||||
msgstr[2] ""
|
msgstr[2] "%(display_count)s domenus reikia peržiūrėti"
|
||||||
msgstr[3] ""
|
msgstr[3] "%(display_count)s domenus reikia peržiūrėti"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/dashboard/dashboard.html:65
|
#: bookwyrm/templates/settings/dashboard/dashboard.html:65
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -3569,11 +3577,11 @@ msgstr "Puslapio nustatymai"
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Set display name for %(url)s"
|
msgid "Set display name for %(url)s"
|
||||||
msgstr ""
|
msgstr "Nurodykite pavadinimą puslapiui %(url)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:11
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:11
|
||||||
msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
|
msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
|
||||||
msgstr ""
|
msgstr "Prieš parodant susietus domenus knygų puslapiuose, juos reikia patvirtinti. Užtikrinkite, kad domenai nenukreipia į brukalo ar kenkėjiškas svetaines ir tai nėra apgaulingos nuorodos."
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:45
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:45
|
||||||
msgid "Set display name"
|
msgid "Set display name"
|
||||||
|
@ -3597,29 +3605,37 @@ msgstr "Šiuo metu užblokuotų domenų nėra"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:39
|
#: bookwyrm/templates/settings/link_domains/link_table.html:39
|
||||||
msgid "No links available for this domain."
|
msgid "No links available for this domain."
|
||||||
msgstr ""
|
msgstr "Šiam domenui nuorodų nėra."
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:11
|
#: bookwyrm/templates/settings/reports/report.html:11
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Atgal į pranešimus"
|
msgstr "Atgal į pranešimus"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Žinučių pranešėjas"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Naujausia informacija apie jūsų pranešimą:"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Praneštos būsenos"
|
msgstr "Praneštos būsenos"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "Būsena ištrinta"
|
msgstr "Būsena ištrinta"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Raportuotos nuorodos"
|
msgstr "Raportuotos nuorodos"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Moderatoriaus komentarai"
|
msgstr "Moderatoriaus komentarai"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Komentuoti"
|
msgstr "Komentuoti"
|
||||||
|
@ -3627,17 +3643,17 @@ msgstr "Komentuoti"
|
||||||
#: bookwyrm/templates/settings/reports/report_header.html:6
|
#: bookwyrm/templates/settings/reports/report_header.html:6
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report #%(report_id)s: Status posted by @%(username)s"
|
msgid "Report #%(report_id)s: Status posted by @%(username)s"
|
||||||
msgstr ""
|
msgstr "Pranešimas #%(report_id)s: publikavo @%(username)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_header.html:12
|
#: bookwyrm/templates/settings/reports/report_header.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report #%(report_id)s: Link added by @%(username)s"
|
msgid "Report #%(report_id)s: Link added by @%(username)s"
|
||||||
msgstr ""
|
msgstr "Pranešimas #%(report_id)s: nuorodą pridėjo @%(username)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_header.html:18
|
#: bookwyrm/templates/settings/reports/report_header.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report #%(report_id)s: User @%(username)s"
|
msgid "Report #%(report_id)s: User @%(username)s"
|
||||||
msgstr ""
|
msgstr "Pranešimas #%(report_id)s: naudotojas @%(username)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_links_table.html:17
|
#: bookwyrm/templates/settings/reports/report_links_table.html:17
|
||||||
msgid "Block domain"
|
msgid "Block domain"
|
||||||
|
@ -3650,7 +3666,7 @@ msgstr "Užrašų nepateikta"
|
||||||
#: bookwyrm/templates/settings/reports/report_preview.html:24
|
#: bookwyrm/templates/settings/reports/report_preview.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Reported by <a href=\"%(path)s\">@%(username)s</a>"
|
msgid "Reported by <a href=\"%(path)s\">@%(username)s</a>"
|
||||||
msgstr ""
|
msgstr "Pranešė <a href=\"%(path)s\">@%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_preview.html:34
|
#: bookwyrm/templates/settings/reports/report_preview.html:34
|
||||||
msgid "Re-open"
|
msgid "Re-open"
|
||||||
|
@ -4048,14 +4064,14 @@ msgstr "procentai"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "iš %(pages)s psl."
|
msgstr "iš %(pages)s psl."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Atsakyti"
|
msgstr "Atsakyti"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Turinys"
|
msgstr "Turinys"
|
||||||
|
|
||||||
|
@ -4133,7 +4149,7 @@ msgstr "Taikyti filtrai"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Valyti filtrus"
|
msgstr "Valyti filtrus"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Taikyti filtrus"
|
msgstr "Taikyti filtrus"
|
||||||
|
|
||||||
|
@ -4210,15 +4226,15 @@ msgstr[3] "įvertinta <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rat
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] "Knygos „%(book_title)s“ apžvalga (%(display_rating)s žvaigždutė): %(review_title)s"
|
||||||
msgstr[1] ""
|
msgstr[1] "Knygos „%(book_title)s“ apžvalga (%(display_rating)s žvaigždutės): %(review_title)s"
|
||||||
msgstr[2] ""
|
msgstr[2] "Knygos „%(book_title)s“ apžvalga (%(display_rating)s žvaigždučių): %(review_title)s"
|
||||||
msgstr[3] ""
|
msgstr[3] "Knygos „%(book_title)s“ apžvalga (%(display_rating)s žvaigždutės): %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr "Knygos „%(book_title)s“ apžvalga: %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4327,12 +4343,12 @@ msgstr "Registruotis"
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:8
|
#: bookwyrm/templates/snippets/report_modal.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report @%(username)s's status"
|
msgid "Report @%(username)s's status"
|
||||||
msgstr ""
|
msgstr "Pranešti apie @%(username)s būseną"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:10
|
#: bookwyrm/templates/snippets/report_modal.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report %(domain)s link"
|
msgid "Report %(domain)s link"
|
||||||
msgstr ""
|
msgstr "Pranešti apie %(domain)s nuorodą"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:12
|
#: bookwyrm/templates/snippets/report_modal.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4346,7 +4362,7 @@ msgstr "Šis pranešimas bus nusiųstas peržiūrėti %(site_name)s puslapio mod
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:36
|
#: bookwyrm/templates/snippets/report_modal.html:36
|
||||||
msgid "Links from this domain will be removed until your report has been reviewed."
|
msgid "Links from this domain will be removed until your report has been reviewed."
|
||||||
msgstr ""
|
msgstr "Kol neperžiūrėsime jūsų pranešimo, nuoroda iš šio domeno bus pašalinta."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:41
|
#: bookwyrm/templates/snippets/report_modal.html:41
|
||||||
msgid "More info about this report:"
|
msgid "More info about this report:"
|
||||||
|
@ -4420,7 +4436,7 @@ msgstr "redaguota %(date)s"
|
||||||
#: bookwyrm/templates/snippets/status/headers/comment.html:8
|
#: bookwyrm/templates/snippets/status/headers/comment.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "commented on <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "commented on <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr ""
|
msgstr "pakomentavo autoriaus <a href=\"%(author_path)s\">%(author_name)s</a> knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/comment.html:15
|
#: bookwyrm/templates/snippets/status/headers/comment.html:15
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4435,7 +4451,7 @@ msgstr "atsakė į <a href=\"%(user_path)s\">%(username)s</a> <a href=\"%(status
|
||||||
#: bookwyrm/templates/snippets/status/headers/quotation.html:8
|
#: bookwyrm/templates/snippets/status/headers/quotation.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "quoted <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "quoted <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr ""
|
msgstr "pacitavo <a href=\"%(author_path)s\">%(author_name)s</a> knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/quotation.html:15
|
#: bookwyrm/templates/snippets/status/headers/quotation.html:15
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4450,7 +4466,7 @@ msgstr "įvertino <a href=\"%(book_path)s\">%(book)s</a>:"
|
||||||
#: bookwyrm/templates/snippets/status/headers/read.html:10
|
#: bookwyrm/templates/snippets/status/headers/read.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "finished reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "finished reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr "pabaigė skaityti <a href=\"%(author_path)s\">%(author_name)s</a> autoriaus knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
msgstr "pabaigė skaityti <a href=\"%(author_path)s\">%(author_name)s</a> knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/read.html:17
|
#: bookwyrm/templates/snippets/status/headers/read.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4460,7 +4476,7 @@ msgstr "baigė skaityti <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
#: bookwyrm/templates/snippets/status/headers/reading.html:10
|
#: bookwyrm/templates/snippets/status/headers/reading.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "started reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "started reading <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr "pradėjo skaityti <a href=\"%(author_path)s\">%(author_name)s</a> autoriaus knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
msgstr "pradėjo skaityti <a href=\"%(author_path)s\">%(author_name)s</a> knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/reading.html:17
|
#: bookwyrm/templates/snippets/status/headers/reading.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4480,12 +4496,12 @@ msgstr "apžvelgė <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
#: bookwyrm/templates/snippets/status/headers/to_read.html:10
|
#: bookwyrm/templates/snippets/status/headers/to_read.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a> by <a href=\"%(author_path)s\">%(author_name)s</a>"
|
||||||
msgstr ""
|
msgstr "nori perskaityti <a href=\"%(author_path)s\">%(author_name)s</a> knygą <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/headers/to_read.html:17
|
#: bookwyrm/templates/snippets/status/headers/to_read.html:17
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a>"
|
msgid "wants to read <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
msgstr ""
|
msgstr "nori perskaityti <a href=\"%(book_path)s\">%(book)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:24
|
#: bookwyrm/templates/snippets/status/layout.html:24
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:17
|
#: bookwyrm/templates/snippets/status/status_options.html:17
|
||||||
|
@ -4714,8 +4730,8 @@ msgstr "Būsenos atnaujinimai iš {obj.display_name}"
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Load %(count)d unread status"
|
msgid "Load %(count)d unread status"
|
||||||
msgid_plural "Load %(count)d unread statuses"
|
msgid_plural "Load %(count)d unread statuses"
|
||||||
msgstr[0] ""
|
msgstr[0] "Įkelti %(count)d neperskaitytą statusą"
|
||||||
msgstr[1] ""
|
msgstr[1] "Įkelti %(count)d neperskaitytus statusus"
|
||||||
msgstr[2] ""
|
msgstr[2] "Įkelti %(count)d neperskaitytą statusą"
|
||||||
msgstr[3] ""
|
msgstr[3] "Įkelti %(count)d neperskaitytą statusą"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 04:03\n"
|
"PO-Revision-Date: 2022-02-04 21:00\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Norwegian\n"
|
"Language-Team: Norwegian\n"
|
||||||
"Language: no\n"
|
"Language: no\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Den e-postadressen er allerede registrert."
|
msgstr "Den e-postadressen er allerede registrert."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Én dag"
|
msgstr "Én dag"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Én uke"
|
msgstr "Én uke"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Én måned"
|
msgstr "Én måned"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Uendelig"
|
msgstr "Uendelig"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} ganger"
|
msgstr "{i} ganger"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Ubegrenset"
|
msgstr "Ubegrenset"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Liste rekkefølge"
|
msgstr "Liste rekkefølge"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Boktittel"
|
msgstr "Boktittel"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Vurdering"
|
msgstr "Vurdering"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sorter etter"
|
msgstr "Sorter etter"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Stigende"
|
msgstr "Stigende"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Synkende"
|
msgstr "Synkende"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "Sluttdato kan ikke være før startdato."
|
msgstr "Sluttdato kan ikke være før startdato."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Føderert"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Blokkert"
|
msgstr "Blokkert"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s er en ugyldig remote_id"
|
msgstr "%(value)s er en ugyldig remote_id"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s er et ugyldig brukernavn"
|
msgstr "%(value)s er et ugyldig brukernavn"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "brukernavn"
|
msgstr "brukernavn"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "En bruker med det brukernavnet eksisterer allerede."
|
msgstr "En bruker med det brukernavnet eksisterer allerede."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "En bruker med det brukernavnet eksisterer allerede."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Offentlig"
|
msgstr "Offentlig"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Offentlig"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Uoppført"
|
msgstr "Uoppført"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Følgere"
|
msgstr "Følgere"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -193,20 +201,20 @@ msgstr "Privat"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:51
|
#: bookwyrm/models/link.py:51
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr ""
|
msgstr "Gratis"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:52
|
#: bookwyrm/models/link.py:52
|
||||||
msgid "Purchasable"
|
msgid "Purchasable"
|
||||||
msgstr ""
|
msgstr "Tilgjengelig for kjøp"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:53
|
#: bookwyrm/models/link.py:53
|
||||||
msgid "Available for loan"
|
msgid "Available for loan"
|
||||||
msgstr ""
|
msgstr "Tilgjengelig for utlån"
|
||||||
|
|
||||||
#: bookwyrm/models/link.py:70
|
#: bookwyrm/models/link.py:70
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:23
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:23
|
||||||
msgid "Approved"
|
msgid "Approved"
|
||||||
msgstr ""
|
msgstr "Godkjent"
|
||||||
|
|
||||||
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
|
#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272
|
||||||
msgid "Reviews"
|
msgid "Reviews"
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Europeisk Portugisisk)"
|
msgstr "Português Europeu (Europeisk Portugisisk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr "Svenska (Svensk)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -328,7 +336,7 @@ msgstr "Velkommen til %(site_name)s!"
|
||||||
#: bookwyrm/templates/about/about.html:23
|
#: bookwyrm/templates/about/about.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
msgid "%(site_name)s is part of <em>BookWyrm</em>, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the <a href=\"https://joinbookwyrm.com/instances/\" target=\"_blank\">BookWyrm network</a>, this community is unique."
|
||||||
msgstr ""
|
msgstr "%(site_name)s 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:40
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -356,7 +364,7 @@ msgstr "Møt administratorene"
|
||||||
#: bookwyrm/templates/about/about.html:99
|
#: bookwyrm/templates/about/about.html:99
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the <a href=\"coc_path\">code of conduct</a>, and respond when users report spam and bad behavior."
|
||||||
msgstr ""
|
msgstr "%(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:113
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Admin"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Send direktemelding"
|
msgstr "Send direktemelding"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Fysiske egenskaper"
|
msgstr "Fysiske egenskaper"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Format:"
|
msgstr "Format:"
|
||||||
|
|
||||||
|
@ -1055,67 +1063,69 @@ msgstr "Utgaver av %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Utgaver av <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Utgaver av <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Språk:"
|
msgstr "Språk:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Søk etter utgaver"
|
msgstr "Søk etter utgaver"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:6
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:6
|
||||||
msgid "Add file link"
|
msgid "Add file link"
|
||||||
msgstr ""
|
msgstr "Legg til fillenke"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:19
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:19
|
||||||
msgid "Links from unknown domains will need to be approved by a moderator before they are added."
|
msgid "Links from unknown domains will need to be approved by a moderator before they are added."
|
||||||
msgstr ""
|
msgstr "Lenker fra ukjente domener må være godkjent av en moderator før de kan legges til."
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:24
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:24
|
||||||
msgid "URL:"
|
msgid "URL:"
|
||||||
msgstr ""
|
msgstr "URL:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:29
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:29
|
||||||
msgid "File type:"
|
msgid "File type:"
|
||||||
msgstr ""
|
msgstr "Filtype:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/add_link_modal.html:48
|
#: bookwyrm/templates/book/file_links/add_link_modal.html:48
|
||||||
msgid "Availability:"
|
msgid "Availability:"
|
||||||
msgstr ""
|
msgstr "Tilgjengelighet:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:5
|
#: bookwyrm/templates/book/file_links/edit_links.html:5
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:22
|
#: bookwyrm/templates/book/file_links/edit_links.html:22
|
||||||
#: bookwyrm/templates/book/file_links/links.html:53
|
#: bookwyrm/templates/book/file_links/links.html:53
|
||||||
msgid "Edit links"
|
msgid "Edit links"
|
||||||
msgstr ""
|
msgstr "Rediger lenker"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:11
|
#: bookwyrm/templates/book/file_links/edit_links.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "\n"
|
msgid "\n"
|
||||||
" Links for \"<em>%(title)s</em>\"\n"
|
" Links for \"<em>%(title)s</em>\"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr "\n"
|
||||||
|
" Lenker for \"<em>%(title)s</em>\"\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:32
|
#: bookwyrm/templates/book/file_links/edit_links.html:32
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:6
|
#: bookwyrm/templates/settings/link_domains/link_table.html:6
|
||||||
msgid "URL"
|
msgid "URL"
|
||||||
msgstr ""
|
msgstr "URL"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:33
|
#: bookwyrm/templates/book/file_links/edit_links.html:33
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:7
|
#: bookwyrm/templates/settings/link_domains/link_table.html:7
|
||||||
msgid "Added by"
|
msgid "Added by"
|
||||||
msgstr ""
|
msgstr "Lagt til av"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:34
|
#: bookwyrm/templates/book/file_links/edit_links.html:34
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:8
|
#: bookwyrm/templates/settings/link_domains/link_table.html:8
|
||||||
msgid "Filetype"
|
msgid "Filetype"
|
||||||
msgstr ""
|
msgstr "Filtype"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:35
|
#: bookwyrm/templates/book/file_links/edit_links.html:35
|
||||||
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
|
#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25
|
||||||
|
@ -1143,41 +1153,41 @@ msgstr "Handlinger"
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:53
|
#: bookwyrm/templates/book/file_links/edit_links.html:53
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
#: bookwyrm/templates/book/file_links/verification_modal.html:25
|
||||||
msgid "Report spam"
|
msgid "Report spam"
|
||||||
msgstr ""
|
msgstr "Rapporter spam"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:97
|
#: bookwyrm/templates/book/file_links/edit_links.html:97
|
||||||
msgid "No links available for this book."
|
msgid "No links available for this book."
|
||||||
msgstr ""
|
msgstr "Ingen lenker er tilgjengelig for denne boka."
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/edit_links.html:108
|
#: bookwyrm/templates/book/file_links/edit_links.html:108
|
||||||
#: bookwyrm/templates/book/file_links/links.html:18
|
#: bookwyrm/templates/book/file_links/links.html:18
|
||||||
msgid "Add link to file"
|
msgid "Add link to file"
|
||||||
msgstr ""
|
msgstr "Legg til lenke til fil"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/file_link_page.html:6
|
#: bookwyrm/templates/book/file_links/file_link_page.html:6
|
||||||
msgid "File Links"
|
msgid "File Links"
|
||||||
msgstr ""
|
msgstr "Fillenker"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/links.html:9
|
#: bookwyrm/templates/book/file_links/links.html:9
|
||||||
msgid "Get a copy"
|
msgid "Get a copy"
|
||||||
msgstr ""
|
msgstr "Få en kopi"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/links.html:47
|
#: bookwyrm/templates/book/file_links/links.html:47
|
||||||
msgid "No links available"
|
msgid "No links available"
|
||||||
msgstr ""
|
msgstr "Ingen tilgjengelige lenker"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:5
|
#: bookwyrm/templates/book/file_links/verification_modal.html:5
|
||||||
msgid "Leaving BookWyrm"
|
msgid "Leaving BookWyrm"
|
||||||
msgstr ""
|
msgstr "Forlater BookWyrm"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/file_links/verification_modal.html:11
|
#: bookwyrm/templates/book/file_links/verification_modal.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
|
msgid "This link is taking you to: <code>%(link_url)s</code>.<br> Is that where you'd like to go?"
|
||||||
msgstr ""
|
msgstr "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:20
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr ""
|
msgstr "Fortsett"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/publisher_info.html:23
|
#: bookwyrm/templates/book/publisher_info.html:23
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -2045,7 +2055,7 @@ msgstr "Avslå"
|
||||||
|
|
||||||
#: bookwyrm/templates/import/tooltip.html:6
|
#: bookwyrm/templates/import/tooltip.html:6
|
||||||
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
msgid "You can download your Goodreads data from the <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export page</a> of your Goodreads account."
|
||||||
msgstr ""
|
msgstr "Du kan laste ned Goodread-dataene dine fra <a href=\"https://www.goodreads.com/review/import\" target=\"_blank\" rel=\"noopener noreferrer\">Import/Export sida</a> på Goodread-kontoen din."
|
||||||
|
|
||||||
#: bookwyrm/templates/import/troubleshoot.html:7
|
#: bookwyrm/templates/import/troubleshoot.html:7
|
||||||
msgid "Failed items"
|
msgid "Failed items"
|
||||||
|
@ -2248,12 +2258,12 @@ msgstr "BookWyrms kildekode er fritt tilgjengelig. Du kan bidra eller rapportere
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:8
|
#: bookwyrm/templates/lists/add_item_modal.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add \"<em>%(title)s</em>\" to this list"
|
msgid "Add \"<em>%(title)s</em>\" to this list"
|
||||||
msgstr ""
|
msgstr "Legg til \"<em>%(title)s</em>\" på denne lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:12
|
#: bookwyrm/templates/lists/add_item_modal.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Suggest \"<em>%(title)s</em>\" for this list"
|
msgid "Suggest \"<em>%(title)s</em>\" for this list"
|
||||||
msgstr ""
|
msgstr "Foreslå \"<em>%(title)s</em>\" for denne lista"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:39
|
#: bookwyrm/templates/lists/add_item_modal.html:39
|
||||||
#: bookwyrm/templates/lists/list.html:249
|
#: bookwyrm/templates/lists/list.html:249
|
||||||
|
@ -2295,7 +2305,7 @@ msgstr "Nå er du klar!"
|
||||||
#: bookwyrm/templates/lists/list.html:83
|
#: bookwyrm/templates/lists/list.html:83
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(user_path)s\">%(username)s</a> says:"
|
msgid "<a href=\"%(user_path)s\">%(username)s</a> says:"
|
||||||
msgstr ""
|
msgstr "<a href=\"%(user_path)s\">%(username)s</a> sier:"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:55
|
#: bookwyrm/templates/lists/curate.html:55
|
||||||
msgid "Suggested by"
|
msgid "Suggested by"
|
||||||
|
@ -2393,7 +2403,7 @@ msgstr "Notater:"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/item_notes_field.html:19
|
#: bookwyrm/templates/lists/item_notes_field.html:19
|
||||||
msgid "An optional note that will be displayed with the book."
|
msgid "An optional note that will be displayed with the book."
|
||||||
msgstr ""
|
msgstr "En valgfri merknad som vil vises sammen med boken."
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:36
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
|
@ -2405,11 +2415,11 @@ msgstr "Du har nå lagt til ei bok i denne lista!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:96
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "Edit notes"
|
msgid "Edit notes"
|
||||||
msgstr ""
|
msgstr "Rediger merknader"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:111
|
#: bookwyrm/templates/lists/list.html:111
|
||||||
msgid "Add notes"
|
msgid "Add notes"
|
||||||
msgstr ""
|
msgstr "Legg til merknader"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:123
|
#: bookwyrm/templates/lists/list.html:123
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -3129,8 +3139,8 @@ msgstr[1] "%(display_count)s åpne rapporter"
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(display_count)s domain needs review"
|
msgid "%(display_count)s domain needs review"
|
||||||
msgid_plural "%(display_count)s domains need review"
|
msgid_plural "%(display_count)s domains need review"
|
||||||
msgstr[0] ""
|
msgstr[0] "%(display_count)s domene må godkjennes"
|
||||||
msgstr[1] ""
|
msgstr[1] "%(display_count)s domener må godkjennes"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/dashboard/dashboard.html:65
|
#: bookwyrm/templates/settings/dashboard/dashboard.html:65
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -3523,7 +3533,7 @@ msgstr "Rapporter"
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:5
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:5
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:7
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:7
|
||||||
msgid "Link Domains"
|
msgid "Link Domains"
|
||||||
msgstr ""
|
msgstr "Lenkedomener"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/layout.html:72
|
#: bookwyrm/templates/settings/layout.html:72
|
||||||
msgid "Instance Settings"
|
msgid "Instance Settings"
|
||||||
|
@ -3538,57 +3548,65 @@ msgstr "Sideinnstillinger"
|
||||||
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
|
#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Set display name for %(url)s"
|
msgid "Set display name for %(url)s"
|
||||||
msgstr ""
|
msgstr "Angi visningsnavn for %(url)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:11
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:11
|
||||||
msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
|
msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving."
|
||||||
msgstr ""
|
msgstr "Nettstedsdomener må godkjennes før de kan vises på boksidene. Vennligst sjekk at domenene ikke fører spam, ondsinnet kode eller lurelenker før du godkjenner."
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:45
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:45
|
||||||
msgid "Set display name"
|
msgid "Set display name"
|
||||||
msgstr ""
|
msgstr "Angi visningsnavn"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:53
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:53
|
||||||
msgid "View links"
|
msgid "View links"
|
||||||
msgstr ""
|
msgstr "Vis lenker"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:96
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:96
|
||||||
msgid "No domains currently approved"
|
msgid "No domains currently approved"
|
||||||
msgstr ""
|
msgstr "Ingen domener er hittil godkjent"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:98
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:98
|
||||||
msgid "No domains currently pending"
|
msgid "No domains currently pending"
|
||||||
msgstr ""
|
msgstr "Ingen domener venter for tiden på godkjenning"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_domains.html:100
|
#: bookwyrm/templates/settings/link_domains/link_domains.html:100
|
||||||
msgid "No domains currently blocked"
|
msgid "No domains currently blocked"
|
||||||
msgstr ""
|
msgstr "Ingen domener er for øyeblikket blokkert"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/link_domains/link_table.html:39
|
#: bookwyrm/templates/settings/link_domains/link_table.html:39
|
||||||
msgid "No links available for this domain."
|
msgid "No links available for this domain."
|
||||||
msgstr ""
|
msgstr "Ingen lenker tilgjengelig til dette domenet."
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:11
|
#: bookwyrm/templates/settings/reports/report.html:11
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Tilbake til rapporter"
|
msgstr "Tilbake til rapporter"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Send melding til rapportør"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Oppdatering på din rapport:"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Rapporterte statuser"
|
msgstr "Rapporterte statuser"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "Status er slettet"
|
msgstr "Status er slettet"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr ""
|
msgstr "Rapporterte lenker"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Moderatorkommentarer"
|
msgstr "Moderatorkommentarer"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentar"
|
msgstr "Kommentar"
|
||||||
|
@ -3596,21 +3614,21 @@ msgstr "Kommentar"
|
||||||
#: bookwyrm/templates/settings/reports/report_header.html:6
|
#: bookwyrm/templates/settings/reports/report_header.html:6
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report #%(report_id)s: Status posted by @%(username)s"
|
msgid "Report #%(report_id)s: Status posted by @%(username)s"
|
||||||
msgstr ""
|
msgstr "Rapportér #%(report_id)s: Status postet av @%(username)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_header.html:12
|
#: bookwyrm/templates/settings/reports/report_header.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report #%(report_id)s: Link added by @%(username)s"
|
msgid "Report #%(report_id)s: Link added by @%(username)s"
|
||||||
msgstr ""
|
msgstr "Rapportér #%(report_id)s: Lenke lagt til av @%(username)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_header.html:18
|
#: bookwyrm/templates/settings/reports/report_header.html:18
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report #%(report_id)s: User @%(username)s"
|
msgid "Report #%(report_id)s: User @%(username)s"
|
||||||
msgstr ""
|
msgstr "Rapportér #%(report_id)s: bruker @%(username)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_links_table.html:17
|
#: bookwyrm/templates/settings/reports/report_links_table.html:17
|
||||||
msgid "Block domain"
|
msgid "Block domain"
|
||||||
msgstr ""
|
msgstr "Blokkér domene"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_preview.html:17
|
#: bookwyrm/templates/settings/reports/report_preview.html:17
|
||||||
msgid "No notes provided"
|
msgid "No notes provided"
|
||||||
|
@ -3619,7 +3637,7 @@ msgstr "Ingen merknader finnes"
|
||||||
#: bookwyrm/templates/settings/reports/report_preview.html:24
|
#: bookwyrm/templates/settings/reports/report_preview.html:24
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Reported by <a href=\"%(path)s\">@%(username)s</a>"
|
msgid "Reported by <a href=\"%(path)s\">@%(username)s</a>"
|
||||||
msgstr ""
|
msgstr "Rapportert av <a href=\"%(path)s\">%(username)s</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report_preview.html:34
|
#: bookwyrm/templates/settings/reports/report_preview.html:34
|
||||||
msgid "Re-open"
|
msgid "Re-open"
|
||||||
|
@ -3865,7 +3883,7 @@ msgstr "Slettet for godt"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:8
|
||||||
msgid "User Actions"
|
msgid "User Actions"
|
||||||
msgstr ""
|
msgstr "Brukerhandlinger"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:21
|
||||||
msgid "Suspend user"
|
msgid "Suspend user"
|
||||||
|
@ -4013,14 +4031,14 @@ msgstr "prosent"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "av %(pages)s sider"
|
msgstr "av %(pages)s sider"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Svar"
|
msgstr "Svar"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Innhold"
|
msgstr "Innhold"
|
||||||
|
|
||||||
|
@ -4098,7 +4116,7 @@ msgstr "Filtrert visning"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Tøm filtre"
|
msgstr "Tøm filtre"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Bruk filtre"
|
msgstr "Bruk filtre"
|
||||||
|
|
||||||
|
@ -4167,13 +4185,13 @@ msgstr[1] "vurderte <em><a href=\"%(path)s\">%(title)s</a></em> til: %(display_r
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||||
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||||
msgstr[0] ""
|
msgstr[0] "Anmeldelse av \"%(book_title)s\" (%(display_rating)s stjerne): %(review_title)s"
|
||||||
msgstr[1] ""
|
msgstr[1] "Anmeldelse av \"%(book_title)s\" (%(display_rating)s stjerner): %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||||
msgstr ""
|
msgstr "Anmeldelse av \"%(book_title)s\": %(review_title)s"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/goal_form.html:4
|
#: bookwyrm/templates/snippets/goal_form.html:4
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4282,12 +4300,12 @@ msgstr "Registrer deg"
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:8
|
#: bookwyrm/templates/snippets/report_modal.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report @%(username)s's status"
|
msgid "Report @%(username)s's status"
|
||||||
msgstr ""
|
msgstr "Rapportér @%(username)s sin status"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:10
|
#: bookwyrm/templates/snippets/report_modal.html:10
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Report %(domain)s link"
|
msgid "Report %(domain)s link"
|
||||||
msgstr ""
|
msgstr "Rapportér %(domain)s lenke"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:12
|
#: bookwyrm/templates/snippets/report_modal.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -4301,7 +4319,7 @@ msgstr "Denne rapporten vil bli sendt til %(site_name)s sine moderatorer for gje
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:36
|
#: bookwyrm/templates/snippets/report_modal.html:36
|
||||||
msgid "Links from this domain will be removed until your report has been reviewed."
|
msgid "Links from this domain will be removed until your report has been reviewed."
|
||||||
msgstr ""
|
msgstr "Lenker fra dette domenet vil fjernes fram til rapporten din er ferbigbehandlet."
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/report_modal.html:41
|
#: bookwyrm/templates/snippets/report_modal.html:41
|
||||||
msgid "More info about this report:"
|
msgid "More info about this report:"
|
||||||
|
@ -4665,6 +4683,6 @@ msgstr "Statusoppdateringer fra {obj.display_name}"
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Load %(count)d unread status"
|
msgid "Load %(count)d unread status"
|
||||||
msgid_plural "Load %(count)d unread statuses"
|
msgid_plural "Load %(count)d unread statuses"
|
||||||
msgstr[0] ""
|
msgstr[0] "Last inn %(count)d ulest status"
|
||||||
msgstr[1] ""
|
msgstr[1] "Last inn %(count)d uleste statuser"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-29 14:28\n"
|
"PO-Revision-Date: 2022-02-04 22:13\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Portuguese, Brazilian\n"
|
"Language-Team: Portuguese, Brazilian\n"
|
||||||
"Language: pt\n"
|
"Language: pt\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr "Domínio bloqueado. Não tente adicionar este endereço novamente."
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr "Domínio já pendente. Por favor, tente novamente mais tarde."
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Já existe um usuário com este endereço de e-mail."
|
msgstr "Já existe um usuário com este endereço de e-mail."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Um dia"
|
msgstr "Um dia"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Uma semana"
|
msgstr "Uma semana"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Um mês"
|
msgstr "Um mês"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Não expira"
|
msgstr "Não expira"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} usos"
|
msgstr "{i} usos"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Ilimitado"
|
msgstr "Ilimitado"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Ordem de inserção"
|
msgstr "Ordem de inserção"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Título do livro"
|
msgstr "Título do livro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Avaliação"
|
msgstr "Avaliação"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Organizar por"
|
msgstr "Organizar por"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Crescente"
|
msgstr "Crescente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Decrescente"
|
msgstr "Decrescente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "A data de término da leitura não pode ser anterior a de início."
|
msgstr "A data de término da leitura não pode ser anterior a de início."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Federado"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Bloqueado"
|
msgstr "Bloqueado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s não é um remote_id válido"
|
msgstr "%(value)s não é um remote_id válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s não é um nome de usuário válido"
|
msgstr "%(value)s não é um nome de usuário válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "nome de usuário"
|
msgstr "nome de usuário"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Já existe um usuário com este nome."
|
msgstr "Já existe um usuário com este nome."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Já existe um usuário com este nome."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Público"
|
msgstr "Público"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Público"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Não listado"
|
msgstr "Não listado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Seguidores"
|
msgstr "Seguidores"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Português Europeu)"
|
msgstr "Português Europeu (Português Europeu)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr "Sueco (Svenska)"
|
msgstr "Svenska (Sueco)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Admin"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Enviar mensagem direta"
|
msgstr "Enviar mensagem direta"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Propriedades físicas"
|
msgstr "Propriedades físicas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Formato:"
|
msgstr "Formato:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Edições de %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Edições de <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Edições de <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Qualquer um"
|
msgstr "Qualquer um"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Idioma:"
|
msgstr "Idioma:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Procurar edições"
|
msgstr "Procurar edições"
|
||||||
|
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Nenhum link disponível para este domínio."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Voltar às denúncias"
|
msgstr "Voltar às denúncias"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Enviar mensagem a quem denunciou"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Atualização sobre sua denúncia:"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Publicações denunciadas"
|
msgstr "Publicações denunciadas"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "A publicação foi excluída"
|
msgstr "A publicação foi excluída"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Links denunciados"
|
msgstr "Links denunciados"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Comentários da moderação"
|
msgstr "Comentários da moderação"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Comentar"
|
msgstr "Comentar"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "porcentagem"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "de %(pages)s páginas"
|
msgstr "de %(pages)s páginas"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Conteúdo"
|
msgstr "Conteúdo"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Filtros aplicados"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Limpar filtros"
|
msgstr "Limpar filtros"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Aplicar filtros"
|
msgstr "Aplicar filtros"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 04:03\n"
|
"PO-Revision-Date: 2022-02-04 21:00\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Portuguese\n"
|
"Language-Team: Portuguese\n"
|
||||||
"Language: pt\n"
|
"Language: pt\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "Já existe um utilizador com este E-Mail."
|
msgstr "Já existe um utilizador com este E-Mail."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "Um Dia"
|
msgstr "Um Dia"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "Uma Semana"
|
msgstr "Uma Semana"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "Um Mês"
|
msgstr "Um Mês"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Não Expira"
|
msgstr "Não Expira"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} utilizações"
|
msgstr "{i} utilizações"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Ilimitado"
|
msgstr "Ilimitado"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Ordem da Lista"
|
msgstr "Ordem da Lista"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Título do livro"
|
msgstr "Título do livro"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Classificação"
|
msgstr "Classificação"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar Por"
|
msgstr "Ordenar Por"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Ascendente"
|
msgstr "Ascendente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Descendente"
|
msgstr "Descendente"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Federado"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Bloqueado"
|
msgstr "Bloqueado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s não é um remote_id válido"
|
msgstr "%(value)s não é um remote_id válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s não é um nome de utilizador válido"
|
msgstr "%(value)s não é um nome de utilizador válido"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "nome de utilizador"
|
msgstr "nome de utilizador"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "Um utilizador com o mesmo nome de utilizador já existe."
|
msgstr "Um utilizador com o mesmo nome de utilizador já existe."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "Um utilizador com o mesmo nome de utilizador já existe."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Público"
|
msgstr "Público"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Público"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Não listado"
|
msgstr "Não listado"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Seguidores"
|
msgstr "Seguidores"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,7 +291,7 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português (Português Europeu)"
|
msgstr "Português (Português Europeu)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Admin"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Enviar mensagem direta"
|
msgstr "Enviar mensagem direta"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Propriedades físicas"
|
msgstr "Propriedades físicas"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Formato:"
|
msgstr "Formato:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Edições de %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Edições de <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Edições de <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Qualquer"
|
msgstr "Qualquer"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Idioma:"
|
msgstr "Idioma:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Pesquisar edições"
|
msgstr "Pesquisar edições"
|
||||||
|
|
||||||
|
@ -3572,23 +3580,31 @@ msgstr ""
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Voltar para denúncias"
|
msgstr "Voltar para denúncias"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Estados denunciados"
|
msgstr "Estados denunciados"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "O estado foi eliminado"
|
msgstr "O estado foi eliminado"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Comentários do Moderador"
|
msgstr "Comentários do Moderador"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Comentar"
|
msgstr "Comentar"
|
||||||
|
@ -4013,14 +4029,14 @@ msgstr "porcento"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "%(pages)s páginas"
|
msgstr "%(pages)s páginas"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Conteúdo"
|
msgstr "Conteúdo"
|
||||||
|
|
||||||
|
@ -4098,7 +4114,7 @@ msgstr "Filtros aplicados"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Limpar filtros"
|
msgstr "Limpar filtros"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Aplicar filtros"
|
msgstr "Aplicar filtros"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 04:03\n"
|
"PO-Revision-Date: 2022-02-04 21:00\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Swedish\n"
|
"Language-Team: Swedish\n"
|
||||||
"Language: sv\n"
|
"Language: sv\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "En användare med den här e-postadressen existerar redan."
|
msgstr "En användare med den här e-postadressen existerar redan."
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "En dag"
|
msgstr "En dag"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "En vecka"
|
msgstr "En vecka"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "En månad"
|
msgstr "En månad"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "Slutar inte gälla"
|
msgstr "Slutar inte gälla"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} använder"
|
msgstr "{i} använder"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "Obegränsad"
|
msgstr "Obegränsad"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "Listordning"
|
msgstr "Listordning"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Bokens titel"
|
msgstr "Bokens titel"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Betyg"
|
msgstr "Betyg"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sortera efter"
|
msgstr "Sortera efter"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "Stigande"
|
msgstr "Stigande"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "Fallande"
|
msgstr "Fallande"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr "Slutdatum för läsning kan inte vara före startdatum."
|
msgstr "Slutdatum för läsning kan inte vara före startdatum."
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "Federerad"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "Blockerad"
|
msgstr "Blockerad"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s är inte ett giltigt remote_id"
|
msgstr "%(value)s är inte ett giltigt remote_id"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s är inte ett giltigt användarnamn"
|
msgstr "%(value)s är inte ett giltigt användarnamn"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "användarnamn"
|
msgstr "användarnamn"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "En användare med det användarnamnet existerar redan."
|
msgstr "En användare med det användarnamnet existerar redan."
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "En användare med det användarnamnet existerar redan."
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "Publik"
|
msgstr "Publik"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "Publik"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "Ej listad"
|
msgstr "Ej listad"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "Följare"
|
msgstr "Följare"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,8 +291,8 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr "Português Europeu (Europeisk Portugisiska)"
|
msgstr "Português Europeu (Europeisk Portugisiska)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr "Svenska (Svenska)"
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
msgid "简体中文 (Simplified Chinese)"
|
msgid "简体中文 (Simplified Chinese)"
|
||||||
|
@ -369,7 +377,7 @@ msgstr "Administratör"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "Skicka direktmeddelande"
|
msgstr "Skicka direktmeddelande"
|
||||||
|
|
||||||
|
@ -1017,7 +1025,7 @@ msgid "Physical Properties"
|
||||||
msgstr "Fysiska egenskaper"
|
msgstr "Fysiska egenskaper"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "Format:"
|
msgstr "Format:"
|
||||||
|
|
||||||
|
@ -1055,17 +1063,17 @@ msgstr "Utgåvor av %(book_title)s"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "Utgåvor av <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgstr "Utgåvor av <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Alla"
|
msgstr "Alla"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Språk:"
|
msgstr "Språk:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "Sök efter utgåvor"
|
msgstr "Sök efter utgåvor"
|
||||||
|
|
||||||
|
@ -2020,7 +2028,7 @@ msgstr "Försök igen"
|
||||||
|
|
||||||
#: bookwyrm/templates/import/import_status.html:223
|
#: bookwyrm/templates/import/import_status.html:223
|
||||||
msgid "This import is in an old format that is no longer supported. If you would like to troubleshoot missing items from this import, click the button below to update the import format."
|
msgid "This import is in an old format that is no longer supported. If you would like to troubleshoot missing items from this import, click the button below to update the import format."
|
||||||
msgstr ""
|
msgstr "Den här importen är i ett gammalt format som inte längre stöds. Om du vill felsöka saknade objekt från denna import, klicka på knappen nedan för att uppdatera importformat."
|
||||||
|
|
||||||
#: bookwyrm/templates/import/import_status.html:225
|
#: bookwyrm/templates/import/import_status.html:225
|
||||||
msgid "Update import"
|
msgid "Update import"
|
||||||
|
@ -2250,12 +2258,12 @@ msgstr "BookWyrm's källkod är fritt tillgängligt. Du kan bidra eller rapporte
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:8
|
#: bookwyrm/templates/lists/add_item_modal.html:8
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Add \"<em>%(title)s</em>\" to this list"
|
msgid "Add \"<em>%(title)s</em>\" to this list"
|
||||||
msgstr ""
|
msgstr "Lägg till \"<em>%(title)s</em>\" i den här listan"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/add_item_modal.html:12
|
#: bookwyrm/templates/lists/add_item_modal.html:12
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Suggest \"<em>%(title)s</em>\" for this list"
|
msgid "Suggest \"<em>%(title)s</em>\" for this list"
|
||||||
msgstr ""
|
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:39
|
||||||
#: bookwyrm/templates/lists/list.html:249
|
#: bookwyrm/templates/lists/list.html:249
|
||||||
|
@ -2297,7 +2305,7 @@ msgstr "Nu är du klar!"
|
||||||
#: bookwyrm/templates/lists/list.html:83
|
#: bookwyrm/templates/lists/list.html:83
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "<a href=\"%(user_path)s\">%(username)s</a> says:"
|
msgid "<a href=\"%(user_path)s\">%(username)s</a> says:"
|
||||||
msgstr ""
|
msgstr "<a href=\"%(user_path)s\">%(username)s</a> säger:"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/curate.html:55
|
#: bookwyrm/templates/lists/curate.html:55
|
||||||
msgid "Suggested by"
|
msgid "Suggested by"
|
||||||
|
@ -2395,7 +2403,7 @@ msgstr "Anteckningar:"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/item_notes_field.html:19
|
#: bookwyrm/templates/lists/item_notes_field.html:19
|
||||||
msgid "An optional note that will be displayed with the book."
|
msgid "An optional note that will be displayed with the book."
|
||||||
msgstr ""
|
msgstr "En valfri anteckning som kommer att visas med boken."
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:36
|
#: bookwyrm/templates/lists/list.html:36
|
||||||
msgid "You successfully suggested a book for this list!"
|
msgid "You successfully suggested a book for this list!"
|
||||||
|
@ -2407,11 +2415,11 @@ msgstr "Du lade framgångsrikt till en bok i här listan!"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:96
|
#: bookwyrm/templates/lists/list.html:96
|
||||||
msgid "Edit notes"
|
msgid "Edit notes"
|
||||||
msgstr ""
|
msgstr "Redigera anteckningar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:111
|
#: bookwyrm/templates/lists/list.html:111
|
||||||
msgid "Add notes"
|
msgid "Add notes"
|
||||||
msgstr ""
|
msgstr "Lägg till anteckningar"
|
||||||
|
|
||||||
#: bookwyrm/templates/lists/list.html:123
|
#: bookwyrm/templates/lists/list.html:123
|
||||||
#, python-format
|
#, python-format
|
||||||
|
@ -3574,23 +3582,31 @@ msgstr "Inga länkar tillgängliga för den här domänen."
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "Tillbaka till rapporter"
|
msgstr "Tillbaka till rapporter"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr "Meddela rapportören"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr "Uppdatering av din rapport:"
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "Rapporterade statusar"
|
msgstr "Rapporterade statusar"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "Statusen har tagits bort"
|
msgstr "Statusen har tagits bort"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr "Rapporterade länkar"
|
msgstr "Rapporterade länkar"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "Moderatorns kommentarer"
|
msgstr "Moderatorns kommentarer"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentar"
|
msgstr "Kommentar"
|
||||||
|
@ -4015,14 +4031,14 @@ msgstr "procent"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "av %(pages)s sidor"
|
msgstr "av %(pages)s sidor"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Svara"
|
msgstr "Svara"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Innehåll"
|
msgstr "Innehåll"
|
||||||
|
|
||||||
|
@ -4100,7 +4116,7 @@ msgstr "Filtren är verkställda"
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "Rensa filtren"
|
msgstr "Rensa filtren"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "Verkställ filtren"
|
msgstr "Verkställ filtren"
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 04:03\n"
|
"PO-Revision-Date: 2022-02-04 21:01\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Chinese Simplified\n"
|
"Language-Team: Chinese Simplified\n"
|
||||||
"Language: zh\n"
|
"Language: zh\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "已经存在使用该邮箱的用户。"
|
msgstr "已经存在使用该邮箱的用户。"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "一天"
|
msgstr "一天"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "一周"
|
msgstr "一周"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "一个月"
|
msgstr "一个月"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "永不失效"
|
msgstr "永不失效"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr "{i} 次使用"
|
msgstr "{i} 次使用"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "不受限"
|
msgstr "不受限"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "列表顺序"
|
msgstr "列表顺序"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "书名"
|
msgstr "书名"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "评价"
|
msgstr "评价"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "排序方式"
|
msgstr "排序方式"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "升序"
|
msgstr "升序"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "降序"
|
msgstr "降序"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "跨站"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "已屏蔽"
|
msgstr "已屏蔽"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s 不是有效的 remote_id"
|
msgstr "%(value)s 不是有效的 remote_id"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s 不是有效的用户名"
|
msgstr "%(value)s 不是有效的用户名"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "用户名"
|
msgstr "用户名"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "已经存在使用该用户名的用户。"
|
msgstr "已经存在使用该用户名的用户。"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "已经存在使用该用户名的用户。"
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "公开"
|
msgstr "公开"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "公开"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "不公开"
|
msgstr "不公开"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "关注者"
|
msgstr "关注者"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,7 +291,7 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
|
@ -369,7 +377,7 @@ msgstr "管理员"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "发送私信"
|
msgstr "发送私信"
|
||||||
|
|
||||||
|
@ -1012,7 +1020,7 @@ msgid "Physical Properties"
|
||||||
msgstr "实体性质"
|
msgstr "实体性质"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "格式:"
|
msgstr "格式:"
|
||||||
|
|
||||||
|
@ -1050,17 +1058,17 @@ msgstr "%(book_title)s 的各版本"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "<a href=\"%(work_path)s\">《%(work_title)s》</a> 的各版本"
|
msgstr "<a href=\"%(work_path)s\">《%(work_title)s》</a> 的各版本"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "所有"
|
msgstr "所有"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "语言:"
|
msgstr "语言:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr "搜索版本"
|
msgstr "搜索版本"
|
||||||
|
|
||||||
|
@ -3557,23 +3565,31 @@ msgstr ""
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "回到报告"
|
msgstr "回到报告"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "被报告的状态"
|
msgstr "被报告的状态"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "状态已被删除"
|
msgstr "状态已被删除"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "监察员评论"
|
msgstr "监察员评论"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "评论"
|
msgstr "评论"
|
||||||
|
@ -3996,14 +4012,14 @@ msgstr "百分比"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "全书 %(pages)s 页"
|
msgstr "全书 %(pages)s 页"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "回复"
|
msgstr "回复"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "内容"
|
msgstr "内容"
|
||||||
|
|
||||||
|
@ -4081,7 +4097,7 @@ msgstr ""
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "清除过滤器"
|
msgstr "清除过滤器"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "应用过滤器"
|
msgstr "应用过滤器"
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bookwyrm\n"
|
"Project-Id-Version: bookwyrm\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-01-28 02:50+0000\n"
|
"POT-Creation-Date: 2022-02-02 20:09+0000\n"
|
||||||
"PO-Revision-Date: 2022-01-28 04:03\n"
|
"PO-Revision-Date: 2022-02-04 21:01\n"
|
||||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||||
"Language-Team: Chinese Traditional\n"
|
"Language-Team: Chinese Traditional\n"
|
||||||
"Language: zh\n"
|
"Language: zh\n"
|
||||||
|
@ -17,62 +17,70 @@ msgstr ""
|
||||||
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
"X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n"
|
||||||
"X-Crowdin-File-ID: 1553\n"
|
"X-Crowdin-File-ID: 1553\n"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:365
|
#: bookwyrm/forms.py:239
|
||||||
|
msgid "Domain is blocked. Don't try this url again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:241
|
||||||
|
msgid "Domain already pending. Please try later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/forms.py:378
|
||||||
msgid "A user with this email already exists."
|
msgid "A user with this email already exists."
|
||||||
msgstr "已經存在使用該郵箱的使用者。"
|
msgstr "已經存在使用該郵箱的使用者。"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:379
|
#: bookwyrm/forms.py:392
|
||||||
msgid "One Day"
|
msgid "One Day"
|
||||||
msgstr "一天"
|
msgstr "一天"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:380
|
#: bookwyrm/forms.py:393
|
||||||
msgid "One Week"
|
msgid "One Week"
|
||||||
msgstr "一週"
|
msgstr "一週"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:381
|
#: bookwyrm/forms.py:394
|
||||||
msgid "One Month"
|
msgid "One Month"
|
||||||
msgstr "一個月"
|
msgstr "一個月"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:382
|
#: bookwyrm/forms.py:395
|
||||||
msgid "Does Not Expire"
|
msgid "Does Not Expire"
|
||||||
msgstr "永不失效"
|
msgstr "永不失效"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:386
|
#: bookwyrm/forms.py:399
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{i} uses"
|
msgid "{i} uses"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/forms.py:387
|
#: bookwyrm/forms.py:400
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "不受限"
|
msgstr "不受限"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:489
|
#: bookwyrm/forms.py:502
|
||||||
msgid "List Order"
|
msgid "List Order"
|
||||||
msgstr "列表順序"
|
msgstr "列表順序"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:490
|
#: bookwyrm/forms.py:503
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "書名"
|
msgstr "書名"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:491 bookwyrm/templates/shelf/shelf.html:155
|
#: bookwyrm/forms.py:504 bookwyrm/templates/shelf/shelf.html:155
|
||||||
#: bookwyrm/templates/shelf/shelf.html:187
|
#: bookwyrm/templates/shelf/shelf.html:187
|
||||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "評價"
|
msgstr "評價"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:493 bookwyrm/templates/lists/list.html:177
|
#: bookwyrm/forms.py:506 bookwyrm/templates/lists/list.html:177
|
||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "排序方式"
|
msgstr "排序方式"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:497
|
#: bookwyrm/forms.py:510
|
||||||
msgid "Ascending"
|
msgid "Ascending"
|
||||||
msgstr "升序"
|
msgstr "升序"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:498
|
#: bookwyrm/forms.py:511
|
||||||
msgid "Descending"
|
msgid "Descending"
|
||||||
msgstr "降序"
|
msgstr "降序"
|
||||||
|
|
||||||
#: bookwyrm/forms.py:511
|
#: bookwyrm/forms.py:524
|
||||||
msgid "Reading finish date cannot be before start date."
|
msgid "Reading finish date cannot be before start date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -140,26 +148,26 @@ msgstr "跨站"
|
||||||
msgid "Blocked"
|
msgid "Blocked"
|
||||||
msgstr "已封鎖"
|
msgstr "已封鎖"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:29
|
#: bookwyrm/models/fields.py:27
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid remote_id"
|
msgid "%(value)s is not a valid remote_id"
|
||||||
msgstr "%(value)s 不是有效的 remote_id"
|
msgstr "%(value)s 不是有效的 remote_id"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:38 bookwyrm/models/fields.py:47
|
#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(value)s is not a valid username"
|
msgid "%(value)s is not a valid username"
|
||||||
msgstr "%(value)s 不是有效的使用者名稱"
|
msgstr "%(value)s 不是有效的使用者名稱"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170
|
||||||
#: bookwyrm/templates/ostatus/error.html:29
|
#: bookwyrm/templates/ostatus/error.html:29
|
||||||
msgid "username"
|
msgid "username"
|
||||||
msgstr "使用者名稱"
|
msgstr "使用者名稱"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:188
|
#: bookwyrm/models/fields.py:186
|
||||||
msgid "A user with that username already exists."
|
msgid "A user with that username already exists."
|
||||||
msgstr "已經存在使用該名稱的使用者。"
|
msgstr "已經存在使用該名稱的使用者。"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:207
|
#: bookwyrm/models/fields.py:205
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
#: bookwyrm/templates/snippets/privacy-icons.html:3
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
#: bookwyrm/templates/snippets/privacy-icons.html:4
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:11
|
#: bookwyrm/templates/snippets/privacy_select.html:11
|
||||||
|
@ -167,7 +175,7 @@ msgstr "已經存在使用該名稱的使用者。"
|
||||||
msgid "Public"
|
msgid "Public"
|
||||||
msgstr "公開"
|
msgstr "公開"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:208
|
#: bookwyrm/models/fields.py:206
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
#: bookwyrm/templates/snippets/privacy-icons.html:7
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
#: bookwyrm/templates/snippets/privacy-icons.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:14
|
#: bookwyrm/templates/snippets/privacy_select.html:14
|
||||||
|
@ -175,14 +183,14 @@ msgstr "公開"
|
||||||
msgid "Unlisted"
|
msgid "Unlisted"
|
||||||
msgstr "不公開"
|
msgstr "不公開"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:209
|
#: bookwyrm/models/fields.py:207
|
||||||
#: bookwyrm/templates/snippets/privacy_select.html:17
|
#: bookwyrm/templates/snippets/privacy_select.html:17
|
||||||
#: bookwyrm/templates/user/relationships/followers.html:6
|
#: bookwyrm/templates/user/relationships/followers.html:6
|
||||||
#: bookwyrm/templates/user/relationships/layout.html:11
|
#: bookwyrm/templates/user/relationships/layout.html:11
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr "關注者"
|
msgstr "關注者"
|
||||||
|
|
||||||
#: bookwyrm/models/fields.py:210
|
#: bookwyrm/models/fields.py:208
|
||||||
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
#: bookwyrm/templates/snippets/create_status/post_options_block.html:8
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
#: bookwyrm/templates/snippets/privacy-icons.html:15
|
||||||
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
#: bookwyrm/templates/snippets/privacy-icons.html:16
|
||||||
|
@ -283,7 +291,7 @@ msgid "Português Europeu (European Portuguese)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:258
|
#: bookwyrm/settings.py:258
|
||||||
msgid "Swedish (Svenska)"
|
msgid "Svenska (Swedish)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/settings.py:259
|
#: bookwyrm/settings.py:259
|
||||||
|
@ -369,7 +377,7 @@ msgstr "管理員"
|
||||||
#: bookwyrm/templates/about/about.html:131
|
#: bookwyrm/templates/about/about.html:131
|
||||||
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
#: bookwyrm/templates/settings/users/user_moderation_actions.html:14
|
||||||
#: bookwyrm/templates/snippets/status/status_options.html:35
|
#: bookwyrm/templates/snippets/status/status_options.html:35
|
||||||
#: bookwyrm/templates/snippets/user_options.html:13
|
#: bookwyrm/templates/snippets/user_options.html:14
|
||||||
msgid "Send direct message"
|
msgid "Send direct message"
|
||||||
msgstr "發送私信"
|
msgstr "發送私信"
|
||||||
|
|
||||||
|
@ -1012,7 +1020,7 @@ msgid "Physical Properties"
|
||||||
msgstr "實體性質"
|
msgstr "實體性質"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
#: bookwyrm/templates/book/edit/edit_book_form.html:199
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:5
|
#: bookwyrm/templates/book/editions/format_filter.html:6
|
||||||
msgid "Format:"
|
msgid "Format:"
|
||||||
msgstr "格式:"
|
msgstr "格式:"
|
||||||
|
|
||||||
|
@ -1050,17 +1058,17 @@ msgstr "%(book_title)s 的各版本"
|
||||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||||
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> 的各版本"
|
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> 的各版本"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/format_filter.html:8
|
#: bookwyrm/templates/book/editions/format_filter.html:9
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:8
|
#: bookwyrm/templates/book/editions/language_filter.html:9
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "所有"
|
msgstr "所有"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/language_filter.html:5
|
#: bookwyrm/templates/book/editions/language_filter.html:6
|
||||||
#: bookwyrm/templates/preferences/edit_user.html:95
|
#: bookwyrm/templates/preferences/edit_user.html:95
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "語言:"
|
msgstr "語言:"
|
||||||
|
|
||||||
#: bookwyrm/templates/book/editions/search_filter.html:5
|
#: bookwyrm/templates/book/editions/search_filter.html:6
|
||||||
msgid "Search editions"
|
msgid "Search editions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3557,23 +3565,31 @@ msgstr ""
|
||||||
msgid "Back to reports"
|
msgid "Back to reports"
|
||||||
msgstr "回到舉報"
|
msgstr "回到舉報"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:22
|
#: bookwyrm/templates/settings/reports/report.html:23
|
||||||
|
msgid "Message reporter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:27
|
||||||
|
msgid "Update on your report:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: bookwyrm/templates/settings/reports/report.html:35
|
||||||
msgid "Reported statuses"
|
msgid "Reported statuses"
|
||||||
msgstr "被舉報的狀態"
|
msgstr "被舉報的狀態"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:27
|
#: bookwyrm/templates/settings/reports/report.html:40
|
||||||
msgid "Status has been deleted"
|
msgid "Status has been deleted"
|
||||||
msgstr "狀態已被刪除"
|
msgstr "狀態已被刪除"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:39
|
#: bookwyrm/templates/settings/reports/report.html:52
|
||||||
msgid "Reported links"
|
msgid "Reported links"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:55
|
#: bookwyrm/templates/settings/reports/report.html:68
|
||||||
msgid "Moderator Comments"
|
msgid "Moderator Comments"
|
||||||
msgstr "監察員評論"
|
msgstr "監察員評論"
|
||||||
|
|
||||||
#: bookwyrm/templates/settings/reports/report.html:73
|
#: bookwyrm/templates/settings/reports/report.html:89
|
||||||
#: bookwyrm/templates/snippets/create_status.html:28
|
#: bookwyrm/templates/snippets/create_status.html:28
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "評論"
|
msgstr "評論"
|
||||||
|
@ -3996,14 +4012,14 @@ msgstr "百分比"
|
||||||
msgid "of %(pages)s pages"
|
msgid "of %(pages)s pages"
|
||||||
msgstr "全書 %(pages)s 頁"
|
msgstr "全書 %(pages)s 頁"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:34
|
#: bookwyrm/templates/snippets/status/layout.html:34
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:53
|
#: bookwyrm/templates/snippets/status/layout.html:53
|
||||||
#: bookwyrm/templates/snippets/status/layout.html:54
|
#: bookwyrm/templates/snippets/status/layout.html:54
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "回覆"
|
msgstr "回覆"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/create_status/content_field.html:17
|
#: bookwyrm/templates/snippets/create_status/content_field.html:18
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "內容"
|
msgstr "內容"
|
||||||
|
|
||||||
|
@ -4081,7 +4097,7 @@ msgstr ""
|
||||||
msgid "Clear filters"
|
msgid "Clear filters"
|
||||||
msgstr "清除過濾器"
|
msgstr "清除過濾器"
|
||||||
|
|
||||||
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:42
|
#: bookwyrm/templates/snippets/filters_panel/filters_panel.html:43
|
||||||
msgid "Apply filters"
|
msgid "Apply filters"
|
||||||
msgstr "使用過濾器"
|
msgstr "使用過濾器"
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
celery==5.2.2
|
celery==5.2.2
|
||||||
colorthief==0.2.1
|
colorthief==0.2.1
|
||||||
Django==3.2.11
|
Django==3.2.12
|
||||||
django-imagekit==4.1.0
|
django-imagekit==4.1.0
|
||||||
django-model-utils==4.0.0
|
django-model-utils==4.0.0
|
||||||
environs==9.3.4
|
environs==9.3.4
|
||||||
flower==1.0.0
|
flower==1.0.0
|
||||||
Markdown==3.3.3
|
Markdown==3.3.3
|
||||||
Pillow>=8.2.0
|
Pillow>=9.0.0
|
||||||
psycopg2==2.8.4
|
psycopg2==2.8.4
|
||||||
pycryptodome==3.9.4
|
pycryptodome==3.9.4
|
||||||
python-dateutil==2.8.1
|
python-dateutil==2.8.1
|
||||||
|
@ -18,9 +18,13 @@ pytz>=2021.1
|
||||||
boto3==1.17.88
|
boto3==1.17.88
|
||||||
django-storages==1.11.1
|
django-storages==1.11.1
|
||||||
django-redis==5.2.0
|
django-redis==5.2.0
|
||||||
|
opentelemetry-api==1.8.0
|
||||||
|
opentelemetry-sdk==1.8.0
|
||||||
|
opentelemetry-exporter-otlp-proto-grpc==1.8.0
|
||||||
|
opentelemetry-instrumentation-django==0.27b0
|
||||||
|
opentelemetry-instrumentation-celery==0.27b0
|
||||||
|
|
||||||
# Dev
|
# Dev
|
||||||
black==21.4b2
|
|
||||||
pytest-django==4.1.0
|
pytest-django==4.1.0
|
||||||
pytest==6.1.2
|
pytest==6.1.2
|
||||||
pytest-cov==2.10.1
|
pytest-cov==2.10.1
|
||||||
|
|
Loading…
Reference in New Issue