From b6db08f73c9cd4fa401753c7415633a5da76157e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 16 Jul 2024 17:14:33 -0400 Subject: [PATCH 1/6] edge case for shelf initialization --- journal/models/mark.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/journal/models/mark.py b/journal/models/mark.py index 17eb7722..28ba7b4d 100644 --- a/journal/models/mark.py +++ b/journal/models/mark.py @@ -250,7 +250,7 @@ def update( else: # ignore most recent post if exists and create new one update_mode = 2 - shelf = Shelf.objects.get(owner=self.owner, shelf_type=shelf_type) + shelf = self.owner.shelf_manager.get_shelf(shelf_type) d = {"parent": shelf, "visibility": visibility, "position": 0} if metadata: d["metadata"] = metadata From 6078d7c64eb33a85e3ad9c180264e8d7741ffdca Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 16 Jul 2024 17:49:10 -0400 Subject: [PATCH 2/6] allow delete unused podcasts --- catalog/book/models.py | 2 +- catalog/common/models.py | 8 ++++++++ catalog/podcast/models.py | 16 +++++++++++++--- catalog/templates/_sidebar_edit.html | 17 +++++------------ catalog/views_edit.py | 4 +++- 5 files changed, 30 insertions(+), 17 deletions(-) diff --git a/catalog/book/models.py b/catalog/book/models.py index 916e8881..d39dfb01 100644 --- a/catalog/book/models.py +++ b/catalog/book/models.py @@ -173,7 +173,7 @@ class Edition(Item): ) language = LanguageListField() pub_house = jsondata.CharField( - _("publishing house"), null=True, blank=False, max_length=500 + _("publishing house"), null=True, blank=True, max_length=500 ) pub_year = jsondata.IntegerField( _("publication year"), diff --git a/catalog/common/models.py b/catalog/common/models.py index 7965c6ac..c6259d59 100644 --- a/catalog/common/models.py +++ b/catalog/common/models.py @@ -419,6 +419,14 @@ class Meta: ] ] + def can_soft_delete(self): + return ( + not self.is_deleted + and not self.merged_to_item_id + and not self.merged_from_items.exists() + and not self.child_items.exists() + ) + def delete( self, using: Any = None, diff --git a/catalog/podcast/models.py b/catalog/podcast/models.py index f2dc9ab6..5ead99c8 100644 --- a/catalog/podcast/models.py +++ b/catalog/podcast/models.py @@ -17,7 +17,7 @@ PrimaryLookupIdDescriptor, jsondata, ) -from catalog.common.models import LanguageListField +from catalog.common.models import LIST_OF_ONE_PLUS_STR_SCHEMA, LanguageListField class PodcastInSchema(ItemInSchema): @@ -52,10 +52,12 @@ class Podcast(Item): language = LanguageListField() - host = jsondata.ArrayField( + host = jsondata.JSONField( verbose_name=_("host"), - base_field=models.CharField(blank=True, default="", max_length=200), + null=False, + blank=False, default=list, + schema=LIST_OF_ONE_PLUS_STR_SCHEMA, ) official_site = jsondata.CharField( @@ -97,6 +99,14 @@ def feed_url(self): def child_items(self): return self.episodes.filter(is_deleted=False, merged_to_item=None) + def can_soft_delete(self): + # override can_soft_delete() and allow delete podcast with episodes + return ( + not self.is_deleted + and not self.merged_to_item_id + and not self.merged_from_items.exists() + ) + class PodcastEpisode(Item): category = ItemCategory.Podcast diff --git a/catalog/templates/_sidebar_edit.html b/catalog/templates/_sidebar_edit.html index 53129333..a70ad3c5 100644 --- a/catalog/templates/_sidebar_edit.html +++ b/catalog/templates/_sidebar_edit.html @@ -157,7 +157,7 @@
{% trans "Edit Options" %}
{% endif %} {% if item.class_name == "tvseason" or item.class_name == "performanceproduction" %}
- {% trans "link to parent item" %} + {% trans "Link to parent item" %}
@@ -173,7 +173,7 @@
{% trans "Edit Options" %}
{% endif %} {% if item.class_name == "tvshow" %}
- {% trans "cleanup seasons" %} + {% trans "Cleanup seasons" %} @@ -186,7 +186,7 @@
{% trans "Edit Options" %}
{% endif %} {% if not item.journal_exists or request.user.is_staff %}
- {% trans 'merge' %} + {% trans 'Merge' %} {% csrf_token %} @@ -201,20 +201,13 @@
{% trans "Edit Options" %}
value="{% trans 'merge to another item' %}">
- {% if item.child_items %} - - {% elif item.merged_from_items.all %} - - {% else %} + {% if item.can_soft_delete %}
{% trans 'Delete' %}
{% csrf_token %} - +
{% endif %} diff --git a/catalog/views_edit.py b/catalog/views_edit.py index 3c98cb42..8630e9e2 100644 --- a/catalog/views_edit.py +++ b/catalog/views_edit.py @@ -119,7 +119,9 @@ def edit(request, item_path, item_uuid): def delete(request, item_path, item_uuid): item = get_object_or_404(Item, uid=get_uuid_or_404(item_uuid)) if not request.user.is_staff and item.journal_exists(): - raise PermissionDenied(_("Insufficient permission")) + raise PermissionDenied(_("Item in use.")) + if not item.can_soft_delete(): + raise PermissionDenied(_("Item cannot be deleted.")) if request.POST.get("sure", 0) != "1": return render(request, "catalog_delete.html", {"item": item}) else: From b14a27107e3e84cff3f7135ce0a0b2b99dee5dde Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 16 Jul 2024 22:55:29 -0400 Subject: [PATCH 3/6] more fix for goodreads and bamgumi --- catalog/sites/bangumi.py | 20 ++++++++++++++++---- catalog/sites/goodreads.py | 10 ++++------ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/catalog/sites/bangumi.py b/catalog/sites/bangumi.py index 99e614f1..bd1b8d2b 100644 --- a/catalog/sites/bangumi.py +++ b/catalog/sites/bangumi.py @@ -75,7 +75,11 @@ def scrape(self): v = i["value"] match k: case "别名": - other_title = [d["v"] for d in v] if type(v) == list else v + other_title = ( + [d["v"] for d in v] + if type(v) == list + else ([v] if isinstance(v, str) else []) + ) case "imdb_id": imdb_code = v case "isbn": @@ -87,12 +91,20 @@ def scrape(self): case "导演": director = v case "作者": - authors = [d["v"] for d in v] if type(v) == list else v + authors = ( + [d["v"] for d in v] + if type(v) == list + else ([v] if isinstance(v, str) else []) + ) case "平台": - platform = [d["v"] for d in v] if type(v) == list else v + platform = ( + [d["v"] for d in v] + if type(v) == list + else ([v] if isinstance(v, str) else []) + ) case "游戏类型": genre = ( - [i["v"] for i in v] + [d["v"] for d in v] if isinstance(v, list) else ([v] if isinstance(v, str) else []) ) diff --git a/catalog/sites/goodreads.py b/catalog/sites/goodreads.py index 6370ad1a..85403f75 100644 --- a/catalog/sites/goodreads.py +++ b/catalog/sites/goodreads.py @@ -74,14 +74,12 @@ def scrape(self, response=None): lang = detect_language(b["title"] + " " + data["brief"]) data["localized_title"] = [{"lang": lang, "text": b["title"]}] data["localized_subtitle"] = [] # Goodreads does not support subtitle + if data["brief"]: + data["brief"] = html_to_text(data["brief"]) data["localized_description"] = ( [{"lang": lang, "text": data["brief"]}] if data["brief"] else [] ) - - if data["brief"]: - data["brief"] = re.sub( - r"<[^>]*>", "", data["brief"].replace("
", "\n") - ) + data["author"] = [c["name"] for c in o["Contributor"] if c.get("name")] ids = {} t, n = detect_isbn_asin(b["details"].get("asin")) if t: @@ -159,7 +157,7 @@ def scrape(self, response=None): metadata={ "title": title, "localized_title": [{"lang": "en", "text": title}], - "author": author, + "author": [author] if author else [], "first_published": first_published, } ) From 5134e861543d4eb9764eb88f198909c915cf314b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 17 Jul 2024 00:21:24 -0400 Subject: [PATCH 4/6] update django --- pyproject.toml | 8 ++++---- requirements-dev.lock | 5 +++-- requirements.lock | 8 +++----- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2301f77e..6043fb12 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ dependencies = [ "cachetools", "dateparser", "discord.py", - "django~=4.2.11", + "django<5.0", "django-anymail", "django-auditlog>=3.0.0", "django-bleach", @@ -20,7 +20,7 @@ dependencies = [ "django-jsonform", "django-maintenance-mode", "django-markdownx", - "django-ninja", + "django-ninja>=1.2.2", "django-oauth-toolkit==2.3.0", "django-polymorphic @ git+https://github.com/jazzband/django-polymorphic/@v4.0.0a", "django-redis", @@ -68,7 +68,7 @@ dev-dependencies = [ "django-stubs>=5.0.2", "djlint~=1.34.1", "isort~=5.13.2", - "lxml-stubs", + "lxml-stubs>=0.5.1", "pyright>=1.1.371", "ruff", "mkdocs-material>=9.5.25", @@ -93,7 +93,7 @@ plugins = ["mypy_django_plugin.main"] django_settings_module = "boofilsic.settings" [tool.ruff] -exclude = ["neodb-takahe/*", "media", ".venv", ".git", "playground", "**/tests.py", "neodb", "**/migrations", "**/commands", "**/importers", "**/sites", "legacy" ] +exclude = ["neodb-takahe/*", "media", ".venv", ".git", "playground", "**/tests.py", "neodb", "**/migrations", "**/commands", "**/importers", "legacy" ] lint.ignore = ["F401", "F403", "F405"] [tool.setuptools] diff --git a/requirements-dev.lock b/requirements-dev.lock index f15fc5d9..08814051 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -7,6 +7,7 @@ # all-features: false # with-sources: false # generate-hashes: false +# universal: false aiohttp==3.9.5 # via discord-py @@ -63,7 +64,7 @@ deepmerge==1.1.1 discord-py==2.3.2 distlib==0.3.8 # via virtualenv -django==4.2.13 +django==4.2.14 # via django-anymail # via django-appconf # via django-auditlog @@ -95,7 +96,7 @@ django-hijack==3.5.4 django-jsonform==2.22.0 django-maintenance-mode==0.21.1 django-markdownx==4.0.7 -django-ninja==1.1.0 +django-ninja==1.2.2 django-oauth-toolkit==2.3.0 django-polymorphic @ git+https://github.com/jazzband/django-polymorphic/@1039f882b99f97bf657bd958c949ee6a3b00377a django-redis==5.4.0 diff --git a/requirements.lock b/requirements.lock index 682831ec..b3ec5ad2 100644 --- a/requirements.lock +++ b/requirements.lock @@ -7,6 +7,7 @@ # all-features: false # with-sources: false # generate-hashes: false +# universal: false aiohttp==3.9.5 # via discord-py @@ -47,7 +48,7 @@ cryptography==42.0.8 dateparser==1.2.0 deepmerge==1.1.1 discord-py==2.3.2 -django==4.2.13 +django==4.2.14 # via django-anymail # via django-appconf # via django-auditlog @@ -77,7 +78,7 @@ django-hijack==3.5.4 django-jsonform==2.22.0 django-maintenance-mode==0.21.1 django-markdownx==4.0.7 -django-ninja==1.1.0 +django-ninja==1.2.2 django-oauth-toolkit==2.3.0 django-polymorphic @ git+https://github.com/jazzband/django-polymorphic/@1039f882b99f97bf657bd958c949ee6a3b00377a django-redis==5.4.0 @@ -126,8 +127,6 @@ mistune==3.0.2 multidict==6.0.5 # via aiohttp # via yarl -nodeenv==1.9.1 - # via pyright oauthlib==3.2.2 # via django-oauth-toolkit openpyxl==3.1.3 @@ -148,7 +147,6 @@ pydantic==2.7.3 # via django-ninja pydantic-core==2.18.4 # via pydantic -pyright==1.1.370 python-dateutil==2.9.0.post0 # via dateparser # via django-auditlog From ff8495ce0b4a30a25046393bffc7491eed95d6b8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 17 Jul 2024 00:53:42 -0400 Subject: [PATCH 5/6] add a few more configurations --- boofilsic/settings.py | 14 +++++-- catalog/jobs/discover.py | 69 +++++++++++++++++---------------- catalog/templates/discover.html | 4 +- catalog/views.py | 9 ++++- compose.yml | 6 ++- docs/configuration.md | 5 ++- takahe/utils.py | 11 ++++++ 7 files changed, 73 insertions(+), 45 deletions(-) diff --git a/boofilsic/settings.py b/boofilsic/settings.py index 0ffb5411..d80add93 100644 --- a/boofilsic/settings.py +++ b/boofilsic/settings.py @@ -84,9 +84,13 @@ # Number of marks required for an item to be included in discover NEODB_MIN_MARKS_FOR_DISCOVER=(int, 1), # if True, only show title language with NEODB_PREFERRED_LANGUAGES - NEODB_FILTER_LANGUAGE_FOR_DISCOVER=(bool, False), + NEODB_DISCOVER_FILTER_LANGUAGE=(bool, False), # if True, only show items marked by local users rather than entire network - NEODB_FILTER_LOCAL_ONLY_FOR_DISCOVER=(bool, False), + NEODB_DISCOVER_SHOW_LOCAL_ONLY=(bool, False), + # if True, show popular public posts instead of recent ones. + NEODB_DISCOVER_SHOW_POPULAR_POSTS=(bool, False), + # update popular items every X minutes. + NEODB_DISCOVER_UPDATE_INTERVAL=(int, 60), # Disable cron jobs, * for all NEODB_DISABLE_CRON_JOBS=(list, []), # federated search peers @@ -219,8 +223,10 @@ MIN_MARKS_FOR_DISCOVER = env("NEODB_MIN_MARKS_FOR_DISCOVER") -FILTER_LANGUAGE_FOR_DISCOVER = env("NEODB_FILTER_LANGUAGE_FOR_DISCOVER") -FILTER_LOCAL_ONLY_FOR_DISCOVER = env("NEODB_FILTER_LOCAL_ONLY_FOR_DISCOVER") +DISCOVER_UPDATE_INTERVAL = env("NEODB_DISCOVER_UPDATE_INTERVAL") +DISCOVER_FILTER_LANGUAGE = env("NEODB_DISCOVER_FILTER_LANGUAGE") +DISCOVER_SHOW_LOCAL_ONLY = env("NEODB_DISCOVER_SHOW_LOCAL_ONLY") +DISCOVER_SHOW_POPULAR_POSTS = env("NEODB_DISCOVER_SHOW_POPULAR_POSTS") MASTODON_ALLOWED_SITES = env("NEODB_LOGIN_MASTODON_WHITELIST") diff --git a/catalog/jobs/discover.py b/catalog/jobs/discover.py index 8fc479b8..49e8b18a 100644 --- a/catalog/jobs/discover.py +++ b/catalog/jobs/discover.py @@ -31,7 +31,7 @@ @JobManager.register class DiscoverGenerator(BaseJob): - interval = timedelta(hours=1) + interval = timedelta(minutes=settings.DISCOVER_UPDATE_INTERVAL) def get_popular_marked_item_ids(self, category, days, exisiting_ids): qs = ( @@ -39,9 +39,9 @@ def get_popular_marked_item_ids(self, category, days, exisiting_ids): .filter(created_time__gt=timezone.now() - timedelta(days=days)) .exclude(item_id__in=exisiting_ids) ) - if settings.FILTER_LOCAL_ONLY_FOR_DISCOVER: + if settings.DISCOVER_SHOW_LOCAL_ONLY: qs = qs.filter(local=True) - if settings.FILTER_LANGUAGE_FOR_DISCOVER: + if settings.DISCOVER_FILTER_LANGUAGE: q = None for loc in PREFERRED_LOCALES: if q: @@ -63,7 +63,7 @@ def get_popular_commented_podcast_ids(self, days, exisiting_ids): qs = Comment.objects.filter(q_item_in_category(ItemCategory.Podcast)).filter( created_time__gt=timezone.now() - timedelta(days=days) ) - if settings.FILTER_LOCAL_ONLY_FOR_DISCOVER: + if settings.DISCOVER_SHOW_LOCAL_ONLY: qs = qs.filter(local=True) return list( qs.annotate(p=F("item__podcastepisode__program")) @@ -87,7 +87,7 @@ def cleanup_shows(self, items): def run(self): logger.info("Discover data update start.") - local = settings.FILTER_LOCAL_ONLY_FOR_DISCOVER + local = settings.DISCOVER_SHOW_LOCAL_ONLY gallery_categories = [ ItemCategory.Book, ItemCategory.Movie, @@ -165,36 +165,39 @@ def run(self): tags = TagManager.popular_tags(days=14, local_only=local)[:40] excluding_identities = Takahe.get_no_discover_identities() - reviews = ( - Review.objects.filter(visibility=0) - .exclude(owner_id__in=excluding_identities) - .order_by("-created_time") - ) - if local: - reviews = reviews.filter(local=True) - post_ids = ( - set( - Takahe.get_popular_posts( - 28, settings.MIN_MARKS_FOR_DISCOVER, excluding_identities, local - ).values_list("pk", flat=True)[:5] - ) - | set( - Takahe.get_popular_posts( - 14, settings.MIN_MARKS_FOR_DISCOVER, excluding_identities, local - ).values_list("pk", flat=True)[:5] + if settings.NEODB_DISCOVER_SHOW_POPULAR_POSTS: + reviews = ( + Review.objects.filter(visibility=0) + .exclude(owner_id__in=excluding_identities) + .order_by("-created_time") ) - | set( - Takahe.get_popular_posts( - 7, settings.MIN_MARKS_FOR_DISCOVER, excluding_identities, local - ).values_list("pk", flat=True)[:10] - ) - | set( - Takahe.get_popular_posts(1, 0, excluding_identities, local).values_list( - "pk", flat=True - )[:3] + if local: + reviews = reviews.filter(local=True) + post_ids = ( + set( + Takahe.get_popular_posts( + 28, settings.MIN_MARKS_FOR_DISCOVER, excluding_identities, local + ).values_list("pk", flat=True)[:5] + ) + | set( + Takahe.get_popular_posts( + 14, settings.MIN_MARKS_FOR_DISCOVER, excluding_identities, local + ).values_list("pk", flat=True)[:5] + ) + | set( + Takahe.get_popular_posts( + 7, settings.MIN_MARKS_FOR_DISCOVER, excluding_identities, local + ).values_list("pk", flat=True)[:10] + ) + | set( + Takahe.get_popular_posts( + 1, 0, excluding_identities, local + ).values_list("pk", flat=True)[:3] + ) + | set(reviews.values_list("posts", flat=True)[:5]) ) - | set(reviews.values_list("posts", flat=True)[:5]) - ) + else: + post_ids = [] cache.set("public_gallery", gallery_list, timeout=None) cache.set("trends_links", trends, timeout=None) cache.set("featured_collections", collection_ids, timeout=None) diff --git a/catalog/templates/discover.html b/catalog/templates/discover.html index c5bcb7cf..ba52d67a 100644 --- a/catalog/templates/discover.html +++ b/catalog/templates/discover.html @@ -87,9 +87,9 @@
{% trans "Collections" %}
  • {{ item.display_title }} -
    {{ item.display_title }}
    +
    {{ item.title }}
  • {% endfor %} diff --git a/catalog/views.py b/catalog/views.py index 5b1e9c36..61969edd 100644 --- a/catalog/views.py +++ b/catalog/views.py @@ -263,8 +263,13 @@ def discover(request): layout = request.user.preference.discover_layout identity = request.user.identity announcements = [] - post_ids = cache.get("popular_posts", []) - popular_posts = Takahe.get_posts(post_ids).order_by("-published") + if settings.DISCOVER_SHOW_POPULAR_POSTS: + post_ids = cache.get("popular_posts", []) + popular_posts = Takahe.get_posts(post_ids).order_by("-published") + else: + popular_posts = Takahe.get_public_posts(settings.DISCOVER_SHOW_LOCAL_ONLY)[ + :20 + ] else: identity = None layout = [] diff --git a/compose.yml b/compose.yml index f1a083c1..f97ab9ff 100644 --- a/compose.yml +++ b/compose.yml @@ -34,8 +34,10 @@ x-shared: NEODB_DISABLE_CRON_JOBS: NEODB_SEARCH_PEERS: NEODB_MIN_MARKS_FOR_DISCOVER: - NEODB_FILTER_LANGUAGE_FOR_DISCOVER: - NEODB_FILTER_LOCAL_ONLY_FOR_DISCOVER: + NEODB_DISCOVER_UPDATE_INTERVAL: + NEODB_DISCOVER_FILTER_LANGUAGE: + NEODB_DISCOVER_SHOW_LOCAL_ONLY: + NEODB_DISCOVER_SHOW_POPULAR_POSTS: NEODB_SENTRY_DSN: TAKAHE_SENTRY_DSN: NEODB_SENTRY_SAMPLE_RATE: diff --git a/docs/configuration.md b/docs/configuration.md index b708b7db..f1581899 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -25,8 +25,9 @@ if you are doing debug or development: - `NEODB_SITE_HEAD` - `NEODB_SITE_DESCRIPTION` - `NEODB_PREFERRED_LANGUAGES` - preferred languages when importing titles from 3rd party sites like TMDB and Steam, comma-separated list of ISO-639-1 two-letter codes, `en,zh` by default. It can includes languages with no UI translations yet, e.g. if set to `ja,en,zh`, NeoDB scraper will fetch catalog metadata in three languages if they are available from third party sites, Japanese users (= whose browser language set to ja-JP) will see English UI with Japanese metadata. - - `NEODB_FILTER_LANGUAGE_FOR_DISCOVER` - `False` by default; when set to `True`, `/discover/` will only show items with languages match one of `NEODB_PREFERRED_LANGUAGES`. - - `NEODB_FILTER_LOCAL_ONLY_FOR_DISCOVER` - `False` by default; when set to `True`, only show items marked by local users rather than entire network in `/discover/` + - `NEODB_DISCOVER_FILTER_LANGUAGE` - `False` by default; when set to `True`, `/discover/` will only show items with languages match one of `NEODB_PREFERRED_LANGUAGES`. + - `NEODB_DISCOVER_SHOW_LOCAL_ONLY` - `False` by default; when set to `True`, only show items marked by local users rather than entire network on `/discover/` + - `NEODB_DISCOVER_UPDATE_INTERVAL` - minutes between each update for popular items on `/discover/` - `NEODB_SITE_LINKS` - a list of title and links to show in the footer, comma separated, e.g. `Feedback=https://discord.gg/8KweCuApaK,ToS=/pages/rules/` - `NEODB_INVITE_ONLY` - `False` by default, set to `True` to require invite code(generated by `neodb-manage invite --create`) to register - `NEODB_ENABLE_LOCAL_ONLY` - `False` by default, set to `True` to allow user to post marks as "local public" diff --git a/takahe/utils.py b/takahe/utils.py index 5bbc5569..e27afd50 100644 --- a/takahe/utils.py +++ b/takahe/utils.py @@ -837,6 +837,17 @@ def get_no_discover_identities(): Identity.objects.filter(discoverable=False).values_list("pk", flat=True) ) + @staticmethod + def get_public_posts(local_only=False): + qs = ( + Post.objects.exclude(state__in=["deleted", "deleted_fanned_out"]) + .filter(visibility__in=[0, 4]) + .order_by("-published") + ) + if local_only: + qs = qs.filter(local=True) + return qs + @staticmethod def get_popular_posts( days: int = 30, From e217918c83bcdcc5c572e82e077aeec68e7d134b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 17 Jul 2024 01:08:06 -0400 Subject: [PATCH 6/6] tweak 404 --- common/templates/404.html | 2 +- locale/zh_Hans/LC_MESSAGES/django.po | 407 ++++++++++++++------------- locale/zh_Hant/LC_MESSAGES/django.po | 407 ++++++++++++++------------- 3 files changed, 417 insertions(+), 399 deletions(-) diff --git a/common/templates/404.html b/common/templates/404.html index 18ce0d40..fe8c3831 100644 --- a/common/templates/404.html +++ b/common/templates/404.html @@ -17,7 +17,7 @@
    -

    🤷🏻 {{ exception|default:"" }}

    +

    🤷🏻 {% trans "Something is missing" %}

    {% blocktrans %}You may have visited an incorrect URL, or the content you are looking for has been deleted by the author.{% endblocktrans %}
    diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index ae1282b6..51072f3b 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-13 16:14-0400\n" +"POT-Creation-Date: 2024-07-17 01:04-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,25 +15,25 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: boofilsic/settings.py:412 common/models/lang.py:197 +#: boofilsic/settings.py:425 common/models/lang.py:197 msgid "English" msgstr "英语" -#: boofilsic/settings.py:413 +#: boofilsic/settings.py:426 msgid "Simplified Chinese" msgstr "简体中文" -#: boofilsic/settings.py:414 +#: boofilsic/settings.py:427 msgid "Traditional Chinese" msgstr "繁体中文" #: catalog/book/models.py:80 catalog/book/models.py:99 -#: catalog/common/models.py:301 catalog/common/models.py:319 +#: catalog/common/models.py:306 catalog/common/models.py:324 msgid "locale" msgstr "区域语言" #: catalog/book/models.py:83 catalog/book/models.py:102 -#: catalog/common/models.py:304 catalog/common/models.py:324 +#: catalog/common/models.py:309 catalog/common/models.py:329 msgid "text content" msgstr "文本内容" @@ -42,12 +42,12 @@ msgid "subtitle" msgstr "副标题" #: catalog/book/models.py:158 catalog/movie/models.py:68 -#: catalog/performance/models.py:257 catalog/tv/models.py:137 -#: catalog/tv/models.py:294 +#: catalog/performance/models.py:257 catalog/tv/models.py:138 +#: catalog/tv/models.py:296 msgid "original title" msgstr "原名" -#: catalog/book/models.py:161 catalog/book/models.py:327 +#: catalog/book/models.py:161 catalog/book/models.py:323 msgid "author" msgstr "作者" @@ -67,371 +67,371 @@ msgstr "发行年份" msgid "publication month" msgstr "发行月份" -#: catalog/book/models.py:191 catalog/templates/edition.html:52 +#: catalog/book/models.py:190 catalog/templates/edition.html:48 msgid "binding" msgstr "装订" -#: catalog/book/models.py:193 +#: catalog/book/models.py:191 msgid "pages" msgstr "页数" -#: catalog/book/models.py:195 catalog/templates/edition.html:42 +#: catalog/book/models.py:192 catalog/templates/edition.html:42 msgid "series" msgstr "丛书" -#: catalog/book/models.py:197 +#: catalog/book/models.py:193 msgid "contents" msgstr "目录" -#: catalog/book/models.py:198 catalog/templates/edition.html:57 +#: catalog/book/models.py:194 catalog/templates/edition.html:53 msgid "price" msgstr "价格" -#: catalog/book/models.py:199 catalog/templates/edition.html:31 +#: catalog/book/models.py:195 catalog/templates/edition.html:31 msgid "imprint" msgstr "出品方" -#: catalog/common/models.py:37 +#: catalog/common/models.py:42 msgid "Unknown" msgstr "未知" -#: catalog/common/models.py:38 +#: catalog/common/models.py:43 msgid "Douban" msgstr "豆瓣" -#: catalog/common/models.py:39 catalog/common/models.py:77 +#: catalog/common/models.py:44 catalog/common/models.py:82 msgid "Goodreads" msgstr "Goodreads" -#: catalog/common/models.py:40 catalog/common/models.py:81 +#: catalog/common/models.py:45 catalog/common/models.py:86 msgid "Google Books" msgstr "谷歌图书" -#: catalog/common/models.py:41 +#: catalog/common/models.py:46 msgid "BooksTW" msgstr "博客來" -#: catalog/common/models.py:42 catalog/common/models.py:70 +#: catalog/common/models.py:47 catalog/common/models.py:75 #: catalog/templates/movie.html:51 catalog/templates/tvseason.html:68 #: catalog/templates/tvshow.html:63 msgid "IMDb" msgstr "IMDb" -#: catalog/common/models.py:43 +#: catalog/common/models.py:48 msgid "TMDB" msgstr "TMDB" -#: catalog/common/models.py:44 catalog/common/models.py:94 +#: catalog/common/models.py:49 catalog/common/models.py:99 msgid "Bandcamp" msgstr "Bandcamp" -#: catalog/common/models.py:45 +#: catalog/common/models.py:50 msgid "Spotify" msgstr "Spotify" -#: catalog/common/models.py:46 +#: catalog/common/models.py:51 msgid "IGDB" msgstr "IGDB" -#: catalog/common/models.py:47 +#: catalog/common/models.py:52 msgid "Steam" msgstr "Steam" -#: catalog/common/models.py:48 catalog/common/models.py:112 +#: catalog/common/models.py:53 catalog/common/models.py:117 msgid "Bangumi" msgstr "Bangumi" -#: catalog/common/models.py:49 +#: catalog/common/models.py:54 msgid "BGG" msgstr "BGG" -#: catalog/common/models.py:51 +#: catalog/common/models.py:56 msgid "RSS" msgstr "RSS" -#: catalog/common/models.py:52 +#: catalog/common/models.py:57 msgid "Discogs" msgstr "Discogs" -#: catalog/common/models.py:53 catalog/common/models.py:114 +#: catalog/common/models.py:58 catalog/common/models.py:119 msgid "Apple Music" msgstr "苹果音乐" -#: catalog/common/models.py:54 catalog/common/models.py:115 +#: catalog/common/models.py:59 catalog/common/models.py:120 msgid "Fediverse" msgstr "联邦宇宙" -#: catalog/common/models.py:58 +#: catalog/common/models.py:63 msgid "WikiData" msgstr "维基数据" -#: catalog/common/models.py:59 +#: catalog/common/models.py:64 msgid "ISBN10" msgstr "ISBN10" -#: catalog/common/models.py:60 catalog/templates/edition.html:19 +#: catalog/common/models.py:65 catalog/templates/edition.html:19 msgid "ISBN" msgstr "ISBN" -#: catalog/common/models.py:61 +#: catalog/common/models.py:66 msgid "ASIN" msgstr "ASIN" -#: catalog/common/models.py:62 +#: catalog/common/models.py:67 msgid "ISSN" msgstr "ISSN" -#: catalog/common/models.py:63 +#: catalog/common/models.py:68 msgid "CUBN" msgstr "统一书号" -#: catalog/common/models.py:64 +#: catalog/common/models.py:69 msgid "ISRC" msgstr "ISRC" -#: catalog/common/models.py:67 +#: catalog/common/models.py:72 msgid "GTIN UPC EAN" msgstr "条形码" -#: catalog/common/models.py:69 +#: catalog/common/models.py:74 msgid "RSS Feed URL" msgstr "RSS网址" -#: catalog/common/models.py:71 +#: catalog/common/models.py:76 msgid "TMDB TV Serie" msgstr "TMDB电视剧集" -#: catalog/common/models.py:72 +#: catalog/common/models.py:77 msgid "TMDB TV Season" msgstr "TMDB电视分季" -#: catalog/common/models.py:74 +#: catalog/common/models.py:79 msgid "TMDB TV Episode" msgstr "TMDB电视单集" -#: catalog/common/models.py:76 +#: catalog/common/models.py:81 msgid "TMDB Movie" msgstr "TMDB电影" -#: catalog/common/models.py:79 +#: catalog/common/models.py:84 msgid "Goodreads Work" msgstr "Goodreads著作" -#: catalog/common/models.py:82 +#: catalog/common/models.py:87 msgid "Douban Book" msgstr "豆瓣图书" -#: catalog/common/models.py:84 +#: catalog/common/models.py:89 msgid "Douban Book Work" msgstr "豆瓣图书著作" -#: catalog/common/models.py:86 +#: catalog/common/models.py:91 msgid "Douban Movie" msgstr "豆瓣电影" -#: catalog/common/models.py:87 +#: catalog/common/models.py:92 msgid "Douban Music" msgstr "豆瓣音乐" -#: catalog/common/models.py:88 +#: catalog/common/models.py:93 msgid "Douban Game" msgstr "豆瓣游戏" -#: catalog/common/models.py:89 +#: catalog/common/models.py:94 msgid "Douban Drama" msgstr "豆瓣舞台剧" -#: catalog/common/models.py:91 +#: catalog/common/models.py:96 msgid "Douban Drama Version" msgstr "豆瓣舞台剧版本" -#: catalog/common/models.py:93 +#: catalog/common/models.py:98 msgid "BooksTW Book" msgstr "博客来图书" -#: catalog/common/models.py:95 +#: catalog/common/models.py:100 msgid "Spotify Album" msgstr "Spotify专辑" -#: catalog/common/models.py:96 +#: catalog/common/models.py:101 msgid "Spotify Podcast" msgstr "Spotify播客" -#: catalog/common/models.py:98 +#: catalog/common/models.py:103 msgid "Discogs Release" msgstr "Discogs发行" -#: catalog/common/models.py:101 +#: catalog/common/models.py:106 msgid "Discogs Master" msgstr "Discogs作品" -#: catalog/common/models.py:103 +#: catalog/common/models.py:108 msgid "MusicBrainz ID" msgstr "MusicBrainz ID" -#: catalog/common/models.py:109 +#: catalog/common/models.py:114 msgid "IGDB Game" msgstr "IGDB游戏" -#: catalog/common/models.py:110 +#: catalog/common/models.py:115 msgid "BGG Boardgame" msgstr "BGG桌游" -#: catalog/common/models.py:111 +#: catalog/common/models.py:116 msgid "Steam Game" msgstr "Steam游戏" -#: catalog/common/models.py:113 +#: catalog/common/models.py:118 msgid "Apple Podcast" msgstr "苹果播客" -#: catalog/common/models.py:131 catalog/common/models.py:152 -#: catalog/common/models.py:165 common/templates/_header.html:25 +#: catalog/common/models.py:136 catalog/common/models.py:157 +#: catalog/common/models.py:170 common/templates/_header.html:25 #: journal/templates/_sidebar_user_mark_list.html:31 msgid "Book" msgstr "图书" -#: catalog/common/models.py:132 +#: catalog/common/models.py:137 msgid "TV Serie" msgstr "电视剧集" -#: catalog/common/models.py:133 catalog/templates/_sidebar_edit.html:140 +#: catalog/common/models.py:138 catalog/templates/_sidebar_edit.html:140 msgid "TV Season" msgstr "电视分季" -#: catalog/common/models.py:134 +#: catalog/common/models.py:139 msgid "TV Episode" msgstr "电视单集" -#: catalog/common/models.py:135 catalog/common/models.py:153 -#: catalog/common/models.py:166 catalog/templates/_sidebar_edit.html:133 +#: catalog/common/models.py:140 catalog/common/models.py:158 +#: catalog/common/models.py:171 catalog/templates/_sidebar_edit.html:133 #: journal/templates/_sidebar_user_mark_list.html:34 msgid "Movie" msgstr "电影" -#: catalog/common/models.py:136 +#: catalog/common/models.py:141 msgid "Album" msgstr "专辑" -#: catalog/common/models.py:137 catalog/common/models.py:156 -#: catalog/common/models.py:169 common/templates/_header.html:41 +#: catalog/common/models.py:142 catalog/common/models.py:161 +#: catalog/common/models.py:174 common/templates/_header.html:41 #: journal/templates/_sidebar_user_mark_list.html:47 msgid "Game" msgstr "游戏" -#: catalog/common/models.py:138 +#: catalog/common/models.py:143 msgid "Podcast Program" msgstr "播客节目" -#: catalog/common/models.py:140 +#: catalog/common/models.py:145 msgid "Podcast Episode" msgstr "播客单集" -#: catalog/common/models.py:142 catalog/common/models.py:158 -#: catalog/common/models.py:171 common/templates/_header.html:45 +#: catalog/common/models.py:147 catalog/common/models.py:163 +#: catalog/common/models.py:176 common/templates/_header.html:45 #: journal/templates/_sidebar_user_mark_list.html:51 msgid "Performance" msgstr "演出" -#: catalog/common/models.py:144 +#: catalog/common/models.py:149 msgid "Production" msgstr "上演" -#: catalog/common/models.py:146 +#: catalog/common/models.py:151 msgid "Fanfic" msgstr "网文" -#: catalog/common/models.py:147 catalog/common/models.py:160 +#: catalog/common/models.py:152 catalog/common/models.py:165 msgid "Exhibition" msgstr "展览" -#: catalog/common/models.py:148 catalog/common/models.py:161 +#: catalog/common/models.py:153 catalog/common/models.py:166 #: 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:154 catalog/common/models.py:167 +#: catalog/common/models.py:159 catalog/common/models.py:172 #: journal/templates/_sidebar_user_mark_list.html:37 msgid "TV" msgstr "剧集" -#: catalog/common/models.py:155 catalog/common/models.py:168 +#: catalog/common/models.py:160 catalog/common/models.py:173 #: common/templates/_header.html:37 #: journal/templates/_sidebar_user_mark_list.html:44 msgid "Music" msgstr "音乐" -#: catalog/common/models.py:157 catalog/common/models.py:170 +#: catalog/common/models.py:162 catalog/common/models.py:175 #: 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:159 +#: catalog/common/models.py:164 msgid "FanFic" msgstr "网文" -#: catalog/common/models.py:336 catalog/templates/edition.html:47 -#: catalog/tv/models.py:374 users/models/user.py:114 +#: catalog/common/models.py:348 catalog/tv/models.py:376 +#: users/models/user.py:114 msgid "language" msgstr "语言" -#: catalog/common/models.py:359 catalog/common/models.py:387 +#: catalog/common/models.py:371 catalog/common/models.py:399 #: journal/models/collection.py:52 msgid "title" msgstr "标题" -#: catalog/common/models.py:360 catalog/common/models.py:395 +#: catalog/common/models.py:372 catalog/common/models.py:407 #: journal/models/collection.py:53 msgid "description" msgstr "描述" -#: catalog/common/models.py:362 catalog/forms.py:27 +#: catalog/common/models.py:374 catalog/forms.py:27 msgid "Primary ID Type" msgstr "主要标识类型" -#: catalog/common/models.py:365 catalog/forms.py:32 +#: catalog/common/models.py:377 catalog/forms.py:32 msgid "Primary ID Value" msgstr "主要标识数据" -#: catalog/common/models.py:371 +#: catalog/common/models.py:383 msgid "metadata" msgstr "元数据" -#: catalog/common/models.py:373 +#: catalog/common/models.py:385 msgid "cover" msgstr "封面" -#: catalog/common/models.py:776 +#: catalog/common/models.py:796 msgid "source site" msgstr "来源站点" -#: catalog/common/models.py:778 +#: catalog/common/models.py:798 msgid "ID on source site" msgstr "来源站点标识" -#: catalog/common/models.py:780 +#: catalog/common/models.py:800 msgid "source url" msgstr "来源站点网址" -#: catalog/common/models.py:796 +#: catalog/common/models.py:816 msgid "IdType of the source site" msgstr "来源站点的主要标识类型" -#: catalog/common/models.py:802 +#: catalog/common/models.py:822 msgid "Primary Id on the source site" msgstr "来源站点的主要标识数据" -#: catalog/common/models.py:805 +#: catalog/common/models.py:825 msgid "url to the resource" msgstr "指向外部资源的网址" #: catalog/game/models.py:60 catalog/movie/models.py:71 -#: catalog/music/models.py:87 catalog/performance/models.py:115 -#: catalog/performance/models.py:260 catalog/tv/models.py:141 -#: catalog/tv/models.py:297 +#: catalog/music/models.py:90 catalog/performance/models.py:115 +#: catalog/performance/models.py:260 catalog/tv/models.py:142 +#: catalog/tv/models.py:299 msgid "other title" msgstr "其它标题" @@ -447,7 +447,7 @@ msgstr "艺术家" msgid "developer" msgstr "开发者" -#: catalog/game/models.py:92 catalog/music/models.py:80 +#: catalog/game/models.py:92 catalog/music/models.py:83 msgid "publisher" msgstr "出版发行" @@ -455,18 +455,18 @@ msgstr "出版发行" msgid "year of publication" msgstr "发行年份" -#: catalog/game/models.py:103 catalog/podcast/models.py:108 +#: catalog/game/models.py:103 catalog/podcast/models.py:118 msgid "date of publication" msgstr "发行日期" -#: catalog/game/models.py:108 catalog/music/models.py:61 -#: catalog/tv/models.py:188 +#: catalog/game/models.py:108 catalog/music/models.py:62 +#: catalog/tv/models.py:189 msgid "YYYY-MM-DD" msgstr "" #: catalog/game/models.py:112 catalog/movie/models.py:99 #: catalog/performance/models.py:122 catalog/podcast/models.py:46 -#: catalog/tv/models.py:168 catalog/tv/models.py:325 +#: catalog/tv/models.py:169 catalog/tv/models.py:327 msgid "genre" msgstr "类型" @@ -474,36 +474,36 @@ msgstr "类型" msgid "platform" msgstr "平台" -#: catalog/game/models.py:126 catalog/movie/models.py:134 +#: catalog/game/models.py:126 catalog/movie/models.py:133 #: catalog/performance/models.py:206 catalog/performance/models.py:344 -#: catalog/podcast/models.py:62 catalog/templates/game.html:29 +#: catalog/podcast/models.py:64 catalog/templates/game.html:29 #: catalog/templates/movie.html:58 catalog/templates/performance.html:33 #: catalog/templates/performanceproduction.html:33 #: catalog/templates/podcast.html:20 catalog/templates/tvseason.html:75 #: catalog/templates/tvshow.html:70 catalog/tv/models.py:203 -#: catalog/tv/models.py:360 +#: catalog/tv/models.py:362 msgid "website" msgstr "网站" #: catalog/movie/models.py:78 catalog/performance/models.py:130 -#: catalog/performance/models.py:268 catalog/tv/models.py:147 -#: catalog/tv/models.py:304 +#: catalog/performance/models.py:268 catalog/tv/models.py:148 +#: catalog/tv/models.py:306 msgid "director" msgstr "导演" #: catalog/movie/models.py:85 catalog/performance/models.py:137 -#: catalog/performance/models.py:275 catalog/tv/models.py:154 -#: catalog/tv/models.py:311 +#: catalog/performance/models.py:275 catalog/tv/models.py:155 +#: catalog/tv/models.py:313 msgid "playwright" msgstr "编剧" #: catalog/movie/models.py:92 catalog/performance/models.py:165 -#: catalog/performance/models.py:303 catalog/tv/models.py:161 -#: catalog/tv/models.py:318 +#: catalog/performance/models.py:303 catalog/tv/models.py:162 +#: catalog/tv/models.py:320 msgid "actor" msgstr "演员" -#: catalog/movie/models.py:106 catalog/music/models.py:61 +#: catalog/movie/models.py:106 catalog/music/models.py:62 #: catalog/templates/_item_card_metadata_album.html:16 #: catalog/templates/album.html:17 catalog/templates/game.html:16 #: catalog/templates/movie.html:40 catalog/templates/tvseason.html:57 @@ -511,63 +511,63 @@ msgstr "演员" msgid "release date" msgstr "发布日期" -#: catalog/movie/models.py:118 catalog/tv/models.py:344 +#: catalog/movie/models.py:118 catalog/tv/models.py:346 #: journal/templates/_sidebar_user_mark_list.html:62 msgid "date" msgstr "日期" #: catalog/movie/models.py:119 catalog/performance/models.py:82 -#: catalog/tv/models.py:345 +#: catalog/tv/models.py:347 msgid "required" msgstr "必填" -#: catalog/movie/models.py:123 catalog/tv/models.py:349 +#: catalog/movie/models.py:123 catalog/tv/models.py:351 msgid "region or event" msgstr "地区或类型" -#: catalog/movie/models.py:125 catalog/tv/models.py:194 -#: catalog/tv/models.py:351 +#: catalog/movie/models.py:125 catalog/tv/models.py:195 +#: catalog/tv/models.py:353 msgid "Germany or Toronto International Film Festival" msgstr "德国或多伦多国际电影节" -#: catalog/movie/models.py:137 catalog/tv/models.py:206 -#: catalog/tv/models.py:363 +#: catalog/movie/models.py:135 catalog/tv/models.py:205 +#: catalog/tv/models.py:365 msgid "region" msgstr "地区" -#: catalog/movie/models.py:148 catalog/tv/models.py:218 -#: catalog/tv/models.py:384 +#: catalog/movie/models.py:146 catalog/tv/models.py:217 +#: catalog/tv/models.py:386 msgid "year" msgstr "年份" -#: catalog/movie/models.py:150 catalog/music/models.py:64 +#: catalog/movie/models.py:147 catalog/music/models.py:65 #: catalog/templates/movie.html:20 catalog/templates/tvseason.html:52 #: catalog/templates/tvshow.html:47 msgid "length" msgstr "长度" -#: catalog/music/models.py:64 +#: catalog/music/models.py:65 msgid "milliseconds" msgstr "微秒" -#: catalog/music/models.py:72 +#: catalog/music/models.py:75 msgctxt "music" msgid "genre" msgstr "风格" -#: catalog/music/models.py:85 +#: catalog/music/models.py:88 msgid "tracks" msgstr "曲目" -#: catalog/music/models.py:94 catalog/templates/album.html:33 +#: catalog/music/models.py:96 catalog/templates/album.html:33 msgid "album type" msgstr "专辑类型" -#: catalog/music/models.py:96 +#: catalog/music/models.py:97 msgid "media type" msgstr "介质类型" -#: catalog/music/models.py:99 catalog/templates/album.html:43 +#: catalog/music/models.py:100 catalog/templates/album.html:43 msgid "number of discs" msgstr "碟片数" @@ -652,7 +652,7 @@ msgid "ratings" msgstr "个评分" #: catalog/templates/_item_card_metadata_base.html:32 -#: catalog/templates/item_base.html:212 +#: catalog/templates/item_base.html:211 msgid "part of" msgstr "所属" @@ -848,7 +848,7 @@ msgid "TV Show" msgstr "电视剧集" #: catalog/templates/_sidebar_edit.html:160 -msgid "link to parent item" +msgid "Link to parent item" msgstr "关联到上一级条目" #: catalog/templates/_sidebar_edit.html:163 @@ -860,7 +860,7 @@ msgid "Update link" msgstr "更新关联" #: catalog/templates/_sidebar_edit.html:176 -msgid "cleanup seasons" +msgid "Cleanup seasons" msgstr "本剧所有季" #: catalog/templates/_sidebar_edit.html:179 @@ -873,7 +873,8 @@ msgid "remove seasons not marked" msgstr "清理单季" #: catalog/templates/_sidebar_edit.html:189 -msgid "merge" +#: catalog/templates/catalog_merge.html:11 +msgid "Merge" msgstr "合并" #: catalog/templates/_sidebar_edit.html:195 @@ -881,11 +882,11 @@ msgid "URL of target item, or empty if undo merge" msgstr "目标条目URL,留空则取消现有合并" #: catalog/templates/_sidebar_edit.html:201 -#: catalog/templates/_sidebar_edit.html:269 +#: catalog/templates/_sidebar_edit.html:262 msgid "merge to another item" msgstr "合并到另一条目" -#: catalog/templates/_sidebar_edit.html:210 +#: catalog/templates/_sidebar_edit.html:206 #: catalog/templates/catalog_delete.html:11 #: journal/templates/collection.html:135 journal/templates/mark.html:162 #: journal/templates/piece_delete.html:9 journal/templates/piece_delete.html:33 @@ -893,71 +894,71 @@ msgstr "合并到另一条目" msgid "Delete" msgstr "删除" -#: catalog/templates/_sidebar_edit.html:217 +#: catalog/templates/_sidebar_edit.html:210 msgid "delete" msgstr "删除" -#: catalog/templates/_sidebar_edit.html:225 +#: catalog/templates/_sidebar_edit.html:218 msgid "Work" msgstr "作品" -#: catalog/templates/_sidebar_edit.html:226 +#: catalog/templates/_sidebar_edit.html:219 msgid "This edition belongs to the following work" msgstr "这个图书版本属于以下作品" -#: catalog/templates/_sidebar_edit.html:233 +#: catalog/templates/_sidebar_edit.html:226 msgid "Sure to unlink?" msgstr "确认取消关联吗?" -#: catalog/templates/_sidebar_edit.html:239 +#: catalog/templates/_sidebar_edit.html:232 msgid "Unlink from work" msgstr "取消关联到上述著作" -#: catalog/templates/_sidebar_edit.html:245 +#: catalog/templates/_sidebar_edit.html:238 msgid "Link" msgstr "关联" -#: catalog/templates/_sidebar_edit.html:256 +#: catalog/templates/_sidebar_edit.html:249 msgid "Link to another edition from same work" msgstr "关联到同一著作的另一本书" -#: catalog/templates/_sidebar_edit.html:263 +#: catalog/templates/_sidebar_edit.html:256 msgid "Suggest Edits" msgstr "修改建议" -#: catalog/templates/_sidebar_edit.html:268 +#: catalog/templates/_sidebar_edit.html:261 msgid "proposed action" msgstr "请选择建议类型..." -#: catalog/templates/_sidebar_edit.html:270 +#: catalog/templates/_sidebar_edit.html:263 msgid "link to another item" msgstr "关联到另一条目" -#: catalog/templates/_sidebar_edit.html:271 +#: catalog/templates/_sidebar_edit.html:264 msgid "change item category" msgstr "更改条目类型" -#: catalog/templates/_sidebar_edit.html:272 +#: catalog/templates/_sidebar_edit.html:265 msgid "change item metadata" msgstr "更正条目信息" -#: catalog/templates/_sidebar_edit.html:273 +#: catalog/templates/_sidebar_edit.html:266 msgid "remove item" msgstr "删除条目" -#: catalog/templates/_sidebar_edit.html:274 +#: catalog/templates/_sidebar_edit.html:267 msgid "other" msgstr "其它" -#: catalog/templates/_sidebar_edit.html:278 +#: catalog/templates/_sidebar_edit.html:271 msgid "To suggest merging or association, please include the URL of the target item" msgstr "建议详情。如提议合并或关联,请包含目标条目网址。" -#: catalog/templates/_sidebar_edit.html:279 +#: catalog/templates/_sidebar_edit.html:272 msgid "submit" msgstr "提交" -#: catalog/templates/_sidebar_edit.html:280 +#: catalog/templates/_sidebar_edit.html:273 msgid "As a user of this community, you may edit some metadata of items on this site. If you are unsure whether your edits are appropriate or are unable to make a certain change, you can make suggestions here. Moderators will consider each suggestion, although there is no guarantee that they will always be fully adopted; suggestions may also be viewed or discussed by other community users. If you have suggestions that are not related to a specific item, please contact us. Thank you for your support and contribution." msgstr "本站由用户共同维护,用户可自主修改部分条目信息。当你不确定自己的修改是否得当或不能做出某种修改时,可在此处向管理员提出建议。管理员会认真考虑处理每一条建议,虽然不保证总是完全采纳;建议也可能被社区其他用户查看或讨论。如果有与具体条目不相关的建议,请访问讨论区或联系我们的社交账号。感谢你的支持和贡献。" @@ -1051,10 +1052,6 @@ msgstr "保存" msgid "Cancel" msgstr "取消" -#: catalog/templates/catalog_merge.html:11 -msgid "Merge" -msgstr "合并" - #: catalog/templates/catalog_merge.html:21 msgid "Are you sure to merge?" msgstr "确定合并吗?" @@ -1114,7 +1111,7 @@ msgstr "全部标为已读" msgid "Popular Tags" msgstr "热门标签" -#: catalog/templates/discover.html:177 catalog/templates/item_base.html:236 +#: catalog/templates/discover.html:177 catalog/templates/item_base.html:234 #: 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 @@ -1137,15 +1134,15 @@ msgstr "近期帖文" msgid "publication date" msgstr "发行时间" -#: catalog/templates/edition.html:62 +#: catalog/templates/edition.html:58 msgid "number of pages" msgstr "页数" -#: catalog/templates/edition.html:94 +#: catalog/templates/edition.html:90 msgid "other editions" msgstr "其它版本" -#: catalog/templates/edition.html:114 +#: catalog/templates/edition.html:110 msgid "Borrow or Buy" msgstr "借阅或购买" @@ -1199,29 +1196,29 @@ msgstr "最近编辑" msgid "No enough ratings" msgstr "评分人数不足" -#: catalog/templates/item_base.html:230 +#: catalog/templates/item_base.html:228 msgid "overview" msgstr "简介" -#: catalog/templates/item_base.html:243 +#: catalog/templates/item_base.html:241 msgid "comments" msgstr "短评" -#: catalog/templates/item_base.html:246 +#: catalog/templates/item_base.html:244 #: 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:247 +#: catalog/templates/item_base.html:245 #: 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:261 +#: catalog/templates/item_base.html:259 #: catalog/templates/item_mark_list.html:27 #: catalog/templates/item_review_list.html:22 msgid "reviews" @@ -1330,21 +1327,21 @@ msgstr "正在搜索站外条目" msgid "Logged in user may see search results from other sites." msgstr "登录用户可看到来自其它网站的搜索结果。" -#: catalog/templates/tvseason.html:14 catalog/templates/tvshow.html:21 +#: catalog/templates/tvseason.html:15 catalog/templates/tvshow.html:21 msgid "all seasons" msgstr "本剧所有季" -#: catalog/templates/tvseason.html:32 catalog/tv/models.py:266 +#: catalog/templates/tvseason.html:32 catalog/tv/models.py:268 msgid "season number" msgstr "本季序号" #: catalog/templates/tvseason.html:37 catalog/templates/tvshow.html:32 -#: catalog/tv/models.py:109 +#: catalog/tv/models.py:110 msgid "number of seasons" msgstr "季数" #: catalog/templates/tvseason.html:42 catalog/templates/tvshow.html:37 -#: catalog/tv/models.py:112 catalog/tv/models.py:269 +#: catalog/tv/models.py:113 catalog/tv/models.py:271 msgid "number of episodes" msgstr "集数" @@ -1352,28 +1349,28 @@ msgstr "集数" msgid "Editions" msgstr "版本" -#: catalog/tv/models.py:175 catalog/tv/models.py:332 +#: catalog/tv/models.py:176 catalog/tv/models.py:334 msgid "show time" msgstr "上映时间" -#: catalog/tv/models.py:187 +#: catalog/tv/models.py:188 msgid "Date" msgstr "日期" -#: catalog/tv/models.py:192 +#: catalog/tv/models.py:193 msgid "Region or Event" msgstr "地区或场合" -#: catalog/tv/models.py:220 catalog/tv/models.py:386 +#: catalog/tv/models.py:219 catalog/tv/models.py:388 msgid "episode length" msgstr "单集长度" -#: catalog/tv/models.py:409 +#: catalog/tv/models.py:416 #, python-brace-format msgid "{show_title} Season {season_number}" msgstr "{show_title} 第{season_number}季" -#: catalog/tv/models.py:461 +#: catalog/tv/models.py:480 #, python-brace-format msgid "{season_title} E{episode_number}" msgstr "{season_title} 第{episode_number}集" @@ -1386,21 +1383,29 @@ msgstr "条目不存在" msgid "Item no longer exists" msgstr "条目已不存在" -#: catalog/views_edit.py:122 catalog/views_edit.py:145 -#: catalog/views_edit.py:197 catalog/views_edit.py:273 -#: catalog/views_edit.py:352 journal/views/collection.py:50 -#: journal/views/collection.py:100 journal/views/collection.py:112 -#: journal/views/collection.py:129 journal/views/collection.py:195 -#: journal/views/collection.py:214 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/post.py:42 journal/views/review.py:32 +#: catalog/views_edit.py:122 +msgid "Item in use." +msgstr "条目已被引用或标记。" + +#: catalog/views_edit.py:124 +msgid "Item cannot be deleted." +msgstr "条目不可被删除。" + +#: catalog/views_edit.py:147 catalog/views_edit.py:199 +#: catalog/views_edit.py:275 catalog/views_edit.py:354 +#: journal/views/collection.py:50 journal/views/collection.py:100 +#: journal/views/collection.py:112 journal/views/collection.py:129 +#: journal/views/collection.py:195 journal/views/collection.py:214 +#: 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/post.py:42 journal/views/review.py:32 #: journal/views/review.py:46 msgid "Insufficient permission" msgstr "权限不足" -#: catalog/views_edit.py:200 journal/views/collection.py:263 +#: catalog/views_edit.py:202 journal/views/collection.py:263 #: journal/views/collection.py:330 journal/views/common.py:82 #: journal/views/mark.py:141 journal/views/post.py:56 journal/views/post.py:70 #: journal/views/review.py:93 journal/views/review.py:96 @@ -1408,27 +1413,27 @@ msgstr "权限不足" msgid "Invalid parameter" msgstr "无效参数" -#: catalog/views_edit.py:249 +#: catalog/views_edit.py:251 msgid "TV Season with IMDB id and season number required." msgstr "必须是电视剧分季,且包含IMDB id和分季序号。" -#: catalog/views_edit.py:254 +#: catalog/views_edit.py:256 msgid "Updating episodes" msgstr "正在更新单集列表" -#: catalog/views_edit.py:284 +#: catalog/views_edit.py:286 msgid "Cannot be merged to an item already deleted or merged" msgstr "无法合并到一个已经被合并或删除的条目" -#: catalog/views_edit.py:287 +#: catalog/views_edit.py:289 msgid "Cannot merge items in different categories" msgstr "无法合并不同类型的条目" -#: catalog/views_edit.py:326 +#: catalog/views_edit.py:328 msgid "Cannot be linked to an item already deleted or merged" msgstr "无法关联到一个已经被合并或删除的条目" -#: catalog/views_edit.py:328 +#: catalog/views_edit.py:330 msgid "Cannot link items other than editions" msgstr "无法关联到非图书类的条目" @@ -2225,6 +2230,10 @@ msgstr "如果您确信这是我们的错误,请通过页面底部的链接联 msgid "Author may require you to log in before accessing this content, or you do not have permission to view it." msgstr "作者可能希望您登录后访问,或者您没有权限查看此内容。" +#: common/templates/404.html:20 +msgid "Something is missing" +msgstr "未找到所需内容" + #: common/templates/404.html:22 msgid "You may have visited an incorrect URL, or the content you are looking for has been deleted by the author." msgstr "您可能访问了错误的网址,或者相关内容已被作者删除。" @@ -2599,7 +2608,7 @@ msgstr "第{value}首" msgid "Cycle {value}" msgstr "{value}周目" -#: journal/models/renderers.py:100 +#: journal/models/renderers.py:104 #, python-brace-format msgid "regarding {item_title}, may contain spoiler or triggering content" msgstr "关于 {item_title},可能包含剧透或敏感内容" @@ -3011,7 +3020,7 @@ msgstr "不看了" msgid "performances reviewed" msgstr "评论过的演出" -#: journal/models/shelf.py:528 +#: journal/models/shelf.py:534 msgid "removed mark" msgstr "移除标记" @@ -4015,7 +4024,7 @@ msgstr "头像" msgid "Header picture" msgstr "背景图片" -#: takahe/utils.py:563 +#: takahe/utils.py:565 msgid "created collection" msgstr "创建了收藏单" diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 7b6050dd..30d8b026 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-13 16:14-0400\n" +"POT-Creation-Date: 2024-07-17 01:04-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,25 +15,25 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: boofilsic/settings.py:412 common/models/lang.py:197 +#: boofilsic/settings.py:425 common/models/lang.py:197 msgid "English" msgstr "英語" -#: boofilsic/settings.py:413 +#: boofilsic/settings.py:426 msgid "Simplified Chinese" msgstr "簡體中文" -#: boofilsic/settings.py:414 +#: boofilsic/settings.py:427 msgid "Traditional Chinese" msgstr "繁體中文" #: catalog/book/models.py:80 catalog/book/models.py:99 -#: catalog/common/models.py:301 catalog/common/models.py:319 +#: catalog/common/models.py:306 catalog/common/models.py:324 msgid "locale" msgstr "區域語言" #: catalog/book/models.py:83 catalog/book/models.py:102 -#: catalog/common/models.py:304 catalog/common/models.py:324 +#: catalog/common/models.py:309 catalog/common/models.py:329 msgid "text content" msgstr "文本內容" @@ -42,12 +42,12 @@ msgid "subtitle" msgstr "副標題" #: catalog/book/models.py:158 catalog/movie/models.py:68 -#: catalog/performance/models.py:257 catalog/tv/models.py:137 -#: catalog/tv/models.py:294 +#: catalog/performance/models.py:257 catalog/tv/models.py:138 +#: catalog/tv/models.py:296 msgid "original title" msgstr "原名" -#: catalog/book/models.py:161 catalog/book/models.py:327 +#: catalog/book/models.py:161 catalog/book/models.py:323 msgid "author" msgstr "作者" @@ -67,371 +67,371 @@ msgstr "發行年份" msgid "publication month" msgstr "發行月份" -#: catalog/book/models.py:191 catalog/templates/edition.html:52 +#: catalog/book/models.py:190 catalog/templates/edition.html:48 msgid "binding" msgstr "裝訂" -#: catalog/book/models.py:193 +#: catalog/book/models.py:191 msgid "pages" msgstr "頁數" -#: catalog/book/models.py:195 catalog/templates/edition.html:42 +#: catalog/book/models.py:192 catalog/templates/edition.html:42 msgid "series" msgstr "叢書" -#: catalog/book/models.py:197 +#: catalog/book/models.py:193 msgid "contents" msgstr "目錄" -#: catalog/book/models.py:198 catalog/templates/edition.html:57 +#: catalog/book/models.py:194 catalog/templates/edition.html:53 msgid "price" msgstr "價格" -#: catalog/book/models.py:199 catalog/templates/edition.html:31 +#: catalog/book/models.py:195 catalog/templates/edition.html:31 msgid "imprint" msgstr "出品方" -#: catalog/common/models.py:37 +#: catalog/common/models.py:42 msgid "Unknown" msgstr "未知" -#: catalog/common/models.py:38 +#: catalog/common/models.py:43 msgid "Douban" msgstr "豆瓣" -#: catalog/common/models.py:39 catalog/common/models.py:77 +#: catalog/common/models.py:44 catalog/common/models.py:82 msgid "Goodreads" msgstr "Goodreads" -#: catalog/common/models.py:40 catalog/common/models.py:81 +#: catalog/common/models.py:45 catalog/common/models.py:86 msgid "Google Books" msgstr "谷歌圖書" -#: catalog/common/models.py:41 +#: catalog/common/models.py:46 msgid "BooksTW" msgstr "博客來" -#: catalog/common/models.py:42 catalog/common/models.py:70 +#: catalog/common/models.py:47 catalog/common/models.py:75 #: catalog/templates/movie.html:51 catalog/templates/tvseason.html:68 #: catalog/templates/tvshow.html:63 msgid "IMDb" msgstr "IMDb" -#: catalog/common/models.py:43 +#: catalog/common/models.py:48 msgid "TMDB" msgstr "TMDB" -#: catalog/common/models.py:44 catalog/common/models.py:94 +#: catalog/common/models.py:49 catalog/common/models.py:99 msgid "Bandcamp" msgstr "Bandcamp" -#: catalog/common/models.py:45 +#: catalog/common/models.py:50 msgid "Spotify" msgstr "Spotify" -#: catalog/common/models.py:46 +#: catalog/common/models.py:51 msgid "IGDB" msgstr "IGDB" -#: catalog/common/models.py:47 +#: catalog/common/models.py:52 msgid "Steam" msgstr "Steam" -#: catalog/common/models.py:48 catalog/common/models.py:112 +#: catalog/common/models.py:53 catalog/common/models.py:117 msgid "Bangumi" msgstr "Bangumi" -#: catalog/common/models.py:49 +#: catalog/common/models.py:54 msgid "BGG" msgstr "BGG" -#: catalog/common/models.py:51 +#: catalog/common/models.py:56 msgid "RSS" msgstr "RSS" -#: catalog/common/models.py:52 +#: catalog/common/models.py:57 msgid "Discogs" msgstr "Discogs" -#: catalog/common/models.py:53 catalog/common/models.py:114 +#: catalog/common/models.py:58 catalog/common/models.py:119 msgid "Apple Music" msgstr "蘋果音樂" -#: catalog/common/models.py:54 catalog/common/models.py:115 +#: catalog/common/models.py:59 catalog/common/models.py:120 msgid "Fediverse" msgstr "聯邦宇宙" -#: catalog/common/models.py:58 +#: catalog/common/models.py:63 msgid "WikiData" msgstr "維基數據" -#: catalog/common/models.py:59 +#: catalog/common/models.py:64 msgid "ISBN10" msgstr "ISBN10" -#: catalog/common/models.py:60 catalog/templates/edition.html:19 +#: catalog/common/models.py:65 catalog/templates/edition.html:19 msgid "ISBN" msgstr "ISBN" -#: catalog/common/models.py:61 +#: catalog/common/models.py:66 msgid "ASIN" msgstr "ASIN" -#: catalog/common/models.py:62 +#: catalog/common/models.py:67 msgid "ISSN" msgstr "ISSN" -#: catalog/common/models.py:63 +#: catalog/common/models.py:68 msgid "CUBN" msgstr "統一書號" -#: catalog/common/models.py:64 +#: catalog/common/models.py:69 msgid "ISRC" msgstr "ISRC" -#: catalog/common/models.py:67 +#: catalog/common/models.py:72 msgid "GTIN UPC EAN" msgstr "條形碼" -#: catalog/common/models.py:69 +#: catalog/common/models.py:74 msgid "RSS Feed URL" msgstr "RSS網址" -#: catalog/common/models.py:71 +#: catalog/common/models.py:76 msgid "TMDB TV Serie" msgstr "TMDB電視劇集" -#: catalog/common/models.py:72 +#: catalog/common/models.py:77 msgid "TMDB TV Season" msgstr "TMDB電視分季" -#: catalog/common/models.py:74 +#: catalog/common/models.py:79 msgid "TMDB TV Episode" msgstr "TMDB電視單集" -#: catalog/common/models.py:76 +#: catalog/common/models.py:81 msgid "TMDB Movie" msgstr "TMDB電影" -#: catalog/common/models.py:79 +#: catalog/common/models.py:84 msgid "Goodreads Work" msgstr "Goodreads著作" -#: catalog/common/models.py:82 +#: catalog/common/models.py:87 msgid "Douban Book" msgstr "豆瓣圖書" -#: catalog/common/models.py:84 +#: catalog/common/models.py:89 msgid "Douban Book Work" msgstr "豆瓣圖書著作" -#: catalog/common/models.py:86 +#: catalog/common/models.py:91 msgid "Douban Movie" msgstr "豆瓣電影" -#: catalog/common/models.py:87 +#: catalog/common/models.py:92 msgid "Douban Music" msgstr "豆瓣音樂" -#: catalog/common/models.py:88 +#: catalog/common/models.py:93 msgid "Douban Game" msgstr "豆瓣遊戲" -#: catalog/common/models.py:89 +#: catalog/common/models.py:94 msgid "Douban Drama" msgstr "豆瓣舞臺劇" -#: catalog/common/models.py:91 +#: catalog/common/models.py:96 msgid "Douban Drama Version" msgstr "豆瓣舞臺劇版本" -#: catalog/common/models.py:93 +#: catalog/common/models.py:98 msgid "BooksTW Book" msgstr "博客來圖書" -#: catalog/common/models.py:95 +#: catalog/common/models.py:100 msgid "Spotify Album" msgstr "Spotify專輯" -#: catalog/common/models.py:96 +#: catalog/common/models.py:101 msgid "Spotify Podcast" msgstr "Spotify播客" -#: catalog/common/models.py:98 +#: catalog/common/models.py:103 msgid "Discogs Release" msgstr "Discogs發行" -#: catalog/common/models.py:101 +#: catalog/common/models.py:106 msgid "Discogs Master" msgstr "Discogs作品" -#: catalog/common/models.py:103 +#: catalog/common/models.py:108 msgid "MusicBrainz ID" msgstr "MusicBrainz ID" -#: catalog/common/models.py:109 +#: catalog/common/models.py:114 msgid "IGDB Game" msgstr "IGDB遊戲" -#: catalog/common/models.py:110 +#: catalog/common/models.py:115 msgid "BGG Boardgame" msgstr "BGG桌遊" -#: catalog/common/models.py:111 +#: catalog/common/models.py:116 msgid "Steam Game" msgstr "Steam遊戲" -#: catalog/common/models.py:113 +#: catalog/common/models.py:118 msgid "Apple Podcast" msgstr "蘋果播客" -#: catalog/common/models.py:131 catalog/common/models.py:152 -#: catalog/common/models.py:165 common/templates/_header.html:25 +#: catalog/common/models.py:136 catalog/common/models.py:157 +#: catalog/common/models.py:170 common/templates/_header.html:25 #: journal/templates/_sidebar_user_mark_list.html:31 msgid "Book" msgstr "圖書" -#: catalog/common/models.py:132 +#: catalog/common/models.py:137 msgid "TV Serie" msgstr "電視劇集" -#: catalog/common/models.py:133 catalog/templates/_sidebar_edit.html:140 +#: catalog/common/models.py:138 catalog/templates/_sidebar_edit.html:140 msgid "TV Season" msgstr "電視分季" -#: catalog/common/models.py:134 +#: catalog/common/models.py:139 msgid "TV Episode" msgstr "電視單集" -#: catalog/common/models.py:135 catalog/common/models.py:153 -#: catalog/common/models.py:166 catalog/templates/_sidebar_edit.html:133 +#: catalog/common/models.py:140 catalog/common/models.py:158 +#: catalog/common/models.py:171 catalog/templates/_sidebar_edit.html:133 #: journal/templates/_sidebar_user_mark_list.html:34 msgid "Movie" msgstr "電影" -#: catalog/common/models.py:136 +#: catalog/common/models.py:141 msgid "Album" msgstr "專輯" -#: catalog/common/models.py:137 catalog/common/models.py:156 -#: catalog/common/models.py:169 common/templates/_header.html:41 +#: catalog/common/models.py:142 catalog/common/models.py:161 +#: catalog/common/models.py:174 common/templates/_header.html:41 #: journal/templates/_sidebar_user_mark_list.html:47 msgid "Game" msgstr "遊戲" -#: catalog/common/models.py:138 +#: catalog/common/models.py:143 msgid "Podcast Program" msgstr "播客節目" -#: catalog/common/models.py:140 +#: catalog/common/models.py:145 msgid "Podcast Episode" msgstr "播客單集" -#: catalog/common/models.py:142 catalog/common/models.py:158 -#: catalog/common/models.py:171 common/templates/_header.html:45 +#: catalog/common/models.py:147 catalog/common/models.py:163 +#: catalog/common/models.py:176 common/templates/_header.html:45 #: journal/templates/_sidebar_user_mark_list.html:51 msgid "Performance" msgstr "演出" -#: catalog/common/models.py:144 +#: catalog/common/models.py:149 msgid "Production" msgstr "上演" -#: catalog/common/models.py:146 +#: catalog/common/models.py:151 msgid "Fanfic" msgstr "網文" -#: catalog/common/models.py:147 catalog/common/models.py:160 +#: catalog/common/models.py:152 catalog/common/models.py:165 msgid "Exhibition" msgstr "展覽" -#: catalog/common/models.py:148 catalog/common/models.py:161 +#: catalog/common/models.py:153 catalog/common/models.py:166 #: 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:154 catalog/common/models.py:167 +#: catalog/common/models.py:159 catalog/common/models.py:172 #: journal/templates/_sidebar_user_mark_list.html:37 msgid "TV" msgstr "劇集" -#: catalog/common/models.py:155 catalog/common/models.py:168 +#: catalog/common/models.py:160 catalog/common/models.py:173 #: common/templates/_header.html:37 #: journal/templates/_sidebar_user_mark_list.html:44 msgid "Music" msgstr "音樂" -#: catalog/common/models.py:157 catalog/common/models.py:170 +#: catalog/common/models.py:162 catalog/common/models.py:175 #: 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:159 +#: catalog/common/models.py:164 msgid "FanFic" msgstr "網文" -#: catalog/common/models.py:336 catalog/templates/edition.html:47 -#: catalog/tv/models.py:374 users/models/user.py:114 +#: catalog/common/models.py:348 catalog/tv/models.py:376 +#: users/models/user.py:114 msgid "language" msgstr "語言" -#: catalog/common/models.py:359 catalog/common/models.py:387 +#: catalog/common/models.py:371 catalog/common/models.py:399 #: journal/models/collection.py:52 msgid "title" msgstr "標題" -#: catalog/common/models.py:360 catalog/common/models.py:395 +#: catalog/common/models.py:372 catalog/common/models.py:407 #: journal/models/collection.py:53 msgid "description" msgstr "描述" -#: catalog/common/models.py:362 catalog/forms.py:27 +#: catalog/common/models.py:374 catalog/forms.py:27 msgid "Primary ID Type" msgstr "主要標識類型" -#: catalog/common/models.py:365 catalog/forms.py:32 +#: catalog/common/models.py:377 catalog/forms.py:32 msgid "Primary ID Value" msgstr "主要標識數據" -#: catalog/common/models.py:371 +#: catalog/common/models.py:383 msgid "metadata" msgstr "元數據" -#: catalog/common/models.py:373 +#: catalog/common/models.py:385 msgid "cover" msgstr "封面" -#: catalog/common/models.py:776 +#: catalog/common/models.py:796 msgid "source site" msgstr "來源站點" -#: catalog/common/models.py:778 +#: catalog/common/models.py:798 msgid "ID on source site" msgstr "來源站點標識" -#: catalog/common/models.py:780 +#: catalog/common/models.py:800 msgid "source url" msgstr "來源站點網址" -#: catalog/common/models.py:796 +#: catalog/common/models.py:816 msgid "IdType of the source site" msgstr "來源站點的主要標識類型" -#: catalog/common/models.py:802 +#: catalog/common/models.py:822 msgid "Primary Id on the source site" msgstr "來源站點的主要標識數據" -#: catalog/common/models.py:805 +#: catalog/common/models.py:825 msgid "url to the resource" msgstr "指向外部資源的網址" #: catalog/game/models.py:60 catalog/movie/models.py:71 -#: catalog/music/models.py:87 catalog/performance/models.py:115 -#: catalog/performance/models.py:260 catalog/tv/models.py:141 -#: catalog/tv/models.py:297 +#: catalog/music/models.py:90 catalog/performance/models.py:115 +#: catalog/performance/models.py:260 catalog/tv/models.py:142 +#: catalog/tv/models.py:299 msgid "other title" msgstr "其它標題" @@ -447,7 +447,7 @@ msgstr "藝術家" msgid "developer" msgstr "開發者" -#: catalog/game/models.py:92 catalog/music/models.py:80 +#: catalog/game/models.py:92 catalog/music/models.py:83 msgid "publisher" msgstr "出版發行" @@ -455,18 +455,18 @@ msgstr "出版發行" msgid "year of publication" msgstr "發行年份" -#: catalog/game/models.py:103 catalog/podcast/models.py:108 +#: catalog/game/models.py:103 catalog/podcast/models.py:118 msgid "date of publication" msgstr "發行日期" -#: catalog/game/models.py:108 catalog/music/models.py:61 -#: catalog/tv/models.py:188 +#: catalog/game/models.py:108 catalog/music/models.py:62 +#: catalog/tv/models.py:189 msgid "YYYY-MM-DD" msgstr "" #: catalog/game/models.py:112 catalog/movie/models.py:99 #: catalog/performance/models.py:122 catalog/podcast/models.py:46 -#: catalog/tv/models.py:168 catalog/tv/models.py:325 +#: catalog/tv/models.py:169 catalog/tv/models.py:327 msgid "genre" msgstr "類型" @@ -474,36 +474,36 @@ msgstr "類型" msgid "platform" msgstr "平臺" -#: catalog/game/models.py:126 catalog/movie/models.py:134 +#: catalog/game/models.py:126 catalog/movie/models.py:133 #: catalog/performance/models.py:206 catalog/performance/models.py:344 -#: catalog/podcast/models.py:62 catalog/templates/game.html:29 +#: catalog/podcast/models.py:64 catalog/templates/game.html:29 #: catalog/templates/movie.html:58 catalog/templates/performance.html:33 #: catalog/templates/performanceproduction.html:33 #: catalog/templates/podcast.html:20 catalog/templates/tvseason.html:75 #: catalog/templates/tvshow.html:70 catalog/tv/models.py:203 -#: catalog/tv/models.py:360 +#: catalog/tv/models.py:362 msgid "website" msgstr "網站" #: catalog/movie/models.py:78 catalog/performance/models.py:130 -#: catalog/performance/models.py:268 catalog/tv/models.py:147 -#: catalog/tv/models.py:304 +#: catalog/performance/models.py:268 catalog/tv/models.py:148 +#: catalog/tv/models.py:306 msgid "director" msgstr "導演" #: catalog/movie/models.py:85 catalog/performance/models.py:137 -#: catalog/performance/models.py:275 catalog/tv/models.py:154 -#: catalog/tv/models.py:311 +#: catalog/performance/models.py:275 catalog/tv/models.py:155 +#: catalog/tv/models.py:313 msgid "playwright" msgstr "編劇" #: catalog/movie/models.py:92 catalog/performance/models.py:165 -#: catalog/performance/models.py:303 catalog/tv/models.py:161 -#: catalog/tv/models.py:318 +#: catalog/performance/models.py:303 catalog/tv/models.py:162 +#: catalog/tv/models.py:320 msgid "actor" msgstr "演員" -#: catalog/movie/models.py:106 catalog/music/models.py:61 +#: catalog/movie/models.py:106 catalog/music/models.py:62 #: catalog/templates/_item_card_metadata_album.html:16 #: catalog/templates/album.html:17 catalog/templates/game.html:16 #: catalog/templates/movie.html:40 catalog/templates/tvseason.html:57 @@ -511,63 +511,63 @@ msgstr "演員" msgid "release date" msgstr "發佈日期" -#: catalog/movie/models.py:118 catalog/tv/models.py:344 +#: catalog/movie/models.py:118 catalog/tv/models.py:346 #: journal/templates/_sidebar_user_mark_list.html:62 msgid "date" msgstr "日期" #: catalog/movie/models.py:119 catalog/performance/models.py:82 -#: catalog/tv/models.py:345 +#: catalog/tv/models.py:347 msgid "required" msgstr "必填" -#: catalog/movie/models.py:123 catalog/tv/models.py:349 +#: catalog/movie/models.py:123 catalog/tv/models.py:351 msgid "region or event" msgstr "地區或類型" -#: catalog/movie/models.py:125 catalog/tv/models.py:194 -#: catalog/tv/models.py:351 +#: catalog/movie/models.py:125 catalog/tv/models.py:195 +#: catalog/tv/models.py:353 msgid "Germany or Toronto International Film Festival" msgstr "德國或多倫多國際電影節" -#: catalog/movie/models.py:137 catalog/tv/models.py:206 -#: catalog/tv/models.py:363 +#: catalog/movie/models.py:135 catalog/tv/models.py:205 +#: catalog/tv/models.py:365 msgid "region" msgstr "地區" -#: catalog/movie/models.py:148 catalog/tv/models.py:218 -#: catalog/tv/models.py:384 +#: catalog/movie/models.py:146 catalog/tv/models.py:217 +#: catalog/tv/models.py:386 msgid "year" msgstr "年份" -#: catalog/movie/models.py:150 catalog/music/models.py:64 +#: catalog/movie/models.py:147 catalog/music/models.py:65 #: catalog/templates/movie.html:20 catalog/templates/tvseason.html:52 #: catalog/templates/tvshow.html:47 msgid "length" msgstr "長度" -#: catalog/music/models.py:64 +#: catalog/music/models.py:65 msgid "milliseconds" msgstr "微秒" -#: catalog/music/models.py:72 +#: catalog/music/models.py:75 msgctxt "music" msgid "genre" msgstr "風格" -#: catalog/music/models.py:85 +#: catalog/music/models.py:88 msgid "tracks" msgstr "曲目" -#: catalog/music/models.py:94 catalog/templates/album.html:33 +#: catalog/music/models.py:96 catalog/templates/album.html:33 msgid "album type" msgstr "專輯類型" -#: catalog/music/models.py:96 +#: catalog/music/models.py:97 msgid "media type" msgstr "介質類型" -#: catalog/music/models.py:99 catalog/templates/album.html:43 +#: catalog/music/models.py:100 catalog/templates/album.html:43 msgid "number of discs" msgstr "碟片數" @@ -652,7 +652,7 @@ msgid "ratings" msgstr "個評分" #: catalog/templates/_item_card_metadata_base.html:32 -#: catalog/templates/item_base.html:212 +#: catalog/templates/item_base.html:211 msgid "part of" msgstr "所屬" @@ -848,7 +848,7 @@ msgid "TV Show" msgstr "電視劇集" #: catalog/templates/_sidebar_edit.html:160 -msgid "link to parent item" +msgid "Link to parent item" msgstr "關聯到上一級條目" #: catalog/templates/_sidebar_edit.html:163 @@ -860,7 +860,7 @@ msgid "Update link" msgstr "更新關聯" #: catalog/templates/_sidebar_edit.html:176 -msgid "cleanup seasons" +msgid "Cleanup seasons" msgstr "本劇所有季" #: catalog/templates/_sidebar_edit.html:179 @@ -873,7 +873,8 @@ msgid "remove seasons not marked" msgstr "清理單季" #: catalog/templates/_sidebar_edit.html:189 -msgid "merge" +#: catalog/templates/catalog_merge.html:11 +msgid "Merge" msgstr "合併" #: catalog/templates/_sidebar_edit.html:195 @@ -881,11 +882,11 @@ msgid "URL of target item, or empty if undo merge" msgstr "目標條目URL,留空則取消現有合併" #: catalog/templates/_sidebar_edit.html:201 -#: catalog/templates/_sidebar_edit.html:269 +#: catalog/templates/_sidebar_edit.html:262 msgid "merge to another item" msgstr "合併到另一條目" -#: catalog/templates/_sidebar_edit.html:210 +#: catalog/templates/_sidebar_edit.html:206 #: catalog/templates/catalog_delete.html:11 #: journal/templates/collection.html:135 journal/templates/mark.html:162 #: journal/templates/piece_delete.html:9 journal/templates/piece_delete.html:33 @@ -893,71 +894,71 @@ msgstr "合併到另一條目" msgid "Delete" msgstr "刪除" -#: catalog/templates/_sidebar_edit.html:217 +#: catalog/templates/_sidebar_edit.html:210 msgid "delete" msgstr "刪除" -#: catalog/templates/_sidebar_edit.html:225 +#: catalog/templates/_sidebar_edit.html:218 msgid "Work" msgstr "作品" -#: catalog/templates/_sidebar_edit.html:226 +#: catalog/templates/_sidebar_edit.html:219 msgid "This edition belongs to the following work" msgstr "這個圖書版本屬於以下作品" -#: catalog/templates/_sidebar_edit.html:233 +#: catalog/templates/_sidebar_edit.html:226 msgid "Sure to unlink?" msgstr "確認取消關聯嗎?" -#: catalog/templates/_sidebar_edit.html:239 +#: catalog/templates/_sidebar_edit.html:232 msgid "Unlink from work" msgstr "取消關聯到上述著作" -#: catalog/templates/_sidebar_edit.html:245 +#: catalog/templates/_sidebar_edit.html:238 msgid "Link" msgstr "關聯" -#: catalog/templates/_sidebar_edit.html:256 +#: catalog/templates/_sidebar_edit.html:249 msgid "Link to another edition from same work" msgstr "關聯到同一著作的另一本書" -#: catalog/templates/_sidebar_edit.html:263 +#: catalog/templates/_sidebar_edit.html:256 msgid "Suggest Edits" msgstr "修改建議" -#: catalog/templates/_sidebar_edit.html:268 +#: catalog/templates/_sidebar_edit.html:261 msgid "proposed action" msgstr "請選擇建議類型..." -#: catalog/templates/_sidebar_edit.html:270 +#: catalog/templates/_sidebar_edit.html:263 msgid "link to another item" msgstr "關聯到另一條目" -#: catalog/templates/_sidebar_edit.html:271 +#: catalog/templates/_sidebar_edit.html:264 msgid "change item category" msgstr "更改條目類型" -#: catalog/templates/_sidebar_edit.html:272 +#: catalog/templates/_sidebar_edit.html:265 msgid "change item metadata" msgstr "更正條目信息" -#: catalog/templates/_sidebar_edit.html:273 +#: catalog/templates/_sidebar_edit.html:266 msgid "remove item" msgstr "刪除條目" -#: catalog/templates/_sidebar_edit.html:274 +#: catalog/templates/_sidebar_edit.html:267 msgid "other" msgstr "其它" -#: catalog/templates/_sidebar_edit.html:278 +#: catalog/templates/_sidebar_edit.html:271 msgid "To suggest merging or association, please include the URL of the target item" msgstr "建議詳情。如提議合併或關聯,請包含目標條目網址。" -#: catalog/templates/_sidebar_edit.html:279 +#: catalog/templates/_sidebar_edit.html:272 msgid "submit" msgstr "提交" -#: catalog/templates/_sidebar_edit.html:280 +#: catalog/templates/_sidebar_edit.html:273 msgid "As a user of this community, you may edit some metadata of items on this site. If you are unsure whether your edits are appropriate or are unable to make a certain change, you can make suggestions here. Moderators will consider each suggestion, although there is no guarantee that they will always be fully adopted; suggestions may also be viewed or discussed by other community users. If you have suggestions that are not related to a specific item, please contact us. Thank you for your support and contribution." msgstr "本站由用戶共同維護,用戶可自主修改部分條目信息。當你不確定自己的修改是否得當或不能做出某種修改時,可在此處向管理員提出建議。管理員會認真考慮處理每一條建議,雖然不保證總是完全採納;建議也可能被社區其他用戶查看或討論。如果有與具體條目不相關的建議,請訪問討論區或聯繫我們的社交賬號。感謝你的支持和貢獻。" @@ -1051,10 +1052,6 @@ msgstr "保存" msgid "Cancel" msgstr "取消" -#: catalog/templates/catalog_merge.html:11 -msgid "Merge" -msgstr "合併" - #: catalog/templates/catalog_merge.html:21 msgid "Are you sure to merge?" msgstr "確定合併嗎?" @@ -1114,7 +1111,7 @@ msgstr "全部標爲已讀" msgid "Popular Tags" msgstr "熱門標籤" -#: catalog/templates/discover.html:177 catalog/templates/item_base.html:236 +#: catalog/templates/discover.html:177 catalog/templates/item_base.html:234 #: 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 @@ -1137,15 +1134,15 @@ msgstr "近期帖文" msgid "publication date" msgstr "發行時間" -#: catalog/templates/edition.html:62 +#: catalog/templates/edition.html:58 msgid "number of pages" msgstr "頁數" -#: catalog/templates/edition.html:94 +#: catalog/templates/edition.html:90 msgid "other editions" msgstr "其它版本" -#: catalog/templates/edition.html:114 +#: catalog/templates/edition.html:110 msgid "Borrow or Buy" msgstr "借閱或購買" @@ -1199,29 +1196,29 @@ msgstr "最近編輯" msgid "No enough ratings" msgstr "評分人數不足" -#: catalog/templates/item_base.html:230 +#: catalog/templates/item_base.html:228 msgid "overview" msgstr "簡介" -#: catalog/templates/item_base.html:243 +#: catalog/templates/item_base.html:241 msgid "comments" msgstr "短評" -#: catalog/templates/item_base.html:246 +#: catalog/templates/item_base.html:244 #: 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:247 +#: catalog/templates/item_base.html:245 #: 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:261 +#: catalog/templates/item_base.html:259 #: catalog/templates/item_mark_list.html:27 #: catalog/templates/item_review_list.html:22 msgid "reviews" @@ -1330,21 +1327,21 @@ msgstr "正在搜索站外條目" msgid "Logged in user may see search results from other sites." msgstr "登錄用戶可看到來自其它網站的搜索結果。" -#: catalog/templates/tvseason.html:14 catalog/templates/tvshow.html:21 +#: catalog/templates/tvseason.html:15 catalog/templates/tvshow.html:21 msgid "all seasons" msgstr "本劇所有季" -#: catalog/templates/tvseason.html:32 catalog/tv/models.py:266 +#: catalog/templates/tvseason.html:32 catalog/tv/models.py:268 msgid "season number" msgstr "本季序號" #: catalog/templates/tvseason.html:37 catalog/templates/tvshow.html:32 -#: catalog/tv/models.py:109 +#: catalog/tv/models.py:110 msgid "number of seasons" msgstr "季數" #: catalog/templates/tvseason.html:42 catalog/templates/tvshow.html:37 -#: catalog/tv/models.py:112 catalog/tv/models.py:269 +#: catalog/tv/models.py:113 catalog/tv/models.py:271 msgid "number of episodes" msgstr "集數" @@ -1352,28 +1349,28 @@ msgstr "集數" msgid "Editions" msgstr "版本" -#: catalog/tv/models.py:175 catalog/tv/models.py:332 +#: catalog/tv/models.py:176 catalog/tv/models.py:334 msgid "show time" msgstr "上映時間" -#: catalog/tv/models.py:187 +#: catalog/tv/models.py:188 msgid "Date" msgstr "日期" -#: catalog/tv/models.py:192 +#: catalog/tv/models.py:193 msgid "Region or Event" msgstr "地區或場合" -#: catalog/tv/models.py:220 catalog/tv/models.py:386 +#: catalog/tv/models.py:219 catalog/tv/models.py:388 msgid "episode length" msgstr "單集長度" -#: catalog/tv/models.py:409 +#: catalog/tv/models.py:416 #, python-brace-format msgid "{show_title} Season {season_number}" msgstr "{show_title} 第{season_number}季" -#: catalog/tv/models.py:461 +#: catalog/tv/models.py:480 #, python-brace-format msgid "{season_title} E{episode_number}" msgstr "{season_title} 第{episode_number}集" @@ -1386,21 +1383,29 @@ msgstr "條目不存在" msgid "Item no longer exists" msgstr "條目已不存在" -#: catalog/views_edit.py:122 catalog/views_edit.py:145 -#: catalog/views_edit.py:197 catalog/views_edit.py:273 -#: catalog/views_edit.py:352 journal/views/collection.py:50 -#: journal/views/collection.py:100 journal/views/collection.py:112 -#: journal/views/collection.py:129 journal/views/collection.py:195 -#: journal/views/collection.py:214 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/post.py:42 journal/views/review.py:32 +#: catalog/views_edit.py:122 +msgid "Item in use." +msgstr "條目已被引用或標記。" + +#: catalog/views_edit.py:124 +msgid "Item cannot be deleted." +msgstr "條目不可被刪除。" + +#: catalog/views_edit.py:147 catalog/views_edit.py:199 +#: catalog/views_edit.py:275 catalog/views_edit.py:354 +#: journal/views/collection.py:50 journal/views/collection.py:100 +#: journal/views/collection.py:112 journal/views/collection.py:129 +#: journal/views/collection.py:195 journal/views/collection.py:214 +#: 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/post.py:42 journal/views/review.py:32 #: journal/views/review.py:46 msgid "Insufficient permission" msgstr "權限不足" -#: catalog/views_edit.py:200 journal/views/collection.py:263 +#: catalog/views_edit.py:202 journal/views/collection.py:263 #: journal/views/collection.py:330 journal/views/common.py:82 #: journal/views/mark.py:141 journal/views/post.py:56 journal/views/post.py:70 #: journal/views/review.py:93 journal/views/review.py:96 @@ -1408,27 +1413,27 @@ msgstr "權限不足" msgid "Invalid parameter" msgstr "無效參數" -#: catalog/views_edit.py:249 +#: catalog/views_edit.py:251 msgid "TV Season with IMDB id and season number required." msgstr "必須是電視劇分季,且包含IMDB id和分季序號。" -#: catalog/views_edit.py:254 +#: catalog/views_edit.py:256 msgid "Updating episodes" msgstr "正在更新單集列表" -#: catalog/views_edit.py:284 +#: catalog/views_edit.py:286 msgid "Cannot be merged to an item already deleted or merged" msgstr "無法合併到一個已經被合併或刪除的條目" -#: catalog/views_edit.py:287 +#: catalog/views_edit.py:289 msgid "Cannot merge items in different categories" msgstr "無法合併不同類型的條目" -#: catalog/views_edit.py:326 +#: catalog/views_edit.py:328 msgid "Cannot be linked to an item already deleted or merged" msgstr "無法關聯到一個已經被合併或刪除的條目" -#: catalog/views_edit.py:328 +#: catalog/views_edit.py:330 msgid "Cannot link items other than editions" msgstr "無法關聯到非圖書類的條目" @@ -2225,6 +2230,10 @@ msgstr "如果您確信這是我們的錯誤,請通過頁面底部的鏈接聯 msgid "Author may require you to log in before accessing this content, or you do not have permission to view it." msgstr "作者可能希望您登錄後訪問,或者您沒有權限查看此內容。" +#: common/templates/404.html:20 +msgid "Something is missing" +msgstr "未找到所需內容" + #: common/templates/404.html:22 msgid "You may have visited an incorrect URL, or the content you are looking for has been deleted by the author." msgstr "您可能訪問了錯誤的網址,或者相關內容已被作者刪除。" @@ -2599,7 +2608,7 @@ msgstr "第{value}首" msgid "Cycle {value}" msgstr "{value}周目" -#: journal/models/renderers.py:100 +#: journal/models/renderers.py:104 #, python-brace-format msgid "regarding {item_title}, may contain spoiler or triggering content" msgstr "關於 {item_title},可能包含劇透或敏感內容" @@ -3011,7 +3020,7 @@ msgstr "不看了" msgid "performances reviewed" msgstr "評論過的演出" -#: journal/models/shelf.py:528 +#: journal/models/shelf.py:534 msgid "removed mark" msgstr "移除標記" @@ -4015,7 +4024,7 @@ msgstr "頭像" msgid "Header picture" msgstr "背景圖片" -#: takahe/utils.py:563 +#: takahe/utils.py:565 msgid "created collection" msgstr "創建了收藏單"