mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-10-31 22:19:00 +00:00
Merge branch 'main' into production
This commit is contained in:
commit
a8dbecde57
6 changed files with 142 additions and 149 deletions
|
@ -3,4 +3,5 @@
|
|||
{% block filter_fields %}
|
||||
{% include 'user_admin/server_filter.html' %}
|
||||
{% include 'user_admin/username_filter.html' %}
|
||||
{% include 'directory/community_filter.html' %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
""" testing import """
|
||||
|
||||
from unittest.mock import patch
|
||||
from django.test import RequestFactory, TestCase
|
||||
|
||||
|
@ -7,59 +6,77 @@ from bookwyrm import models
|
|||
from bookwyrm.views import rss_feed
|
||||
|
||||
|
||||
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay")
|
||||
@patch("bookwyrm.activitystreams.ActivityStream.get_activity_stream")
|
||||
@patch("bookwyrm.activitystreams.ActivityStream.add_status")
|
||||
class RssFeedView(TestCase):
|
||||
"""rss feed behaves as expected"""
|
||||
|
||||
def setUp(self):
|
||||
"""test data"""
|
||||
self.site = models.SiteSettings.objects.create()
|
||||
|
||||
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"):
|
||||
self.user = models.User.objects.create_user(
|
||||
self.local_user = models.User.objects.create_user(
|
||||
"rss_user", "rss@test.rss", "password", local=True
|
||||
)
|
||||
|
||||
work = models.Work.objects.create(title="Test Work")
|
||||
self.book = models.Edition.objects.create(
|
||||
title="Example Edition",
|
||||
remote_id="https://example.com/book/1",
|
||||
parent_work=work,
|
||||
)
|
||||
|
||||
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"):
|
||||
with patch("bookwyrm.activitystreams.ActivityStream.add_status"):
|
||||
self.review = models.Review.objects.create(
|
||||
name="Review name",
|
||||
content="test content",
|
||||
rating=3,
|
||||
user=self.user,
|
||||
book=self.book,
|
||||
)
|
||||
|
||||
self.quote = models.Quotation.objects.create(
|
||||
quote="a sickening sense",
|
||||
content="test content",
|
||||
user=self.user,
|
||||
book=self.book,
|
||||
)
|
||||
|
||||
self.generatednote = models.GeneratedNote.objects.create(
|
||||
content="test content", user=self.user
|
||||
)
|
||||
|
||||
self.factory = RequestFactory()
|
||||
|
||||
@patch("bookwyrm.activitystreams.ActivityStream.get_activity_stream")
|
||||
def test_rss_feed(self, _):
|
||||
models.SiteSettings.objects.create()
|
||||
|
||||
def test_rss_empty(self, *_):
|
||||
"""load an rss feed"""
|
||||
view = rss_feed.RssFeed()
|
||||
request = self.factory.get("/user/rss_user/rss")
|
||||
request.user = self.user
|
||||
with patch("bookwyrm.models.SiteSettings.objects.get") as site:
|
||||
site.return_value = self.site
|
||||
result = view(request, username=self.user.username)
|
||||
request.user = self.local_user
|
||||
result = view(request, username=self.local_user.username)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
self.assertIn(b"Status updates from rss_user", result.content)
|
||||
|
||||
def test_rss_comment(self, *_):
|
||||
"""load an rss feed"""
|
||||
models.Comment.objects.create(
|
||||
content="comment test content",
|
||||
user=self.local_user,
|
||||
book=self.book,
|
||||
)
|
||||
view = rss_feed.RssFeed()
|
||||
request = self.factory.get("/user/rss_user/rss")
|
||||
request.user = self.local_user
|
||||
result = view(request, username=self.local_user.username)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
self.assertIn(b"Example Edition", result.content)
|
||||
|
||||
def test_rss_review(self, *_):
|
||||
"""load an rss feed"""
|
||||
models.Review.objects.create(
|
||||
name="Review name",
|
||||
content="test content",
|
||||
rating=3,
|
||||
user=self.local_user,
|
||||
book=self.book,
|
||||
)
|
||||
view = rss_feed.RssFeed()
|
||||
request = self.factory.get("/user/rss_user/rss")
|
||||
request.user = self.local_user
|
||||
result = view(request, username=self.local_user.username)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
def test_rss_quotation(self, *_):
|
||||
"""load an rss feed"""
|
||||
models.Quotation.objects.create(
|
||||
quote="a sickening sense",
|
||||
content="test content",
|
||||
user=self.local_user,
|
||||
book=self.book,
|
||||
)
|
||||
view = rss_feed.RssFeed()
|
||||
request = self.factory.get("/user/rss_user/rss")
|
||||
request.user = self.local_user
|
||||
result = view(request, username=self.local_user.username)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
self.assertIn(b"Status updates from rss_user", result.content)
|
||||
self.assertIn(b"a sickening sense", result.content)
|
||||
self.assertIn(b"Example Edition", result.content)
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
""" serialize user's posts in rss feed """
|
||||
|
||||
from django.contrib.syndication.views import Feed
|
||||
from django.template.loader import get_template
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from .helpers import get_user_from_username, privacy_filter
|
||||
|
||||
# pylint: disable=no-self-use, unused-argument
|
||||
|
@ -8,7 +11,15 @@ class RssFeed(Feed):
|
|||
"""serialize user's posts in rss feed"""
|
||||
|
||||
description_template = "rss/content.html"
|
||||
title_template = "rss/title.html"
|
||||
|
||||
def item_title(self, item):
|
||||
"""render the item title"""
|
||||
if hasattr(item, "pure_name") and item.pure_name:
|
||||
return item.pure_name
|
||||
title_template = get_template("snippets/status/header_content.html")
|
||||
title = title_template.render({"status": item})
|
||||
template = get_template("rss/title.html")
|
||||
return template.render({"user": item.user, "item_title": title}).strip()
|
||||
|
||||
def get_object(self, request, username): # pylint: disable=arguments-differ
|
||||
"""the user who's posts get serialized"""
|
||||
|
@ -20,7 +31,7 @@ class RssFeed(Feed):
|
|||
|
||||
def title(self, obj):
|
||||
"""title of the rss feed entry"""
|
||||
return f"Status updates from {obj.display_name}"
|
||||
return _(f"Status updates from {obj.display_name}")
|
||||
|
||||
def items(self, obj):
|
||||
"""the user's activity feed"""
|
||||
|
|
|
@ -30,6 +30,9 @@ class UserAdminList(View):
|
|||
username = request.GET.get("username")
|
||||
if username:
|
||||
filters["username__icontains"] = username
|
||||
scope = request.GET.get("scope")
|
||||
if scope:
|
||||
filters["local"] = scope == "local"
|
||||
|
||||
users = models.User.objects.filter(**filters)
|
||||
|
||||
|
|
Binary file not shown.
|
@ -101,10 +101,8 @@ msgid "Home"
|
|||
msgstr "主页"
|
||||
|
||||
#: bookwyrm/settings.py:124
|
||||
#, fuzzy
|
||||
#| msgid "Book Title"
|
||||
msgid "Books Timeline"
|
||||
msgstr "书名"
|
||||
msgstr "书目时间线"
|
||||
|
||||
#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21
|
||||
#: bookwyrm/templates/search/layout.html:42
|
||||
|
@ -446,7 +444,7 @@ msgstr "从网址加载封面:"
|
|||
#: bookwyrm/templates/book/edit_book.html:11
|
||||
#, python-format
|
||||
msgid "Edit \"%(book_title)s\""
|
||||
msgstr "编辑 \"%(book_title)s\""
|
||||
msgstr "编辑《%(book_title)s》"
|
||||
|
||||
#: bookwyrm/templates/book/edit_book.html:5
|
||||
#: bookwyrm/templates/book/edit_book.html:13
|
||||
|
@ -460,7 +458,7 @@ msgstr "确认书目信息"
|
|||
#: bookwyrm/templates/book/edit_book.html:62
|
||||
#, python-format
|
||||
msgid "Is \"%(name)s\" an existing author?"
|
||||
msgstr "\"%(name)s\" 是已存在的作者吗?"
|
||||
msgstr "“%(name)s” 是已存在的作者吗?"
|
||||
|
||||
#: bookwyrm/templates/book/edit_book.html:71
|
||||
#, python-format
|
||||
|
@ -474,7 +472,7 @@ msgstr "这是一位新的作者"
|
|||
#: bookwyrm/templates/book/edit_book.html:82
|
||||
#, python-format
|
||||
msgid "Creating a new author: %(name)s"
|
||||
msgstr "正在创建新的作者: %(name)s"
|
||||
msgstr "正在创建新的作者: %(name)s"
|
||||
|
||||
#: bookwyrm/templates/book/edit_book.html:89
|
||||
msgid "Is this an edition of an existing work?"
|
||||
|
@ -591,7 +589,7 @@ msgstr "%(book_title)s 的各版本"
|
|||
#: bookwyrm/templates/book/editions.html:8
|
||||
#, python-format
|
||||
msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> 的各版本"
|
||||
msgstr "<a href=\"%(work_path)s\">《%(work_title)s》</a> 的各版本"
|
||||
|
||||
#: bookwyrm/templates/book/format_filter.html:8
|
||||
#: bookwyrm/templates/book/language_filter.html:8
|
||||
|
@ -685,30 +683,24 @@ msgid "Compose status"
|
|||
msgstr "撰写状态"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Confirm"
|
||||
msgid "Confirm email"
|
||||
msgstr "确认"
|
||||
msgstr "确认邮箱"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:7
|
||||
#, fuzzy
|
||||
#| msgid "Email address:"
|
||||
msgid "Confirm your email address"
|
||||
msgstr "邮箱地址:"
|
||||
msgstr "确认你的邮箱地址:"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:13
|
||||
msgid "A confirmation code has been sent to the email address you used to register your account."
|
||||
msgstr ""
|
||||
msgstr "确认码已经被发送到了你注册时所使用的邮箱地址。"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:15
|
||||
msgid "Sorry! We couldn't find that code."
|
||||
msgstr ""
|
||||
msgstr "抱歉!我们无法找到该代码。"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Confirm password:"
|
||||
msgid "Confirmation code:"
|
||||
msgstr "确认密码:"
|
||||
msgstr "确认代码:"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:25
|
||||
#: bookwyrm/templates/landing/landing_layout.html:70
|
||||
|
@ -718,11 +710,11 @@ msgstr "提交"
|
|||
|
||||
#: bookwyrm/templates/confirm_email/confirm_email.html:32
|
||||
msgid "Can't find your code?"
|
||||
msgstr ""
|
||||
msgstr "找不到你的代码?"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/resend_form.html:4
|
||||
msgid "Resend confirmation link"
|
||||
msgstr ""
|
||||
msgstr "重新发送确认链接"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/resend_form.html:11
|
||||
#: bookwyrm/templates/landing/landing_layout.html:64
|
||||
|
@ -733,10 +725,8 @@ msgid "Email address:"
|
|||
msgstr "邮箱地址:"
|
||||
|
||||
#: bookwyrm/templates/confirm_email/resend_form.html:17
|
||||
#, fuzzy
|
||||
#| msgid "Re-send invite"
|
||||
msgid "Resend link"
|
||||
msgstr "重新发送请求"
|
||||
msgstr "重新发送链接"
|
||||
|
||||
#: bookwyrm/templates/directory/community_filter.html:5
|
||||
msgid "Community"
|
||||
|
@ -787,10 +777,8 @@ msgstr "最近活跃"
|
|||
#: bookwyrm/templates/directory/user_card.html:18
|
||||
#: bookwyrm/templates/user/user_preview.html:16
|
||||
#: bookwyrm/templates/user/user_preview.html:17
|
||||
#, fuzzy
|
||||
#| msgid "Your Account"
|
||||
msgid "Locked account"
|
||||
msgstr "你的帐号"
|
||||
msgstr "帐号已上锁"
|
||||
|
||||
#: bookwyrm/templates/directory/user_card.html:40
|
||||
msgid "follower you follow"
|
||||
|
@ -825,15 +813,13 @@ msgstr "所有已知用户"
|
|||
#: bookwyrm/templates/discover/discover.html:4
|
||||
#: bookwyrm/templates/discover/discover.html:10
|
||||
#: bookwyrm/templates/layout.html:71
|
||||
#, fuzzy
|
||||
#| msgid "Discard"
|
||||
msgid "Discover"
|
||||
msgstr "削除"
|
||||
msgstr "发现"
|
||||
|
||||
#: bookwyrm/templates/discover/discover.html:12
|
||||
#, python-format
|
||||
msgid "See what's new in the local %(site_name)s community"
|
||||
msgstr ""
|
||||
msgstr "看看本地 %(site_name)s 社区的新消息"
|
||||
|
||||
#: bookwyrm/templates/discover/large-book.html:46
|
||||
#: bookwyrm/templates/discover/small-book.html:32
|
||||
|
@ -857,36 +843,32 @@ msgstr "引用了"
|
|||
|
||||
#: bookwyrm/templates/discover/large-book.html:68
|
||||
#: bookwyrm/templates/discover/small-book.html:52
|
||||
#, fuzzy
|
||||
#| msgid "Like status"
|
||||
msgid "View status"
|
||||
msgstr "喜欢状态"
|
||||
msgstr "浏览状态"
|
||||
|
||||
#: bookwyrm/templates/email/confirm/html_content.html:6
|
||||
#: bookwyrm/templates/email/confirm/text_content.html:4
|
||||
#, python-format
|
||||
msgid "One last step before you join %(site_name)s! Please confirm your email address by clicking the link below:"
|
||||
msgstr ""
|
||||
msgstr "在加入 %(site_name)s 前的最后一步!请点击以下链接以确认你的邮箱:"
|
||||
|
||||
#: bookwyrm/templates/email/confirm/html_content.html:11
|
||||
#, fuzzy
|
||||
#| msgid "Confirm"
|
||||
msgid "Confirm Email"
|
||||
msgstr "确认"
|
||||
msgstr "确认邮箱"
|
||||
|
||||
#: bookwyrm/templates/email/confirm/html_content.html:15
|
||||
#, python-format
|
||||
msgid "Or enter the code \"<code>%(confirmation_code)s</code>\" at login."
|
||||
msgstr ""
|
||||
msgstr "或者在登录时输入代码 “<code>%(confirmation_code)s</code>”。"
|
||||
|
||||
#: bookwyrm/templates/email/confirm/subject.html:2
|
||||
msgid "Please confirm your email"
|
||||
msgstr ""
|
||||
msgstr "请确认你的邮箱"
|
||||
|
||||
#: bookwyrm/templates/email/confirm/text_content.html:10
|
||||
#, python-format
|
||||
msgid "Or enter the code \"%(confirmation_code)s\" at login."
|
||||
msgstr ""
|
||||
msgstr "或者在登录时输入代码 “%(confirmation_code)s”。"
|
||||
|
||||
#: bookwyrm/templates/email/html_layout.html:15
|
||||
#: bookwyrm/templates/email/text_layout.html:2
|
||||
|
@ -969,10 +951,9 @@ msgid "You have no messages right now."
|
|||
msgstr "你现在没有消息。"
|
||||
|
||||
#: bookwyrm/templates/feed/feed.html:22
|
||||
#, fuzzy, python-format
|
||||
#| msgid "load <span data-poll=\"stream/%(tab)s\">0</span> unread status(es)"
|
||||
#, python-format
|
||||
msgid "load <span data-poll=\"stream/%(tab_key)s\">0</span> unread status(es)"
|
||||
msgstr "加载 <span data-poll=\"stream/%(tab)s\">0</span> 条未读状态"
|
||||
msgstr "加载 <span data-poll=\"stream/%(tab_key)s\">0</span> 条未读状态"
|
||||
|
||||
#: bookwyrm/templates/feed/feed.html:38
|
||||
msgid "There aren't any activities right now! Try following a user to get started"
|
||||
|
@ -1447,7 +1428,7 @@ msgstr "联系站点管理员"
|
|||
|
||||
#: bookwyrm/templates/layout.html:226
|
||||
msgid "Documentation"
|
||||
msgstr "文档:"
|
||||
msgstr "文档"
|
||||
|
||||
#: bookwyrm/templates/layout.html:233
|
||||
#, python-format
|
||||
|
@ -1591,7 +1572,7 @@ msgstr "清除搜索"
|
|||
#: bookwyrm/templates/lists/list.html:151
|
||||
#, python-format
|
||||
msgid "No books found matching the query \"%(query)s\""
|
||||
msgstr "没有符合 \"%(query)s\" 请求的书目"
|
||||
msgstr "没有符合 “%(query)s” 请求的书目"
|
||||
|
||||
#: bookwyrm/templates/lists/list.html:179
|
||||
msgid "Suggest"
|
||||
|
@ -1607,7 +1588,7 @@ msgstr "登录"
|
|||
|
||||
#: bookwyrm/templates/login.html:16
|
||||
msgid "Success! Email address confirmed."
|
||||
msgstr ""
|
||||
msgstr "成功!邮箱地址已确认。"
|
||||
|
||||
#: bookwyrm/templates/login.html:28 bookwyrm/templates/password_reset.html:17
|
||||
#: bookwyrm/templates/snippets/register_form.html:22
|
||||
|
@ -1811,13 +1792,13 @@ msgstr "转发了你的 <a href=\"%(related_path)s\">状态</a>"
|
|||
|
||||
#: bookwyrm/templates/notifications.html:121
|
||||
#, python-format
|
||||
msgid " added <em><a href=\"%(book_path)s\">%(book_title)s</a></em> to your list \"<a href=\"%(list_path)s\">%(list_name)s</a>\""
|
||||
msgstr " 添加了 <em><a href=\"%(book_path)s\">%(book_title)s</a></em> 到你的列表 \"<a href=\"%(list_path)s\">%(list_name)s</a>\""
|
||||
msgid " added <em><a href=\"%(book_path)s\">%(book_title)s</a></em> to your list “<a href=\"%(list_path)s\">%(list_name)s</a>”"
|
||||
msgstr " 添加了 <em><a href=\"%(book_path)s\">%(book_title)s</a></em> 到你的列表 “<a href=\"%(list_path)s\">%(list_name)s</a>”"
|
||||
|
||||
#: bookwyrm/templates/notifications.html:123
|
||||
#, python-format
|
||||
msgid " suggested adding <em><a href=\"%(book_path)s\">%(book_title)s</a></em> to your list \"<a href=\"%(list_path)s/curate\">%(list_name)s</a>\""
|
||||
msgstr " 推荐添加 <em><a href=\"%(book_path)s\">%(book_title)s</a></em> 到你的列表 \"<a href=\"%(list_path)s/curate\">%(list_name)s</a>\""
|
||||
msgstr " 推荐添加 <em><a href=\"%(book_path)s\">%(book_title)s</a></em> 到你的列表 “<a href=\"%(list_path)s/curate\">%(list_name)s</a>”"
|
||||
|
||||
#: bookwyrm/templates/notifications.html:128
|
||||
#, python-format
|
||||
|
@ -1893,10 +1874,8 @@ msgid "Show set reading goal prompt in feed:"
|
|||
msgstr "在消息流中显示设置阅读目标的提示:"
|
||||
|
||||
#: bookwyrm/templates/preferences/edit_user.html:58
|
||||
#, fuzzy
|
||||
#| msgid "Post privacy"
|
||||
msgid "Default post privacy:"
|
||||
msgstr "发文隐私"
|
||||
msgstr "默认发文隐私:"
|
||||
|
||||
#: bookwyrm/templates/preferences/edit_user.html:70
|
||||
#, python-format
|
||||
|
@ -1922,17 +1901,17 @@ msgstr "关系"
|
|||
#: bookwyrm/templates/reading_progress/finish.html:5
|
||||
#, python-format
|
||||
msgid "Finish \"%(book_title)s\""
|
||||
msgstr "完成 \"%(book_title)s\""
|
||||
msgstr "完成《%(book_title)s》"
|
||||
|
||||
#: bookwyrm/templates/reading_progress/start.html:5
|
||||
#, python-format
|
||||
msgid "Start \"%(book_title)s\""
|
||||
msgstr "开始 \"%(book_title)s\""
|
||||
msgstr "开始《%(book_title)s》"
|
||||
|
||||
#: bookwyrm/templates/reading_progress/want.html:5
|
||||
#, python-format
|
||||
msgid "Want to Read \"%(book_title)s\""
|
||||
msgstr "想要阅读 \"%(book_title)s\""
|
||||
msgstr "想要阅读《%(book_title)s》"
|
||||
|
||||
#: bookwyrm/templates/search/book.html:64
|
||||
msgid "Load results from other catalogues"
|
||||
|
@ -1944,7 +1923,7 @@ msgstr "手动添加书目"
|
|||
|
||||
#: bookwyrm/templates/search/book.html:73
|
||||
msgid "Log in to import or add books."
|
||||
msgstr "登陆以导入或添加书目。"
|
||||
msgstr "登录以导入或添加书目。"
|
||||
|
||||
#: bookwyrm/templates/search/layout.html:16
|
||||
msgid "Search query"
|
||||
|
@ -1965,7 +1944,7 @@ msgstr "用户"
|
|||
#: bookwyrm/templates/search/layout.html:58
|
||||
#, python-format
|
||||
msgid "No results found for \"%(query)s\""
|
||||
msgstr "没有找到 \"%(query)s\" 的搜索结果"
|
||||
msgstr "没有找到 “%(query)s” 的搜索结果"
|
||||
|
||||
#: bookwyrm/templates/settings/admin_layout.html:4
|
||||
msgid "Administration"
|
||||
|
@ -2414,11 +2393,11 @@ msgstr "允许请求邀请"
|
|||
|
||||
#: bookwyrm/templates/settings/site.html:97
|
||||
msgid "Require users to confirm email address"
|
||||
msgstr ""
|
||||
msgstr "要求用户确认邮箱地址"
|
||||
|
||||
#: bookwyrm/templates/settings/site.html:99
|
||||
msgid "(Recommended if registration is open)"
|
||||
msgstr ""
|
||||
msgstr "(当开放注册时推荐)"
|
||||
|
||||
#: bookwyrm/templates/settings/site.html:102
|
||||
msgid "Registration closed text:"
|
||||
|
@ -2433,15 +2412,14 @@ msgstr "由 <a href=\"%(user_path)s\">%(username)s</a> 发布"
|
|||
#, python-format
|
||||
msgid "and %(remainder_count_display)s other"
|
||||
msgid_plural "and %(remainder_count_display)s others"
|
||||
msgstr[0] ""
|
||||
msgstr[0] "与其它 %(remainder_count_display)s 位"
|
||||
|
||||
#: bookwyrm/templates/snippets/book_cover.html:32
|
||||
msgid "No cover"
|
||||
msgstr "没有封面"
|
||||
|
||||
#: bookwyrm/templates/snippets/book_titleby.html:6
|
||||
#, fuzzy, python-format
|
||||
#| msgid "<a href=\"%(path)s\">%(title)s</a> by "
|
||||
#, python-format
|
||||
msgid "<a href=\"%(path)s\">%(title)s</a> by"
|
||||
msgstr "<a href=\"%(path)s\">%(title)s</a> 来自"
|
||||
|
||||
|
@ -2465,7 +2443,7 @@ msgstr "引用"
|
|||
|
||||
#: bookwyrm/templates/snippets/create_status/comment.html:15
|
||||
msgid "Some thoughts on the book"
|
||||
msgstr ""
|
||||
msgstr "对书的一些看法"
|
||||
|
||||
#: bookwyrm/templates/snippets/create_status/comment.html:26
|
||||
#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:16
|
||||
|
@ -2533,16 +2511,14 @@ msgid "Quote:"
|
|||
msgstr "引用:"
|
||||
|
||||
#: bookwyrm/templates/snippets/create_status/quotation.html:27
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Start \"%(book_title)s\""
|
||||
#, python-format
|
||||
msgid "An excerpt from '%(book_title)s'"
|
||||
msgstr "开始 \"%(book_title)s\""
|
||||
msgstr "摘自《%(book_title)s》的节录"
|
||||
|
||||
#: bookwyrm/templates/snippets/create_status/review.html:20
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Editions of %(book_title)s"
|
||||
#, python-format
|
||||
msgid "Your review of '%(book_title)s'"
|
||||
msgstr "%(book_title)s 的各版本"
|
||||
msgstr "你对《%(book_title)s》的书评"
|
||||
|
||||
#: bookwyrm/templates/snippets/create_status/review.html:32
|
||||
msgid "Review:"
|
||||
|
@ -2584,10 +2560,9 @@ msgid "Clear filters"
|
|||
msgstr "清除过滤器"
|
||||
|
||||
#: bookwyrm/templates/snippets/follow_button.html:14
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Report @%(username)s"
|
||||
#, python-format
|
||||
msgid "Follow @%(username)s"
|
||||
msgstr "报告 %(username)s"
|
||||
msgstr "关注 @%(username)s"
|
||||
|
||||
#: bookwyrm/templates/snippets/follow_button.html:16
|
||||
msgid "Follow"
|
||||
|
@ -2598,10 +2573,9 @@ msgid "Undo follow request"
|
|||
msgstr "撤回关注请求"
|
||||
|
||||
#: bookwyrm/templates/snippets/follow_button.html:30
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Report @%(username)s"
|
||||
#, python-format
|
||||
msgid "Unfollow @%(username)s"
|
||||
msgstr "报告 %(username)s"
|
||||
msgstr "取消关注 @%(username)s"
|
||||
|
||||
#: bookwyrm/templates/snippets/follow_button.html:32
|
||||
msgid "Unfollow"
|
||||
|
@ -2630,9 +2604,7 @@ msgid_plural "set a goal to read %(counter)s books in %(year)s"
|
|||
msgstr[0] "设定了在 %(year)s 内要读 %(counter)s 本书的目标"
|
||||
|
||||
#: bookwyrm/templates/snippets/generated_status/rating.html:3
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Rated <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rating)s star"
|
||||
#| msgid_plural "Rated <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rating)s stars"
|
||||
#, python-format
|
||||
msgid "rated <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rating)s star"
|
||||
msgid_plural "rated <em><a href=\"%(path)s\">%(title)s</a></em>: %(display_rating)s stars"
|
||||
msgstr[0] "为 <em><a href=\"%(path)s\">%(title)s</a></em> 打了分: %(display_rating)s 星"
|
||||
|
@ -2641,12 +2613,12 @@ msgstr[0] "为 <em><a href=\"%(path)s\">%(title)s</a></em> 打了分: %(display_
|
|||
#, python-format
|
||||
msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s"
|
||||
msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s"
|
||||
msgstr[0] "\"%(book_title)s\" 的书评(%(display_rating)s 星): %(review_title)s"
|
||||
msgstr[0] "《%(book_title)s》的书评(%(display_rating)s 星): %(review_title)s"
|
||||
|
||||
#: bookwyrm/templates/snippets/generated_status/review_pure_name.html:8
|
||||
#, python-format
|
||||
msgid "Review of \"%(book_title)s\": %(review_title)s"
|
||||
msgstr "\"%(book_title)s\" 的书评: %(review_title)s"
|
||||
msgstr "《%(book_title)s》的书评: %(review_title)s"
|
||||
|
||||
#: bookwyrm/templates/snippets/goal_card.html:23
|
||||
#, python-format
|
||||
|
@ -2777,7 +2749,7 @@ msgstr "移动书目"
|
|||
#: bookwyrm/templates/snippets/shelve_button/finish_reading_modal.html:5
|
||||
#, python-format
|
||||
msgid "Finish \"<em>%(book_title)s</em>\""
|
||||
msgstr "完成 \"<em>%(book_title)s</em>\""
|
||||
msgstr "完成《<em>%(book_title)s</em>》"
|
||||
|
||||
#: bookwyrm/templates/snippets/shelve_button/progress_update_modal.html:5
|
||||
#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45
|
||||
|
@ -2809,12 +2781,12 @@ msgstr "从 %(name)s 移除"
|
|||
#: bookwyrm/templates/snippets/shelve_button/start_reading_modal.html:5
|
||||
#, python-format
|
||||
msgid "Start \"<em>%(book_title)s</em>\""
|
||||
msgstr "开始 \"<em>%(book_title)s</em>\""
|
||||
msgstr "开始《<em>%(book_title)s</em>》"
|
||||
|
||||
#: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5
|
||||
#, python-format
|
||||
msgid "Want to Read \"<em>%(book_title)s</em>\""
|
||||
msgstr "想要阅读 \"<em>%(book_title)s</em>\""
|
||||
msgstr "想要阅读《<em>%(book_title)s</em>》"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/content_status.html:72
|
||||
#: bookwyrm/templates/snippets/trimmed_text.html:17
|
||||
|
@ -2831,10 +2803,9 @@ msgid "Open image in new window"
|
|||
msgstr "在新窗口中打开图像"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/comment.html:2
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||
#, python-format
|
||||
msgid "commented on <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> 的各版本"
|
||||
msgstr "评论了 <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/note.html:15
|
||||
#, python-format
|
||||
|
@ -2842,40 +2813,35 @@ msgid "replied to <a href=\"%(user_path)s\">%(username)s</a>'s <a href=\"%(statu
|
|||
msgstr "回复了 <a href=\"%(user_path)s\">%(username)s</a> 的 <a href=\"%(status_path)s\">状态</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/quotation.html:2
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
#| msgid "Reported by <a href=\"%(path)s\">%(username)s</a>"
|
||||
msgid "quoted <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr "由 <a href=\"%(path)s\">%(username)s</a> 报告"
|
||||
msgstr "引用了 <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/rating.html:3
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Created by <a href=\"%(path)s\">%(username)s</a>"
|
||||
#, python-format
|
||||
msgid "rated <a href=\"%(book_path)s\">%(book)s</a>:"
|
||||
msgstr "由 <a href=\"%(path)s\">%(username)s</a> 创建"
|
||||
msgstr "为 <a href=\"%(book_path)s\">%(book)s</a> 打了分:"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/read.html:5
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Editions of <a href=\"%(work_path)s\">\"%(work_title)s\"</a>"
|
||||
#, python-format
|
||||
msgid "finished reading <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr "<a href=\"%(work_path)s\">\"%(work_title)s\"</a> 的各版本"
|
||||
msgstr "完成阅读 <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/reading.html:6
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Created by <a href=\"%(path)s\">%(username)s</a>"
|
||||
#, python-format
|
||||
msgid "started reading <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr "由 <a href=\"%(path)s\">%(username)s</a> 创建"
|
||||
msgstr "开始阅读 <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/review.html:3
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Created by <a href=\"%(path)s\">%(username)s</a>"
|
||||
#, python-format
|
||||
msgid "reviewed <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr "由 <a href=\"%(path)s\">%(username)s</a> 创建"
|
||||
msgstr "为 <a href=\"%(book_path)s\">%(book)s</a> 撰写了书评"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/headers/to_read.html:6
|
||||
#, fuzzy, python-format
|
||||
#| msgid "replied to <a href=\"%(user_path)s\">%(username)s's</a> <a href=\"%(status_path)s\">status</a>"
|
||||
#, python-format
|
||||
msgid "<a href=\"%(user_path)s\">%(username)s</a> wants to read <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
msgstr "回复了 <a href=\"%(user_path)s\">%(username)s</a> 的 <a href=\"%(status_path)s\">状态</a>"
|
||||
msgstr "<a href=\"%(user_path)s\">%(username)s</a> 想要阅读 <a href=\"%(book_path)s\">%(book)s</a>"
|
||||
|
||||
#: bookwyrm/templates/snippets/status/layout.html:21
|
||||
#: bookwyrm/templates/snippets/status/status_options.html:17
|
||||
|
@ -2925,10 +2891,8 @@ msgstr[0] "%(shared_books)s 本在你书架上也有的书"
|
|||
|
||||
#: bookwyrm/templates/snippets/suggested_users.html:31
|
||||
#: bookwyrm/templates/user/user_preview.html:36
|
||||
#, fuzzy
|
||||
#| msgid "followed you"
|
||||
msgid "Follows you"
|
||||
msgstr "关注了你"
|
||||
msgstr "正在关注着你"
|
||||
|
||||
#: bookwyrm/templates/snippets/switch_edition_button.html:5
|
||||
msgid "Switch to this edition"
|
||||
|
@ -3079,11 +3043,8 @@ msgid_plural "%(mutuals_display)s followers you follow"
|
|||
msgstr[0] "%(mutuals_display)s 个你也关注的关注者"
|
||||
|
||||
#: bookwyrm/templates/user/user_preview.html:38
|
||||
#, fuzzy
|
||||
#| msgid "follower you follow"
|
||||
#| msgid_plural "followers you follow"
|
||||
msgid "No followers you follow"
|
||||
msgstr "你关注的关注者"
|
||||
msgstr "没有你关注的关注者"
|
||||
|
||||
#: bookwyrm/templates/user_admin/user.html:9
|
||||
msgid "Back to users"
|
||||
|
@ -3167,7 +3128,7 @@ msgstr "%(title)s:%(subtitle)s"
|
|||
|
||||
#: bookwyrm/views/authentication.py:69
|
||||
msgid "Username or password are incorrect"
|
||||
msgstr ""
|
||||
msgstr "用户名或密码不正确"
|
||||
|
||||
#: bookwyrm/views/import_data.py:67
|
||||
msgid "Not a valid csv file"
|
||||
|
|
Loading…
Reference in a new issue