diff --git a/bookwyrm/templates/user_admin/user_admin_filters.html b/bookwyrm/templates/user_admin/user_admin_filters.html index 57e017e5..5283b4e9 100644 --- a/bookwyrm/templates/user_admin/user_admin_filters.html +++ b/bookwyrm/templates/user_admin/user_admin_filters.html @@ -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 %} diff --git a/bookwyrm/tests/views/test_rss_feed.py b/bookwyrm/tests/views/test_rss_feed.py index 3608b043..f2d3baf2 100644 --- a/bookwyrm/tests/views/test_rss_feed.py +++ b/bookwyrm/tests/views/test_rss_feed.py @@ -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) diff --git a/bookwyrm/views/rss_feed.py b/bookwyrm/views/rss_feed.py index 0d3a8902..5faa1624 100644 --- a/bookwyrm/views/rss_feed.py +++ b/bookwyrm/views/rss_feed.py @@ -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""" diff --git a/bookwyrm/views/user_admin.py b/bookwyrm/views/user_admin.py index 9d08e930..7cfefb0f 100644 --- a/bookwyrm/views/user_admin.py +++ b/bookwyrm/views/user_admin.py @@ -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) diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 13ee2ab0..dbe69686 100644 Binary files a/locale/zh_Hans/LC_MESSAGES/django.mo and b/locale/zh_Hans/LC_MESSAGES/django.mo differ diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 9ece3e74..54712649 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -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 \"%(work_title)s\"" -msgstr "\"%(work_title)s\" 的各版本" +msgstr "《%(work_title)s》 的各版本" #: 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 \"%(confirmation_code)s\" at login." -msgstr "" +msgstr "或者在登录时输入代码 “%(confirmation_code)s”。" #: 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 0 unread status(es)" +#, python-format msgid "load 0 unread status(es)" -msgstr "加载 0 条未读状态" +msgstr "加载 0 条未读状态" #: 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 "转发了你的 状态" #: bookwyrm/templates/notifications.html:121 #, 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:123 #, python-format msgid " suggested adding %(book_title)s to your list \"%(list_name)s\"" -msgstr " 推荐添加 %(book_title)s 到你的列表 \"%(list_name)s\"" +msgstr " 推荐添加 %(book_title)s 到你的列表 “%(list_name)s”" #: 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 "由 %(username)s 发布" #, 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 "%(title)s by " +#, python-format msgid "%(title)s by" msgstr "%(title)s 来自" @@ -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 %(title)s: %(display_rating)s star" -#| msgid_plural "Rated %(title)s: %(display_rating)s stars" +#, python-format msgid "rated %(title)s: %(display_rating)s star" msgid_plural "rated %(title)s: %(display_rating)s stars" msgstr[0] "为 %(title)s 打了分: %(display_rating)s 星" @@ -2641,12 +2613,12 @@ msgstr[0] "为 %(title)s 打了分: %(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 \"%(book_title)s\"" -msgstr "完成 \"%(book_title)s\"" +msgstr "完成《%(book_title)s》" #: 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 \"%(book_title)s\"" -msgstr "开始 \"%(book_title)s\"" +msgstr "开始《%(book_title)s》" #: bookwyrm/templates/snippets/shelve_button/want_to_read_modal.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" -msgstr "想要阅读 \"%(book_title)s\"" +msgstr "想要阅读《%(book_title)s》" #: 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 \"%(work_title)s\"" +#, python-format msgid "commented on %(book)s" -msgstr "\"%(work_title)s\" 的各版本" +msgstr "评论了 %(book)s" #: bookwyrm/templates/snippets/status/headers/note.html:15 #, python-format @@ -2842,40 +2813,35 @@ msgid "replied to %(username)s's %(username)s状态" #: bookwyrm/templates/snippets/status/headers/quotation.html:2 -#, fuzzy, python-format +#, python-format #| msgid "Reported by %(username)s" msgid "quoted %(book)s" -msgstr "由 %(username)s 报告" +msgstr "引用了 %(book)s" #: bookwyrm/templates/snippets/status/headers/rating.html:3 -#, fuzzy, python-format -#| msgid "Created by %(username)s" +#, python-format msgid "rated %(book)s:" -msgstr "由 %(username)s 创建" +msgstr "为 %(book)s 打了分:" #: bookwyrm/templates/snippets/status/headers/read.html:5 -#, fuzzy, python-format -#| msgid "Editions of \"%(work_title)s\"" +#, python-format msgid "finished reading %(book)s" -msgstr "\"%(work_title)s\" 的各版本" +msgstr "完成阅读 %(book)s" #: bookwyrm/templates/snippets/status/headers/reading.html:6 -#, fuzzy, python-format -#| msgid "Created by %(username)s" +#, python-format msgid "started reading %(book)s" -msgstr "由 %(username)s 创建" +msgstr "开始阅读 %(book)s" #: bookwyrm/templates/snippets/status/headers/review.html:3 -#, fuzzy, python-format -#| msgid "Created by %(username)s" +#, python-format msgid "reviewed %(book)s" -msgstr "由 %(username)s 创建" +msgstr "为 %(book)s 撰写了书评" #: bookwyrm/templates/snippets/status/headers/to_read.html:6 -#, fuzzy, python-format -#| msgid "replied to %(username)s's status" +#, python-format msgid "%(username)s wants to read %(book)s" -msgstr "回复了 %(username)s状态" +msgstr "%(username)s 想要阅读 %(book)s" #: 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"