From 39cdaa1c887c3268932d45c19bcf12af1bb3005c Mon Sep 17 00:00:00 2001
From: Your Name
Date: Sun, 27 Oct 2024 14:45:18 -0400
Subject: [PATCH] configurable items per page
---
catalog/views.py | 20 +-
common/config.py | 1 +
common/utils.py | 19 +-
journal/views/common.py | 3 +-
locale/django.pot | 110 ++++-----
locale/zh_Hans/LC_MESSAGES/django.po | 310 ++++++++++++-------------
locale/zh_Hant/LC_MESSAGES/django.po | 310 ++++++++++++-------------
users/templates/users/preferences.html | 15 +-
8 files changed, 414 insertions(+), 374 deletions(-)
diff --git a/catalog/views.py b/catalog/views.py
index 61969edd..17ef0caa 100644
--- a/catalog/views.py
+++ b/catalog/views.py
@@ -10,7 +10,12 @@
from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.decorators.http import require_http_methods
-from common.utils import PageLinksGenerator, get_uuid_or_404, user_identity_required
+from common.utils import (
+ CustomPaginator,
+ PageLinksGenerator,
+ get_uuid_or_404,
+ user_identity_required,
+)
from journal.models import (
Collection,
Comment,
@@ -30,8 +35,7 @@
from .search.views import *
from .views_edit import *
-NUM_REVIEWS_ON_ITEM_PAGE = 5
-NUM_REVIEWS_ON_LIST_PAGE = 20
+NUM_COMMENTS_ON_ITEM_PAGE = 10
def retrieve_by_uuid(request, item_uid):
@@ -151,7 +155,7 @@ def mark_list(request, item_path, item_uuid, following_only=False):
queryset = queryset.filter(q_piece_in_home_feed_of_user(request.user))
else:
queryset = queryset.filter(q_piece_visible_to_user(request.user))
- paginator = Paginator(queryset, NUM_REVIEWS_ON_LIST_PAGE)
+ paginator = CustomPaginator(queryset, request)
page_number = request.GET.get("page", default=1)
marks = paginator.get_page(page_number)
pagination = PageLinksGenerator(page_number, paginator.num_pages, request.GET)
@@ -171,7 +175,7 @@ def review_list(request, item_path, item_uuid):
item = get_object_or_404(Item, uid=get_uuid_or_404(item_uuid))
queryset = Review.objects.filter(item=item).order_by("-created_time")
queryset = queryset.filter(q_piece_visible_to_user(request.user))
- paginator = Paginator(queryset, NUM_REVIEWS_ON_LIST_PAGE)
+ paginator = CustomPaginator(queryset, request)
page_number = request.GET.get("page", default=1)
reviews = paginator.get_page(page_number)
pagination = PageLinksGenerator(page_number, paginator.num_pages, request.GET)
@@ -199,7 +203,7 @@ def comments(request, item_path, item_uuid):
"_item_comments.html",
{
"item": item,
- "comments": queryset[:11],
+ "comments": queryset[: NUM_COMMENTS_ON_ITEM_PAGE + 1],
},
)
@@ -223,7 +227,7 @@ def comments_by_episode(request, item_path, item_uuid):
{
"item": item,
"episode_uuid": episode_uuid,
- "comments": queryset[:11],
+ "comments": queryset[: NUM_COMMENTS_ON_ITEM_PAGE + 1],
},
)
@@ -241,7 +245,7 @@ def reviews(request, item_path, item_uuid):
"_item_reviews.html",
{
"item": item,
- "reviews": queryset[:11],
+ "reviews": queryset[: NUM_COMMENTS_ON_ITEM_PAGE + 1],
},
)
diff --git a/common/config.py b/common/config.py
index 2f5b69df..08d29223 100644
--- a/common/config.py
+++ b/common/config.py
@@ -1,5 +1,6 @@
# how many items are showed in one search result page
ITEMS_PER_PAGE = 20
+ITEMS_PER_PAGE_OPTIONS = [20, 40, 80]
# how many pages links in the pagination
PAGE_LINK_NUMBER = 7
diff --git a/common/utils.py b/common/utils.py
index 50356f87..2134b53e 100644
--- a/common/utils.py
+++ b/common/utils.py
@@ -6,12 +6,13 @@
from django.conf import settings
from django.conf.locale import LANG_INFO
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
+from django.core.paginator import Paginator
from django.core.signing import b62_decode, b62_encode
from django.http import Http404, HttpRequest, HttpResponseRedirect, QueryDict
from django.utils import timezone
from django.utils.translation import gettext as _
-from .config import PAGE_LINK_NUMBER
+from .config import ITEMS_PER_PAGE, ITEMS_PER_PAGE_OPTIONS, PAGE_LINK_NUMBER
if TYPE_CHECKING:
from users.models import APIdentity, User
@@ -111,6 +112,22 @@ def wrapper(request, user_name, *args, **kwargs):
return wrapper
+class CustomPaginator(Paginator):
+ def __init__(self, object_list, request=None) -> None:
+ per_page = ITEMS_PER_PAGE
+ if request:
+ try:
+ if request.GET.get("per_page"):
+ per_page = int(request.GET.get("per_page"))
+ elif request.COOKIES.get("per_page"):
+ per_page = int(request.COOKIES.get("per_page"))
+ except ValueError:
+ pass
+ if per_page not in ITEMS_PER_PAGE_OPTIONS:
+ per_page = ITEMS_PER_PAGE
+ super().__init__(object_list, per_page)
+
+
class PageLinksGenerator:
# TODO inherit django paginator
"""
diff --git a/journal/views/common.py b/journal/views/common.py
index 5c21c51b..eceadb09 100644
--- a/journal/views/common.py
+++ b/journal/views/common.py
@@ -12,6 +12,7 @@
from catalog.models import *
from common.utils import (
AuthedHttpRequest,
+ CustomPaginator,
PageLinksGenerator,
get_uuid_or_404,
target_identity_required,
@@ -100,7 +101,7 @@ def render_list(
if year:
year = int(year)
queryset = queryset.filter(created_time__year=year)
- paginator = Paginator(queryset, PAGE_SIZE) # type:ignore
+ paginator = CustomPaginator(queryset, request) # type:ignore
page_number = int(request.GET.get("page", default=1))
members = paginator.get_page(page_number)
pagination = PageLinksGenerator(page_number, paginator.num_pages, request.GET)
diff --git a/locale/django.pot b/locale/django.pot
index 17da81a6..624972df 100644
--- a/locale/django.pot
+++ b/locale/django.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-10-19 19:51-0400\n"
+"POT-Creation-Date: 2024-10-27 14:42-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -1117,8 +1117,8 @@ msgstr ""
#: journal/templates/mark.html:150 journal/templates/note.html:39
#: journal/templates/review_edit.html:39 journal/templates/tag_edit.html:51
#: users/templates/users/account.html:37 users/templates/users/account.html:67
-#: users/templates/users/preferences.html:187
-#: users/templates/users/preferences.html:212
+#: users/templates/users/preferences.html:188
+#: users/templates/users/preferences.html:222
msgid "Save"
msgstr ""
@@ -1144,7 +1144,7 @@ msgstr ""
msgid "This operation cannot be undone. Sure to merge?"
msgstr ""
-#: catalog/templates/discover.html:18 users/templates/users/preferences.html:32
+#: catalog/templates/discover.html:18 users/templates/users/preferences.html:33
msgid "Discover"
msgstr ""
@@ -1451,11 +1451,11 @@ msgstr ""
msgid "{season_title} E{episode_number}"
msgstr ""
-#: catalog/views.py:51 catalog/views.py:74
+#: catalog/views.py:50 catalog/views.py:73
msgid "Item not found"
msgstr ""
-#: catalog/views.py:55 catalog/views.py:82
+#: catalog/views.py:54 catalog/views.py:81
msgid "Item no longer exists"
msgstr ""
@@ -1475,14 +1475,14 @@ msgstr ""
#: journal/views/collection.py:234 journal/views/collection.py:246
#: journal/views/collection.py:260 journal/views/collection.py:274
#: journal/views/collection.py:277 journal/views/collection.py:301
-#: journal/views/common.py:135 journal/views/post.py:20
+#: journal/views/common.py:136 journal/views/post.py:20
#: journal/views/post.py:42 journal/views/review.py:32
#: journal/views/review.py:46
msgid "Insufficient permission"
msgstr ""
#: catalog/views_edit.py:202 journal/views/collection.py:263
-#: journal/views/collection.py:330 journal/views/common.py:82
+#: journal/views/collection.py:330 journal/views/common.py:83
#: journal/views/mark.py:146 journal/views/post.py:56 journal/views/post.py:70
#: journal/views/review.py:93 journal/views/review.py:96
#: users/views/actions.py:168
@@ -2366,7 +2366,7 @@ msgid "Feed"
msgstr ""
#: common/templates/_header.html:74 journal/templates/profile.html:11
-#: users/templates/users/preferences.html:44
+#: users/templates/users/preferences.html:45
msgid "Home"
msgstr ""
@@ -2380,7 +2380,7 @@ msgid "Data"
msgstr ""
#: common/templates/_header.html:95 users/templates/users/preferences.html:11
-#: users/templates/users/preferences.html:21
+#: users/templates/users/preferences.html:22
msgid "Preferences"
msgstr ""
@@ -2499,16 +2499,16 @@ msgstr ""
msgid "following you"
msgstr ""
-#: common/utils.py:62 common/utils.py:92 users/views/actions.py:34
+#: common/utils.py:63 common/utils.py:93 users/views/actions.py:34
#: users/views/actions.py:120
msgid "User not found"
msgstr ""
-#: common/utils.py:66 common/utils.py:96 users/views/actions.py:123
+#: common/utils.py:67 common/utils.py:97 users/views/actions.py:123
msgid "User no longer exists"
msgstr ""
-#: common/utils.py:74 common/utils.py:104
+#: common/utils.py:75 common/utils.py:105
msgid "Access denied"
msgstr ""
@@ -2568,7 +2568,7 @@ msgstr ""
#: journal/templates/mark.html:96 journal/templates/tag_edit.html:42
#: journal/templates/wrapped_share.html:43 users/templates/users/data.html:47
#: users/templates/users/data.html:139
-#: users/templates/users/preferences.html:54
+#: users/templates/users/preferences.html:55
msgid "Public"
msgstr ""
@@ -2576,7 +2576,7 @@ msgstr ""
#: journal/templates/collection_share.html:46 journal/templates/comment.html:42
#: journal/templates/mark.html:103 journal/templates/wrapped_share.html:49
#: users/templates/users/data.html:55 users/templates/users/data.html:147
-#: users/templates/users/preferences.html:61
+#: users/templates/users/preferences.html:62
msgid "Followers Only"
msgstr ""
@@ -2584,7 +2584,7 @@ msgstr ""
#: journal/templates/collection_share.html:57 journal/templates/comment.html:49
#: journal/templates/mark.html:110 journal/templates/wrapped_share.html:55
#: users/templates/users/data.html:63 users/templates/users/data.html:155
-#: users/templates/users/preferences.html:68
+#: users/templates/users/preferences.html:69
msgid "Mentioned Only"
msgstr ""
@@ -3497,15 +3497,15 @@ msgstr ""
msgid "Login required"
msgstr ""
-#: journal/views/common.py:34 journal/views/mark.py:123
+#: journal/views/common.py:35 journal/views/mark.py:123
msgid "Data saved but unable to crosspost to Fediverse instance."
msgstr ""
-#: journal/views/common.py:36
+#: journal/views/common.py:37
msgid "Redirecting to your Fediverse instance now to re-authenticate."
msgstr ""
-#: journal/views/common.py:43
+#: journal/views/common.py:44
msgid "List not found."
msgstr ""
@@ -4449,139 +4449,143 @@ msgstr ""
msgid "Domain of your instance (excl. @)"
msgstr ""
-#: users/templates/users/preferences.html:26
+#: users/templates/users/preferences.html:27
msgid "Default view once logged in"
msgstr ""
-#: users/templates/users/preferences.html:38
+#: users/templates/users/preferences.html:39
msgid "Activities"
msgstr ""
-#: users/templates/users/preferences.html:47
+#: users/templates/users/preferences.html:48
msgid "Default visibility"
msgstr ""
-#: users/templates/users/preferences.html:71
+#: users/templates/users/preferences.html:72
msgid "Public status will be posted to fediverse"
msgstr ""
-#: users/templates/users/preferences.html:77
+#: users/templates/users/preferences.html:78
msgid "in public timeline"
msgstr ""
-#: users/templates/users/preferences.html:83
+#: users/templates/users/preferences.html:84
msgid "unlisted and excluded from public timeline"
msgstr ""
-#: users/templates/users/preferences.html:90
+#: users/templates/users/preferences.html:91
msgid "local, this site only"
msgstr ""
-#: users/templates/users/preferences.html:96
+#: users/templates/users/preferences.html:97
msgid "Turn on crosspost to timeline by default"
msgstr ""
-#: users/templates/users/preferences.html:104
+#: users/templates/users/preferences.html:105
msgid "Method for crossposting to timeline"
msgstr ""
-#: users/templates/users/preferences.html:111
+#: users/templates/users/preferences.html:112
msgid "Boost if possible"
msgstr ""
-#: users/templates/users/preferences.html:118
+#: users/templates/users/preferences.html:119
msgid "Create a new post"
msgstr ""
-#: users/templates/users/preferences.html:119
+#: users/templates/users/preferences.html:120
msgid "this method is less optimal, may generate duplicated posts and miss reactions."
msgstr ""
-#: users/templates/users/preferences.html:123
+#: users/templates/users/preferences.html:124
msgid "Append tags when posting to timeline"
msgstr ""
-#: users/templates/users/preferences.html:126
+#: users/templates/users/preferences.html:127
msgid "e.g. #bookstodon"
msgstr ""
-#: users/templates/users/preferences.html:131
+#: users/templates/users/preferences.html:132
msgid "Language"
msgstr ""
-#: users/templates/users/preferences.html:140
+#: users/templates/users/preferences.html:141
msgid "Automatic bookmark for these categories"
msgstr ""
-#: users/templates/users/preferences.html:153
+#: users/templates/users/preferences.html:154
msgid "When start to read/watch/play/... an item in these categories, a bookmark will be created automatically. Bookmarks can be viewed and managed in most Mastodon compatible apps; your replies to these posts will automatically become notes for the item."
msgstr ""
-#: users/templates/users/preferences.html:157
+#: users/templates/users/preferences.html:158
msgid "Hide these categories in search results"
msgstr ""
-#: users/templates/users/preferences.html:175
+#: users/templates/users/preferences.html:176
msgid "Profile visible to anonymous web visitors and search engines"
msgstr ""
-#: users/templates/users/preferences.html:176
+#: users/templates/users/preferences.html:177
msgid "this option limits web visits only; to limit fediverse visibility, choose followers only or mentioned only when posting"
msgstr ""
-#: users/templates/users/preferences.html:184
+#: users/templates/users/preferences.html:185
msgid "Show your name on item page if you recently edited it"
msgstr ""
-#: users/templates/users/preferences.html:193
+#: users/templates/users/preferences.html:194
msgid "Settings for current device"
msgstr ""
-#: users/templates/users/preferences.html:195
+#: users/templates/users/preferences.html:196
msgid "theme"
msgstr ""
-#: users/templates/users/preferences.html:198
+#: users/templates/users/preferences.html:199
msgid "system"
msgstr ""
-#: users/templates/users/preferences.html:200
+#: users/templates/users/preferences.html:201
msgid "light"
msgstr ""
-#: users/templates/users/preferences.html:202
+#: users/templates/users/preferences.html:203
msgid "dark"
msgstr ""
-#: users/templates/users/preferences.html:204
+#: users/templates/users/preferences.html:205
msgid "Focus mode"
msgstr ""
-#: users/templates/users/preferences.html:207
+#: users/templates/users/preferences.html:208
msgid "hide reviews and ratings from other users"
msgstr ""
-#: users/templates/users/preferences.html:209
+#: users/templates/users/preferences.html:210
+msgid "Number of items per page"
+msgstr ""
+
+#: users/templates/users/preferences.html:219
msgid "Custom styles"
msgstr ""
-#: users/templates/users/preferences.html:228
+#: users/templates/users/preferences.html:241
msgid "Settings for current device saved"
msgstr ""
-#: users/templates/users/preferences.html:234
+#: users/templates/users/preferences.html:247
msgid "Additional Settings"
msgstr ""
-#: users/templates/users/preferences.html:236
+#: users/templates/users/preferences.html:249
msgid "View authorized applications"
msgstr ""
-#: users/templates/users/preferences.html:240
+#: users/templates/users/preferences.html:253
msgid "Migrate account"
msgstr ""
-#: users/templates/users/preferences.html:242
+#: users/templates/users/preferences.html:255
msgid "Link an email so that you can migrate followers from other Fediverse instances."
msgstr ""
diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po
index 3a751f52..14b4e117 100644
--- a/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/locale/zh_Hans/LC_MESSAGES/django.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-07-28 16:10-0400\n"
+"POT-Creation-Date: 2024-10-27 14:42-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -15,29 +15,29 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: boofilsic/settings.py:425 common/models/lang.py:197
+#: boofilsic/settings.py:428 common/models/lang.py:197
msgid "English"
msgstr "英语"
-#: boofilsic/settings.py:426
+#: boofilsic/settings.py:429
msgid "Simplified Chinese"
msgstr "简体中文"
-#: boofilsic/settings.py:427
+#: boofilsic/settings.py:430
msgid "Traditional Chinese"
msgstr "繁体中文"
-#: boofilsic/settings.py:428 common/models/lang.py:44
+#: boofilsic/settings.py:431 common/models/lang.py:44
msgid "Danish"
msgstr "丹麦语"
#: catalog/book/models.py:80 catalog/book/models.py:99
-#: catalog/common/models.py:306 catalog/common/models.py:324
+#: catalog/common/models.py:310 catalog/common/models.py:328
msgid "locale"
msgstr "区域语言"
#: catalog/book/models.py:83 catalog/book/models.py:102
-#: catalog/common/models.py:309 catalog/common/models.py:329
+#: catalog/common/models.py:313 catalog/common/models.py:333
msgid "text content"
msgstr "文本内容"
@@ -57,10 +57,6 @@ msgstr "电子书"
msgid "Audiobook"
msgstr "有声书"
-#: catalog/book/models.py:121
-msgid "GraphicNovel"
-msgstr "图像小说"
-
#: catalog/book/models.py:122
msgid "Web Fiction"
msgstr "网络作品"
@@ -79,7 +75,7 @@ msgstr "副标题"
msgid "original title"
msgstr "原名"
-#: catalog/book/models.py:172 catalog/book/models.py:340
+#: catalog/book/models.py:172 catalog/book/models.py:341
msgid "author"
msgstr "作者"
@@ -135,11 +131,11 @@ msgstr "未知"
msgid "Douban"
msgstr "豆瓣"
-#: catalog/common/models.py:44 catalog/common/models.py:82
+#: catalog/common/models.py:44 catalog/common/models.py:84
msgid "Goodreads"
msgstr "Goodreads"
-#: catalog/common/models.py:45 catalog/common/models.py:86
+#: catalog/common/models.py:45 catalog/common/models.py:88
msgid "Google Books"
msgstr "谷歌图书"
@@ -147,7 +143,7 @@ msgstr "谷歌图书"
msgid "BooksTW"
msgstr "博客來"
-#: catalog/common/models.py:47 catalog/common/models.py:75
+#: catalog/common/models.py:47 catalog/common/models.py:77
#: catalog/templates/movie.html:51 catalog/templates/tvseason.html:68
#: catalog/templates/tvshow.html:63
msgid "IMDb"
@@ -157,7 +153,7 @@ msgstr "IMDb"
msgid "TMDB"
msgstr "TMDB"
-#: catalog/common/models.py:49 catalog/common/models.py:99
+#: catalog/common/models.py:49 catalog/common/models.py:101
msgid "Bandcamp"
msgstr "Bandcamp"
@@ -173,7 +169,7 @@ msgstr "IGDB"
msgid "Steam"
msgstr "Steam"
-#: catalog/common/models.py:53 catalog/common/models.py:117
+#: catalog/common/models.py:53 catalog/common/models.py:119
msgid "Bangumi"
msgstr "Bangumi"
@@ -189,11 +185,11 @@ msgstr "RSS"
msgid "Discogs"
msgstr "Discogs"
-#: catalog/common/models.py:58 catalog/common/models.py:119
+#: catalog/common/models.py:58 catalog/common/models.py:121
msgid "Apple Music"
msgstr "苹果音乐"
-#: catalog/common/models.py:59 catalog/common/models.py:120
+#: catalog/common/models.py:59 catalog/common/models.py:122
msgid "Fediverse"
msgstr "联邦宇宙"
@@ -205,270 +201,270 @@ msgstr "起点"
msgid "Ypshuo"
msgstr "阅评说"
-#: catalog/common/models.py:63
+#: catalog/common/models.py:65
msgid "WikiData"
msgstr "维基数据"
-#: catalog/common/models.py:64
+#: catalog/common/models.py:66
msgid "ISBN10"
msgstr "ISBN10"
-#: catalog/common/models.py:65 catalog/templates/edition.html:19
+#: catalog/common/models.py:67 catalog/templates/edition.html:19
msgid "ISBN"
msgstr "ISBN"
-#: catalog/common/models.py:66
+#: catalog/common/models.py:68
msgid "ASIN"
msgstr "ASIN"
-#: catalog/common/models.py:67
+#: catalog/common/models.py:69
msgid "ISSN"
msgstr "ISSN"
-#: catalog/common/models.py:68
+#: catalog/common/models.py:70
msgid "CUBN"
msgstr "统一书号"
-#: catalog/common/models.py:69
+#: catalog/common/models.py:71
msgid "ISRC"
msgstr "ISRC"
-#: catalog/common/models.py:72
+#: catalog/common/models.py:74
msgid "GTIN UPC EAN"
msgstr "条形码"
-#: catalog/common/models.py:74
+#: catalog/common/models.py:76
msgid "RSS Feed URL"
msgstr "RSS网址"
-#: catalog/common/models.py:76
+#: catalog/common/models.py:78
msgid "TMDB TV Serie"
msgstr "TMDB电视剧集"
-#: catalog/common/models.py:77
+#: catalog/common/models.py:79
msgid "TMDB TV Season"
msgstr "TMDB电视分季"
-#: catalog/common/models.py:79
+#: catalog/common/models.py:81
msgid "TMDB TV Episode"
msgstr "TMDB电视单集"
-#: catalog/common/models.py:81
+#: catalog/common/models.py:83
msgid "TMDB Movie"
msgstr "TMDB电影"
-#: catalog/common/models.py:84
+#: catalog/common/models.py:86
msgid "Goodreads Work"
msgstr "Goodreads著作"
-#: catalog/common/models.py:87
+#: catalog/common/models.py:89
msgid "Douban Book"
msgstr "豆瓣图书"
-#: catalog/common/models.py:89
+#: catalog/common/models.py:91
msgid "Douban Book Work"
msgstr "豆瓣图书著作"
-#: catalog/common/models.py:91
+#: catalog/common/models.py:93
msgid "Douban Movie"
msgstr "豆瓣电影"
-#: catalog/common/models.py:92
+#: catalog/common/models.py:94
msgid "Douban Music"
msgstr "豆瓣音乐"
-#: catalog/common/models.py:93
+#: catalog/common/models.py:95
msgid "Douban Game"
msgstr "豆瓣游戏"
-#: catalog/common/models.py:94
+#: catalog/common/models.py:96
msgid "Douban Drama"
msgstr "豆瓣舞台剧"
-#: catalog/common/models.py:96
+#: catalog/common/models.py:98
msgid "Douban Drama Version"
msgstr "豆瓣舞台剧版本"
-#: catalog/common/models.py:98
+#: catalog/common/models.py:100
msgid "BooksTW Book"
msgstr "博客来图书"
-#: catalog/common/models.py:100
+#: catalog/common/models.py:102
msgid "Spotify Album"
msgstr "Spotify专辑"
-#: catalog/common/models.py:101
+#: catalog/common/models.py:103
msgid "Spotify Podcast"
msgstr "Spotify播客"
-#: catalog/common/models.py:103
+#: catalog/common/models.py:105
msgid "Discogs Release"
msgstr "Discogs发行"
-#: catalog/common/models.py:106
+#: catalog/common/models.py:108
msgid "Discogs Master"
msgstr "Discogs作品"
-#: catalog/common/models.py:108
+#: catalog/common/models.py:110
msgid "MusicBrainz ID"
msgstr "MusicBrainz ID"
-#: catalog/common/models.py:114
+#: catalog/common/models.py:116
msgid "IGDB Game"
msgstr "IGDB游戏"
-#: catalog/common/models.py:115
+#: catalog/common/models.py:117
msgid "BGG Boardgame"
msgstr "BGG桌游"
-#: catalog/common/models.py:116
+#: catalog/common/models.py:118
msgid "Steam Game"
msgstr "Steam游戏"
-#: catalog/common/models.py:118
+#: catalog/common/models.py:120
msgid "Apple Podcast"
msgstr "苹果播客"
-#: catalog/common/models.py:136 catalog/common/models.py:157
-#: catalog/common/models.py:170 common/templates/_header.html:25
+#: catalog/common/models.py:140 catalog/common/models.py:161
+#: catalog/common/models.py:174 common/templates/_header.html:25
#: journal/templates/_sidebar_user_mark_list.html:31
msgid "Book"
msgstr "图书"
-#: catalog/common/models.py:137
+#: catalog/common/models.py:141
msgid "TV Serie"
msgstr "电视剧集"
-#: catalog/common/models.py:138 catalog/templates/_sidebar_edit.html:140
+#: catalog/common/models.py:142 catalog/templates/_sidebar_edit.html:140
msgid "TV Season"
msgstr "电视分季"
-#: catalog/common/models.py:139
+#: catalog/common/models.py:143
msgid "TV Episode"
msgstr "电视单集"
-#: catalog/common/models.py:140 catalog/common/models.py:158
-#: catalog/common/models.py:171 catalog/templates/_sidebar_edit.html:133
+#: catalog/common/models.py:144 catalog/common/models.py:162
+#: catalog/common/models.py:175 catalog/templates/_sidebar_edit.html:133
#: journal/templates/_sidebar_user_mark_list.html:34
msgid "Movie"
msgstr "电影"
-#: catalog/common/models.py:141
+#: catalog/common/models.py:145
msgid "Album"
msgstr "专辑"
-#: catalog/common/models.py:142 catalog/common/models.py:161
-#: catalog/common/models.py:174 common/templates/_header.html:41
+#: catalog/common/models.py:146 catalog/common/models.py:165
+#: catalog/common/models.py:178 common/templates/_header.html:41
#: journal/templates/_sidebar_user_mark_list.html:47
msgid "Game"
msgstr "游戏"
-#: catalog/common/models.py:143
+#: catalog/common/models.py:147
msgid "Podcast Program"
msgstr "播客节目"
-#: catalog/common/models.py:145
+#: catalog/common/models.py:149
msgid "Podcast Episode"
msgstr "播客单集"
-#: catalog/common/models.py:147 catalog/common/models.py:163
-#: catalog/common/models.py:176 common/templates/_header.html:45
+#: catalog/common/models.py:151 catalog/common/models.py:167
+#: catalog/common/models.py:180 common/templates/_header.html:45
#: journal/templates/_sidebar_user_mark_list.html:51
msgid "Performance"
msgstr "演出"
-#: catalog/common/models.py:149
+#: catalog/common/models.py:153
msgid "Production"
msgstr "上演"
-#: catalog/common/models.py:151
+#: catalog/common/models.py:155
msgid "Fanfic"
msgstr "网文"
-#: catalog/common/models.py:152 catalog/common/models.py:165
+#: catalog/common/models.py:156 catalog/common/models.py:169
msgid "Exhibition"
msgstr "展览"
-#: catalog/common/models.py:153 catalog/common/models.py:166
+#: catalog/common/models.py:157 catalog/common/models.py:170
#: journal/templates/collection.html:15 journal/templates/collection.html:22
#: journal/templates/collection_edit.html:9
#: journal/templates/collection_share.html:12
msgid "Collection"
msgstr "收藏单"
-#: catalog/common/models.py:159 catalog/common/models.py:172
+#: catalog/common/models.py:163 catalog/common/models.py:176
#: journal/templates/_sidebar_user_mark_list.html:37
msgid "TV"
msgstr "剧集"
-#: catalog/common/models.py:160 catalog/common/models.py:173
+#: catalog/common/models.py:164 catalog/common/models.py:177
#: common/templates/_header.html:37
#: journal/templates/_sidebar_user_mark_list.html:44
msgid "Music"
msgstr "音乐"
-#: catalog/common/models.py:162 catalog/common/models.py:175
+#: catalog/common/models.py:166 catalog/common/models.py:179
#: catalog/templates/_sidebar_edit.html:152 common/templates/_header.html:33
#: journal/templates/_sidebar_user_mark_list.html:41
msgid "Podcast"
msgstr "播客"
-#: catalog/common/models.py:164
+#: catalog/common/models.py:168
msgid "FanFic"
msgstr "网文"
-#: catalog/common/models.py:348 catalog/tv/models.py:376
+#: catalog/common/models.py:352 catalog/tv/models.py:376
#: users/models/user.py:115
msgid "language"
msgstr "语言"
-#: catalog/common/models.py:371 catalog/common/models.py:402
+#: catalog/common/models.py:375 catalog/common/models.py:406
#: journal/models/collection.py:53
msgid "title"
msgstr "标题"
-#: catalog/common/models.py:372 catalog/common/models.py:410
+#: catalog/common/models.py:376 catalog/common/models.py:414
#: journal/models/collection.py:54
msgid "description"
msgstr "描述"
-#: catalog/common/models.py:374 catalog/forms.py:27
+#: catalog/common/models.py:378 catalog/forms.py:27
msgid "Primary ID Type"
msgstr "主要标识类型"
-#: catalog/common/models.py:377 catalog/forms.py:32
+#: catalog/common/models.py:381 catalog/forms.py:32
msgid "Primary ID Value"
msgstr "主要标识数据"
-#: catalog/common/models.py:383
+#: catalog/common/models.py:387
msgid "metadata"
msgstr "元数据"
-#: catalog/common/models.py:385
+#: catalog/common/models.py:389
msgid "cover"
msgstr "封面"
-#: catalog/common/models.py:799
+#: catalog/common/models.py:803
msgid "source site"
msgstr "来源站点"
-#: catalog/common/models.py:801
+#: catalog/common/models.py:805
msgid "ID on source site"
msgstr "来源站点标识"
-#: catalog/common/models.py:803
+#: catalog/common/models.py:807
msgid "source url"
msgstr "来源站点网址"
-#: catalog/common/models.py:819
+#: catalog/common/models.py:823
msgid "IdType of the source site"
msgstr "来源站点的主要标识类型"
-#: catalog/common/models.py:825
+#: catalog/common/models.py:829
msgid "Primary Id on the source site"
msgstr "来源站点的主要标识数据"
-#: catalog/common/models.py:828
+#: catalog/common/models.py:832
msgid "url to the resource"
msgstr "指向外部资源的网址"
@@ -755,7 +751,7 @@ msgstr "不再提示"
#: catalog/templates/_item_comments.html:82
#: catalog/templates/_item_comments_by_episode.html:80
-#: catalog/templates/_item_reviews.html:43
+#: catalog/templates/_item_reviews.html:43 catalog/templates/item_base.html:239
#: catalog/templates/podcast_episode_data.html:41
msgid "show more"
msgstr "显示更多"
@@ -1118,8 +1114,8 @@ msgstr "创建"
#: journal/templates/mark.html:150 journal/templates/note.html:39
#: journal/templates/review_edit.html:39 journal/templates/tag_edit.html:51
#: users/templates/users/account.html:37 users/templates/users/account.html:67
-#: users/templates/users/preferences.html:187
-#: users/templates/users/preferences.html:212
+#: users/templates/users/preferences.html:188
+#: users/templates/users/preferences.html:222
msgid "Save"
msgstr "保存"
@@ -1145,7 +1141,7 @@ msgstr "确定关联吗?"
msgid "This operation cannot be undone. Sure to merge?"
msgstr "本操作不可撤销。确认合并吗?"
-#: catalog/templates/discover.html:18 users/templates/users/preferences.html:32
+#: catalog/templates/discover.html:18 users/templates/users/preferences.html:33
msgid "Discover"
msgstr "发现"
@@ -1188,7 +1184,7 @@ msgstr "全部标为已读"
msgid "Popular Tags"
msgstr "热门标签"
-#: catalog/templates/discover.html:177 catalog/templates/item_base.html:234
+#: catalog/templates/discover.html:177 catalog/templates/item_base.html:237
#: catalog/templates/item_mark_list.html:56
#: catalog/templates/item_review_list.html:50 common/templates/_sidebar.html:90
#: common/templates/_sidebar_anonymous.html:43
@@ -1273,29 +1269,29 @@ msgstr "最近编辑"
msgid "No enough ratings"
msgstr "评分人数不足"
-#: catalog/templates/item_base.html:228
+#: catalog/templates/item_base.html:229
msgid "overview"
msgstr "简介"
-#: catalog/templates/item_base.html:241
+#: catalog/templates/item_base.html:259
msgid "comments"
msgstr "短评"
-#: catalog/templates/item_base.html:244
+#: catalog/templates/item_base.html:262
#: catalog/templates/item_mark_list.html:21
#: catalog/templates/item_mark_list.html:24
#: catalog/templates/item_review_list.html:20
msgid "marks"
msgstr "标记"
-#: catalog/templates/item_base.html:245
+#: catalog/templates/item_base.html:263
#: catalog/templates/item_mark_list.html:22
#: catalog/templates/item_mark_list.html:25
#: catalog/templates/item_review_list.html:21
msgid "marks from who you follow"
msgstr "好友标记"
-#: catalog/templates/item_base.html:259
+#: catalog/templates/item_base.html:277
#: catalog/templates/item_mark_list.html:27
#: catalog/templates/item_review_list.html:22
msgid "reviews"
@@ -1452,11 +1448,11 @@ msgstr "{show_title} 第{season_number}季"
msgid "{season_title} E{episode_number}"
msgstr "{season_title} 第{episode_number}集"
-#: catalog/views.py:51 catalog/views.py:74
+#: catalog/views.py:50 catalog/views.py:73
msgid "Item not found"
msgstr "条目不存在"
-#: catalog/views.py:55 catalog/views.py:82
+#: catalog/views.py:54 catalog/views.py:81
msgid "Item no longer exists"
msgstr "条目已不存在"
@@ -1476,14 +1472,14 @@ msgstr "条目不可被删除。"
#: journal/views/collection.py:234 journal/views/collection.py:246
#: journal/views/collection.py:260 journal/views/collection.py:274
#: journal/views/collection.py:277 journal/views/collection.py:301
-#: journal/views/common.py:135 journal/views/post.py:20
+#: journal/views/common.py:136 journal/views/post.py:20
#: journal/views/post.py:42 journal/views/review.py:32
#: journal/views/review.py:46
msgid "Insufficient permission"
msgstr "权限不足"
#: catalog/views_edit.py:202 journal/views/collection.py:263
-#: journal/views/collection.py:330 journal/views/common.py:82
+#: journal/views/collection.py:330 journal/views/common.py:83
#: journal/views/mark.py:146 journal/views/post.py:56 journal/views/post.py:70
#: journal/views/review.py:93 journal/views/review.py:96
#: users/views/actions.py:168
@@ -2367,7 +2363,7 @@ msgid "Feed"
msgstr "动态"
#: common/templates/_header.html:74 journal/templates/profile.html:11
-#: users/templates/users/preferences.html:44
+#: users/templates/users/preferences.html:45
msgid "Home"
msgstr "主页"
@@ -2381,7 +2377,7 @@ msgid "Data"
msgstr "数据"
#: common/templates/_header.html:95 users/templates/users/preferences.html:11
-#: users/templates/users/preferences.html:21
+#: users/templates/users/preferences.html:22
msgid "Preferences"
msgstr "设置"
@@ -2518,16 +2514,16 @@ msgstr "已关注"
msgid "following you"
msgstr "关注了你"
-#: common/utils.py:62 common/utils.py:92 users/views/actions.py:34
+#: common/utils.py:63 common/utils.py:93 users/views/actions.py:34
#: users/views/actions.py:120
msgid "User not found"
msgstr "用户不存在"
-#: common/utils.py:66 common/utils.py:96 users/views/actions.py:123
+#: common/utils.py:67 common/utils.py:97 users/views/actions.py:123
msgid "User no longer exists"
msgstr "用户不存在了"
-#: common/utils.py:74 common/utils.py:104
+#: common/utils.py:75 common/utils.py:105
msgid "Access denied"
msgstr "访问被拒绝"
@@ -2587,7 +2583,7 @@ msgstr "备注"
#: journal/templates/mark.html:96 journal/templates/tag_edit.html:42
#: journal/templates/wrapped_share.html:43 users/templates/users/data.html:47
#: users/templates/users/data.html:139
-#: users/templates/users/preferences.html:54
+#: users/templates/users/preferences.html:55
msgid "Public"
msgstr "公开"
@@ -2595,7 +2591,7 @@ msgstr "公开"
#: journal/templates/collection_share.html:46 journal/templates/comment.html:42
#: journal/templates/mark.html:103 journal/templates/wrapped_share.html:49
#: users/templates/users/data.html:55 users/templates/users/data.html:147
-#: users/templates/users/preferences.html:61
+#: users/templates/users/preferences.html:62
msgid "Followers Only"
msgstr "仅关注者"
@@ -2603,7 +2599,7 @@ msgstr "仅关注者"
#: journal/templates/collection_share.html:57 journal/templates/comment.html:49
#: journal/templates/mark.html:110 journal/templates/wrapped_share.html:55
#: users/templates/users/data.html:63 users/templates/users/data.html:155
-#: users/templates/users/preferences.html:68
+#: users/templates/users/preferences.html:69
msgid "Mentioned Only"
msgstr "自己和提到的人"
@@ -3561,15 +3557,15 @@ msgstr "找不到条目,请使用本站条目网址。"
msgid "Login required"
msgstr "登录后访问"
-#: journal/views/common.py:34 journal/views/mark.py:123
+#: journal/views/common.py:35 journal/views/mark.py:123
msgid "Data saved but unable to crosspost to Fediverse instance."
msgstr "数据已保存但未能转发到联邦实例。"
-#: journal/views/common.py:36
+#: journal/views/common.py:37
msgid "Redirecting to your Fediverse instance now to re-authenticate."
msgstr "正在重定向到你的联邦实例以重新认证。"
-#: journal/views/common.py:43
+#: journal/views/common.py:44
msgid "List not found."
msgstr "列表未找到"
@@ -3711,47 +3707,47 @@ msgstr ""
"\n"
"如果你确认要使用电子邮件新注册账号,请输入如下验证码: {code}"
-#: mastodon/models/mastodon.py:512
+#: mastodon/models/mastodon.py:520
msgid "site domain name"
msgstr "站点域名"
-#: mastodon/models/mastodon.py:513
+#: mastodon/models/mastodon.py:521
msgid "domain for api call"
msgstr "站点API域名"
-#: mastodon/models/mastodon.py:514
+#: mastodon/models/mastodon.py:522
msgid "type and verion"
msgstr "站点类型和版本"
-#: mastodon/models/mastodon.py:515
+#: mastodon/models/mastodon.py:523
msgid "in-site app id"
msgstr "实例应用id"
-#: mastodon/models/mastodon.py:516
+#: mastodon/models/mastodon.py:524
msgid "client id"
msgstr "实例应用Client ID"
-#: mastodon/models/mastodon.py:517
+#: mastodon/models/mastodon.py:525
msgid "client secret"
msgstr "实例应用Client Secret"
-#: mastodon/models/mastodon.py:518
+#: mastodon/models/mastodon.py:526
msgid "vapid key"
msgstr "实例应用VAPID Key"
-#: mastodon/models/mastodon.py:520
+#: mastodon/models/mastodon.py:528
msgid "0: unicode moon; 1: custom emoji"
msgstr ""
-#: mastodon/models/mastodon.py:523
+#: mastodon/models/mastodon.py:531
msgid "max toot len"
msgstr "帖文长度限制"
-#: mastodon/models/mastodon.py:605
+#: mastodon/models/mastodon.py:624
msgid "Boost"
msgstr "转播"
-#: mastodon/models/mastodon.py:606
+#: mastodon/models/mastodon.py:625
msgid "New Post"
msgstr "新帖文"
@@ -4566,139 +4562,143 @@ msgstr "继续访问或注册视为同意站规与
msgid "Domain of your instance (excl. @)"
msgstr "实例域名(不含@和@之前的部分)"
-#: users/templates/users/preferences.html:26
+#: users/templates/users/preferences.html:27
msgid "Default view once logged in"
msgstr "登录后默认显示"
-#: users/templates/users/preferences.html:38
+#: users/templates/users/preferences.html:39
msgid "Activities"
msgstr "动态"
-#: users/templates/users/preferences.html:47
+#: users/templates/users/preferences.html:48
msgid "Default visibility"
msgstr "默认可见性"
-#: users/templates/users/preferences.html:71
+#: users/templates/users/preferences.html:72
msgid "Public status will be posted to fediverse"
msgstr "可见性选择「公开」时以如下方式发布到联邦网络"
-#: users/templates/users/preferences.html:77
+#: users/templates/users/preferences.html:78
msgid "in public timeline"
msgstr "公共时间轴"
-#: users/templates/users/preferences.html:83
+#: users/templates/users/preferences.html:84
msgid "unlisted and excluded from public timeline"
msgstr "悄悄公开,不出现在公共时间轴"
-#: users/templates/users/preferences.html:90
+#: users/templates/users/preferences.html:91
msgid "local, this site only"
msgstr "仅本站"
-#: users/templates/users/preferences.html:96
+#: users/templates/users/preferences.html:97
msgid "Turn on crosspost to timeline by default"
msgstr "发表时默认转发到时间轴"
-#: users/templates/users/preferences.html:104
+#: users/templates/users/preferences.html:105
msgid "Method for crossposting to timeline"
msgstr "转发到时间轴的方式"
-#: users/templates/users/preferences.html:111
+#: users/templates/users/preferences.html:112
msgid "Boost if possible"
msgstr "尽可能转播原文"
-#: users/templates/users/preferences.html:118
+#: users/templates/users/preferences.html:119
msgid "Create a new post"
msgstr "另发新帖文"
-#: users/templates/users/preferences.html:119
+#: users/templates/users/preferences.html:120
msgid "this method is less optimal, may generate duplicated posts and miss reactions."
msgstr "这种方式可能产生重复帖文,且其他人对新帖的回应、点赞不会被记录"
-#: users/templates/users/preferences.html:123
+#: users/templates/users/preferences.html:124
msgid "Append tags when posting to timeline"
msgstr "发布标记到时间轴时追加标签"
-#: users/templates/users/preferences.html:126
+#: users/templates/users/preferences.html:127
msgid "e.g. #bookstodon"
msgstr "例如 #书影音"
-#: users/templates/users/preferences.html:131
+#: users/templates/users/preferences.html:132
msgid "Language"
msgstr "语言"
-#: users/templates/users/preferences.html:140
+#: users/templates/users/preferences.html:141
msgid "Automatic bookmark for these categories"
msgstr "以下类型自动加入书签"
-#: users/templates/users/preferences.html:153
+#: users/templates/users/preferences.html:154
msgid "When start to read/watch/play/... an item in these categories, a bookmark will be created automatically. Bookmarks can be viewed and managed in most Mastodon compatible apps; your replies to these posts will automatically become notes for the item."
msgstr "将这些类型的条目标记为在读/在看/在玩/...时,自动把相应帖文添加为书签。这些书签帖文可使用应用程序查看和管理,你对这些帖文的回复会自动成为该条目的笔记。"
-#: users/templates/users/preferences.html:157
+#: users/templates/users/preferences.html:158
msgid "Hide these categories in search results"
msgstr "搜索时不显示以下类型"
-#: users/templates/users/preferences.html:175
+#: users/templates/users/preferences.html:176
msgid "Profile visible to anonymous web visitors and search engines"
msgstr "匿名访客和搜索引擎可以查看你的个人主页"
-#: users/templates/users/preferences.html:176
+#: users/templates/users/preferences.html:177
msgid "this option limits web visits only; to limit fediverse visibility, choose followers only or mentioned only when posting"
msgstr "此选项仅针对网页访客,如果不希望被联邦网络用户看到请在发表时选择仅关注者或本人"
-#: users/templates/users/preferences.html:184
+#: users/templates/users/preferences.html:185
msgid "Show your name on item page if you recently edited it"
msgstr "显示你是某条目的最近编辑者"
-#: users/templates/users/preferences.html:193
+#: users/templates/users/preferences.html:194
msgid "Settings for current device"
msgstr "当前设备设置"
-#: users/templates/users/preferences.html:195
+#: users/templates/users/preferences.html:196
msgid "theme"
msgstr "主题"
-#: users/templates/users/preferences.html:198
+#: users/templates/users/preferences.html:199
msgid "system"
msgstr "系统"
-#: users/templates/users/preferences.html:200
+#: users/templates/users/preferences.html:201
msgid "light"
msgstr "明亮"
-#: users/templates/users/preferences.html:202
+#: users/templates/users/preferences.html:203
msgid "dark"
msgstr "暗色"
-#: users/templates/users/preferences.html:204
+#: users/templates/users/preferences.html:205
msgid "Focus mode"
msgstr "专注模式"
-#: users/templates/users/preferences.html:207
+#: users/templates/users/preferences.html:208
msgid "hide reviews and ratings from other users"
msgstr "启用专注模式后搜索和条目页面将不再显示来自他人的评价和打分"
-#: users/templates/users/preferences.html:209
+#: users/templates/users/preferences.html:210
+msgid "Number of items per page"
+msgstr "每页条目数"
+
+#: users/templates/users/preferences.html:219
msgid "Custom styles"
msgstr "自定义样式代码"
-#: users/templates/users/preferences.html:228
+#: users/templates/users/preferences.html:241
msgid "Settings for current device saved"
msgstr "当前设备设置已保存"
-#: users/templates/users/preferences.html:234
+#: users/templates/users/preferences.html:247
msgid "Additional Settings"
msgstr "更多设置"
-#: users/templates/users/preferences.html:236
+#: users/templates/users/preferences.html:249
msgid "View authorized applications"
msgstr "查看已授权的应用程序"
-#: users/templates/users/preferences.html:240
+#: users/templates/users/preferences.html:253
msgid "Migrate account"
msgstr "迁移账号"
-#: users/templates/users/preferences.html:242
+#: users/templates/users/preferences.html:255
msgid "Link an email so that you can migrate followers from other Fediverse instances."
msgstr "关联电子邮件后方可从其他实例迁入。"
diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po
index aa55bc43..896dc3cb 100644
--- a/locale/zh_Hant/LC_MESSAGES/django.po
+++ b/locale/zh_Hant/LC_MESSAGES/django.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-07-28 16:10-0400\n"
+"POT-Creation-Date: 2024-10-27 14:42-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -15,29 +15,29 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: boofilsic/settings.py:425 common/models/lang.py:197
+#: boofilsic/settings.py:428 common/models/lang.py:197
msgid "English"
msgstr "英語"
-#: boofilsic/settings.py:426
+#: boofilsic/settings.py:429
msgid "Simplified Chinese"
msgstr "簡體中文"
-#: boofilsic/settings.py:427
+#: boofilsic/settings.py:430
msgid "Traditional Chinese"
msgstr "繁體中文"
-#: boofilsic/settings.py:428 common/models/lang.py:44
+#: boofilsic/settings.py:431 common/models/lang.py:44
msgid "Danish"
msgstr "丹麥語"
#: catalog/book/models.py:80 catalog/book/models.py:99
-#: catalog/common/models.py:306 catalog/common/models.py:324
+#: catalog/common/models.py:310 catalog/common/models.py:328
msgid "locale"
msgstr "區域語言"
#: catalog/book/models.py:83 catalog/book/models.py:102
-#: catalog/common/models.py:309 catalog/common/models.py:329
+#: catalog/common/models.py:313 catalog/common/models.py:333
msgid "text content"
msgstr "文本內容"
@@ -57,10 +57,6 @@ msgstr "電子書"
msgid "Audiobook"
msgstr "有聲書"
-#: catalog/book/models.py:121
-msgid "GraphicNovel"
-msgstr "圖像小說"
-
#: catalog/book/models.py:122
msgid "Web Fiction"
msgstr "網絡作品"
@@ -79,7 +75,7 @@ msgstr "副標題"
msgid "original title"
msgstr "原名"
-#: catalog/book/models.py:172 catalog/book/models.py:340
+#: catalog/book/models.py:172 catalog/book/models.py:341
msgid "author"
msgstr "作者"
@@ -135,11 +131,11 @@ msgstr "未知"
msgid "Douban"
msgstr "豆瓣"
-#: catalog/common/models.py:44 catalog/common/models.py:82
+#: catalog/common/models.py:44 catalog/common/models.py:84
msgid "Goodreads"
msgstr "Goodreads"
-#: catalog/common/models.py:45 catalog/common/models.py:86
+#: catalog/common/models.py:45 catalog/common/models.py:88
msgid "Google Books"
msgstr "谷歌圖書"
@@ -147,7 +143,7 @@ msgstr "谷歌圖書"
msgid "BooksTW"
msgstr "博客來"
-#: catalog/common/models.py:47 catalog/common/models.py:75
+#: catalog/common/models.py:47 catalog/common/models.py:77
#: catalog/templates/movie.html:51 catalog/templates/tvseason.html:68
#: catalog/templates/tvshow.html:63
msgid "IMDb"
@@ -157,7 +153,7 @@ msgstr "IMDb"
msgid "TMDB"
msgstr "TMDB"
-#: catalog/common/models.py:49 catalog/common/models.py:99
+#: catalog/common/models.py:49 catalog/common/models.py:101
msgid "Bandcamp"
msgstr "Bandcamp"
@@ -173,7 +169,7 @@ msgstr "IGDB"
msgid "Steam"
msgstr "Steam"
-#: catalog/common/models.py:53 catalog/common/models.py:117
+#: catalog/common/models.py:53 catalog/common/models.py:119
msgid "Bangumi"
msgstr "Bangumi"
@@ -189,11 +185,11 @@ msgstr "RSS"
msgid "Discogs"
msgstr "Discogs"
-#: catalog/common/models.py:58 catalog/common/models.py:119
+#: catalog/common/models.py:58 catalog/common/models.py:121
msgid "Apple Music"
msgstr "蘋果音樂"
-#: catalog/common/models.py:59 catalog/common/models.py:120
+#: catalog/common/models.py:59 catalog/common/models.py:122
msgid "Fediverse"
msgstr "聯邦宇宙"
@@ -205,270 +201,270 @@ msgstr "起點"
msgid "Ypshuo"
msgstr "閱評說"
-#: catalog/common/models.py:63
+#: catalog/common/models.py:65
msgid "WikiData"
msgstr "維基數據"
-#: catalog/common/models.py:64
+#: catalog/common/models.py:66
msgid "ISBN10"
msgstr "ISBN10"
-#: catalog/common/models.py:65 catalog/templates/edition.html:19
+#: catalog/common/models.py:67 catalog/templates/edition.html:19
msgid "ISBN"
msgstr "ISBN"
-#: catalog/common/models.py:66
+#: catalog/common/models.py:68
msgid "ASIN"
msgstr "ASIN"
-#: catalog/common/models.py:67
+#: catalog/common/models.py:69
msgid "ISSN"
msgstr "ISSN"
-#: catalog/common/models.py:68
+#: catalog/common/models.py:70
msgid "CUBN"
msgstr "統一書號"
-#: catalog/common/models.py:69
+#: catalog/common/models.py:71
msgid "ISRC"
msgstr "ISRC"
-#: catalog/common/models.py:72
+#: catalog/common/models.py:74
msgid "GTIN UPC EAN"
msgstr "條形碼"
-#: catalog/common/models.py:74
+#: catalog/common/models.py:76
msgid "RSS Feed URL"
msgstr "RSS網址"
-#: catalog/common/models.py:76
+#: catalog/common/models.py:78
msgid "TMDB TV Serie"
msgstr "TMDB電視劇集"
-#: catalog/common/models.py:77
+#: catalog/common/models.py:79
msgid "TMDB TV Season"
msgstr "TMDB電視分季"
-#: catalog/common/models.py:79
+#: catalog/common/models.py:81
msgid "TMDB TV Episode"
msgstr "TMDB電視單集"
-#: catalog/common/models.py:81
+#: catalog/common/models.py:83
msgid "TMDB Movie"
msgstr "TMDB電影"
-#: catalog/common/models.py:84
+#: catalog/common/models.py:86
msgid "Goodreads Work"
msgstr "Goodreads著作"
-#: catalog/common/models.py:87
+#: catalog/common/models.py:89
msgid "Douban Book"
msgstr "豆瓣圖書"
-#: catalog/common/models.py:89
+#: catalog/common/models.py:91
msgid "Douban Book Work"
msgstr "豆瓣圖書著作"
-#: catalog/common/models.py:91
+#: catalog/common/models.py:93
msgid "Douban Movie"
msgstr "豆瓣電影"
-#: catalog/common/models.py:92
+#: catalog/common/models.py:94
msgid "Douban Music"
msgstr "豆瓣音樂"
-#: catalog/common/models.py:93
+#: catalog/common/models.py:95
msgid "Douban Game"
msgstr "豆瓣遊戲"
-#: catalog/common/models.py:94
+#: catalog/common/models.py:96
msgid "Douban Drama"
msgstr "豆瓣舞臺劇"
-#: catalog/common/models.py:96
+#: catalog/common/models.py:98
msgid "Douban Drama Version"
msgstr "豆瓣舞臺劇版本"
-#: catalog/common/models.py:98
+#: catalog/common/models.py:100
msgid "BooksTW Book"
msgstr "博客來圖書"
-#: catalog/common/models.py:100
+#: catalog/common/models.py:102
msgid "Spotify Album"
msgstr "Spotify專輯"
-#: catalog/common/models.py:101
+#: catalog/common/models.py:103
msgid "Spotify Podcast"
msgstr "Spotify播客"
-#: catalog/common/models.py:103
+#: catalog/common/models.py:105
msgid "Discogs Release"
msgstr "Discogs發行"
-#: catalog/common/models.py:106
+#: catalog/common/models.py:108
msgid "Discogs Master"
msgstr "Discogs作品"
-#: catalog/common/models.py:108
+#: catalog/common/models.py:110
msgid "MusicBrainz ID"
msgstr "MusicBrainz ID"
-#: catalog/common/models.py:114
+#: catalog/common/models.py:116
msgid "IGDB Game"
msgstr "IGDB遊戲"
-#: catalog/common/models.py:115
+#: catalog/common/models.py:117
msgid "BGG Boardgame"
msgstr "BGG桌遊"
-#: catalog/common/models.py:116
+#: catalog/common/models.py:118
msgid "Steam Game"
msgstr "Steam遊戲"
-#: catalog/common/models.py:118
+#: catalog/common/models.py:120
msgid "Apple Podcast"
msgstr "蘋果播客"
-#: catalog/common/models.py:136 catalog/common/models.py:157
-#: catalog/common/models.py:170 common/templates/_header.html:25
+#: catalog/common/models.py:140 catalog/common/models.py:161
+#: catalog/common/models.py:174 common/templates/_header.html:25
#: journal/templates/_sidebar_user_mark_list.html:31
msgid "Book"
msgstr "圖書"
-#: catalog/common/models.py:137
+#: catalog/common/models.py:141
msgid "TV Serie"
msgstr "電視劇集"
-#: catalog/common/models.py:138 catalog/templates/_sidebar_edit.html:140
+#: catalog/common/models.py:142 catalog/templates/_sidebar_edit.html:140
msgid "TV Season"
msgstr "電視分季"
-#: catalog/common/models.py:139
+#: catalog/common/models.py:143
msgid "TV Episode"
msgstr "電視單集"
-#: catalog/common/models.py:140 catalog/common/models.py:158
-#: catalog/common/models.py:171 catalog/templates/_sidebar_edit.html:133
+#: catalog/common/models.py:144 catalog/common/models.py:162
+#: catalog/common/models.py:175 catalog/templates/_sidebar_edit.html:133
#: journal/templates/_sidebar_user_mark_list.html:34
msgid "Movie"
msgstr "電影"
-#: catalog/common/models.py:141
+#: catalog/common/models.py:145
msgid "Album"
msgstr "專輯"
-#: catalog/common/models.py:142 catalog/common/models.py:161
-#: catalog/common/models.py:174 common/templates/_header.html:41
+#: catalog/common/models.py:146 catalog/common/models.py:165
+#: catalog/common/models.py:178 common/templates/_header.html:41
#: journal/templates/_sidebar_user_mark_list.html:47
msgid "Game"
msgstr "遊戲"
-#: catalog/common/models.py:143
+#: catalog/common/models.py:147
msgid "Podcast Program"
msgstr "播客節目"
-#: catalog/common/models.py:145
+#: catalog/common/models.py:149
msgid "Podcast Episode"
msgstr "播客單集"
-#: catalog/common/models.py:147 catalog/common/models.py:163
-#: catalog/common/models.py:176 common/templates/_header.html:45
+#: catalog/common/models.py:151 catalog/common/models.py:167
+#: catalog/common/models.py:180 common/templates/_header.html:45
#: journal/templates/_sidebar_user_mark_list.html:51
msgid "Performance"
msgstr "演出"
-#: catalog/common/models.py:149
+#: catalog/common/models.py:153
msgid "Production"
msgstr "上演"
-#: catalog/common/models.py:151
+#: catalog/common/models.py:155
msgid "Fanfic"
msgstr "網文"
-#: catalog/common/models.py:152 catalog/common/models.py:165
+#: catalog/common/models.py:156 catalog/common/models.py:169
msgid "Exhibition"
msgstr "展覽"
-#: catalog/common/models.py:153 catalog/common/models.py:166
+#: catalog/common/models.py:157 catalog/common/models.py:170
#: journal/templates/collection.html:15 journal/templates/collection.html:22
#: journal/templates/collection_edit.html:9
#: journal/templates/collection_share.html:12
msgid "Collection"
msgstr "收藏單"
-#: catalog/common/models.py:159 catalog/common/models.py:172
+#: catalog/common/models.py:163 catalog/common/models.py:176
#: journal/templates/_sidebar_user_mark_list.html:37
msgid "TV"
msgstr "劇集"
-#: catalog/common/models.py:160 catalog/common/models.py:173
+#: catalog/common/models.py:164 catalog/common/models.py:177
#: common/templates/_header.html:37
#: journal/templates/_sidebar_user_mark_list.html:44
msgid "Music"
msgstr "音樂"
-#: catalog/common/models.py:162 catalog/common/models.py:175
+#: catalog/common/models.py:166 catalog/common/models.py:179
#: catalog/templates/_sidebar_edit.html:152 common/templates/_header.html:33
#: journal/templates/_sidebar_user_mark_list.html:41
msgid "Podcast"
msgstr "播客"
-#: catalog/common/models.py:164
+#: catalog/common/models.py:168
msgid "FanFic"
msgstr "網文"
-#: catalog/common/models.py:348 catalog/tv/models.py:376
+#: catalog/common/models.py:352 catalog/tv/models.py:376
#: users/models/user.py:115
msgid "language"
msgstr "語言"
-#: catalog/common/models.py:371 catalog/common/models.py:402
+#: catalog/common/models.py:375 catalog/common/models.py:406
#: journal/models/collection.py:53
msgid "title"
msgstr "標題"
-#: catalog/common/models.py:372 catalog/common/models.py:410
+#: catalog/common/models.py:376 catalog/common/models.py:414
#: journal/models/collection.py:54
msgid "description"
msgstr "描述"
-#: catalog/common/models.py:374 catalog/forms.py:27
+#: catalog/common/models.py:378 catalog/forms.py:27
msgid "Primary ID Type"
msgstr "主要標識類型"
-#: catalog/common/models.py:377 catalog/forms.py:32
+#: catalog/common/models.py:381 catalog/forms.py:32
msgid "Primary ID Value"
msgstr "主要標識數據"
-#: catalog/common/models.py:383
+#: catalog/common/models.py:387
msgid "metadata"
msgstr "元數據"
-#: catalog/common/models.py:385
+#: catalog/common/models.py:389
msgid "cover"
msgstr "封面"
-#: catalog/common/models.py:799
+#: catalog/common/models.py:803
msgid "source site"
msgstr "來源站點"
-#: catalog/common/models.py:801
+#: catalog/common/models.py:805
msgid "ID on source site"
msgstr "來源站點標識"
-#: catalog/common/models.py:803
+#: catalog/common/models.py:807
msgid "source url"
msgstr "來源站點網址"
-#: catalog/common/models.py:819
+#: catalog/common/models.py:823
msgid "IdType of the source site"
msgstr "來源站點的主要標識類型"
-#: catalog/common/models.py:825
+#: catalog/common/models.py:829
msgid "Primary Id on the source site"
msgstr "來源站點的主要標識數據"
-#: catalog/common/models.py:828
+#: catalog/common/models.py:832
msgid "url to the resource"
msgstr "指向外部資源的網址"
@@ -755,7 +751,7 @@ msgstr "不再提示"
#: catalog/templates/_item_comments.html:82
#: catalog/templates/_item_comments_by_episode.html:80
-#: catalog/templates/_item_reviews.html:43
+#: catalog/templates/_item_reviews.html:43 catalog/templates/item_base.html:239
#: catalog/templates/podcast_episode_data.html:41
msgid "show more"
msgstr "顯示更多"
@@ -1118,8 +1114,8 @@ msgstr "創建"
#: journal/templates/mark.html:150 journal/templates/note.html:39
#: journal/templates/review_edit.html:39 journal/templates/tag_edit.html:51
#: users/templates/users/account.html:37 users/templates/users/account.html:67
-#: users/templates/users/preferences.html:187
-#: users/templates/users/preferences.html:212
+#: users/templates/users/preferences.html:188
+#: users/templates/users/preferences.html:222
msgid "Save"
msgstr "保存"
@@ -1145,7 +1141,7 @@ msgstr "確定關聯嗎?"
msgid "This operation cannot be undone. Sure to merge?"
msgstr "本操作不可撤銷。確認合併嗎?"
-#: catalog/templates/discover.html:18 users/templates/users/preferences.html:32
+#: catalog/templates/discover.html:18 users/templates/users/preferences.html:33
msgid "Discover"
msgstr "發現"
@@ -1188,7 +1184,7 @@ msgstr "全部標爲已讀"
msgid "Popular Tags"
msgstr "熱門標籤"
-#: catalog/templates/discover.html:177 catalog/templates/item_base.html:234
+#: catalog/templates/discover.html:177 catalog/templates/item_base.html:237
#: catalog/templates/item_mark_list.html:56
#: catalog/templates/item_review_list.html:50 common/templates/_sidebar.html:90
#: common/templates/_sidebar_anonymous.html:43
@@ -1273,29 +1269,29 @@ msgstr "最近編輯"
msgid "No enough ratings"
msgstr "評分人數不足"
-#: catalog/templates/item_base.html:228
+#: catalog/templates/item_base.html:229
msgid "overview"
msgstr "簡介"
-#: catalog/templates/item_base.html:241
+#: catalog/templates/item_base.html:259
msgid "comments"
msgstr "短評"
-#: catalog/templates/item_base.html:244
+#: catalog/templates/item_base.html:262
#: catalog/templates/item_mark_list.html:21
#: catalog/templates/item_mark_list.html:24
#: catalog/templates/item_review_list.html:20
msgid "marks"
msgstr "標記"
-#: catalog/templates/item_base.html:245
+#: catalog/templates/item_base.html:263
#: catalog/templates/item_mark_list.html:22
#: catalog/templates/item_mark_list.html:25
#: catalog/templates/item_review_list.html:21
msgid "marks from who you follow"
msgstr "好友標記"
-#: catalog/templates/item_base.html:259
+#: catalog/templates/item_base.html:277
#: catalog/templates/item_mark_list.html:27
#: catalog/templates/item_review_list.html:22
msgid "reviews"
@@ -1452,11 +1448,11 @@ msgstr "{show_title} 第{season_number}季"
msgid "{season_title} E{episode_number}"
msgstr "{season_title} 第{episode_number}集"
-#: catalog/views.py:51 catalog/views.py:74
+#: catalog/views.py:50 catalog/views.py:73
msgid "Item not found"
msgstr "條目不存在"
-#: catalog/views.py:55 catalog/views.py:82
+#: catalog/views.py:54 catalog/views.py:81
msgid "Item no longer exists"
msgstr "條目已不存在"
@@ -1476,14 +1472,14 @@ msgstr "條目不可被刪除。"
#: journal/views/collection.py:234 journal/views/collection.py:246
#: journal/views/collection.py:260 journal/views/collection.py:274
#: journal/views/collection.py:277 journal/views/collection.py:301
-#: journal/views/common.py:135 journal/views/post.py:20
+#: journal/views/common.py:136 journal/views/post.py:20
#: journal/views/post.py:42 journal/views/review.py:32
#: journal/views/review.py:46
msgid "Insufficient permission"
msgstr "權限不足"
#: catalog/views_edit.py:202 journal/views/collection.py:263
-#: journal/views/collection.py:330 journal/views/common.py:82
+#: journal/views/collection.py:330 journal/views/common.py:83
#: journal/views/mark.py:146 journal/views/post.py:56 journal/views/post.py:70
#: journal/views/review.py:93 journal/views/review.py:96
#: users/views/actions.py:168
@@ -2367,7 +2363,7 @@ msgid "Feed"
msgstr "動態"
#: common/templates/_header.html:74 journal/templates/profile.html:11
-#: users/templates/users/preferences.html:44
+#: users/templates/users/preferences.html:45
msgid "Home"
msgstr "主頁"
@@ -2381,7 +2377,7 @@ msgid "Data"
msgstr "數據"
#: common/templates/_header.html:95 users/templates/users/preferences.html:11
-#: users/templates/users/preferences.html:21
+#: users/templates/users/preferences.html:22
msgid "Preferences"
msgstr "設定"
@@ -2518,16 +2514,16 @@ msgstr "已關注"
msgid "following you"
msgstr "關注了你"
-#: common/utils.py:62 common/utils.py:92 users/views/actions.py:34
+#: common/utils.py:63 common/utils.py:93 users/views/actions.py:34
#: users/views/actions.py:120
msgid "User not found"
msgstr "用戶不存在"
-#: common/utils.py:66 common/utils.py:96 users/views/actions.py:123
+#: common/utils.py:67 common/utils.py:97 users/views/actions.py:123
msgid "User no longer exists"
msgstr "用戶不存在了"
-#: common/utils.py:74 common/utils.py:104
+#: common/utils.py:75 common/utils.py:105
msgid "Access denied"
msgstr "訪問被拒絕"
@@ -2587,7 +2583,7 @@ msgstr "備註"
#: journal/templates/mark.html:96 journal/templates/tag_edit.html:42
#: journal/templates/wrapped_share.html:43 users/templates/users/data.html:47
#: users/templates/users/data.html:139
-#: users/templates/users/preferences.html:54
+#: users/templates/users/preferences.html:55
msgid "Public"
msgstr "公開"
@@ -2595,7 +2591,7 @@ msgstr "公開"
#: journal/templates/collection_share.html:46 journal/templates/comment.html:42
#: journal/templates/mark.html:103 journal/templates/wrapped_share.html:49
#: users/templates/users/data.html:55 users/templates/users/data.html:147
-#: users/templates/users/preferences.html:61
+#: users/templates/users/preferences.html:62
msgid "Followers Only"
msgstr "僅關注者"
@@ -2603,7 +2599,7 @@ msgstr "僅關注者"
#: journal/templates/collection_share.html:57 journal/templates/comment.html:49
#: journal/templates/mark.html:110 journal/templates/wrapped_share.html:55
#: users/templates/users/data.html:63 users/templates/users/data.html:155
-#: users/templates/users/preferences.html:68
+#: users/templates/users/preferences.html:69
msgid "Mentioned Only"
msgstr "自己和提到的人"
@@ -3561,15 +3557,15 @@ msgstr "找不到條目,請使用本站條目網址。"
msgid "Login required"
msgstr "登入後訪問"
-#: journal/views/common.py:34 journal/views/mark.py:123
+#: journal/views/common.py:35 journal/views/mark.py:123
msgid "Data saved but unable to crosspost to Fediverse instance."
msgstr "數據已保存但未能轉發到聯邦實例。"
-#: journal/views/common.py:36
+#: journal/views/common.py:37
msgid "Redirecting to your Fediverse instance now to re-authenticate."
msgstr "正在重定向到你的聯邦實例以重新認證。"
-#: journal/views/common.py:43
+#: journal/views/common.py:44
msgid "List not found."
msgstr "列表未找到"
@@ -3711,47 +3707,47 @@ msgstr ""
"\n"
"如果你確認要使用電子郵件新註冊帳號,請輸入如下驗證碼: {code}"
-#: mastodon/models/mastodon.py:512
+#: mastodon/models/mastodon.py:520
msgid "site domain name"
msgstr "站點域名"
-#: mastodon/models/mastodon.py:513
+#: mastodon/models/mastodon.py:521
msgid "domain for api call"
msgstr "站點API域名"
-#: mastodon/models/mastodon.py:514
+#: mastodon/models/mastodon.py:522
msgid "type and verion"
msgstr "站點類型和版本"
-#: mastodon/models/mastodon.py:515
+#: mastodon/models/mastodon.py:523
msgid "in-site app id"
msgstr "實例應用id"
-#: mastodon/models/mastodon.py:516
+#: mastodon/models/mastodon.py:524
msgid "client id"
msgstr "實例應用Client ID"
-#: mastodon/models/mastodon.py:517
+#: mastodon/models/mastodon.py:525
msgid "client secret"
msgstr "實例應用Client Secret"
-#: mastodon/models/mastodon.py:518
+#: mastodon/models/mastodon.py:526
msgid "vapid key"
msgstr "實例應用VAPID Key"
-#: mastodon/models/mastodon.py:520
+#: mastodon/models/mastodon.py:528
msgid "0: unicode moon; 1: custom emoji"
msgstr ""
-#: mastodon/models/mastodon.py:523
+#: mastodon/models/mastodon.py:531
msgid "max toot len"
msgstr "帖文長度限制"
-#: mastodon/models/mastodon.py:605
+#: mastodon/models/mastodon.py:624
msgid "Boost"
msgstr "轉播"
-#: mastodon/models/mastodon.py:606
+#: mastodon/models/mastodon.py:625
msgid "New Post"
msgstr "新帖文"
@@ -4566,139 +4562,143 @@ msgstr "繼續訪問或註冊視爲同意站規與
msgid "Domain of your instance (excl. @)"
msgstr "實例域名(不含@和@之前的部分)"
-#: users/templates/users/preferences.html:26
+#: users/templates/users/preferences.html:27
msgid "Default view once logged in"
msgstr "登入後預設顯示"
-#: users/templates/users/preferences.html:38
+#: users/templates/users/preferences.html:39
msgid "Activities"
msgstr "動態"
-#: users/templates/users/preferences.html:47
+#: users/templates/users/preferences.html:48
msgid "Default visibility"
msgstr "預設可見性"
-#: users/templates/users/preferences.html:71
+#: users/templates/users/preferences.html:72
msgid "Public status will be posted to fediverse"
msgstr "可見性選擇「公開」時以如下方式發佈到聯邦網絡"
-#: users/templates/users/preferences.html:77
+#: users/templates/users/preferences.html:78
msgid "in public timeline"
msgstr "公共時間軸"
-#: users/templates/users/preferences.html:83
+#: users/templates/users/preferences.html:84
msgid "unlisted and excluded from public timeline"
msgstr "悄悄公開,不出現在公共時間軸"
-#: users/templates/users/preferences.html:90
+#: users/templates/users/preferences.html:91
msgid "local, this site only"
msgstr "僅本站"
-#: users/templates/users/preferences.html:96
+#: users/templates/users/preferences.html:97
msgid "Turn on crosspost to timeline by default"
msgstr "發表時預設轉發到時間軸"
-#: users/templates/users/preferences.html:104
+#: users/templates/users/preferences.html:105
msgid "Method for crossposting to timeline"
msgstr "轉發到時間軸的方式"
-#: users/templates/users/preferences.html:111
+#: users/templates/users/preferences.html:112
msgid "Boost if possible"
msgstr "儘可能轉播原文"
-#: users/templates/users/preferences.html:118
+#: users/templates/users/preferences.html:119
msgid "Create a new post"
msgstr "另發新帖文"
-#: users/templates/users/preferences.html:119
+#: users/templates/users/preferences.html:120
msgid "this method is less optimal, may generate duplicated posts and miss reactions."
msgstr "這種方式可能產生重複帖文,且其他人對新帖的回應、點贊不會被記錄"
-#: users/templates/users/preferences.html:123
+#: users/templates/users/preferences.html:124
msgid "Append tags when posting to timeline"
msgstr "發佈標記到時間軸時追加標籤"
-#: users/templates/users/preferences.html:126
+#: users/templates/users/preferences.html:127
msgid "e.g. #bookstodon"
msgstr "例如 #書影音"
-#: users/templates/users/preferences.html:131
+#: users/templates/users/preferences.html:132
msgid "Language"
msgstr "語言"
-#: users/templates/users/preferences.html:140
+#: users/templates/users/preferences.html:141
msgid "Automatic bookmark for these categories"
msgstr "以下類型自動加入書籤"
-#: users/templates/users/preferences.html:153
+#: users/templates/users/preferences.html:154
msgid "When start to read/watch/play/... an item in these categories, a bookmark will be created automatically. Bookmarks can be viewed and managed in most Mastodon compatible apps; your replies to these posts will automatically become notes for the item."
msgstr "將這些類型的條目標記爲在讀/在看/在玩/...時,自動把相應帖文添加爲書籤。這些書籤帖文可使用應用程序查看和管理,你對這些帖文的回覆會自動成爲該條目的筆記。"
-#: users/templates/users/preferences.html:157
+#: users/templates/users/preferences.html:158
msgid "Hide these categories in search results"
msgstr "搜尋時不顯示以下類型"
-#: users/templates/users/preferences.html:175
+#: users/templates/users/preferences.html:176
msgid "Profile visible to anonymous web visitors and search engines"
msgstr "匿名訪客和搜索引擎可以查看你的個人主頁"
-#: users/templates/users/preferences.html:176
+#: users/templates/users/preferences.html:177
msgid "this option limits web visits only; to limit fediverse visibility, choose followers only or mentioned only when posting"
msgstr "此選項僅針對網頁訪客,如果不希望被聯邦網路用戶看到請在發表時選擇僅關注者或本人"
-#: users/templates/users/preferences.html:184
+#: users/templates/users/preferences.html:185
msgid "Show your name on item page if you recently edited it"
msgstr "顯示你是某條目的最近編輯者"
-#: users/templates/users/preferences.html:193
+#: users/templates/users/preferences.html:194
msgid "Settings for current device"
msgstr "當前設備設定"
-#: users/templates/users/preferences.html:195
+#: users/templates/users/preferences.html:196
msgid "theme"
msgstr "主題"
-#: users/templates/users/preferences.html:198
+#: users/templates/users/preferences.html:199
msgid "system"
msgstr "系統"
-#: users/templates/users/preferences.html:200
+#: users/templates/users/preferences.html:201
msgid "light"
msgstr "明亮"
-#: users/templates/users/preferences.html:202
+#: users/templates/users/preferences.html:203
msgid "dark"
msgstr "暗色"
-#: users/templates/users/preferences.html:204
+#: users/templates/users/preferences.html:205
msgid "Focus mode"
msgstr "專注模式"
-#: users/templates/users/preferences.html:207
+#: users/templates/users/preferences.html:208
msgid "hide reviews and ratings from other users"
msgstr "啓用專注模式後搜索和條目頁面將不再顯示來自他人的評價和打分"
-#: users/templates/users/preferences.html:209
+#: users/templates/users/preferences.html:210
+msgid "Number of items per page"
+msgstr "每頁條目數"
+
+#: users/templates/users/preferences.html:219
msgid "Custom styles"
msgstr "自定義樣式代碼"
-#: users/templates/users/preferences.html:228
+#: users/templates/users/preferences.html:241
msgid "Settings for current device saved"
msgstr "當前設備設定已儲存"
-#: users/templates/users/preferences.html:234
+#: users/templates/users/preferences.html:247
msgid "Additional Settings"
msgstr "更多設定"
-#: users/templates/users/preferences.html:236
+#: users/templates/users/preferences.html:249
msgid "View authorized applications"
msgstr "查看已授權的應用程序"
-#: users/templates/users/preferences.html:240
+#: users/templates/users/preferences.html:253
msgid "Migrate account"
msgstr "遷移帳號"
-#: users/templates/users/preferences.html:242
+#: users/templates/users/preferences.html:255
msgid "Link an email so that you can migrate followers from other Fediverse instances."
msgstr "關聯電子郵件後方可從其他實例遷入。"
diff --git a/users/templates/users/preferences.html b/users/templates/users/preferences.html
index fe2fcc96..53381a1e 100644
--- a/users/templates/users/preferences.html
+++ b/users/templates/users/preferences.html
@@ -10,6 +10,7 @@
{{ site_name }} - {% trans "Preferences" %}
{% include "common_libs.html" %}
+
{% include "_header.html" %}
@@ -206,6 +207,15 @@ {% trans "Focus mode" %}
+ {% trans "Number of items per page" %}
+
+
+
+
+
+
+
+
{% trans "Custom styles" %}
@@ -219,13 +229,16 @@ {% trans "Custom styles" %}
if (!_c) $('input[id=theme_auto]').prop('checked', true);
$("#user_style").val(localStorage.getItem("user_style")||"");
$("#solo_mode").prop("checked", localStorage.getItem("solo_mode")=="1");
+ var _p=Cookies.get('per_page') || 20;
+ $('#'+_p+'_per_page').prop('checked', true);
function save_local() {
var _c=$('input[name=theme_color]:checked').val();
$('html').attr('data-theme', _c||"");
localStorage.setItem("theme_color", _c);
localStorage.setItem("user_style", $("#user_style").val());
localStorage.setItem("solo_mode", $("#solo_mode").prop("checked")?"1":"0");
- alert("{% trans "Settings for current device saved" %}");
+ Cookies.set('per_page', $('input[name=per_page]:checked').val(), {expires: 120, sameSite: 'Lax'});
+ alert("{% trans 'Settings for current device saved' %}");
}