forked from mirrors/bookwyrm
Merge branch 'bookwyrm-social:main' into group-list-button
This commit is contained in:
commit
8e17e20802
45 changed files with 946 additions and 690 deletions
|
@ -30,6 +30,9 @@ button {
|
|||
|
||||
/* Corrects inability to style clickable `input` types in iOS */
|
||||
-webkit-appearance: none;
|
||||
|
||||
/* Generalizes pointer cursor */
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner {
|
||||
|
@ -64,6 +67,14 @@ button::-moz-focus-inner {
|
|||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.modal-card {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.modal-card > * {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
/* stylelint-disable no-descending-specificity */
|
||||
.modal-card:focus {
|
||||
outline-style: auto;
|
||||
|
@ -148,6 +159,30 @@ button::-moz-focus-inner {
|
|||
display: inline !important;
|
||||
}
|
||||
|
||||
button .button-invisible-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 1rem;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
background: rgba(0, 0, 0, 0.66);
|
||||
color: white;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s ease;
|
||||
}
|
||||
|
||||
button:hover .button-invisible-overlay,
|
||||
button:active .button-invisible-overlay,
|
||||
button:focus-visible .button-invisible-overlay {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/** File input styles
|
||||
******************************************************************************/
|
||||
|
||||
|
@ -429,6 +464,8 @@ details.dropdown .dropdown-menu a:focus-visible {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
gap: 1em;
|
||||
white-space: initial;
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -695,11 +732,7 @@ ol.ordered-list li::before {
|
|||
@media only screen and (min-width: 769px) {
|
||||
.books-grid {
|
||||
gap: 1.5rem;
|
||||
grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
|
||||
}
|
||||
|
||||
.books-grid > .is-big {
|
||||
padding: 1.5rem 1.5rem 0;
|
||||
grid-template-columns: repeat(auto-fill, minmax(8em, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
/* exported BlockHref */
|
||||
|
||||
let BlockHref = new (class {
|
||||
constructor() {
|
||||
document
|
||||
.querySelectorAll("[data-href]")
|
||||
.forEach((t) => t.addEventListener("click", this.followLink.bind(this)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Follow a fake link
|
||||
*
|
||||
* @param {Event} event
|
||||
* @return {undefined}
|
||||
*/
|
||||
followLink(event) {
|
||||
const url = event.currentTarget.dataset.href;
|
||||
|
||||
window.location.href = url;
|
||||
}
|
||||
})();
|
|
@ -249,7 +249,7 @@
|
|||
<div class="column is-10 is-offset-1">
|
||||
<div class="books-grid">
|
||||
{% for book in books %}
|
||||
{% if book.id in best_ratings_books_ids %}
|
||||
{% if books_total > 12 and book.id in best_ratings_books_ids %}
|
||||
<a href="{{ book.local_path }}" class="has-text-centered is-big has-text-success-dark">
|
||||
{% include 'snippets/book_cover.html' with book=book cover_class='is-w-auto' size='xxlarge' %}
|
||||
<span class="book-title is-serif is-size-5">
|
||||
|
|
|
@ -61,24 +61,48 @@
|
|||
|
||||
<div class="columns">
|
||||
<div class="column is-one-fifth">
|
||||
{% include 'snippets/book_cover.html' with size='xxlarge' size_mobile='medium' book=book cover_class='is-h-m-mobile' %}
|
||||
{% if not book.cover %}
|
||||
{% if user_authenticated %}
|
||||
<button type="button" data-controls="add_cover_{{ book.id }}" data-focus-target="modal_title_add_cover_{{ book.id }}" aria-pressed="false" class="cover-container no-cover is-h-m-mobile">
|
||||
<img
|
||||
class="book-cover"
|
||||
src="{% static "images/no_cover.jpg" %}"
|
||||
alt=""
|
||||
aria-hidden="true"
|
||||
>
|
||||
<span class="cover-caption">
|
||||
<span>{{ book.alt_text }}</span>
|
||||
<span>{% trans "Click to add cover" %}</span>
|
||||
</span>
|
||||
<span class="button-invisible-overlay has-text-centered">
|
||||
{% trans "Click to add cover" %}
|
||||
</span>
|
||||
</button>
|
||||
{% include 'book/cover_add_modal.html' with book=book controls_text="add_cover" controls_uid=book.id %}
|
||||
{% if request.GET.cover_error %}
|
||||
<p class="help is-danger">{% trans "Failed to load cover" %}</p>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% include 'snippets/book_cover.html' with book=book cover_class='is-h-m-mobile' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if book.cover %}
|
||||
<button type="button" data-modal-open="cover_show_modal" class="cover-container is-h-m-mobile is-relative">
|
||||
{% include 'snippets/book_cover.html' with size='xxlarge' size_mobile='medium' book=book cover_class='is-h-m-mobile' %}
|
||||
<span class="button-invisible-overlay has-text-centered">
|
||||
{% trans "Click to enlarge" %}
|
||||
</span>
|
||||
</button>
|
||||
{% include 'book/cover_show_modal.html' with book=book id="cover_show_modal" %}
|
||||
{% endif %}
|
||||
|
||||
{% include 'snippets/rate_action.html' with user=request.user book=book %}
|
||||
|
||||
<div class="mb-3">
|
||||
{% include 'snippets/shelve_button/shelve_button.html' %}
|
||||
</div>
|
||||
|
||||
{% if user_authenticated and not book.cover %}
|
||||
<div class="block">
|
||||
{% trans "Add cover" as button_text %}
|
||||
{% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="add_cover" controls_uid=book.id focus="modal_title_add_cover" class="is-small" %}
|
||||
{% include 'book/cover_modal.html' with book=book controls_text="add_cover" controls_uid=book.id %}
|
||||
{% if request.GET.cover_error %}
|
||||
<p class="help is-danger">{% trans "Failed to load cover" %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<section class="is-clipped">
|
||||
{% with book=book %}
|
||||
<div class="content">
|
||||
|
|
12
bookwyrm/templates/book/cover_show_modal.html
Normal file
12
bookwyrm/templates/book/cover_show_modal.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
{% load i18n %}
|
||||
{% load static %}
|
||||
|
||||
<div class="modal" id="{{ id }}">
|
||||
<div class="modal-background" data-modal-close></div><!-- modal background -->
|
||||
<div class="modal-card is-align-items-center" role="dialog" aria-modal="true" tabindex="-1" aria-label="{% trans 'Book cover preview' %}">
|
||||
<div class="cover-container">
|
||||
<img class="book-cover" src="{% get_media_prefix %}{{ book.cover }}" itemprop="thumbnailUrl" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" data-modal-close class="modal-close is-large" aria-label="{% trans 'Close' %}"></button>
|
||||
</div>
|
31
bookwyrm/templates/components/new_modal.html
Normal file
31
bookwyrm/templates/components/new_modal.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
{% load i18n %}
|
||||
|
||||
<div class="modal" id="{{ id }}">
|
||||
<div class="modal-background" data-modal-close></div>
|
||||
<div class="modal-card is-thin" role="dialog" aria-modal="true" tabindex="-1">
|
||||
<header class="modal-card-head">
|
||||
<h2 class="modal-card-title mb-0">
|
||||
{% block modal-title %}{% endblock %}
|
||||
</h2>
|
||||
<button
|
||||
type="button"
|
||||
class="delete"
|
||||
aria-label="{% trans 'Close' %}"
|
||||
data-modal-close
|
||||
></button>
|
||||
</header>
|
||||
|
||||
<section class="modal-card-body">
|
||||
{% block modal-body %}{% endblock %}
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
{% block modal-footer %}{% endblock %}
|
||||
</footer>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
class="modal-close is-large"
|
||||
aria-label="{% trans 'Close' %}"
|
||||
data-modal-close
|
||||
></button>
|
||||
</div>
|
|
@ -1,29 +1,31 @@
|
|||
{% extends 'components/card.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block card-header %}
|
||||
<h3 class="card-header-title has-background-success-dark has-text-white">
|
||||
<span class="icon is-size-3 mr-2" aria-hidden="true">📚</span>
|
||||
<span class="icon is-size-3 mr-2" aria-hidden="true">✨</span>
|
||||
{% blocktrans %}{{ year }} in the books{% endblocktrans %}
|
||||
</h3>
|
||||
<article class="card">
|
||||
<header class="card-header has-background-success-dark">
|
||||
<h3 class="card-header-title has-text-white">
|
||||
<span class="icon is-size-3 mr-2" aria-hidden="true">📚</span>
|
||||
<span class="icon is-size-3 mr-2" aria-hidden="true">✨</span>
|
||||
{% blocktrans %}{{ year }} in the books{% endblocktrans %}
|
||||
</h3>
|
||||
|
||||
<div class="card-header-icon has-background-success-dark has-text-white">
|
||||
{% trans "Dismiss message" as button_text %}
|
||||
<button class="delete set-display" type="button" data-id="hide_annual_summary_{{ year }}" data-value="true">
|
||||
<span>{% trans "Dismiss message" %}</span>
|
||||
</button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
<div class="card-header-icon has-text-white">
|
||||
{% trans "Dismiss message" as button_text %}
|
||||
<button class="delete set-display" type="button" data-id="hide_annual_summary_{{ year }}" data-value="true">
|
||||
<span>{% trans "Dismiss message" %}</span>
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{% block card-content %}
|
||||
<p class="mb-3">
|
||||
{% blocktrans %}The end of the year is the best moment to take stock of all the books read during the last 12 months. How many pages have you read? Which book is your best-rated of the year? We compiled these stats, and more!{% endblocktrans %}
|
||||
</p>
|
||||
<section class="card-content">
|
||||
<p class="mb-3">
|
||||
{% blocktrans %}The end of the year is the best moment to take stock of all the books read during the last 12 months. How many pages have you read? Which book is your best-rated of the year? We compiled these stats, and more!{% endblocktrans %}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="{% url 'annual-summary' request.user.localname year %}" class="button is-success has-background-success-dark">
|
||||
{% blocktrans %}Discover your stats for {{ year }}!{% endblocktrans %}
|
||||
</a>
|
||||
</p>
|
||||
{% endblock %}
|
||||
<p>
|
||||
<a href="{% url 'annual-summary' request.user.localname year %}" class="button is-success has-background-success-dark">
|
||||
{% blocktrans %}Discover your stats for {{ year }}!{% endblocktrans %}
|
||||
</a>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
</article>
|
||||
|
|
|
@ -1,72 +1,74 @@
|
|||
{% extends 'lists/layout.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||
<ul>
|
||||
<li><a href="{% url 'lists' %}">{% trans "Lists" %}</a></li>
|
||||
<li><a href="{% url 'list' list.id %}">{{ list.name|truncatechars:30 }}</a></li>
|
||||
<li class="is-active">
|
||||
<a href="#" aria-current="page">
|
||||
{% trans "Curate" %}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
|
||||
<section class="block">
|
||||
<div class="columns is-mobile is-multiline is-align-items-baseline">
|
||||
<div class="column is-narrow">
|
||||
<h2 class="title is-4">{% trans "Pending Books" %}</h2>
|
||||
</div>
|
||||
|
||||
<p class="column is-narrow"><a href="{% url 'list' list.id %}">{% trans "Go to list" %}</a></p>
|
||||
</div>
|
||||
<h2 class="title is-4">{% trans "Pending Books" %}</h2>
|
||||
|
||||
{% if not pending.exists %}
|
||||
<p>{% trans "You're all set!" %}</p>
|
||||
<p><em>{% trans "You're all set!" %}</em></p>
|
||||
{% else %}
|
||||
|
||||
<dl>
|
||||
<div class="columns">
|
||||
{% for item in pending %}
|
||||
{% with book=item.book %}
|
||||
<div
|
||||
class="
|
||||
columns is-gapless
|
||||
is-vcentered is-justify-content-space-between
|
||||
mb-6
|
||||
"
|
||||
>
|
||||
<dt class="column mr-auto">
|
||||
<div class="columns is-mobile is-gapless is-vcentered">
|
||||
<a
|
||||
class="column is-cover"
|
||||
href="{{ book.local_path }}"
|
||||
aria-hidden="true"
|
||||
>
|
||||
{% include 'snippets/book_cover.html' with cover_class='is-w-xs-mobile is-w-s is-h-xs-mobile is-h-s' size_mobile='xsmall' size='small' %}
|
||||
{% with book=item.book %}
|
||||
<div class="column">
|
||||
<div class="columns is-mobile">
|
||||
<a
|
||||
class="column is-cover"
|
||||
href="{{ book.local_path }}"
|
||||
aria-hidden="true"
|
||||
>
|
||||
{% include 'snippets/book_cover.html' with cover_class='is-w-xs-mobile is-w-s is-h-xs-mobile is-h-s' size_mobile='xsmall' size='small' %}
|
||||
</a>
|
||||
|
||||
<div class="column ml-3">
|
||||
{% include 'snippets/book_titleby.html' %}
|
||||
|
||||
<p>
|
||||
{% trans "Suggested by" %}
|
||||
|
||||
<a href="{{ item.user.local_path }}">
|
||||
{{ item.user.display_name }}
|
||||
</a>
|
||||
|
||||
<div class="column ml-3">
|
||||
{% include 'snippets/book_titleby.html' %}
|
||||
</div>
|
||||
</div>
|
||||
</dt>
|
||||
|
||||
<dd class="column is-4-tablet mx-3-tablet my-3-mobile">
|
||||
{% trans "Suggested by" %}
|
||||
|
||||
<a href="{{ item.user.local_path }}">
|
||||
{{ item.user.display_name }}
|
||||
</a>
|
||||
</dd>
|
||||
|
||||
<dd class="column is-narrow field has-addons">
|
||||
<form class="control" method="POST" action="{% url 'list-curate' list.id %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="item" value="{{ item.id }}">
|
||||
<input type="hidden" name="approved" value="true">
|
||||
<button type="submit" class="button">{% trans "Approve" %}</button>
|
||||
</form>
|
||||
<form class="control" method="POST" action="{% url 'list-curate' list.id %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="item" value="{{ item.id }}">
|
||||
<input type="hidden" name="approved" value="false">
|
||||
<button type="submit" class="button is-danger is-light">{% trans "Discard" %}</button>
|
||||
</form>
|
||||
</dd>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-narrow">
|
||||
<div class="field has-addons">
|
||||
<form class="control" method="POST" action="{% url 'list-curate' list.id %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="item" value="{{ item.id }}">
|
||||
<input type="hidden" name="approved" value="true">
|
||||
<button type="submit" class="button">{% trans "Approve" %}</button>
|
||||
</form>
|
||||
<form class="control" method="POST" action="{% url 'list-curate' list.id %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="item" value="{{ item.id }}">
|
||||
<input type="hidden" name="approved" value="false">
|
||||
<button type="submit" class="button is-danger is-light">{% trans "Discard" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
</dl>
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends 'components/modal.html' %}
|
||||
{% extends 'components/new_modal.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block modal-title %}{% trans "Delete this list?" %}{% endblock %}
|
||||
|
@ -14,8 +14,9 @@
|
|||
<button class="button is-danger" type="submit">
|
||||
{% trans "Delete" %}
|
||||
</button>
|
||||
{% trans "Cancel" as button_text %}
|
||||
{% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="delete_list" controls_uid=list.id %}
|
||||
<button type="button" class="button" data-modal-close>
|
||||
{% trans "Cancel" %}
|
||||
</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -9,5 +9,5 @@
|
|||
<form name="edit-list" method="post" action="{% url 'list' list.id %}">
|
||||
{% include 'lists/form.html' %}
|
||||
</form>
|
||||
{% include "lists/delete_list_modal.html" with controls_text="delete_list" controls_uid=list.id %}
|
||||
{% include "lists/delete_list_modal.html" with id="delete_list" %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -114,21 +114,20 @@
|
|||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-mobile">
|
||||
<div class="column">
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
{% include 'snippets/privacy_select.html' with current=list.privacy %}
|
||||
</div>
|
||||
<div class="control">
|
||||
<button type="submit" class="button is-primary">{% trans "Save" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="is-flex">
|
||||
{% if list.id %}
|
||||
<div class="column is-narrow">
|
||||
{% trans "Delete list" as button_text %}
|
||||
{% include 'snippets/toggle/toggle_button.html' with class="is-danger" text=button_text icon_with_text="x" controls_text="delete_list" controls_uid=list.id focus="modal_title_delete_list" %}
|
||||
<div class="is-flex-grow-1">
|
||||
<button type="button" data-modal-open="delete_list" class="button is-danger">
|
||||
{% trans "Delete list" %}
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
{% include 'snippets/privacy_select.html' with current=list.privacy %}
|
||||
</div>
|
||||
<div class="control">
|
||||
<button type="submit" class="button is-primary">{% trans "Save" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
{% include 'lists/created_text.html' with list=list %}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="column is-narrow is-flex">
|
||||
{% if request.user == list.user %}
|
||||
{% trans "Edit List" as button_text %}
|
||||
|
@ -20,6 +21,8 @@
|
|||
</div>
|
||||
</header>
|
||||
|
||||
{% block breadcrumbs %}{% endblock %}
|
||||
|
||||
<div class="block content">
|
||||
{% include 'snippets/trimmed_text.html' with full=list.description %}
|
||||
</div>
|
||||
|
|
|
@ -4,6 +4,19 @@
|
|||
{% load bookwyrm_group_tags %}
|
||||
{% load markdown %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
|
||||
<ul>
|
||||
<li><a href="{% url 'lists' %}">{% trans "Lists" %}</a></li>
|
||||
<li class="is-active">
|
||||
<a href="#" aria-current="page">
|
||||
{{ list.name|truncatechars:30 }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
{% if request.user == list.user and pending_count %}
|
||||
<div class="block content">
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{% load bookwyrm_tags %}
|
||||
{% related_status notification as related_status %}
|
||||
<div class="notification is-clickable {% if notification.id in unread %} is-primary{% endif %}" data-href="{% block primary_link %}{% endblock %}">
|
||||
<div class="box is-shadowless has-background-white-ter {% if notification.id in unread %} is-primary{% endif %}">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-narrow is-size-3 {% if notification.id in unread%}has-text-white{% else %}has-text-grey{% endif %}">
|
||||
{% block icon %}{% endblock %}
|
||||
<a class="has-text-dark" href="{% block primary_link %}{% endblock %}">
|
||||
{% block icon %}{% endblock %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="column is-clipped">
|
||||
<div class="block">
|
||||
<div class="block content">
|
||||
<p>
|
||||
{% if notification.related_user %}
|
||||
<a href="{{ notification.related_user.local_path }}">{% include 'snippets/avatar.html' with user=notification.related_user %}
|
||||
|
@ -15,6 +18,7 @@
|
|||
{% block description %}{% endblock %}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% if related_status %}
|
||||
<div class="block">
|
||||
{% block preview %}{% endblock %}
|
||||
|
|
|
@ -46,7 +46,3 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static "js/block_href.js" %}?v={{ js_cache }}"></script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{% if status.content == 'wants to read' %}
|
||||
{% include 'snippets/status/headers/to_read.html' with book=status.mention_books.first %}
|
||||
{% endif %}
|
||||
|
||||
{% if status.content == 'finished reading' %}
|
||||
{% elif status.content == 'finished reading' %}
|
||||
{% include 'snippets/status/headers/read.html' with book=status.mention_books.first %}
|
||||
{% endif %}
|
||||
|
||||
{% if status.content == 'started reading' %}
|
||||
{% elif status.content == 'started reading' %}
|
||||
{% include 'snippets/status/headers/reading.html' with book=status.mention_books.first %}
|
||||
{% else %}
|
||||
{{ status.content }}
|
||||
{% endif %}
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
{% spaceless %}
|
||||
{% load i18n %}{% load humanize %}
|
||||
|
||||
{{ status.content }}
|
||||
{% endspaceless %}
|
|
@ -48,7 +48,9 @@ class StorygraphImport(TestCase):
|
|||
self.local_user, self.csv, False, "public"
|
||||
)
|
||||
|
||||
import_items = models.ImportItem.objects.filter(job=import_job).all()
|
||||
import_items = (
|
||||
models.ImportItem.objects.filter(job=import_job).order_by("index").all()
|
||||
)
|
||||
self.assertEqual(len(import_items), 2)
|
||||
self.assertEqual(import_items[0].index, 0)
|
||||
self.assertEqual(import_items[0].normalized_data["title"], "Always Coming Home")
|
||||
|
|
1
bookwyrm/tests/templatetags/__init__.py
Normal file
1
bookwyrm/tests/templatetags/__init__.py
Normal file
|
@ -0,0 +1 @@
|
|||
from . import *
|
101
bookwyrm/tests/templatetags/test_bookwyrm_tags.py
Normal file
101
bookwyrm/tests/templatetags/test_bookwyrm_tags.py
Normal file
|
@ -0,0 +1,101 @@
|
|||
""" style fixes and lookups for templates """
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from bookwyrm import models
|
||||
from bookwyrm.templatetags import bookwyrm_tags
|
||||
|
||||
|
||||
@patch("bookwyrm.activitystreams.add_status_task.delay")
|
||||
@patch("bookwyrm.activitystreams.remove_status_task.delay")
|
||||
class BookWyrmTags(TestCase):
|
||||
"""lotta different things here"""
|
||||
|
||||
def setUp(self):
|
||||
"""create some filler objects"""
|
||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||
):
|
||||
self.user = models.User.objects.create_user(
|
||||
"mouse@example.com",
|
||||
"mouse@mouse.mouse",
|
||||
"mouseword",
|
||||
local=True,
|
||||
localname="mouse",
|
||||
)
|
||||
with patch("bookwyrm.models.user.set_remote_server.delay"):
|
||||
self.remote_user = models.User.objects.create_user(
|
||||
"rat",
|
||||
"rat@rat.rat",
|
||||
"ratword",
|
||||
remote_id="http://example.com/rat",
|
||||
local=False,
|
||||
)
|
||||
self.book = models.Edition.objects.create(title="Test Book")
|
||||
|
||||
def test_get_user_rating(self, *_):
|
||||
"""get a user's most recent rating of a book"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.Review.objects.create(user=self.user, book=self.book, rating=3)
|
||||
self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 3)
|
||||
|
||||
def test_get_user_rating_doesnt_exist(self, *_):
|
||||
"""there is no rating available"""
|
||||
self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 0)
|
||||
|
||||
def test_get_book_description(self, *_):
|
||||
"""grab it from the edition or the parent"""
|
||||
work = models.Work.objects.create(title="Test Work")
|
||||
self.book.parent_work = work
|
||||
self.book.save()
|
||||
|
||||
self.assertIsNone(bookwyrm_tags.get_book_description(self.book))
|
||||
|
||||
work.description = "hi"
|
||||
work.save()
|
||||
self.assertEqual(bookwyrm_tags.get_book_description(self.book), "hi")
|
||||
|
||||
self.book.description = "hello"
|
||||
self.book.save()
|
||||
self.assertEqual(bookwyrm_tags.get_book_description(self.book), "hello")
|
||||
|
||||
def test_get_next_shelf(self, *_):
|
||||
"""self progress helper"""
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("to-read"), "reading")
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("reading"), "read")
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("read"), "complete")
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("blooooga"), "to-read")
|
||||
|
||||
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
|
||||
def test_load_subclass(self, *_):
|
||||
"""get a status' real type"""
|
||||
review = models.Review.objects.create(user=self.user, book=self.book, rating=3)
|
||||
status = models.Status.objects.get(id=review.id)
|
||||
self.assertIsInstance(status, models.Status)
|
||||
self.assertIsInstance(bookwyrm_tags.load_subclass(status), models.Review)
|
||||
|
||||
quote = models.Quotation.objects.create(
|
||||
user=self.user, book=self.book, content="hi"
|
||||
)
|
||||
status = models.Status.objects.get(id=quote.id)
|
||||
self.assertIsInstance(status, models.Status)
|
||||
self.assertIsInstance(bookwyrm_tags.load_subclass(status), models.Quotation)
|
||||
|
||||
comment = models.Comment.objects.create(
|
||||
user=self.user, book=self.book, content="hi"
|
||||
)
|
||||
status = models.Status.objects.get(id=comment.id)
|
||||
self.assertIsInstance(status, models.Status)
|
||||
self.assertIsInstance(bookwyrm_tags.load_subclass(status), models.Comment)
|
||||
|
||||
def test_related_status(self, *_):
|
||||
"""gets the subclass model for a notification status"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
status = models.Status.objects.create(content="hi", user=self.user)
|
||||
notification = models.Notification.objects.create(
|
||||
user=self.user, notification_type="MENTION", related_status=status
|
||||
)
|
||||
|
||||
result = bookwyrm_tags.related_status(notification)
|
||||
self.assertIsInstance(result, models.Status)
|
53
bookwyrm/tests/templatetags/test_interaction.py
Normal file
53
bookwyrm/tests/templatetags/test_interaction.py
Normal file
|
@ -0,0 +1,53 @@
|
|||
""" style fixes and lookups for templates """
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from bookwyrm import models
|
||||
from bookwyrm.templatetags import interaction
|
||||
|
||||
|
||||
@patch("bookwyrm.activitystreams.add_status_task.delay")
|
||||
@patch("bookwyrm.activitystreams.remove_status_task.delay")
|
||||
class InteractionTags(TestCase):
|
||||
"""lotta different things here"""
|
||||
|
||||
def setUp(self):
|
||||
"""create some filler objects"""
|
||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||
):
|
||||
self.user = models.User.objects.create_user(
|
||||
"mouse@example.com",
|
||||
"mouse@mouse.mouse",
|
||||
"mouseword",
|
||||
local=True,
|
||||
localname="mouse",
|
||||
)
|
||||
with patch("bookwyrm.models.user.set_remote_server.delay"):
|
||||
self.remote_user = models.User.objects.create_user(
|
||||
"rat",
|
||||
"rat@rat.rat",
|
||||
"ratword",
|
||||
remote_id="http://example.com/rat",
|
||||
local=False,
|
||||
)
|
||||
self.book = models.Edition.objects.create(title="Test Book")
|
||||
|
||||
def test_get_user_liked(self, *_):
|
||||
"""did a user like a status"""
|
||||
status = models.Review.objects.create(user=self.remote_user, book=self.book)
|
||||
|
||||
self.assertFalse(interaction.get_user_liked(self.user, status))
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.Favorite.objects.create(user=self.user, status=status)
|
||||
self.assertTrue(interaction.get_user_liked(self.user, status))
|
||||
|
||||
def test_get_user_boosted(self, *_):
|
||||
"""did a user boost a status"""
|
||||
status = models.Review.objects.create(user=self.remote_user, book=self.book)
|
||||
|
||||
self.assertFalse(interaction.get_user_boosted(self.user, status))
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.Boost.objects.create(user=self.user, boosted_status=status)
|
||||
self.assertTrue(interaction.get_user_boosted(self.user, status))
|
15
bookwyrm/tests/templatetags/test_markdown.py
Normal file
15
bookwyrm/tests/templatetags/test_markdown.py
Normal file
|
@ -0,0 +1,15 @@
|
|||
""" style fixes and lookups for templates """
|
||||
from django.test import TestCase
|
||||
from bookwyrm.templatetags import markdown
|
||||
|
||||
|
||||
class MarkdownTags(TestCase):
|
||||
"""lotta different things here"""
|
||||
|
||||
def test_get_markdown(self):
|
||||
"""mardown format data"""
|
||||
result = markdown.get_markdown("_hi_")
|
||||
self.assertEqual(result, "<p><em>hi</em></p>")
|
||||
|
||||
result = markdown.get_markdown("<marquee>_hi_</marquee>")
|
||||
self.assertEqual(result, "<p><em>hi</em></p>")
|
90
bookwyrm/tests/templatetags/test_status_display.py
Normal file
90
bookwyrm/tests/templatetags/test_status_display.py
Normal file
|
@ -0,0 +1,90 @@
|
|||
""" style fixes and lookups for templates """
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
|
||||
from bookwyrm import models
|
||||
from bookwyrm.templatetags import status_display
|
||||
|
||||
|
||||
@patch("bookwyrm.activitystreams.add_status_task.delay")
|
||||
@patch("bookwyrm.activitystreams.remove_status_task.delay")
|
||||
class StatusDisplayTags(TestCase):
|
||||
"""lotta different things here"""
|
||||
|
||||
def setUp(self):
|
||||
"""create some filler objects"""
|
||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||
):
|
||||
self.user = models.User.objects.create_user(
|
||||
"mouse@example.com",
|
||||
"mouse@mouse.mouse",
|
||||
"mouseword",
|
||||
local=True,
|
||||
localname="mouse",
|
||||
)
|
||||
with patch("bookwyrm.models.user.set_remote_server.delay"):
|
||||
self.remote_user = models.User.objects.create_user(
|
||||
"rat",
|
||||
"rat@rat.rat",
|
||||
"ratword",
|
||||
remote_id="http://example.com/rat",
|
||||
local=False,
|
||||
)
|
||||
self.book = models.Edition.objects.create(title="Test Book")
|
||||
|
||||
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
|
||||
def test_get_replies(self, *_):
|
||||
"""direct replies to a status"""
|
||||
parent = models.Review.objects.create(
|
||||
user=self.user, book=self.book, content="hi"
|
||||
)
|
||||
first_child = models.Status.objects.create(
|
||||
reply_parent=parent, user=self.user, content="hi"
|
||||
)
|
||||
second_child = models.Status.objects.create(
|
||||
reply_parent=parent, user=self.user, content="hi"
|
||||
)
|
||||
third_child = models.Status.objects.create(
|
||||
reply_parent=parent,
|
||||
user=self.user,
|
||||
deleted=True,
|
||||
deleted_date=timezone.now(),
|
||||
)
|
||||
|
||||
replies = status_display.get_replies(parent)
|
||||
self.assertEqual(len(replies), 2)
|
||||
self.assertTrue(first_child in replies)
|
||||
self.assertTrue(second_child in replies)
|
||||
self.assertFalse(third_child in replies)
|
||||
|
||||
def test_get_parent(self, *_):
|
||||
"""get the reply parent of a status"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
parent = models.Review.objects.create(
|
||||
user=self.user, book=self.book, content="hi"
|
||||
)
|
||||
child = models.Status.objects.create(
|
||||
reply_parent=parent, user=self.user, content="hi"
|
||||
)
|
||||
|
||||
result = status_display.get_parent(child)
|
||||
self.assertEqual(result, parent)
|
||||
self.assertIsInstance(result, models.Review)
|
||||
|
||||
def test_get_boosted(self, *_):
|
||||
"""load a boosted status"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
status = models.Review.objects.create(user=self.remote_user, book=self.book)
|
||||
boost = models.Boost.objects.create(user=self.user, boosted_status=status)
|
||||
boosted = status_display.get_boosted(boost)
|
||||
self.assertIsInstance(boosted, models.Review)
|
||||
self.assertEqual(boosted, status)
|
||||
|
||||
def test_get_mentions(self, *_):
|
||||
"""list of people mentioned"""
|
||||
status = models.Status.objects.create(content="hi", user=self.remote_user)
|
||||
result = status_display.get_mentions(status, self.user)
|
||||
self.assertEqual(result, "@rat@example.com ")
|
52
bookwyrm/tests/templatetags/test_utilities.py
Normal file
52
bookwyrm/tests/templatetags/test_utilities.py
Normal file
|
@ -0,0 +1,52 @@
|
|||
""" style fixes and lookups for templates """
|
||||
import re
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from bookwyrm import models
|
||||
from bookwyrm.templatetags import utilities
|
||||
|
||||
|
||||
@patch("bookwyrm.activitystreams.add_status_task.delay")
|
||||
@patch("bookwyrm.activitystreams.remove_status_task.delay")
|
||||
class UtilitiesTags(TestCase):
|
||||
"""lotta different things here"""
|
||||
|
||||
def setUp(self):
|
||||
"""create some filler objects"""
|
||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||
):
|
||||
self.user = models.User.objects.create_user(
|
||||
"mouse@example.com",
|
||||
"mouse@mouse.mouse",
|
||||
"mouseword",
|
||||
local=True,
|
||||
localname="mouse",
|
||||
)
|
||||
with patch("bookwyrm.models.user.set_remote_server.delay"):
|
||||
self.remote_user = models.User.objects.create_user(
|
||||
"rat",
|
||||
"rat@rat.rat",
|
||||
"ratword",
|
||||
remote_id="http://example.com/rat",
|
||||
local=False,
|
||||
)
|
||||
self.book = models.Edition.objects.create(title="Test Book")
|
||||
|
||||
def test_get_user_identifer_local(self, *_):
|
||||
"""fall back to the simplest uid available"""
|
||||
self.assertNotEqual(self.user.username, self.user.localname)
|
||||
self.assertEqual(utilities.get_user_identifier(self.user), "mouse")
|
||||
|
||||
def test_get_user_identifer_remote(self, *_):
|
||||
"""for a remote user, should be their full username"""
|
||||
self.assertEqual(
|
||||
utilities.get_user_identifier(self.remote_user), "rat@example.com"
|
||||
)
|
||||
|
||||
def test_get_uuid(self, *_):
|
||||
"""uuid functionality"""
|
||||
uuid = utilities.get_uuid("hi")
|
||||
self.assertTrue(re.match(r"hi[A-Za-z0-9\-]", uuid))
|
|
@ -1,183 +0,0 @@
|
|||
""" style fixes and lookups for templates """
|
||||
import re
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
|
||||
from bookwyrm import models
|
||||
from bookwyrm.templatetags import (
|
||||
bookwyrm_tags,
|
||||
interaction,
|
||||
markdown,
|
||||
status_display,
|
||||
utilities,
|
||||
)
|
||||
|
||||
|
||||
@patch("bookwyrm.activitystreams.add_status_task.delay")
|
||||
@patch("bookwyrm.activitystreams.remove_status_task.delay")
|
||||
class TemplateTags(TestCase):
|
||||
"""lotta different things here"""
|
||||
|
||||
def setUp(self):
|
||||
"""create some filler objects"""
|
||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
|
||||
"bookwyrm.activitystreams.populate_stream_task.delay"
|
||||
):
|
||||
self.user = models.User.objects.create_user(
|
||||
"mouse@example.com",
|
||||
"mouse@mouse.mouse",
|
||||
"mouseword",
|
||||
local=True,
|
||||
localname="mouse",
|
||||
)
|
||||
with patch("bookwyrm.models.user.set_remote_server.delay"):
|
||||
self.remote_user = models.User.objects.create_user(
|
||||
"rat",
|
||||
"rat@rat.rat",
|
||||
"ratword",
|
||||
remote_id="http://example.com/rat",
|
||||
local=False,
|
||||
)
|
||||
self.book = models.Edition.objects.create(title="Test Book")
|
||||
|
||||
def test_get_user_rating(self, *_):
|
||||
"""get a user's most recent rating of a book"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.Review.objects.create(user=self.user, book=self.book, rating=3)
|
||||
self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 3)
|
||||
|
||||
def test_get_user_rating_doesnt_exist(self, *_):
|
||||
"""there is no rating available"""
|
||||
self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 0)
|
||||
|
||||
def test_get_user_identifer_local(self, *_):
|
||||
"""fall back to the simplest uid available"""
|
||||
self.assertNotEqual(self.user.username, self.user.localname)
|
||||
self.assertEqual(utilities.get_user_identifier(self.user), "mouse")
|
||||
|
||||
def test_get_user_identifer_remote(self, *_):
|
||||
"""for a remote user, should be their full username"""
|
||||
self.assertEqual(
|
||||
utilities.get_user_identifier(self.remote_user), "rat@example.com"
|
||||
)
|
||||
|
||||
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
|
||||
def test_get_replies(self, *_):
|
||||
"""direct replies to a status"""
|
||||
parent = models.Review.objects.create(
|
||||
user=self.user, book=self.book, content="hi"
|
||||
)
|
||||
first_child = models.Status.objects.create(
|
||||
reply_parent=parent, user=self.user, content="hi"
|
||||
)
|
||||
second_child = models.Status.objects.create(
|
||||
reply_parent=parent, user=self.user, content="hi"
|
||||
)
|
||||
third_child = models.Status.objects.create(
|
||||
reply_parent=parent,
|
||||
user=self.user,
|
||||
deleted=True,
|
||||
deleted_date=timezone.now(),
|
||||
)
|
||||
|
||||
replies = status_display.get_replies(parent)
|
||||
self.assertEqual(len(replies), 2)
|
||||
self.assertTrue(first_child in replies)
|
||||
self.assertTrue(second_child in replies)
|
||||
self.assertFalse(third_child in replies)
|
||||
|
||||
def test_get_parent(self, *_):
|
||||
"""get the reply parent of a status"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
parent = models.Review.objects.create(
|
||||
user=self.user, book=self.book, content="hi"
|
||||
)
|
||||
child = models.Status.objects.create(
|
||||
reply_parent=parent, user=self.user, content="hi"
|
||||
)
|
||||
|
||||
result = status_display.get_parent(child)
|
||||
self.assertEqual(result, parent)
|
||||
self.assertIsInstance(result, models.Review)
|
||||
|
||||
def test_get_user_liked(self, *_):
|
||||
"""did a user like a status"""
|
||||
status = models.Review.objects.create(user=self.remote_user, book=self.book)
|
||||
|
||||
self.assertFalse(interaction.get_user_liked(self.user, status))
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.Favorite.objects.create(user=self.user, status=status)
|
||||
self.assertTrue(interaction.get_user_liked(self.user, status))
|
||||
|
||||
def test_get_user_boosted(self, *_):
|
||||
"""did a user boost a status"""
|
||||
status = models.Review.objects.create(user=self.remote_user, book=self.book)
|
||||
|
||||
self.assertFalse(interaction.get_user_boosted(self.user, status))
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.Boost.objects.create(user=self.user, boosted_status=status)
|
||||
self.assertTrue(interaction.get_user_boosted(self.user, status))
|
||||
|
||||
def test_get_boosted(self, *_):
|
||||
"""load a boosted status"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
status = models.Review.objects.create(user=self.remote_user, book=self.book)
|
||||
boost = models.Boost.objects.create(user=self.user, boosted_status=status)
|
||||
boosted = status_display.get_boosted(boost)
|
||||
self.assertIsInstance(boosted, models.Review)
|
||||
self.assertEqual(boosted, status)
|
||||
|
||||
def test_get_book_description(self, *_):
|
||||
"""grab it from the edition or the parent"""
|
||||
work = models.Work.objects.create(title="Test Work")
|
||||
self.book.parent_work = work
|
||||
self.book.save()
|
||||
|
||||
self.assertIsNone(bookwyrm_tags.get_book_description(self.book))
|
||||
|
||||
work.description = "hi"
|
||||
work.save()
|
||||
self.assertEqual(bookwyrm_tags.get_book_description(self.book), "hi")
|
||||
|
||||
self.book.description = "hello"
|
||||
self.book.save()
|
||||
self.assertEqual(bookwyrm_tags.get_book_description(self.book), "hello")
|
||||
|
||||
def test_get_uuid(self, *_):
|
||||
"""uuid functionality"""
|
||||
uuid = utilities.get_uuid("hi")
|
||||
self.assertTrue(re.match(r"hi[A-Za-z0-9\-]", uuid))
|
||||
|
||||
def test_get_markdown(self, *_):
|
||||
"""mardown format data"""
|
||||
result = markdown.get_markdown("_hi_")
|
||||
self.assertEqual(result, "<p><em>hi</em></p>")
|
||||
|
||||
result = markdown.get_markdown("<marquee>_hi_</marquee>")
|
||||
self.assertEqual(result, "<p><em>hi</em></p>")
|
||||
|
||||
def test_get_mentions(self, *_):
|
||||
"""list of people mentioned"""
|
||||
status = models.Status.objects.create(content="hi", user=self.remote_user)
|
||||
result = status_display.get_mentions(status, self.user)
|
||||
self.assertEqual(result, "@rat@example.com ")
|
||||
|
||||
def test_related_status(self, *_):
|
||||
"""gets the subclass model for a notification status"""
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
status = models.Status.objects.create(content="hi", user=self.user)
|
||||
notification = models.Notification.objects.create(
|
||||
user=self.user, notification_type="MENTION", related_status=status
|
||||
)
|
||||
|
||||
result = bookwyrm_tags.related_status(notification)
|
||||
self.assertIsInstance(result, models.Status)
|
||||
|
||||
def test_get_next_shelf(self, *_):
|
||||
"""self progress helper"""
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("to-read"), "reading")
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("reading"), "read")
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("read"), "complete")
|
||||
self.assertEqual(bookwyrm_tags.get_next_shelf("blooooga"), "to-read")
|
|
@ -347,9 +347,12 @@ class ListViews(TestCase):
|
|||
"""there are so many views, this just makes sure it LOADS"""
|
||||
view = views.Curate.as_view()
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"):
|
||||
models.List.objects.create(name="Public list", user=self.local_user)
|
||||
models.List.objects.create(
|
||||
name="Private list", privacy="direct", user=self.local_user
|
||||
models.ListItem.objects.create(
|
||||
user=self.local_user,
|
||||
book_list=self.list,
|
||||
book=self.book,
|
||||
approved=False,
|
||||
order=1,
|
||||
)
|
||||
request = self.factory.get("")
|
||||
request.user = self.local_user
|
||||
|
|
|
@ -264,10 +264,10 @@ class EmbedList(View):
|
|||
return TemplateResponse(request, "lists/embed-list.html", data)
|
||||
|
||||
|
||||
@method_decorator(login_required, name="dispatch")
|
||||
class Curate(View):
|
||||
"""approve or discard list suggestsions"""
|
||||
|
||||
@method_decorator(login_required, name="dispatch")
|
||||
def get(self, request, list_id):
|
||||
"""display a pending list"""
|
||||
book_list = get_object_or_404(models.List, id=list_id)
|
||||
|
@ -280,8 +280,6 @@ class Curate(View):
|
|||
}
|
||||
return TemplateResponse(request, "lists/curate.html", data)
|
||||
|
||||
@method_decorator(login_required, name="dispatch")
|
||||
# pylint: disable=unused-argument
|
||||
def post(self, request, list_id):
|
||||
"""edit a book_list"""
|
||||
book_list = get_object_or_404(models.List, id=list_id)
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:03\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 21:17\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de\n"
|
||||
|
@ -263,76 +263,78 @@ msgstr ""
|
|||
msgid "Share this page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr ""
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -340,33 +342,35 @@ msgstr ""
|
|||
msgid "by"
|
||||
msgstr "von"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr ""
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"POT-Creation-Date: 2021-12-29 21:32+0000\n"
|
||||
"PO-Revision-Date: 2021-02-28 17:19-0800\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
@ -61,7 +61,7 @@ msgstr ""
|
|||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:110
|
||||
#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:121
|
||||
msgid "Sort By"
|
||||
msgstr ""
|
||||
|
||||
|
@ -145,7 +145,7 @@ msgstr ""
|
|||
msgid "%(value)s is not a valid username"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:173
|
||||
#: bookwyrm/models/fields.py:183 bookwyrm/templates/layout.html:170
|
||||
#: bookwyrm/templates/ostatus/error.html:29
|
||||
msgid "username"
|
||||
msgstr ""
|
||||
|
@ -269,7 +269,7 @@ msgid "Copy address"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
#: bookwyrm/templates/lists/list.html:217
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -520,7 +520,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/book/readthrough.html:76
|
||||
#: bookwyrm/templates/groups/form.html:24
|
||||
#: bookwyrm/templates/lists/bookmark_button.html:15
|
||||
#: bookwyrm/templates/lists/form.html:75
|
||||
#: bookwyrm/templates/lists/form.html:124
|
||||
#: bookwyrm/templates/preferences/edit_user.html:124
|
||||
#: bookwyrm/templates/settings/announcements/announcement_form.html:76
|
||||
#: bookwyrm/templates/settings/federation/edit_instance.html:82
|
||||
|
@ -642,7 +642,7 @@ msgstr ""
|
|||
msgid "Places"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:77
|
||||
#: bookwyrm/templates/book/book.html:320 bookwyrm/templates/layout.html:74
|
||||
#: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12
|
||||
#: bookwyrm/templates/search/layout.html:25
|
||||
#: bookwyrm/templates/search/layout.html:50
|
||||
|
@ -656,7 +656,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/book/book.html:341
|
||||
#: bookwyrm/templates/book/cover_modal.html:31
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/lists/list.html:195
|
||||
#: bookwyrm/templates/settings/email_blocklist/domain_form.html:24
|
||||
#: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:31
|
||||
msgid "Add"
|
||||
|
@ -940,8 +940,8 @@ msgstr ""
|
|||
#: bookwyrm/templates/components/modal.html:11
|
||||
#: bookwyrm/templates/components/tooltip.html:7
|
||||
#: bookwyrm/templates/feed/layout.html:71
|
||||
#: bookwyrm/templates/get_started/layout.html:20
|
||||
#: bookwyrm/templates/get_started/layout.html:53
|
||||
#: bookwyrm/templates/get_started/layout.html:25
|
||||
#: bookwyrm/templates/get_started/layout.html:58
|
||||
#: bookwyrm/templates/search/book.html:49
|
||||
#: bookwyrm/templates/snippets/announcement.html:18
|
||||
msgid "Close"
|
||||
|
@ -1017,7 +1017,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/directory/directory.html:4
|
||||
#: bookwyrm/templates/directory/directory.html:9
|
||||
#: bookwyrm/templates/layout.html:103
|
||||
#: bookwyrm/templates/layout.html:100
|
||||
msgid "Directory"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1137,7 +1137,7 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/discover/discover.html:4
|
||||
#: bookwyrm/templates/discover/discover.html:10
|
||||
#: bookwyrm/templates/layout.html:80
|
||||
#: bookwyrm/templates/layout.html:77
|
||||
msgid "Discover"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1260,12 +1260,12 @@ msgid "%(site_name)s home page"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:34
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:232
|
||||
#: bookwyrm/templates/landing/about.html:7 bookwyrm/templates/layout.html:229
|
||||
#, python-format
|
||||
msgid "About %(site_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:236
|
||||
#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:233
|
||||
msgid "Contact site admin"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1279,7 +1279,7 @@ msgid "Direct Messages with <a href=\"%(path)s\">%(username)s</a>"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/direct_messages.html:10
|
||||
#: bookwyrm/templates/layout.html:113
|
||||
#: bookwyrm/templates/layout.html:110
|
||||
msgid "Direct Messages"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1332,7 +1332,7 @@ msgstr ""
|
|||
msgid "Updates"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/feed/layout.html:12 bookwyrm/templates/layout.html:108
|
||||
#: bookwyrm/templates/feed/layout.html:12 bookwyrm/templates/layout.html:105
|
||||
msgid "Your Books"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1409,7 +1409,7 @@ msgid "What are you reading?"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:9
|
||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:138
|
||||
#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:149
|
||||
msgid "Search for a book"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1429,7 +1429,7 @@ msgstr ""
|
|||
#: bookwyrm/templates/get_started/users.html:19
|
||||
#: bookwyrm/templates/groups/group.html:19
|
||||
#: bookwyrm/templates/groups/group.html:20 bookwyrm/templates/layout.html:53
|
||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:142
|
||||
#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:153
|
||||
#: bookwyrm/templates/search/layout.html:4
|
||||
#: bookwyrm/templates/search/layout.html:9
|
||||
msgid "Search"
|
||||
|
@ -1445,12 +1445,12 @@ msgid "Popular on %(site_name)s"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:58
|
||||
#: bookwyrm/templates/lists/list.html:155
|
||||
#: bookwyrm/templates/lists/list.html:166
|
||||
msgid "No books found"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/books.html:63
|
||||
#: bookwyrm/templates/get_started/profile.html:51
|
||||
#: bookwyrm/templates/get_started/profile.html:64
|
||||
msgid "Save & continue"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1459,33 +1459,33 @@ msgstr ""
|
|||
msgid "Welcome"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:15
|
||||
#: bookwyrm/templates/get_started/layout.html:20
|
||||
#, python-format
|
||||
msgid "Welcome to %(site_name)s!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:17
|
||||
#: bookwyrm/templates/get_started/layout.html:22
|
||||
msgid "These are some first steps to get you started."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:31
|
||||
#: bookwyrm/templates/get_started/layout.html:36
|
||||
#: bookwyrm/templates/get_started/profile.html:6
|
||||
msgid "Create your profile"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:35
|
||||
#: bookwyrm/templates/get_started/layout.html:40
|
||||
msgid "Add books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:39
|
||||
#: bookwyrm/templates/get_started/layout.html:44
|
||||
msgid "Find friends"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:45
|
||||
#: bookwyrm/templates/get_started/layout.html:50
|
||||
msgid "Skip this step"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/layout.html:49
|
||||
#: bookwyrm/templates/get_started/layout.html:54
|
||||
msgid "Finish"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1494,29 +1494,29 @@ msgstr ""
|
|||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/profile.html:21
|
||||
#: bookwyrm/templates/get_started/profile.html:29
|
||||
#: bookwyrm/templates/preferences/edit_user.html:47
|
||||
msgid "Summary:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/profile.html:22
|
||||
#: bookwyrm/templates/get_started/profile.html:34
|
||||
msgid "A little bit about you"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/profile.html:30
|
||||
#: bookwyrm/templates/get_started/profile.html:43
|
||||
#: bookwyrm/templates/preferences/edit_user.html:27
|
||||
msgid "Avatar:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/profile.html:39
|
||||
#: bookwyrm/templates/get_started/profile.html:52
|
||||
msgid "Manually approve followers:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/profile.html:45
|
||||
#: bookwyrm/templates/get_started/profile.html:58
|
||||
msgid "Show this account in suggested users:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/get_started/profile.html:49
|
||||
#: bookwyrm/templates/get_started/profile.html:62
|
||||
msgid "Your account will show up in the directory, and may be recommended to other BookWyrm users."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1908,7 +1908,7 @@ msgid "Login"
|
|||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/login.html:7
|
||||
#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:181
|
||||
#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178
|
||||
#: bookwyrm/templates/ostatus/error.html:37
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
|
@ -1917,7 +1917,7 @@ msgstr ""
|
|||
msgid "Success! Email address confirmed."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:172
|
||||
#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169
|
||||
#: bookwyrm/templates/ostatus/error.html:28
|
||||
#: bookwyrm/templates/snippets/register_form.html:4
|
||||
msgid "Username:"
|
||||
|
@ -1925,12 +1925,12 @@ msgstr ""
|
|||
|
||||
#: bookwyrm/templates/landing/login.html:27
|
||||
#: bookwyrm/templates/landing/password_reset.html:26
|
||||
#: bookwyrm/templates/layout.html:176 bookwyrm/templates/ostatus/error.html:32
|
||||
#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32
|
||||
#: bookwyrm/templates/snippets/register_form.html:20
|
||||
msgid "Password:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:178
|
||||
#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175
|
||||
#: bookwyrm/templates/ostatus/error.html:34
|
||||
msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
|
@ -1962,19 +1962,19 @@ msgstr ""
|
|||
msgid "Search for a book, user, or list"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:63 bookwyrm/templates/layout.html:64
|
||||
#: bookwyrm/templates/layout.html:63
|
||||
msgid "Main navigation menu"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:74
|
||||
#: bookwyrm/templates/layout.html:71
|
||||
msgid "Feed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:118
|
||||
#: bookwyrm/templates/layout.html:115
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:127
|
||||
#: bookwyrm/templates/layout.html:124
|
||||
#: bookwyrm/templates/settings/invites/manage_invite_requests.html:15
|
||||
#: bookwyrm/templates/settings/invites/manage_invites.html:3
|
||||
#: bookwyrm/templates/settings/invites/manage_invites.html:15
|
||||
|
@ -1982,46 +1982,46 @@ msgstr ""
|
|||
msgid "Invites"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:134
|
||||
#: bookwyrm/templates/layout.html:131
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:141
|
||||
#: bookwyrm/templates/layout.html:138
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:149 bookwyrm/templates/layout.html:150
|
||||
#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147
|
||||
#: bookwyrm/templates/notifications/notifications_page.html:5
|
||||
#: bookwyrm/templates/notifications/notifications_page.html:10
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:177 bookwyrm/templates/ostatus/error.html:33
|
||||
#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33
|
||||
msgid "password"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:189
|
||||
#: bookwyrm/templates/layout.html:186
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:223
|
||||
#: bookwyrm/templates/layout.html:220
|
||||
msgid "Successfully posted status"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:224
|
||||
#: bookwyrm/templates/layout.html:221
|
||||
msgid "Error posting status"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:240
|
||||
#: bookwyrm/templates/layout.html:237
|
||||
msgid "Documentation"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:247
|
||||
#: bookwyrm/templates/layout.html:244
|
||||
#, python-format
|
||||
msgid "Support %(site_name)s on <a href=\"%(support_link)s\" target=\"_blank\">%(support_title)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/layout.html:251
|
||||
#: bookwyrm/templates/layout.html:248
|
||||
msgid "BookWyrm's source code is freely available. You can contribute or report issues on <a href=\"https://github.com/mouse-reeve/bookwyrm\">GitHub</a>."
|
||||
msgstr ""
|
||||
|
||||
|
@ -2097,56 +2097,56 @@ msgstr ""
|
|||
msgid "List curation:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:22
|
||||
#: bookwyrm/templates/lists/form.html:31
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:23
|
||||
#: bookwyrm/templates/lists/form.html:34
|
||||
msgid "Only you can add and remove books to this list"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:27
|
||||
#: bookwyrm/templates/lists/form.html:48
|
||||
msgid "Curated"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:28
|
||||
#: bookwyrm/templates/lists/form.html:51
|
||||
msgid "Anyone can suggest books, subject to your approval"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:32
|
||||
#: bookwyrm/templates/lists/form.html:65
|
||||
msgctxt "curation type"
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:33
|
||||
#: bookwyrm/templates/lists/form.html:68
|
||||
msgid "Anyone can add books to this list"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:37
|
||||
#: bookwyrm/templates/lists/form.html:82
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:38
|
||||
#: bookwyrm/templates/lists/form.html:85
|
||||
msgid "Group members can add to and remove from this list"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:41
|
||||
#: bookwyrm/templates/lists/form.html:90
|
||||
msgid "Select Group"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:45
|
||||
#: bookwyrm/templates/lists/form.html:94
|
||||
msgid "Select a group"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:56
|
||||
#: bookwyrm/templates/lists/form.html:105
|
||||
msgid "You don't have any Groups yet!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:58
|
||||
#: bookwyrm/templates/lists/form.html:107
|
||||
msgid "Create a Group"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/form.html:81
|
||||
#: bookwyrm/templates/lists/form.html:130
|
||||
msgid "Delete list"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2163,62 +2163,62 @@ msgstr ""
|
|||
msgid "Added by <a href=\"%(user_path)s\">%(username)s</a>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:76
|
||||
#: bookwyrm/templates/lists/list.html:82
|
||||
msgid "List position"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:82
|
||||
#: bookwyrm/templates/lists/list.html:88
|
||||
msgid "Set"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:92
|
||||
#: bookwyrm/templates/lists/list.html:103
|
||||
#: bookwyrm/templates/snippets/remove_from_group_button.html:19
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:106
|
||||
#: bookwyrm/templates/lists/list.html:123
|
||||
#: bookwyrm/templates/lists/list.html:117
|
||||
#: bookwyrm/templates/lists/list.html:134
|
||||
msgid "Sort List"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:116
|
||||
#: bookwyrm/templates/lists/list.html:127
|
||||
msgid "Direction"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:130
|
||||
#: bookwyrm/templates/lists/list.html:141
|
||||
msgid "Add Books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:132
|
||||
#: bookwyrm/templates/lists/list.html:143
|
||||
msgid "Suggest Books"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:143
|
||||
#: bookwyrm/templates/lists/list.html:154
|
||||
msgid "search"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:149
|
||||
#: bookwyrm/templates/lists/list.html:160
|
||||
msgid "Clear search"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:154
|
||||
#: bookwyrm/templates/lists/list.html:165
|
||||
#, python-format
|
||||
msgid "No books found matching the query \"%(query)s\""
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:182
|
||||
#: bookwyrm/templates/lists/list.html:197
|
||||
msgid "Suggest"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:191
|
||||
#: bookwyrm/templates/lists/list.html:208
|
||||
msgid "Embed this list on a website"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
#: bookwyrm/templates/lists/list.html:216
|
||||
msgid "Copy embed code"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
#: bookwyrm/templates/lists/list.html:218
|
||||
#, python-format
|
||||
msgid "%(list_name)s, a list by %(owner)s on %(site_name)s"
|
||||
msgstr ""
|
||||
|
@ -2697,7 +2697,7 @@ msgstr ""
|
|||
msgid "Edit Announcement"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:35
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:34
|
||||
msgid "Visible:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2709,19 +2709,19 @@ msgstr ""
|
|||
msgid "False"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:47
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:46
|
||||
#: bookwyrm/templates/settings/announcements/announcement_form.html:44
|
||||
#: bookwyrm/templates/settings/dashboard/dashboard.html:71
|
||||
msgid "Start date:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:54
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:51
|
||||
#: bookwyrm/templates/settings/announcements/announcement_form.html:54
|
||||
#: bookwyrm/templates/settings/dashboard/dashboard.html:77
|
||||
msgid "End date:"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:60
|
||||
#: bookwyrm/templates/settings/announcements/announcement.html:55
|
||||
#: bookwyrm/templates/settings/announcements/announcement_form.html:64
|
||||
msgid "Active:"
|
||||
msgstr ""
|
||||
|
@ -4284,7 +4284,7 @@ msgstr ""
|
|||
msgid "Not a valid csv file"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/views/landing/login.py:69
|
||||
#: bookwyrm/views/landing/login.py:70
|
||||
msgid "Username or password are incorrect"
|
||||
msgstr ""
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 17:59\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 22:55\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es\n"
|
||||
|
@ -263,76 +263,78 @@ msgstr "El año de lectura de <em>%(display_name)s</em>"
|
|||
msgid "Share this page"
|
||||
msgstr "Compartir esta página"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr "Copiar dirección"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr "¡Copiado!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr "Nivel de compartido: <strong>público con llave</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr "La página puede ser vista por cualquier persona que tenga la dirección completa."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr "Hacer privada la página"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr "Nivel de compartido: <strong>privado</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr "La página es privada, solo tú puedes verla."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr "Hacer pública la página"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr "Una vez que haces privada tu página, la clave antigua ya no dará acceso a la página. Si la página se vuelve a hacer pública se creará una nueva clave."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr "Lamentablemente, %(display_name)s no terminó ningún libro en %(year)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr "En %(year)s %(display_name)s ha leído %(books_total)s libros<br />¡haciendo un total de %(pages_total)s páginas!"
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] "En %(year)s %(display_name)s ha leído %(books_total)s libro<br />¡haciendo un total de %(pages_total)s páginas!"
|
||||
msgstr[1] "En %(year)s %(display_name)s ha leído %(books_total)s libros<br />¡haciendo un total de %(pages_total)s páginas!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr "¡Eso es genial!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr "Eso hace un promedio de %(pages)s páginas por libro."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] "(%(no_page_number)s libro no tiene páginas)"
|
||||
msgstr[1] "(%(no_page_number)s libros no tienen páginas)"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr "Su lectura más corta de este año…"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -340,34 +342,36 @@ msgstr "Su lectura más corta de este año…"
|
|||
msgid "by"
|
||||
msgstr "por"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr "<strong>%(pages)s</strong> páginas"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr "… y la más larga"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr "%(display_name)s dio %(ratings_total)s valoraciones, <br />su valoración media es %(rating_average)s"
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] "%(display_name)s dio %(ratings_total)s valoración, <br />su valoración media es %(rating_average)s"
|
||||
msgstr[1] "%(display_name)s dio %(ratings_total)s valoraciones, <br />su valoración media es %(rating_average)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr "Su mejor valoración"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr "Su valoración: <strong>%(rating)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgstr "Todos los libros que ha leído %(display_name)s en 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr "Todos los libros que ha leído %(display_name)s en %(year)s"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
#: bookwyrm/templates/author/author.html:19
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:59\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 21:17\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr\n"
|
||||
|
@ -263,76 +263,78 @@ msgstr "l’année de lecture de <em>%(display_name)s</em>"
|
|||
msgid "Share this page"
|
||||
msgstr "Partager cette page"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr "Copier l’adresse"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr "Copié!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr "Statut de partage : <strong>public avec clé</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr "La page peut être consultée par toute personne ayant l'adresse complète."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr "Rendre cette page privée"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr "Statut de partage : <strong>privé</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr "La page est privée, seulement vous pouvez la voir."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr "Rendre cette page publique"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr "Lorsque vous rendez votre page privée, l’ancienne clé ne donnera plus accès à la page. Une nouvelle clé sera créée si la page est à nouveau rendue publique."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr "Malheureusement, %(display_name)s n’a terminé aucun livre en %(year)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr "En %(year)s, %(display_name)s a lu %(books_total)s livres<br />pour un total de %(pages_total)s pages !"
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] "En %(year)s, %(display_name)s a lu %(books_total)s livre<br />pour un total de %(pages_total)s pages !"
|
||||
msgstr[1] "En %(year)s, %(display_name)s a lu %(books_total)s livres<br />pour un total de %(pages_total)s pages !"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr "C’est génial !"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr "Ce qui fait en moyenne %(pages)s pages par livre."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] "(%(no_page_number)s livre n’a pas de pages)"
|
||||
msgstr[1] "(%(no_page_number)s livres n’ont pas de pages)"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr "Sa lecture la plus courte l’année…"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -340,34 +342,36 @@ msgstr "Sa lecture la plus courte l’année…"
|
|||
msgid "by"
|
||||
msgstr "de"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr "<strong>%(pages)s</strong> pages"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr "…et sa plus longue lecture"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr "%(display_name)s a laissé %(ratings_total)s notes, <br />sa note moyenne est %(rating_average)s"
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] "%(display_name)s a laissé %(ratings_total)s critique, <br />sa note moyenne est %(rating_average)s"
|
||||
msgstr[1] "%(display_name)s a laissé %(ratings_total)s critiques, <br />sa note moyenne est %(rating_average)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr "Son avis le mieux noté"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr "Sa note : <strong>%(rating)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgstr "Tous les livres que %(display_name)s a lus"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr "Tous les livres que %(display_name)s a lus en %(year)s"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
#: bookwyrm/templates/author/author.html:19
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:03\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-29 06:07\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Galician\n"
|
||||
"Language: gl\n"
|
||||
|
@ -263,76 +263,78 @@ msgstr "Un ano de lecturas de <em>%(display_name)s</em>"
|
|||
msgid "Share this page"
|
||||
msgstr "Comparte esta páxina"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr "Copiar enderezo"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr "Copiado!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr "Compartir estado: <strong>público con chave</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr "Esta páxina será visible para calquera que teña o enderezo completo."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr "Facer privada a páxina"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr "Compartir estado: <strong>privado</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr "Esta páxina é privada só ti podes vela."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr "Facer pública a páxina"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr "Cando fas privada unha páxina, a chave antiga non dará acceso á mesma nunca máis. Crearase unha nova chave se volves a facer pública a páxina."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr "Unha mágoa, pero %(display_name)s aínda non rematou ningún libro en %(year)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr "En %(year)s, %(display_name)s leu %(books_total)s libros<br /> cun total de %(pages_total)s páxinas!"
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] "En %(year)s, %(display_name)s leu %(books_total)s libro<br />cun total de %(pages_total)s páxinas!"
|
||||
msgstr[1] "En %(year)s, %(display_name)s leu %(books_total)s libros<br />cun total de %(pages_total)s páxinas!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr "Está moi ben!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr ""
|
||||
msgstr "Esto fai unha media de %(pages)s páxinas por libro."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] "(%(no_page_number)s libro non ten páxinas)"
|
||||
msgstr[1] "(%(no_page_number)s libros non teñen páxinas)"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr "A lectura máis curta deste ano…"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -340,34 +342,36 @@ msgstr "A lectura máis curta deste ano…"
|
|||
msgid "by"
|
||||
msgstr "por"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr "<strong>%(pages)s</strong> páxinas"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr "…e a máis longa"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr "%(display_name)s escribiu %(ratings_total)s valoracións, <br />a media das súas valoracións é %(rating_average)s"
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] "%(display_name)s fixo %(ratings_total)s valoración,<br />cunha media de %(rating_average)s"
|
||||
msgstr[1] "%(display_name)s fixo %(ratings_total)s valoracións,<br />cunha puntuación media de %(rating_average)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr "A súa recensión máis valorada"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr "Valoración: <strong>%(rating)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgstr "Tódolos libros lidos por %(display_name)s en 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr "Tódolos libros que %(display_name)s leu en %(year)s"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
#: bookwyrm/templates/author/author.html:19
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:03\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 21:17\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Language: lt\n"
|
||||
|
@ -263,63 +263,67 @@ msgstr ""
|
|||
msgid "Share this page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr "Nukopijuota"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr ""
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
|
@ -328,13 +332,13 @@ msgstr[1] ""
|
|||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -342,33 +346,37 @@ msgstr ""
|
|||
msgid "by"
|
||||
msgstr " "
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr ""
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:59\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-29 00:08\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt\n"
|
||||
|
@ -263,76 +263,78 @@ msgstr "O ano de leitura de <em>%(display_name)s</em>"
|
|||
msgid "Share this page"
|
||||
msgstr "Compartilhe esta página"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr "Copiar endereço"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr "Copiado!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr "Compartilhamento: <strong>público com chave</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr "Esta página pode ser vista por qualquer pessoa que tenha seu link."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr "Tornar a página particular"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr "Compartilhamento: <strong>particular</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr "A página é particular, só você pode vê-la."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr "Tornar a página pública"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr "Ao tornar a página particular, a chave antiga passa a não funcionar mais. Uma nova chave será gerada quando a página for tornada pública novamente."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr "Infelizmente %(display_name)s não terminou nenhum livro em %(year)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr "Em %(year)s, %(display_name)s leu %(books_total)s livros,<br />um total de %(pages_total)s páginas!"
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] "Em %(year)s, %(display_name)s leu %(books_total)s livro,<br />um total de %(pages_total)s páginas!"
|
||||
msgstr[1] "Em %(year)s, %(display_name)s leu %(books_total)s livros,<br />um total de %(pages_total)s páginas!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr "Muito legal!"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr "Isso dá uma média de %(pages)s páginas por livro."
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] "(%(no_page_number)s livro não tem páginas cadastradas)"
|
||||
msgstr[1] "(%(no_page_number)s livros não têm páginas cadastradas)"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr "A leitura mais curta do ano…"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -340,34 +342,36 @@ msgstr "A leitura mais curta do ano…"
|
|||
msgid "by"
|
||||
msgstr "de"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr "<strong>%(pages)s</strong> páginas"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr "…e a mais longa"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr "%(display_name)s fez %(ratings_total)s avaliações, <br />e sua nota média é %(rating_average)s"
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] "%(display_name)s fez %(ratings_total)s avaliação, <br />com uma média de %(rating_average)s"
|
||||
msgstr[1] "%(display_name)s fez %(ratings_total)s avaliações, <br />com uma média de %(rating_average)s"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr "Sua melhor avaliação"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr "Avaliação: <strong>%(rating)s</strong>"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgstr "Todos os livros que %(display_name)s leu em 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr "Todos os livros lidos por %(display_name)s em %(year)s"
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
#: bookwyrm/templates/author/author.html:19
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:03\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 21:17\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh\n"
|
||||
|
@ -263,75 +263,76 @@ msgstr ""
|
|||
msgid "Share this page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr ""
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -339,33 +340,34 @@ msgstr ""
|
|||
msgid "by"
|
||||
msgstr "作者"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr ""
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
|
|
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: bookwyrm\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-28 15:00+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 16:03\n"
|
||||
"POT-Creation-Date: 2021-12-28 20:12+0000\n"
|
||||
"PO-Revision-Date: 2021-12-28 21:17\n"
|
||||
"Last-Translator: Mouse Reeve <mousereeve@riseup.net>\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh\n"
|
||||
|
@ -263,75 +263,76 @@ msgstr ""
|
|||
msgid "Share this page"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:67
|
||||
msgid "Copy address"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:61
|
||||
#: bookwyrm/templates/annual_summary/layout.html:68
|
||||
#: bookwyrm/templates/lists/list.html:194
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:69
|
||||
#: bookwyrm/templates/annual_summary/layout.html:77
|
||||
msgid "Sharing status: <strong>public with key</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:70
|
||||
#: bookwyrm/templates/annual_summary/layout.html:78
|
||||
msgid "The page can be seen by anyone with the complete address."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:75
|
||||
#: bookwyrm/templates/annual_summary/layout.html:83
|
||||
msgid "Make page private"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:81
|
||||
#: bookwyrm/templates/annual_summary/layout.html:89
|
||||
msgid "Sharing status: <strong>private</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:82
|
||||
#: bookwyrm/templates/annual_summary/layout.html:90
|
||||
msgid "The page is private, only you can see it."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:87
|
||||
#: bookwyrm/templates/annual_summary/layout.html:95
|
||||
msgid "Make page public"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:91
|
||||
#: bookwyrm/templates/annual_summary/layout.html:99
|
||||
msgid "When you make your page private, the old key won’t give access to the page anymore. A new key will be created if the page is once again made public."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:104
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#, python-format
|
||||
msgid "Sadly %(display_name)s didn’t finish any book in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:110
|
||||
#: bookwyrm/templates/annual_summary/layout.html:118
|
||||
#, python-format
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr ""
|
||||
msgid "In %(year)s, %(display_name)s read %(books_total)s book<br />for a total of %(pages_total)s pages!"
|
||||
msgid_plural "In %(year)s, %(display_name)s read %(books_total)s books<br />for a total of %(pages_total)s pages!"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:112
|
||||
#: bookwyrm/templates/annual_summary/layout.html:124
|
||||
msgid "That’s great!"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:115
|
||||
#: bookwyrm/templates/annual_summary/layout.html:127
|
||||
#, python-format
|
||||
msgid "That makes an average of %(pages)s pages per book."
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:120
|
||||
#: bookwyrm/templates/annual_summary/layout.html:132
|
||||
#, python-format
|
||||
msgid "(%(no_page_number)s book doesn’t have pages)"
|
||||
msgid_plural "(%(no_page_number)s books don’t have pages)"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:136
|
||||
#: bookwyrm/templates/annual_summary/layout.html:148
|
||||
msgid "Their shortest read this year…"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:143
|
||||
#: bookwyrm/templates/annual_summary/layout.html:164
|
||||
#: bookwyrm/templates/annual_summary/layout.html:204
|
||||
#: bookwyrm/templates/annual_summary/layout.html:155
|
||||
#: bookwyrm/templates/annual_summary/layout.html:176
|
||||
#: bookwyrm/templates/annual_summary/layout.html:220
|
||||
#: bookwyrm/templates/book/book.html:47
|
||||
#: bookwyrm/templates/discover/large-book.html:22
|
||||
#: bookwyrm/templates/landing/large-book.html:25
|
||||
|
@ -339,33 +340,34 @@ msgstr ""
|
|||
msgid "by"
|
||||
msgstr "作者"
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:149
|
||||
#: bookwyrm/templates/annual_summary/layout.html:170
|
||||
#: bookwyrm/templates/annual_summary/layout.html:161
|
||||
#: bookwyrm/templates/annual_summary/layout.html:182
|
||||
#, python-format
|
||||
msgid "<strong>%(pages)s</strong> pages"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:157
|
||||
#: bookwyrm/templates/annual_summary/layout.html:169
|
||||
msgid "…and the longest"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:187
|
||||
#: bookwyrm/templates/annual_summary/layout.html:199
|
||||
#, python-format
|
||||
msgid "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr ""
|
||||
msgid "%(display_name)s left %(ratings_total)s rating, <br />their average rating is %(rating_average)s"
|
||||
msgid_plural "%(display_name)s left %(ratings_total)s ratings, <br />their average rating is %(rating_average)s"
|
||||
msgstr[0] ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:197
|
||||
#: bookwyrm/templates/annual_summary/layout.html:213
|
||||
msgid "Their best rated review"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:210
|
||||
#: bookwyrm/templates/annual_summary/layout.html:226
|
||||
#, python-format
|
||||
msgid "Their rating: <strong>%(rating)s</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/annual_summary/layout.html:227
|
||||
#: bookwyrm/templates/annual_summary/layout.html:243
|
||||
#, python-format
|
||||
msgid "All the books %(display_name)s read in 2021"
|
||||
msgid "All the books %(display_name)s read in %(year)s"
|
||||
msgstr ""
|
||||
|
||||
#: bookwyrm/templates/author/author.html:18
|
||||
|
|
Loading…
Reference in a new issue