From 252f09325a9b3622cfade6acb8db44fdb951b7f1 Mon Sep 17 00:00:00 2001 From: Jim Fingal Date: Sun, 21 Feb 2021 23:07:58 -0800 Subject: [PATCH 001/111] Add black command --- Makefile | 5 +++++ requirements.txt | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..44abad0b3 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +.PHONY: itblack + +itblack: + docker-compose run --rm web black celerywyrm + docker-compose run --rm web black bookwyrm \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index e5d7798d7..f354fd439 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ celery==4.4.2 -coverage==5.1 Django==3.0.7 django-model-utils==4.0.0 environs==7.2.0 @@ -8,11 +7,15 @@ Markdown==3.3.3 Pillow>=7.1.0 psycopg2==2.8.4 pycryptodome==3.9.4 -pytest-django==4.1.0 -pytest==6.1.2 -pytest-cov==2.10.1 python-dateutil==2.8.1 redis==3.4.1 requests==2.22.0 responses==0.10.14 django-rename-app==0.1.2 + +# Dev +black==20.8b1 +coverage==5.1 +pytest-django==4.1.0 +pytest==6.1.2 +pytest-cov==2.10.1 From 9580bec1541bec5127326cbbdc1e9115e7dfe811 Mon Sep 17 00:00:00 2001 From: Ned Zimmerman Date: Sat, 27 Feb 2021 11:47:03 -0400 Subject: [PATCH 002/111] feat: modify tabbed interfaces to support keyboard accessibility (fixes #526) --- bookwyrm/static/js/shared.js | 21 -- bookwyrm/static/js/tabs.js | 255 ++++++++++++++++++ bookwyrm/templates/feed.html | 90 ++++--- bookwyrm/templates/layout.html | 1 + bookwyrm/templates/shelf.html | 4 +- .../templates/snippets/create_status.html | 58 ++-- 6 files changed, 334 insertions(+), 95 deletions(-) create mode 100644 bookwyrm/static/js/tabs.js diff --git a/bookwyrm/static/js/shared.js b/bookwyrm/static/js/shared.js index a0c21bec6..3b0fa589e 100644 --- a/bookwyrm/static/js/shared.js +++ b/bookwyrm/static/js/shared.js @@ -12,10 +12,6 @@ window.onload = function() { Array.from(document.getElementsByClassName('select-all')) .forEach(t => t.onclick = selectAll); - // toggle between tabs - Array.from(document.getElementsByClassName('tab-change')) - .forEach(t => t.onclick = tabChange); - // handle aria settings on menus Array.from(document.getElementsByClassName('pulldown-menu')) .forEach(t => t.onclick = toggleMenu); @@ -131,23 +127,6 @@ function selectAll(e) { .forEach(t => t.checked=true); } -function tabChange(e) { - var el = e.currentTarget; - var parentElement = el.closest('[role="tablist"]'); - - parentElement.querySelectorAll('[aria-selected="true"]') - .forEach(t => t.setAttribute("aria-selected", false)); - el.setAttribute("aria-selected", true); - - parentElement.querySelectorAll('li') - .forEach(t => removeClass(t, 'is-active')); - addClass(el, 'is-active'); - - var tabId = el.getAttribute('data-tab'); - Array.from(document.getElementsByClassName(el.getAttribute('data-category'))) - .forEach(t => addRemoveClass(t, 'hidden', t.id != tabId)); -} - function toggleMenu(e) { var el = e.currentTarget; var expanded = el.getAttribute('aria-expanded') == 'false'; diff --git a/bookwyrm/static/js/tabs.js b/bookwyrm/static/js/tabs.js new file mode 100644 index 000000000..a57d29aed --- /dev/null +++ b/bookwyrm/static/js/tabs.js @@ -0,0 +1,255 @@ +/* +* This content is licensed according to the W3C Software License at +* https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document +* Heavily modified to web component by Zach Leatherman +* Further modified to support Bulma markup and nested tabs by Ned Zimmerman +*/ +class SevenMinuteTabs extends HTMLElement { + constructor() { + super(); + + this.tablist = this.querySelector('[role="tablist"]'); + this.buttons = this.tablist.querySelectorAll('[role="tab"]'); + this.panels = this.querySelectorAll(':scope > [role="tabpanel"]'); + this.delay = this.determineDelay(); + + if(!this.tablist || !this.buttons.length || !this.panels.length) { + return; + } + + this.initButtons(); + this.initPanels(); + } + + get keys() { + return { + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40 + }; + } + + // Add or substract depending on key pressed + get direction() { + return { + 37: -1, + 38: -1, + 39: 1, + 40: 1 + }; + } + + initButtons() { + let count = 0; + for(let button of this.buttons) { + let isSelected = button.getAttribute("aria-selected") === "true"; + button.setAttribute("tabindex", isSelected ? "0" : "-1"); + + button.addEventListener('click', this.clickEventListener.bind(this)); + button.addEventListener('keydown', this.keydownEventListener.bind(this)); + button.addEventListener('keyup', this.keyupEventListener.bind(this)); + + button.index = count++; + } + } + + initPanels() { + let selectedPanelId = this.tablist.querySelector('[role="tab"][aria-selected="true"]').getAttribute("aria-controls"); + for(let panel of this.panels) { + if(panel.getAttribute("id") !== selectedPanelId) { + panel.setAttribute("hidden", ""); + } + panel.setAttribute("tabindex", "0"); + } + } + + clickEventListener(event) { + let button = event.target; + if(button.tagName === "A" || button.tagName === "BUTTON" && button.getAttribute("type") === "submit") { + event.preventDefault(); + } + + this.activateTab(button, false); + } + + // Handle keydown on tabs + keydownEventListener(event) { + var key = event.keyCode; + + switch (key) { + case this.keys.end: + event.preventDefault(); + // Activate last tab + this.activateTab(this.buttons[this.buttons.length - 1]); + break; + case this.keys.home: + event.preventDefault(); + // Activate first tab + this.activateTab(this.buttons[0]); + break; + + // Up and down are in keydown + // because we need to prevent page scroll >:) + case this.keys.up: + case this.keys.down: + this.determineOrientation(event); + break; + }; + } + + // Handle keyup on tabs + keyupEventListener(event) { + var key = event.keyCode; + + switch (key) { + case this.keys.left: + case this.keys.right: + this.determineOrientation(event); + break; + }; + } + + // When a tablist’s aria-orientation is set to vertical, + // only up and down arrow should function. + // In all other cases only left and right arrow function. + determineOrientation(event) { + var key = event.keyCode; + var vertical = this.tablist.getAttribute('aria-orientation') == 'vertical'; + var proceed = false; + + if (vertical) { + if (key === this.keys.up || key === this.keys.down) { + event.preventDefault(); + proceed = true; + }; + } + else { + if (key === this.keys.left || key === this.keys.right) { + proceed = true; + }; + }; + + if (proceed) { + this.switchTabOnArrowPress(event); + }; + } + + // Either focus the next, previous, first, or last tab + // depending on key pressed + switchTabOnArrowPress(event) { + var pressed = event.keyCode; + + for (let button of this.buttons) { + button.addEventListener('focus', this.focusEventHandler.bind(this)); + }; + + if (this.direction[pressed]) { + var target = event.target; + if (target.index !== undefined) { + if (this.buttons[target.index + this.direction[pressed]]) { + this.buttons[target.index + this.direction[pressed]].focus(); + } + else if (pressed === this.keys.left || pressed === this.keys.up) { + this.focusLastTab(); + } + else if (pressed === this.keys.right || pressed == this.keys.down) { + this.focusFirstTab(); + } + } + } + } + + // Activates any given tab panel + activateTab (tab, setFocus) { + if(tab.getAttribute("role") !== "tab") { + tab = tab.closest('[role="tab"]'); + } + + setFocus = setFocus || true; + + // Deactivate all other tabs + this.deactivateTabs(); + + // Remove tabindex attribute + tab.removeAttribute('tabindex'); + + // Set the tab as selected + tab.setAttribute('aria-selected', 'true'); + + // Give the tab parent an is-active class + tab.parentNode.classList.add('is-active'); + + // Get the value of aria-controls (which is an ID) + var controls = tab.getAttribute('aria-controls'); + + // Remove hidden attribute from tab panel to make it visible + document.getElementById(controls).removeAttribute('hidden'); + + // Set focus when required + if (setFocus) { + tab.focus(); + } + } + + // Deactivate all tabs and tab panels + deactivateTabs() { + for (let button of this.buttons) { + button.parentNode.classList.remove('is-active'); + button.setAttribute('tabindex', '-1'); + button.setAttribute('aria-selected', 'false'); + button.removeEventListener('focus', this.focusEventHandler.bind(this)); + } + + for (let panel of this.panels) { + panel.setAttribute('hidden', 'hidden'); + } + } + + focusFirstTab() { + this.buttons[0].focus(); + } + + focusLastTab() { + this.buttons[this.buttons.length - 1].focus(); + } + + // Determine whether there should be a delay + // when user navigates with the arrow keys + determineDelay() { + var hasDelay = this.tablist.hasAttribute('data-delay'); + var delay = 0; + + if (hasDelay) { + var delayValue = this.tablist.getAttribute('data-delay'); + if (delayValue) { + delay = delayValue; + } + else { + // If no value is specified, default to 300ms + delay = 300; + }; + }; + + return delay; + } + + focusEventHandler(event) { + var target = event.target; + + setTimeout(this.checkTabFocus.bind(this), this.delay, target); + }; + + // Only activate tab on focus if it still has focus after the delay + checkTabFocus(target) { + let focused = document.activeElement; + + if (target === focused) { + this.activateTab(target, false); + } + } + } + + window.customElements.define("seven-minute-tabs", SevenMinuteTabs); diff --git a/bookwyrm/templates/feed.html b/bookwyrm/templates/feed.html index 1368660bc..82ccff5a1 100644 --- a/bookwyrm/templates/feed.html +++ b/bookwyrm/templates/feed.html @@ -8,56 +8,58 @@ {% if not suggested_books %}

There are no books here right now! Try searching for a book to get started

{% else %} -
-
    + +
    + +
    {% for shelf in suggested_books %} - {% if shelf.books %} {% with shelf_counter=forloop.counter %} -
  • -

    - {{ shelf.name }} + {% for book in shelf.books %} +

    +
    +

    + {% include 'snippets/book_titleby.html' with book=book %}

    -
    - +
    + {% include 'snippets/toggle/toggle_button.html' with label="close" controls_text="book" controls_uid=book.id class="delete" nonbutton=True pressed=True %}
    -
  • - {% endwith %} - {% endif %} - {% endfor %} -
-
- {% for shelf in suggested_books %} - {% with shelf_counter=forloop.counter %} - {% for book in shelf.books %} -
-
-

- {% include 'snippets/book_titleby.html' with book=book %} -

-
- {% include 'snippets/toggle/toggle_button.html' with label="close" controls_text="book" controls_uid=book.id class="delete" nonbutton=True pressed=True %} +
+
+ {% include 'snippets/shelve_button.html' with book=book %} + {% active_shelf book as active_shelf %} + {% if active_shelf.shelf.identifier == 'reading' and book.latest_readthrough %} + {% include 'snippets/progress_update.html' with readthrough=book.latest_readthrough %} + {% endif %} + {% include 'snippets/create_status.html' with book=book %}
-
- {% include 'snippets/shelve_button.html' with book=book %} - {% active_shelf book as active_shelf %} - {% if active_shelf.shelf.identifier == 'reading' and book.latest_readthrough %} - {% include 'snippets/progress_update.html' with readthrough=book.latest_readthrough %} - {% endif %} - {% include 'snippets/create_status.html' with book=book %} -
-
- {% endfor %} - {% endwith %} - {% endfor %} + {% endfor %} + {% endwith %} + {% endfor %} + {% endif %} {% if goal %} diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index ddbafbb42..c7a56cc74 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -191,5 +191,6 @@ var csrf_token = '{{ csrf_token }}'; + diff --git a/bookwyrm/templates/shelf.html b/bookwyrm/templates/shelf.html index da599c7d2..0206d7e91 100644 --- a/bookwyrm/templates/shelf.html +++ b/bookwyrm/templates/shelf.html @@ -18,11 +18,11 @@
-
+
diff --git a/bookwyrm/templates/snippets/create_status.html b/bookwyrm/templates/snippets/create_status.html index b443acdd6..1842285f2 100644 --- a/bookwyrm/templates/snippets/create_status.html +++ b/bookwyrm/templates/snippets/create_status.html @@ -1,34 +1,36 @@ {% load humanize %} {% load bookwyrm_tags %} -
- -
+ +
+ +
-
- {% with 0|uuid as uuid %} - {% include 'snippets/create_status_form.html' with type='review' %} - {% endwith %} -
+
+ {% with 0|uuid as uuid %} + {% include 'snippets/create_status_form.html' with type='review' %} + {% endwith %} +
- + - + +
From 9ed5226b5842354d5a45a254952afbcbb6fe478c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 27 Feb 2021 11:07:16 -0800 Subject: [PATCH 003/111] Switches layout to use in-template html header titles --- bookwyrm/templates/feed/feed_layout.html | 1 + bookwyrm/templates/layout.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/feed/feed_layout.html b/bookwyrm/templates/feed/feed_layout.html index 00ac4ab88..57dae971f 100644 --- a/bookwyrm/templates/feed/feed_layout.html +++ b/bookwyrm/templates/feed/feed_layout.html @@ -1,5 +1,6 @@ {% extends 'layout.html' %} {% load bookwyrm_tags %} +{% block title %}Updates{% endblock %} {% block content %}
diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index fe8a75094..ef1a20616 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -2,7 +2,7 @@ - {% if title %}{{ title }} | {% endif %}{{ site.name }} + {% block title %}BookWyrm{% endblock %} | {{ site.name }} From c48376854432f43ea5eaafc21c36ef15f5d3f5ec Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 28 Feb 2021 10:00:36 -0800 Subject: [PATCH 004/111] Moves titles into templates and adds i18n support --- bookwyrm/templates/author.html | 3 +++ bookwyrm/templates/book.html | 4 +++- bookwyrm/templates/discover/about.html | 4 ++-- bookwyrm/templates/discover/landing_layout.html | 4 +++- bookwyrm/templates/edit_author.html | 3 +++ bookwyrm/templates/edit_book.html | 3 +++ bookwyrm/templates/editions.html | 3 +++ bookwyrm/templates/error.html | 5 +++-- bookwyrm/templates/feed/direct_messages.html | 8 +++++++- bookwyrm/templates/feed/feed_layout.html | 5 +++-- bookwyrm/templates/feed/status.html | 1 + bookwyrm/templates/goal.html | 10 ++++++++-- bookwyrm/templates/import.html | 3 +++ bookwyrm/templates/import_status.html | 3 +++ bookwyrm/templates/invite.html | 3 +++ bookwyrm/templates/lists/list.html | 2 +- bookwyrm/templates/lists/list_layout.html | 4 +++- bookwyrm/templates/lists/lists.html | 3 +++ bookwyrm/templates/login.html | 4 +++- bookwyrm/templates/notfound.html | 5 +++-- bookwyrm/templates/notifications.html | 3 +++ bookwyrm/templates/password_reset.html | 4 +++- bookwyrm/templates/password_reset_request.html | 4 +++- bookwyrm/templates/preferences/blocks.html | 2 ++ bookwyrm/templates/preferences/change_password.html | 3 +++ bookwyrm/templates/preferences/edit_user.html | 3 +++ bookwyrm/templates/search_results.html | 3 +++ bookwyrm/templates/settings/federation.html | 3 +++ bookwyrm/templates/settings/site.html | 5 ++++- bookwyrm/templates/tag.html | 5 +++-- bookwyrm/templates/user/followers.html | 6 +----- bookwyrm/templates/user/following.html | 6 +----- bookwyrm/templates/user/lists.html | 6 +++--- bookwyrm/templates/user/shelf.html | 12 ++++++++---- bookwyrm/templates/user/user.html | 4 +++- bookwyrm/templates/user/user_layout.html | 2 ++ bookwyrm/views/authentication.py | 1 - bookwyrm/views/author.py | 3 --- bookwyrm/views/block.py | 3 +-- bookwyrm/views/books.py | 4 ---- bookwyrm/views/error.py | 6 ++---- bookwyrm/views/federation.py | 5 +---- bookwyrm/views/feed.py | 3 --- bookwyrm/views/goal.py | 2 -- bookwyrm/views/import_data.py | 2 -- bookwyrm/views/invite.py | 3 --- bookwyrm/views/landing.py | 6 +----- bookwyrm/views/list.py | 4 ---- bookwyrm/views/notifications.py | 1 - bookwyrm/views/password.py | 12 ++---------- bookwyrm/views/search.py | 1 - bookwyrm/views/shelf.py | 1 - bookwyrm/views/site.py | 10 ++-------- bookwyrm/views/tag.py | 1 - bookwyrm/views/user.py | 4 ---- 55 files changed, 121 insertions(+), 102 deletions(-) diff --git a/bookwyrm/templates/author.html b/bookwyrm/templates/author.html index 9dd831894..bc1034a8d 100644 --- a/bookwyrm/templates/author.html +++ b/bookwyrm/templates/author.html @@ -1,6 +1,9 @@ {% extends 'layout.html' %} {% load i18n %} {% load bookwyrm_tags %} + +{% block title %}{{ author.name }}{% endblock %} + {% block content %}
diff --git a/bookwyrm/templates/book.html b/bookwyrm/templates/book.html index 35ddba373..2280938b2 100644 --- a/bookwyrm/templates/book.html +++ b/bookwyrm/templates/book.html @@ -2,8 +2,10 @@ {% load i18n %} {% load bookwyrm_tags %} {% load humanize %} -{% block content %} +{% block title %}{{ book.title }}{% endblock %} + +{% block content %}
diff --git a/bookwyrm/templates/discover/about.html b/bookwyrm/templates/discover/about.html index dd0a8129b..a6f3a026a 100644 --- a/bookwyrm/templates/discover/about.html +++ b/bookwyrm/templates/discover/about.html @@ -1,10 +1,10 @@ {% extends 'discover/landing_layout.html' %} {% load i18n %} -{% block panel %} +{% block panel %}
- + {% endblock %} diff --git a/bookwyrm/templates/preferences/preferences_layout.html b/bookwyrm/templates/preferences/preferences_layout.html index c0f78f953..d463d9cba 100644 --- a/bookwyrm/templates/preferences/preferences_layout.html +++ b/bookwyrm/templates/preferences/preferences_layout.html @@ -14,13 +14,13 @@ {% trans "Profile" %}
  • - {% trans "Change password" %} + {% trans "Change Password" %}
  • diff --git a/bookwyrm/templates/settings/admin_layout.html b/bookwyrm/templates/settings/admin_layout.html index 73178ac88..0c3efce7c 100644 --- a/bookwyrm/templates/settings/admin_layout.html +++ b/bookwyrm/templates/settings/admin_layout.html @@ -26,7 +26,7 @@
    {% if type == 'quotation' %}
    - + {% include 'snippets/content_warning_field.html' with parent_status=status %}
    diff --git a/bookwyrm/templates/snippets/goal_card.html b/bookwyrm/templates/snippets/goal_card.html index 386c030c8..084a5ad0b 100644 --- a/bookwyrm/templates/snippets/goal_card.html +++ b/bookwyrm/templates/snippets/goal_card.html @@ -3,7 +3,7 @@ {% block card-header %}

    - {% blocktrans %}{{ year }} reading goal{% endblocktrans %} + {% blocktrans %}{{ year }} Reading Goal{% endblocktrans %}

    {% endblock %} diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 4d140e521..c9a874034 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-28 08:42-0800\n" +"POT-Creation-Date: 2021-02-28 10:09-0800\n" "PO-Revision-Date: 2021-02-27 13:50+PST\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Mouse Reeve \n" @@ -18,56 +18,58 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: bookwyrm/templates/author.html:13 bookwyrm/templates/author.html:14 +#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/edit_author.html:5 msgid "Edit Author" msgstr "" -#: bookwyrm/templates/author.html:29 +#: bookwyrm/templates/author.html:32 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author.html:34 +#: bookwyrm/templates/author.html:37 #, python-format msgid "Books by %(name)s" msgstr "" -#: bookwyrm/templates/book.html:27 bookwyrm/templates/book.html:28 +#: bookwyrm/templates/book.html:29 bookwyrm/templates/book.html:30 +#: bookwyrm/templates/edit_book.html:5 msgid "Edit Book" msgstr "" -#: bookwyrm/templates/book.html:43 +#: bookwyrm/templates/book.html:45 msgid "Add cover" msgstr "" -#: bookwyrm/templates/book.html:49 bookwyrm/templates/lists/list.html:89 +#: bookwyrm/templates/book.html:51 bookwyrm/templates/lists/list.html:89 msgid "Add" msgstr "" -#: bookwyrm/templates/book.html:58 +#: bookwyrm/templates/book.html:60 msgid "ISBN:" msgstr "" -#: bookwyrm/templates/book.html:65 bookwyrm/templates/edit_book.html:104 +#: bookwyrm/templates/book.html:67 bookwyrm/templates/edit_book.html:107 msgid "OCLC Number:" msgstr "" -#: bookwyrm/templates/book.html:72 bookwyrm/templates/edit_book.html:108 +#: bookwyrm/templates/book.html:74 bookwyrm/templates/edit_book.html:111 msgid "ASIN:" msgstr "" -#: bookwyrm/templates/book.html:84 +#: bookwyrm/templates/book.html:86 msgid "View on OpenLibrary" msgstr "" -#: bookwyrm/templates/book.html:102 bookwyrm/templates/edit_book.html:36 +#: bookwyrm/templates/book.html:104 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "" -#: bookwyrm/templates/book.html:106 bookwyrm/templates/edit_author.html:75 -#: bookwyrm/templates/edit_book.html:117 bookwyrm/templates/lists/form.html:42 -#: bookwyrm/templates/preferences/edit_user.html:47 -#: bookwyrm/templates/settings/site.html:86 +#: bookwyrm/templates/book.html:108 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:50 +#: bookwyrm/templates/settings/site.html:89 #: bookwyrm/templates/snippets/progress_update.html:21 #: bookwyrm/templates/snippets/readthrough.html:61 #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42 @@ -75,45 +77,50 @@ msgstr "" msgid "Save" msgstr "" -#: bookwyrm/templates/book.html:138 +#: bookwyrm/templates/book.html:140 msgid "Your reading activity" msgstr "" -#: bookwyrm/templates/book.html:144 +#: bookwyrm/templates/book.html:146 msgid "You don't have any reading activity for this book." msgstr "" -#: bookwyrm/templates/book.html:151 +#: bookwyrm/templates/book.html:153 msgid "Create" msgstr "" -#: bookwyrm/templates/book.html:172 +#: bookwyrm/templates/book.html:174 msgid "Tags" msgstr "" -#: bookwyrm/templates/book.html:176 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:178 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "" -#: bookwyrm/templates/book.html:193 +#: bookwyrm/templates/book.html:195 msgid "Subjects" msgstr "" -#: bookwyrm/templates/book.html:204 +#: bookwyrm/templates/book.html:206 msgid "Places" msgstr "" -#: bookwyrm/templates/book.html:215 bookwyrm/templates/layout.html:64 -#: bookwyrm/templates/lists/lists.html:6 -#: bookwyrm/templates/search_results.html:85 -#: bookwyrm/templates/user/user_layout.html:60 +#: bookwyrm/templates/book.html:217 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 +#: bookwyrm/templates/search_results.html:88 +#: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "" -#: bookwyrm/templates/book.html:244 +#: bookwyrm/templates/book.html:246 msgid "rated it" msgstr "" +#: bookwyrm/templates/discover/about.html:7 +#, python-format +msgid "About %(site_name)s" +msgstr "" + #: bookwyrm/templates/discover/about.html:10 #: bookwyrm/templates/discover/about.html:20 msgid "Code of Conduct" @@ -128,162 +135,183 @@ msgstr "" msgid "Recent Books" msgstr "" -#: bookwyrm/templates/discover/landing_layout.html:15 +#: bookwyrm/templates/discover/landing_layout.html:5 +msgid "Welcome" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:17 msgid "Decentralized" msgstr "" -#: bookwyrm/templates/discover/landing_layout.html:21 +#: bookwyrm/templates/discover/landing_layout.html:23 msgid "Friendly" msgstr "" -#: bookwyrm/templates/discover/landing_layout.html:27 +#: bookwyrm/templates/discover/landing_layout.html:29 msgid "Anti-Corporate" msgstr "" -#: bookwyrm/templates/discover/landing_layout.html:42 +#: bookwyrm/templates/discover/landing_layout.html:44 #, python-format msgid "Join %(name)s" msgstr "" -#: bookwyrm/templates/discover/landing_layout.html:47 -#: bookwyrm/templates/login.html:46 +#: bookwyrm/templates/discover/landing_layout.html:49 +#: bookwyrm/templates/login.html:48 msgid "This instance is closed" msgstr "" -#: bookwyrm/templates/discover/landing_layout.html:53 +#: bookwyrm/templates/discover/landing_layout.html:55 msgid "Your Account" msgstr "" -#: bookwyrm/templates/edit_author.html:10 bookwyrm/templates/edit_book.html:10 +#: bookwyrm/templates/edit_author.html:13 bookwyrm/templates/edit_book.html:13 msgid "Added:" msgstr "" -#: bookwyrm/templates/edit_author.html:11 bookwyrm/templates/edit_book.html:11 +#: bookwyrm/templates/edit_author.html:14 bookwyrm/templates/edit_book.html:14 msgid "Updated:" msgstr "" -#: bookwyrm/templates/edit_author.html:12 bookwyrm/templates/edit_book.html:12 +#: bookwyrm/templates/edit_author.html:15 bookwyrm/templates/edit_book.html:15 msgid "Last edited by:" msgstr "" -#: bookwyrm/templates/edit_author.html:28 bookwyrm/templates/edit_book.html:27 +#: bookwyrm/templates/edit_author.html:31 bookwyrm/templates/edit_book.html:30 msgid "Metadata" msgstr "" -#: bookwyrm/templates/edit_author.html:29 bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 #: bookwyrm/templates/user/create_shelf_form.html:13 #: bookwyrm/templates/user/edit_shelf_form.html:14 msgid "Name:" msgstr "" -#: bookwyrm/templates/edit_author.html:34 +#: bookwyrm/templates/edit_author.html:37 msgid "Bio:" msgstr "" -#: bookwyrm/templates/edit_author.html:39 +#: bookwyrm/templates/edit_author.html:42 msgid "Wikipedia link:" msgstr "" -#: bookwyrm/templates/edit_author.html:44 +#: bookwyrm/templates/edit_author.html:47 msgid "Birth date:" msgstr "" -#: bookwyrm/templates/edit_author.html:49 +#: bookwyrm/templates/edit_author.html:52 msgid "Death date:" msgstr "" -#: bookwyrm/templates/edit_author.html:55 +#: bookwyrm/templates/edit_author.html:58 msgid "Author Identifiers" msgstr "" -#: bookwyrm/templates/edit_author.html:56 bookwyrm/templates/edit_book.html:100 +#: bookwyrm/templates/edit_author.html:59 bookwyrm/templates/edit_book.html:103 msgid "Openlibrary key:" msgstr "" -#: bookwyrm/templates/edit_author.html:61 +#: bookwyrm/templates/edit_author.html:64 msgid "Librarything key:" msgstr "" -#: bookwyrm/templates/edit_author.html:66 +#: bookwyrm/templates/edit_author.html:69 msgid "Goodreads key:" msgstr "" -#: bookwyrm/templates/edit_author.html:76 bookwyrm/templates/edit_book.html:118 +#: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 msgid "Cancel" msgstr "" -#: bookwyrm/templates/edit_book.html:28 -#: bookwyrm/templates/snippets/create_status_form.html:10 +#: bookwyrm/templates/edit_book.html:31 msgid "Title:" msgstr "" -#: bookwyrm/templates/edit_book.html:32 +#: bookwyrm/templates/edit_book.html:35 msgid "Subtitle:" msgstr "" -#: bookwyrm/templates/edit_book.html:40 +#: bookwyrm/templates/edit_book.html:43 msgid "Series:" msgstr "" -#: bookwyrm/templates/edit_book.html:44 +#: bookwyrm/templates/edit_book.html:47 msgid "Series number:" msgstr "" -#: bookwyrm/templates/edit_book.html:48 +#: bookwyrm/templates/edit_book.html:51 msgid "First published date:" msgstr "" -#: bookwyrm/templates/edit_book.html:52 +#: bookwyrm/templates/edit_book.html:55 msgid "Published date:" msgstr "" -#: bookwyrm/templates/edit_book.html:65 +#: bookwyrm/templates/edit_book.html:68 #: bookwyrm/templates/snippets/shelf.html:9 msgid "Cover" msgstr "" -#: bookwyrm/templates/edit_book.html:75 +#: bookwyrm/templates/edit_book.html:78 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/edit_book.html:76 +#: bookwyrm/templates/edit_book.html:79 msgid "Format:" msgstr "" -#: bookwyrm/templates/edit_book.html:84 +#: bookwyrm/templates/edit_book.html:87 msgid "Pages:" msgstr "" -#: bookwyrm/templates/edit_book.html:91 +#: bookwyrm/templates/edit_book.html:94 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/edit_book.html:92 +#: bookwyrm/templates/edit_book.html:95 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/edit_book.html:96 +#: bookwyrm/templates/edit_book.html:99 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/editions.html:6 +#: bookwyrm/templates/editions.html:5 +#, python-format +msgid "Editions of %(book_title)s" +msgstr "" + +#: bookwyrm/templates/editions.html:9 #, python-format msgid "Editions of \"%(work_title)s\"" msgstr "" -#: bookwyrm/templates/error.html:6 +#: bookwyrm/templates/error.html:4 +msgid "Oops!" +msgstr "" + +#: bookwyrm/templates/error.html:8 msgid "Server Error" msgstr "" -#: bookwyrm/templates/error.html:7 +#: bookwyrm/templates/error.html:9 msgid "Something went wrong! Sorry about that." msgstr "" -#: bookwyrm/templates/feed/direct_messages.html:7 +#: bookwyrm/templates/feed/direct_messages.html:8 +#, python-format +msgid "Direct Messages with %(username)s" +msgstr "" + +#: bookwyrm/templates/feed/direct_messages.html:10 +msgid "Direct Messages" +msgstr "" + +#: bookwyrm/templates/feed/direct_messages.html:13 msgid "All messages" msgstr "" -#: bookwyrm/templates/feed/direct_messages.html:16 +#: bookwyrm/templates/feed/direct_messages.html:22 msgid "You have no messages right now." msgstr "" @@ -313,21 +341,26 @@ msgid "" "There aren't any activities right now! Try following a user to get started" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:9 -msgid "Your books" +#: bookwyrm/templates/feed/feed_layout.html:5 +msgid "Updates" msgstr "" #: bookwyrm/templates/feed/feed_layout.html:11 +msgid "Your books" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:13 msgid "" "There are no books here right now! Try searching for a book to get started" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:68 +#: bookwyrm/templates/feed/feed_layout.html:70 bookwyrm/templates/goal.html:25 +#: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" msgstr "" -#: bookwyrm/templates/feed/status.html:7 +#: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "" @@ -349,102 +382,115 @@ msgstr "" msgid "%(name)s hasn't set a reading goal for %(year)s." msgstr "" -#: bookwyrm/templates/import.html:6 +#: bookwyrm/templates/goal.html:50 +#, python-format +msgid "Your %(year)s Books" +msgstr "" + +#: bookwyrm/templates/goal.html:52 +#, python-format +msgid "%(username)s's %(year)s Books" +msgstr "" + +#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 msgid "Import Books" msgstr "" -#: bookwyrm/templates/import.html:11 +#: bookwyrm/templates/import.html:14 msgid "Data source" msgstr "" -#: bookwyrm/templates/import.html:29 +#: bookwyrm/templates/import.html:32 msgid "Include reviews" msgstr "" -#: bookwyrm/templates/import.html:34 +#: bookwyrm/templates/import.html:37 msgid "Privacy setting for imported reviews:" msgstr "" -#: bookwyrm/templates/import.html:38 +#: bookwyrm/templates/import.html:41 msgid "Import" msgstr "" -#: bookwyrm/templates/import.html:43 +#: bookwyrm/templates/import.html:46 msgid "Recent Imports" msgstr "" -#: bookwyrm/templates/import.html:45 +#: bookwyrm/templates/import.html:48 msgid "No recent imports" msgstr "" -#: bookwyrm/templates/import_status.html:7 +#: bookwyrm/templates/import_status.html:6 +#: bookwyrm/templates/import_status.html:10 msgid "Import Status" msgstr "" -#: bookwyrm/templates/import_status.html:10 +#: bookwyrm/templates/import_status.html:13 msgid "Import started:" msgstr "" -#: bookwyrm/templates/import_status.html:14 +#: bookwyrm/templates/import_status.html:17 msgid "Import completed:" msgstr "" -#: bookwyrm/templates/import_status.html:17 +#: bookwyrm/templates/import_status.html:20 msgid "TASK FAILED" msgstr "" -#: bookwyrm/templates/import_status.html:23 +#: bookwyrm/templates/import_status.html:26 msgid "Import still in progress." msgstr "" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:28 msgid "(Hit reload to update!)" msgstr "" -#: bookwyrm/templates/import_status.html:32 +#: bookwyrm/templates/import_status.html:35 msgid "Failed to load" msgstr "" -#: bookwyrm/templates/import_status.html:56 +#: bookwyrm/templates/import_status.html:59 msgid "Select all" msgstr "" -#: bookwyrm/templates/import_status.html:59 +#: bookwyrm/templates/import_status.html:62 msgid "Retry items" msgstr "" -#: bookwyrm/templates/import_status.html:81 +#: bookwyrm/templates/import_status.html:84 msgid "Successfully imported" msgstr "" -#: bookwyrm/templates/import_status.html:85 +#: bookwyrm/templates/import_status.html:88 #: bookwyrm/templates/lists/curate.html:14 msgid "Book" msgstr "" -#: bookwyrm/templates/import_status.html:88 +#: bookwyrm/templates/import_status.html:91 +#: bookwyrm/templates/snippets/create_status_form.html:10 #: bookwyrm/templates/snippets/shelf.html:10 msgid "Title" msgstr "" -#: bookwyrm/templates/import_status.html:91 +#: bookwyrm/templates/import_status.html:94 #: bookwyrm/templates/snippets/shelf.html:11 msgid "Author" msgstr "" -#: bookwyrm/templates/import_status.html:114 +#: bookwyrm/templates/import_status.html:117 msgid "Imported" msgstr "" -#: bookwyrm/templates/invite.html:9 bookwyrm/templates/login.html:41 +#: bookwyrm/templates/invite.html:4 bookwyrm/templates/invite.html:12 +#: bookwyrm/templates/login.html:43 msgid "Create an Account" msgstr "" -#: bookwyrm/templates/invite.html:18 +#: bookwyrm/templates/invite.html:21 msgid "Permission Denied" msgstr "" -#: bookwyrm/templates/invite.html:19 +#: bookwyrm/templates/invite.html:22 msgid "Sorry! This invite code is no longer valid." msgstr "" @@ -466,18 +512,19 @@ msgid "Feed" msgstr "" #: bookwyrm/templates/layout.html:125 bookwyrm/templates/layout.html:126 -#: bookwyrm/templates/notifications.html:7 +#: bookwyrm/templates/notifications.html:6 +#: bookwyrm/templates/notifications.html:10 msgid "Notifications" msgstr "" #: bookwyrm/templates/layout.html:143 bookwyrm/templates/layout.html:147 -#: bookwyrm/templates/login.html:15 +#: bookwyrm/templates/login.html:17 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" msgstr "" -#: bookwyrm/templates/layout.html:152 bookwyrm/templates/login.html:8 -#: bookwyrm/templates/login.html:31 +#: bookwyrm/templates/layout.html:152 bookwyrm/templates/login.html:10 +#: bookwyrm/templates/login.html:33 msgid "Log in" msgstr "" @@ -595,165 +642,172 @@ msgid "Suggest" msgstr "" #: bookwyrm/templates/lists/list_items.html:19 -#: bookwyrm/templates/lists/list_layout.html:9 +#: bookwyrm/templates/lists/list_layout.html:11 msgid "Created and curated by" msgstr "" #: bookwyrm/templates/lists/list_items.html:19 -#: bookwyrm/templates/lists/list_layout.html:9 +#: bookwyrm/templates/lists/list_layout.html:11 msgid "Created by" msgstr "" -#: bookwyrm/templates/lists/lists.html:11 +#: bookwyrm/templates/lists/lists.html:14 msgid "Your lists" msgstr "" -#: bookwyrm/templates/lists/lists.html:36 +#: bookwyrm/templates/lists/lists.html:39 msgid "Recent Lists" msgstr "" -#: bookwyrm/templates/login.html:21 bookwyrm/templates/password_reset.html:15 +#: bookwyrm/templates/login.html:4 +msgid "Login" +msgstr "" + +#: bookwyrm/templates/login.html:23 bookwyrm/templates/password_reset.html:17 #: bookwyrm/templates/snippets/register_form.html:22 msgid "Password:" msgstr "" -#: bookwyrm/templates/login.html:34 +#: bookwyrm/templates/login.html:36 msgid "Forgot your password?" msgstr "" -#: bookwyrm/templates/login.html:47 +#: bookwyrm/templates/login.html:49 msgid "Contact an administrator to get an invite" msgstr "" -#: bookwyrm/templates/login.html:57 +#: bookwyrm/templates/login.html:59 msgid "More about this site" msgstr "" -#: bookwyrm/templates/notfound.html:6 +#: bookwyrm/templates/notfound.html:4 bookwyrm/templates/notfound.html:8 msgid "Not Found" msgstr "" -#: bookwyrm/templates/notfound.html:7 +#: bookwyrm/templates/notfound.html:9 msgid "The page your requested doesn't seem to exist!" msgstr "" -#: bookwyrm/templates/notifications.html:11 +#: bookwyrm/templates/notifications.html:14 msgid "Delete notifications" msgstr "" -#: bookwyrm/templates/notifications.html:45 -#, python-format -msgid "favorited your %(preview_name)s" -msgstr "" - #: bookwyrm/templates/notifications.html:48 #, python-format -msgid "mentioned you in a %(preview_name)s" +msgid "favorited your %(preview_name)s" msgstr "" #: bookwyrm/templates/notifications.html:51 #, python-format +msgid "mentioned you in a %(preview_name)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:54 +#, python-format msgid "" "replied to your " "%(preview_name)s" msgstr "" -#: bookwyrm/templates/notifications.html:54 +#: bookwyrm/templates/notifications.html:57 msgid "followed you" msgstr "" -#: bookwyrm/templates/notifications.html:57 +#: bookwyrm/templates/notifications.html:60 msgid "sent you a follow request" msgstr "" -#: bookwyrm/templates/notifications.html:62 +#: bookwyrm/templates/notifications.html:65 #, python-format msgid "boosted your %(preview_name)s" msgstr "" -#: bookwyrm/templates/notifications.html:64 +#: bookwyrm/templates/notifications.html:67 msgid "added" msgstr "" -#: bookwyrm/templates/notifications.html:64 +#: bookwyrm/templates/notifications.html:67 msgid "suggested adding" msgstr "" -#: bookwyrm/templates/notifications.html:67 +#: bookwyrm/templates/notifications.html:70 #, python-format msgid " your import completed." msgstr "" -#: bookwyrm/templates/notifications.html:99 +#: bookwyrm/templates/notifications.html:102 msgid "You're all caught up!" msgstr "" -#: bookwyrm/templates/password_reset.html:8 -#: bookwyrm/templates/password_reset_request.html:8 +#: bookwyrm/templates/password_reset.html:4 +#: bookwyrm/templates/password_reset.html:10 +#: bookwyrm/templates/password_reset_request.html:4 +#: bookwyrm/templates/password_reset_request.html:10 msgid "Reset Password" msgstr "" -#: bookwyrm/templates/password_reset.html:21 -#: bookwyrm/templates/preferences/change_password.html:15 +#: bookwyrm/templates/password_reset.html:23 +#: bookwyrm/templates/preferences/change_password.html:18 msgid "Confirm password:" msgstr "" -#: bookwyrm/templates/password_reset.html:28 +#: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "" -#: bookwyrm/templates/password_reset_request.html:10 +#: bookwyrm/templates/password_reset_request.html:12 msgid "A link to reset your password will be sent to your email address" msgstr "" -#: bookwyrm/templates/password_reset_request.html:14 -#: bookwyrm/templates/preferences/edit_user.html:35 +#: bookwyrm/templates/password_reset_request.html:16 +#: bookwyrm/templates/preferences/edit_user.html:38 #: bookwyrm/templates/snippets/register_form.html:13 msgid "Email address:" msgstr "" -#: bookwyrm/templates/password_reset_request.html:21 +#: bookwyrm/templates/password_reset_request.html:23 msgid "Reset password" msgstr "" -#: bookwyrm/templates/preferences/blocks.html:5 +#: bookwyrm/templates/preferences/blocks.html:4 +#: bookwyrm/templates/preferences/blocks.html:7 +#: bookwyrm/templates/preferences/preferences_layout.html:23 msgid "Blocked Users" msgstr "" -#: bookwyrm/templates/preferences/blocks.html:10 +#: bookwyrm/templates/preferences/blocks.html:12 msgid "No users currently blocked." msgstr "" #: bookwyrm/templates/preferences/change_password.html:4 +#: bookwyrm/templates/preferences/change_password.html:7 +#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/preferences_layout.html:17 msgid "Change Password" msgstr "" -#: bookwyrm/templates/preferences/change_password.html:11 +#: bookwyrm/templates/preferences/change_password.html:14 msgid "New password:" msgstr "" -#: bookwyrm/templates/preferences/change_password.html:18 -#: bookwyrm/templates/preferences/preferences_layout.html:17 -msgid "Change password" -msgstr "" - #: bookwyrm/templates/preferences/edit_user.html:4 +#: bookwyrm/templates/preferences/edit_user.html:7 msgid "Edit Profile" msgstr "" -#: bookwyrm/templates/preferences/edit_user.html:14 +#: bookwyrm/templates/preferences/edit_user.html:17 msgid "Avatar:" msgstr "" -#: bookwyrm/templates/preferences/edit_user.html:21 +#: bookwyrm/templates/preferences/edit_user.html:24 msgid "Display name:" msgstr "" -#: bookwyrm/templates/preferences/edit_user.html:28 +#: bookwyrm/templates/preferences/edit_user.html:31 msgid "Summary:" msgstr "" -#: bookwyrm/templates/preferences/edit_user.html:43 +#: bookwyrm/templates/preferences/edit_user.html:46 msgid "Manually approve followers:" msgstr "" @@ -769,42 +823,42 @@ msgstr "" msgid "Relationships" msgstr "" -#: bookwyrm/templates/preferences/preferences_layout.html:23 -msgid "Blocked users" +#: bookwyrm/templates/search_results.html:4 +msgid "Search Results" msgstr "" -#: bookwyrm/templates/search_results.html:6 +#: bookwyrm/templates/search_results.html:9 #, python-format msgid "Search Results for \"%(query)s\"" msgstr "" -#: bookwyrm/templates/search_results.html:11 +#: bookwyrm/templates/search_results.html:14 msgid "Matching Books" msgstr "" -#: bookwyrm/templates/search_results.html:14 +#: bookwyrm/templates/search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "" -#: bookwyrm/templates/search_results.html:30 +#: bookwyrm/templates/search_results.html:33 msgid "Didn't find what you were looking for?" msgstr "" -#: bookwyrm/templates/search_results.html:53 +#: bookwyrm/templates/search_results.html:56 msgid "Import book" msgstr "" -#: bookwyrm/templates/search_results.html:70 +#: bookwyrm/templates/search_results.html:73 msgid "Matching Users" msgstr "" -#: bookwyrm/templates/search_results.html:72 +#: bookwyrm/templates/search_results.html:75 #, python-format msgid "No users found for \"%(query)s\"" msgstr "" -#: bookwyrm/templates/search_results.html:87 +#: bookwyrm/templates/search_results.html:90 #, python-format msgid "No lists found for \"%(query)s\"" msgstr "" @@ -819,7 +873,8 @@ msgid "Invites" msgstr "" #: bookwyrm/templates/settings/admin_layout.html:20 -#: bookwyrm/templates/settings/federation.html:3 +#: bookwyrm/templates/settings/federation.html:4 +#: bookwyrm/templates/settings/federation.html:6 msgid "Federated Servers" msgstr "" @@ -827,40 +882,35 @@ msgstr "" msgid "Instance Settings" msgstr "" -#: bookwyrm/templates/settings/admin_layout.html:29 -#: bookwyrm/templates/settings/site.html:3 -msgid "Site Configuration" -msgstr "" - #: bookwyrm/templates/settings/admin_layout.html:32 -#: bookwyrm/templates/settings/site.html:10 +#: bookwyrm/templates/settings/site.html:13 msgid "Instance Info" msgstr "" #: bookwyrm/templates/settings/admin_layout.html:33 -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:39 msgid "Images" msgstr "" #: bookwyrm/templates/settings/admin_layout.html:34 -#: bookwyrm/templates/settings/site.html:56 +#: bookwyrm/templates/settings/site.html:59 msgid "Footer Content" msgstr "" #: bookwyrm/templates/settings/admin_layout.html:35 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:77 msgid "Registration" msgstr "" -#: bookwyrm/templates/settings/federation.html:9 +#: bookwyrm/templates/settings/federation.html:12 msgid "Server name" msgstr "" -#: bookwyrm/templates/settings/federation.html:10 +#: bookwyrm/templates/settings/federation.html:13 msgid "Software" msgstr "" -#: bookwyrm/templates/settings/federation.html:11 +#: bookwyrm/templates/settings/federation.html:14 msgid "Status" msgstr "" @@ -900,55 +950,60 @@ msgstr "" msgid "No active invites" msgstr "" -#: bookwyrm/templates/settings/site.html:12 +#: bookwyrm/templates/settings/site.html:4 +#: bookwyrm/templates/settings/site.html:6 +msgid "Site Settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:15 msgid "Instance Name:" msgstr "" -#: bookwyrm/templates/settings/site.html:16 +#: bookwyrm/templates/settings/site.html:19 msgid "Tagline:" msgstr "" -#: bookwyrm/templates/settings/site.html:20 +#: bookwyrm/templates/settings/site.html:23 msgid "Instance description:" msgstr "" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:27 msgid "Code of conduct:" msgstr "" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:31 msgid "Privacy Policy:" msgstr "" -#: bookwyrm/templates/settings/site.html:39 +#: bookwyrm/templates/settings/site.html:42 msgid "Logo:" msgstr "" -#: bookwyrm/templates/settings/site.html:43 +#: bookwyrm/templates/settings/site.html:46 msgid "Logo small:" msgstr "" -#: bookwyrm/templates/settings/site.html:47 +#: bookwyrm/templates/settings/site.html:50 msgid "Favicon:" msgstr "" -#: bookwyrm/templates/settings/site.html:58 +#: bookwyrm/templates/settings/site.html:61 msgid "Support link:" msgstr "" -#: bookwyrm/templates/settings/site.html:62 +#: bookwyrm/templates/settings/site.html:65 msgid "Support title:" msgstr "" -#: bookwyrm/templates/settings/site.html:66 +#: bookwyrm/templates/settings/site.html:69 msgid "Admin email:" msgstr "" -#: bookwyrm/templates/settings/site.html:76 +#: bookwyrm/templates/settings/site.html:79 msgid "Allow registration:" msgstr "" -#: bookwyrm/templates/settings/site.html:80 +#: bookwyrm/templates/settings/site.html:83 msgid "Registration closed text:" msgstr "" @@ -985,6 +1040,7 @@ msgid "Review" msgstr "" #: bookwyrm/templates/snippets/create_status.html:11 +#: bookwyrm/templates/snippets/create_status_form.html:44 msgid "Comment" msgstr "" @@ -1003,10 +1059,6 @@ msgstr "" msgid "No rating" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:44 -msgid "Comment:" -msgstr "" - #: bookwyrm/templates/snippets/create_status_form.html:59 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -1066,11 +1118,6 @@ msgstr "" msgid "Accept" msgstr "" -#: bookwyrm/templates/snippets/goal_card.html:6 -#, python-format -msgid "%(year)s reading goal" -msgstr "" - #: bookwyrm/templates/snippets/goal_card.html:21 msgid "Dismiss message" msgstr "" @@ -1143,7 +1190,7 @@ msgid "Post privacy" msgstr "" #: bookwyrm/templates/snippets/privacy_select.html:16 -#: bookwyrm/templates/user/followers.html:17 +#: bookwyrm/templates/user/followers.html:13 msgid "Followers" msgstr "" @@ -1340,7 +1387,7 @@ msgstr "" msgid "Remove tag" msgstr "" -#: bookwyrm/templates/tag.html:7 +#: bookwyrm/templates/tag.html:9 #, python-format msgid "Books tagged \"%(tag.name)s\"" msgstr "" @@ -1361,73 +1408,101 @@ msgstr "" msgid "Update shelf" msgstr "" -#: bookwyrm/templates/user/followers.html:30 +#: bookwyrm/templates/user/followers.html:7 +#: bookwyrm/templates/user/following.html:7 bookwyrm/templates/user/user.html:9 +msgid "User Profile" +msgstr "" + +#: bookwyrm/templates/user/followers.html:26 #, python-format msgid "%(username)s has no followers" msgstr "" -#: bookwyrm/templates/user/following.html:17 +#: bookwyrm/templates/user/following.html:13 msgid "Following" msgstr "" -#: bookwyrm/templates/user/following.html:30 +#: bookwyrm/templates/user/following.html:26 #, python-format msgid "%(username)s isn't following any users" msgstr "" +#: bookwyrm/templates/user/lists.html:9 +msgid "Your Lists" +msgstr "" + +#: bookwyrm/templates/user/lists.html:11 +#, python-format +msgid "Lists: %(username)s" +msgstr "" + #: bookwyrm/templates/user/lists.html:28 msgid "Create list" msgstr "" -#: bookwyrm/templates/user/user.html:7 -msgid "User profile" +#: bookwyrm/templates/user/shelf.html:5 +#, python-format +msgid "Shelves: %(username)s" msgstr "" -#: bookwyrm/templates/user/user.html:13 +#: bookwyrm/templates/user/shelf.html:11 +msgid "Your Shelves" +msgstr "" + +#: bookwyrm/templates/user/shelf.html:13 +#, python-format +msgid "%(username)s: Shelves" +msgstr "" + +#: bookwyrm/templates/user/shelf.html:35 +msgid "Create Shelf" +msgstr "" + +#: bookwyrm/templates/user/user.html:15 msgid "Edit profile" msgstr "" -#: bookwyrm/templates/user/user.html:24 -#: bookwyrm/templates/user/user_layout.html:66 +#: bookwyrm/templates/user/user.html:26 +#: bookwyrm/templates/user/user_layout.html:68 msgid "Shelves" msgstr "" -#: bookwyrm/templates/user/user.html:29 +#: bookwyrm/templates/user/user.html:31 #, python-format msgid "See all %(size)s" msgstr "" -#: bookwyrm/templates/user/user.html:42 +#: bookwyrm/templates/user/user.html:44 #, python-format msgid "See all %(shelf_count)s shelves" msgstr "" -#: bookwyrm/templates/user/user.html:54 +#: bookwyrm/templates/user/user.html:56 #, python-format msgid "Set a reading goal for %(year)s" msgstr "" -#: bookwyrm/templates/user/user.html:60 +#: bookwyrm/templates/user/user.html:62 msgid "User Activity" msgstr "" -#: bookwyrm/templates/user/user.html:63 +#: bookwyrm/templates/user/user.html:65 msgid "RSS feed" msgstr "" -#: bookwyrm/templates/user/user.html:74 +#: bookwyrm/templates/user/user.html:76 msgid "No activities yet!" msgstr "" -#: bookwyrm/templates/user/user_layout.html:30 +#: bookwyrm/templates/user/user_layout.html:32 msgid "Follow Requests" msgstr "" -#: bookwyrm/templates/user/user_layout.html:48 +#: bookwyrm/templates/user/user_layout.html:50 msgid "Activity" msgstr "" -#: bookwyrm/templates/user/user_layout.html:54 +#: bookwyrm/templates/user/user_layout.html:56 msgid "Reading Goal" msgstr "" From 72c50b3f581d92b0d6daba58de082b3d6c5a1869 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 28 Feb 2021 10:45:21 -0800 Subject: [PATCH 007/111] Fixes typo in admn layout page --- bookwyrm/templates/settings/admin_layout.html | 5 ++- bookwyrm/templates/settings/federation.html | 2 - locale/en_US/LC_MESSAGES/django.po | 38 ++++++++++--------- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/bookwyrm/templates/settings/admin_layout.html b/bookwyrm/templates/settings/admin_layout.html index 0c3efce7c..16741436c 100644 --- a/bookwyrm/templates/settings/admin_layout.html +++ b/bookwyrm/templates/settings/admin_layout.html @@ -1,5 +1,8 @@ {% extends 'layout.html' %} {% load i18n %} + +{% block title %}{% trans "Administration" %}{% endblock %} + {% block content %}
    @@ -26,7 +29,7 @@
    - {% include 'snippets/toggle/close_button.html' with text="Cancel" controls_text="add-readthrough" %} + {% trans "Cancel" as button_text %} + {% include 'snippets/toggle/close_button.html' with text=button_text controls_text="add-readthrough" %}
    diff --git a/bookwyrm/templates/components/inline_form.html b/bookwyrm/templates/components/inline_form.html index 6a244ffd7..97f619964 100644 --- a/bookwyrm/templates/components/inline_form.html +++ b/bookwyrm/templates/components/inline_form.html @@ -4,7 +4,8 @@ {% block header %}{% endblock %} - {% include 'snippets/toggle/toggle_button.html' with label="Close" class="delete" nonbutton=True controls_text=controls_text %} + {% trans "Close" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with label=button_text class="delete" nonbutton=True controls_text=controls_text %}
    diff --git a/bookwyrm/templates/feed/feed_layout.html b/bookwyrm/templates/feed/feed_layout.html index edd4ce4af..f5d3a11b2 100644 --- a/bookwyrm/templates/feed/feed_layout.html +++ b/bookwyrm/templates/feed/feed_layout.html @@ -46,7 +46,8 @@ {% include 'snippets/book_titleby.html' with book=book %}

    - {% include 'snippets/toggle/toggle_button.html' with label="close" controls_text="book" controls_uid=book.id class="delete" nonbutton=True pressed=True %} + {% trans "Close" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with label=button_text controls_text="book" controls_uid=book.id class="delete" nonbutton=True pressed=True %}
    diff --git a/bookwyrm/templates/goal.html b/bookwyrm/templates/goal.html index 4a16ccb61..53891d278 100644 --- a/bookwyrm/templates/goal.html +++ b/bookwyrm/templates/goal.html @@ -8,7 +8,8 @@
    {% if is_self and goal %}
    - {% include 'snippets/toggle/open_button.html' with text="Edit goal" icon="pencil" controls_text="show-edit-goal" focus="edit-form-header" %} + {% trans "Edit Goal" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text icon="pencil" controls_text="show-edit-goal" focus="edit-form-header" %}
    {% endif %}
    @@ -45,7 +46,13 @@ {% if goal.books %}
    -

    {% if goal.user == request.user %}Your{% else %}{{ goal.user.display_name }}'s{% endif %} {{ year }} Books

    +

    + {% if goal.user == request.user %} + {% blocktrans %}Your {{ year }} Books{% endblocktrans %} + {% else %} + {% blocktrans with username=goal.user.display_name %}{{ username }}'s {{ year }} Books{% endblocktrans %} + {% endif %} +

    {% for book in goal.books %}
    diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index c4499c4e8..a0e731286 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -30,7 +30,7 @@
    diff --git a/bookwyrm/templates/lists/list_layout.html b/bookwyrm/templates/lists/list_layout.html index 8e2e36e65..4a153a676 100644 --- a/bookwyrm/templates/lists/list_layout.html +++ b/bookwyrm/templates/lists/list_layout.html @@ -12,7 +12,8 @@
    {% if request.user == list.user %}
    - {% include 'snippets/toggle/open_button.html' with text="Edit list" icon="pencil" controls_text="edit-list" focus="edit-list-header" %} + {% trans "Edit List" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text icon="pencil" controls_text="edit-list" focus="edit-list-header" %}
    {% endif %} diff --git a/bookwyrm/templates/lists/lists.html b/bookwyrm/templates/lists/lists.html index 070326760..936d9633e 100644 --- a/bookwyrm/templates/lists/lists.html +++ b/bookwyrm/templates/lists/lists.html @@ -11,7 +11,8 @@

    {% trans "Your lists" %}

    - {% include 'snippets/toggle/open_button.html' with controls_text="create-list" icon="plus" text="Create new list" focus="create-list-header" %} + {% trans "Create List" as button_text %} + {% include 'snippets/toggle/open_button.html' with controls_text="create-list" icon="plus" text=button_text focus="create-list-header" %}
    diff --git a/bookwyrm/templates/search_results.html b/bookwyrm/templates/search_results.html index 30c88f3d1..7223b17bf 100644 --- a/bookwyrm/templates/search_results.html +++ b/bookwyrm/templates/search_results.html @@ -29,7 +29,8 @@

    {% trans "Didn't find what you were looking for?" %}

    - {% include 'snippets/toggle/open_button.html' with text="Show results from other catalogues" small=True controls_text="more-results" %} + {% trans "Show results from other catalogues" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text small=True controls_text="more-results" %}
    {% endif %} @@ -60,7 +61,8 @@ {% endfor %} {% if local_results.results %} - {% include 'snippets/toggle/close_button.html' with text="Hide results from other catalogues" small=True controls_text="more-results" %} + {% trans "Hide results from other catalogues" as button_text %} + {% include 'snippets/toggle/close_button.html' with text=button_text small=True controls_text="more-results" %} {% endif %}
    {% endif %} diff --git a/bookwyrm/templates/snippets/book_titleby.html b/bookwyrm/templates/snippets/book_titleby.html index b01ede4cb..e561a8a33 100644 --- a/bookwyrm/templates/snippets/book_titleby.html +++ b/bookwyrm/templates/snippets/book_titleby.html @@ -1,5 +1,7 @@ -{{ book.title }} +{% load i18n %} {% if book.authors %} -by {% include 'snippets/authors.html' with book=book %} +{% blocktrans with path=book.local_path title=book.title %}{{ title }} by {% endblocktrans %}{% include 'snippets/authors.html' with book=book %} +{% else %} +{{ book.title }} {% endif %} diff --git a/bookwyrm/templates/snippets/create_status_form.html b/bookwyrm/templates/snippets/create_status_form.html index b5a12084f..11bdcd359 100644 --- a/bookwyrm/templates/snippets/create_status_form.html +++ b/bookwyrm/templates/snippets/create_status_form.html @@ -51,7 +51,8 @@
    - {% include 'snippets/toggle/toggle_button.html' with text="Include spoiler alert" icon="warning is-size-4" controls_text="spoilers" controls_uid=uuid focus="id_content_warning" checkbox="id_show_spoilers" class="toggle-button" pressed=status.content_warning %} + {% trans "Include spoiler alert" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with text=button_text icon="warning is-size-4" controls_text="spoilers" controls_uid=uuid focus="id_content_warning" checkbox="id_show_spoilers" class="toggle-button" pressed=status.content_warning %}
    {% if type == 'direct' %} diff --git a/bookwyrm/templates/snippets/delete_readthrough_modal.html b/bookwyrm/templates/snippets/delete_readthrough_modal.html index 557059eda..e1560f93e 100644 --- a/bookwyrm/templates/snippets/delete_readthrough_modal.html +++ b/bookwyrm/templates/snippets/delete_readthrough_modal.html @@ -14,6 +14,7 @@ - {% include 'snippets/toggle/toggle_button.html' with text="Cancel" controls_text="delete-readthrough" controls_uid=readthrough.id %} + {% trans "Cancel" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="delete-readthrough" controls_uid=readthrough.id %} {% endblock %} diff --git a/bookwyrm/templates/snippets/generated_status/goal.html b/bookwyrm/templates/snippets/generated_status/goal.html index 3b4d0de4f..7d60165f8 100644 --- a/bookwyrm/templates/snippets/generated_status/goal.html +++ b/bookwyrm/templates/snippets/generated_status/goal.html @@ -1 +1 @@ -{% load humanize %}set a goal to read {{ goal.goal | intcomma }} book{{ goal.goal | pluralize }} in {{ goal.year }} +{% load humanize %}{% blocktrans with count=goal.goal|intcomma year=goal.year %}set a goal to read {{ count }} book in {{ year }}{% plural %}set a goal to read {{ count }} books in {{ year }}{% endblocktrans %} diff --git a/bookwyrm/templates/snippets/goal_form.html b/bookwyrm/templates/snippets/goal_form.html index cf5d21f26..30ea18392 100644 --- a/bookwyrm/templates/snippets/goal_form.html +++ b/bookwyrm/templates/snippets/goal_form.html @@ -29,7 +29,8 @@

    {% if goal %} - {% include 'snippets/toggle/close_button.html' with text="Cancel" controls_text="show-edit-goal" %} + {% trans "Cancel" as button_text %} + {% include 'snippets/toggle/close_button.html' with text=button_text controls_text="show-edit-goal" %} {% endif %}

    diff --git a/bookwyrm/templates/snippets/goal_progress.html b/bookwyrm/templates/snippets/goal_progress.html index 2fa0da54e..2d46181ef 100644 --- a/bookwyrm/templates/snippets/goal_progress.html +++ b/bookwyrm/templates/snippets/goal_progress.html @@ -4,9 +4,13 @@ {% if goal.progress_percent >= 100 %} {% trans "Success!" %} {% elif goal.progress_percent %} - {% blocktrans with percent=goal.percent %}{{ percent }}% complete!{% endblocktrans %} + {% blocktrans with percent=goal.progress_percent %}{{ percent }}% complete!{% endblocktrans %} + {% endif %} + {% if goal.user == request.user %} + {% blocktrans with read_count=goal.book_count|intcomma goal_count=goal.goal|intcomma path=goal.local_path %}You've read {{ read_count }} of {{ goal_count}} books.{% endblocktrans %} + {% else %} + {% blocktrans with username=goal.user.display_name read_count=goal.book_count|intcomma goal_count=goal.goal|intcomma path=goal.local_path %}{{ username }} has read {{ read_count }} of {{ goal_count}} books.{% endblocktrans %} {% endif %} - {% if goal.user == request.user %}You've{% else %}{{ goal.user.display_name }} has{% endif %} read {% if request.path != goal.local_path %}{% endif %}{{ goal.book_count }} of {{ goal.goal | intcomma }} books{% if request.path != goal.local_path %}{% endif %}.

    diff --git a/bookwyrm/templates/snippets/readthrough.html b/bookwyrm/templates/snippets/readthrough.html index de85635e4..edac21cfe 100644 --- a/bookwyrm/templates/snippets/readthrough.html +++ b/bookwyrm/templates/snippets/readthrough.html @@ -11,7 +11,8 @@
  • {% if readthrough.finish_date %} {{ readthrough.finish_date | naturalday }}: {% trans "finished" %} {% else %}{% if readthrough.progress_mode == 'PG' %}on page {{ readthrough.progress }}{% if book.pages %} of {{ book.pages }}{% endif %} {% else %}{{ readthrough.progress }}%{% endif %}{% endif %} {% if readthrough.progress %} - {% include 'snippets/toggle/toggle_button.html' with text="Show all updates" controls_text="updates" controls_uid=readthrough.id class="is-small" %} + {% trans "Show all updates" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="updates" controls_uid=readthrough.id class="is-small" %}
  • diff --git a/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html b/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html index 896c80162..ca65bf06c 100644 --- a/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html +++ b/bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html @@ -40,7 +40,8 @@
    - {% include 'snippets/toggle/close_button.html' with text="Cancel" controls_text="finish-reading" controls_uid=uuid %} + {% trans "Cancel" as button_text %} + {% include 'snippets/toggle/close_button.html' with text=button_text controls_text="finish-reading" controls_uid=uuid %}
    {% endblock %} diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html index a1ef2c329..d6fdb13bc 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html @@ -5,13 +5,16 @@ {% if dropdown %}
  • {% endif %}
    - {% include 'snippets/toggle/toggle_button.html' with text="Cancel" controls_text="start-reading" controls_uid=uuid %} + {% trans "Cancel" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="start-reading" controls_uid=uuid %}
  • {% endblock %} diff --git a/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html b/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html index 179e004e4..d7c378977 100644 --- a/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html +++ b/bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html @@ -25,7 +25,8 @@ - {% include 'snippets/toggle/toggle_button.html' with text="Cancel" controls_text="want-to-read" controls_uid=uuid %} + {% trans "Cancel" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with text=button_text controls_text="want-to-read" controls_uid=uuid %}
    {% endblock %} diff --git a/bookwyrm/templates/snippets/status/status_body.html b/bookwyrm/templates/snippets/status/status_body.html index 1bf0d3c70..8d6c21ed9 100644 --- a/bookwyrm/templates/snippets/status/status_body.html +++ b/bookwyrm/templates/snippets/status/status_body.html @@ -21,7 +21,8 @@ {% if request.user.is_authenticated %}
    - {% include 'snippets/toggle/toggle_button.html' with controls_text="show-comment" controls_uid=status.id text="Reply" icon="comment" class="is-small toggle-button" focus="id_content_reply" %} + {% trans "Reply" as button_text %} + {% include 'snippets/toggle/toggle_button.html' with controls_text="show-comment" controls_uid=status.id text=button_text icon="comment" class="is-small toggle-button" focus="id_content_reply" %}
    {% include 'snippets/boost_button.html' with status=status %} diff --git a/bookwyrm/templates/snippets/status/status_content.html b/bookwyrm/templates/snippets/status/status_content.html index b48566b0f..bdbf3cfcc 100644 --- a/bookwyrm/templates/snippets/status/status_content.html +++ b/bookwyrm/templates/snippets/status/status_content.html @@ -13,13 +13,15 @@ {% if status.content_warning %}

    {{ status.content_warning }}

    - {% include 'snippets/toggle/open_button.html' with text="show more" class="is-small" controls_text="show-status-cw" controls_uid=status.id %} + {% trans "Show more" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text class="is-small" controls_text="show-status-cw" controls_uid=status.id %}
    {% endif %}
    {% if is_self %}
    - {% include 'snippets/toggle/open_button.html' with controls_text="create-list" icon="plus" text="Create new list" %} + {% trans "Create new list" as button_text %} + {% include 'snippets/toggle/open_button.html' with controls_text="create-list" icon="plus" text=button_text %}
    {% endif %}
    diff --git a/bookwyrm/templates/user/shelf.html b/bookwyrm/templates/user/shelf.html index 19b93cbd6..b32d7a7c3 100644 --- a/bookwyrm/templates/user/shelf.html +++ b/bookwyrm/templates/user/shelf.html @@ -1,5 +1,6 @@ {% extends 'user/user_layout.html' %} {% load bookwyrm_tags %} +{% load i18n %} {% block header %}
    @@ -29,7 +30,8 @@ {% if is_self %}
    - {% include 'snippets/toggle/open_button.html' with text="Create shelf" icon="plus" controls_text="create-shelf-form" focus="create-shelf-form-header" %} + {% trans "Create shelf" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text icon="plus" controls_text="create-shelf-form" focus="create-shelf-form-header" %}
    {% endif %} @@ -49,7 +51,8 @@ {% if is_self %}
    - {% include 'snippets/toggle/open_button.html' with text="Edit shelf" icon="pencil" controls_text="edit-shelf-form" focus="edit-shelf-form-header" %} + {% trans "Edit shelf" as button_text %} + {% include 'snippets/toggle/open_button.html' with text=button_text icon="pencil" controls_text="edit-shelf-form" focus="edit-shelf-form-header" %}
    {% endif %} diff --git a/bookwyrm/templates/user/user_preview.html b/bookwyrm/templates/user/user_preview.html index 3158ff54e..c641c58fb 100644 --- a/bookwyrm/templates/user/user_preview.html +++ b/bookwyrm/templates/user/user_preview.html @@ -12,8 +12,8 @@

    {{ user.username }}

    {% blocktrans with date=user.created_date|naturaltime %}Joined {{ date }}{% endblocktrans %}

    - {{ user.followers.count }} follower{{ user.followers.count | pluralize }}, - {{ user.following.count }} following + {% blocktrans count counter=user.followers.count %}{{ counter }} follower{% plural %}{{ counter }} followers{% endblocktrans %}, + {% blocktrans with counter=user.following.count %}{{ counter }} following{% endblocktrans %}

    From fc5a180f0f10353e6aee7267d6d32808230ecf76 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 28 Feb 2021 17:11:41 -0800 Subject: [PATCH 016/111] Updates stub english translation file --- locale/en_US/LC_MESSAGES/django.po | 266 ++++++++++++++++++++++------- 1 file changed, 207 insertions(+), 59 deletions(-) diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 4d140e521..df03d37a7 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-28 08:42-0800\n" +"POT-Creation-Date: 2021-02-28 17:11-0800\n" "PO-Revision-Date: 2021-02-27 13:50+PST\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Mouse Reeve \n" @@ -59,61 +59,85 @@ msgstr "" msgid "View on OpenLibrary" msgstr "" -#: bookwyrm/templates/book.html:102 bookwyrm/templates/edit_book.html:36 +#: bookwyrm/templates/book.html:96 +msgid "Add Description" +msgstr "" + +#: bookwyrm/templates/book.html:103 bookwyrm/templates/edit_book.html:36 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "" -#: bookwyrm/templates/book.html:106 bookwyrm/templates/edit_author.html:75 +#: bookwyrm/templates/book.html:107 bookwyrm/templates/edit_author.html:75 #: bookwyrm/templates/edit_book.html:117 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:47 #: bookwyrm/templates/settings/site.html:86 #: bookwyrm/templates/snippets/progress_update.html:21 -#: bookwyrm/templates/snippets/readthrough.html:61 +#: bookwyrm/templates/snippets/readthrough.html:64 #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42 #: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:34 msgid "Save" msgstr "" -#: bookwyrm/templates/book.html:138 +#: bookwyrm/templates/book.html:108 bookwyrm/templates/book.html:157 +#: bookwyrm/templates/edit_author.html:76 bookwyrm/templates/edit_book.html:118 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:65 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "" + +#: bookwyrm/templates/book.html:140 msgid "Your reading activity" msgstr "" -#: bookwyrm/templates/book.html:144 +#: bookwyrm/templates/book.html:142 +msgid "Add read dates" +msgstr "" + +#: bookwyrm/templates/book.html:147 msgid "You don't have any reading activity for this book." msgstr "" -#: bookwyrm/templates/book.html:151 +#: bookwyrm/templates/book.html:154 msgid "Create" msgstr "" -#: bookwyrm/templates/book.html:172 +#: bookwyrm/templates/book.html:176 msgid "Tags" msgstr "" -#: bookwyrm/templates/book.html:176 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:180 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "" -#: bookwyrm/templates/book.html:193 +#: bookwyrm/templates/book.html:197 msgid "Subjects" msgstr "" -#: bookwyrm/templates/book.html:204 +#: bookwyrm/templates/book.html:208 msgid "Places" msgstr "" -#: bookwyrm/templates/book.html:215 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:219 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:6 -#: bookwyrm/templates/search_results.html:85 +#: bookwyrm/templates/search_results.html:87 #: bookwyrm/templates/user/user_layout.html:60 msgid "Lists" msgstr "" -#: bookwyrm/templates/book.html:244 +#: bookwyrm/templates/book.html:248 msgid "rated it" msgstr "" +#: bookwyrm/templates/components/inline_form.html:7 +#: bookwyrm/templates/feed/feed_layout.html:49 +msgid "Close" +msgstr "" + #: bookwyrm/templates/discover/about.html:10 #: bookwyrm/templates/discover/about.html:20 msgid "Code of Conduct" @@ -208,10 +232,6 @@ msgstr "" msgid "Goodreads key:" msgstr "" -#: bookwyrm/templates/edit_author.html:76 bookwyrm/templates/edit_book.html:118 -msgid "Cancel" -msgstr "" - #: bookwyrm/templates/edit_book.html:28 #: bookwyrm/templates/snippets/create_status_form.html:10 msgid "Title:" @@ -322,7 +342,7 @@ msgid "" "There are no books here right now! Try searching for a book to get started" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:68 +#: bookwyrm/templates/feed/feed_layout.html:71 #, python-format msgid "%(year)s Reading Goal" msgstr "" @@ -336,7 +356,11 @@ msgstr "" msgid "%(year)s Reading Progress" msgstr "" -#: bookwyrm/templates/goal.html:29 +#: bookwyrm/templates/goal.html:11 +msgid "Edit Goal" +msgstr "" + +#: bookwyrm/templates/goal.html:30 #: bookwyrm/templates/snippets/goal_card.html:13 #, python-format msgid "" @@ -344,12 +368,22 @@ msgid "" "your progress throughout the year." msgstr "" -#: bookwyrm/templates/goal.html:38 +#: bookwyrm/templates/goal.html:39 #, python-format msgid "%(name)s hasn't set a reading goal for %(year)s." msgstr "" -#: bookwyrm/templates/import.html:6 +#: bookwyrm/templates/goal.html:51 +#, python-format +msgid "Your %(year)s Books" +msgstr "" + +#: bookwyrm/templates/goal.html:53 +#, python-format +msgid "%(username)s's %(year)s Books" +msgstr "" + +#: bookwyrm/templates/import.html:6 bookwyrm/templates/layout.html:94 msgid "Import Books" msgstr "" @@ -448,6 +482,10 @@ msgstr "" msgid "Sorry! This invite code is no longer valid." msgstr "" +#: bookwyrm/templates/layout.html:33 +msgid "Search for a book or user" +msgstr "" + #: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38 #: bookwyrm/templates/lists/list.html:62 msgid "Search" @@ -465,6 +503,35 @@ msgstr "" msgid "Feed" msgstr "" +#: bookwyrm/templates/layout.html:79 +msgid "Direct Messages" +msgstr "" + +#: bookwyrm/templates/layout.html:84 +#: bookwyrm/templates/preferences/preferences_layout.html:14 +msgid "Profile" +msgstr "" + +#: bookwyrm/templates/layout.html:89 +msgid "Settings" +msgstr "" + +#: bookwyrm/templates/layout.html:103 +#: bookwyrm/templates/settings/admin_layout.html:16 +#: bookwyrm/templates/settings/manage_invites.html:3 +msgid "Invites" +msgstr "" + +#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/settings/admin_layout.html:29 +#: bookwyrm/templates/settings/site.html:3 +msgid "Site Configuration" +msgstr "" + +#: bookwyrm/templates/layout.html:117 +msgid "Log out" +msgstr "" + #: bookwyrm/templates/layout.html:125 bookwyrm/templates/layout.html:126 #: bookwyrm/templates/notifications.html:7 msgid "Notifications" @@ -489,7 +556,14 @@ msgstr "" msgid "Contact site admin" msgstr "" +#: bookwyrm/templates/layout.html:198 +msgid "" +"BookWyrm is open source software. You can contribute or report issues on GitHub." +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 +#: bookwyrm/templates/lists/lists.html:14 msgid "Create List" msgstr "" @@ -518,6 +592,7 @@ msgid "Discard" msgstr "" #: bookwyrm/templates/lists/edit_form.html:5 +#: bookwyrm/templates/lists/list_layout.html:15 msgid "Edit List" msgstr "" @@ -608,7 +683,7 @@ msgstr "" msgid "Your lists" msgstr "" -#: bookwyrm/templates/lists/lists.html:36 +#: bookwyrm/templates/lists/lists.html:37 msgid "Recent Lists" msgstr "" @@ -761,10 +836,6 @@ msgstr "" msgid "Account" msgstr "" -#: bookwyrm/templates/preferences/preferences_layout.html:14 -msgid "Profile" -msgstr "" - #: bookwyrm/templates/preferences/preferences_layout.html:20 msgid "Relationships" msgstr "" @@ -791,20 +862,28 @@ msgstr "" msgid "Didn't find what you were looking for?" msgstr "" -#: bookwyrm/templates/search_results.html:53 +#: bookwyrm/templates/search_results.html:32 +msgid "Show results from other catalogues" +msgstr "" + +#: bookwyrm/templates/search_results.html:54 msgid "Import book" msgstr "" -#: bookwyrm/templates/search_results.html:70 -msgid "Matching Users" +#: bookwyrm/templates/search_results.html:64 +msgid "Hide results from other catalogues" msgstr "" #: bookwyrm/templates/search_results.html:72 +msgid "Matching Users" +msgstr "" + +#: bookwyrm/templates/search_results.html:74 #, python-format msgid "No users found for \"%(query)s\"" msgstr "" -#: bookwyrm/templates/search_results.html:87 +#: bookwyrm/templates/search_results.html:89 #, python-format msgid "No lists found for \"%(query)s\"" msgstr "" @@ -813,11 +892,6 @@ msgstr "" msgid "Manage Users" msgstr "" -#: bookwyrm/templates/settings/admin_layout.html:16 -#: bookwyrm/templates/settings/manage_invites.html:3 -msgid "Invites" -msgstr "" - #: bookwyrm/templates/settings/admin_layout.html:20 #: bookwyrm/templates/settings/federation.html:3 msgid "Federated Servers" @@ -827,11 +901,6 @@ msgstr "" msgid "Instance Settings" msgstr "" -#: bookwyrm/templates/settings/admin_layout.html:29 -#: bookwyrm/templates/settings/site.html:3 -msgid "Site Configuration" -msgstr "" - #: bookwyrm/templates/settings/admin_layout.html:32 #: bookwyrm/templates/settings/site.html:10 msgid "Instance Info" @@ -960,10 +1029,15 @@ msgstr "" msgid "Un-block" msgstr "" +#: bookwyrm/templates/snippets/book_titleby.html:3 +#, python-format +msgid "%(title)s by " +msgstr "" + #: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 -#: bookwyrm/templates/snippets/status/status_body.html:40 #: bookwyrm/templates/snippets/status/status_body.html:41 +#: bookwyrm/templates/snippets/status/status_body.html:42 msgid "Boost status" msgstr "" @@ -980,15 +1054,15 @@ msgstr "" msgid "Spoilers ahead!" msgstr "" -#: bookwyrm/templates/snippets/create_status.html:8 +#: bookwyrm/templates/snippets/create_status.html:9 msgid "Review" msgstr "" -#: bookwyrm/templates/snippets/create_status.html:11 +#: bookwyrm/templates/snippets/create_status.html:12 msgid "Comment" msgstr "" -#: bookwyrm/templates/snippets/create_status.html:14 +#: bookwyrm/templates/snippets/create_status.html:15 msgid "Quote" msgstr "" @@ -1007,14 +1081,18 @@ msgstr "" msgid "Comment:" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:59 +#: bookwyrm/templates/snippets/create_status_form.html:54 +msgid "Include spoiler alert" +msgstr "" + +#: bookwyrm/templates/snippets/create_status_form.html:60 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" msgstr "" -#: bookwyrm/templates/snippets/create_status_form.html:66 +#: bookwyrm/templates/snippets/create_status_form.html:67 msgid "Post" msgstr "" @@ -1036,8 +1114,8 @@ msgstr "" #: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:8 -#: bookwyrm/templates/snippets/status/status_body.html:44 #: bookwyrm/templates/snippets/status/status_body.html:45 +#: bookwyrm/templates/snippets/status/status_body.html:46 msgid "Like status" msgstr "" @@ -1066,6 +1144,13 @@ msgstr "" msgid "Accept" msgstr "" +#: bookwyrm/templates/snippets/generated_status/goal.html:1 +#, python-format +msgid "set a goal to read %(count)s book in %(year)s" +msgid_plural "set a goal to read %(count)s books in %(year)s" +msgstr[0] "" +msgstr[1] "" + #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s reading goal" @@ -1114,6 +1199,19 @@ msgstr "" msgid "%(percent)s%% complete!" msgstr "" +#: bookwyrm/templates/snippets/goal_progress.html:10 +#, python-format +msgid "" +"You've read %(read_count)s of %(goal_count)s books." +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:12 +#, python-format +msgid "" +"%(username)s has read %(read_count)s of %(goal_count)s " +"books." +msgstr "" + #: bookwyrm/templates/snippets/pagination.html:7 msgid "Previous" msgstr "" @@ -1182,18 +1280,27 @@ msgstr "" msgid "finished" msgstr "" -#: bookwyrm/templates/snippets/readthrough.html:29 +#: bookwyrm/templates/snippets/readthrough.html:14 +msgid "Show all updates" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:30 msgid "Delete this progress update" msgstr "" -#: bookwyrm/templates/snippets/readthrough.html:39 +#: bookwyrm/templates/snippets/readthrough.html:40 msgid "started" msgstr "" -#: bookwyrm/templates/snippets/readthrough.html:57 +#: bookwyrm/templates/snippets/readthrough.html:46 +#: bookwyrm/templates/snippets/readthrough.html:60 msgid "Edit read dates" msgstr "" +#: bookwyrm/templates/snippets/readthrough.html:50 +msgid "Delete these read dates" +msgstr "" + #: bookwyrm/templates/snippets/readthrough_form.html:7 #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19 #: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:17 @@ -1287,10 +1394,23 @@ msgstr "" msgid "More shelves" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:10 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +msgid "Start reading" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 msgid "Read" msgstr "" +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +msgid "Finish reading" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 +msgid "Want to read" +msgstr "" + #: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5 #, python-format msgid "Start \"%(book_title)s\"" @@ -1301,20 +1421,27 @@ msgstr "" msgid "Want to Read \"%(book_title)s\"" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 -msgid "Want to read" -msgstr "" - #: bookwyrm/templates/snippets/status/status.html:7 msgid "boosted" msgstr "" -#: bookwyrm/templates/snippets/status/status_body.html:36 +#: bookwyrm/templates/snippets/status/status_body.html:24 #: bookwyrm/templates/snippets/status/status_body.html:37 +#: bookwyrm/templates/snippets/status/status_body.html:38 msgid "Reply" msgstr "" -#: bookwyrm/templates/snippets/status/status_content.html:42 +#: bookwyrm/templates/snippets/status/status_content.html:16 +#: bookwyrm/templates/snippets/trimmed_text.html:12 +msgid "Show more" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_content.html:23 +#: bookwyrm/templates/snippets/trimmed_text.html:18 +msgid "Show less" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_content.html:44 msgid "Open image in new window" msgstr "" @@ -1350,6 +1477,7 @@ msgid "Create New Shelf" msgstr "" #: bookwyrm/templates/user/create_shelf_form.html:22 +#: bookwyrm/templates/user/shelf.html:33 msgid "Create shelf" msgstr "" @@ -1375,10 +1503,18 @@ msgstr "" msgid "%(username)s isn't following any users" msgstr "" -#: bookwyrm/templates/user/lists.html:28 +#: bookwyrm/templates/user/lists.html:17 +msgid "Create new list" +msgstr "" + +#: bookwyrm/templates/user/lists.html:29 msgid "Create list" msgstr "" +#: bookwyrm/templates/user/shelf.html:54 +msgid "Edit shelf" +msgstr "" + #: bookwyrm/templates/user/user.html:7 msgid "User profile" msgstr "" @@ -1435,3 +1571,15 @@ msgstr "" #, python-format msgid "Joined %(date)s" msgstr "" + +#: bookwyrm/templates/user/user_preview.html:15 +#, python-format +msgid "%(counter)s follower" +msgid_plural "%(counter)s followers" +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/user/user_preview.html:16 +#, python-format +msgid "%(counter)s following" +msgstr "" From b9bf65ad2ae18a4158c013773974e126d5ce1e46 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 28 Feb 2021 17:37:49 -0800 Subject: [PATCH 017/111] Adds missing i18n imports --- bookwyrm/templates/components/inline_form.html | 1 + bookwyrm/templates/snippets/generated_status/goal.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/components/inline_form.html b/bookwyrm/templates/components/inline_form.html index 97f619964..40915a928 100644 --- a/bookwyrm/templates/components/inline_form.html +++ b/bookwyrm/templates/components/inline_form.html @@ -1,3 +1,4 @@ +{% load i18n %} {% endif %} From 2c3789379099c76d430bb50817b996870f6e115b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 10:32:46 -0800 Subject: [PATCH 036/111] Adds default shelf names translations --- bookwyrm/templates/feed/feed_layout.html | 5 ++++- bookwyrm/templates/user/shelf.html | 2 +- bookwyrm/views/feed.py | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/feed/feed_layout.html b/bookwyrm/templates/feed/feed_layout.html index 7f35d2f30..04826a64d 100644 --- a/bookwyrm/templates/feed/feed_layout.html +++ b/bookwyrm/templates/feed/feed_layout.html @@ -20,7 +20,10 @@ {% with shelf_counter=forloop.counter %}
  • - {{ shelf.name }} + {% if shelf.identifier == 'to-read' %}{% trans "To Read" %} + {% elif shelf.identifier == 'reading' %}{% trans "Currently Reading" %} + {% elif shelf.identifier == 'read' %}{% trans "Read" %} + {% else %}{{ shelf.name }}{% endif %}

      diff --git a/bookwyrm/templates/user/shelf.html b/bookwyrm/templates/user/shelf.html index c7c833886..189d28568 100644 --- a/bookwyrm/templates/user/shelf.html +++ b/bookwyrm/templates/user/shelf.html @@ -21,7 +21,7 @@ diff --git a/bookwyrm/views/feed.py b/bookwyrm/views/feed.py index f9cb9d59b..f7e93e9a3 100644 --- a/bookwyrm/views/feed.py +++ b/bookwyrm/views/feed.py @@ -166,6 +166,7 @@ def get_suggested_books(user, max_books=5): continue shelf_preview = { 'name': shelf.name, + 'identifier': shelf.identifier, 'books': [s.book for s in shelf_books] } suggested_books.append(shelf_preview) From 9f2e255f501428de1ad524fff679dfc26537023b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 10:33:48 -0800 Subject: [PATCH 037/111] Re-compile messages for new strings --- locale/en_US/LC_MESSAGES/django.mo | Bin 390 -> 386 bytes locale/en_US/LC_MESSAGES/django.po | 108 +++++++++++++++++++----- locale/fr_FR/LC_MESSAGES/django.mo | Bin 20801 -> 20692 bytes locale/fr_FR/LC_MESSAGES/django.po | 130 +++++++++++++++++++++++------ locale/zh_CN/LC_MESSAGES/django.mo | Bin 23973 -> 23894 bytes locale/zh_CN/LC_MESSAGES/django.po | 129 ++++++++++++++++++++++------ 6 files changed, 296 insertions(+), 71 deletions(-) diff --git a/locale/en_US/LC_MESSAGES/django.mo b/locale/en_US/LC_MESSAGES/django.mo index c0a5dd97922819649185a3a8135344140fa5f096..e07529141a2dbe01f4f40179065965e72cb674c3 100644 GIT binary patch delta 46 zcmZo;ZepIG!sszkRg2MJVt^@+g@U2Em7%4sfrWv=#0jqKu6gM>nZ+3sAIMGo-wps8 C4i0qy delta 51 zcmZo-ZeyOH!ss(mRg2MZVt^^Pxq_jwm8pStKyb*!iLTtf`K86F3PGu\n" "Language-Team: English \n" @@ -32,6 +32,10 @@ msgstr "" msgid "Books by %(name)s" msgstr "" +#: bookwyrm/templates/book.html:21 +msgid "by" +msgstr "" + #: bookwyrm/templates/book.html:29 bookwyrm/templates/book.html:30 #: bookwyrm/templates/edit_book.html:5 msgid "Edit Book" @@ -57,20 +61,43 @@ msgstr "" msgid "ASIN:" msgstr "" +#: bookwyrm/templates/book.html:84 +#, python-format +msgid "%(format)s, %(pages)s pages" +msgstr "" + #: bookwyrm/templates/book.html:86 +#, python-format +msgid "%(pages)s pages" +msgstr "" + +#: bookwyrm/templates/book.html:91 msgid "View on OpenLibrary" msgstr "" -#: bookwyrm/templates/book.html:98 +#: bookwyrm/templates/book.html:100 +#, python-format +msgid "" +"\n" +" (%(review_count)s review)\n" +" " +msgid_plural "" +"\n" +" (%(review_count)s reviews)\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/book.html:110 msgid "Add Description" msgstr "" -#: bookwyrm/templates/book.html:105 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "" -#: bookwyrm/templates/book.html:109 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:121 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -81,7 +108,7 @@ msgstr "" msgid "Save" msgstr "" -#: bookwyrm/templates/book.html:110 bookwyrm/templates/book.html:159 +#: bookwyrm/templates/book.html:122 bookwyrm/templates/book.html:171 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -92,51 +119,68 @@ msgstr "" msgid "Cancel" msgstr "" -#: bookwyrm/templates/book.html:142 +#: bookwyrm/templates/book.html:131 +#, python-format +msgid "%(count)s editions" +msgstr "" + +#: bookwyrm/templates/book.html:139 +#, python-format +msgid "This edition is on your %(shelf_name)s shelf." +msgstr "" + +#: bookwyrm/templates/book.html:145 +#, python-format +msgid "" +"A different edition of this book is on your %(shelf_name)s shelf." +msgstr "" + +#: bookwyrm/templates/book.html:154 msgid "Your reading activity" msgstr "" -#: bookwyrm/templates/book.html:144 +#: bookwyrm/templates/book.html:156 msgid "Add read dates" msgstr "" -#: bookwyrm/templates/book.html:149 +#: bookwyrm/templates/book.html:161 msgid "You don't have any reading activity for this book." msgstr "" -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:168 msgid "Create" msgstr "" -#: bookwyrm/templates/book.html:178 +#: bookwyrm/templates/book.html:190 msgid "Tags" msgstr "" -#: bookwyrm/templates/book.html:182 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:194 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "" -#: bookwyrm/templates/book.html:199 +#: bookwyrm/templates/book.html:211 msgid "Subjects" msgstr "" -#: bookwyrm/templates/book.html:210 +#: bookwyrm/templates/book.html:222 msgid "Places" msgstr "" -#: bookwyrm/templates/book.html:221 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:233 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "" -#: bookwyrm/templates/book.html:250 +#: bookwyrm/templates/book.html:262 msgid "rated it" msgstr "" #: bookwyrm/templates/components/inline_form.html:8 -#: bookwyrm/templates/feed/feed_layout.html:51 +#: bookwyrm/templates/feed/feed_layout.html:54 msgid "Close" msgstr "" @@ -375,7 +419,23 @@ msgid "" "There are no books here right now! Try searching for a book to get started" msgstr "" -#: bookwyrm/templates/feed/feed_layout.html:73 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf.html:24 +msgid "To Read" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf.html:24 +msgid "Currently Reading" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 +#: bookwyrm/templates/user/shelf.html:24 +msgid "Read" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:76 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -662,7 +722,8 @@ msgid "This list is currently empty" msgstr "" #: bookwyrm/templates/lists/list.html:35 -msgid "Added by" +#, python-format +msgid "Added by %(username)s" msgstr "" #: bookwyrm/templates/lists/list.html:41 @@ -716,6 +777,11 @@ msgstr "" msgid "Your lists" msgstr "" +#: bookwyrm/templates/lists/lists.html:32 +#, python-format +msgid "See all %(size)s lists" +msgstr "" + #: bookwyrm/templates/lists/lists.html:40 msgid "Recent Lists" msgstr "" @@ -1530,10 +1596,6 @@ msgstr "" msgid "Start reading" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -msgid "Read" -msgstr "" - #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 msgid "Finish reading" msgstr "" @@ -1583,7 +1645,7 @@ msgid "More options" msgstr "" #: bookwyrm/templates/snippets/status/status_options.html:17 -msgid "Delete post" +msgid "Delete status" msgstr "" #: bookwyrm/templates/snippets/status/status_options.html:23 diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 8b845aa782e4dddbeaef185c9447f67e8c99eeb3..9f8cca0a8c197b367ab948e30475b8a861aa1fc9 100644 GIT binary patch delta 7043 zcmZA53w+P@9>?+T#%`DmvyGW;F0+f-+;SN+Y>6@IsFk#o9Jwro9Od%sqBvP8k%%Ll zoLUjBMRe+fB)R00Y8|=NN$R+yl0@hA{{KEZoyYk;`uv~Y@AvonUVq=;fB(F@GU(un zAn%KYwHG>4VUTmpu%M1}>&cIgQLS@13C{Jv_ShKj!W^81aae`1xEmAkOB{;9be4)G zsCF~42`)gjTZ{S5d2TzI5GulG-2fvo6q7IvQ!yOdVJ+-}5twThqV5}vYFC2wu+$uf zjVMpWNG!+txCB!e-@Qbp0~H^lI=X`DD73kA4KWf`pNzFJ&CJ5OlsljnkcS$ez^-41 z(UeQ@QM?niz%$4uxu7H_%J?pkj0ViWC~U6_*xM|&>o?o=+ff})L{02rb1rItr!gI0 zKrLV|YJ$g6 z`3%&`pGHk!339$&1**UIQ4`r`<)fZeoI-VQ5jDf8mi_>7sMDK_T45&)>4a+67qyVL&r)U@PQ5H;@la$eT(=&tf)e;6gW(^ z;3HQ42KBywk7^g**5C4I)C!xU+GSdOC)B`wkiRLOyOvB{D(*zxI2pC&Gq4>#gadHB z`77!NM87QmtMyjYYdan5;8Un)yA(C?m8gDSLM`+))C9H!>UsYA?1pOd1lHq*@2q?g z)p0PhiNr|M4kVzSacfM)Zm4!6P&-kEy6;}pz#b04d02`^u><3~UfKTEPeg6yd{l!M zQ7hkw>bO>pKaprN0d;>W>Us~<%KM`xFc>xA61zSMwG$JqJPkc<Q{B}AK59S$_00Ht|@lv$n)3M4W^6CY(R`>&Ipxmqcc7><~m7vbf4Ag|? zpmt~;HpWGsRjk2iDymSAV!Pe23!kNY92?=ZE`G=JP%EiIb+`lL@FP^mCs7Nyg1R2f z&mi?5k1?2zTCkT#Ml&CP{P1-{kv483YRfB7E7*%#K{aZCW2g=Ko2=_uu=LsJA2^IVNrhYNfMK zJ5!FD;BwSg_Bzy#>@|;JL&kUK$;5IYG}mvKi2BWzgS~MOs^L7;POLyp^c8b6YK1#d zD?EW(;ThDzE}|wB*~34)$*8kbgfV*mhmuLbF{lpaqE@^JQ}I=+KZF|SIO@H=gt{-H zr(d6fnqYU-87f5eTZCFb8788Kn$R-z+LBpEMq76nHG!|pbEuhKMm_t`Jii=?T3IYM z!3@*@1*i$$U`{~21#?jStVQkg25g3V^4Nc^;9DvZuvRbs^-Drcq!((YMX38qu{lmb zJ==w-!?+p~@h#Nfj%rkYM^F>LgxZndeE*v=9QBAA=X-ufNmOWtIjD}hp$0C&3>=FZ zXd!9^FJlsJK|PA&*c8vACRUe&qaA97+Swe`&U8hMbFGz!d1SOjlTZy7qaMi`?26UM z-wD^KkG~^*P%A6O6da3LSZ>!hp(eB)HIai@fM1~o&gkn;s3T@l_HxN+t4E{W*GZ_Y znS<(JJ|^QT)DCPz?LakZOV6QJcmcHozo919lu-kJlu#@0k9y{}qbBSjkH&Lr{ET}Y zHIdDz_xgSF6TAL3YM|4ov+xsYMfD4P<4_Yy#@d*Q!I+8Kk#?v<+5^>pF~;isFD0Xu z-ivy#A4P5bLex&|F+WA!cihV7Q4_grHols3LpcjIvC*gn-EHORm_zvy)I{FEmW=Oq zSjBg!Lw5!BS~ckBf8%AMwze4cevd&tipi)6KZf_>Vr+v^*Z33dg4+6PQ0;C*9oq32 zhUMsmlUYDUhi(~aYj&arsK#(Si@JUhJ7a2pf1<-tXJG>BFg=P9_!_GHTNsM_&CgIf zcoZY>Tz~dohwhS9L=W%}VN=vI%SIidp4b8hU@I&`y#@18?bl)*+=_bkdywPd4j@m* z#TWU%D@sv2xgK>$cNMY!+M?4`$gqKSh)^?3MRlBmI=#85ExZx6^;7NoY*hRCsQX?< z?c@&BeV?LU@2^p3<`Qb+jl4nrPogwbgJGzF$C{HdlJZPslUzAY#Y5Ny2N(OV(`-zp zT!m@6j@;sY!+JPqu)mOD<|x!ocz2VjPi8LaSuH_5^A%QKfpsarY4z`+4(T4$ijQFk z{$khl6IX{T!fb$Q-vo7kYgGSvn6CG~ADJ7exCgcJofw4Kd_0aSOoq0qBt7R7_$M`W zT;J;Vk-uQqK0y7QxQc6Shy+UbMw-MhqR#3iB`H?GI;2_?>nJ4c*S zfz;4C(iZ+DP~(4m17ob*5u0$|6UYnTW)r;$r6B6(;XjEq^4<*9k`53b5swfniCV-c zB9n;bMy2`03&hXFeZ)VA%Y@P=gbtLxfNGM?!73~0-Q@A_2Z;{}rPair13A8`vA^XvnZ0ORlP;2Z!wRqA^)(kveVzY{ zI7zh9`;Io6S7#xr=-z-ii-cy@(|GQm+()N%$wCEwPwLr|xB3 zNVFh6CY1ib`2S5kxv7X!m~}Lrd_Q6=aV??r81XmaYhn^nlgcd2w zU7v+5s9%Sj&^t(G2r-d(llYRDMw}p&@`&w$-0vUlX;_!YA!^cSGE0dD)FtARL}OwC zp;X}$_@h;AdGK5<8l)1RQtC!@C;vG?*o+08cFTyoiF`;TG6Y%Vhlo6EKklY`1-hg=$R$)+UrL&Zr%sVrF~ zk`<@bB8`$%#LB6&C?UGIMJWk&a9;0yzs{q_`9AvmpWpBI_xoOd-{1egs%mwO9WU1K zj@0#k%8+tv7!!j-LX3Hf{NnnmHKriim~J=`Z@_h!ircUup2Y?jK;tGDgF~<@w!o#R zcAK#=R-)P+$1Gz!bCpa06`8cIgV`8}w_p(FV=zv@nm7$>VWIPW)O`z4_bo-WFUBx@ z-njwmQGOe1<0lx-_~vUe@l>3~_81mxJIq9Nl#6w7psOE){*)&=r(!7OLexS$)Bq2= z>&r2caxpHzQq)3I<*u(mbzF|xfe)OOr~#@l z36G-|5b3iMY=#;q2|dj;m5f%<1Jz+aR0kta^;1w2ychMX7a+&Pl%NJ)kGikSxee9t zZqz{gQOD^p>b_r5{ay93|Bc9mvj3bTlYqLAg)MLZYJeitj?6)IycpHdO4M0c=PX0D zuRu+3mn(mcYX1#(#-A}96PtQ=fb^!;Ow@&3=P=Zv8jl)iDr#qDq0Yb}^x;y}ePyT} zd>eJ@_n>y*C~5*Hkn?UXqWY`vHM0Z8qAHSIIUUtO4r&KRq6Qd;I>l2^E1ZYbJA#_{ zN~CX7ike_0s@-SKgQ!FL9cp6UDVI5i+PaIV4*e7C7S~0sI2N^nRMdN%h3a^?s~?MM zSBRR(JXE`7sD-?UTF4gEeeWUtdFE4_F-K4he?m39f_lag&FxB}QP+K_6{I-RP%FuB z_a<5*XI9BXm@Oc@z9tU%4I(%o=UH&700X$PuJTKwO3DZw+eV8`0CiTgm89eS*627^=gQr~%J9|3K|fP@-K~ zBuu@CQ^ZFu-%nE zLQQNhY9(K~@^RFbpLb=yBzs>3>d?lZ?(c-^uTK*Duh*zQ6&iRLs)Lcv$*8TIjcTv} zHK8T0`~>RRK7(4}7L3C^sI5PZ>iygoxbw{lz8#UlyoPznN4l6Mj z&!FzV;JktwD4@07+6GP^>U*FS>iz+!Lpc=HPXV?>?=CX@W1itdGx`wqD5_8ce~;?G zzm2UAL+wNis-tFD3){GIC)E3%iE1|#wdJEQ3@4-7&9e2LnMXzgFGc;hJcpsU33cNR z)RynTwzv=b;Z`nzc>!7YjpUwi5#tf{7Rj7_nq81d+pE>F;9vfm3 zs$Eai0&a2Fy@_NZskjU4<9yW0SD@C1MWi&_%&(;KcH523H3MYq~iHqHY|G4Y1Ia7oi3y!Jb%wYWE-1 zGY#)%C*0VXh^*A4qZT>{wa}4RkMYd}G8$+$>NGDw9jYy;t=fU{xF6NQCDe-jyW6)V z236l1HBcVvJug7rceks53^l=*QD^B5^wjYdGFrhwY=UP{6AJ0U_c}H~ZCyXqK!ct6 zsEJNOoq`XZq`S~z&Q9JS)YGqq79uHtLUUt`8_O=u1fSQQclT05ngHZ#o zKuzccY>n$t9ao_a<5ASkTtIbj4Sg6%C)$B_s2#{f?Pxx#zj3G?xDz$8g~(2Orj(3U zz8Uq*_n~Hd26d>SvaRu`i6o-l>yFMo?)nhaKqF9RVJvDv_cfUT&N>_x5gThtfPdDPbX<=CCbaAu?K%X8(?sEJH+&PTq>%u3Y6sxXxC z&0$w@3R5Znike8XTmsWj<=aq)ZZhh%dH|bZF=}hKqTcWQs7G-OHQ|dm69aFwfAh^j zO>`}K+WJjo)bLZ(sr?Fr@G=HtjlTBKg`jpO9W_8M>iQ^meFCOYUXGgR$EY1VggQ&- zu@=Vlv+a}mvHyWoWKtn>P%|5Vx-lPh=n7ovp#-AN{lOa*EsyPTh+cH%H@Mjb3bHFyGbs9wb+d=qcQBdC?9-^_u; zzot#2pic^VaWyUHclhx%9b{wI-XNyTHtP~s(`BjM*7X5jafI}?kE z5rnq%disS-HzLASXnU_G?a(u>Q0DxXb1P0~eDfut_k1Oxq<39gSVhz%#u7?}#9Cq% zae$aYD4n)ce`=?c(k*5e_Fw_K@sO+Ai+Yqw8sBu{25qfg2_;?vQ`fD2ANl6Q7~*x} zB#}Vq6e}$y{!^XfUtVZ)nEYx&Kf~QA*CG6gY~n6=-*-;%s^53sit5yx&rG5%H*drS z_&Kg4qRH!9tOhD+=DCDkTfH$45qjqv5kC-0IhN}GAgyc^ZEqmjk#CN7s+UR%4-lIO zrMARQVgPYFp%lZ-2Qd``i8rcidC&1Ep*N@&_19Bx@+~NIadpp=Z%+&(_)hv?I;&Oa zwNq-u&G+MTg#O6LagARfuhdf?uC57oqF74ko6nz^OIHgPlY z4bg_s_@)=(rwr*&;%j0wkwGZUAR5w1SK=SlHTL6MNTDtmBT;E2v4v>r%3W1SYEAhg z{F&H56chYbc;*V3p9uXA2&H*MIkBH8AtIv%m~BJ&iH zPdq`?roVV1lUS(rFQBpmp>!`1&V}vxAaR6HYDL{OTtozuZ$<==pF`9muXLZq{N4FJ zhH$MW@jLn9u0Gb?uVQ15!aZa<<79WkBhGl7Ps}1-B;FxjA(Xmt|0gzU+K^XzlL#RH zG5$(K5gjP|h%E9S5Z#Gogi=fDz4110E;vtNJ(vFjed@@I%a1j(!ZL&E0m=hKiv)OVGaF^-0NTzRTfEGNDoZX*)8 z=Nxv#zoz39CJ~|3pT})PFY?*=vYvk$h2JP#Pn*fa5zi9ih) zk-LR>+tt5?e@ wHT|bgD=aE6^R2EQGHKe(qMfC_>0@S;=cTRn4<7F;EE-cZv#9(;m$ME23qwx6djJ3c diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 3956fc921..f0a25f6bb 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 11:38+0000\n" +"POT-Creation-Date: 2021-03-02 18:33+0000\n" "PO-Revision-Date: 2021-03-02 12:37+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -32,6 +32,10 @@ msgstr "Wikipedia" msgid "Books by %(name)s" msgstr "Livres par %(name)s" +#: bookwyrm/templates/book.html:21 +msgid "by" +msgstr "" + #: bookwyrm/templates/book.html:29 bookwyrm/templates/book.html:30 #: bookwyrm/templates/edit_book.html:5 msgid "Edit Book" @@ -57,22 +61,47 @@ msgstr "Numéro OCLC :" msgid "ASIN:" msgstr "ASIN :" +#: bookwyrm/templates/book.html:84 +#, fuzzy, python-format +#| msgid "of %(book.pages)s pages" +msgid "%(format)s, %(pages)s pages" +msgstr "sur %(book.pages)s pages" + #: bookwyrm/templates/book.html:86 +#, fuzzy, python-format +#| msgid "of %(book.pages)s pages" +msgid "%(pages)s pages" +msgstr "sur %(book.pages)s pages" + +#: bookwyrm/templates/book.html:91 msgid "View on OpenLibrary" msgstr "Voir sur OpenLibrary" -#: bookwyrm/templates/book.html:98 +#: bookwyrm/templates/book.html:100 +#, python-format +msgid "" +"\n" +" (%(review_count)s review)\n" +" " +msgid_plural "" +"\n" +" (%(review_count)s reviews)\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/book.html:110 #, fuzzy #| msgid "Description:" msgid "Add Description" msgstr "Ajouter une description" -#: bookwyrm/templates/book.html:105 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Description :" -#: bookwyrm/templates/book.html:109 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:121 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -83,7 +112,7 @@ msgstr "Description :" msgid "Save" msgstr "Enregistrer" -#: bookwyrm/templates/book.html:110 bookwyrm/templates/book.html:159 +#: bookwyrm/templates/book.html:122 bookwyrm/templates/book.html:171 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -94,53 +123,77 @@ msgstr "Enregistrer" msgid "Cancel" msgstr "Annuler" -#: bookwyrm/templates/book.html:142 +#: bookwyrm/templates/book.html:131 +#, fuzzy, python-format +#| msgid "Editions of \"%(work_title)s\"" +msgid "%(count)s editions" +msgstr "%(title)s par " + +#: bookwyrm/templates/book.html:139 +#, fuzzy, python-format +#| msgid "favorited your %(preview_name)s" +msgid "This edition is on your %(shelf_name)s shelf." +msgstr "Messages directs avec %(username)s" + +#: bookwyrm/templates/book.html:145 +#, fuzzy, python-format +#| msgid "" +#| "replied to your %(preview_name)s" +msgid "" +"A different edition of this book is on your %(shelf_name)s shelf." +msgstr "" +" a ajouté %(book_title)s à votre " +"liste « %(list_name)s »" + +#: bookwyrm/templates/book.html:154 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book.html:144 +#: bookwyrm/templates/book.html:156 #, fuzzy #| msgid "Edit read dates" msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book.html:149 +#: bookwyrm/templates/book.html:161 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:168 msgid "Create" msgstr "Créer" -#: bookwyrm/templates/book.html:178 +#: bookwyrm/templates/book.html:190 msgid "Tags" msgstr "Tags" -#: bookwyrm/templates/book.html:182 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:194 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "Ajouter un tag" -#: bookwyrm/templates/book.html:199 +#: bookwyrm/templates/book.html:211 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book.html:210 +#: bookwyrm/templates/book.html:222 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book.html:221 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:233 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book.html:250 +#: bookwyrm/templates/book.html:262 msgid "rated it" msgstr "l’a noté" #: bookwyrm/templates/components/inline_form.html:8 -#: bookwyrm/templates/feed/feed_layout.html:51 +#: bookwyrm/templates/feed/feed_layout.html:54 #, fuzzy #| msgid "Closed" msgid "Close" @@ -389,7 +442,27 @@ msgid "" "There are no books here right now! Try searching for a book to get started" msgstr "Aucun livre ici pour l’instant ! Cherchez un livre pour commencer" -#: bookwyrm/templates/feed/feed_layout.html:73 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf.html:24 +#, fuzzy +#| msgid "Read" +msgid "To Read" +msgstr "Lu" + +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf.html:24 +#, fuzzy +#| msgid "Started reading" +msgid "Currently Reading" +msgstr "Commencer la lecture" + +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 +#: bookwyrm/templates/user/shelf.html:24 +msgid "Read" +msgstr "Lu" + +#: bookwyrm/templates/feed/feed_layout.html:76 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -690,8 +763,10 @@ msgid "This list is currently empty" msgstr "Cette liste est vide actuellement" #: bookwyrm/templates/lists/list.html:35 -msgid "Added by" -msgstr "Ajouté par" +#, fuzzy, python-format +#| msgid "favorited your %(preview_name)s" +msgid "Added by %(username)s" +msgstr "Messages directs avec %(username)s" #: bookwyrm/templates/lists/list.html:41 msgid "Remove" @@ -744,6 +819,12 @@ msgstr "Créée par" msgid "Your lists" msgstr "Vos listes" +#: bookwyrm/templates/lists/lists.html:32 +#, fuzzy, python-format +#| msgid "See all %(size)s" +msgid "See all %(size)s lists" +msgstr "Voir les %(size)s" + #: bookwyrm/templates/lists/lists.html:40 msgid "Recent Lists" msgstr "Listes récentes" @@ -1639,10 +1720,6 @@ msgstr "Plus d’étagères" msgid "Start reading" msgstr "Commencer la lecture" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -msgid "Read" -msgstr "Lu" - #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 #, fuzzy #| msgid "Finished reading" @@ -1694,7 +1771,9 @@ msgid "More options" msgstr "Plus d’options" #: bookwyrm/templates/snippets/status/status_options.html:17 -msgid "Delete post" +#, fuzzy +#| msgid "Delete post" +msgid "Delete status" msgstr "Supprimer le statut" #: bookwyrm/templates/snippets/status/status_options.html:23 @@ -1859,6 +1938,9 @@ msgstr[1] "%(username)s n’a pas d’abonné(e)s" msgid "%(counter)s following" msgstr "%(counter)s abonnements" +#~ msgid "Added by" +#~ msgstr "Ajouté par" + #~ msgid "added" #~ msgstr "a ajouté" diff --git a/locale/zh_CN/LC_MESSAGES/django.mo b/locale/zh_CN/LC_MESSAGES/django.mo index 818dd2a106bc0d908fae88238bb4d2157c8c0708..1114628341af6f1ca8e4f07e6dadb2932b1b0b91 100644 GIT binary patch delta 8038 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 delta 8093 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\n" "Language-Team: Mouse Reeve \n" @@ -32,6 +32,10 @@ msgstr "维基百科" msgid "Books by %(name)s" msgstr "%(name)s 所著的书" +#: bookwyrm/templates/book.html:21 +msgid "by" +msgstr "" + #: bookwyrm/templates/book.html:29 bookwyrm/templates/book.html:30 #: bookwyrm/templates/edit_book.html:5 msgid "Edit Book" @@ -57,20 +61,44 @@ msgstr "OCLC 号:" msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book.html:84 +#, fuzzy, python-format +#| msgid "of %(book.pages)s pages" +msgid "%(format)s, %(pages)s pages" +msgstr "全书 %(book.pages)s 页" + #: bookwyrm/templates/book.html:86 +#, fuzzy, python-format +#| msgid "of %(book.pages)s pages" +msgid "%(pages)s pages" +msgstr "全书 %(book.pages)s 页" + +#: bookwyrm/templates/book.html:91 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 查看" -#: bookwyrm/templates/book.html:98 +#: bookwyrm/templates/book.html:100 +#, python-format +msgid "" +"\n" +" (%(review_count)s review)\n" +" " +msgid_plural "" +"\n" +" (%(review_count)s reviews)\n" +" " +msgstr[0] "" + +#: bookwyrm/templates/book.html:110 msgid "Add Description" msgstr "添加描述" -#: bookwyrm/templates/book.html:105 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book.html:109 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:121 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -81,7 +109,7 @@ msgstr "描述:" msgid "Save" msgstr "保存" -#: bookwyrm/templates/book.html:110 bookwyrm/templates/book.html:159 +#: bookwyrm/templates/book.html:122 bookwyrm/templates/book.html:171 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -92,51 +120,75 @@ msgstr "保存" msgid "Cancel" msgstr "取消" -#: bookwyrm/templates/book.html:142 +#: bookwyrm/templates/book.html:131 +#, fuzzy, python-format +#| msgid "%(title)s by " +msgid "%(count)s editions" +msgstr "%(title)s 来自" + +#: bookwyrm/templates/book.html:139 +#, fuzzy, python-format +#| msgid "Direct Messages with %(username)s" +msgid "This edition is on your %(shelf_name)s shelf." +msgstr "与 %(username)s 私信" + +#: bookwyrm/templates/book.html:145 +#, fuzzy, python-format +#| msgid "" +#| " added %(book_title)s to your list " +#| "\"%(list_name)s\"" +msgid "" +"A different edition of this book is on your %(shelf_name)s shelf." +msgstr "" +" 添加了 %(book_title)s 到你的列表 " +"\"%(list_name)s\"" + +#: bookwyrm/templates/book.html:154 msgid "Your reading activity" msgstr "你的阅读活动" -#: bookwyrm/templates/book.html:144 +#: bookwyrm/templates/book.html:156 msgid "Add read dates" msgstr "添加阅读日期" -#: bookwyrm/templates/book.html:149 +#: bookwyrm/templates/book.html:161 msgid "You don't have any reading activity for this book." msgstr "你还没有任何这本书的阅读活动。" -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:168 msgid "Create" msgstr "创建" -#: bookwyrm/templates/book.html:178 +#: bookwyrm/templates/book.html:190 msgid "Tags" msgstr "标签" -#: bookwyrm/templates/book.html:182 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:194 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "添加标签" -#: bookwyrm/templates/book.html:199 +#: bookwyrm/templates/book.html:211 msgid "Subjects" msgstr "主题" -#: bookwyrm/templates/book.html:210 +#: bookwyrm/templates/book.html:222 msgid "Places" msgstr "地点" -#: bookwyrm/templates/book.html:221 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:233 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book.html:250 +#: bookwyrm/templates/book.html:262 msgid "rated it" msgstr "评价了" #: bookwyrm/templates/components/inline_form.html:8 -#: bookwyrm/templates/feed/feed_layout.html:51 +#: bookwyrm/templates/feed/feed_layout.html:54 msgid "Close" msgstr "关闭" @@ -375,7 +427,27 @@ msgid "" "There are no books here right now! Try searching for a book to get started" msgstr "现在这里还没有任何书目!尝试着从搜索某本书开始吧" -#: bookwyrm/templates/feed/feed_layout.html:73 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf.html:24 +#, fuzzy +#| msgid "Read" +msgid "To Read" +msgstr "阅读" + +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf.html:24 +#, fuzzy +#| msgid "Start reading" +msgid "Currently Reading" +msgstr "开始阅读" + +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 +#: bookwyrm/templates/user/shelf.html:24 +msgid "Read" +msgstr "阅读" + +#: bookwyrm/templates/feed/feed_layout.html:76 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -664,8 +736,10 @@ msgid "This list is currently empty" msgstr "此列表当前是空的" #: bookwyrm/templates/lists/list.html:35 -msgid "Added by" -msgstr "添加来自" +#, fuzzy, python-format +#| msgid "Direct Messages with %(username)s" +msgid "Added by %(username)s" +msgstr "与 %(username)s 私信" #: bookwyrm/templates/lists/list.html:41 msgid "Remove" @@ -718,6 +792,12 @@ msgstr "创建者为" msgid "Your lists" msgstr "你的列表" +#: bookwyrm/templates/lists/lists.html:32 +#, fuzzy, python-format +#| msgid "See all %(size)s" +msgid "See all %(size)s lists" +msgstr "查看所有 %(size)s" + #: bookwyrm/templates/lists/lists.html:40 msgid "Recent Lists" msgstr "最近的列表" @@ -1562,10 +1642,6 @@ msgstr "更多书架" msgid "Start reading" msgstr "开始阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -msgid "Read" -msgstr "阅读" - #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 msgid "Finish reading" msgstr "完成阅读" @@ -1615,7 +1691,9 @@ msgid "More options" msgstr "更多选项" #: bookwyrm/templates/snippets/status/status_options.html:17 -msgid "Delete post" +#, fuzzy +#| msgid "Delete post" +msgid "Delete status" msgstr "删除发文" #: bookwyrm/templates/snippets/status/status_options.html:23 @@ -1765,3 +1843,6 @@ msgstr[0] "%(counter)s 个关注者" #, python-format msgid "%(counter)s following" msgstr "关注着 %(counter)s 人" + +#~ msgid "Added by" +#~ msgstr "添加来自" From 549d8768a6786b9bff67674ca308038523277de8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 10:46:08 -0800 Subject: [PATCH 038/111] Combine a couple very similar translation strings plus a whitespace fix --- bookwyrm/templates/book.html | 6 +- .../templates/user/create_shelf_form.html | 4 +- bookwyrm/templates/user/edit_shelf_form.html | 1 - bookwyrm/templates/user/lists.html | 2 +- locale/en_US/LC_MESSAGES/django.po | 62 ++++++--------- locale/fr_FR/LC_MESSAGES/django.mo | Bin 20692 -> 20629 bytes locale/fr_FR/LC_MESSAGES/django.po | 74 +++++++++--------- locale/zh_CN/LC_MESSAGES/django.mo | Bin 23894 -> 23803 bytes locale/zh_CN/LC_MESSAGES/django.po | 70 ++++++++--------- 9 files changed, 100 insertions(+), 119 deletions(-) diff --git a/bookwyrm/templates/book.html b/bookwyrm/templates/book.html index aabfb37b1..d80daca24 100644 --- a/bookwyrm/templates/book.html +++ b/bookwyrm/templates/book.html @@ -97,11 +97,7 @@

      {% include 'snippets/stars.html' with rating=rating %} - {% blocktrans count counter=review_count %} - ({{ review_count }} review) - {% plural %} - ({{ review_count }} reviews) - {% endblocktrans %} + {% blocktrans count counter=review_count %}({{ review_count }} review){% plural %}({{ review_count }} reviews){% endblocktrans %}

      {% include 'snippets/trimmed_text.html' with full=book|book_description %} diff --git a/bookwyrm/templates/user/create_shelf_form.html b/bookwyrm/templates/user/create_shelf_form.html index 785c8d06f..b7ea27de8 100644 --- a/bookwyrm/templates/user/create_shelf_form.html +++ b/bookwyrm/templates/user/create_shelf_form.html @@ -2,7 +2,7 @@ {% load i18n %} {% block header %} -{% trans "Create New Shelf" %} +{% trans "Create Shelf" %} {% endblock %} {% block form %} @@ -19,7 +19,7 @@ {% include 'snippets/privacy_select.html' %}
      - +
    diff --git a/bookwyrm/templates/user/edit_shelf_form.html b/bookwyrm/templates/user/edit_shelf_form.html index a9f86da4c..753d06816 100644 --- a/bookwyrm/templates/user/edit_shelf_form.html +++ b/bookwyrm/templates/user/edit_shelf_form.html @@ -29,4 +29,3 @@ {% endblock %} - diff --git a/bookwyrm/templates/user/lists.html b/bookwyrm/templates/user/lists.html index 8e47041f4..85c7cc8c6 100644 --- a/bookwyrm/templates/user/lists.html +++ b/bookwyrm/templates/user/lists.html @@ -14,7 +14,7 @@ {% if is_self %}
    - {% trans "Create new list" as button_text %} + {% trans "Create list" as button_text %} {% include 'snippets/toggle/open_button.html' with controls_text="create-list" icon="plus" text=button_text %}
    {% endif %} diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 486494b0c..8aae6c92c 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 18:33+0000\n" +"POT-Creation-Date: 2021-03-02 18:44+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -77,27 +77,21 @@ msgstr "" #: bookwyrm/templates/book.html:100 #, python-format -msgid "" -"\n" -" (%(review_count)s review)\n" -" " -msgid_plural "" -"\n" -" (%(review_count)s reviews)\n" -" " +msgid "(%(review_count)s review)" +msgid_plural "(%(review_count)s reviews)" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/book.html:110 +#: bookwyrm/templates/book.html:106 msgid "Add Description" msgstr "" -#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:113 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "" -#: bookwyrm/templates/book.html:121 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -108,7 +102,7 @@ msgstr "" msgid "Save" msgstr "" -#: bookwyrm/templates/book.html:122 bookwyrm/templates/book.html:171 +#: bookwyrm/templates/book.html:118 bookwyrm/templates/book.html:167 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -119,63 +113,63 @@ msgstr "" msgid "Cancel" msgstr "" -#: bookwyrm/templates/book.html:131 +#: bookwyrm/templates/book.html:127 #, python-format msgid "%(count)s editions" msgstr "" -#: bookwyrm/templates/book.html:139 +#: bookwyrm/templates/book.html:135 #, python-format msgid "This edition is on your %(shelf_name)s shelf." msgstr "" -#: bookwyrm/templates/book.html:145 +#: bookwyrm/templates/book.html:141 #, python-format msgid "" "A different edition of this book is on your %(shelf_name)s shelf." msgstr "" -#: bookwyrm/templates/book.html:154 +#: bookwyrm/templates/book.html:150 msgid "Your reading activity" msgstr "" -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:152 msgid "Add read dates" msgstr "" -#: bookwyrm/templates/book.html:161 +#: bookwyrm/templates/book.html:157 msgid "You don't have any reading activity for this book." msgstr "" -#: bookwyrm/templates/book.html:168 +#: bookwyrm/templates/book.html:164 msgid "Create" msgstr "" -#: bookwyrm/templates/book.html:190 +#: bookwyrm/templates/book.html:186 msgid "Tags" msgstr "" -#: bookwyrm/templates/book.html:194 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:190 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "" -#: bookwyrm/templates/book.html:211 +#: bookwyrm/templates/book.html:207 msgid "Subjects" msgstr "" -#: bookwyrm/templates/book.html:222 +#: bookwyrm/templates/book.html:218 msgid "Places" msgstr "" -#: bookwyrm/templates/book.html:233 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:229 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "" -#: bookwyrm/templates/book.html:262 +#: bookwyrm/templates/book.html:258 msgid "rated it" msgstr "" @@ -1667,12 +1661,8 @@ msgid "Books tagged \"%(tag.name)s\"" msgstr "" #: bookwyrm/templates/user/create_shelf_form.html:5 -msgid "Create New Shelf" -msgstr "" - #: bookwyrm/templates/user/create_shelf_form.html:22 -#: bookwyrm/templates/user/shelf.html:33 -msgid "Create shelf" +msgid "Create Shelf" msgstr "" #: bookwyrm/templates/user/edit_shelf_form.html:5 @@ -1711,11 +1701,7 @@ msgstr "" msgid "Lists: %(username)s" msgstr "" -#: bookwyrm/templates/user/lists.html:17 -msgid "Create new list" -msgstr "" - -#: bookwyrm/templates/user/lists.html:29 +#: bookwyrm/templates/user/lists.html:17 bookwyrm/templates/user/lists.html:29 msgid "Create list" msgstr "" @@ -1728,6 +1714,10 @@ msgstr "" msgid "%(username)s: Shelves" msgstr "" +#: bookwyrm/templates/user/shelf.html:33 +msgid "Create shelf" +msgstr "" + #: bookwyrm/templates/user/shelf.html:54 msgid "Edit shelf" msgstr "" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 9f8cca0a8c197b367ab948e30475b8a861aa1fc9..a8d8ff0d4ff95439cf2ae37ec5b802c5110f58c8 100644 GIT binary patch delta 6960 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 boHDhvtgO_tef8v#qqncB*mx>yedK=u4&uDv diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index f0a25f6bb..76b706152 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 18:33+0000\n" +"POT-Creation-Date: 2021-03-02 18:44+0000\n" "PO-Revision-Date: 2021-03-02 12:37+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -79,29 +79,23 @@ msgstr "Voir sur OpenLibrary" #: bookwyrm/templates/book.html:100 #, python-format -msgid "" -"\n" -" (%(review_count)s review)\n" -" " -msgid_plural "" -"\n" -" (%(review_count)s reviews)\n" -" " +msgid "(%(review_count)s review)" +msgid_plural "(%(review_count)s reviews)" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/book.html:110 +#: bookwyrm/templates/book.html:106 #, fuzzy #| msgid "Description:" msgid "Add Description" msgstr "Ajouter une description" -#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:113 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Description :" -#: bookwyrm/templates/book.html:121 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -112,7 +106,7 @@ msgstr "Description :" msgid "Save" msgstr "Enregistrer" -#: bookwyrm/templates/book.html:122 bookwyrm/templates/book.html:171 +#: bookwyrm/templates/book.html:118 bookwyrm/templates/book.html:167 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -123,19 +117,19 @@ msgstr "Enregistrer" msgid "Cancel" msgstr "Annuler" -#: bookwyrm/templates/book.html:131 +#: bookwyrm/templates/book.html:127 #, fuzzy, python-format #| msgid "Editions of \"%(work_title)s\"" msgid "%(count)s editions" msgstr "%(title)s par " -#: bookwyrm/templates/book.html:139 +#: bookwyrm/templates/book.html:135 #, fuzzy, python-format #| msgid "favorited your %(preview_name)s" msgid "This edition is on your %(shelf_name)s shelf." msgstr "Messages directs avec %(username)s" -#: bookwyrm/templates/book.html:145 +#: bookwyrm/templates/book.html:141 #, fuzzy, python-format #| msgid "" #| "replied to your %(book_title)s
    à votre " "liste « %(list_name)s »" -#: bookwyrm/templates/book.html:154 +#: bookwyrm/templates/book.html:150 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:152 #, fuzzy #| msgid "Edit read dates" msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book.html:161 +#: bookwyrm/templates/book.html:157 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book.html:168 +#: bookwyrm/templates/book.html:164 msgid "Create" msgstr "Créer" -#: bookwyrm/templates/book.html:190 +#: bookwyrm/templates/book.html:186 msgid "Tags" msgstr "Tags" -#: bookwyrm/templates/book.html:194 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:190 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "Ajouter un tag" -#: bookwyrm/templates/book.html:211 +#: bookwyrm/templates/book.html:207 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book.html:222 +#: bookwyrm/templates/book.html:218 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book.html:233 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:229 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book.html:262 +#: bookwyrm/templates/book.html:258 msgid "rated it" msgstr "l’a noté" @@ -1795,12 +1789,10 @@ msgid "Books tagged \"%(tag.name)s\"" msgstr "Livres tagués « %(tag.name)s »" #: bookwyrm/templates/user/create_shelf_form.html:5 -msgid "Create New Shelf" -msgstr "Créer une nouvelle étagère" - #: bookwyrm/templates/user/create_shelf_form.html:22 -#: bookwyrm/templates/user/shelf.html:33 -msgid "Create shelf" +#, fuzzy +#| msgid "Create shelf" +msgid "Create Shelf" msgstr "Créer l’étagère" #: bookwyrm/templates/user/edit_shelf_form.html:5 @@ -1844,13 +1836,7 @@ msgstr "Vos listes" msgid "Lists: %(username)s" msgstr "Listes : %(username)s" -#: bookwyrm/templates/user/lists.html:17 -#, fuzzy -#| msgid "Create list" -msgid "Create new list" -msgstr "Créer une nouvelle liste" - -#: bookwyrm/templates/user/lists.html:29 +#: bookwyrm/templates/user/lists.html:17 bookwyrm/templates/user/lists.html:29 msgid "Create list" msgstr "Créer une liste" @@ -1866,6 +1852,10 @@ msgstr "Vos étagères" msgid "%(username)s: Shelves" msgstr "%(username)s : Étagères" +#: bookwyrm/templates/user/shelf.html:33 +msgid "Create shelf" +msgstr "Créer l’étagère" + #: bookwyrm/templates/user/shelf.html:54 #, fuzzy #| msgid "Edit Shelf" @@ -1938,6 +1928,14 @@ msgstr[1] "%(username)s n’a pas d’abonné(e)s" msgid "%(counter)s following" msgstr "%(counter)s abonnements" +#~ msgid "Create New Shelf" +#~ msgstr "Créer une nouvelle étagère" + +#, fuzzy +#~| msgid "Create list" +#~ msgid "Create new list" +#~ msgstr "Créer une nouvelle liste" + #~ msgid "Added by" #~ msgstr "Ajouté par" diff --git a/locale/zh_CN/LC_MESSAGES/django.mo b/locale/zh_CN/LC_MESSAGES/django.mo index 1114628341af6f1ca8e4f07e6dadb2932b1b0b91..dbdd1daa82d0c6bbb300cab32443cddfb7fdd201 100644 GIT binary patch delta 7934 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 diff --git a/locale/zh_CN/LC_MESSAGES/django.po b/locale/zh_CN/LC_MESSAGES/django.po index fc53bf054..1feaad2e3 100644 --- a/locale/zh_CN/LC_MESSAGES/django.po +++ b/locale/zh_CN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 18:33+0000\n" +"POT-Creation-Date: 2021-03-02 18:44+0000\n" "PO-Revision-Date: 2021-03-02 10:35+0000\n" "Last-Translator: Kana \n" "Language-Team: Mouse Reeve \n" @@ -79,26 +79,20 @@ msgstr "在 OpenLibrary 查看" #: bookwyrm/templates/book.html:100 #, python-format -msgid "" -"\n" -" (%(review_count)s review)\n" -" " -msgid_plural "" -"\n" -" (%(review_count)s reviews)\n" -" " +msgid "(%(review_count)s review)" +msgid_plural "(%(review_count)s reviews)" msgstr[0] "" -#: bookwyrm/templates/book.html:110 +#: bookwyrm/templates/book.html:106 msgid "Add Description" msgstr "添加描述" -#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:113 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book.html:121 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -109,7 +103,7 @@ msgstr "描述:" msgid "Save" msgstr "保存" -#: bookwyrm/templates/book.html:122 bookwyrm/templates/book.html:171 +#: bookwyrm/templates/book.html:118 bookwyrm/templates/book.html:167 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -120,19 +114,19 @@ msgstr "保存" msgid "Cancel" msgstr "取消" -#: bookwyrm/templates/book.html:131 +#: bookwyrm/templates/book.html:127 #, fuzzy, python-format #| msgid "%(title)s by " msgid "%(count)s editions" msgstr "%(title)s 来自" -#: bookwyrm/templates/book.html:139 +#: bookwyrm/templates/book.html:135 #, fuzzy, python-format #| msgid "Direct Messages with %(username)s" msgid "This edition is on your %(shelf_name)s shelf." msgstr "与 %(username)s 私信" -#: bookwyrm/templates/book.html:145 +#: bookwyrm/templates/book.html:141 #, fuzzy, python-format #| msgid "" #| " added %(book_title)s to your list " @@ -144,46 +138,46 @@ msgstr "" " 添加了 %(book_title)s 到你的列表 " "\"%(list_name)s\"" -#: bookwyrm/templates/book.html:154 +#: bookwyrm/templates/book.html:150 msgid "Your reading activity" msgstr "你的阅读活动" -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:152 msgid "Add read dates" msgstr "添加阅读日期" -#: bookwyrm/templates/book.html:161 +#: bookwyrm/templates/book.html:157 msgid "You don't have any reading activity for this book." msgstr "你还没有任何这本书的阅读活动。" -#: bookwyrm/templates/book.html:168 +#: bookwyrm/templates/book.html:164 msgid "Create" msgstr "创建" -#: bookwyrm/templates/book.html:190 +#: bookwyrm/templates/book.html:186 msgid "Tags" msgstr "标签" -#: bookwyrm/templates/book.html:194 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:190 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "添加标签" -#: bookwyrm/templates/book.html:211 +#: bookwyrm/templates/book.html:207 msgid "Subjects" msgstr "主题" -#: bookwyrm/templates/book.html:222 +#: bookwyrm/templates/book.html:218 msgid "Places" msgstr "地点" -#: bookwyrm/templates/book.html:233 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:229 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book.html:262 +#: bookwyrm/templates/book.html:258 msgid "rated it" msgstr "评价了" @@ -1715,12 +1709,10 @@ msgid "Books tagged \"%(tag.name)s\"" msgstr "标有 \"%(tag.name)s\" 标签的书" #: bookwyrm/templates/user/create_shelf_form.html:5 -msgid "Create New Shelf" -msgstr "新建书架" - #: bookwyrm/templates/user/create_shelf_form.html:22 -#: bookwyrm/templates/user/shelf.html:33 -msgid "Create shelf" +#, fuzzy +#| msgid "Create shelf" +msgid "Create Shelf" msgstr "创建书架" #: bookwyrm/templates/user/edit_shelf_form.html:5 @@ -1759,11 +1751,7 @@ msgstr "你的列表" msgid "Lists: %(username)s" msgstr "列表: %(username)s" -#: bookwyrm/templates/user/lists.html:17 -msgid "Create new list" -msgstr "新建列表" - -#: bookwyrm/templates/user/lists.html:29 +#: bookwyrm/templates/user/lists.html:17 bookwyrm/templates/user/lists.html:29 msgid "Create list" msgstr "创建列表" @@ -1776,6 +1764,10 @@ msgstr "你的书架" msgid "%(username)s: Shelves" msgstr "%(username)s: 书架" +#: bookwyrm/templates/user/shelf.html:33 +msgid "Create shelf" +msgstr "创建书架" + #: bookwyrm/templates/user/shelf.html:54 msgid "Edit shelf" msgstr "编辑书架" @@ -1844,5 +1836,11 @@ msgstr[0] "%(counter)s 个关注者" msgid "%(counter)s following" msgstr "关注着 %(counter)s 人" +#~ msgid "Create New Shelf" +#~ msgstr "新建书架" + +#~ msgid "Create new list" +#~ msgstr "新建列表" + #~ msgid "Added by" #~ msgstr "添加来自" From b09f806662e3b58f87292919378bf71560276b01 Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 20:39:10 +0100 Subject: [PATCH 039/111] Copied file and started translations --- locale/de_DE/LC_MESSAGES/django.po | 1736 ++++++++++++++++++++++++++++ 1 file changed, 1736 insertions(+) create mode 100644 locale/de_DE/LC_MESSAGES/django.po diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po new file mode 100644 index 000000000..89f2e2f70 --- /dev/null +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -0,0 +1,1736 @@ +# German language text for the bookwyrm UI +# Copyright (C) 2021 Mouse Reeve +# This file is distributed under the same license as the BookWyrm package. +# Mouse Reeve , 2021 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-02 09:32-0800\n" +"PO-Revision-Date: 2021-03-02 17:19-0800\n" +"Last-Translator: Mouse Reeve \n" +"Language-Team: English \n" +"Language: de_DE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 +#: bookwyrm/templates/edit_author.html:5 +msgid "Edit Author" +msgstr "Autor*in editieren" + +#: bookwyrm/templates/author.html:32 +msgid "Wikipedia" +msgstr "" + +#: bookwyrm/templates/author.html:37 +#, python-format +msgid "Books by %(name)s" +msgstr "Bücher von %(name)s" + +#: bookwyrm/templates/book.html:29 bookwyrm/templates/book.html:30 +#: bookwyrm/templates/edit_book.html:5 +msgid "Edit Book" +msgstr "Buch editieren" + +#: bookwyrm/templates/book.html:45 +msgid "Add cover" +msgstr "Cover hinzufügen" + +#: bookwyrm/templates/book.html:51 bookwyrm/templates/lists/list.html:89 +msgid "Add" +msgstr "Hinzufügen" + +#: bookwyrm/templates/book.html:60 +msgid "ISBN:" +msgstr "" + +#: bookwyrm/templates/book.html:67 bookwyrm/templates/edit_book.html:107 +msgid "OCLC Number:" +msgstr "OCLC Nummer:" + +#: bookwyrm/templates/book.html:74 bookwyrm/templates/edit_book.html:111 +msgid "ASIN:" +msgstr "" + +#: bookwyrm/templates/book.html:86 +msgid "View on OpenLibrary" +msgstr "In OpenLibrary ansehen" + +#: bookwyrm/templates/book.html:98 +msgid "Add Description" +msgstr "Beschreibung hinzufügen" + +#: bookwyrm/templates/book.html:105 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/lists/form.html:12 +msgid "Description:" +msgstr "Beschreibung:" + +#: bookwyrm/templates/book.html:109 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 +#: bookwyrm/templates/preferences/edit_user.html:50 +#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/snippets/progress_update.html:21 +#: bookwyrm/templates/snippets/readthrough.html:64 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:42 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:34 +msgid "Save" +msgstr "Speichern" + +#: bookwyrm/templates/book.html:110 bookwyrm/templates/book.html:159 +#: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 +#: bookwyrm/templates/snippets/goal_form.html:32 +#: bookwyrm/templates/snippets/readthrough.html:65 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:43 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:35 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:28 +msgid "Cancel" +msgstr "Abbrechen" + +#: bookwyrm/templates/book.html:142 +msgid "Your reading activity" +msgstr "Deine Leseaktivität" + +#: bookwyrm/templates/book.html:144 +msgid "Add read dates" +msgstr "Lesedaten hinzufügen" + +#: bookwyrm/templates/book.html:149 +msgid "You don't have any reading activity for this book." +msgstr "Du hast keine Leseaktivität für dieses Buch." + +#: bookwyrm/templates/book.html:156 +msgid "Create" +msgstr "Erstellen" + +#: bookwyrm/templates/book.html:178 +msgid "Tags" +msgstr "" + +#: bookwyrm/templates/book.html:182 bookwyrm/templates/snippets/tag.html:18 +msgid "Add tag" +msgstr "Tag hinzufügen" + +#: bookwyrm/templates/book.html:199 +msgid "Subjects" +msgstr "Themen" + +#: bookwyrm/templates/book.html:210 +msgid "Places" +msgstr "Orte" + +#: bookwyrm/templates/book.html:221 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 +#: bookwyrm/templates/search_results.html:90 +#: bookwyrm/templates/user/user_layout.html:62 +msgid "Lists" +msgstr "Listen" + +#: bookwyrm/templates/book.html:250 +msgid "rated it" +msgstr "bewertet" + +#: bookwyrm/templates/components/inline_form.html:8 +#: bookwyrm/templates/feed/feed_layout.html:51 +msgid "Close" +msgstr "Schließen" + +#: bookwyrm/templates/discover/about.html:7 +#, python-format +msgid "About %(site_name)s" +msgstr "Über %(site_name)s" + +#: bookwyrm/templates/discover/about.html:10 +#: bookwyrm/templates/discover/about.html:20 +msgid "Code of Conduct" +msgstr "" + +#: bookwyrm/templates/discover/about.html:13 +#: bookwyrm/templates/discover/about.html:29 +msgid "Privacy Policy" +msgstr "" + +#: bookwyrm/templates/discover/discover.html:6 +msgid "Recent Books" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:5 +msgid "Welcome" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:17 +msgid "Decentralized" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:23 +msgid "Friendly" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:29 +msgid "Anti-Corporate" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:44 +#, python-format +msgid "Join %(name)s" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:49 +#: bookwyrm/templates/login.html:48 +msgid "This instance is closed" +msgstr "" + +#: bookwyrm/templates/discover/landing_layout.html:55 +msgid "Your Account" +msgstr "" + +#: bookwyrm/templates/edit_author.html:13 bookwyrm/templates/edit_book.html:13 +msgid "Added:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:14 bookwyrm/templates/edit_book.html:14 +msgid "Updated:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:15 bookwyrm/templates/edit_book.html:15 +msgid "Last edited by:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:31 bookwyrm/templates/edit_book.html:30 +msgid "Metadata" +msgstr "" + +#: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 +#: bookwyrm/templates/user/create_shelf_form.html:13 +#: bookwyrm/templates/user/edit_shelf_form.html:14 +msgid "Name:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:37 +msgid "Bio:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:42 +msgid "Wikipedia link:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:47 +msgid "Birth date:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:52 +msgid "Death date:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:58 +msgid "Author Identifiers" +msgstr "" + +#: bookwyrm/templates/edit_author.html:59 bookwyrm/templates/edit_book.html:103 +msgid "Openlibrary key:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:64 +msgid "Librarything key:" +msgstr "" + +#: bookwyrm/templates/edit_author.html:69 +msgid "Goodreads key:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:31 +msgid "Title:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:35 +msgid "Subtitle:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:43 +msgid "Series:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:47 +msgid "Series number:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:51 +msgid "First published date:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:55 +msgid "Published date:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:68 +#: bookwyrm/templates/snippets/shelf.html:9 +msgid "Cover" +msgstr "" + +#: bookwyrm/templates/edit_book.html:78 +msgid "Physical Properties" +msgstr "" + +#: bookwyrm/templates/edit_book.html:79 +msgid "Format:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:87 +msgid "Pages:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:94 +msgid "Book Identifiers" +msgstr "" + +#: bookwyrm/templates/edit_book.html:95 +msgid "ISBN 13:" +msgstr "" + +#: bookwyrm/templates/edit_book.html:99 +msgid "ISBN 10:" +msgstr "" + +#: bookwyrm/templates/editions.html:5 +#, python-format +msgid "Editions of %(book_title)s" +msgstr "" + +#: bookwyrm/templates/editions.html:9 +#, python-format +msgid "Editions of \"%(work_title)s\"" +msgstr "" + +#: bookwyrm/templates/error.html:4 +msgid "Oops!" +msgstr "" + +#: bookwyrm/templates/error.html:8 +msgid "Server Error" +msgstr "" + +#: bookwyrm/templates/error.html:9 +msgid "Something went wrong! Sorry about that." +msgstr "" + +#: bookwyrm/templates/feed/direct_messages.html:8 +#, python-format +msgid "Direct Messages with %(username)s" +msgstr "" + +#: bookwyrm/templates/feed/direct_messages.html:10 +#: bookwyrm/templates/layout.html:79 +msgid "Direct Messages" +msgstr "" + +#: bookwyrm/templates/feed/direct_messages.html:13 +msgid "All messages" +msgstr "" + +#: bookwyrm/templates/feed/direct_messages.html:22 +msgid "You have no messages right now." +msgstr "" + +#: bookwyrm/templates/feed/feed.html:6 +#, python-format +msgid "%(tab_title)s Timeline" +msgstr "" + +#: bookwyrm/templates/feed/feed.html:10 +msgid "Home" +msgstr "" + +#: bookwyrm/templates/feed/feed.html:13 +msgid "Local" +msgstr "" + +#: bookwyrm/templates/feed/feed.html:16 +msgid "Federated" +msgstr "" + +#: bookwyrm/templates/feed/feed.html:24 +msgid "Announcements" +msgstr "" + +#: bookwyrm/templates/feed/feed.html:32 +msgid "" +"There aren't any activities right now! Try following a user to get started" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:5 +msgid "Updates" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:11 +msgid "Your books" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:13 +msgid "" +"There are no books here right now! Try searching for a book to get started" +msgstr "" + +#: bookwyrm/templates/feed/feed_layout.html:73 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/snippets/goal_card.html:6 +#, python-format +msgid "%(year)s Reading Goal" +msgstr "" + +#: bookwyrm/templates/feed/status.html:8 +msgid "Back" +msgstr "" + +#: bookwyrm/templates/goal.html:7 +#, python-format +msgid "%(year)s Reading Progress" +msgstr "" + +#: bookwyrm/templates/goal.html:11 +msgid "Edit Goal" +msgstr "" + +#: bookwyrm/templates/goal.html:30 +#: bookwyrm/templates/snippets/goal_card.html:13 +#, python-format +msgid "" +"Set a goal for how many books you'll finish reading in %(year)s, and track " +"your progress throughout the year." +msgstr "" + +#: bookwyrm/templates/goal.html:39 +#, python-format +msgid "%(name)s hasn't set a reading goal for %(year)s." +msgstr "" + +#: bookwyrm/templates/goal.html:51 +#, python-format +msgid "Your %(year)s Books" +msgstr "" + +#: bookwyrm/templates/goal.html:53 +#, python-format +msgid "%(username)s's %(year)s Books" +msgstr "" + +#: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 +#: bookwyrm/templates/layout.html:94 +msgid "Import Books" +msgstr "" + +#: bookwyrm/templates/import.html:14 +msgid "Data source" +msgstr "" + +#: bookwyrm/templates/import.html:32 +msgid "Include reviews" +msgstr "" + +#: bookwyrm/templates/import.html:37 +msgid "Privacy setting for imported reviews:" +msgstr "" + +#: bookwyrm/templates/import.html:41 +msgid "Import" +msgstr "" + +#: bookwyrm/templates/import.html:46 +msgid "Recent Imports" +msgstr "" + +#: bookwyrm/templates/import.html:48 +msgid "No recent imports" +msgstr "" + +#: bookwyrm/templates/import_status.html:6 +#: bookwyrm/templates/import_status.html:10 +msgid "Import Status" +msgstr "" + +#: bookwyrm/templates/import_status.html:13 +msgid "Import started:" +msgstr "" + +#: bookwyrm/templates/import_status.html:17 +msgid "Import completed:" +msgstr "" + +#: bookwyrm/templates/import_status.html:20 +msgid "TASK FAILED" +msgstr "" + +#: bookwyrm/templates/import_status.html:26 +msgid "Import still in progress." +msgstr "" + +#: bookwyrm/templates/import_status.html:28 +msgid "(Hit reload to update!)" +msgstr "" + +#: bookwyrm/templates/import_status.html:35 +msgid "Failed to load" +msgstr "" + +#: bookwyrm/templates/import_status.html:59 +msgid "Select all" +msgstr "" + +#: bookwyrm/templates/import_status.html:62 +msgid "Retry items" +msgstr "" + +#: bookwyrm/templates/import_status.html:84 +msgid "Successfully imported" +msgstr "" + +#: bookwyrm/templates/import_status.html:88 +#: bookwyrm/templates/lists/curate.html:14 +msgid "Book" +msgstr "" + +#: bookwyrm/templates/import_status.html:91 +#: bookwyrm/templates/snippets/create_status_form.html:10 +#: bookwyrm/templates/snippets/shelf.html:10 +msgid "Title" +msgstr "" + +#: bookwyrm/templates/import_status.html:94 +#: bookwyrm/templates/snippets/shelf.html:11 +msgid "Author" +msgstr "" + +#: bookwyrm/templates/import_status.html:117 +msgid "Imported" +msgstr "" + +#: bookwyrm/templates/invite.html:4 bookwyrm/templates/invite.html:12 +#: bookwyrm/templates/login.html:43 +msgid "Create an Account" +msgstr "" + +#: bookwyrm/templates/invite.html:21 +msgid "Permission Denied" +msgstr "" + +#: bookwyrm/templates/invite.html:22 +msgid "Sorry! This invite code is no longer valid." +msgstr "" + +#: bookwyrm/templates/layout.html:33 +msgid "Search for a book or user" +msgstr "" + +#: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38 +#: bookwyrm/templates/lists/list.html:62 +msgid "Search" +msgstr "" + +#: bookwyrm/templates/layout.html:47 bookwyrm/templates/layout.html:48 +msgid "Main navigation menu" +msgstr "" + +#: bookwyrm/templates/layout.html:58 +msgid "Your shelves" +msgstr "" + +#: bookwyrm/templates/layout.html:61 +msgid "Feed" +msgstr "" + +#: bookwyrm/templates/layout.html:84 +#: bookwyrm/templates/preferences/preferences_layout.html:14 +msgid "Profile" +msgstr "" + +#: bookwyrm/templates/layout.html:89 +msgid "Settings" +msgstr "" + +#: bookwyrm/templates/layout.html:103 +#: bookwyrm/templates/settings/admin_layout.html:19 +#: bookwyrm/templates/settings/manage_invites.html:3 +msgid "Invites" +msgstr "" + +#: bookwyrm/templates/layout.html:110 +msgid "Site Configuration" +msgstr "" + +#: bookwyrm/templates/layout.html:117 +msgid "Log out" +msgstr "" + +#: bookwyrm/templates/layout.html:125 bookwyrm/templates/layout.html:126 +#: bookwyrm/templates/notifications.html:6 +#: bookwyrm/templates/notifications.html:10 +msgid "Notifications" +msgstr "" + +#: bookwyrm/templates/layout.html:143 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/login.html:17 +#: bookwyrm/templates/snippets/register_form.html:4 +msgid "Username:" +msgstr "" + +#: bookwyrm/templates/layout.html:152 bookwyrm/templates/login.html:10 +#: bookwyrm/templates/login.html:33 +msgid "Log in" +msgstr "" + +#: bookwyrm/templates/layout.html:183 +msgid "About this server" +msgstr "" + +#: bookwyrm/templates/layout.html:187 +msgid "Contact site admin" +msgstr "" + +#: bookwyrm/templates/layout.html:198 +msgid "" +"BookWyrm is open source software. You can contribute or report issues on GitHub." +msgstr "" + +#: bookwyrm/templates/lists/create_form.html:5 +#: bookwyrm/templates/lists/lists.html:17 +msgid "Create List" +msgstr "" + +#: bookwyrm/templates/lists/curate.html:6 +msgid "Pending Books" +msgstr "" + +#: bookwyrm/templates/lists/curate.html:7 +msgid "Go to list" +msgstr "" + +#: bookwyrm/templates/lists/curate.html:9 +msgid "You're all set!" +msgstr "" + +#: bookwyrm/templates/lists/curate.html:15 +msgid "Suggested by" +msgstr "" + +#: bookwyrm/templates/lists/curate.html:35 +msgid "Approve" +msgstr "" + +#: bookwyrm/templates/lists/curate.html:41 +msgid "Discard" +msgstr "" + +#: bookwyrm/templates/lists/edit_form.html:5 +#: bookwyrm/templates/lists/list_layout.html:17 +msgid "Edit List" +msgstr "" + +#: bookwyrm/templates/lists/form.html:18 +msgid "List curation:" +msgstr "" + +#: bookwyrm/templates/lists/form.html:21 +msgid "Closed" +msgstr "" + +#: bookwyrm/templates/lists/form.html:22 +msgid "Only you can add and remove books to this list" +msgstr "" + +#: bookwyrm/templates/lists/form.html:26 +msgid "Curated" +msgstr "" + +#: bookwyrm/templates/lists/form.html:27 +msgid "Anyone can suggest books, subject to your approval" +msgstr "" + +#: bookwyrm/templates/lists/form.html:31 +msgid "Open" +msgstr "" + +#: bookwyrm/templates/lists/form.html:32 +msgid "Anyone can add books to this list" +msgstr "" + +#: bookwyrm/templates/lists/list.html:17 +msgid "This list is currently empty" +msgstr "" + +#: bookwyrm/templates/lists/list.html:35 +msgid "Added by" +msgstr "" + +#: bookwyrm/templates/lists/list.html:41 +msgid "Remove" +msgstr "" + +#: bookwyrm/templates/lists/list.html:54 +msgid "Add Books" +msgstr "" + +#: bookwyrm/templates/lists/list.html:54 +msgid "Suggest Books" +msgstr "" + +#: bookwyrm/templates/lists/list.html:58 +msgid "Search for a book" +msgstr "" + +#: bookwyrm/templates/lists/list.html:63 +msgid "search" +msgstr "" + +#: bookwyrm/templates/lists/list.html:69 +msgid "Clear search" +msgstr "" + +#: bookwyrm/templates/lists/list.html:74 +#, python-format +msgid "No books found matching the query \"%(query)s\"" +msgstr "" + +#: bookwyrm/templates/lists/list.html:75 +msgid "No books found" +msgstr "" + +#: bookwyrm/templates/lists/list.html:89 +msgid "Suggest" +msgstr "" + +#: bookwyrm/templates/lists/list_items.html:19 +#: bookwyrm/templates/lists/list_layout.html:11 +msgid "Created and curated by" +msgstr "" + +#: bookwyrm/templates/lists/list_items.html:19 +#: bookwyrm/templates/lists/list_layout.html:11 +msgid "Created by" +msgstr "" + +#: bookwyrm/templates/lists/lists.html:14 +msgid "Your lists" +msgstr "" + +#: bookwyrm/templates/lists/lists.html:40 +msgid "Recent Lists" +msgstr "" + +#: bookwyrm/templates/login.html:4 +msgid "Login" +msgstr "" + +#: bookwyrm/templates/login.html:23 bookwyrm/templates/password_reset.html:17 +#: bookwyrm/templates/snippets/register_form.html:22 +msgid "Password:" +msgstr "" + +#: bookwyrm/templates/login.html:36 +msgid "Forgot your password?" +msgstr "" + +#: bookwyrm/templates/login.html:49 +msgid "Contact an administrator to get an invite" +msgstr "" + +#: bookwyrm/templates/login.html:59 +msgid "More about this site" +msgstr "" + +#: bookwyrm/templates/notfound.html:4 bookwyrm/templates/notfound.html:8 +msgid "Not Found" +msgstr "" + +#: bookwyrm/templates/notfound.html:9 +msgid "The page your requested doesn't seem to exist!" +msgstr "" + +#: bookwyrm/templates/notifications.html:14 +msgid "Delete notifications" +msgstr "" + +#: bookwyrm/templates/notifications.html:49 +#, python-format +msgid "" +"favorited your review of %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:51 +#, python-format +msgid "" +"favorited your comment on %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:53 +#, python-format +msgid "" +"favorited your quote from %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:55 +#, python-format +msgid "favorited your status" +msgstr "" + +#: bookwyrm/templates/notifications.html:60 +#, python-format +msgid "" +"mentioned you in a review of " +"%(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:62 +#, python-format +msgid "" +"mentioned you in a comment on " +"%(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:64 +#, python-format +msgid "" +"mentioned you in a quote from " +"%(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:66 +#, python-format +msgid "mentioned you in a status" +msgstr "" + +#: bookwyrm/templates/notifications.html:71 +#, python-format +msgid "" +"replied to your review of %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:73 +#, python-format +msgid "" +"replied to your comment on %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:75 +#, python-format +msgid "" +"replied to your quote from %(book_title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:77 +#, python-format +msgid "" +"replied to your status" +msgstr "" + +#: bookwyrm/templates/notifications.html:81 +msgid "followed you" +msgstr "" + +#: bookwyrm/templates/notifications.html:84 +msgid "sent you a follow request" +msgstr "" + +#: bookwyrm/templates/notifications.html:90 +#, python-format +msgid "" +"boosted your review of %(book.title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:92 +#, python-format +msgid "" +"boosted your comment on%(book.title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:94 +#, python-format +msgid "" +"boosted your quote from %(book.title)s" +msgstr "" + +#: bookwyrm/templates/notifications.html:96 +#, python-format +msgid "boosted your status" +msgstr "" + +#: bookwyrm/templates/notifications.html:100 +#, python-format +msgid "" +" added %(book_title)s to your list " +"\"%(list_name)s\"" +msgstr "" + +#: bookwyrm/templates/notifications.html:102 +#, python-format +msgid "" +" suggested adding %(book_title)s to " +"your list \"%(list_name)s\"" +msgstr "" + +#: bookwyrm/templates/notifications.html:106 +#, python-format +msgid " your import completed." +msgstr "" + +#: bookwyrm/templates/notifications.html:138 +msgid "You're all caught up!" +msgstr "" + +#: bookwyrm/templates/password_reset.html:4 +#: bookwyrm/templates/password_reset.html:10 +#: bookwyrm/templates/password_reset_request.html:4 +#: bookwyrm/templates/password_reset_request.html:10 +msgid "Reset Password" +msgstr "" + +#: bookwyrm/templates/password_reset.html:23 +#: bookwyrm/templates/preferences/change_password.html:18 +msgid "Confirm password:" +msgstr "" + +#: bookwyrm/templates/password_reset.html:30 +msgid "Confirm" +msgstr "" + +#: bookwyrm/templates/password_reset_request.html:12 +msgid "A link to reset your password will be sent to your email address" +msgstr "" + +#: bookwyrm/templates/password_reset_request.html:16 +#: bookwyrm/templates/preferences/edit_user.html:38 +#: bookwyrm/templates/snippets/register_form.html:13 +msgid "Email address:" +msgstr "" + +#: bookwyrm/templates/password_reset_request.html:23 +msgid "Reset password" +msgstr "" + +#: bookwyrm/templates/preferences/blocks.html:4 +#: bookwyrm/templates/preferences/blocks.html:7 +#: bookwyrm/templates/preferences/preferences_layout.html:23 +msgid "Blocked Users" +msgstr "" + +#: bookwyrm/templates/preferences/blocks.html:12 +msgid "No users currently blocked." +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:4 +#: bookwyrm/templates/preferences/change_password.html:7 +#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/preferences_layout.html:17 +msgid "Change Password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:14 +msgid "New password:" +msgstr "" + +#: bookwyrm/templates/preferences/edit_user.html:4 +#: bookwyrm/templates/preferences/edit_user.html:7 +msgid "Edit Profile" +msgstr "" + +#: bookwyrm/templates/preferences/edit_user.html:17 +msgid "Avatar:" +msgstr "" + +#: bookwyrm/templates/preferences/edit_user.html:24 +msgid "Display name:" +msgstr "" + +#: bookwyrm/templates/preferences/edit_user.html:31 +msgid "Summary:" +msgstr "" + +#: bookwyrm/templates/preferences/edit_user.html:46 +msgid "Manually approve followers:" +msgstr "" + +#: bookwyrm/templates/preferences/preferences_layout.html:11 +msgid "Account" +msgstr "" + +#: bookwyrm/templates/preferences/preferences_layout.html:20 +msgid "Relationships" +msgstr "" + +#: bookwyrm/templates/search_results.html:4 +msgid "Search Results" +msgstr "" + +#: bookwyrm/templates/search_results.html:9 +#, python-format +msgid "Search Results for \"%(query)s\"" +msgstr "" + +#: bookwyrm/templates/search_results.html:14 +msgid "Matching Books" +msgstr "" + +#: bookwyrm/templates/search_results.html:17 +#, python-format +msgid "No books found for \"%(query)s\"" +msgstr "" + +#: bookwyrm/templates/search_results.html:33 +msgid "Didn't find what you were looking for?" +msgstr "" + +#: bookwyrm/templates/search_results.html:35 +msgid "Show results from other catalogues" +msgstr "" + +#: bookwyrm/templates/search_results.html:57 +msgid "Import book" +msgstr "" + +#: bookwyrm/templates/search_results.html:67 +msgid "Hide results from other catalogues" +msgstr "" + +#: bookwyrm/templates/search_results.html:75 +msgid "Matching Users" +msgstr "" + +#: bookwyrm/templates/search_results.html:77 +#, python-format +msgid "No users found for \"%(query)s\"" +msgstr "" + +#: bookwyrm/templates/search_results.html:92 +#, python-format +msgid "No lists found for \"%(query)s\"" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:4 +msgid "Administration" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:15 +msgid "Manage Users" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:23 +#: bookwyrm/templates/settings/federation.html:4 +msgid "Federated Servers" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:28 +msgid "Instance Settings" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:32 +#: bookwyrm/templates/settings/site.html:4 +#: bookwyrm/templates/settings/site.html:6 +msgid "Site Settings" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:35 +#: bookwyrm/templates/settings/site.html:13 +msgid "Instance Info" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:36 +#: bookwyrm/templates/settings/site.html:39 +msgid "Images" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:37 +#: bookwyrm/templates/settings/site.html:59 +msgid "Footer Content" +msgstr "" + +#: bookwyrm/templates/settings/admin_layout.html:38 +#: bookwyrm/templates/settings/site.html:77 +msgid "Registration" +msgstr "" + +#: bookwyrm/templates/settings/federation.html:10 +msgid "Server name" +msgstr "" + +#: bookwyrm/templates/settings/federation.html:11 +msgid "Software" +msgstr "" + +#: bookwyrm/templates/settings/federation.html:12 +msgid "Status" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:7 +msgid "Generate New Invite" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:13 +msgid "Expiry:" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:19 +msgid "Use limit:" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:26 +msgid "Create Invite" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:33 +msgid "Link" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:34 +msgid "Expires" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:35 +msgid "Max uses" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:36 +msgid "Times used" +msgstr "" + +#: bookwyrm/templates/settings/manage_invites.html:39 +msgid "No active invites" +msgstr "" + +#: bookwyrm/templates/settings/site.html:15 +msgid "Instance Name:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:19 +msgid "Tagline:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:23 +msgid "Instance description:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:27 +msgid "Code of conduct:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Privacy Policy:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 +msgid "Logo:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:46 +msgid "Logo small:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:50 +msgid "Favicon:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:61 +msgid "Support link:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:65 +msgid "Support title:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:69 +msgid "Admin email:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:79 +msgid "Allow registration:" +msgstr "" + +#: bookwyrm/templates/settings/site.html:83 +msgid "Registration closed text:" +msgstr "" + +#: bookwyrm/templates/snippets/block_button.html:5 +msgid "Block" +msgstr "" + +#: bookwyrm/templates/snippets/block_button.html:10 +msgid "Un-block" +msgstr "" + +#: bookwyrm/templates/snippets/book_titleby.html:3 +#, python-format +msgid "%(title)s by " +msgstr "" + +#: bookwyrm/templates/snippets/boost_button.html:8 +#: bookwyrm/templates/snippets/boost_button.html:9 +#: bookwyrm/templates/snippets/status/status_body.html:41 +#: bookwyrm/templates/snippets/status/status_body.html:42 +msgid "Boost status" +msgstr "" + +#: bookwyrm/templates/snippets/boost_button.html:16 +#: bookwyrm/templates/snippets/boost_button.html:17 +msgid "Un-boost status" +msgstr "" + +#: bookwyrm/templates/snippets/content_warning_field.html:3 +msgid "Spoiler alert:" +msgstr "" + +#: bookwyrm/templates/snippets/content_warning_field.html:4 +msgid "Spoilers ahead!" +msgstr "" + +#: bookwyrm/templates/snippets/create_status.html:9 +msgid "Review" +msgstr "" + +#: bookwyrm/templates/snippets/create_status.html:12 +#: bookwyrm/templates/snippets/create_status_form.html:44 +msgid "Comment" +msgstr "" + +#: bookwyrm/templates/snippets/create_status.html:15 +msgid "Quote" +msgstr "" + +#: bookwyrm/templates/snippets/create_status_form.html:21 +#: bookwyrm/templates/snippets/shelf.html:17 +msgid "Rating" +msgstr "" + +#: bookwyrm/templates/snippets/create_status_form.html:23 +#: bookwyrm/templates/snippets/rate_action.html:14 +#: bookwyrm/templates/snippets/stars.html:3 +msgid "No rating" +msgstr "" + +#: bookwyrm/templates/snippets/create_status_form.html:54 +msgid "Include spoiler alert" +msgstr "" + +#: bookwyrm/templates/snippets/create_status_form.html:60 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:19 +msgid "Private" +msgstr "" + +#: bookwyrm/templates/snippets/create_status_form.html:67 +msgid "Post" +msgstr "" + +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:4 +msgid "Delete these read dates?" +msgstr "" + +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:7 +#, python-format +msgid "" +"You are deleting this readthrough and its %(count)s associated progress " +"updates." +msgstr "" + +#: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 +#: bookwyrm/templates/snippets/follow_request_buttons.html:13 +msgid "Delete" +msgstr "" + +#: bookwyrm/templates/snippets/fav_button.html:7 +#: bookwyrm/templates/snippets/fav_button.html:8 +#: bookwyrm/templates/snippets/status/status_body.html:45 +#: bookwyrm/templates/snippets/status/status_body.html:46 +msgid "Like status" +msgstr "" + +#: bookwyrm/templates/snippets/fav_button.html:15 +#: bookwyrm/templates/snippets/fav_button.html:16 +msgid "Un-like status" +msgstr "" + +#: bookwyrm/templates/snippets/follow_button.html:6 +msgid "Follow request already sent." +msgstr "" + +#: bookwyrm/templates/snippets/follow_button.html:19 +msgid "Send follow request" +msgstr "" + +#: bookwyrm/templates/snippets/follow_button.html:21 +msgid "Follow" +msgstr "" + +#: bookwyrm/templates/snippets/follow_button.html:27 +msgid "Unfollow" +msgstr "" + +#: bookwyrm/templates/snippets/follow_request_buttons.html:8 +msgid "Accept" +msgstr "" + +#: bookwyrm/templates/snippets/generated_status/goal.html:1 +#, python-format +msgid "set a goal to read %(counter)s book in %(year)s" +msgid_plural "set a goal to read %(counter)s books in %(year)s" +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/snippets/goal_card.html:21 +msgid "Dismiss message" +msgstr "" + +#: bookwyrm/templates/snippets/goal_card.html:22 +#, python-format +msgid "" +"You can set or change your reading goal any time from your profile page" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:9 +msgid "Reading goal:" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:14 +msgid "books" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:19 +msgid "Goal privacy:" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:26 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 +msgid "Post to feed" +msgstr "" + +#: bookwyrm/templates/snippets/goal_form.html:30 +msgid "Set goal" +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:5 +msgid "Success!" +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:7 +#, python-format +msgid "%(percent)s%% complete!" +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:10 +#, python-format +msgid "" +"You've read %(read_count)s of %(goal_count)s books." +msgstr "" + +#: bookwyrm/templates/snippets/goal_progress.html:12 +#, python-format +msgid "" +"%(username)s has read %(read_count)s of %(goal_count)s " +"books." +msgstr "" + +#: bookwyrm/templates/snippets/pagination.html:7 +msgid "Previous" +msgstr "" + +#: bookwyrm/templates/snippets/pagination.html:15 +msgid "Next" +msgstr "" + +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:10 +msgid "Public" +msgstr "" + +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:13 +msgid "Unlisted" +msgstr "" + +#: bookwyrm/templates/snippets/privacy-icons.html:12 +msgid "Followers-only" +msgstr "" + +#: bookwyrm/templates/snippets/privacy_select.html:6 +msgid "Post privacy" +msgstr "" + +#: bookwyrm/templates/snippets/privacy_select.html:16 +#: bookwyrm/templates/user/followers.html:13 +msgid "Followers" +msgstr "" + +#: bookwyrm/templates/snippets/progress_update.html:6 +msgid "Progress:" +msgstr "" + +#: bookwyrm/templates/snippets/progress_update.html:16 +#: bookwyrm/templates/snippets/readthrough_form.html:22 +msgid "pages" +msgstr "" + +#: bookwyrm/templates/snippets/progress_update.html:17 +#: bookwyrm/templates/snippets/readthrough_form.html:23 +msgid "percent" +msgstr "" + +#: bookwyrm/templates/snippets/progress_update.html:25 +#, python-format +msgid "of %(book.pages)s pages" +msgstr "" + +#: bookwyrm/templates/snippets/rate_action.html:4 +msgid "Leave a rating" +msgstr "" + +#: bookwyrm/templates/snippets/rate_action.html:29 +msgid "Rate" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:7 +msgid "Progress Updates:" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:11 +msgid "finished" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:14 +msgid "Show all updates" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:30 +msgid "Delete this progress update" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:40 +msgid "started" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:46 +#: bookwyrm/templates/snippets/readthrough.html:60 +msgid "Edit read dates" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough.html:50 +msgid "Delete these read dates" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough_form.html:7 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19 +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:17 +msgid "Started reading" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough_form.html:14 +msgid "Progress" +msgstr "" + +#: bookwyrm/templates/snippets/readthrough_form.html:30 +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 +msgid "Finished reading" +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:32 +msgid "Sign Up" +msgstr "" + +#: bookwyrm/templates/snippets/rss_title.html:5 +#: bookwyrm/templates/snippets/status/status_header.html:9 +msgid "rated" +msgstr "" + +#: bookwyrm/templates/snippets/rss_title.html:7 +#: bookwyrm/templates/snippets/status/status_header.html:11 +msgid "reviewed" +msgstr "" + +#: bookwyrm/templates/snippets/rss_title.html:9 +#: bookwyrm/templates/snippets/status/status_header.html:13 +msgid "commented on" +msgstr "" + +#: bookwyrm/templates/snippets/rss_title.html:11 +#: bookwyrm/templates/snippets/status/status_header.html:15 +msgid "quoted" +msgstr "" + +#: bookwyrm/templates/snippets/search_result_text.html:3 +#, python-format +msgid "by %(author)s" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:12 +msgid "Published" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:13 +msgid "Shelved" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:14 +msgid "Started" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:15 +msgid "Finished" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:16 +msgid "External links" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:44 +msgid "OpenLibrary" +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:61 +msgid "This shelf is empty." +msgstr "" + +#: bookwyrm/templates/snippets/shelf.html:67 +msgid "Delete shelf" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:4 +msgid "Change shelf" +msgstr "" + +#: bookwyrm/templates/snippets/shelf_selector.html:27 +msgid "Unshelve" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5 +#, python-format +msgid "Finish \"%(book_title)s\"" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5 +msgid "More shelves" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 +msgid "Start reading" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 +msgid "Read" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 +msgid "Finish reading" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 +msgid "Want to read" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5 +#, python-format +msgid "Start \"%(book_title)s\"" +msgstr "" + +#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5 +#, python-format +msgid "Want to Read \"%(book_title)s\"" +msgstr "" + +#: bookwyrm/templates/snippets/status/status.html:7 +msgid "boosted" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_body.html:24 +#: bookwyrm/templates/snippets/status/status_body.html:37 +#: bookwyrm/templates/snippets/status/status_body.html:38 +msgid "Reply" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_content.html:16 +#: bookwyrm/templates/snippets/trimmed_text.html:12 +msgid "Show more" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_content.html:23 +#: bookwyrm/templates/snippets/trimmed_text.html:18 +msgid "Show less" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_content.html:44 +msgid "Open image in new window" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_options.html:7 +#: bookwyrm/templates/snippets/user_options.html:7 +msgid "More options" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_options.html:17 +msgid "Delete post" +msgstr "" + +#: bookwyrm/templates/snippets/status/status_options.html:23 +#: bookwyrm/templates/snippets/user_options.html:13 +msgid "Send direct message" +msgstr "" + +#: bookwyrm/templates/snippets/switch_edition_button.html:5 +msgid "Switch to this edition" +msgstr "" + +#: bookwyrm/templates/snippets/tag.html:14 +msgid "Remove tag" +msgstr "" + +#: bookwyrm/templates/tag.html:9 +#, python-format +msgid "Books tagged \"%(tag.name)s\"" +msgstr "" + +#: bookwyrm/templates/user/create_shelf_form.html:5 +msgid "Create New Shelf" +msgstr "" + +#: bookwyrm/templates/user/create_shelf_form.html:22 +#: bookwyrm/templates/user/shelf.html:33 +msgid "Create shelf" +msgstr "" + +#: bookwyrm/templates/user/edit_shelf_form.html:5 +msgid "Edit Shelf" +msgstr "" + +#: bookwyrm/templates/user/edit_shelf_form.html:26 +msgid "Update shelf" +msgstr "" + +#: bookwyrm/templates/user/followers.html:7 +#: bookwyrm/templates/user/following.html:7 bookwyrm/templates/user/user.html:9 +msgid "User Profile" +msgstr "" + +#: bookwyrm/templates/user/followers.html:26 +#, python-format +msgid "%(username)s has no followers" +msgstr "" + +#: bookwyrm/templates/user/following.html:13 +msgid "Following" +msgstr "" + +#: bookwyrm/templates/user/following.html:26 +#, python-format +msgid "%(username)s isn't following any users" +msgstr "" + +#: bookwyrm/templates/user/lists.html:9 +msgid "Your Lists" +msgstr "" + +#: bookwyrm/templates/user/lists.html:11 +#, python-format +msgid "Lists: %(username)s" +msgstr "" + +#: bookwyrm/templates/user/lists.html:17 +msgid "Create new list" +msgstr "" + +#: bookwyrm/templates/user/lists.html:29 +msgid "Create list" +msgstr "" + +#: bookwyrm/templates/user/shelf.html:9 +msgid "Your Shelves" +msgstr "" + +#: bookwyrm/templates/user/shelf.html:11 +#, python-format +msgid "%(username)s: Shelves" +msgstr "" + +#: bookwyrm/templates/user/shelf.html:54 +msgid "Edit shelf" +msgstr "" + +#: bookwyrm/templates/user/user.html:15 +msgid "Edit profile" +msgstr "" + +#: bookwyrm/templates/user/user.html:26 +#: bookwyrm/templates/user/user_layout.html:68 +msgid "Shelves" +msgstr "" + +#: bookwyrm/templates/user/user.html:31 +#, python-format +msgid "See all %(size)s" +msgstr "" + +#: bookwyrm/templates/user/user.html:44 +#, python-format +msgid "See all %(shelf_count)s shelves" +msgstr "" + +#: bookwyrm/templates/user/user.html:56 +#, python-format +msgid "Set a reading goal for %(year)s" +msgstr "" + +#: bookwyrm/templates/user/user.html:62 +msgid "User Activity" +msgstr "" + +#: bookwyrm/templates/user/user.html:65 +msgid "RSS feed" +msgstr "" + +#: bookwyrm/templates/user/user.html:76 +msgid "No activities yet!" +msgstr "" + +#: bookwyrm/templates/user/user_layout.html:32 +msgid "Follow Requests" +msgstr "" + +#: bookwyrm/templates/user/user_layout.html:50 +msgid "Activity" +msgstr "" + +#: bookwyrm/templates/user/user_layout.html:56 +msgid "Reading Goal" +msgstr "" + +#: bookwyrm/templates/user/user_preview.html:13 +#, python-format +msgid "Joined %(date)s" +msgstr "" + +#: bookwyrm/templates/user/user_preview.html:15 +#, python-format +msgid "%(counter)s follower" +msgid_plural "%(counter)s followers" +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/user/user_preview.html:16 +#, python-format +msgid "%(counter)s following" +msgstr "" From 821862a8919e11c9e9e410cce4997367397f3882 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 11:51:49 -0800 Subject: [PATCH 040/111] Updates bw-dev makemessages default flags --- bw-dev | 2 +- locale/en_US/LC_MESSAGES/django.po | 156 ++++++++-------- locale/fr_FR/LC_MESSAGES/django.po | 281 ++++++++++++----------------- locale/zh_CN/LC_MESSAGES/django.po | 238 +++++++++++------------- 4 files changed, 310 insertions(+), 367 deletions(-) diff --git a/bw-dev b/bw-dev index 7a003d018..b411751d7 100755 --- a/bw-dev +++ b/bw-dev @@ -91,7 +91,7 @@ case "$CMD" in execweb python manage.py collectstatic --no-input ;; makemessages) - execweb django-admin makemessages --extension html --ignore=venv3 $@ + execweb django-admin makemessages --no-wrap --ignore=venv3 $@ ;; compilemessages) execweb django-admin compilemessages --ignore venv3 $@ diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 8aae6c92c..25d38437a 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 18:44+0000\n" +"POT-Creation-Date: 2021-03-02 19:51+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,6 +18,61 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: bookwyrm/forms.py:185 +msgid "One Day" +msgstr "" + +#: bookwyrm/forms.py:186 +msgid "One Week" +msgstr "" + +#: bookwyrm/forms.py:187 +msgid "One Month" +msgstr "" + +#: bookwyrm/forms.py:188 +msgid "Does Not Expire" +msgstr "" + +#: bookwyrm/forms.py:190 +#, python-format +msgid "%(count)d uses" +msgstr "" + +#: bookwyrm/forms.py:192 +msgid "Unlimited" +msgstr "" + +#: bookwyrm/models/fields.py:24 +#, python-format +msgid "%(value)s is not a valid remote_id" +msgstr "" + +#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42 +#, python-format +msgid "%(value)s is not a valid username" +msgstr "" + +#: bookwyrm/models/fields.py:164 +msgid "username" +msgstr "" + +#: bookwyrm/models/fields.py:169 +msgid "A user with that username already exists." +msgstr "" + +#: bookwyrm/settings.py:142 +msgid "English" +msgstr "" + +#: bookwyrm/settings.py:143 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:144 +msgid "Simplified Chinese" +msgstr "" + #: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 #: bookwyrm/templates/edit_author.html:5 msgid "Edit Author" @@ -125,9 +180,7 @@ msgstr "" #: bookwyrm/templates/book.html:141 #, python-format -msgid "" -"A different edition of this book is on your %(shelf_name)s shelf." +msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "" #: bookwyrm/templates/book.html:150 @@ -379,15 +432,15 @@ msgstr "" msgid "%(tab_title)s Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:10 +#: bookwyrm/templates/feed/feed.html:10 bookwyrm/views/feed.py:33 msgid "Home" msgstr "" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:13 bookwyrm/views/feed.py:37 msgid "Local" msgstr "" -#: bookwyrm/templates/feed/feed.html:16 +#: bookwyrm/templates/feed/feed.html:16 bookwyrm/views/feed.py:41 msgid "Federated" msgstr "" @@ -396,8 +449,7 @@ msgid "Announcements" msgstr "" #: bookwyrm/templates/feed/feed.html:32 -msgid "" -"There aren't any activities right now! Try following a user to get started" +msgid "There aren't any activities right now! Try following a user to get started" msgstr "" #: bookwyrm/templates/feed/feed_layout.html:5 @@ -409,8 +461,7 @@ msgid "Your books" msgstr "" #: bookwyrm/templates/feed/feed_layout.html:13 -msgid "" -"There are no books here right now! Try searching for a book to get started" +msgid "There are no books here right now! Try searching for a book to get started" msgstr "" #: bookwyrm/templates/feed/feed_layout.html:23 @@ -451,9 +502,7 @@ msgstr "" #: bookwyrm/templates/goal.html:30 #: bookwyrm/templates/snippets/goal_card.html:13 #, python-format -msgid "" -"Set a goal for how many books you'll finish reading in %(year)s, and track " -"your progress throughout the year." +msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." msgstr "" #: bookwyrm/templates/goal.html:39 @@ -644,9 +693,7 @@ msgid "Contact site admin" msgstr "" #: bookwyrm/templates/layout.html:198 -msgid "" -"BookWyrm is open source software. You can contribute or report issues on GitHub." +msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." msgstr "" #: bookwyrm/templates/lists/create_form.html:5 @@ -815,23 +862,17 @@ msgstr "" #: bookwyrm/templates/notifications.html:49 #, python-format -msgid "" -"favorited your review of %(book_title)s" +msgid "favorited your review of %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:51 #, python-format -msgid "" -"favorited your comment on %(book_title)s" +msgid "favorited your comment on %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:53 #, python-format -msgid "" -"favorited your quote from %(book_title)s" +msgid "favorited your quote from %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:55 @@ -841,23 +882,17 @@ msgstr "" #: bookwyrm/templates/notifications.html:60 #, python-format -msgid "" -"mentioned you in a review of " -"%(book_title)s" +msgid "mentioned you in a review of %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:62 #, python-format -msgid "" -"mentioned you in a comment on " -"%(book_title)s" +msgid "mentioned you in a comment on %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:64 #, python-format -msgid "" -"mentioned you in a quote from " -"%(book_title)s" +msgid "mentioned you in a quote from %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:66 @@ -867,30 +902,22 @@ msgstr "" #: bookwyrm/templates/notifications.html:71 #, python-format -msgid "" -"replied to your review of %(book_title)s" +msgid "replied to your review of %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:73 #, python-format -msgid "" -"replied to your comment on %(book_title)s" +msgid "replied to your comment on %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:75 #, python-format -msgid "" -"replied to your quote from %(book_title)s" +msgid "replied to your quote from %(book_title)s" msgstr "" #: bookwyrm/templates/notifications.html:77 #, python-format -msgid "" -"replied to your status" +msgid "replied to your status" msgstr "" #: bookwyrm/templates/notifications.html:81 @@ -903,23 +930,17 @@ msgstr "" #: bookwyrm/templates/notifications.html:90 #, python-format -msgid "" -"boosted your review of %(book.title)s" +msgid "boosted your review of %(book.title)s" msgstr "" #: bookwyrm/templates/notifications.html:92 #, python-format -msgid "" -"boosted your comment on%(book.title)s" +msgid "boosted your comment on%(book.title)s" msgstr "" #: bookwyrm/templates/notifications.html:94 #, python-format -msgid "" -"boosted your quote from %(book.title)s" +msgid "boosted your quote from %(book.title)s" msgstr "" #: bookwyrm/templates/notifications.html:96 @@ -929,16 +950,12 @@ msgstr "" #: bookwyrm/templates/notifications.html:100 #, python-format -msgid "" -" added %(book_title)s to your list " -"\"%(list_name)s\"" +msgid " added %(book_title)s to your list \"%(list_name)s\"" msgstr "" #: bookwyrm/templates/notifications.html:102 #, python-format -msgid "" -" suggested adding %(book_title)s to " -"your list \"%(list_name)s\"" +msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" msgstr "" #: bookwyrm/templates/notifications.html:106 @@ -1299,9 +1316,7 @@ msgstr "" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:7 #, python-format -msgid "" -"You are deleting this readthrough and its %(count)s associated progress " -"updates." +msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 @@ -1354,9 +1369,7 @@ msgstr "" #: bookwyrm/templates/snippets/goal_card.html:22 #, python-format -msgid "" -"You can set or change your reading goal any time from your profile page" +msgid "You can set or change your reading goal any time from your profile page" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:9 @@ -1393,15 +1406,12 @@ msgstr "" #: bookwyrm/templates/snippets/goal_progress.html:10 #, python-format -msgid "" -"You've read %(read_count)s of %(goal_count)s books." +msgid "You've read %(read_count)s of %(goal_count)s books." msgstr "" #: bookwyrm/templates/snippets/goal_progress.html:12 #, python-format -msgid "" -"%(username)s has read %(read_count)s of %(goal_count)s " -"books." +msgid "%(username)s has read %(read_count)s of %(goal_count)s books." msgstr "" #: bookwyrm/templates/snippets/pagination.html:7 diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 76b706152..263de6d13 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 18:44+0000\n" +"POT-Creation-Date: 2021-03-02 19:51+0000\n" "PO-Revision-Date: 2021-03-02 12:37+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -18,6 +18,65 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: bookwyrm/forms.py:185 +msgid "One Day" +msgstr "" + +#: bookwyrm/forms.py:186 +msgid "One Week" +msgstr "" + +#: bookwyrm/forms.py:187 +msgid "One Month" +msgstr "" + +#: bookwyrm/forms.py:188 +msgid "Does Not Expire" +msgstr "" + +#: bookwyrm/forms.py:190 +#, python-format +msgid "%(count)d uses" +msgstr "" + +#: bookwyrm/forms.py:192 +#, fuzzy +#| msgid "Unlisted" +msgid "Unlimited" +msgstr "Non listé" + +#: bookwyrm/models/fields.py:24 +#, python-format +msgid "%(value)s is not a valid remote_id" +msgstr "" + +#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42 +#, python-format +msgid "%(value)s is not a valid username" +msgstr "" + +#: bookwyrm/models/fields.py:164 +#, fuzzy +#| msgid "Username:" +msgid "username" +msgstr "Nom d’utilisateur :" + +#: bookwyrm/models/fields.py:169 +msgid "A user with that username already exists." +msgstr "" + +#: bookwyrm/settings.py:142 +msgid "English" +msgstr "" + +#: bookwyrm/settings.py:143 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:144 +msgid "Simplified Chinese" +msgstr "" + #: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 #: bookwyrm/templates/edit_author.html:5 msgid "Edit Author" @@ -131,15 +190,9 @@ msgstr "Messages directs avec %(username)s" #: bookwyrm/templates/book.html:141 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -"A different edition of this book is on your %(shelf_name)s shelf." -msgstr "" -" a ajouté %(book_title)s à votre " -"liste « %(list_name)s »" +#| msgid "replied to your %(preview_name)s" +msgid "A different edition of this book is on your %(shelf_name)s shelf." +msgstr " a ajouté %(book_title)s à votre liste « %(list_name)s »" #: bookwyrm/templates/book.html:150 msgid "Your reading activity" @@ -399,15 +452,15 @@ msgstr "Vous n’avez aucun message pour l’instant." msgid "%(tab_title)s Timeline" msgstr "%(tab_title)s — Fil d’actualité" -#: bookwyrm/templates/feed/feed.html:10 +#: bookwyrm/templates/feed/feed.html:10 bookwyrm/views/feed.py:33 msgid "Home" msgstr "Accueil" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:13 bookwyrm/views/feed.py:37 msgid "Local" msgstr "Local" -#: bookwyrm/templates/feed/feed.html:16 +#: bookwyrm/templates/feed/feed.html:16 bookwyrm/views/feed.py:41 msgid "Federated" msgstr "Fédéré" @@ -416,10 +469,8 @@ msgid "Announcements" msgstr "Annonces" #: bookwyrm/templates/feed/feed.html:32 -msgid "" -"There aren't any activities right now! Try following a user to get started" -msgstr "" -"Aucune activité pour l’instant ! Abonnez‑vous à quelqu’un pour commencer" +msgid "There aren't any activities right now! Try following a user to get started" +msgstr "Aucune activité pour l’instant ! Abonnez‑vous à quelqu’un pour commencer" #: bookwyrm/templates/feed/feed_layout.html:5 #, fuzzy @@ -432,8 +483,7 @@ msgid "Your books" msgstr "Vos livres" #: bookwyrm/templates/feed/feed_layout.html:13 -msgid "" -"There are no books here right now! Try searching for a book to get started" +msgid "There are no books here right now! Try searching for a book to get started" msgstr "Aucun livre ici pour l’instant ! Cherchez un livre pour commencer" #: bookwyrm/templates/feed/feed_layout.html:23 @@ -480,12 +530,8 @@ msgstr "Modifier le défi" #: bookwyrm/templates/goal.html:30 #: bookwyrm/templates/snippets/goal_card.html:13 #, python-format -msgid "" -"Set a goal for how many books you'll finish reading in %(year)s, and track " -"your progress throughout the year." -msgstr "" -"Définissez un nombre de livre à lire comme objectif pour %(year)s, et " -"suivezvotre progression au fil de l’année." +msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." +msgstr "Définissez un nombre de livre à lire comme objectif pour %(year)s, et suivezvotre progression au fil de l’année." #: bookwyrm/templates/goal.html:39 #, python-format @@ -683,12 +729,8 @@ msgid "Contact site admin" msgstr "Contacter l’administrateur du site" #: bookwyrm/templates/layout.html:198 -msgid "" -"BookWyrm is open source software. You can contribute or report issues on GitHub." -msgstr "" -"Bookwyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports " -"de bogues via GitHub." +msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgstr "Bookwyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub." #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:17 @@ -859,32 +901,20 @@ msgstr "Supprimer les notifications" #: bookwyrm/templates/notifications.html:49 #, fuzzy, python-format #| msgid "favorited your %(preview_name)s" -msgid "" -"favorited your review of %(book_title)s" -msgstr "" -"a ajouté votre critique de %(book_title)s à ses favoris" +msgid "favorited your review of %(book_title)s" +msgstr "a ajouté votre critique de %(book_title)s à ses favoris" #: bookwyrm/templates/notifications.html:51 #, fuzzy, python-format #| msgid "favorited your %(preview_name)s" -msgid "" -"favorited your comment on %(book_title)s" -msgstr "" -"a ajouté votre commentaire sur " -"%(book_title)s à ses favoris" +msgid "favorited your comment on %(book_title)s" +msgstr "a ajouté votre commentaire sur %(book_title)s à ses favoris" #: bookwyrm/templates/notifications.html:53 #, fuzzy, python-format #| msgid "favorited your %(preview_name)s" -msgid "" -"favorited your quote from %(book_title)s" -msgstr "" -"a ajouté votre citation de %(book_title)s à ses favoris" +msgid "favorited your quote from %(book_title)s" +msgstr "a ajouté votre citation de %(book_title)s à ses favoris" #: bookwyrm/templates/notifications.html:55 #, fuzzy, python-format @@ -895,32 +925,20 @@ msgstr "a ajouté votre statut à ses favoris" #: bookwyrm/templates/notifications.html:60 #, fuzzy, python-format #| msgid "mentioned you in a %(preview_name)s" -msgid "" -"mentioned you in a review of " -"%(book_title)s" -msgstr "" -"vous a mentionné dans sa critique de " -"%(book_title)s" +msgid "mentioned you in a review of %(book_title)s" +msgstr "vous a mentionné dans sa critique de %(book_title)s" #: bookwyrm/templates/notifications.html:62 #, fuzzy, python-format #| msgid "mentioned you in a %(preview_name)s" -msgid "" -"mentioned you in a comment on " -"%(book_title)s" -msgstr "" -"vous a mentionné dans son commentaire sur " -"%(book_title)s" +msgid "mentioned you in a comment on %(book_title)s" +msgstr "vous a mentionné dans son commentaire sur %(book_title)s" #: bookwyrm/templates/notifications.html:64 #, fuzzy, python-format #| msgid "mentioned you in a %(preview_name)s" -msgid "" -"mentioned you in a quote from " -"%(book_title)s" -msgstr "" -"vous a mentionné dans sa citation de " -"%(book_title)s" +msgid "mentioned you in a quote from %(book_title)s" +msgstr "vous a mentionné dans sa citation de %(book_title)s" #: bookwyrm/templates/notifications.html:66 #, fuzzy, python-format @@ -930,51 +948,27 @@ msgstr "vous a mentionné dans son statut" #: bookwyrm/templates/notifications.html:71 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -"replied to your review of %(book_title)s" -msgstr "" -"a répondu à votre critique de %(book_title)s" +#| msgid "replied to your %(preview_name)s" +msgid "replied to your review of %(book_title)s" +msgstr "a répondu à votre critique de %(book_title)s" #: bookwyrm/templates/notifications.html:73 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -"replied to your comment on %(book_title)s" -msgstr "" -"a répondu à votre commentaire sur %(book_title)s" +#| msgid "replied to your %(preview_name)s" +msgid "replied to your comment on %(book_title)s" +msgstr "a répondu à votre commentaire sur %(book_title)s" #: bookwyrm/templates/notifications.html:75 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -"replied to your quote from %(book_title)s" -msgstr "" -"a répondu à votre citation de %(book_title)s" +#| msgid "replied to your %(preview_name)s" +msgid "replied to your quote from %(book_title)s" +msgstr "a répondu à votre citation de %(book_title)s" #: bookwyrm/templates/notifications.html:77 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -"replied to your status" -msgstr "" -"a répondu à votre statut" +#| msgid "replied to your %(preview_name)s" +msgid "replied to your status" +msgstr "a répondu à votre statut" #: bookwyrm/templates/notifications.html:81 msgid "followed you" @@ -987,32 +981,20 @@ msgstr "vous a envoyé une demande d’abonnement" #: bookwyrm/templates/notifications.html:90 #, fuzzy, python-format #| msgid "boosted your %(preview_name)s" -msgid "" -"boosted your review of %(book.title)s" -msgstr "" -"a partagé votre critique de %(book_title)s" +msgid "boosted your review of %(book.title)s" +msgstr "a partagé votre critique de %(book_title)s" #: bookwyrm/templates/notifications.html:92 #, fuzzy, python-format #| msgid "boosted your %(preview_name)s" -msgid "" -"boosted your comment on%(book.title)s" -msgstr "" -"a partagé votre commentaire sur " -"%(book_title)s" +msgid "boosted your comment on%(book.title)s" +msgstr "a partagé votre commentaire sur %(book_title)s" #: bookwyrm/templates/notifications.html:94 #, fuzzy, python-format #| msgid "boosted your %(preview_name)s" -msgid "" -"boosted your quote from %(book.title)s" -msgstr "" -"a partagé votre citation de %(book_title)s" +msgid "boosted your quote from %(book.title)s" +msgstr "a partagé votre citation de %(book_title)s" #: bookwyrm/templates/notifications.html:96 #, fuzzy, python-format @@ -1022,33 +1004,20 @@ msgstr "a partagé votre statut" #: bookwyrm/templates/notifications.html:100 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -" added %(book_title)s to your list " -"\"%(list_name)s\"" -msgstr "" -" a ajouté %(book_title)s à votre " -"liste « %(list_name)s »" +#| msgid "replied to your %(preview_name)s" +msgid " added %(book_title)s to your list \"%(list_name)s\"" +msgstr " a ajouté %(book_title)s à votre liste « %(list_name)s »" #: bookwyrm/templates/notifications.html:102 #, fuzzy, python-format -#| msgid "" -#| "replied to your %(preview_name)s" -msgid "" -" suggested adding %(book_title)s to " -"your list \"%(list_name)s\"" -msgstr "" -" a suggégré l’ajout de %(book_title)s " -"à votre liste « %(list_name)s »" +#| msgid "replied to your %(preview_name)s" +msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" +msgstr " a suggégré l’ajout de %(book_title)s à votre liste « %(list_name)s »" #: bookwyrm/templates/notifications.html:106 #, python-format msgid " your import completed." -msgstr "" -" votre importation est terminée." +msgstr " votre importation est terminée." #: bookwyrm/templates/notifications.html:138 msgid "You're all caught up!" @@ -1072,8 +1041,7 @@ msgstr "Confirmer" #: bookwyrm/templates/password_reset_request.html:12 msgid "A link to reset your password will be sent to your email address" -msgstr "" -"Un lien pour changer votre mot de passe sera envoyé à votre addresse email" +msgstr "Un lien pour changer votre mot de passe sera envoyé à votre addresse email" #: bookwyrm/templates/password_reset_request.html:16 #: bookwyrm/templates/preferences/edit_user.html:38 @@ -1413,9 +1381,7 @@ msgstr "Supprimer ces dates de lecture ?" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:7 #, python-format -msgid "" -"You are deleting this readthrough and its %(count)s associated progress " -"updates." +msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "Vous avez supprimé ce résumé et ses %(count)s progressions associées." #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 @@ -1468,12 +1434,8 @@ msgstr "Rejeter le message" #: bookwyrm/templates/snippets/goal_card.html:22 #, python-format -msgid "" -"You can set or change your reading goal any time from your profile page" -msgstr "" -"Vous pouvez définir ou changer vore défi lecture à n’importe quel moment " -"depuis votre profil" +msgid "You can set or change your reading goal any time from your profile page" +msgstr "Vous pouvez définir ou changer vore défi lecture à n’importe quel moment depuis votre profil" #: bookwyrm/templates/snippets/goal_form.html:9 msgid "Reading goal:" @@ -1509,20 +1471,13 @@ msgstr "%(percent)s%% terminé !" #: bookwyrm/templates/snippets/goal_progress.html:10 #, python-format -msgid "" -"You've read %(read_count)s of %(goal_count)s books." -msgstr "" -"Vous avez lu %(read_count)s sur %(goal_count)s livres." +msgid "You've read %(read_count)s of %(goal_count)s books." +msgstr "Vous avez lu %(read_count)s sur %(goal_count)s livres." #: bookwyrm/templates/snippets/goal_progress.html:12 #, python-format -msgid "" -"%(username)s has read %(read_count)s of %(goal_count)s " -"books." -msgstr "" -"%(username)s a lu %(read_count)s sur %(goal_count)s " -"livres." +msgid "%(username)s has read %(read_count)s of %(goal_count)s books." +msgstr "%(username)s a lu %(read_count)s sur %(goal_count)s livres." #: bookwyrm/templates/snippets/pagination.html:7 msgid "Previous" diff --git a/locale/zh_CN/LC_MESSAGES/django.po b/locale/zh_CN/LC_MESSAGES/django.po index 1feaad2e3..0f51c6c33 100644 --- a/locale/zh_CN/LC_MESSAGES/django.po +++ b/locale/zh_CN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 18:44+0000\n" +"POT-Creation-Date: 2021-03-02 19:51+0000\n" "PO-Revision-Date: 2021-03-02 10:35+0000\n" "Last-Translator: Kana \n" "Language-Team: Mouse Reeve \n" @@ -18,6 +18,65 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: bookwyrm/forms.py:185 +msgid "One Day" +msgstr "" + +#: bookwyrm/forms.py:186 +msgid "One Week" +msgstr "" + +#: bookwyrm/forms.py:187 +msgid "One Month" +msgstr "" + +#: bookwyrm/forms.py:188 +msgid "Does Not Expire" +msgstr "" + +#: bookwyrm/forms.py:190 +#, python-format +msgid "%(count)d uses" +msgstr "" + +#: bookwyrm/forms.py:192 +#, fuzzy +#| msgid "Unlisted" +msgid "Unlimited" +msgstr "不公开" + +#: bookwyrm/models/fields.py:24 +#, python-format +msgid "%(value)s is not a valid remote_id" +msgstr "" + +#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42 +#, python-format +msgid "%(value)s is not a valid username" +msgstr "" + +#: bookwyrm/models/fields.py:164 +#, fuzzy +#| msgid "Username:" +msgid "username" +msgstr "用户名:" + +#: bookwyrm/models/fields.py:169 +msgid "A user with that username already exists." +msgstr "" + +#: bookwyrm/settings.py:142 +msgid "English" +msgstr "" + +#: bookwyrm/settings.py:143 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:144 +msgid "Simplified Chinese" +msgstr "" + #: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 #: bookwyrm/templates/edit_author.html:5 msgid "Edit Author" @@ -128,15 +187,9 @@ msgstr "与 %(username)s 私信" #: bookwyrm/templates/book.html:141 #, fuzzy, python-format -#| msgid "" -#| " added %(book_title)s to your list " -#| "\"%(list_name)s\"" -msgid "" -"A different edition of this book is on your %(shelf_name)s shelf." -msgstr "" -" 添加了 %(book_title)s 到你的列表 " -"\"%(list_name)s\"" +#| msgid " added %(book_title)s to your list \"%(list_name)s\"" +msgid "A different edition of this book is on your %(shelf_name)s shelf." +msgstr " 添加了 %(book_title)s 到你的列表 \"%(list_name)s\"" #: bookwyrm/templates/book.html:150 msgid "Your reading activity" @@ -387,15 +440,15 @@ msgstr "你现在没有消息。" msgid "%(tab_title)s Timeline" msgstr "%(tab_title)s 时间线" -#: bookwyrm/templates/feed/feed.html:10 +#: bookwyrm/templates/feed/feed.html:10 bookwyrm/views/feed.py:33 msgid "Home" msgstr "主页" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:13 bookwyrm/views/feed.py:37 msgid "Local" msgstr "本站" -#: bookwyrm/templates/feed/feed.html:16 +#: bookwyrm/templates/feed/feed.html:16 bookwyrm/views/feed.py:41 msgid "Federated" msgstr "跨站" @@ -404,8 +457,7 @@ msgid "Announcements" msgstr "公告" #: bookwyrm/templates/feed/feed.html:32 -msgid "" -"There aren't any activities right now! Try following a user to get started" +msgid "There aren't any activities right now! Try following a user to get started" msgstr "现在还没有任何活动!尝试着从关注一个用户开始吧" #: bookwyrm/templates/feed/feed_layout.html:5 @@ -417,8 +469,7 @@ msgid "Your books" msgstr "你的书目" #: bookwyrm/templates/feed/feed_layout.html:13 -msgid "" -"There are no books here right now! Try searching for a book to get started" +msgid "There are no books here right now! Try searching for a book to get started" msgstr "现在这里还没有任何书目!尝试着从搜索某本书开始吧" #: bookwyrm/templates/feed/feed_layout.html:23 @@ -463,9 +514,7 @@ msgstr "编辑目标" #: bookwyrm/templates/goal.html:30 #: bookwyrm/templates/snippets/goal_card.html:13 #, python-format -msgid "" -"Set a goal for how many books you'll finish reading in %(year)s, and track " -"your progress throughout the year." +msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." msgstr "设定一个 %(year)s 内要读多少书的目标,并记录你全年的进度。" #: bookwyrm/templates/goal.html:39 @@ -656,12 +705,8 @@ msgid "Contact site admin" msgstr "联系站点管理员" #: bookwyrm/templates/layout.html:198 -msgid "" -"BookWyrm is open source software. You can contribute or report issues on GitHub." -msgstr "" -"BookWyrm 是开源软件。你可以在GitHub 贡献或报告问题。" +msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgstr "BookWyrm 是开源软件。你可以在GitHub 贡献或报告问题。" #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:17 @@ -831,27 +876,18 @@ msgstr "删除通知" #: bookwyrm/templates/notifications.html:49 #, python-format -msgid "" -"favorited your review of %(book_title)s" -msgstr "" -"喜欢了你 %(book_title)s 的书评" +msgid "favorited your review of %(book_title)s" +msgstr "喜欢了你 %(book_title)s 的书评" #: bookwyrm/templates/notifications.html:51 #, python-format -msgid "" -"favorited your comment on %(book_title)s" -msgstr "" -"喜欢了你 %(book_title)s 的评论" +msgid "favorited your comment on %(book_title)s" +msgstr "喜欢了你 %(book_title)s 的评论" #: bookwyrm/templates/notifications.html:53 #, python-format -msgid "" -"favorited your quote from %(book_title)s" -msgstr "" -"喜欢了你 来自 %(book_title)s 的引用" +msgid "favorited your quote from %(book_title)s" +msgstr "喜欢了你 来自 %(book_title)s 的引用" #: bookwyrm/templates/notifications.html:55 #, python-format @@ -860,30 +896,18 @@ msgstr "喜欢了你的 状态" #: bookwyrm/templates/notifications.html:60 #, python-format -msgid "" -"mentioned you in a review of " -"%(book_title)s" -msgstr "" -"在 %(book_title)s 的书评 里提到" -"了你" +msgid "mentioned you in a review of %(book_title)s" +msgstr "在 %(book_title)s 的书评 里提到了你" #: bookwyrm/templates/notifications.html:62 #, python-format -msgid "" -"mentioned you in a comment on " -"%(book_title)s" -msgstr "" -"在 %(book_title)s 的评论 里提到" -"了你" +msgid "mentioned you in a comment on %(book_title)s" +msgstr "在 %(book_title)s 的评论 里提到了你" #: bookwyrm/templates/notifications.html:64 #, python-format -msgid "" -"mentioned you in a quote from " -"%(book_title)s" -msgstr "" -"在 %(book_title)s 的引用 中提到" -"了你" +msgid "mentioned you in a quote from %(book_title)s" +msgstr "在 %(book_title)s 的引用 中提到了你" #: bookwyrm/templates/notifications.html:66 #, python-format @@ -892,39 +916,23 @@ msgstr "在 状态 中提到了你" #: bookwyrm/templates/notifications.html:71 #, python-format -msgid "" -"replied to your review of %(book_title)s" -msgstr "" -"回复 了你的 对 " -"%(book_title)s 的书评" +msgid "replied to your review of %(book_title)s" +msgstr "回复 了你的 %(book_title)s 的书评" #: bookwyrm/templates/notifications.html:73 #, python-format -msgid "" -"replied to your comment on %(book_title)s" -msgstr "" -"回复 了你的 对 " -"%(book_title)s 的评论" +msgid "replied to your comment on %(book_title)s" +msgstr "回复 了你的 %(book_title)s 的评论" #: bookwyrm/templates/notifications.html:75 #, python-format -msgid "" -"replied to your quote from %(book_title)s" -msgstr "" -"回复 了你 对 " -"%(book_title)s 中的引用" +msgid "replied to your quote from %(book_title)s" +msgstr "回复 了你 %(book_title)s 中的引用" #: bookwyrm/templates/notifications.html:77 #, python-format -msgid "" -"replied to your status" -msgstr "" -"回复 了你的 状态" -"" +msgid "replied to your status" +msgstr "回复 了你的 状态" #: bookwyrm/templates/notifications.html:81 msgid "followed you" @@ -936,27 +944,18 @@ msgstr "向你发送了关注请求" #: bookwyrm/templates/notifications.html:90 #, python-format -msgid "" -"boosted your review of %(book.title)s" -msgstr "" -"转发了你的 %(book.title)s 的书评" +msgid "boosted your review of %(book.title)s" +msgstr "转发了你的 %(book.title)s 的书评" #: bookwyrm/templates/notifications.html:92 #, python-format -msgid "" -"boosted your comment on%(book.title)s" -msgstr "" -"转发了你的 %(book.title)s 的评论" +msgid "boosted your comment on%(book.title)s" +msgstr "转发了你的 %(book.title)s 的评论" #: bookwyrm/templates/notifications.html:94 #, python-format -msgid "" -"boosted your quote from %(book.title)s" -msgstr "" -"转发了你的 %(book.title)s 的引用" +msgid "boosted your quote from %(book.title)s" +msgstr "转发了你的 %(book.title)s 的引用" #: bookwyrm/templates/notifications.html:96 #, python-format @@ -965,21 +964,13 @@ msgstr "转发了你的 状态" #: bookwyrm/templates/notifications.html:100 #, python-format -msgid "" -" added %(book_title)s to your list " -"\"%(list_name)s\"" -msgstr "" -" 添加了 %(book_title)s 到你的列表 " -"\"%(list_name)s\"" +msgid " added %(book_title)s to your list \"%(list_name)s\"" +msgstr " 添加了 %(book_title)s 到你的列表 \"%(list_name)s\"" #: bookwyrm/templates/notifications.html:102 #, python-format -msgid "" -" suggested adding %(book_title)s to " -"your list \"%(list_name)s\"" -msgstr "" -" 推荐添加 %(book_title)s 到你的列表 " -"\"%(list_name)s\"" +msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" +msgstr " 推荐添加 %(book_title)s 到你的列表 \"%(list_name)s\"" #: bookwyrm/templates/notifications.html:106 #, python-format @@ -1340,9 +1331,7 @@ msgstr "删除这些阅读日期吗?" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:7 #, python-format -msgid "" -"You are deleting this readthrough and its %(count)s associated progress " -"updates." +msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 @@ -1394,12 +1383,8 @@ msgstr "遣散消息" #: bookwyrm/templates/snippets/goal_card.html:22 #, python-format -msgid "" -"You can set or change your reading goal any time from your profile page" -msgstr "" -"你可以在任何时候从你的个人资料页面 中设置或改变你的" -"阅读目标" +msgid "You can set or change your reading goal any time from your profile page" +msgstr "你可以在任何时候从你的个人资料页面 中设置或改变你的阅读目标" #: bookwyrm/templates/snippets/goal_form.html:9 msgid "Reading goal:" @@ -1435,20 +1420,13 @@ msgstr "完成了 %(percent)s%% !" #: bookwyrm/templates/snippets/goal_progress.html:10 #, python-format -msgid "" -"You've read %(read_count)s of %(goal_count)s books." -msgstr "" -"你已经阅读了 %(goal_count)s 本书中的 %(read_count)s 本。" +msgid "You've read %(read_count)s of %(goal_count)s books." +msgstr "你已经阅读了 %(goal_count)s 本书中的 %(read_count)s 本。" #: bookwyrm/templates/snippets/goal_progress.html:12 #, python-format -msgid "" -"%(username)s has read %(read_count)s of %(goal_count)s " -"books." -msgstr "" -"%(username)s 已经阅读了 %(goal_count)s 本书中的 " -"%(read_count)s 本。" +msgid "%(username)s has read %(read_count)s of %(goal_count)s books." +msgstr "%(username)s 已经阅读了 %(goal_count)s 本书中的 %(read_count)s 本。" #: bookwyrm/templates/snippets/pagination.html:7 msgid "Previous" From 21f39bc310e880c2a54bd5760844789a8cb53ffc Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 20:52:11 +0100 Subject: [PATCH 041/111] More translations --- locale/de_DE/LC_MESSAGES/django.po | 74 +++++++++++++++--------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 89f2e2f70..fe817848c 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -161,15 +161,15 @@ msgstr "" #: bookwyrm/templates/discover/landing_layout.html:5 msgid "Welcome" -msgstr "" +msgstr "Willkommen" #: bookwyrm/templates/discover/landing_layout.html:17 msgid "Decentralized" -msgstr "" +msgstr "Dezentral" #: bookwyrm/templates/discover/landing_layout.html:23 msgid "Friendly" -msgstr "" +msgstr "Freundlich" #: bookwyrm/templates/discover/landing_layout.html:29 msgid "Anti-Corporate" @@ -178,32 +178,32 @@ msgstr "" #: bookwyrm/templates/discover/landing_layout.html:44 #, python-format msgid "Join %(name)s" -msgstr "" +msgstr "Tritt %(name)s bei" #: bookwyrm/templates/discover/landing_layout.html:49 #: bookwyrm/templates/login.html:48 msgid "This instance is closed" -msgstr "" +msgstr "Diese Instanz ist geschlossen" #: bookwyrm/templates/discover/landing_layout.html:55 msgid "Your Account" -msgstr "" +msgstr "Dein Account" #: bookwyrm/templates/edit_author.html:13 bookwyrm/templates/edit_book.html:13 msgid "Added:" -msgstr "" +msgstr "Hinzugefügt:" #: bookwyrm/templates/edit_author.html:14 bookwyrm/templates/edit_book.html:14 msgid "Updated:" -msgstr "" +msgstr "Aktualisiert:" #: bookwyrm/templates/edit_author.html:15 bookwyrm/templates/edit_book.html:15 msgid "Last edited by:" -msgstr "" +msgstr "Zuletzt bearbeitet von:" #: bookwyrm/templates/edit_author.html:31 bookwyrm/templates/edit_book.html:30 msgid "Metadata" -msgstr "" +msgstr "Metadaten" #: bookwyrm/templates/edit_author.html:32 bookwyrm/templates/lists/form.html:8 #: bookwyrm/templates/user/create_shelf_form.html:13 @@ -217,19 +217,19 @@ msgstr "" #: bookwyrm/templates/edit_author.html:42 msgid "Wikipedia link:" -msgstr "" +msgstr "Wikipedialink:" #: bookwyrm/templates/edit_author.html:47 msgid "Birth date:" -msgstr "" +msgstr "Geburtsdatum:" #: bookwyrm/templates/edit_author.html:52 msgid "Death date:" -msgstr "" +msgstr "Todesdatum:" #: bookwyrm/templates/edit_author.html:58 msgid "Author Identifiers" -msgstr "" +msgstr "Autor*innenidentifikatoren" #: bookwyrm/templates/edit_author.html:59 bookwyrm/templates/edit_book.html:103 msgid "Openlibrary key:" @@ -245,27 +245,27 @@ msgstr "" #: bookwyrm/templates/edit_book.html:31 msgid "Title:" -msgstr "" +msgstr "Titel:" #: bookwyrm/templates/edit_book.html:35 msgid "Subtitle:" -msgstr "" +msgstr "Untertitel:" #: bookwyrm/templates/edit_book.html:43 msgid "Series:" -msgstr "" +msgstr "Serie:" #: bookwyrm/templates/edit_book.html:47 msgid "Series number:" -msgstr "" +msgstr "Seriennummer:" #: bookwyrm/templates/edit_book.html:51 msgid "First published date:" -msgstr "" +msgstr "Erstveröffentlichungsdatum:" #: bookwyrm/templates/edit_book.html:55 msgid "Published date:" -msgstr "" +msgstr "Veröffentlichungsdatum:" #: bookwyrm/templates/edit_book.html:68 #: bookwyrm/templates/snippets/shelf.html:9 @@ -274,7 +274,7 @@ msgstr "" #: bookwyrm/templates/edit_book.html:78 msgid "Physical Properties" -msgstr "" +msgstr "Physikalische Eigenschaften" #: bookwyrm/templates/edit_book.html:79 msgid "Format:" @@ -282,11 +282,11 @@ msgstr "" #: bookwyrm/templates/edit_book.html:87 msgid "Pages:" -msgstr "" +msgstr "Seiten:" #: bookwyrm/templates/edit_book.html:94 msgid "Book Identifiers" -msgstr "" +msgstr "Buchidentifikatoren" #: bookwyrm/templates/edit_book.html:95 msgid "ISBN 13:" @@ -299,16 +299,16 @@ msgstr "" #: bookwyrm/templates/editions.html:5 #, python-format msgid "Editions of %(book_title)s" -msgstr "" +msgstr "Editionen von %(book_title)s" #: bookwyrm/templates/editions.html:9 #, python-format msgid "Editions of \"%(work_title)s\"" -msgstr "" +msgstr "Editionen von \"%(work_title)s\"" #: bookwyrm/templates/error.html:4 msgid "Oops!" -msgstr "" +msgstr "Ups!" #: bookwyrm/templates/error.html:8 msgid "Server Error" @@ -316,25 +316,25 @@ msgstr "" #: bookwyrm/templates/error.html:9 msgid "Something went wrong! Sorry about that." -msgstr "" +msgstr "Etwas lief schief. Entschuldigung!" #: bookwyrm/templates/feed/direct_messages.html:8 #, python-format msgid "Direct Messages with %(username)s" -msgstr "" +msgstr "Direktnachrichten mit %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 #: bookwyrm/templates/layout.html:79 msgid "Direct Messages" -msgstr "" +msgstr "Direktnachrichten" #: bookwyrm/templates/feed/direct_messages.html:13 msgid "All messages" -msgstr "" +msgstr "Alle Nachrichten" #: bookwyrm/templates/feed/direct_messages.html:22 msgid "You have no messages right now." -msgstr "" +msgstr "Du hast momentan keine Nachrichten." #: bookwyrm/templates/feed/feed.html:6 #, python-format @@ -347,20 +347,20 @@ msgstr "" #: bookwyrm/templates/feed/feed.html:13 msgid "Local" -msgstr "" +msgstr "Lokal" #: bookwyrm/templates/feed/feed.html:16 msgid "Federated" -msgstr "" +msgstr "Föderiert" #: bookwyrm/templates/feed/feed.html:24 msgid "Announcements" -msgstr "" +msgstr "Ankündigungen" #: bookwyrm/templates/feed/feed.html:32 msgid "" "There aren't any activities right now! Try following a user to get started" -msgstr "" +msgstr "Hier sind noch keine Aktivitäten! Folge anderen, um loszulegen" #: bookwyrm/templates/feed/feed_layout.html:5 msgid "Updates" @@ -368,12 +368,12 @@ msgstr "" #: bookwyrm/templates/feed/feed_layout.html:11 msgid "Your books" -msgstr "" +msgstr "Deine Bücher" #: bookwyrm/templates/feed/feed_layout.html:13 msgid "" "There are no books here right now! Try searching for a book to get started" -msgstr "" +msgstr "Hier sind noch keine Bücher! Versuche nach Büchern zu suchen um loszulegen" #: bookwyrm/templates/feed/feed_layout.html:73 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 From 78d6b3a8c9b1a72a398ee2ab63ec2989573e487a Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 21:20:01 +0100 Subject: [PATCH 042/111] translation up to line 761 --- locale/de_DE/LC_MESSAGES/django.po | 165 +++++++++++++++-------------- 1 file changed, 83 insertions(+), 82 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index fe817848c..ebff507e9 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -379,20 +379,20 @@ msgstr "Hier sind noch keine Bücher! Versuche nach Büchern zu suchen um loszul #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" -msgstr "" +msgstr "%(year)s Leseziel" #: bookwyrm/templates/feed/status.html:8 msgid "Back" -msgstr "" +msgstr "Zurück" #: bookwyrm/templates/goal.html:7 #, python-format msgid "%(year)s Reading Progress" -msgstr "" +msgstr "%(year)s Lesefortschritt" #: bookwyrm/templates/goal.html:11 msgid "Edit Goal" -msgstr "" +msgstr "Ziel bearbeiten" #: bookwyrm/templates/goal.html:30 #: bookwyrm/templates/snippets/goal_card.html:13 @@ -400,142 +400,142 @@ msgstr "" msgid "" "Set a goal for how many books you'll finish reading in %(year)s, and track " "your progress throughout the year." -msgstr "" +msgstr "Setze dir ein Ziel, wie viele Bücher du %(year)s lesen wirst und behalte deinen Fortschritt über's Jahr im Auge." #: bookwyrm/templates/goal.html:39 #, python-format msgid "%(name)s hasn't set a reading goal for %(year)s." -msgstr "" +msgstr "%(name)s hat sich für %(year)s kein Leseziel gesetzt." #: bookwyrm/templates/goal.html:51 #, python-format msgid "Your %(year)s Books" -msgstr "" +msgstr "Deine %(year)s Bücher" #: bookwyrm/templates/goal.html:53 #, python-format msgid "%(username)s's %(year)s Books" -msgstr "" +msgstr "%(username)ss %(year)s Bücher" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 #: bookwyrm/templates/layout.html:94 msgid "Import Books" -msgstr "" +msgstr "Bücher importieren" #: bookwyrm/templates/import.html:14 msgid "Data source" -msgstr "" +msgstr "Datenquelle" #: bookwyrm/templates/import.html:32 msgid "Include reviews" -msgstr "" +msgstr "Bewertungen importieren" #: bookwyrm/templates/import.html:37 msgid "Privacy setting for imported reviews:" -msgstr "" +msgstr "Datenschutzeinstellung für importierte Bewertungen" #: bookwyrm/templates/import.html:41 msgid "Import" -msgstr "" +msgstr "Importieren" #: bookwyrm/templates/import.html:46 msgid "Recent Imports" -msgstr "" +msgstr "Aktuelle Importe" #: bookwyrm/templates/import.html:48 msgid "No recent imports" -msgstr "" +msgstr "Keine aktuellen Importe" #: bookwyrm/templates/import_status.html:6 #: bookwyrm/templates/import_status.html:10 msgid "Import Status" -msgstr "" +msgstr "Importstatus" #: bookwyrm/templates/import_status.html:13 msgid "Import started:" -msgstr "" +msgstr "Import gestartet:" #: bookwyrm/templates/import_status.html:17 msgid "Import completed:" -msgstr "" +msgstr "Import abgeschlossen:" #: bookwyrm/templates/import_status.html:20 msgid "TASK FAILED" -msgstr "" +msgstr "AUFGABE GESCHEITERT" #: bookwyrm/templates/import_status.html:26 msgid "Import still in progress." -msgstr "" +msgstr "Import läuft noch." #: bookwyrm/templates/import_status.html:28 msgid "(Hit reload to update!)" -msgstr "" +msgstr "(Aktualisiere für ein Update!)" #: bookwyrm/templates/import_status.html:35 msgid "Failed to load" -msgstr "" +msgstr "Laden fehlgeschlagen" #: bookwyrm/templates/import_status.html:59 msgid "Select all" -msgstr "" +msgstr "Alle auswählen" #: bookwyrm/templates/import_status.html:62 msgid "Retry items" -msgstr "" +msgstr "Punkte erneut versuchen" #: bookwyrm/templates/import_status.html:84 msgid "Successfully imported" -msgstr "" +msgstr "Erfolgreich importiert" #: bookwyrm/templates/import_status.html:88 #: bookwyrm/templates/lists/curate.html:14 msgid "Book" -msgstr "" +msgstr "Buch" #: bookwyrm/templates/import_status.html:91 #: bookwyrm/templates/snippets/create_status_form.html:10 #: bookwyrm/templates/snippets/shelf.html:10 msgid "Title" -msgstr "" +msgstr "Titel" #: bookwyrm/templates/import_status.html:94 #: bookwyrm/templates/snippets/shelf.html:11 msgid "Author" -msgstr "" +msgstr "Autor*in" #: bookwyrm/templates/import_status.html:117 msgid "Imported" -msgstr "" +msgstr "Importiert" #: bookwyrm/templates/invite.html:4 bookwyrm/templates/invite.html:12 #: bookwyrm/templates/login.html:43 msgid "Create an Account" -msgstr "" +msgstr "Erstelle einen Account" #: bookwyrm/templates/invite.html:21 msgid "Permission Denied" -msgstr "" +msgstr "Zugiff verweigert" #: bookwyrm/templates/invite.html:22 msgid "Sorry! This invite code is no longer valid." -msgstr "" +msgstr "Sorry! Dieser Einladecode ist mehr gültig." #: bookwyrm/templates/layout.html:33 msgid "Search for a book or user" -msgstr "" +msgstr "Suche nach Buch oder Benutzer*in" #: bookwyrm/templates/layout.html:37 bookwyrm/templates/layout.html:38 #: bookwyrm/templates/lists/list.html:62 msgid "Search" -msgstr "" +msgstr "Suche" #: bookwyrm/templates/layout.html:47 bookwyrm/templates/layout.html:48 msgid "Main navigation menu" -msgstr "" +msgstr "Navigationshauptmenü" #: bookwyrm/templates/layout.html:58 msgid "Your shelves" -msgstr "" +msgstr "Deine Regale" #: bookwyrm/templates/layout.html:61 msgid "Feed" @@ -548,27 +548,27 @@ msgstr "" #: bookwyrm/templates/layout.html:89 msgid "Settings" -msgstr "" +msgstr "Einstellungen" #: bookwyrm/templates/layout.html:103 #: bookwyrm/templates/settings/admin_layout.html:19 #: bookwyrm/templates/settings/manage_invites.html:3 msgid "Invites" -msgstr "" +msgstr "Einladungen" #: bookwyrm/templates/layout.html:110 msgid "Site Configuration" -msgstr "" +msgstr "Seiteneinstellungen" #: bookwyrm/templates/layout.html:117 msgid "Log out" -msgstr "" +msgstr "Abmelden" #: bookwyrm/templates/layout.html:125 bookwyrm/templates/layout.html:126 #: bookwyrm/templates/notifications.html:6 #: bookwyrm/templates/notifications.html:10 msgid "Notifications" -msgstr "" +msgstr "Benachrichtigungen" #: bookwyrm/templates/layout.html:143 bookwyrm/templates/layout.html:147 #: bookwyrm/templates/login.html:17 @@ -579,146 +579,147 @@ msgstr "" #: bookwyrm/templates/layout.html:152 bookwyrm/templates/login.html:10 #: bookwyrm/templates/login.html:33 msgid "Log in" -msgstr "" +msgstr "Anmelden" #: bookwyrm/templates/layout.html:183 msgid "About this server" -msgstr "" +msgstr "Über diesen Server" #: bookwyrm/templates/layout.html:187 msgid "Contact site admin" -msgstr "" +msgstr "Admin kontaktieren" #: bookwyrm/templates/layout.html:198 msgid "" "BookWyrm is open source software. You can contribute or report issues on GitHub." -msgstr "" +msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:17 msgid "Create List" -msgstr "" +msgstr "Liste erstellen" #: bookwyrm/templates/lists/curate.html:6 msgid "Pending Books" -msgstr "" +msgstr "Unbestätigte Bücher" #: bookwyrm/templates/lists/curate.html:7 msgid "Go to list" -msgstr "" +msgstr "Zur Liste" #: bookwyrm/templates/lists/curate.html:9 msgid "You're all set!" -msgstr "" +msgstr "Du bist soweit!" #: bookwyrm/templates/lists/curate.html:15 msgid "Suggested by" -msgstr "" +msgstr "Vorgeschlagen von" #: bookwyrm/templates/lists/curate.html:35 msgid "Approve" -msgstr "" +msgstr "Bestätigen" #: bookwyrm/templates/lists/curate.html:41 msgid "Discard" -msgstr "" +msgstr "Ablehnen" #: bookwyrm/templates/lists/edit_form.html:5 #: bookwyrm/templates/lists/list_layout.html:17 msgid "Edit List" -msgstr "" +msgstr "Liste bearbeiten" #: bookwyrm/templates/lists/form.html:18 msgid "List curation:" -msgstr "" +msgstr "Listenkuratierung:" #: bookwyrm/templates/lists/form.html:21 msgid "Closed" -msgstr "" +msgstr "Geschlossen" #: bookwyrm/templates/lists/form.html:22 msgid "Only you can add and remove books to this list" -msgstr "" +msgstr "Nur du kannst Bücher hinzufügen oder entfernen" #: bookwyrm/templates/lists/form.html:26 msgid "Curated" -msgstr "" +msgstr "Kuratiert" #: bookwyrm/templates/lists/form.html:27 msgid "Anyone can suggest books, subject to your approval" -msgstr "" +msgstr "Alle können Bücher vorschlagen, du kannst diese bestätigen" #: bookwyrm/templates/lists/form.html:31 msgid "Open" -msgstr "" +msgstr "Offen" #: bookwyrm/templates/lists/form.html:32 msgid "Anyone can add books to this list" -msgstr "" +msgstr "Alle können Bücher hinzufügen" #: bookwyrm/templates/lists/list.html:17 msgid "This list is currently empty" -msgstr "" +msgstr "Diese Liste ist momentan leer" #: bookwyrm/templates/lists/list.html:35 msgid "Added by" -msgstr "" +msgstr "Hinzugefügt von" #: bookwyrm/templates/lists/list.html:41 msgid "Remove" -msgstr "" +msgstr "Entfernen" #: bookwyrm/templates/lists/list.html:54 msgid "Add Books" -msgstr "" +msgstr "Bücher hinzufügen" #: bookwyrm/templates/lists/list.html:54 msgid "Suggest Books" -msgstr "" +msgstr "Bücher vorschlagen" #: bookwyrm/templates/lists/list.html:58 msgid "Search for a book" -msgstr "" +msgstr "Nach einem Buch suchen" #: bookwyrm/templates/lists/list.html:63 msgid "search" -msgstr "" +msgstr "suchen" #: bookwyrm/templates/lists/list.html:69 msgid "Clear search" -msgstr "" +msgstr "Suche leeren" #: bookwyrm/templates/lists/list.html:74 #, python-format msgid "No books found matching the query \"%(query)s\"" -msgstr "" +msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden" #: bookwyrm/templates/lists/list.html:75 msgid "No books found" -msgstr "" +msgstr "Keine Bücher gefunden" #: bookwyrm/templates/lists/list.html:89 msgid "Suggest" -msgstr "" +msgstr "Vorschlagen" #: bookwyrm/templates/lists/list_items.html:19 #: bookwyrm/templates/lists/list_layout.html:11 msgid "Created and curated by" -msgstr "" +msgstr "Erstellt und kuratiert von" #: bookwyrm/templates/lists/list_items.html:19 #: bookwyrm/templates/lists/list_layout.html:11 msgid "Created by" -msgstr "" +msgstr "Erstellt von" #: bookwyrm/templates/lists/lists.html:14 msgid "Your lists" -msgstr "" +msgstr "Deine Listen" #: bookwyrm/templates/lists/lists.html:40 msgid "Recent Lists" -msgstr "" +msgstr "Aktuelle Listen" #: bookwyrm/templates/login.html:4 msgid "Login" @@ -727,31 +728,31 @@ msgstr "" #: bookwyrm/templates/login.html:23 bookwyrm/templates/password_reset.html:17 #: bookwyrm/templates/snippets/register_form.html:22 msgid "Password:" -msgstr "" +msgstr "Passwort:" #: bookwyrm/templates/login.html:36 msgid "Forgot your password?" -msgstr "" +msgstr "Passwort vergessen?" #: bookwyrm/templates/login.html:49 msgid "Contact an administrator to get an invite" -msgstr "" +msgstr "Kontaktiere für eine Einladung eine*n Admin" #: bookwyrm/templates/login.html:59 msgid "More about this site" -msgstr "" +msgstr "Mehr über diese Seite" #: bookwyrm/templates/notfound.html:4 bookwyrm/templates/notfound.html:8 msgid "Not Found" -msgstr "" +msgstr "Nicht gefunden" #: bookwyrm/templates/notfound.html:9 msgid "The page your requested doesn't seem to exist!" -msgstr "" +msgstr "Die Seite die du angefordert hast scheint nicht zu existieren!" #: bookwyrm/templates/notifications.html:14 msgid "Delete notifications" -msgstr "" +msgstr "Benachrichtigungen löschen" #: bookwyrm/templates/notifications.html:49 #, python-format From f64442764b4516cc5582312ad0be2f1c1f4a9bf9 Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 21:34:20 +0100 Subject: [PATCH 043/111] translation up to line 901 --- locale/de_DE/LC_MESSAGES/django.po | 55 ++++++++++++++++++------------ 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index ebff507e9..f847cf595 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -759,133 +759,146 @@ msgstr "Benachrichtigungen löschen" msgid "" "favorited your review of %(book_title)s" -msgstr "" +msgstr "hat deine Bewertung von %(book_title)s favorisiert" #: bookwyrm/templates/notifications.html:51 #, python-format msgid "" "favorited your comment on %(book_title)s" -msgstr "" +msgstr "hat deinen Kommentar zu %(book_title)s favorisiert" #: bookwyrm/templates/notifications.html:53 #, python-format msgid "" "favorited your quote from %(book_title)s" -msgstr "" +msgstr " hat dein Zitat aus %(book_title)s" #: bookwyrm/templates/notifications.html:55 #, python-format msgid "favorited your status" -msgstr "" +msgstr "hat deinen Status favorisiert" #: bookwyrm/templates/notifications.html:60 #, python-format msgid "" "mentioned you in a review of " "%(book_title)s" -msgstr "" +msgstr "hat dich in einer Bewertung von " +"%(book_title)s erwähnt" #: bookwyrm/templates/notifications.html:62 #, python-format msgid "" "mentioned you in a comment on " "%(book_title)s" -msgstr "" +msgstr "hat dich in einem Kommentar zu " +"%(book_title)s erwähnt" #: bookwyrm/templates/notifications.html:64 #, python-format msgid "" "mentioned you in a quote from " "%(book_title)s" -msgstr "" +msgstr "hat dich in einem Zitat von " +"%(book_title)s erwähnt" #: bookwyrm/templates/notifications.html:66 #, python-format msgid "mentioned you in a status" -msgstr "" +msgstr "hat dich in einem Status erwähnt" #: bookwyrm/templates/notifications.html:71 #, python-format msgid "" "replied to your review of %(book_title)s" -msgstr "" +msgstr "hat auf deine Bewertung von %(book_title)s geantwortet " #: bookwyrm/templates/notifications.html:73 #, python-format msgid "" "replied to your comment on %(book_title)s" -msgstr "" +msgstr "hat auf deinen Kommentar zu %(book_title)s geantwortet" #: bookwyrm/templates/notifications.html:75 #, python-format msgid "" "replied to your quote from %(book_title)s" -msgstr "" +msgstr "hat auf dein Zitat aus %(book_title)s geantwortet" #: bookwyrm/templates/notifications.html:77 #, python-format msgid "" "replied to your status" -msgstr "" +msgstr "hat auf deinen Status geantwortet" #: bookwyrm/templates/notifications.html:81 msgid "followed you" -msgstr "" +msgstr "folgt dir" #: bookwyrm/templates/notifications.html:84 msgid "sent you a follow request" -msgstr "" +msgstr "hat dir eine Folgeanfrage geschickt" #: bookwyrm/templates/notifications.html:90 #, python-format msgid "" "boosted your review of %(book.title)s" -msgstr "" +msgstr "hat deine Bewertung von %(book.title)s geteilt" #: bookwyrm/templates/notifications.html:92 #, python-format msgid "" "boosted your comment on%(book.title)s" -msgstr "" +msgstr "hat deinen Kommentar zu%(book.title)s geteilt" #: bookwyrm/templates/notifications.html:94 #, python-format msgid "" "boosted your quote from %(book.title)s" -msgstr "" +msgstr "hat dein Zitat aus %(book.title)s geteilt" #: bookwyrm/templates/notifications.html:96 #, python-format msgid "boosted your status" -msgstr "" +msgstr "hat deinen Status geteilt" #: bookwyrm/templates/notifications.html:100 #, python-format msgid "" " added %(book_title)s to your list " "\"%(list_name)s\"" -msgstr "" +msgstr "hat %(book_title)s zu deiner Liste \"%(list_name)s\" Hinzugefügt" #: bookwyrm/templates/notifications.html:102 #, python-format msgid "" " suggested adding %(book_title)s to " "your list \"%(list_name)s\"" -msgstr "" +msgstr "hat %(book_title)s für deine Liste \"%(list_name)s\" vorgeschlagen" #: bookwyrm/templates/notifications.html:106 #, python-format msgid " your import completed." -msgstr "" +msgstr " dein Import ist abgeschlossen." #: bookwyrm/templates/notifications.html:138 msgid "You're all caught up!" From 46710b23e14a7846e9da26ed74be7a3db61d2237 Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 21:49:55 +0100 Subject: [PATCH 044/111] up to 1345 --- locale/de_DE/LC_MESSAGES/django.po | 161 +++++++++++++++-------------- 1 file changed, 81 insertions(+), 80 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index f847cf595..968ebb52f 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -902,63 +902,63 @@ msgstr " dein Import ist abgeschlossen." #: bookwyrm/templates/notifications.html:138 msgid "You're all caught up!" -msgstr "" +msgstr "Du bist auf dem neusten Stand!" #: bookwyrm/templates/password_reset.html:4 #: bookwyrm/templates/password_reset.html:10 #: bookwyrm/templates/password_reset_request.html:4 #: bookwyrm/templates/password_reset_request.html:10 msgid "Reset Password" -msgstr "" +msgstr "Passwort zurücksetzen!" #: bookwyrm/templates/password_reset.html:23 #: bookwyrm/templates/preferences/change_password.html:18 msgid "Confirm password:" -msgstr "" +msgstr "Passwort bestätigen:" #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" -msgstr "" +msgstr "Bestätigen" #: bookwyrm/templates/password_reset_request.html:12 msgid "A link to reset your password will be sent to your email address" -msgstr "" +msgstr "Ein Link zum Zurücksetzen deines Passworts wird an deine Mailadresse geschickt" #: bookwyrm/templates/password_reset_request.html:16 #: bookwyrm/templates/preferences/edit_user.html:38 #: bookwyrm/templates/snippets/register_form.html:13 msgid "Email address:" -msgstr "" +msgstr "E-Mail Adresse" #: bookwyrm/templates/password_reset_request.html:23 msgid "Reset password" -msgstr "" +msgstr "Passwort zurücksetzen" #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 #: bookwyrm/templates/preferences/preferences_layout.html:23 msgid "Blocked Users" -msgstr "" +msgstr "Blockierte Nutzer*innen" #: bookwyrm/templates/preferences/blocks.html:12 msgid "No users currently blocked." -msgstr "" +msgstr "Momentan keine Nutzer*innen blockiert." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 #: bookwyrm/templates/preferences/change_password.html:21 #: bookwyrm/templates/preferences/preferences_layout.html:17 msgid "Change Password" -msgstr "" +msgstr "Passwort ändern" #: bookwyrm/templates/preferences/change_password.html:14 msgid "New password:" -msgstr "" +msgstr "Neues Passwort:" #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 msgid "Edit Profile" -msgstr "" +msgstr "Profil bearbeiten:" #: bookwyrm/templates/preferences/edit_user.html:17 msgid "Avatar:" @@ -966,15 +966,15 @@ msgstr "" #: bookwyrm/templates/preferences/edit_user.html:24 msgid "Display name:" -msgstr "" +msgstr "Displayname:" #: bookwyrm/templates/preferences/edit_user.html:31 msgid "Summary:" -msgstr "" +msgstr "Zusammenfassung:" #: bookwyrm/templates/preferences/edit_user.html:46 msgid "Manually approve followers:" -msgstr "" +msgstr "Folgende manuell bestätigen" #: bookwyrm/templates/preferences/preferences_layout.html:11 msgid "Account" @@ -982,55 +982,55 @@ msgstr "" #: bookwyrm/templates/preferences/preferences_layout.html:20 msgid "Relationships" -msgstr "" +msgstr "Beziehungen" #: bookwyrm/templates/search_results.html:4 msgid "Search Results" -msgstr "" +msgstr "Suchergebnisse" #: bookwyrm/templates/search_results.html:9 #, python-format msgid "Search Results for \"%(query)s\"" -msgstr "" +msgstr "Suchergebnisse für \"%(query)s\"" #: bookwyrm/templates/search_results.html:14 msgid "Matching Books" -msgstr "" +msgstr "Passende Bücher" #: bookwyrm/templates/search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" -msgstr "" +msgstr "Keine Bücher für \"%(query)s\" gefunden" #: bookwyrm/templates/search_results.html:33 msgid "Didn't find what you were looking for?" -msgstr "" +msgstr "Nicht gefunden, wonach du gesucht hast?" #: bookwyrm/templates/search_results.html:35 msgid "Show results from other catalogues" -msgstr "" +msgstr "Ergebnisse aus anderen Katalogen zeigen" #: bookwyrm/templates/search_results.html:57 msgid "Import book" -msgstr "" +msgstr "Buch importieren" #: bookwyrm/templates/search_results.html:67 msgid "Hide results from other catalogues" -msgstr "" +msgstr "Ergebnisse aus anderen Katalogen ausblenden" #: bookwyrm/templates/search_results.html:75 msgid "Matching Users" -msgstr "" +msgstr "Passende Nutzer*innen" #: bookwyrm/templates/search_results.html:77 #, python-format msgid "No users found for \"%(query)s\"" -msgstr "" +msgstr "Keine Nutzer*innen für \"%(query)s\" gefunden" #: bookwyrm/templates/search_results.html:92 #, python-format msgid "No lists found for \"%(query)s\"" -msgstr "" +msgstr "Keine Liste für \"%(query)s\" gefunden" #: bookwyrm/templates/settings/admin_layout.html:4 msgid "Administration" @@ -1038,46 +1038,46 @@ msgstr "" #: bookwyrm/templates/settings/admin_layout.html:15 msgid "Manage Users" -msgstr "" +msgstr "Nutzer*innen verwalten" #: bookwyrm/templates/settings/admin_layout.html:23 #: bookwyrm/templates/settings/federation.html:4 msgid "Federated Servers" -msgstr "" +msgstr "Föderierende Server" #: bookwyrm/templates/settings/admin_layout.html:28 msgid "Instance Settings" -msgstr "" +msgstr "Instanzeinstellungen" #: bookwyrm/templates/settings/admin_layout.html:32 #: bookwyrm/templates/settings/site.html:4 #: bookwyrm/templates/settings/site.html:6 msgid "Site Settings" -msgstr "" +msgstr "Seiteneinstellungen" #: bookwyrm/templates/settings/admin_layout.html:35 #: bookwyrm/templates/settings/site.html:13 msgid "Instance Info" -msgstr "" +msgstr "Instanzinformationen" #: bookwyrm/templates/settings/admin_layout.html:36 #: bookwyrm/templates/settings/site.html:39 msgid "Images" -msgstr "" +msgstr "Bilder" #: bookwyrm/templates/settings/admin_layout.html:37 #: bookwyrm/templates/settings/site.html:59 msgid "Footer Content" -msgstr "" +msgstr "Inhalt des Footers" #: bookwyrm/templates/settings/admin_layout.html:38 #: bookwyrm/templates/settings/site.html:77 msgid "Registration" -msgstr "" +msgstr "Registrierung" #: bookwyrm/templates/settings/federation.html:10 msgid "Server name" -msgstr "" +msgstr "Servername" #: bookwyrm/templates/settings/federation.html:11 msgid "Software" @@ -1089,19 +1089,19 @@ msgstr "" #: bookwyrm/templates/settings/manage_invites.html:7 msgid "Generate New Invite" -msgstr "" +msgstr "Neue Einladung erzeugen" #: bookwyrm/templates/settings/manage_invites.html:13 msgid "Expiry:" -msgstr "" +msgstr "Ablaufen:" #: bookwyrm/templates/settings/manage_invites.html:19 msgid "Use limit:" -msgstr "" +msgstr "Begrenzte Benutzung" #: bookwyrm/templates/settings/manage_invites.html:26 msgid "Create Invite" -msgstr "" +msgstr "Einladung erstellen" #: bookwyrm/templates/settings/manage_invites.html:33 msgid "Link" @@ -1109,23 +1109,23 @@ msgstr "" #: bookwyrm/templates/settings/manage_invites.html:34 msgid "Expires" -msgstr "" +msgstr "Läuft aus" #: bookwyrm/templates/settings/manage_invites.html:35 msgid "Max uses" -msgstr "" +msgstr "Maximale Benutzungen" #: bookwyrm/templates/settings/manage_invites.html:36 msgid "Times used" -msgstr "" +msgstr "Mal benutzt" #: bookwyrm/templates/settings/manage_invites.html:39 msgid "No active invites" -msgstr "" +msgstr "Keine aktiven Einladungen" #: bookwyrm/templates/settings/site.html:15 msgid "Instance Name:" -msgstr "" +msgstr "Instanzname" #: bookwyrm/templates/settings/site.html:19 msgid "Tagline:" @@ -1133,7 +1133,7 @@ msgstr "" #: bookwyrm/templates/settings/site.html:23 msgid "Instance description:" -msgstr "" +msgstr "Instanzbeschreibung" #: bookwyrm/templates/settings/site.html:27 msgid "Code of conduct:" @@ -1141,7 +1141,7 @@ msgstr "" #: bookwyrm/templates/settings/site.html:31 msgid "Privacy Policy:" -msgstr "" +msgstr "Datenschutzerklärung" #: bookwyrm/templates/settings/site.html:42 msgid "Logo:" @@ -1149,7 +1149,7 @@ msgstr "" #: bookwyrm/templates/settings/site.html:46 msgid "Logo small:" -msgstr "" +msgstr "Logo klein" #: bookwyrm/templates/settings/site.html:50 msgid "Favicon:" @@ -1157,11 +1157,11 @@ msgstr "" #: bookwyrm/templates/settings/site.html:61 msgid "Support link:" -msgstr "" +msgstr "Unterstützungslink" #: bookwyrm/templates/settings/site.html:65 msgid "Support title:" -msgstr "" +msgstr "Unterstützungstitel" #: bookwyrm/templates/settings/site.html:69 msgid "Admin email:" @@ -1169,11 +1169,11 @@ msgstr "" #: bookwyrm/templates/settings/site.html:79 msgid "Allow registration:" -msgstr "" +msgstr "Registrierungen erlauben" #: bookwyrm/templates/settings/site.html:83 msgid "Registration closed text:" -msgstr "" +msgstr "Registrierungen geschlossen text" #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" @@ -1186,40 +1186,40 @@ msgstr "" #: bookwyrm/templates/snippets/book_titleby.html:3 #, python-format msgid "%(title)s by " -msgstr "" +msgstr "%(title)s von" #: bookwyrm/templates/snippets/boost_button.html:8 #: bookwyrm/templates/snippets/boost_button.html:9 #: bookwyrm/templates/snippets/status/status_body.html:41 #: bookwyrm/templates/snippets/status/status_body.html:42 msgid "Boost status" -msgstr "" +msgstr "Status teilen" #: bookwyrm/templates/snippets/boost_button.html:16 #: bookwyrm/templates/snippets/boost_button.html:17 msgid "Un-boost status" -msgstr "" +msgstr "Teilen zurücknehmen" #: bookwyrm/templates/snippets/content_warning_field.html:3 msgid "Spoiler alert:" -msgstr "" +msgstr "Spoileralarm:" #: bookwyrm/templates/snippets/content_warning_field.html:4 msgid "Spoilers ahead!" -msgstr "" +msgstr "Spoileralarm!" #: bookwyrm/templates/snippets/create_status.html:9 msgid "Review" -msgstr "" +msgstr "Bewerten" #: bookwyrm/templates/snippets/create_status.html:12 #: bookwyrm/templates/snippets/create_status_form.html:44 msgid "Comment" -msgstr "" +msgstr "Kommentieren" #: bookwyrm/templates/snippets/create_status.html:15 msgid "Quote" -msgstr "" +msgstr "Zitieren" #: bookwyrm/templates/snippets/create_status_form.html:21 #: bookwyrm/templates/snippets/shelf.html:17 @@ -1234,14 +1234,14 @@ msgstr "" #: bookwyrm/templates/snippets/create_status_form.html:54 msgid "Include spoiler alert" -msgstr "" +msgstr "Spoileralarm aktivieren" #: bookwyrm/templates/snippets/create_status_form.html:60 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 #: bookwyrm/templates/snippets/privacy_select.html:19 msgid "Private" -msgstr "" +msgstr "Privat" #: bookwyrm/templates/snippets/create_status_form.html:67 msgid "Post" @@ -1249,51 +1249,51 @@ msgstr "" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:4 msgid "Delete these read dates?" -msgstr "" +msgstr "Diese Lesedaten löschen?" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:7 #, python-format msgid "" "You are deleting this readthrough and its %(count)s associated progress " "updates." -msgstr "" +msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates." #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 #: bookwyrm/templates/snippets/follow_request_buttons.html:13 msgid "Delete" -msgstr "" +msgstr "Löschen" #: bookwyrm/templates/snippets/fav_button.html:7 #: bookwyrm/templates/snippets/fav_button.html:8 #: bookwyrm/templates/snippets/status/status_body.html:45 #: bookwyrm/templates/snippets/status/status_body.html:46 msgid "Like status" -msgstr "" +msgstr "Status favorisieren" #: bookwyrm/templates/snippets/fav_button.html:15 #: bookwyrm/templates/snippets/fav_button.html:16 msgid "Un-like status" -msgstr "" +msgstr "Favorisieren zurücknehmen" #: bookwyrm/templates/snippets/follow_button.html:6 msgid "Follow request already sent." -msgstr "" +msgstr "Folgeanfrage bereits gesendet." #: bookwyrm/templates/snippets/follow_button.html:19 msgid "Send follow request" -msgstr "" +msgstr "Folgeanfrage senden" #: bookwyrm/templates/snippets/follow_button.html:21 msgid "Follow" -msgstr "" +msgstr "Folgen" #: bookwyrm/templates/snippets/follow_button.html:27 msgid "Unfollow" -msgstr "" +msgstr "Entfolgen" #: bookwyrm/templates/snippets/follow_request_buttons.html:8 msgid "Accept" -msgstr "" +msgstr "Annehmen" #: bookwyrm/templates/snippets/generated_status/goal.html:1 #, python-format @@ -1304,41 +1304,42 @@ msgstr[1] "" #: bookwyrm/templates/snippets/goal_card.html:21 msgid "Dismiss message" -msgstr "" +msgstr "Nachricht verwerfen" #: bookwyrm/templates/snippets/goal_card.html:22 #, python-format msgid "" "You can set or change your reading goal any time from your profile page" -msgstr "" +msgstr "Du kannst dein Leseziel jederzeit auf deiner Profilseite setzen oder ändern." #: bookwyrm/templates/snippets/goal_form.html:9 msgid "Reading goal:" -msgstr "" +msgstr "Leseziel:" #: bookwyrm/templates/snippets/goal_form.html:14 msgid "books" -msgstr "" +msgstr "Bücher" #: bookwyrm/templates/snippets/goal_form.html:19 msgid "Goal privacy:" -msgstr "" +msgstr "Sichtbarkeit des Ziels" #: bookwyrm/templates/snippets/goal_form.html:26 #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:37 #: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:29 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:20 msgid "Post to feed" -msgstr "" +msgstr "Posten" #: bookwyrm/templates/snippets/goal_form.html:30 msgid "Set goal" -msgstr "" +msgstr "Ziel setzen" #: bookwyrm/templates/snippets/goal_progress.html:5 msgid "Success!" -msgstr "" +msgstr "Erfolg!" #: bookwyrm/templates/snippets/goal_progress.html:7 #, python-format From f028df4691b2818e827354740de9857eef914539 Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 22:03:29 +0100 Subject: [PATCH 045/111] Finished translation except for some non intuitive ones --- locale/de_DE/LC_MESSAGES/django.po | 173 +++++++++++++++-------------- 1 file changed, 87 insertions(+), 86 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 968ebb52f..242d7afd2 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -1344,44 +1344,45 @@ msgstr "Erfolg!" #: bookwyrm/templates/snippets/goal_progress.html:7 #, python-format msgid "%(percent)s%% complete!" -msgstr "" +msgstr "%(percent)s%% komplett!" #: bookwyrm/templates/snippets/goal_progress.html:10 #, python-format msgid "" "You've read %(read_count)s of %(goal_count)s books." -msgstr "" +msgstr "Du hast %(read_count)s von %(goal_count)s Büchern gelesen." #: bookwyrm/templates/snippets/goal_progress.html:12 #, python-format msgid "" "%(username)s has read %(read_count)s of %(goal_count)s " "books." -msgstr "" +msgstr "%(username)s hat %(read_count)s von %(goal_count)s " +"Büchern gelesen." #: bookwyrm/templates/snippets/pagination.html:7 msgid "Previous" -msgstr "" +msgstr "Vorher" #: bookwyrm/templates/snippets/pagination.html:15 msgid "Next" -msgstr "" +msgstr "Danach" #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:10 msgid "Public" -msgstr "" +msgstr "Öffentlich" #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:13 msgid "Unlisted" -msgstr "" +msgstr "Ungelistet" #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" -msgstr "" +msgstr "Nur für Folgende" #: bookwyrm/templates/snippets/privacy_select.html:6 msgid "Post privacy" @@ -1390,30 +1391,30 @@ msgstr "" #: bookwyrm/templates/snippets/privacy_select.html:16 #: bookwyrm/templates/user/followers.html:13 msgid "Followers" -msgstr "" +msgstr "Folgende" #: bookwyrm/templates/snippets/progress_update.html:6 msgid "Progress:" -msgstr "" +msgstr "Fortschritt:" #: bookwyrm/templates/snippets/progress_update.html:16 #: bookwyrm/templates/snippets/readthrough_form.html:22 msgid "pages" -msgstr "" +msgstr "Seiten" #: bookwyrm/templates/snippets/progress_update.html:17 #: bookwyrm/templates/snippets/readthrough_form.html:23 msgid "percent" -msgstr "" +msgstr "Prozent" #: bookwyrm/templates/snippets/progress_update.html:25 #, python-format msgid "of %(book.pages)s pages" -msgstr "" +msgstr "von %(book.pages)s Seiten" #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" -msgstr "" +msgstr "Raten" #: bookwyrm/templates/snippets/rate_action.html:29 msgid "Rate" @@ -1421,51 +1422,51 @@ msgstr "" #: bookwyrm/templates/snippets/readthrough.html:7 msgid "Progress Updates:" -msgstr "" +msgstr "Fortschrittsupdates:" #: bookwyrm/templates/snippets/readthrough.html:11 msgid "finished" -msgstr "" +msgstr "beendet" #: bookwyrm/templates/snippets/readthrough.html:14 msgid "Show all updates" -msgstr "" +msgstr "Zeige alle Updates" #: bookwyrm/templates/snippets/readthrough.html:30 msgid "Delete this progress update" -msgstr "" +msgstr "Dieses Fortschrittsupdate löschen" #: bookwyrm/templates/snippets/readthrough.html:40 msgid "started" -msgstr "" +msgstr "Angefangen" #: bookwyrm/templates/snippets/readthrough.html:46 #: bookwyrm/templates/snippets/readthrough.html:60 msgid "Edit read dates" -msgstr "" +msgstr "Lesedaten bearbeiten" #: bookwyrm/templates/snippets/readthrough.html:50 msgid "Delete these read dates" -msgstr "" +msgstr "Diese Lesedaten löschen" #: bookwyrm/templates/snippets/readthrough_form.html:7 #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:19 #: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:17 msgid "Started reading" -msgstr "" +msgstr "Zu lesen angefangen" #: bookwyrm/templates/snippets/readthrough_form.html:14 msgid "Progress" -msgstr "" +msgstr "Fortschritt" #: bookwyrm/templates/snippets/readthrough_form.html:30 #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:25 msgid "Finished reading" -msgstr "" +msgstr "Lesen beendet" #: bookwyrm/templates/snippets/register_form.html:32 msgid "Sign Up" -msgstr "" +msgstr "Registrieren" #: bookwyrm/templates/snippets/rss_title.html:5 #: bookwyrm/templates/snippets/status/status_header.html:9 @@ -1475,42 +1476,42 @@ msgstr "" #: bookwyrm/templates/snippets/rss_title.html:7 #: bookwyrm/templates/snippets/status/status_header.html:11 msgid "reviewed" -msgstr "" +msgstr "bewertet" #: bookwyrm/templates/snippets/rss_title.html:9 #: bookwyrm/templates/snippets/status/status_header.html:13 msgid "commented on" -msgstr "" +msgstr "kommentiert zu" #: bookwyrm/templates/snippets/rss_title.html:11 #: bookwyrm/templates/snippets/status/status_header.html:15 msgid "quoted" -msgstr "" +msgstr "zitiert" #: bookwyrm/templates/snippets/search_result_text.html:3 #, python-format msgid "by %(author)s" -msgstr "" +msgstr "von %(author)s" #: bookwyrm/templates/snippets/shelf.html:12 msgid "Published" -msgstr "" +msgstr "Veröffentlicht" #: bookwyrm/templates/snippets/shelf.html:13 msgid "Shelved" -msgstr "" +msgstr "Ins Regal gestellt" #: bookwyrm/templates/snippets/shelf.html:14 msgid "Started" -msgstr "" +msgstr "Gestartet" #: bookwyrm/templates/snippets/shelf.html:15 msgid "Finished" -msgstr "" +msgstr "Beendet" #: bookwyrm/templates/snippets/shelf.html:16 msgid "External links" -msgstr "" +msgstr "Eterne Links" #: bookwyrm/templates/snippets/shelf.html:44 msgid "OpenLibrary" @@ -1518,200 +1519,200 @@ msgstr "" #: bookwyrm/templates/snippets/shelf.html:61 msgid "This shelf is empty." -msgstr "" +msgstr "Dieses Regal ist leer." #: bookwyrm/templates/snippets/shelf.html:67 msgid "Delete shelf" -msgstr "" +msgstr "Regal löschen" #: bookwyrm/templates/snippets/shelf_selector.html:4 msgid "Change shelf" -msgstr "" +msgstr "Regal wechseln" #: bookwyrm/templates/snippets/shelf_selector.html:27 msgid "Unshelve" -msgstr "" +msgstr "Vom Regal nehmen" #: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5 #, python-format msgid "Finish \"%(book_title)s\"" -msgstr "" +msgstr "\"%(book_title)s\" beenden" #: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown.html:5 msgid "More shelves" -msgstr "" +msgstr "Mehr Regale" #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:8 msgid "Start reading" -msgstr "" +msgstr "Zu lesen beginnen" #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 msgid "Read" -msgstr "" +msgstr "Lesen" #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 msgid "Finish reading" -msgstr "" +msgstr "Lesen beenden" #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:26 msgid "Want to read" -msgstr "" +msgstr "Auf Leseliste setzen" #: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5 #, python-format msgid "Start \"%(book_title)s\"" -msgstr "" +msgstr "\"%(book_title)s\" beginnen" #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" -msgstr "" +msgstr "\"%(book_title)s\" auf Leseliste setzen" #: bookwyrm/templates/snippets/status/status.html:7 msgid "boosted" -msgstr "" +msgstr "geteilt" #: bookwyrm/templates/snippets/status/status_body.html:24 #: bookwyrm/templates/snippets/status/status_body.html:37 #: bookwyrm/templates/snippets/status/status_body.html:38 msgid "Reply" -msgstr "" +msgstr "Antwort" #: bookwyrm/templates/snippets/status/status_content.html:16 #: bookwyrm/templates/snippets/trimmed_text.html:12 msgid "Show more" -msgstr "" +msgstr "Mehr anzeigen" #: bookwyrm/templates/snippets/status/status_content.html:23 #: bookwyrm/templates/snippets/trimmed_text.html:18 msgid "Show less" -msgstr "" +msgstr "Weniger anzeigen" #: bookwyrm/templates/snippets/status/status_content.html:44 msgid "Open image in new window" -msgstr "" +msgstr "Bild in neuem Fenster öffnen" #: bookwyrm/templates/snippets/status/status_options.html:7 #: bookwyrm/templates/snippets/user_options.html:7 msgid "More options" -msgstr "" +msgstr "Mehr Optionen" #: bookwyrm/templates/snippets/status/status_options.html:17 msgid "Delete post" -msgstr "" +msgstr "Post löschen" #: bookwyrm/templates/snippets/status/status_options.html:23 #: bookwyrm/templates/snippets/user_options.html:13 msgid "Send direct message" -msgstr "" +msgstr "Direktnachricht senden" #: bookwyrm/templates/snippets/switch_edition_button.html:5 msgid "Switch to this edition" -msgstr "" +msgstr "Zu dieser Edition wechseln" #: bookwyrm/templates/snippets/tag.html:14 msgid "Remove tag" -msgstr "" +msgstr "Tag entfernen" #: bookwyrm/templates/tag.html:9 #, python-format msgid "Books tagged \"%(tag.name)s\"" -msgstr "" +msgstr "Mit \"%(tag.name)s\" markierte Bücher" #: bookwyrm/templates/user/create_shelf_form.html:5 msgid "Create New Shelf" -msgstr "" +msgstr "Neues Regal erstellen" #: bookwyrm/templates/user/create_shelf_form.html:22 #: bookwyrm/templates/user/shelf.html:33 msgid "Create shelf" -msgstr "" +msgstr "Regal erstellen" #: bookwyrm/templates/user/edit_shelf_form.html:5 msgid "Edit Shelf" -msgstr "" +msgstr "Regal bearbeiten" #: bookwyrm/templates/user/edit_shelf_form.html:26 msgid "Update shelf" -msgstr "" +msgstr "Regal aktualisieren" #: bookwyrm/templates/user/followers.html:7 #: bookwyrm/templates/user/following.html:7 bookwyrm/templates/user/user.html:9 msgid "User Profile" -msgstr "" +msgstr "Benutzerprofil" #: bookwyrm/templates/user/followers.html:26 #, python-format msgid "%(username)s has no followers" -msgstr "" +msgstr "niemand folgt %(username)s " #: bookwyrm/templates/user/following.html:13 msgid "Following" -msgstr "" +msgstr "Folgend" #: bookwyrm/templates/user/following.html:26 #, python-format msgid "%(username)s isn't following any users" -msgstr "" +msgstr "%(username)s folgt niemandem" #: bookwyrm/templates/user/lists.html:9 msgid "Your Lists" -msgstr "" +msgstr "Deine Listen" #: bookwyrm/templates/user/lists.html:11 #, python-format msgid "Lists: %(username)s" -msgstr "" +msgstr "Listen: %(username)s" #: bookwyrm/templates/user/lists.html:17 msgid "Create new list" -msgstr "" +msgstr "Neue Liste erstellen" #: bookwyrm/templates/user/lists.html:29 msgid "Create list" -msgstr "" +msgstr "Liste Erstellen" #: bookwyrm/templates/user/shelf.html:9 msgid "Your Shelves" -msgstr "" +msgstr "Deine Regale" #: bookwyrm/templates/user/shelf.html:11 #, python-format msgid "%(username)s: Shelves" -msgstr "" +msgstr "%(username)s: Regale" #: bookwyrm/templates/user/shelf.html:54 msgid "Edit shelf" -msgstr "" +msgstr "Regal bearbeiten" #: bookwyrm/templates/user/user.html:15 msgid "Edit profile" -msgstr "" +msgstr "Profil bearbeiten" #: bookwyrm/templates/user/user.html:26 #: bookwyrm/templates/user/user_layout.html:68 msgid "Shelves" -msgstr "" +msgstr "Regale" #: bookwyrm/templates/user/user.html:31 #, python-format msgid "See all %(size)s" -msgstr "" +msgstr "Alle %(size)s anzeigen" #: bookwyrm/templates/user/user.html:44 #, python-format msgid "See all %(shelf_count)s shelves" -msgstr "" +msgstr "Alle %(shelf_count)s Regale anzeigen" #: bookwyrm/templates/user/user.html:56 #, python-format msgid "Set a reading goal for %(year)s" -msgstr "" +msgstr "Leseziel für %(year)s setzen" #: bookwyrm/templates/user/user.html:62 msgid "User Activity" -msgstr "" +msgstr "Nutzer*innenaktivität" #: bookwyrm/templates/user/user.html:65 msgid "RSS feed" @@ -1719,33 +1720,33 @@ msgstr "" #: bookwyrm/templates/user/user.html:76 msgid "No activities yet!" -msgstr "" +msgstr "Noch keine Aktivitäten!" #: bookwyrm/templates/user/user_layout.html:32 msgid "Follow Requests" -msgstr "" +msgstr "Folgeanfragen" #: bookwyrm/templates/user/user_layout.html:50 msgid "Activity" -msgstr "" +msgstr "Aktivität" #: bookwyrm/templates/user/user_layout.html:56 msgid "Reading Goal" -msgstr "" +msgstr "Leseziel" #: bookwyrm/templates/user/user_preview.html:13 #, python-format msgid "Joined %(date)s" -msgstr "" +msgstr "Beigetreten %(date)s" #: bookwyrm/templates/user/user_preview.html:15 #, python-format msgid "%(counter)s follower" msgid_plural "%(counter)s followers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(counter)s Folgende*r" +msgstr[1] "%(counter)s Folgende" #: bookwyrm/templates/user/user_preview.html:16 #, python-format msgid "%(counter)s following" -msgstr "" +msgstr "%(counter)s folgen" From 1777e98a232b21ca3e0e79b3118edd7938211f6b Mon Sep 17 00:00:00 2001 From: tofuwabohu Date: Tue, 2 Mar 2021 22:12:04 +0100 Subject: [PATCH 046/111] 2 more translations --- locale/de_DE/LC_MESSAGES/django.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 242d7afd2..8d0b9375d 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -157,7 +157,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:6 msgid "Recent Books" -msgstr "" +msgstr "Aktive Bücher" #: bookwyrm/templates/discover/landing_layout.html:5 msgid "Welcome" @@ -1299,8 +1299,8 @@ msgstr "Annehmen" #, python-format msgid "set a goal to read %(counter)s book in %(year)s" msgid_plural "set a goal to read %(counter)s books in %(year)s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Setze das Ziel, %(year)s %(counter)s Buch zu lesen" +msgstr[1] "Setze das Ziel, %(year)s %(counter)s Bücher zu lesen" #: bookwyrm/templates/snippets/goal_card.html:21 msgid "Dismiss message" From caed268227185d2a391108b677b0883d931a8133 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 13:36:30 -0800 Subject: [PATCH 047/111] Adds german language to settings --- bookwyrm/settings.py | 1 + locale/de_DE/LC_MESSAGES/django.po | 348 ++++++++++++++++++----------- locale/en_US/LC_MESSAGES/django.po | 8 +- locale/fr_FR/LC_MESSAGES/django.po | 8 +- locale/zh_CN/LC_MESSAGES/django.po | 8 +- 5 files changed, 232 insertions(+), 141 deletions(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 6c3bb7d20..499e72a76 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -140,6 +140,7 @@ AUTH_PASSWORD_VALIDATORS = [ LANGUAGE_CODE = 'en-us' LANGUAGES = [ ('en-us', _('English')), + ('de-de', _('German')), ('fr-fr', _('French')), ('zh-cn', _('Simplified Chinese')), ] diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 8d0b9375d..e45532117 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 09:32-0800\n" +"POT-Creation-Date: 2021-03-02 21:36+0000\n" "PO-Revision-Date: 2021-03-02 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,6 +18,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: bookwyrm/forms.py:185 +msgid "One Day" +msgstr "" + +#: bookwyrm/forms.py:186 +msgid "One Week" +msgstr "" + +#: bookwyrm/forms.py:187 +msgid "One Month" +msgstr "" + +#: bookwyrm/forms.py:188 +msgid "Does Not Expire" +msgstr "" + +#: bookwyrm/forms.py:190 +#, python-format +msgid "%(count)d uses" +msgstr "" + +#: bookwyrm/forms.py:192 +#, fuzzy +#| msgid "Unlisted" +msgid "Unlimited" +msgstr "Ungelistet" + +#: bookwyrm/models/fields.py:24 +#, python-format +msgid "%(value)s is not a valid remote_id" +msgstr "" + +#: bookwyrm/models/fields.py:33 bookwyrm/models/fields.py:42 +#, python-format +msgid "%(value)s is not a valid username" +msgstr "" + +#: bookwyrm/models/fields.py:164 +#, fuzzy +#| msgid "Server name" +msgid "username" +msgstr "Servername" + +#: bookwyrm/models/fields.py:169 +msgid "A user with that username already exists." +msgstr "" + +#: bookwyrm/settings.py:142 +msgid "English" +msgstr "" + +#: bookwyrm/settings.py:143 +msgid "German" +msgstr "" + +#: bookwyrm/settings.py:144 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:145 +msgid "Simplified Chinese" +msgstr "" + #: bookwyrm/templates/author.html:16 bookwyrm/templates/author.html:17 #: bookwyrm/templates/edit_author.html:5 msgid "Edit Author" @@ -32,6 +95,10 @@ msgstr "" msgid "Books by %(name)s" msgstr "Bücher von %(name)s" +#: bookwyrm/templates/book.html:21 +msgid "by" +msgstr "" + #: bookwyrm/templates/book.html:29 bookwyrm/templates/book.html:30 #: bookwyrm/templates/edit_book.html:5 msgid "Edit Book" @@ -57,20 +124,39 @@ msgstr "OCLC Nummer:" msgid "ASIN:" msgstr "" +#: bookwyrm/templates/book.html:84 +#, fuzzy, python-format +#| msgid "of %(book.pages)s pages" +msgid "%(format)s, %(pages)s pages" +msgstr "von %(book.pages)s Seiten" + #: bookwyrm/templates/book.html:86 +#, fuzzy, python-format +#| msgid "of %(book.pages)s pages" +msgid "%(pages)s pages" +msgstr "von %(book.pages)s Seiten" + +#: bookwyrm/templates/book.html:91 msgid "View on OpenLibrary" msgstr "In OpenLibrary ansehen" -#: bookwyrm/templates/book.html:98 +#: bookwyrm/templates/book.html:100 +#, python-format +msgid "(%(review_count)s review)" +msgid_plural "(%(review_count)s reviews)" +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/book.html:106 msgid "Add Description" msgstr "Beschreibung hinzufügen" -#: bookwyrm/templates/book.html:105 bookwyrm/templates/edit_book.html:39 +#: bookwyrm/templates/book.html:113 bookwyrm/templates/edit_book.html:39 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Beschreibung:" -#: bookwyrm/templates/book.html:109 bookwyrm/templates/edit_author.html:78 +#: bookwyrm/templates/book.html:117 bookwyrm/templates/edit_author.html:78 #: bookwyrm/templates/edit_book.html:120 bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:50 #: bookwyrm/templates/settings/site.html:89 @@ -81,7 +167,7 @@ msgstr "Beschreibung:" msgid "Save" msgstr "Speichern" -#: bookwyrm/templates/book.html:110 bookwyrm/templates/book.html:159 +#: bookwyrm/templates/book.html:118 bookwyrm/templates/book.html:167 #: bookwyrm/templates/edit_author.html:79 bookwyrm/templates/edit_book.html:121 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 #: bookwyrm/templates/snippets/goal_form.html:32 @@ -92,51 +178,69 @@ msgstr "Speichern" msgid "Cancel" msgstr "Abbrechen" -#: bookwyrm/templates/book.html:142 +#: bookwyrm/templates/book.html:127 +#, fuzzy, python-format +#| msgid "%(title)s by " +msgid "%(count)s editions" +msgstr "%(title)s von" + +#: bookwyrm/templates/book.html:135 +#, fuzzy, python-format +#| msgid "Direct Messages with %(username)s" +msgid "This edition is on your %(shelf_name)s shelf." +msgstr "Direktnachrichten mit %(username)s" + +#: bookwyrm/templates/book.html:141 +#, fuzzy, python-format +#| msgid " added %(book_title)s to your list \"%(list_name)s\"" +msgid "A different edition of this book is on your %(shelf_name)s shelf." +msgstr "hat %(book_title)s zu deiner Liste \"%(list_name)s\" Hinzugefügt" + +#: bookwyrm/templates/book.html:150 msgid "Your reading activity" msgstr "Deine Leseaktivität" -#: bookwyrm/templates/book.html:144 +#: bookwyrm/templates/book.html:152 msgid "Add read dates" msgstr "Lesedaten hinzufügen" -#: bookwyrm/templates/book.html:149 +#: bookwyrm/templates/book.html:157 msgid "You don't have any reading activity for this book." msgstr "Du hast keine Leseaktivität für dieses Buch." -#: bookwyrm/templates/book.html:156 +#: bookwyrm/templates/book.html:164 msgid "Create" msgstr "Erstellen" -#: bookwyrm/templates/book.html:178 +#: bookwyrm/templates/book.html:186 msgid "Tags" msgstr "" -#: bookwyrm/templates/book.html:182 bookwyrm/templates/snippets/tag.html:18 +#: bookwyrm/templates/book.html:190 bookwyrm/templates/snippets/tag.html:18 msgid "Add tag" msgstr "Tag hinzufügen" -#: bookwyrm/templates/book.html:199 +#: bookwyrm/templates/book.html:207 msgid "Subjects" msgstr "Themen" -#: bookwyrm/templates/book.html:210 +#: bookwyrm/templates/book.html:218 msgid "Places" msgstr "Orte" -#: bookwyrm/templates/book.html:221 bookwyrm/templates/layout.html:64 +#: bookwyrm/templates/book.html:229 bookwyrm/templates/layout.html:64 #: bookwyrm/templates/lists/lists.html:4 bookwyrm/templates/lists/lists.html:9 #: bookwyrm/templates/search_results.html:90 #: bookwyrm/templates/user/user_layout.html:62 msgid "Lists" msgstr "Listen" -#: bookwyrm/templates/book.html:250 +#: bookwyrm/templates/book.html:258 msgid "rated it" msgstr "bewertet" #: bookwyrm/templates/components/inline_form.html:8 -#: bookwyrm/templates/feed/feed_layout.html:51 +#: bookwyrm/templates/feed/feed_layout.html:54 msgid "Close" msgstr "Schließen" @@ -341,15 +445,15 @@ msgstr "Du hast momentan keine Nachrichten." msgid "%(tab_title)s Timeline" msgstr "" -#: bookwyrm/templates/feed/feed.html:10 +#: bookwyrm/templates/feed/feed.html:10 bookwyrm/views/feed.py:33 msgid "Home" msgstr "" -#: bookwyrm/templates/feed/feed.html:13 +#: bookwyrm/templates/feed/feed.html:13 bookwyrm/views/feed.py:37 msgid "Local" msgstr "Lokal" -#: bookwyrm/templates/feed/feed.html:16 +#: bookwyrm/templates/feed/feed.html:16 bookwyrm/views/feed.py:41 msgid "Federated" msgstr "Föderiert" @@ -358,8 +462,7 @@ msgid "Announcements" msgstr "Ankündigungen" #: bookwyrm/templates/feed/feed.html:32 -msgid "" -"There aren't any activities right now! Try following a user to get started" +msgid "There aren't any activities right now! Try following a user to get started" msgstr "Hier sind noch keine Aktivitäten! Folge anderen, um loszulegen" #: bookwyrm/templates/feed/feed_layout.html:5 @@ -371,11 +474,30 @@ msgid "Your books" msgstr "Deine Bücher" #: bookwyrm/templates/feed/feed_layout.html:13 -msgid "" -"There are no books here right now! Try searching for a book to get started" +msgid "There are no books here right now! Try searching for a book to get started" msgstr "Hier sind noch keine Bücher! Versuche nach Büchern zu suchen um loszulegen" -#: bookwyrm/templates/feed/feed_layout.html:73 bookwyrm/templates/goal.html:26 +#: bookwyrm/templates/feed/feed_layout.html:23 +#: bookwyrm/templates/user/shelf.html:24 +#, fuzzy +#| msgid "Read" +msgid "To Read" +msgstr "Lesen" + +#: bookwyrm/templates/feed/feed_layout.html:24 +#: bookwyrm/templates/user/shelf.html:24 +#, fuzzy +#| msgid "Start reading" +msgid "Currently Reading" +msgstr "Zu lesen beginnen" + +#: bookwyrm/templates/feed/feed_layout.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 +#: bookwyrm/templates/user/shelf.html:24 +msgid "Read" +msgstr "Lesen" + +#: bookwyrm/templates/feed/feed_layout.html:76 bookwyrm/templates/goal.html:26 #: bookwyrm/templates/snippets/goal_card.html:6 #, python-format msgid "%(year)s Reading Goal" @@ -397,9 +519,7 @@ msgstr "Ziel bearbeiten" #: bookwyrm/templates/goal.html:30 #: bookwyrm/templates/snippets/goal_card.html:13 #, python-format -msgid "" -"Set a goal for how many books you'll finish reading in %(year)s, and track " -"your progress throughout the year." +msgid "Set a goal for how many books you'll finish reading in %(year)s, and track your progress throughout the year." msgstr "Setze dir ein Ziel, wie viele Bücher du %(year)s lesen wirst und behalte deinen Fortschritt über's Jahr im Auge." #: bookwyrm/templates/goal.html:39 @@ -590,11 +710,8 @@ msgid "Contact site admin" msgstr "Admin kontaktieren" #: bookwyrm/templates/layout.html:198 -msgid "" -"BookWyrm is open source software. You can contribute or report issues on GitHub." -msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." +msgid "BookWyrm is open source software. You can contribute or report issues on GitHub." +msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:17 @@ -663,8 +780,10 @@ msgid "This list is currently empty" msgstr "Diese Liste ist momentan leer" #: bookwyrm/templates/lists/list.html:35 -msgid "Added by" -msgstr "Hinzugefügt von" +#, fuzzy, python-format +#| msgid "Direct Messages with %(username)s" +msgid "Added by %(username)s" +msgstr "Direktnachrichten mit %(username)s" #: bookwyrm/templates/lists/list.html:41 msgid "Remove" @@ -717,6 +836,12 @@ msgstr "Erstellt von" msgid "Your lists" msgstr "Deine Listen" +#: bookwyrm/templates/lists/lists.html:32 +#, fuzzy, python-format +#| msgid "See all %(size)s" +msgid "See all %(size)s lists" +msgstr "Alle %(size)s anzeigen" + #: bookwyrm/templates/lists/lists.html:40 msgid "Recent Lists" msgstr "Aktuelle Listen" @@ -756,27 +881,18 @@ msgstr "Benachrichtigungen löschen" #: bookwyrm/templates/notifications.html:49 #, python-format -msgid "" -"favorited your review of %(book_title)s" -msgstr "hat deine Bewertung von %(book_title)s favorisiert" +msgid "favorited your review of %(book_title)s" +msgstr "hat deine Bewertung von %(book_title)s favorisiert" #: bookwyrm/templates/notifications.html:51 #, python-format -msgid "" -"favorited your comment on %(book_title)s" -msgstr "hat deinen Kommentar zu %(book_title)s favorisiert" +msgid "favorited your comment on %(book_title)s" +msgstr "hat deinen Kommentar zu %(book_title)s favorisiert" #: bookwyrm/templates/notifications.html:53 #, python-format -msgid "" -"favorited your quote from %(book_title)s" -msgstr " hat dein Zitat aus %(book_title)s" +msgid "favorited your quote from %(book_title)s" +msgstr " hat dein Zitat aus %(book_title)s" #: bookwyrm/templates/notifications.html:55 #, python-format @@ -785,27 +901,18 @@ msgstr "hat deinen Status favorisiert" #: bookwyrm/templates/notifications.html:60 #, python-format -msgid "" -"mentioned you in a review of " -"%(book_title)s" -msgstr "hat dich in einer Bewertung von " -"%(book_title)s erwähnt" +msgid "mentioned you in a review of %(book_title)s" +msgstr "hat dich in einer Bewertung von %(book_title)s erwähnt" #: bookwyrm/templates/notifications.html:62 #, python-format -msgid "" -"mentioned you in a comment on " -"%(book_title)s" -msgstr "hat dich in einem Kommentar zu " -"%(book_title)s erwähnt" +msgid "mentioned you in a comment on %(book_title)s" +msgstr "hat dich in einem Kommentar zu %(book_title)s erwähnt" #: bookwyrm/templates/notifications.html:64 #, python-format -msgid "" -"mentioned you in a quote from " -"%(book_title)s" -msgstr "hat dich in einem Zitat von " -"%(book_title)s erwähnt" +msgid "mentioned you in a quote from %(book_title)s" +msgstr "hat dich in einem Zitat von %(book_title)s erwähnt" #: bookwyrm/templates/notifications.html:66 #, python-format @@ -814,35 +921,23 @@ msgstr "hat dich in einem Status erwähnt" #: bookwyrm/templates/notifications.html:71 #, python-format -msgid "" -"replied to your review of %(book_title)s" -msgstr "hat auf deine Bewertung von %(book_title)s geantwortet " +msgid "replied to your review of %(book_title)s" +msgstr "hat auf deine Bewertung von %(book_title)s geantwortet " #: bookwyrm/templates/notifications.html:73 #, python-format -msgid "" -"replied to your comment on %(book_title)s" -msgstr "hat auf deinen Kommentar zu %(book_title)s geantwortet" +msgid "replied to your comment on %(book_title)s" +msgstr "hat auf deinen Kommentar zu %(book_title)s geantwortet" #: bookwyrm/templates/notifications.html:75 #, python-format -msgid "" -"replied to your quote from %(book_title)s" -msgstr "hat auf dein Zitat aus %(book_title)s geantwortet" +msgid "replied to your quote from %(book_title)s" +msgstr "hat auf dein Zitat aus %(book_title)s geantwortet" #: bookwyrm/templates/notifications.html:77 #, python-format -msgid "" -"replied to your status" -msgstr "hat auf deinen Status geantwortet" +msgid "replied to your status" +msgstr "hat auf deinen Status geantwortet" #: bookwyrm/templates/notifications.html:81 msgid "followed you" @@ -854,27 +949,18 @@ msgstr "hat dir eine Folgeanfrage geschickt" #: bookwyrm/templates/notifications.html:90 #, python-format -msgid "" -"boosted your review of %(book.title)s" -msgstr "hat deine Bewertung von %(book.title)s geteilt" +msgid "boosted your review of %(book.title)s" +msgstr "hat deine Bewertung von %(book.title)s geteilt" #: bookwyrm/templates/notifications.html:92 #, python-format -msgid "" -"boosted your comment on%(book.title)s" -msgstr "hat deinen Kommentar zu%(book.title)s geteilt" +msgid "boosted your comment on%(book.title)s" +msgstr "hat deinen Kommentar zu%(book.title)s geteilt" #: bookwyrm/templates/notifications.html:94 #, python-format -msgid "" -"boosted your quote from %(book.title)s" -msgstr "hat dein Zitat aus %(book.title)s geteilt" +msgid "boosted your quote from %(book.title)s" +msgstr "hat dein Zitat aus %(book.title)s geteilt" #: bookwyrm/templates/notifications.html:96 #, python-format @@ -883,16 +969,12 @@ msgstr "hat deinen Status geteilt" #: bookwyrm/templates/notifications.html:100 #, python-format -msgid "" -" added %(book_title)s to your list " -"\"%(list_name)s\"" +msgid " added %(book_title)s to your list \"%(list_name)s\"" msgstr "hat %(book_title)s zu deiner Liste \"%(list_name)s\" Hinzugefügt" #: bookwyrm/templates/notifications.html:102 #, python-format -msgid "" -" suggested adding %(book_title)s to " -"your list \"%(list_name)s\"" +msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" msgstr "hat %(book_title)s für deine Liste \"%(list_name)s\" vorgeschlagen" #: bookwyrm/templates/notifications.html:106 @@ -1253,9 +1335,7 @@ msgstr "Diese Lesedaten löschen?" #: bookwyrm/templates/snippets/delete_readthrough_modal.html:7 #, python-format -msgid "" -"You are deleting this readthrough and its %(count)s associated progress " -"updates." +msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates." #: bookwyrm/templates/snippets/delete_readthrough_modal.html:15 @@ -1308,11 +1388,8 @@ msgstr "Nachricht verwerfen" #: bookwyrm/templates/snippets/goal_card.html:22 #, python-format -msgid "" -"You can set or change your reading goal any time from your profile page" -msgstr "Du kannst dein Leseziel jederzeit auf deiner Profilseite setzen oder ändern." +msgid "You can set or change your reading goal any time from your profile page" +msgstr "Du kannst dein Leseziel jederzeit auf deiner Profilseite setzen oder ändern." #: bookwyrm/templates/snippets/goal_form.html:9 msgid "Reading goal:" @@ -1348,17 +1425,13 @@ msgstr "%(percent)s%% komplett!" #: bookwyrm/templates/snippets/goal_progress.html:10 #, python-format -msgid "" -"You've read %(read_count)s of %(goal_count)s books." +msgid "You've read %(read_count)s of %(goal_count)s books." msgstr "Du hast %(read_count)s von %(goal_count)s Büchern gelesen." #: bookwyrm/templates/snippets/goal_progress.html:12 #, python-format -msgid "" -"%(username)s has read %(read_count)s of %(goal_count)s " -"books." -msgstr "%(username)s hat %(read_count)s von %(goal_count)s " -"Büchern gelesen." +msgid "%(username)s has read %(read_count)s of %(goal_count)s books." +msgstr "%(username)s hat %(read_count)s von %(goal_count)s Büchern gelesen." #: bookwyrm/templates/snippets/pagination.html:7 msgid "Previous" @@ -1546,10 +1619,6 @@ msgstr "Mehr Regale" msgid "Start reading" msgstr "Zu lesen beginnen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:11 -msgid "Read" -msgstr "Lesen" - #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:13 msgid "Finish reading" msgstr "Lesen beenden" @@ -1599,7 +1668,9 @@ msgid "More options" msgstr "Mehr Optionen" #: bookwyrm/templates/snippets/status/status_options.html:17 -msgid "Delete post" +#, fuzzy +#| msgid "Delete post" +msgid "Delete status" msgstr "Post löschen" #: bookwyrm/templates/snippets/status/status_options.html:23 @@ -1621,12 +1692,10 @@ msgid "Books tagged \"%(tag.name)s\"" msgstr "Mit \"%(tag.name)s\" markierte Bücher" #: bookwyrm/templates/user/create_shelf_form.html:5 -msgid "Create New Shelf" -msgstr "Neues Regal erstellen" - #: bookwyrm/templates/user/create_shelf_form.html:22 -#: bookwyrm/templates/user/shelf.html:33 -msgid "Create shelf" +#, fuzzy +#| msgid "Create shelf" +msgid "Create Shelf" msgstr "Regal erstellen" #: bookwyrm/templates/user/edit_shelf_form.html:5 @@ -1665,11 +1734,7 @@ msgstr "Deine Listen" msgid "Lists: %(username)s" msgstr "Listen: %(username)s" -#: bookwyrm/templates/user/lists.html:17 -msgid "Create new list" -msgstr "Neue Liste erstellen" - -#: bookwyrm/templates/user/lists.html:29 +#: bookwyrm/templates/user/lists.html:17 bookwyrm/templates/user/lists.html:29 msgid "Create list" msgstr "Liste Erstellen" @@ -1682,6 +1747,10 @@ msgstr "Deine Regale" msgid "%(username)s: Shelves" msgstr "%(username)s: Regale" +#: bookwyrm/templates/user/shelf.html:33 +msgid "Create shelf" +msgstr "Regal erstellen" + #: bookwyrm/templates/user/shelf.html:54 msgid "Edit shelf" msgstr "Regal bearbeiten" @@ -1750,3 +1819,12 @@ msgstr[1] "%(counter)s Folgende" #, python-format msgid "%(counter)s following" msgstr "%(counter)s folgen" + +#~ msgid "Added by" +#~ msgstr "Hinzugefügt von" + +#~ msgid "Create New Shelf" +#~ msgstr "Neues Regal erstellen" + +#~ msgid "Create new list" +#~ msgstr "Neue Liste erstellen" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 25d38437a..33494e076 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 19:51+0000\n" +"POT-Creation-Date: 2021-03-02 21:36+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -66,10 +66,14 @@ msgid "English" msgstr "" #: bookwyrm/settings.py:143 -msgid "French" +msgid "German" msgstr "" #: bookwyrm/settings.py:144 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:145 msgid "Simplified Chinese" msgstr "" diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 263de6d13..9288363b0 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 19:51+0000\n" +"POT-Creation-Date: 2021-03-02 21:36+0000\n" "PO-Revision-Date: 2021-03-02 12:37+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -70,10 +70,14 @@ msgid "English" msgstr "" #: bookwyrm/settings.py:143 -msgid "French" +msgid "German" msgstr "" #: bookwyrm/settings.py:144 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:145 msgid "Simplified Chinese" msgstr "" diff --git a/locale/zh_CN/LC_MESSAGES/django.po b/locale/zh_CN/LC_MESSAGES/django.po index 0f51c6c33..a7b0869ed 100644 --- a/locale/zh_CN/LC_MESSAGES/django.po +++ b/locale/zh_CN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-02 19:51+0000\n" +"POT-Creation-Date: 2021-03-02 21:36+0000\n" "PO-Revision-Date: 2021-03-02 10:35+0000\n" "Last-Translator: Kana \n" "Language-Team: Mouse Reeve \n" @@ -70,10 +70,14 @@ msgid "English" msgstr "" #: bookwyrm/settings.py:143 -msgid "French" +msgid "German" msgstr "" #: bookwyrm/settings.py:144 +msgid "French" +msgstr "" + +#: bookwyrm/settings.py:145 msgid "Simplified Chinese" msgstr "" From df196c787594e5d57e29a14646f152923484cf10 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 13:51:56 -0800 Subject: [PATCH 048/111] Adds compiled german language file --- locale/de_DE/LC_MESSAGES/django.mo | Bin 0 -> 23092 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 locale/de_DE/LC_MESSAGES/django.mo diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..ebd743358d676536065661036acf2b1a4aff20f9 GIT binary patch literal 23092 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 Date: Tue, 2 Mar 2021 20:17:32 -0800 Subject: [PATCH 049/111] Fixes boost display --- bookwyrm/templates/snippets/status/status.html | 2 +- bookwyrm/templates/snippets/status/status_content.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/snippets/status/status.html b/bookwyrm/templates/snippets/status/status.html index b8925f183..e9ef13805 100644 --- a/bookwyrm/templates/snippets/status/status.html +++ b/bookwyrm/templates/snippets/status/status.html @@ -1,7 +1,7 @@ {% load bookwyrm_tags %} {% load i18n %} {% if not status.deleted %} - {% if status.status_type == 'Boost' %} + {% if status.status_type == 'Announce' %} {% include 'snippets/avatar.html' with user=status.user %} {% include 'snippets/username.html' with user=status.user %} {% trans "boosted" %} diff --git a/bookwyrm/templates/snippets/status/status_content.html b/bookwyrm/templates/snippets/status/status_content.html index bdbf3cfcc..d16c6922b 100644 --- a/bookwyrm/templates/snippets/status/status_content.html +++ b/bookwyrm/templates/snippets/status/status_content.html @@ -32,7 +32,7 @@ {% endif %} - {% if status.content and status.status_type != 'GeneratedNote' and status.status_type != 'Boost' %} + {% if status.content and status.status_type != 'GeneratedNote' and status.status_type != 'Announce' %} {% include 'snippets/trimmed_text.html' with full=status.content|safe %} {% endif %} {% if status.attachments %} From 3ee12345ec5db6ef847e219c2b77e322d6ff4e73 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 20:19:50 -0800 Subject: [PATCH 050/111] Fixes boost notification --- bookwyrm/models/status.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index ba9727f58..6bcd5d93d 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -294,14 +294,16 @@ class Boost(ActivityMixin, Status): if not self.boosted_status.user.local: return - notification_model = apps.get_model( - 'bookwyrm.Notification', require_ready=True) - notification_model.objects.create( - user=self.boosted_status.user, - related_status=self.boosted_status, - related_user=self.user, - notification_type='BOOST', - ) + if self.boosted_status.user.local and \ + self.boosted_status.user != self.user: + notification_model = apps.get_model( + 'bookwyrm.Notification', require_ready=True) + notification_model.objects.create( + user=self.boosted_status.user, + related_status=self.boosted_status, + related_user=self.user, + notification_type='BOOST', + ) def delete(self, *args, **kwargs): ''' delete and un-notify ''' From 51cf580813894213f55f404297bfc260120c2550 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 2 Mar 2021 20:24:51 -0800 Subject: [PATCH 051/111] Revert "Fixes boost notification" This reverts commit 3ee12345ec5db6ef847e219c2b77e322d6ff4e73. --- bookwyrm/models/status.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 6bcd5d93d..ba9727f58 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -294,16 +294,14 @@ class Boost(ActivityMixin, Status): if not self.boosted_status.user.local: return - if self.boosted_status.user.local and \ - self.boosted_status.user != self.user: - notification_model = apps.get_model( - 'bookwyrm.Notification', require_ready=True) - notification_model.objects.create( - user=self.boosted_status.user, - related_status=self.boosted_status, - related_user=self.user, - notification_type='BOOST', - ) + notification_model = apps.get_model( + 'bookwyrm.Notification', require_ready=True) + notification_model.objects.create( + user=self.boosted_status.user, + related_status=self.boosted_status, + related_user=self.user, + notification_type='BOOST', + ) def delete(self, *args, **kwargs): ''' delete and un-notify ''' From 714e1f3809a667d2ae2dca6ae7d557073f9e56c3 Mon Sep 17 00:00:00 2001 From: erion Date: Wed, 3 Mar 2021 12:11:28 +0100 Subject: [PATCH 052/111] Reduce Dockerfile size and the number of RUN steps. --- Dockerfile | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 99d2671ce..0f10015c6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,15 +2,12 @@ FROM python:3.9 ENV PYTHONUNBUFFERED 1 -RUN mkdir /app -RUN mkdir /app/static -RUN mkdir /app/images +RUN mkdir /app /app/static /app/images WORKDIR /app COPY requirements.txt /app/ -RUN pip install -r requirements.txt -RUN apt-get update && apt-get install -y gettext libgettextpo-dev +RUN pip install -r requirements.txt --no-cache-dir +RUN apt-get update && apt-get install -y gettext libgettextpo-dev && apt-get clean -COPY ./bookwyrm /app -COPY ./celerywyrm /app +COPY ./bookwyrm ./celerywyrm /app/ From 0d8eb959ea6a68c7db88f729747a9e413525e8a8 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 3 Mar 2021 15:48:04 +0100 Subject: [PATCH 053/111] [profile] Use unique IDs on statuses. --- bookwyrm/templates/user/user.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/user/user.html b/bookwyrm/templates/user/user.html index 5dd24caee..cefaab99f 100644 --- a/bookwyrm/templates/user/user.html +++ b/bookwyrm/templates/user/user.html @@ -67,7 +67,7 @@ {% for activity in activities %} -
    +
    {% include 'snippets/status/status.html' with status=activity %}
    {% endfor %} From a05b14c338aeab3471f0416d5d5ee793c26f7067 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 3 Mar 2021 20:10:09 +0100 Subject: [PATCH 054/111] [profile] Various HTML fixes: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Wrap block level elements within block level elements, not inline. - Avoid empty blocks. - Change `
    ` in lists into allowed type of children. - Fix duplicated ID (some change that was not propagated across the template?). - Make the anchor optional in the navbar (interactive elements (`a`, `input`, `button`…) should not appear into other interactive elements). - Remove redundant `role` on main navigation. - Make the modal a modal with `role="dialog". - Use `button` instead of form-less `label`. --- bookwyrm/templates/components/dropdown.html | 2 +- bookwyrm/templates/components/modal.html | 11 ++++++--- bookwyrm/templates/layout.html | 22 +++++++++++------ .../templates/snippets/shelf_selector.html | 2 +- .../snippets/status/status_content.html | 8 ++++--- bookwyrm/templates/snippets/trimmed_text.html | 24 +++++++++++++------ bookwyrm/templates/snippets/username.html | 15 +++++++++++- 7 files changed, 61 insertions(+), 23 deletions(-) diff --git a/bookwyrm/templates/components/dropdown.html b/bookwyrm/templates/components/dropdown.html index 1e45fe51a..72582ddc3 100644 --- a/bookwyrm/templates/components/dropdown.html +++ b/bookwyrm/templates/components/dropdown.html @@ -5,7 +5,7 @@ {% block dropdown-trigger %}{% endblock %} diff --git a/bookwyrm/templates/components/modal.html b/bookwyrm/templates/components/modal.html index 554f9ccde..1110a8eea 100644 --- a/bookwyrm/templates/components/modal.html +++ b/bookwyrm/templates/components/modal.html @@ -1,8 +1,13 @@ - -{% endblock %} +{% endspaceless %}{% endblock %} diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 2cddb7935337507fcce9245e070abe10274ca6fb..2620d2499b37f4a2772a7de337251835e38f686a 100644 GIT binary patch delta 7753 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 delta 7538 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\n" "Language-Team: Mouse Reeve \n" @@ -613,37 +613,42 @@ msgstr "(Rechargez la page pour mettre à jour !" #: bookwyrm/templates/import_status.html:35 msgid "Failed to load" -msgstr "Le chargement a échoué" +msgstr "Items non importés" -#: bookwyrm/templates/import_status.html:59 +#: bookwyrm/templates/import_status.html:42 +#, python-format +msgid "Jump to the bottom of the list to select the %(failed_count)s items which failed to import." +msgstr "Sauter en bas de liste pour sélectionner les %(failed_count)s items n’ayant pu être importés." + +#: bookwyrm/templates/import_status.html:74 msgid "Select all" msgstr "Tout sélectionner" -#: bookwyrm/templates/import_status.html:62 +#: bookwyrm/templates/import_status.html:79 msgid "Retry items" -msgstr "Essayer d’importer les objets sélectionnés de nouveau" +msgstr "Essayer d’importer les items sélectionnés de nouveau" -#: bookwyrm/templates/import_status.html:84 +#: bookwyrm/templates/import_status.html:101 msgid "Successfully imported" msgstr "Importation réussie" -#: bookwyrm/templates/import_status.html:88 +#: bookwyrm/templates/import_status.html:105 #: bookwyrm/templates/lists/curate.html:14 msgid "Book" msgstr "Livre" -#: bookwyrm/templates/import_status.html:91 +#: bookwyrm/templates/import_status.html:108 #: bookwyrm/templates/snippets/create_status_form.html:10 #: bookwyrm/templates/snippets/shelf.html:10 msgid "Title" msgstr "Titre" -#: bookwyrm/templates/import_status.html:94 +#: bookwyrm/templates/import_status.html:111 #: bookwyrm/templates/snippets/shelf.html:11 msgid "Author" msgstr "Auteur ou autrice" -#: bookwyrm/templates/import_status.html:117 +#: bookwyrm/templates/import_status.html:134 msgid "Imported" msgstr "Importé" From b70e728ffb816574f68433b7ff5c1c1441217ac2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 5 Mar 2021 06:58:22 -0800 Subject: [PATCH 080/111] Removes the word "cover" from cover alt text Fixes #694 --- bookwyrm/models/book.py | 2 +- bookwyrm/tests/models/test_book_model.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/models/book.py b/bookwyrm/models/book.py index f1f208303..6a1a18b1e 100644 --- a/bookwyrm/models/book.py +++ b/bookwyrm/models/book.py @@ -91,7 +91,7 @@ class Book(BookDataModel): @property def alt_text(self): ''' image alt test ''' - text = '%s cover' % self.title + text = '%s' % self.title if self.edition_info: text += ' (%s)' % self.edition_info return text diff --git a/bookwyrm/tests/models/test_book_model.py b/bookwyrm/tests/models/test_book_model.py index 98d6d446e..b4a099d05 100644 --- a/bookwyrm/tests/models/test_book_model.py +++ b/bookwyrm/tests/models/test_book_model.py @@ -81,7 +81,7 @@ class Book(TestCase): book.save() self.assertEqual(book.edition_info, 'worm, Glorbish language, 2020') self.assertEqual( - book.alt_text, 'Test Edition cover (worm, Glorbish language, 2020)') + book.alt_text, 'Test Edition (worm, Glorbish language, 2020)') def test_get_rank(self): From 91a14d3a1334848132a0474824da8b2ce054f185 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 5 Mar 2021 07:50:23 -0800 Subject: [PATCH 081/111] Updates alt text in status model tests --- bookwyrm/tests/models/test_status_model.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bookwyrm/tests/models/test_status_model.py b/bookwyrm/tests/models/test_status_model.py index c6911b6df..29be5c072 100644 --- a/bookwyrm/tests/models/test_status_model.py +++ b/bookwyrm/tests/models/test_status_model.py @@ -150,7 +150,7 @@ class Status(TestCase): self.assertEqual(activity['attachment'][0].url, 'https://%s%s' % \ (settings.DOMAIN, self.book.cover.url)) self.assertEqual( - activity['attachment'][0].name, 'Test Edition cover') + activity['attachment'][0].name, 'Test Edition') def test_comment_to_activity(self, _): ''' subclass of the base model version with a "pure" serializer ''' @@ -177,7 +177,7 @@ class Status(TestCase): self.assertEqual(activity['attachment'][0].url, 'https://%s%s' % \ (settings.DOMAIN, self.book.cover.url)) self.assertEqual( - activity['attachment'][0].name, 'Test Edition cover') + activity['attachment'][0].name, 'Test Edition') def test_quotation_to_activity(self, _): ''' subclass of the base model version with a "pure" serializer ''' @@ -207,7 +207,7 @@ class Status(TestCase): self.assertEqual(activity['attachment'][0].url, 'https://%s%s' % \ (settings.DOMAIN, self.book.cover.url)) self.assertEqual( - activity['attachment'][0].name, 'Test Edition cover') + activity['attachment'][0].name, 'Test Edition') def test_review_to_activity(self, _): ''' subclass of the base model version with a "pure" serializer ''' @@ -238,7 +238,7 @@ class Status(TestCase): self.assertEqual(activity['attachment'][0].url, 'https://%s%s' % \ (settings.DOMAIN, self.book.cover.url)) self.assertEqual( - activity['attachment'][0].name, 'Test Edition cover') + activity['attachment'][0].name, 'Test Edition') def test_favorite(self, _): ''' fav a status ''' From 99e5e3e414386bae121cd4da0cd2d2db350916e5 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Fri, 5 Mar 2021 22:09:56 +0100 Subject: [PATCH 082/111] [import] Show skip link to all when there is more than 10 failed imports. --- bookwyrm/static/css/format.css | 5 +++++ bookwyrm/templates/import_status.html | 14 +++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/bookwyrm/static/css/format.css b/bookwyrm/static/css/format.css index 92e0d92c7..9badfaf0b 100644 --- a/bookwyrm/static/css/format.css +++ b/bookwyrm/static/css/format.css @@ -1,3 +1,8 @@ +html { + scroll-behavior: smooth; + scroll-padding-top: 20%; +} + /* --- --- */ .image { overflow: hidden; diff --git a/bookwyrm/templates/import_status.html b/bookwyrm/templates/import_status.html index 3ee9c4a58..f9ba36bf4 100644 --- a/bookwyrm/templates/import_status.html +++ b/bookwyrm/templates/import_status.html @@ -38,9 +38,13 @@ {% csrf_token %} {% with failed_count=failed_items|length %} - + {% if failed_count > 10 %} +

    + + {% blocktrans %}Jump to the bottom of the list to select the {{ failed_count }} items which failed to import.{% endblocktrans %} + +

    + {% endif %} {% endwith %}
    @@ -64,7 +68,7 @@
    -

    From 703ff60271fe4ad36bf2210949e0b375998df084 Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Mon, 1 Mar 2021 21:09:21 +0100 Subject: [PATCH 083/111] isbn search --- bookwyrm/connectors/abstract_connector.py | 33 ++++++++++++ bookwyrm/connectors/bookwyrm_connector.py | 8 +++ bookwyrm/connectors/connector_manager.py | 33 ++++++++++-- bookwyrm/connectors/openlibrary.py | 16 ++++++ bookwyrm/connectors/self_connector.py | 42 +++++++++++++++ bookwyrm/management/commands/initdb.py | 3 ++ .../0047_connector_isbn_search_url.py | 18 +++++++ bookwyrm/models/connector.py | 1 + bookwyrm/templates/isbn_search_results.html | 33 ++++++++++++ .../connectors/test_abstract_connector.py | 4 ++ .../test_abstract_minimal_connector.py | 6 +++ .../connectors/test_openlibrary_connector.py | 29 ++++++++++ bookwyrm/tests/data/ol_isbn_search.json | 45 ++++++++++++++++ bookwyrm/tests/views/test_isbn.py | 54 +++++++++++++++++++ bookwyrm/tests/views/test_search.py | 4 ++ bookwyrm/urls.py | 3 ++ bookwyrm/views/__init__.py | 1 + bookwyrm/views/isbn.py | 29 ++++++++++ 18 files changed, 358 insertions(+), 4 deletions(-) create mode 100644 bookwyrm/migrations/0047_connector_isbn_search_url.py create mode 100644 bookwyrm/templates/isbn_search_results.html create mode 100644 bookwyrm/tests/data/ol_isbn_search.json create mode 100644 bookwyrm/tests/views/test_isbn.py create mode 100644 bookwyrm/views/isbn.py diff --git a/bookwyrm/connectors/abstract_connector.py b/bookwyrm/connectors/abstract_connector.py index 68ff2a483..e6372438e 100644 --- a/bookwyrm/connectors/abstract_connector.py +++ b/bookwyrm/connectors/abstract_connector.py @@ -26,6 +26,7 @@ class AbstractMinimalConnector(ABC): 'books_url', 'covers_url', 'search_url', + 'isbn_search_url', 'max_query_count', 'name', 'identifier', @@ -61,6 +62,30 @@ class AbstractMinimalConnector(ABC): results.append(self.format_search_result(doc)) return results + def isbn_search(self, query): + ''' isbn search ''' + params = {} + resp = requests.get( + '%s%s' % (self.isbn_search_url, query), + params=params, + headers={ + 'Accept': 'application/json; charset=utf-8', + 'User-Agent': settings.USER_AGENT, + }, + ) + if not resp.ok: + resp.raise_for_status() + try: + data = resp.json() + except ValueError as e: + logger.exception(e) + raise ConnectorException('Unable to parse json response', e) + results = [] + + for doc in self.parse_isbn_search_data(data): + results.append(self.format_isbn_search_result(doc)) + return results + @abstractmethod def get_or_create_book(self, remote_id): ''' pull up a book record by whatever means possible ''' @@ -73,6 +98,14 @@ class AbstractMinimalConnector(ABC): def format_search_result(self, search_result): ''' create a SearchResult obj from json ''' + @abstractmethod + def parse_isbn_search_data(self, data): + ''' turn the result json from a search into a list ''' + + @abstractmethod + def format_isbn_search_result(self, search_result): + ''' create a SearchResult obj from json ''' + class AbstractConnector(AbstractMinimalConnector): ''' generic book data connector ''' diff --git a/bookwyrm/connectors/bookwyrm_connector.py b/bookwyrm/connectors/bookwyrm_connector.py index 00e6c62f1..96b72f267 100644 --- a/bookwyrm/connectors/bookwyrm_connector.py +++ b/bookwyrm/connectors/bookwyrm_connector.py @@ -19,3 +19,11 @@ class Connector(AbstractMinimalConnector): def format_search_result(self, search_result): search_result['connector'] = self return SearchResult(**search_result) + + def parse_isbn_search_data(self, data): + return data + + def format_isbn_search_result(self, search_result): + search_result['connector'] = self + return SearchResult(**search_result) + diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index a63a788eb..053e1f9ef 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -1,5 +1,6 @@ ''' interface with whatever connectors the app has ''' import importlib +import re from urllib.parse import urlparse from requests import HTTPError @@ -15,13 +16,31 @@ class ConnectorException(HTTPError): def search(query, min_confidence=0.1): ''' find books based on arbitary keywords ''' results = [] + + # Have we got a ISBN ? + isbn = re.sub('[\W_]', '', query) + maybe_isbn = len(isbn) in [10, 13] # ISBN10 or ISBN13 + dedup_slug = lambda r: '%s/%s/%s' % (r.title, r.author, r.year) result_index = set() for connector in get_connectors(): - try: - result_set = connector.search(query, min_confidence=min_confidence) - except (HTTPError, ConnectorException): - continue + result_set = None + if maybe_isbn: + # Search on ISBN + if not connector.isbn_search_url or connector.isbn_search_url == '': + result_set = [] + else: + try: + result_set = connector.isbn_search(isbn) + except (HTTPError, ConnectorException): + pass + + # if no isbn search or results, we fallback to generic search + if result_set == None or result_set == []: + try: + result_set = connector.search(query, min_confidence=min_confidence) + except (HTTPError, ConnectorException): + continue result_set = [r for r in result_set \ if dedup_slug(r) not in result_index] @@ -41,6 +60,12 @@ def local_search(query, min_confidence=0.1, raw=False): return connector.search(query, min_confidence=min_confidence, raw=raw) +def isbn_local_search(query, raw=False): + ''' only look at local search results ''' + connector = load_connector(models.Connector.objects.get(local=True)) + return connector.isbn_search(query, raw=raw) + + def first_search_result(query, min_confidence=0.1): ''' search until you find a result that fits ''' for connector in get_connectors(): diff --git a/bookwyrm/connectors/openlibrary.py b/bookwyrm/connectors/openlibrary.py index a767a45ac..8d227eef1 100644 --- a/bookwyrm/connectors/openlibrary.py +++ b/bookwyrm/connectors/openlibrary.py @@ -129,6 +129,22 @@ class Connector(AbstractConnector): ) + def parse_isbn_search_data(self, data): + return list(data.values()) + + def format_isbn_search_result(self, search_result): + # build the remote id from the openlibrary key + key = self.books_url + search_result['key'] + authors = search_result.get('authors') or [{'name': 'Unknown'}] + author_names = [ author.get('name') for author in authors] + return SearchResult( + title=search_result.get('title'), + key=key, + author=', '.join(author_names), + connector=self, + year=search_result.get('publish_date'), + ) + def load_edition_data(self, olkey): ''' query openlibrary for editions of a work ''' url = '%s/works/%s/editions' % (self.books_url, olkey) diff --git a/bookwyrm/connectors/self_connector.py b/bookwyrm/connectors/self_connector.py index f57fbc1cc..b3a4d6f9f 100644 --- a/bookwyrm/connectors/self_connector.py +++ b/bookwyrm/connectors/self_connector.py @@ -33,6 +33,31 @@ class Connector(AbstractConnector): search_results.sort(key=lambda r: r.confidence, reverse=True) return search_results + def isbn_search(self, query, raw=False): + ''' search your local database ''' + if not query: + return [] + + filters = [{f: query} for f in ['isbn_10', 'isbn_13']] + results = models.Edition.objects.filter( + reduce(operator.or_, (Q(**f) for f in filters)) + ).distinct() + + # when there are multiple editions of the same work, pick the default. + # it would be odd for this to happen. + results = results.filter(parent_work__default_edition__id=F('id')) \ + or results + + search_results = [] + for result in results: + if raw: + search_results.append(result) + else: + search_results.append(self.format_search_result(result)) + if len(search_results) >= 10: + break + return search_results + def format_search_result(self, search_result): return SearchResult( @@ -47,6 +72,19 @@ class Connector(AbstractConnector): ) + def format_isbn_search_result(self, search_result): + return SearchResult( + title=search_result.title, + key=search_result.remote_id, + author=search_result.author_text, + year=search_result.published_date.year if \ + search_result.published_date else None, + connector=self, + confidence=search_result.rank if \ + hasattr(search_result, 'rank') else 1, + ) + + def is_work_data(self, data): pass @@ -59,6 +97,10 @@ class Connector(AbstractConnector): def get_authors_from_data(self, data): return None + def parse_isbn_search_data(self, data): + ''' it's already in the right format, don't even worry about it ''' + return data + def parse_search_data(self, data): ''' it's already in the right format, don't even worry about it ''' return data diff --git a/bookwyrm/management/commands/initdb.py b/bookwyrm/management/commands/initdb.py index 9fd117871..5759abfcc 100644 --- a/bookwyrm/management/commands/initdb.py +++ b/bookwyrm/management/commands/initdb.py @@ -66,6 +66,7 @@ def init_connectors(): books_url='https://%s/book' % DOMAIN, covers_url='https://%s/images/covers' % DOMAIN, search_url='https://%s/search?q=' % DOMAIN, + isbn_search_url='https://%s/isbn/' % DOMAIN, priority=1, ) @@ -77,6 +78,7 @@ def init_connectors(): books_url='https://bookwyrm.social/book', covers_url='https://bookwyrm.social/images/covers', search_url='https://bookwyrm.social/search?q=', + isbn_search_url='https://bookwyrm.social/isbn/', priority=2, ) @@ -88,6 +90,7 @@ def init_connectors(): books_url='https://openlibrary.org', covers_url='https://covers.openlibrary.org', search_url='https://openlibrary.org/search?q=', + isbn_search_url='https://openlibrary.org/api/books?jscmd=data&format=json&bibkeys=ISBN:', priority=3, ) diff --git a/bookwyrm/migrations/0047_connector_isbn_search_url.py b/bookwyrm/migrations/0047_connector_isbn_search_url.py new file mode 100644 index 000000000..617a89d9d --- /dev/null +++ b/bookwyrm/migrations/0047_connector_isbn_search_url.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.7 on 2021-02-28 16:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0046_sitesettings_privacy_policy'), + ] + + operations = [ + migrations.AddField( + model_name='connector', + name='isbn_search_url', + field=models.CharField(blank=True, max_length=255, null=True), + ), + ] diff --git a/bookwyrm/models/connector.py b/bookwyrm/models/connector.py index 6f64cdf3e..c1fbf58bc 100644 --- a/bookwyrm/models/connector.py +++ b/bookwyrm/models/connector.py @@ -22,6 +22,7 @@ class Connector(BookWyrmModel): books_url = models.CharField(max_length=255) covers_url = models.CharField(max_length=255) search_url = models.CharField(max_length=255, null=True, blank=True) + isbn_search_url = models.CharField(max_length=255, null=True, blank=True) politeness_delay = models.IntegerField(null=True, blank=True) #seconds max_query_count = models.IntegerField(null=True, blank=True) diff --git a/bookwyrm/templates/isbn_search_results.html b/bookwyrm/templates/isbn_search_results.html new file mode 100644 index 000000000..a3861a68a --- /dev/null +++ b/bookwyrm/templates/isbn_search_results.html @@ -0,0 +1,33 @@ +{% extends 'layout.html' %} +{% load i18n %} + +{% block title %}{% trans "Search Results" %}{% endblock %} + +{% block content %} +{% with book_results|first as local_results %} +
    +

    {% blocktrans %}Search Results for "{{ query }}"{% endblocktrans %}

    +
    + +
    +
    +

    {% trans "Matching Books" %}

    +
    + {% if not results %} +

    {% blocktrans %}No books found for "{{ query }}"{% endblocktrans %}

    + {% else %} + + {% endif %} +
    + +
    +
    +
    +{% endwith %} +{% endblock %} diff --git a/bookwyrm/tests/connectors/test_abstract_connector.py b/bookwyrm/tests/connectors/test_abstract_connector.py index 6e912858b..1b3821040 100644 --- a/bookwyrm/tests/connectors/test_abstract_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_connector.py @@ -42,6 +42,10 @@ class AbstractConnector(TestCase): return search_result def parse_search_data(self, data): return data + def format_isbn_search_result(self, search_result): + return search_result + def parse_isbn_search_data(self, data): + return data def is_work_data(self, data): return data['type'] == 'work' def get_edition_from_work_data(self, data): diff --git a/bookwyrm/tests/connectors/test_abstract_minimal_connector.py b/bookwyrm/tests/connectors/test_abstract_minimal_connector.py index 0c6d25350..9b939067b 100644 --- a/bookwyrm/tests/connectors/test_abstract_minimal_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_minimal_connector.py @@ -18,6 +18,7 @@ class AbstractConnector(TestCase): books_url='https://example.com/books', covers_url='https://example.com/covers', search_url='https://example.com/search?q=', + isbn_search_url='https://example.com/isbn', ) class TestConnector(abstract_connector.AbstractMinimalConnector): @@ -28,6 +29,10 @@ class AbstractConnector(TestCase): pass def parse_search_data(self, data): return data + def format_isbn_search_result(self, search_result): + return search_result + def parse_isbn_search_data(self, data): + return data self.test_connector = TestConnector('example.com') @@ -39,6 +44,7 @@ class AbstractConnector(TestCase): self.assertEqual(connector.books_url, 'https://example.com/books') self.assertEqual(connector.covers_url, 'https://example.com/covers') self.assertEqual(connector.search_url, 'https://example.com/search?q=') + self.assertEqual(connector.isbn_search_url, 'https://example.com/isbn') self.assertIsNone(connector.name) self.assertEqual(connector.identifier, 'example.com') self.assertIsNone(connector.max_query_count) diff --git a/bookwyrm/tests/connectors/test_openlibrary_connector.py b/bookwyrm/tests/connectors/test_openlibrary_connector.py index 576e353bf..a174300a9 100644 --- a/bookwyrm/tests/connectors/test_openlibrary_connector.py +++ b/bookwyrm/tests/connectors/test_openlibrary_connector.py @@ -27,6 +27,7 @@ class Openlibrary(TestCase): books_url='https://openlibrary.org', covers_url='https://covers.openlibrary.org', search_url='https://openlibrary.org/search?q=', + isbn_search_url='https://openlibrary.org/isbn', ) self.connector = Connector('openlibrary.org') @@ -149,6 +150,34 @@ class Openlibrary(TestCase): self.assertEqual(result.connector, self.connector) + def test_parse_isbn_search_result(self): + ''' extract the results from the search json response ''' + datafile = pathlib.Path(__file__).parent.joinpath( + '../data/ol_isbn_search.json') + search_data = json.loads(datafile.read_bytes()) + result = self.connector.parse_isbn_search_data(search_data) + self.assertIsInstance(result, list) + self.assertEqual(len(result), 1) + + + def test_format_isbn_search_result(self): + ''' translate json from openlibrary into SearchResult ''' + datafile = pathlib.Path(__file__).parent.joinpath( + '../data/ol_isbn_search.json') + search_data = json.loads(datafile.read_bytes()) + results = self.connector.parse_isbn_search_data(search_data) + self.assertIsInstance(results, list) + + result = self.connector.format_isbn_search_result(results[0]) + self.assertIsInstance(result, SearchResult) + self.assertEqual(result.title, 'Les ombres errantes') + self.assertEqual( + result.key, 'https://openlibrary.org/books/OL16262504M') + self.assertEqual(result.author, 'Pascal Quignard') + self.assertEqual(result.year, '2002') + self.assertEqual(result.connector, self.connector) + + @responses.activate def test_load_edition_data(self): ''' format url from key and make request ''' diff --git a/bookwyrm/tests/data/ol_isbn_search.json b/bookwyrm/tests/data/ol_isbn_search.json new file mode 100644 index 000000000..8516ff069 --- /dev/null +++ b/bookwyrm/tests/data/ol_isbn_search.json @@ -0,0 +1,45 @@ +{ + "ISBN:9782070427796": { + "url": "https://openlibrary.org/books/OL16262504M/Les_ombres_errantes", + "key": "/books/OL16262504M", + "title": "Les ombres errantes", + "authors": [ + { + "url": "https://openlibrary.org/authors/OL269675A/Pascal_Quignard", + "name": "Pascal Quignard" + } + ], + "by_statement": "Pascal Quignard.", + "identifiers": { + "goodreads": [ + "1835483" + ], + "librarything": [ + "983474" + ], + "isbn_10": [ + "207042779X" + ], + "openlibrary": [ + "OL16262504M" + ] + }, + "classifications": { + "dewey_decimal_class": [ + "848/.91403" + ] + }, + "publishers": [ + { + "name": "Gallimard" + } + ], + "publish_places": [ + { + "name": "Paris" + } + ], + "publish_date": "2002", + "notes": "Hardback published Grasset, 2002." + } +} diff --git a/bookwyrm/tests/views/test_isbn.py b/bookwyrm/tests/views/test_isbn.py new file mode 100644 index 000000000..1966702b4 --- /dev/null +++ b/bookwyrm/tests/views/test_isbn.py @@ -0,0 +1,54 @@ +''' test for app action functionality ''' +import json +from unittest.mock import patch + +from django.http import JsonResponse +from django.template.response import TemplateResponse +from django.test import TestCase +from django.test.client import RequestFactory + +from bookwyrm import models, views +from bookwyrm.connectors import abstract_connector +from bookwyrm.settings import DOMAIN + + +class IsbnViews(TestCase): + ''' tag views''' + def setUp(self): + ''' we need basic test data and mocks ''' + self.factory = RequestFactory() + self.local_user = models.User.objects.create_user( + 'mouse@local.com', 'mouse@mouse.com', 'mouseword', + local=True, localname='mouse', + remote_id='https://example.com/users/mouse', + ) + self.work = models.Work.objects.create(title='Test Work') + self.book = models.Edition.objects.create( + title='Test Book', + isbn_13='1234567890123', + remote_id='https://example.com/book/1', + parent_work=self.work + ) + models.Connector.objects.create( + identifier='self', + connector_file='self_connector', + local=True + ) + models.SiteSettings.objects.create() + + + def test_isbn_json_response(self): + ''' searches local data only and returns book data in json format ''' + view = views.Isbn.as_view() + request = self.factory.get('') + with patch('bookwyrm.views.isbn.is_api_request') as is_api: + is_api.return_value = True + response = view(request, isbn='1234567890123') + self.assertIsInstance(response, JsonResponse) + + data = json.loads(response.content) + self.assertEqual(len(data), 1) + self.assertEqual(data[0]['title'], 'Test Book') + self.assertEqual( + data[0]['key'], 'https://%s/book/%d' % (DOMAIN, self.book.id)) + diff --git a/bookwyrm/tests/views/test_search.py b/bookwyrm/tests/views/test_search.py index 655b4563a..5d7109e71 100644 --- a/bookwyrm/tests/views/test_search.py +++ b/bookwyrm/tests/views/test_search.py @@ -64,6 +64,10 @@ class ShelfViews(TestCase): pass def parse_search_data(self, data): pass + def format_isbn_search_result(self, search_result): + return search_result + def parse_isbn_search_data(self, data): + return data models.Connector.objects.create( identifier='example.com', connector_file='openlibrary', diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index a741088a2..1c3da3016 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -135,6 +135,9 @@ urlpatterns = [ re_path(r'^resolve-book/?$', views.resolve_book), re_path(r'^switch-edition/?$', views.switch_edition), + # isbn + re_path(r'^isbn/(?P\d+)(.json)?/?$', views.Isbn.as_view()), + # author re_path(r'^author/(?P\d+)(.json)?/?$', views.Author.as_view()), re_path(r'^author/(?P\d+)/edit/?$', views.EditAuthor.as_view()), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 2c7cdc461..dd601b28b 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -31,3 +31,4 @@ from .site import Site from .status import CreateStatus, DeleteStatus from .updates import Updates from .user import User, EditUser, Followers, Following +from .isbn import Isbn diff --git a/bookwyrm/views/isbn.py b/bookwyrm/views/isbn.py new file mode 100644 index 000000000..e5539ba3a --- /dev/null +++ b/bookwyrm/views/isbn.py @@ -0,0 +1,29 @@ +''' isbn search view ''' +from django.http import HttpResponseNotFound +from django.http import JsonResponse +from django.shortcuts import get_object_or_404, redirect +from django.template.response import TemplateResponse +from django.utils.decorators import method_decorator +from django.views import View +from django.views.decorators.http import require_POST + +from bookwyrm import forms, models +from bookwyrm.connectors import connector_manager +from .helpers import is_api_request + +# pylint: disable= no-self-use +class Isbn(View): + ''' search a book by isbn ''' + def get(self, request, isbn): + ''' info about a book ''' + book_results = connector_manager.isbn_local_search(isbn) + + if is_api_request(request): + return JsonResponse([r.json() for r in book_results], safe=False) + + data = { + 'title': 'ISBN Search Results', + 'results': book_results, + 'query': isbn, + } + return TemplateResponse(request, 'isbn_search_results.html', data) From a52fee4ccfdd400ad07b2c291e8fb53462e8d486 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Sat, 6 Mar 2021 21:18:39 +0100 Subject: [PATCH 084/111] Remove (potentially useful) unused CSS. --- bookwyrm/static/css/format.css | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/bookwyrm/static/css/format.css b/bookwyrm/static/css/format.css index 9badfaf0b..435d8eb9e 100644 --- a/bookwyrm/static/css/format.css +++ b/bookwyrm/static/css/format.css @@ -161,35 +161,3 @@ html { content: "\e905"; right: 0; } - -/** - * Accessibility (a11y) - ============================================================================ */ - -/** - * Skip links - * - * @see https://webaim.org/styles/main.css - ---------------------------------------------------------------------------- */ -.skip-link { - position: absolute; - opacity: 0; - z-index: 100; - padding: 6px; - border: 1px solid white; - color: white; - background: #BF1722; - transition: opacity 1s ease-out; -} - -.skip-link:focus { - opacity: 1; - outline-color: transparent; - transition: opacity .1s ease-in; -} - -@media (prefers-reduced-motion: reduce) { - .skip-link { - transition-duration: 0.001ms !important; - } -} From 9ed18a2b1d20f5c052d1331e30265fbf1f8e5a4e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 6 Mar 2021 13:11:44 -0800 Subject: [PATCH 085/111] Fixes display name showing up on user page --- bookwyrm/templates/user/user.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/user/user.html b/bookwyrm/templates/user/user.html index cefaab99f..52a915610 100644 --- a/bookwyrm/templates/user/user.html +++ b/bookwyrm/templates/user/user.html @@ -1,7 +1,7 @@ {% extends 'user/user_layout.html' %} {% load i18n %} -{% block title %}{{ user.name }}{% endblock %} +{% block title %}{{ user.display_name }}{% endblock %} {% block header %}
    From 9536f0058af4eaebe8b9aa51c910c70164f2edaf Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 6 Mar 2021 13:43:20 -0800 Subject: [PATCH 086/111] Testing out a Black github action --- .github/workflows/black.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/black.yml diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml new file mode 100644 index 000000000..de770ccee --- /dev/null +++ b/.github/workflows/black.yml @@ -0,0 +1,13 @@ +name: Lint + +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + - uses: psf/black@stable + with: + args: ". --check -l 80 -S" From 09c5275ec41efb0a7467081e24b98668de7a299c Mon Sep 17 00:00:00 2001 From: erion Date: Sun, 7 Mar 2021 13:18:10 +0100 Subject: [PATCH 087/111] Fix typo. --- bookwyrm/templates/feed/status.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/feed/status.html b/bookwyrm/templates/feed/status.html index fc92f8556..9f90f355d 100644 --- a/bookwyrm/templates/feed/status.html +++ b/bookwyrm/templates/feed/status.html @@ -4,7 +4,7 @@ {% block panel %}
    - + {% trans "Back" %}
    From cb8ec01ccfff8ca71296226aea19f4050a5a12b8 Mon Sep 17 00:00:00 2001 From: erion Date: Sun, 7 Mar 2021 13:55:50 +0100 Subject: [PATCH 088/111] Indicate which page is the current. --- bookwyrm/templates/feed/feed.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/feed/feed.html b/bookwyrm/templates/feed/feed.html index 1eae24d4e..4eb363e4a 100644 --- a/bookwyrm/templates/feed/feed.html +++ b/bookwyrm/templates/feed/feed.html @@ -6,13 +6,13 @@

    {% blocktrans %}{{ tab_title }} Timeline{% endblocktrans %}

    From ae8d39995d514f62b2a83e1e401f3244dcb7938b Mon Sep 17 00:00:00 2001 From: erion Date: Sun, 7 Mar 2021 14:39:18 +0100 Subject: [PATCH 089/111] Hide avatar image to screen readers on the status pages, since there is a link present for a user already. --- bookwyrm/templates/snippets/avatar.html | 2 +- bookwyrm/templates/snippets/status/status_header.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/snippets/avatar.html b/bookwyrm/templates/snippets/avatar.html index ca49075cf..6d27cd856 100644 --- a/bookwyrm/templates/snippets/avatar.html +++ b/bookwyrm/templates/snippets/avatar.html @@ -1,3 +1,3 @@ {% load bookwyrm_tags %} -{{ user.alt_text }} +{{ user.alt_text }} diff --git a/bookwyrm/templates/snippets/status/status_header.html b/bookwyrm/templates/snippets/status/status_header.html index 2b9418200..a9a8d72c5 100644 --- a/bookwyrm/templates/snippets/status/status_header.html +++ b/bookwyrm/templates/snippets/status/status_header.html @@ -1,6 +1,6 @@ {% load bookwyrm_tags %} {% load i18n %} -{% include 'snippets/avatar.html' with user=status.user %} +{% include 'snippets/avatar.html' with user=status.user ariaHide="true" %} {% include 'snippets/username.html' with user=status.user %} {% if status.status_type == 'GeneratedNote' %} From 9082eefd8fd7073342af5116ac2432b82cb6a28d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 07:08:19 -0800 Subject: [PATCH 090/111] Sets specific proportions for book page columns --- bookwyrm/templates/book.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/book.html b/bookwyrm/templates/book.html index d80daca24..ec6c504aa 100644 --- a/bookwyrm/templates/book.html +++ b/bookwyrm/templates/book.html @@ -35,7 +35,7 @@
    -
    +
    {% include 'snippets/book_cover.html' with book=book size=large %} {% include 'snippets/rate_action.html' with user=request.user book=book %} {% include 'snippets/shelve_button/shelve_button.html' %} @@ -93,7 +93,7 @@
    -
    +

    {% include 'snippets/stars.html' with rating=rating %} @@ -201,7 +201,7 @@

    -
    +
    {% if book.subjects %}

    {% trans "Subjects" %}

    From 9c94be8804b3bc7bcdb5c5bfbcb9bba83ffb4972 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 07:35:38 -0800 Subject: [PATCH 091/111] Fixes typo in subject places block --- bookwyrm/templates/book.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/book.html b/bookwyrm/templates/book.html index ec6c504aa..c4cede2ed 100644 --- a/bookwyrm/templates/book.html +++ b/bookwyrm/templates/book.html @@ -217,7 +217,7 @@

    {% trans "Places" %}

      - {% for place in book.subject_placess %} + {% for place in book.subject_places %}
    • {{ place }}
    • {% endfor %}
    From e5bdb4b9d1a9ef38ad49227362df28d1d9945099 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 07:35:50 -0800 Subject: [PATCH 092/111] Make empty cover value null --- bookwyrm/activitypub/book.py | 2 +- bookwyrm/tests/actions/__init__.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 bookwyrm/tests/actions/__init__.py diff --git a/bookwyrm/activitypub/book.py b/bookwyrm/activitypub/book.py index 87c40c90a..8c32be967 100644 --- a/bookwyrm/activitypub/book.py +++ b/bookwyrm/activitypub/book.py @@ -26,7 +26,7 @@ class Book(ActivityObject): librarythingKey: str = '' goodreadsKey: str = '' - cover: Image = field(default_factory=lambda: {}) + cover: Image = None type: str = 'Book' diff --git a/bookwyrm/tests/actions/__init__.py b/bookwyrm/tests/actions/__init__.py deleted file mode 100644 index b6e690fd5..000000000 --- a/bookwyrm/tests/actions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import * From b895059f03f25a866cffde77d600c8a5cb8f3034 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 07:42:02 -0800 Subject: [PATCH 093/111] Uses same alt text generation for books with no cover --- bookwyrm/templates/snippets/book_cover.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bookwyrm/templates/snippets/book_cover.html b/bookwyrm/templates/snippets/book_cover.html index 6d15b37f8..921378537 100644 --- a/bookwyrm/templates/snippets/book_cover.html +++ b/bookwyrm/templates/snippets/book_cover.html @@ -6,8 +6,7 @@
    No cover
    -

    {{ book.title }}

    -

    ({{ book.edition_info }})

    +

    {{ book.alt_text }}

    {% endif %} From dfecdca6f93bb4f52c4a7ac9f807041fab816495 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 07:56:33 -0800 Subject: [PATCH 094/111] Fixes display of ratings --- bookwyrm/templates/book.html | 4 ++-- bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/snippets/username.html | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/bookwyrm/templates/book.html b/bookwyrm/templates/book.html index c4cede2ed..06578e894 100644 --- a/bookwyrm/templates/book.html +++ b/bookwyrm/templates/book.html @@ -254,8 +254,8 @@
    {% include 'snippets/username.html' with user=rating.user %}
    -
    -
    {% trans "rated it" %}
    +
    +

    {% trans "rated it" %}

    {% include 'snippets/stars.html' with rating=rating.rating %}
    diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index ee42b4f6e..8a708f633 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -79,7 +79,7 @@ aria-controls="navbar-dropdown" > {% include 'snippets/avatar.html' with user=request.user %} - {% include 'snippets/username.html' with user=request.user anchor=false %} + {% include 'snippets/username.html' with user=request.user anchor=false %}
    -{% include 'snippets/delete_readthrough_modal.html' with controls_text="delete-readthrough" controls_uid=readthrough.id %} +{% include 'snippets/delete_readthrough_modal.html' with controls_text="delete-readthrough" controls_uid=readthrough.id no_body=True %} From 5ddb3b810e800648d8607026d97bdad611cb4d65 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 08:37:39 -0800 Subject: [PATCH 096/111] Don't show books lists when item isn't approved --- bookwyrm/views/books.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/views/books.py b/bookwyrm/views/books.py index 4d6afba96..cf246446c 100644 --- a/bookwyrm/views/books.py +++ b/bookwyrm/views/books.py @@ -89,7 +89,7 @@ class Book(View): 'rating': reviews.aggregate(Avg('rating'))['rating__avg'], 'tags': models.UserTag.objects.filter(book=book), 'lists': privacy_filter( - request.user, book.list_set.all() + request.user, book.list_set.filter(listitem__approved=True) ), 'user_tags': user_tags, 'user_shelves': user_shelves, From a70264c12c71b1a08ee86d53da71480cc769c7a1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 08:42:30 -0800 Subject: [PATCH 097/111] Fixes showing link to user lists --- bookwyrm/templates/snippets/status/status_header.html | 2 ++ bookwyrm/templates/user/user_layout.html | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/snippets/status/status_header.html b/bookwyrm/templates/snippets/status/status_header.html index a9a8d72c5..cecdddf61 100644 --- a/bookwyrm/templates/snippets/status/status_header.html +++ b/bookwyrm/templates/snippets/status/status_header.html @@ -1,7 +1,9 @@ {% load bookwyrm_tags %} {% load i18n %} + {% include 'snippets/avatar.html' with user=status.user ariaHide="true" %} {% include 'snippets/username.html' with user=status.user %} + {% if status.status_type == 'GeneratedNote' %} {{ status.content | safe }} diff --git a/bookwyrm/templates/user/user_layout.html b/bookwyrm/templates/user/user_layout.html index d76291608..75dc61dc3 100644 --- a/bookwyrm/templates/user/user_layout.html +++ b/bookwyrm/templates/user/user_layout.html @@ -56,7 +56,7 @@ {% trans "Reading Goal" %}
  • {% endif %} - {% if is_self or user.lists.exists %} + {% if is_self or user.list_set.exists %} {% url 'user-lists' user|username as url %} {% trans "Lists" %} From ec92aff7930c4f4d2749d939c7c3704ce20fc7fe Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 08:50:07 -0800 Subject: [PATCH 098/111] Clearer notification preview for generated notes --- bookwyrm/templates/notifications.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/notifications.html b/bookwyrm/templates/notifications.html index 007e6b053..d27196ba9 100644 --- a/bookwyrm/templates/notifications.html +++ b/bookwyrm/templates/notifications.html @@ -114,7 +114,9 @@
    {% if related_status.content %} - {{ related_status.content | safe | truncatewords_html:10 }} + + {{ related_status.content | safe | truncatewords_html:10 }}{% if related_status.mention_books %} {{ related_status.mention_books.first.title }}{% endif %} + {% elif related_status.quote %} {{ related_status.quote | safe | truncatewords_html:10 }} {% elif related_status.rating %} From c0ccb7065c450f24ea67c2958603ddc90857c8b3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 09:22:35 -0800 Subject: [PATCH 099/111] Safer federation of book data changes Only broadcast to other BW instances, plus bonus error handling --- bookwyrm/models/activitypub_mixin.py | 2 +- bookwyrm/models/book.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/bookwyrm/models/activitypub_mixin.py b/bookwyrm/models/activitypub_mixin.py index bebe00d02..10015bf14 100644 --- a/bookwyrm/models/activitypub_mixin.py +++ b/bookwyrm/models/activitypub_mixin.py @@ -449,7 +449,7 @@ def broadcast_task(sender_id, activity, recipients): for recipient in recipients: try: sign_and_send(sender, activity, recipient) - except (HTTPError, SSLError) as e: + except (HTTPError, SSLError, ConnectionError) as e: logger.exception(e) diff --git a/bookwyrm/models/book.py b/bookwyrm/models/book.py index 6a1a18b1e..84bfbc6bd 100644 --- a/bookwyrm/models/book.py +++ b/bookwyrm/models/book.py @@ -37,6 +37,10 @@ class BookDataModel(ObjectMixin, BookWyrmModel): self.remote_id = None return super().save(*args, **kwargs) + def broadcast(self, activity, sender, software='bookwyrm'): + ''' only send book data updates to other bookwyrm instances ''' + super().broadcast(activity, sender, software=software) + class Book(BookDataModel): ''' a generic book, which can mean either an edition or a work ''' From 71bbea83f97ca6cda270180aab940ab882687a7b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 09:42:31 -0800 Subject: [PATCH 100/111] Adds discard check to favs --- bookwyrm/activitypub/base_activity.py | 2 +- bookwyrm/models/favorite.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bookwyrm/activitypub/base_activity.py b/bookwyrm/activitypub/base_activity.py index 57f1a7134..c732fe1d3 100644 --- a/bookwyrm/activitypub/base_activity.py +++ b/bookwyrm/activitypub/base_activity.py @@ -102,7 +102,7 @@ class ActivityObject: if allow_create and \ hasattr(model, 'ignore_activity') and \ model.ignore_activity(self): - return None + raise ActivitySerializerError() # check for an existing instance instance = instance or model.find_existing(self.serialize()) diff --git a/bookwyrm/models/favorite.py b/bookwyrm/models/favorite.py index f90195016..66befd80c 100644 --- a/bookwyrm/models/favorite.py +++ b/bookwyrm/models/favorite.py @@ -17,6 +17,11 @@ class Favorite(ActivityMixin, BookWyrmModel): activity_serializer = activitypub.Like + @classmethod + def ignore_activity(cls, activity): + ''' don't bother with incoming favs of unknown statuses ''' + return cls.objects.filter(remote_id=activity.object).exists() + def save(self, *args, **kwargs): ''' update user active time ''' self.user.last_active_date = timezone.now() From 09b77e567f8dc886ed4a505a87d79141fbddc8d2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 09:44:42 -0800 Subject: [PATCH 101/111] Check for invalid json before verifying signature --- bookwyrm/views/inbox.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/bookwyrm/views/inbox.py b/bookwyrm/views/inbox.py index 4da4e5b6e..46385093c 100644 --- a/bookwyrm/views/inbox.py +++ b/bookwyrm/views/inbox.py @@ -20,7 +20,7 @@ class Inbox(View): ''' requests sent by outside servers''' def post(self, request, username=None): ''' only works as POST request ''' - # first let's do some basic checks to see if this is legible + # make sure the user's inbox even exists if username: try: models.User.objects.get(localname=username) @@ -33,6 +33,11 @@ class Inbox(View): except json.decoder.JSONDecodeError: return HttpResponseBadRequest() + if not 'object' in activity_json or \ + not 'type' in activity_json or \ + not activity_json['type'] in activitypub.activity_objects: + return HttpResponseNotFound() + # verify the signature if not has_valid_signature(request, activity_json): if activity_json['type'] == 'Delete': @@ -42,12 +47,6 @@ class Inbox(View): return HttpResponse() return HttpResponse(status=401) - # just some quick smell tests before we try to parse the json - if not 'object' in activity_json or \ - not 'type' in activity_json or \ - not activity_json['type'] in activitypub.activity_objects: - return HttpResponseNotFound() - activity_task.delay(activity_json) return HttpResponse() @@ -63,7 +62,11 @@ def activity_task(activity_json): # cool that worked, now we should do the action described by the type # (create, update, delete, etc) - activity.action() + try: + activity.action() + except activitypub.ActivitySerializerError: + # this is raised if the activity is discarded + return def has_valid_signature(request, activity): From 47cf77145d19adb1ffc11364a8f45ec948ec8018 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 09:45:02 -0800 Subject: [PATCH 102/111] Updates tests for inbox tweaks --- bookwyrm/models/favorite.py | 2 +- bookwyrm/tests/views/test_inbox.py | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/bookwyrm/models/favorite.py b/bookwyrm/models/favorite.py index 66befd80c..de500e51b 100644 --- a/bookwyrm/models/favorite.py +++ b/bookwyrm/models/favorite.py @@ -20,7 +20,7 @@ class Favorite(ActivityMixin, BookWyrmModel): @classmethod def ignore_activity(cls, activity): ''' don't bother with incoming favs of unknown statuses ''' - return cls.objects.filter(remote_id=activity.object).exists() + return not cls.objects.filter(remote_id=activity.object).exists() def save(self, *args, **kwargs): ''' update user active time ''' diff --git a/bookwyrm/tests/views/test_inbox.py b/bookwyrm/tests/views/test_inbox.py index ff55ad042..b0bd3e42f 100644 --- a/bookwyrm/tests/views/test_inbox.py +++ b/bookwyrm/tests/views/test_inbox.py @@ -74,7 +74,7 @@ class Inbox(TestCase): mock_valid.return_value = False result = self.client.post( '/user/mouse/inbox', - '{"type": "Test", "object": "exists"}', + '{"type": "Announce", "object": "exists"}', content_type="application/json" ) self.assertEqual(result.status_code, 401) @@ -494,6 +494,21 @@ class Inbox(TestCase): self.assertEqual(fav.remote_id, 'https://example.com/fav/1') self.assertEqual(fav.user, self.remote_user) + def test_ignore_favorite(self): + ''' don't try to save an unknown status ''' + activity = { + '@context': 'https://www.w3.org/ns/activitystreams', + 'id': 'https://example.com/fav/1', + 'actor': 'https://example.com/users/rat', + 'type': 'Like', + 'published': 'Mon, 25 May 2020 19:31:20 GMT', + 'object': 'https://unknown.status/not-found', + } + + views.inbox.activity_task(activity) + + self.assertFalse(models.Favorite.objects.exists()) + def test_handle_unfavorite(self): ''' fav a status ''' activity = { From 0bd27928e4d0641738a7fffe0b6d51e73e26b8e7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 7 Mar 2021 10:24:46 -0800 Subject: [PATCH 103/111] Removes username snippet --- bookwyrm/templates/book.html | 2 +- bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/lists/created_text.html | 10 ++++++++++ bookwyrm/templates/lists/curate.html | 2 +- bookwyrm/templates/lists/list_items.html | 5 +++-- bookwyrm/templates/lists/list_layout.html | 5 +++-- bookwyrm/templates/notifications.html | 6 ++++-- bookwyrm/templates/preferences/blocks.html | 2 +- bookwyrm/templates/search_results.html | 6 ++++-- bookwyrm/templates/snippets/status/status.html | 6 ++++-- .../templates/snippets/status/status_header.html | 14 ++++++++++++-- bookwyrm/templates/snippets/username.html | 13 ------------- bookwyrm/templates/user/followers.html | 13 ++++++++----- bookwyrm/templates/user/following.html | 7 +++++-- bookwyrm/templates/user/user_layout.html | 2 +- 15 files changed, 58 insertions(+), 37 deletions(-) create mode 100644 bookwyrm/templates/lists/created_text.html delete mode 100644 bookwyrm/templates/snippets/username.html diff --git a/bookwyrm/templates/book.html b/bookwyrm/templates/book.html index 06578e894..16bf11972 100644 --- a/bookwyrm/templates/book.html +++ b/bookwyrm/templates/book.html @@ -252,7 +252,7 @@
    {% include 'snippets/avatar.html' with user=rating.user %}
    - {% include 'snippets/username.html' with user=rating.user %} + {{ rating.user.display_name }}

    {% trans "rated it" %}

    diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 8a708f633..377acb6c5 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -79,7 +79,7 @@ aria-controls="navbar-dropdown" > {% include 'snippets/avatar.html' with user=request.user %} - {% include 'snippets/username.html' with user=request.user anchor=false %} + {{ user.display_name }}