tweak mark dialog
This commit is contained in:
parent
5d88282f4e
commit
7f9cf95657
19 changed files with 349 additions and 225 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,6 +3,7 @@
|
|||
/.env
|
||||
/neodb.env
|
||||
/compose.override.yml
|
||||
/typings
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
|
|
|
@ -181,7 +181,7 @@ SITE_INFO = {
|
|||
"site_description": env("NEODB_SITE_DESCRIPTION"),
|
||||
"site_head": env("NEODB_SITE_HEAD"),
|
||||
"site_links": [{"title": k, "url": v} for k, v in env("NEODB_SITE_LINKS").items()],
|
||||
"cdn_url": "/jsdelivr",
|
||||
"cdn_url": "https://cdn.jsdelivr.net" if DEBUG else "/jsdelivr",
|
||||
# "cdn_url": "https://cdn.jsdelivr.net",
|
||||
# "cdn_url": "https://fastly.jsdelivr.net",
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
hx-target="body"
|
||||
hx-swap="beforeend">
|
||||
{% if mark.comment_text %}
|
||||
<i class="fa-solid fa-pen-to-square"></i>
|
||||
<i class="fa-regular fa-pen-to-square"></i>
|
||||
{% else %}
|
||||
<i class="fa-regular fa-square-plus"></i>
|
||||
{% endif %}
|
||||
|
|
|
@ -2,31 +2,22 @@
|
|||
{% load i18n %}
|
||||
<section>
|
||||
<h5>
|
||||
{% trans "my tags" %}
|
||||
{% if not mark.tags %}
|
||||
{% trans "my comment and tags" %}
|
||||
<small>
|
||||
<span class="action inline">
|
||||
<a href="#"
|
||||
hx-get="{% url 'journal:mark' item.uuid %}"
|
||||
class="item-mark-icon"
|
||||
hx-target="body"
|
||||
hx-swap="beforeend">
|
||||
{% if mark.comment or mark.tags %}
|
||||
<i class="fa-regular fa-pen-to-square"></i>
|
||||
{% else %}
|
||||
<i class="fa-regular fa-square-plus"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</span>
|
||||
</small>
|
||||
{% endif %}
|
||||
</h5>
|
||||
{% if mark.tags %}
|
||||
<span class="action">
|
||||
<span>
|
||||
<a href="#"
|
||||
hx-get="{% url 'journal:mark' item.uuid %}"
|
||||
hx-target="body"
|
||||
hx-swap="beforeend"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
<div class="tag-list">
|
||||
{% for tag in mark.tags %}
|
||||
<span>
|
||||
|
@ -34,32 +25,8 @@
|
|||
</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h5>
|
||||
{% trans "my comments" %}
|
||||
{% if not mark.comment %}
|
||||
<small>
|
||||
<span class="action inline">
|
||||
<a href="#"
|
||||
hx-get="{% url 'journal:mark' item.uuid %}"
|
||||
class="item-mark-icon"
|
||||
hx-target="body"
|
||||
hx-swap="beforeend">
|
||||
<i class="fa-regular fa-square-plus"></i>
|
||||
</a>
|
||||
</span>
|
||||
</small>
|
||||
{% endif %}
|
||||
</h5>
|
||||
{% if mark.comment %}
|
||||
<span class="action">
|
||||
<span>
|
||||
<a href="#"
|
||||
hx-get="{% url 'journal:mark' item.uuid %}"
|
||||
hx-target="body"
|
||||
hx-swap="beforeend"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
</span>
|
||||
{% if mark.comment.latest_post %}
|
||||
{% include "action_like_post.html" with post=mark.comment.latest_post %}
|
||||
{% include "action_boost_post.html" with post=mark.comment.latest_post %}
|
||||
|
@ -79,7 +46,7 @@
|
|||
<a href="#"
|
||||
hx-get="{% url 'journal:comment' comment.item.uuid %}"
|
||||
hx-target="body"
|
||||
hx-swap="beforeend"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
hx-swap="beforeend"><i class="fa-regular fa-pen-to-square"></i></a>
|
||||
</span>
|
||||
{% if comment.latest_post %}
|
||||
{% include "action_like_post.html" with post=comment.latest_post %}
|
||||
|
@ -112,7 +79,7 @@
|
|||
<span>
|
||||
<a href="{% url 'journal:review_edit' item.uuid review.uuid %}"
|
||||
class="item-mark-icon">
|
||||
<i class="fa-solid fa-pen-to-square"></i>
|
||||
<i class="fa-regular fa-pen-to-square"></i>
|
||||
</a>
|
||||
</span>
|
||||
{% if review.latest_post %}
|
||||
|
@ -167,7 +134,7 @@
|
|||
{% trans "mark history" %}
|
||||
<small>
|
||||
<span class="action inline">
|
||||
<a _="on click toggle .hide-action on #log-list then toggle .activated"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
<a _="on click toggle .hide-action on #log-list then toggle .activated"><i class="fa-regular fa-pen-to-square"></i></a>
|
||||
</span>
|
||||
</small>
|
||||
</h5>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
href="{% url 'catalog:history' item.url_path item.uuid %}"><i class="fa-solid fa-clock-rotate-left"></i></a>
|
||||
</span>
|
||||
<span>
|
||||
<a title="{% trans "back to item" %}" href="{{ item.url }}"><i class="fa-regular fa-file-lines"></i></a>
|
||||
<a title="{% trans "back to item" %}" href="{{ item.url }}"><i class="fa-solid fa-file-lines"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<h5>{% trans "Edit Options" %}</h5>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
{% if request.user.is_authenticated and not mark.shelf_type %}
|
||||
<div id="item-primary-action" class="right mark">
|
||||
<div class="item-action item-mark-buttons">
|
||||
{% for k, v in shelf_actions %}
|
||||
{% for k, v in shelf_statuses %}
|
||||
{% if v and k != 'dropped' %}
|
||||
<button class="primary"
|
||||
data-status="{{ k }}"
|
||||
|
@ -86,14 +86,16 @@
|
|||
hx-get="{% url 'journal:mark' item.uuid %}"
|
||||
hx-target="body"
|
||||
hx-swap="beforeend">
|
||||
{{ mark.created_time | date }} {% trans mark.action_label %}
|
||||
{% if mark.rating_grade %}
|
||||
<strong>{% trans mark.status_label %}</strong>
|
||||
<br>
|
||||
{% if mark.rating_grade %}
|
||||
{{ mark.rating_grade | rating_star }}
|
||||
<br>
|
||||
{% endif %}
|
||||
<small>{{ mark.created_time | date }}</small>
|
||||
<!-- <span style="white-space: nowrap;">
|
||||
<i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star-half-stroke"></i><i class="fa-regular fa-star"></i>
|
||||
</span> -->
|
||||
{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
<div class="small-only" style="margin-top:2vh;">
|
||||
|
@ -140,7 +142,7 @@
|
|||
<div class="item-edit">
|
||||
<span class="action inline">
|
||||
<a href="{% url 'catalog:edit' item.url_path item.uuid %}"
|
||||
title="{% trans 'Edit this item' %}"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
title="{% trans 'Edit this item' %}"><i class="fa-regular fa-pen-to-square"></i></a>
|
||||
</span>
|
||||
{% if item.last_editor and item.last_editor.preference.show_last_edit %}
|
||||
<span>
|
||||
|
@ -217,7 +219,7 @@
|
|||
</i>
|
||||
|
||||
<i>
|
||||
{% include '_people.html' with people=item.translator role='translated by' max=2 %}
|
||||
{% include '_people.html' with people=item.translator role='translator' max=2 %}
|
||||
</i>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
|
|
@ -90,6 +90,7 @@ def retrieve(request, item_path, item_uuid):
|
|||
collection_list = []
|
||||
child_item_comments = []
|
||||
shelf_actions = ShelfManager.get_actions_for_category(item.category)
|
||||
shelf_statuses = ShelfManager.get_statuses_for_category(item.category)
|
||||
if request.user.is_authenticated:
|
||||
visible = q_piece_visible_to_user(request.user)
|
||||
mark = Mark(request.user.identity, item)
|
||||
|
@ -124,6 +125,7 @@ def retrieve(request, item_path, item_uuid):
|
|||
"my_collections": my_collections,
|
||||
"collection_list": collection_list,
|
||||
"shelf_actions": shelf_actions,
|
||||
"shelf_statuses": shelf_statuses,
|
||||
},
|
||||
)
|
||||
|
||||
|
|
|
@ -118,7 +118,9 @@ details {
|
|||
|
||||
.shelf {
|
||||
.action {
|
||||
margin-top: 0.1em;
|
||||
float: unset;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ dialog {
|
|||
}
|
||||
|
||||
.rating-editor {
|
||||
font-size: 120%;
|
||||
font-size: 250%;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
}
|
||||
|
|
9
common/static/scss/_l10n.scss
Normal file
9
common/static/scss/_l10n.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
h1, h2, h3, h4, h5, h6 {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
label, legend, button {
|
||||
:first-letter {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
>div:last-child {
|
||||
margin-top: calc(-0.3rem * var(--pico-line-height));
|
||||
text-align: right;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,6 @@
|
|||
>div,
|
||||
>div:last-child {
|
||||
margin-top: unset;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,3 +19,4 @@
|
|||
@import '_login.scss';
|
||||
@import '_form.scss';
|
||||
@import '_post.scss';
|
||||
@import '_l10n.scss';
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import re
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from functools import cached_property
|
||||
from typing import Any
|
||||
|
||||
import django.dispatch
|
||||
from django.conf import settings
|
||||
|
@ -66,11 +68,21 @@ class Mark:
|
|||
)
|
||||
return ""
|
||||
|
||||
@property
|
||||
def status_label(self) -> str:
|
||||
if self.shelfmember and self.shelf_type:
|
||||
return ShelfManager.get_status_label(self.shelf_type, self.item.category)
|
||||
if self.comment:
|
||||
return ShelfManager.get_status_label(
|
||||
ShelfType.PROGRESS, self.comment.item.category
|
||||
)
|
||||
return ""
|
||||
|
||||
@property
|
||||
def action_label_for_feed(self) -> str:
|
||||
return str(self.action_label)
|
||||
|
||||
def get_action_for_feed(self, item_link=None):
|
||||
def get_action_for_feed(self, item_link: str | None = None):
|
||||
if self.shelfmember and self.shelf_type:
|
||||
tpl = ShelfManager.get_action_template(self.shelf_type, self.item.category)
|
||||
elif self.comment:
|
||||
|
@ -94,11 +106,11 @@ class Mark:
|
|||
)
|
||||
|
||||
@property
|
||||
def created_time(self):
|
||||
def created_time(self) -> datetime | None:
|
||||
return self.shelfmember.created_time if self.shelfmember else None
|
||||
|
||||
@property
|
||||
def metadata(self) -> dict | None:
|
||||
def metadata(self) -> dict[str, Any] | None:
|
||||
return self.shelfmember.metadata if self.shelfmember else None
|
||||
|
||||
@property
|
||||
|
@ -184,9 +196,9 @@ class Mark:
|
|||
comment_text: str | None = None,
|
||||
rating_grade: int | None = None,
|
||||
visibility: int | None = None,
|
||||
metadata=None,
|
||||
created_time=None,
|
||||
share_to_mastodon=False,
|
||||
metadata: dict[str, Any] | None = None,
|
||||
created_time: datetime | None = None,
|
||||
share_to_mastodon: bool = False,
|
||||
):
|
||||
"""change shelf, comment or rating"""
|
||||
if created_time and created_time >= timezone.now():
|
||||
|
@ -277,7 +289,7 @@ class Mark:
|
|||
# self.logs.delete() # When deleting a mark, all logs of the mark are deleted first.
|
||||
self.update(None)
|
||||
|
||||
def delete_log(self, log_id):
|
||||
def delete_log(self, log_id: int):
|
||||
ShelfLogEntry.objects.filter(
|
||||
owner=self.owner, item=self.item, id=log_id
|
||||
).delete()
|
||||
|
|
|
@ -5,6 +5,8 @@ from typing import TYPE_CHECKING
|
|||
from django.db import connection, models
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.utils.translation import pgettext_lazy
|
||||
from django.utils.translation import pgettext_lazy as __
|
||||
from loguru import logger
|
||||
|
||||
from catalog.models import Item, ItemCategory
|
||||
|
@ -30,9 +32,10 @@ _SHELF_LABELS = [
|
|||
[
|
||||
ItemCategory.Book,
|
||||
ShelfType.WISHLIST,
|
||||
_("books to read"),
|
||||
_("want to read"),
|
||||
_("wants to read {item}"),
|
||||
_("books to read"), # shelf label
|
||||
_("want to read"), # action label
|
||||
_("wants to read {item}"), # feed
|
||||
_("to read"), # status label
|
||||
],
|
||||
[
|
||||
ItemCategory.Book,
|
||||
|
@ -40,6 +43,7 @@ _SHELF_LABELS = [
|
|||
_("books reading"),
|
||||
_("start reading"),
|
||||
_("started reading {item}"),
|
||||
_("reading"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Book,
|
||||
|
@ -47,6 +51,7 @@ _SHELF_LABELS = [
|
|||
_("books completed"),
|
||||
_("finish reading"),
|
||||
_("finished reading {item}"),
|
||||
_("read"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Book,
|
||||
|
@ -54,6 +59,7 @@ _SHELF_LABELS = [
|
|||
_("books dropped"),
|
||||
_("stop reading"),
|
||||
_("stopped reading {item}"),
|
||||
_("stopped reading"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Book,
|
||||
|
@ -61,6 +67,7 @@ _SHELF_LABELS = [
|
|||
_("books reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
[
|
||||
ItemCategory.Movie,
|
||||
|
@ -68,6 +75,7 @@ _SHELF_LABELS = [
|
|||
_("movies to watch"),
|
||||
_("want to watch"),
|
||||
_("wants to watch {item}"),
|
||||
_("to watch"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Movie,
|
||||
|
@ -75,6 +83,7 @@ _SHELF_LABELS = [
|
|||
_("movies watching"),
|
||||
_("start watching"),
|
||||
_("started watching {item}"),
|
||||
_("watching"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Movie,
|
||||
|
@ -82,6 +91,7 @@ _SHELF_LABELS = [
|
|||
_("movies watched"),
|
||||
_("finish watching"),
|
||||
_("finished watching {item}"),
|
||||
_("watched"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Movie,
|
||||
|
@ -89,6 +99,7 @@ _SHELF_LABELS = [
|
|||
_("movies dropped"),
|
||||
_("stop watching"),
|
||||
_("stopped watching {item}"),
|
||||
_("stopped watching"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Movie,
|
||||
|
@ -96,6 +107,7 @@ _SHELF_LABELS = [
|
|||
_("movies reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
[
|
||||
ItemCategory.TV,
|
||||
|
@ -103,6 +115,7 @@ _SHELF_LABELS = [
|
|||
_("TV shows to watch"),
|
||||
_("want to watch"),
|
||||
_("wants to watch {item}"),
|
||||
_("to watch"),
|
||||
],
|
||||
[
|
||||
ItemCategory.TV,
|
||||
|
@ -110,6 +123,7 @@ _SHELF_LABELS = [
|
|||
_("TV shows watching"),
|
||||
_("start watching"),
|
||||
_("started watching {item}"),
|
||||
_("watching"),
|
||||
],
|
||||
[
|
||||
ItemCategory.TV,
|
||||
|
@ -117,6 +131,7 @@ _SHELF_LABELS = [
|
|||
_("TV shows watched"),
|
||||
_("finish watching"),
|
||||
_("finished watching {item}"),
|
||||
_("watched"),
|
||||
],
|
||||
[
|
||||
ItemCategory.TV,
|
||||
|
@ -124,6 +139,7 @@ _SHELF_LABELS = [
|
|||
_("TV shows dropped"),
|
||||
_("stop watching"),
|
||||
_("stopped watching {item}"),
|
||||
_("stopped watching"),
|
||||
],
|
||||
[
|
||||
ItemCategory.TV,
|
||||
|
@ -131,6 +147,7 @@ _SHELF_LABELS = [
|
|||
_("TV shows reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
[
|
||||
ItemCategory.Music,
|
||||
|
@ -138,6 +155,7 @@ _SHELF_LABELS = [
|
|||
_("albums to listen"),
|
||||
_("want to listen"),
|
||||
_("wants to listen {item}"),
|
||||
_("to listen"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Music,
|
||||
|
@ -145,6 +163,7 @@ _SHELF_LABELS = [
|
|||
_("albums listening"),
|
||||
_("start listening"),
|
||||
_("started listening {item}"),
|
||||
_("listening"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Music,
|
||||
|
@ -152,6 +171,7 @@ _SHELF_LABELS = [
|
|||
_("albums listened"),
|
||||
_("finish listening"),
|
||||
_("finished listening {item}"),
|
||||
_("listened"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Music,
|
||||
|
@ -159,6 +179,7 @@ _SHELF_LABELS = [
|
|||
_("albums dropped"),
|
||||
_("stop listening"),
|
||||
_("stopped listening {item}"),
|
||||
_("stopped listening"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Music,
|
||||
|
@ -166,6 +187,7 @@ _SHELF_LABELS = [
|
|||
_("albums reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
[
|
||||
ItemCategory.Game,
|
||||
|
@ -173,6 +195,7 @@ _SHELF_LABELS = [
|
|||
_("games to play"),
|
||||
_("want to play"),
|
||||
_("wants to play {item}"),
|
||||
_("to play"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Game,
|
||||
|
@ -180,6 +203,7 @@ _SHELF_LABELS = [
|
|||
_("games playing"),
|
||||
_("start playing"),
|
||||
_("started playing {item}"),
|
||||
_("playing"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Game,
|
||||
|
@ -187,6 +211,7 @@ _SHELF_LABELS = [
|
|||
_("games played"),
|
||||
_("finish playing"),
|
||||
_("finished playing {item}"),
|
||||
_("played"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Game,
|
||||
|
@ -194,6 +219,7 @@ _SHELF_LABELS = [
|
|||
_("games dropped"),
|
||||
_("stop playing"),
|
||||
_("stopped playing {item}"),
|
||||
_("stopped playing"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Game,
|
||||
|
@ -201,6 +227,7 @@ _SHELF_LABELS = [
|
|||
_("games reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
[
|
||||
ItemCategory.Podcast,
|
||||
|
@ -208,6 +235,7 @@ _SHELF_LABELS = [
|
|||
_("podcasts to listen"),
|
||||
_("want to listen"),
|
||||
_("wants to listen {item}"),
|
||||
_("to listen"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Podcast,
|
||||
|
@ -215,6 +243,7 @@ _SHELF_LABELS = [
|
|||
_("podcasts listening"),
|
||||
_("start listening"),
|
||||
_("started listening {item}"),
|
||||
_("listening"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Podcast,
|
||||
|
@ -222,6 +251,7 @@ _SHELF_LABELS = [
|
|||
_("podcasts listened"),
|
||||
_("finish listening"),
|
||||
_("finished listening {item}"),
|
||||
_("listened"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Podcast,
|
||||
|
@ -229,6 +259,7 @@ _SHELF_LABELS = [
|
|||
_("podcasts dropped"),
|
||||
_("stop listening"),
|
||||
_("stopped listening {item}"),
|
||||
_("stopped listening"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Podcast,
|
||||
|
@ -236,6 +267,7 @@ _SHELF_LABELS = [
|
|||
_("podcasts reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
[
|
||||
ItemCategory.Performance,
|
||||
|
@ -243,15 +275,17 @@ _SHELF_LABELS = [
|
|||
_("performances to see"),
|
||||
_("want to see"),
|
||||
_("wants to see {item}"),
|
||||
_("to see"),
|
||||
],
|
||||
# disable progress shelf for Performance
|
||||
[ItemCategory.Performance, ShelfType.PROGRESS, "", "", ""],
|
||||
[ItemCategory.Performance, ShelfType.PROGRESS, "", "", "", ""],
|
||||
[
|
||||
ItemCategory.Performance,
|
||||
ShelfType.COMPLETE,
|
||||
_("performances saw"),
|
||||
_("finish seeing"),
|
||||
_("finished seeing {item}"),
|
||||
_("seen"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Performance,
|
||||
|
@ -259,6 +293,7 @@ _SHELF_LABELS = [
|
|||
_("performances dropped"),
|
||||
_("stop seeing"),
|
||||
_("stopped seeing {item}"),
|
||||
_("stopped seeing"),
|
||||
],
|
||||
[
|
||||
ItemCategory.Performance,
|
||||
|
@ -266,6 +301,7 @@ _SHELF_LABELS = [
|
|||
_("performances reviewed"),
|
||||
_("review"),
|
||||
_("wrote a review of {item}"),
|
||||
"",
|
||||
],
|
||||
]
|
||||
# grammatically problematic, for translation only
|
||||
|
@ -511,6 +547,14 @@ class ShelfManager:
|
|||
if n[0] == item_category and n[1] != _REVIEWED
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def get_statuses_for_category(cls, item_category: ItemCategory):
|
||||
return [
|
||||
(n[1], n[5])
|
||||
for n in _SHELF_LABELS
|
||||
if n[0] == item_category and n[1] != _REVIEWED
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def get_label(cls, shelf_type: ShelfType | str, item_category: ItemCategory) -> str:
|
||||
st = str(shelf_type)
|
||||
|
@ -525,6 +569,14 @@ class ShelfManager:
|
|||
sts = [n[3] for n in _SHELF_LABELS if n[0] == item_category and n[1] == st]
|
||||
return sts[0] if sts else st
|
||||
|
||||
@classmethod
|
||||
def get_status_label(
|
||||
cls, shelf_type: ShelfType | str, item_category: ItemCategory
|
||||
) -> str:
|
||||
st = str(shelf_type)
|
||||
sts = [n[5] for n in _SHELF_LABELS if n[0] == item_category and n[1] == st]
|
||||
return sts[0] if sts else st
|
||||
|
||||
@classmethod
|
||||
def get_action_template(
|
||||
cls, shelf_type: ShelfType | str, item_category: ItemCategory
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
id="id_share_to_mastodon"
|
||||
value="1"
|
||||
{% if request.user.preference.mastodon_default_repost %}checked{% endif %}>
|
||||
{% trans "Repost to your timeline" %}
|
||||
{% trans "Repost to timeline" %}
|
||||
</label>
|
||||
{% endif %}
|
||||
</fieldset>
|
||||
|
|
|
@ -19,23 +19,28 @@
|
|||
<div>
|
||||
<form method="post" action="{% url 'journal:mark' item.uuid %}">
|
||||
{% csrf_token %}
|
||||
{% if shelf_actions %}
|
||||
{% if shelf_statuses %}
|
||||
<input type="hidden" id="mark-status" name="status" value="{{ shelf_type }}">
|
||||
<div class="grid mark-line">
|
||||
<div>
|
||||
<fieldset>
|
||||
{% for k, v in shelf_actions %}
|
||||
<div role="group">
|
||||
{% for k, v in shelf_statuses %}
|
||||
{% if v %}
|
||||
<input type="radio"
|
||||
name="status"
|
||||
value="{{ k }}"
|
||||
required
|
||||
<button data-value="{{ k }}"
|
||||
id="id_status_{{ k }}"
|
||||
{% if k == "wishlist" or k == "dropped" %} _="on click add .hidden to .rating-editor" {% else %} _="on click remove .hidden from .rating-editor" {% endif %}
|
||||
{% if shelf_type == k %}checked=""{% endif %}>
|
||||
<label for="id_status_{{ k }}">{{ v }}</label>
|
||||
style="padding-left:0.1em;
|
||||
padding-right:0.1em;
|
||||
width:25%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden"
|
||||
{% if k == "wishlist" or k == "dropped" %} _="on click add .outline to .status-selector then remove .outline from me then set value of #mark-status to '{{ k }}' then add .hidden to .rating-editor then halt" {% else %} _="on click add .outline to .status-selector then remove .outline from me then set value of #mark-status to '{{ k }}' then remove .hidden from .rating-editor then halt" {% endif %}
|
||||
{% if shelf_type == k %}class="status-selector"{% else %}class="status-selector outline"{% endif %}>
|
||||
{{ v }}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span class="rating-editor {% if shelf_type == 'wishlist' %}hidden{% endif %}" _="on mousemove(currentTarget, offsetX) set current_value to Math.round((10 * offsetX) / currentTarget.offsetWidth) if current_value <=10 then set star_div to the
|
||||
|
@ -76,7 +81,7 @@
|
|||
data-initial-value="{{ tags }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid">
|
||||
<div class="grid" style="overflow-x:scroll;">
|
||||
<div>
|
||||
<fieldset>
|
||||
<input type="radio"
|
||||
|
@ -112,7 +117,7 @@
|
|||
id="id_share_to_mastodon"
|
||||
value="1"
|
||||
{% if request.user.preference.mastodon_default_repost %}checked{% endif %}>
|
||||
{% trans "Repost to your timeline" %}
|
||||
{% trans "Repost to timeline" %}
|
||||
</label>
|
||||
{% endif %}
|
||||
</fieldset>
|
||||
|
|
|
@ -44,6 +44,7 @@ def mark(request: AuthedHttpRequest, item_uuid):
|
|||
if request.method == "GET":
|
||||
tags = request.user.identity.tag_manager.get_item_tags(item)
|
||||
shelf_actions = ShelfManager.get_actions_for_category(item.category)
|
||||
shelf_statuses = ShelfManager.get_statuses_for_category(item.category)
|
||||
shelf_type = request.GET.get("shelf_type", mark.shelf_type)
|
||||
return render(
|
||||
request,
|
||||
|
@ -54,6 +55,7 @@ def mark(request: AuthedHttpRequest, item_uuid):
|
|||
"shelf_type": shelf_type,
|
||||
"tags": ",".join(tags),
|
||||
"shelf_actions": shelf_actions,
|
||||
"shelf_statuses": shelf_statuses,
|
||||
"date_today": timezone.localdate().isoformat(),
|
||||
},
|
||||
)
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# NeoDB Translation.
|
||||
# Copyright (C) 2024 NeoDB Developers
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# This file is distributed under the same license as the NeoDB package.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-29 13:16-0400\n"
|
||||
"POT-Creation-Date: 2024-05-29 18:58-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -635,12 +635,12 @@ msgstr "无法加载条目,请确认链接正确。部分网站可能删除条
|
|||
#: catalog/templates/_item_card_metadata_tvseason.html:7
|
||||
#: catalog/templates/_item_card_metadata_tvshow.html:7
|
||||
#: catalog/templates/_item_card_metadata_work.html:7
|
||||
#: catalog/templates/item_base.html:160
|
||||
#: catalog/templates/item_base.html:181
|
||||
msgid "ratings"
|
||||
msgstr "个评分"
|
||||
|
||||
#: catalog/templates/_item_card_metadata_base.html:32
|
||||
#: catalog/templates/item_base.html:210
|
||||
#: catalog/templates/item_base.html:231
|
||||
msgid "part of"
|
||||
msgstr "所属"
|
||||
|
||||
|
@ -682,10 +682,10 @@ msgstr "没有更多内容了。"
|
|||
msgid "comment this episode"
|
||||
msgstr "写该集短评"
|
||||
|
||||
#: catalog/templates/_item_reviews.html:26 journal/models/shelf.py:62
|
||||
#: journal/models/shelf.py:97 journal/models/shelf.py:132
|
||||
#: journal/models/shelf.py:167 journal/models/shelf.py:202
|
||||
#: journal/models/shelf.py:237 journal/models/shelf.py:267
|
||||
#: catalog/templates/_item_reviews.html:26 journal/models/shelf.py:68
|
||||
#: journal/models/shelf.py:108 journal/models/shelf.py:148
|
||||
#: journal/models/shelf.py:188 journal/models/shelf.py:228
|
||||
#: journal/models/shelf.py:268 journal/models/shelf.py:302
|
||||
#: journal/templates/_sidebar_user_mark_list.html:26
|
||||
msgid "review"
|
||||
msgstr "评论"
|
||||
|
@ -707,22 +707,18 @@ msgid "clear history will not remove current mark"
|
|||
msgstr "清除标记历史不会删除或改变现有标记"
|
||||
|
||||
#: catalog/templates/_item_user_pieces.html:5
|
||||
msgid "my tags"
|
||||
msgstr "我的标签"
|
||||
msgid "my comment and tags"
|
||||
msgstr "我的短评和标签"
|
||||
|
||||
#: catalog/templates/_item_user_pieces.html:40
|
||||
msgid "my comments"
|
||||
msgstr "我的短评"
|
||||
|
||||
#: catalog/templates/_item_user_pieces.html:100
|
||||
#: catalog/templates/_item_user_pieces.html:67
|
||||
msgid "my review"
|
||||
msgstr "我的评论"
|
||||
|
||||
#: catalog/templates/_item_user_pieces.html:142
|
||||
#: catalog/templates/_item_user_pieces.html:109
|
||||
msgid "my collection"
|
||||
msgstr "我的收藏单"
|
||||
|
||||
#: catalog/templates/_item_user_pieces.html:172
|
||||
#: catalog/templates/_item_user_pieces.html:139
|
||||
msgid "mark history"
|
||||
msgstr "标记历史"
|
||||
|
||||
|
@ -877,7 +873,7 @@ msgstr "合并到另一条目"
|
|||
#: catalog/templates/_sidebar_edit.html:210
|
||||
#: catalog/templates/catalog_delete.html:11
|
||||
#: developer/templates/oauth2_provider/application_detail.html:42
|
||||
#: journal/templates/collection.html:133 journal/templates/mark.html:157
|
||||
#: journal/templates/collection.html:133 journal/templates/mark.html:161
|
||||
#: journal/templates/piece_delete.html:9 journal/templates/review.html:83
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
@ -1032,7 +1028,7 @@ msgstr "创建"
|
|||
#: developer/templates/oauth2_provider/application_form.html:35
|
||||
#: journal/templates/add_to_collection.html:35
|
||||
#: journal/templates/collection_edit.html:38 journal/templates/comment.html:69
|
||||
#: journal/templates/mark.html:142 journal/templates/review_edit.html:39
|
||||
#: journal/templates/mark.html:146 journal/templates/review_edit.html:39
|
||||
#: journal/templates/tag_edit.html:60 users/templates/users/account.html:43
|
||||
#: users/templates/users/account.html:104
|
||||
#: users/templates/users/preferences.html:170
|
||||
|
@ -1123,43 +1119,43 @@ msgstr "系统繁忙,请稍等几秒钟再搜索。"
|
|||
msgid "release year"
|
||||
msgstr "发行年份"
|
||||
|
||||
#: catalog/templates/item_base.html:65
|
||||
#: catalog/templates/item_base.html:84
|
||||
msgid "select one of the seasons to comment"
|
||||
msgstr "这是全剧条目,以下是可标记的单季"
|
||||
|
||||
#: catalog/templates/item_base.html:100
|
||||
#: catalog/templates/item_base.html:121
|
||||
msgid "mark, comment and collect"
|
||||
msgstr "标签 · 短评 · 评论 · 收藏"
|
||||
|
||||
#: catalog/templates/item_base.html:111
|
||||
#: catalog/templates/item_base.html:132
|
||||
msgid "Login or register to review or add this item to your collection."
|
||||
msgstr "登录后可管理标记收藏"
|
||||
|
||||
#: catalog/templates/item_base.html:119
|
||||
#: catalog/templates/item_base.html:140
|
||||
msgid "Related Collections"
|
||||
msgstr "相关收藏单"
|
||||
|
||||
#: catalog/templates/item_base.html:134
|
||||
#: catalog/templates/item_base.html:155
|
||||
msgid "Unsupported item type."
|
||||
msgstr "此类数据尚未支持"
|
||||
|
||||
#: catalog/templates/item_base.html:143
|
||||
#: catalog/templates/item_base.html:164
|
||||
msgid "Edit this item"
|
||||
msgstr "编辑这个条目"
|
||||
|
||||
#: catalog/templates/item_base.html:147
|
||||
#: catalog/templates/item_base.html:168
|
||||
msgid "Last edited"
|
||||
msgstr "最近编辑"
|
||||
|
||||
#: catalog/templates/item_base.html:184
|
||||
#: catalog/templates/item_base.html:205
|
||||
msgid "No enough ratings"
|
||||
msgstr "评分人数不足"
|
||||
|
||||
#: catalog/templates/item_base.html:228
|
||||
#: catalog/templates/item_base.html:249
|
||||
msgid "overview"
|
||||
msgstr "简介"
|
||||
|
||||
#: catalog/templates/item_base.html:234
|
||||
#: catalog/templates/item_base.html:255
|
||||
#: catalog/templates/item_mark_list.html:54
|
||||
#: catalog/templates/item_review_list.html:50 common/templates/_sidebar.html:97
|
||||
#: common/templates/_sidebar.html:197 journal/templates/collection_items.html:8
|
||||
|
@ -1173,25 +1169,25 @@ msgstr "简介"
|
|||
msgid "nothing so far."
|
||||
msgstr "暂无内容。"
|
||||
|
||||
#: catalog/templates/item_base.html:241
|
||||
#: catalog/templates/item_base.html:262
|
||||
msgid "comments"
|
||||
msgstr "短评"
|
||||
|
||||
#: catalog/templates/item_base.html:244
|
||||
#: catalog/templates/item_base.html:265
|
||||
#: 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:266
|
||||
#: 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:280
|
||||
#: catalog/templates/item_mark_list.html:27
|
||||
#: catalog/templates/item_review_list.html:22
|
||||
msgid "reviews"
|
||||
|
@ -1372,7 +1368,7 @@ msgstr "权限不足"
|
|||
|
||||
#: catalog/views_edit.py:200 journal/views/collection.py:229
|
||||
#: journal/views/collection.py:296 journal/views/common.py:81
|
||||
#: journal/views/mark.py:140 journal/views/post.py:41 journal/views/post.py:55
|
||||
#: journal/views/mark.py:142 journal/views/post.py:41 journal/views/post.py:55
|
||||
#: journal/views/review.py:93 journal/views/review.py:96 users/views.py:169
|
||||
msgid "Invalid parameter"
|
||||
msgstr "无效参数"
|
||||
|
@ -1697,7 +1693,7 @@ msgid "note"
|
|||
msgstr "备注"
|
||||
|
||||
#: journal/models/common.py:28 journal/templates/collection_share.html:35
|
||||
#: journal/templates/comment.html:35 journal/templates/mark.html:88
|
||||
#: journal/templates/comment.html:35 journal/templates/mark.html:92
|
||||
#: journal/templates/tag_edit.html:40 journal/templates/wrapped_share.html:43
|
||||
#: users/templates/users/data.html:47 users/templates/users/data.html:139
|
||||
#: users/templates/users/preferences.html:54
|
||||
|
@ -1705,7 +1701,7 @@ msgid "Public"
|
|||
msgstr "公开"
|
||||
|
||||
#: journal/models/common.py:29 journal/templates/collection_share.html:46
|
||||
#: journal/templates/comment.html:42 journal/templates/mark.html:95
|
||||
#: journal/templates/comment.html:42 journal/templates/mark.html:99
|
||||
#: journal/templates/wrapped_share.html:49 users/templates/users/data.html:55
|
||||
#: users/templates/users/data.html:147
|
||||
#: users/templates/users/preferences.html:61
|
||||
|
@ -1713,345 +1709,421 @@ msgid "Followers Only"
|
|||
msgstr "仅关注者"
|
||||
|
||||
#: journal/models/common.py:30 journal/templates/collection_share.html:57
|
||||
#: journal/templates/comment.html:49 journal/templates/mark.html:102
|
||||
#: journal/templates/comment.html:49 journal/templates/mark.html:106
|
||||
#: journal/templates/wrapped_share.html:55 users/templates/users/data.html:63
|
||||
#: users/templates/users/data.html:155
|
||||
#: users/templates/users/preferences.html:68
|
||||
msgid "Mentioned Only"
|
||||
msgstr "自己和提到的人"
|
||||
|
||||
#: journal/models/shelf.py:21
|
||||
#: journal/models/shelf.py:23
|
||||
msgid "WISHLIST"
|
||||
msgstr ""
|
||||
|
||||
#: journal/models/shelf.py:22
|
||||
#: journal/models/shelf.py:24
|
||||
msgid "PROGRESS"
|
||||
msgstr ""
|
||||
|
||||
#: journal/models/shelf.py:23
|
||||
#: journal/models/shelf.py:25
|
||||
msgid "COMPLETE"
|
||||
msgstr ""
|
||||
|
||||
#: journal/models/shelf.py:24
|
||||
#: journal/models/shelf.py:26
|
||||
msgid "DROPPED"
|
||||
msgstr ""
|
||||
|
||||
#: journal/models/shelf.py:33
|
||||
#: journal/models/shelf.py:35
|
||||
msgid "books to read"
|
||||
msgstr "想读的书"
|
||||
|
||||
#: journal/models/shelf.py:34
|
||||
#: journal/models/shelf.py:36
|
||||
msgid "want to read"
|
||||
msgstr "想读"
|
||||
|
||||
#: journal/models/shelf.py:35
|
||||
#: journal/models/shelf.py:37
|
||||
#, python-brace-format
|
||||
msgid "wants to read {item}"
|
||||
msgstr "想读 {item}"
|
||||
|
||||
#: journal/models/shelf.py:40
|
||||
#: journal/models/shelf.py:38
|
||||
msgid "to read"
|
||||
msgstr "想读"
|
||||
|
||||
#: journal/models/shelf.py:43
|
||||
msgid "books reading"
|
||||
msgstr "正在读的书"
|
||||
|
||||
#: journal/models/shelf.py:41
|
||||
#: journal/models/shelf.py:44
|
||||
msgid "start reading"
|
||||
msgstr "在读"
|
||||
|
||||
#: journal/models/shelf.py:42
|
||||
#: journal/models/shelf.py:45
|
||||
#, python-brace-format
|
||||
msgid "started reading {item}"
|
||||
msgstr "在读 {item}"
|
||||
|
||||
#: journal/models/shelf.py:47
|
||||
#: journal/models/shelf.py:46
|
||||
msgid "reading"
|
||||
msgstr "在读"
|
||||
|
||||
#: journal/models/shelf.py:51
|
||||
msgid "books completed"
|
||||
msgstr "读过的书"
|
||||
|
||||
#: journal/models/shelf.py:48
|
||||
#: journal/models/shelf.py:52
|
||||
msgid "finish reading"
|
||||
msgstr "读过"
|
||||
|
||||
#: journal/models/shelf.py:49
|
||||
#: journal/models/shelf.py:53
|
||||
#, python-brace-format
|
||||
msgid "finished reading {item}"
|
||||
msgstr "读过 {item}"
|
||||
|
||||
#: journal/models/shelf.py:54
|
||||
msgid "read"
|
||||
msgstr "已读"
|
||||
|
||||
#: journal/models/shelf.py:59
|
||||
msgid "books dropped"
|
||||
msgstr "不再读的书"
|
||||
|
||||
#: journal/models/shelf.py:55
|
||||
#: journal/models/shelf.py:60
|
||||
msgid "stop reading"
|
||||
msgstr "不读了"
|
||||
|
||||
#: journal/models/shelf.py:56
|
||||
#: journal/models/shelf.py:61
|
||||
#, python-brace-format
|
||||
msgid "stopped reading {item}"
|
||||
msgstr "不再读 {item}"
|
||||
|
||||
#: journal/models/shelf.py:61
|
||||
#: journal/models/shelf.py:62
|
||||
msgid "stopped reading"
|
||||
msgstr "不读了"
|
||||
|
||||
#: journal/models/shelf.py:67
|
||||
msgid "books reviewed"
|
||||
msgstr "评论过的书"
|
||||
|
||||
#: journal/models/shelf.py:63 journal/models/shelf.py:98
|
||||
#: journal/models/shelf.py:133 journal/models/shelf.py:168
|
||||
#: journal/models/shelf.py:203 journal/models/shelf.py:238
|
||||
#: journal/models/shelf.py:268
|
||||
#: journal/models/shelf.py:69 journal/models/shelf.py:109
|
||||
#: journal/models/shelf.py:149 journal/models/shelf.py:189
|
||||
#: journal/models/shelf.py:229 journal/models/shelf.py:269
|
||||
#: journal/models/shelf.py:303
|
||||
#, python-brace-format
|
||||
msgid "wrote a review of {item}"
|
||||
msgstr "写了关于 {item} 的评论"
|
||||
|
||||
#: journal/models/shelf.py:68
|
||||
#: journal/models/shelf.py:75
|
||||
msgid "movies to watch"
|
||||
msgstr "想看的电影"
|
||||
|
||||
#: journal/models/shelf.py:69 journal/models/shelf.py:104
|
||||
#: journal/models/shelf.py:76 journal/models/shelf.py:116
|
||||
msgid "want to watch"
|
||||
msgstr "想看"
|
||||
|
||||
#: journal/models/shelf.py:70 journal/models/shelf.py:105
|
||||
#: journal/models/shelf.py:77 journal/models/shelf.py:117
|
||||
#, python-brace-format
|
||||
msgid "wants to watch {item}"
|
||||
msgstr "想看 {item}"
|
||||
|
||||
#: journal/models/shelf.py:75
|
||||
#: journal/models/shelf.py:78 journal/models/shelf.py:118
|
||||
msgid "to watch"
|
||||
msgstr "想看"
|
||||
|
||||
#: journal/models/shelf.py:83
|
||||
msgid "movies watching"
|
||||
msgstr "正在看的电影"
|
||||
|
||||
#: journal/models/shelf.py:76 journal/models/shelf.py:111
|
||||
#: journal/models/shelf.py:84 journal/models/shelf.py:124
|
||||
msgid "start watching"
|
||||
msgstr "在看"
|
||||
|
||||
#: journal/models/shelf.py:77 journal/models/shelf.py:112
|
||||
#: journal/models/shelf.py:85 journal/models/shelf.py:125
|
||||
#, python-brace-format
|
||||
msgid "started watching {item}"
|
||||
msgstr "在看 {item}"
|
||||
|
||||
#: journal/models/shelf.py:82
|
||||
#: journal/models/shelf.py:86 journal/models/shelf.py:126
|
||||
msgid "watching"
|
||||
msgstr "在看"
|
||||
|
||||
#: journal/models/shelf.py:91
|
||||
msgid "movies watched"
|
||||
msgstr "看过的电影"
|
||||
|
||||
#: journal/models/shelf.py:83 journal/models/shelf.py:118
|
||||
#: journal/models/shelf.py:92 journal/models/shelf.py:132
|
||||
msgid "finish watching"
|
||||
msgstr "看过"
|
||||
|
||||
#: journal/models/shelf.py:84 journal/models/shelf.py:119
|
||||
#: journal/models/shelf.py:93 journal/models/shelf.py:133
|
||||
#, python-brace-format
|
||||
msgid "finished watching {item}"
|
||||
msgstr "看过 {item}"
|
||||
|
||||
#: journal/models/shelf.py:89
|
||||
#: journal/models/shelf.py:94 journal/models/shelf.py:134
|
||||
msgid "watched"
|
||||
msgstr "看过"
|
||||
|
||||
#: journal/models/shelf.py:99
|
||||
msgid "movies dropped"
|
||||
msgstr "不再看的电影"
|
||||
|
||||
#: journal/models/shelf.py:90 journal/models/shelf.py:125
|
||||
#: journal/models/shelf.py:100 journal/models/shelf.py:140
|
||||
msgid "stop watching"
|
||||
msgstr "不看了"
|
||||
|
||||
#: journal/models/shelf.py:91 journal/models/shelf.py:126
|
||||
#: journal/models/shelf.py:101 journal/models/shelf.py:141
|
||||
#, python-brace-format
|
||||
msgid "stopped watching {item}"
|
||||
msgstr "不再看 {item}"
|
||||
|
||||
#: journal/models/shelf.py:96
|
||||
#: journal/models/shelf.py:102 journal/models/shelf.py:142
|
||||
msgid "stopped watching"
|
||||
msgstr "不看了"
|
||||
|
||||
#: journal/models/shelf.py:107
|
||||
msgid "movies reviewed"
|
||||
msgstr "评论过的电影"
|
||||
|
||||
#: journal/models/shelf.py:103
|
||||
#: journal/models/shelf.py:115
|
||||
msgid "TV shows to watch"
|
||||
msgstr "想看的剧集"
|
||||
|
||||
#: journal/models/shelf.py:110
|
||||
#: journal/models/shelf.py:123
|
||||
msgid "TV shows watching"
|
||||
msgstr "正在看的剧集"
|
||||
|
||||
#: journal/models/shelf.py:117
|
||||
#: journal/models/shelf.py:131
|
||||
msgid "TV shows watched"
|
||||
msgstr "看过的剧集"
|
||||
|
||||
#: journal/models/shelf.py:124
|
||||
#: journal/models/shelf.py:139
|
||||
msgid "TV shows dropped"
|
||||
msgstr "不再看的剧集"
|
||||
|
||||
#: journal/models/shelf.py:131
|
||||
#: journal/models/shelf.py:147
|
||||
msgid "TV shows reviewed"
|
||||
msgstr "评论过的剧集"
|
||||
|
||||
#: journal/models/shelf.py:138
|
||||
#: journal/models/shelf.py:155
|
||||
msgid "albums to listen"
|
||||
msgstr "想听的专辑"
|
||||
|
||||
#: journal/models/shelf.py:139 journal/models/shelf.py:209
|
||||
#: journal/models/shelf.py:156 journal/models/shelf.py:236
|
||||
msgid "want to listen"
|
||||
msgstr "想听"
|
||||
|
||||
#: journal/models/shelf.py:140 journal/models/shelf.py:210
|
||||
#: journal/models/shelf.py:157 journal/models/shelf.py:237
|
||||
#, python-brace-format
|
||||
msgid "wants to listen {item}"
|
||||
msgstr "想听 {item}"
|
||||
|
||||
#: journal/models/shelf.py:145
|
||||
#: journal/models/shelf.py:158 journal/models/shelf.py:238
|
||||
msgid "to listen"
|
||||
msgstr "想听"
|
||||
|
||||
#: journal/models/shelf.py:163
|
||||
msgid "albums listening"
|
||||
msgstr "正在听的专辑"
|
||||
|
||||
#: journal/models/shelf.py:146 journal/models/shelf.py:216
|
||||
#: journal/models/shelf.py:164 journal/models/shelf.py:244
|
||||
msgid "start listening"
|
||||
msgstr "在听"
|
||||
|
||||
#: journal/models/shelf.py:147 journal/models/shelf.py:217
|
||||
#: journal/models/shelf.py:165 journal/models/shelf.py:245
|
||||
#, python-brace-format
|
||||
msgid "started listening {item}"
|
||||
msgstr "在听 {item}"
|
||||
|
||||
#: journal/models/shelf.py:152
|
||||
#: journal/models/shelf.py:166 journal/models/shelf.py:246
|
||||
msgid "listening"
|
||||
msgstr "在听"
|
||||
|
||||
#: journal/models/shelf.py:171
|
||||
msgid "albums listened"
|
||||
msgstr "听过的专辑"
|
||||
|
||||
#: journal/models/shelf.py:153 journal/models/shelf.py:223
|
||||
#: journal/models/shelf.py:172 journal/models/shelf.py:252
|
||||
msgid "finish listening"
|
||||
msgstr "听过"
|
||||
|
||||
#: journal/models/shelf.py:154 journal/models/shelf.py:224
|
||||
#: journal/models/shelf.py:173 journal/models/shelf.py:253
|
||||
#, python-brace-format
|
||||
msgid "finished listening {item}"
|
||||
msgstr "听过 {item}"
|
||||
|
||||
#: journal/models/shelf.py:159
|
||||
#: journal/models/shelf.py:174 journal/models/shelf.py:254
|
||||
msgid "listened"
|
||||
msgstr "听过"
|
||||
|
||||
#: journal/models/shelf.py:179
|
||||
msgid "albums dropped"
|
||||
msgstr "不再听的专辑"
|
||||
|
||||
#: journal/models/shelf.py:160 journal/models/shelf.py:230
|
||||
#: journal/models/shelf.py:180 journal/models/shelf.py:260
|
||||
msgid "stop listening"
|
||||
msgstr "不听了"
|
||||
|
||||
#: journal/models/shelf.py:161 journal/models/shelf.py:231
|
||||
#: journal/models/shelf.py:181 journal/models/shelf.py:261
|
||||
#, python-brace-format
|
||||
msgid "stopped listening {item}"
|
||||
msgstr "不听了 {item}"
|
||||
|
||||
#: journal/models/shelf.py:166
|
||||
#: journal/models/shelf.py:182 journal/models/shelf.py:262
|
||||
msgid "stopped listening"
|
||||
msgstr "不听了"
|
||||
|
||||
#: journal/models/shelf.py:187
|
||||
msgid "albums reviewed"
|
||||
msgstr "评论过的专辑"
|
||||
|
||||
#: journal/models/shelf.py:173
|
||||
#: journal/models/shelf.py:195
|
||||
msgid "games to play"
|
||||
msgstr "想玩的游戏"
|
||||
|
||||
#: journal/models/shelf.py:174
|
||||
#: journal/models/shelf.py:196
|
||||
msgid "want to play"
|
||||
msgstr "想玩"
|
||||
|
||||
#: journal/models/shelf.py:175
|
||||
#: journal/models/shelf.py:197
|
||||
#, python-brace-format
|
||||
msgid "wants to play {item}"
|
||||
msgstr "想玩 {item}"
|
||||
|
||||
#: journal/models/shelf.py:180
|
||||
#: journal/models/shelf.py:198
|
||||
msgid "to play"
|
||||
msgstr "想玩"
|
||||
|
||||
#: journal/models/shelf.py:203
|
||||
msgid "games playing"
|
||||
msgstr "正在玩的游戏"
|
||||
|
||||
#: journal/models/shelf.py:181
|
||||
#: journal/models/shelf.py:204
|
||||
msgid "start playing"
|
||||
msgstr "在玩"
|
||||
|
||||
#: journal/models/shelf.py:182
|
||||
#: journal/models/shelf.py:205
|
||||
#, python-brace-format
|
||||
msgid "started playing {item}"
|
||||
msgstr "在玩 {item}"
|
||||
|
||||
#: journal/models/shelf.py:187
|
||||
#: journal/models/shelf.py:206
|
||||
msgid "playing"
|
||||
msgstr "在玩"
|
||||
|
||||
#: journal/models/shelf.py:211
|
||||
msgid "games played"
|
||||
msgstr "玩过的游戏"
|
||||
|
||||
#: journal/models/shelf.py:188
|
||||
#: journal/models/shelf.py:212
|
||||
msgid "finish playing"
|
||||
msgstr "玩过"
|
||||
|
||||
#: journal/models/shelf.py:189
|
||||
#: journal/models/shelf.py:213
|
||||
#, python-brace-format
|
||||
msgid "finished playing {item}"
|
||||
msgstr "玩过 {item}"
|
||||
|
||||
#: journal/models/shelf.py:194
|
||||
#: journal/models/shelf.py:214
|
||||
msgid "played"
|
||||
msgstr "玩过"
|
||||
|
||||
#: journal/models/shelf.py:219
|
||||
msgid "games dropped"
|
||||
msgstr "不再玩的游戏"
|
||||
|
||||
#: journal/models/shelf.py:195
|
||||
#: journal/models/shelf.py:220
|
||||
msgid "stop playing"
|
||||
msgstr "不玩了"
|
||||
|
||||
#: journal/models/shelf.py:196
|
||||
#: journal/models/shelf.py:221
|
||||
#, python-brace-format
|
||||
msgid "stopped playing {item}"
|
||||
msgstr "不再玩 {item}"
|
||||
|
||||
#: journal/models/shelf.py:201
|
||||
#: journal/models/shelf.py:222
|
||||
msgid "stopped playing"
|
||||
msgstr "不玩了"
|
||||
|
||||
#: journal/models/shelf.py:227
|
||||
msgid "games reviewed"
|
||||
msgstr "评论过的游戏"
|
||||
|
||||
#: journal/models/shelf.py:208
|
||||
#: journal/models/shelf.py:235
|
||||
msgid "podcasts to listen"
|
||||
msgstr "想听的播客"
|
||||
|
||||
#: journal/models/shelf.py:215
|
||||
#: journal/models/shelf.py:243
|
||||
msgid "podcasts listening"
|
||||
msgstr "正在听的播客"
|
||||
|
||||
#: journal/models/shelf.py:222
|
||||
#: journal/models/shelf.py:251
|
||||
msgid "podcasts listened"
|
||||
msgstr "听过的播客"
|
||||
|
||||
#: journal/models/shelf.py:229
|
||||
#: journal/models/shelf.py:259
|
||||
msgid "podcasts dropped"
|
||||
msgstr "不再听的播客"
|
||||
|
||||
#: journal/models/shelf.py:236
|
||||
#: journal/models/shelf.py:267
|
||||
msgid "podcasts reviewed"
|
||||
msgstr "评论过的播客"
|
||||
|
||||
#: journal/models/shelf.py:243
|
||||
#: journal/models/shelf.py:275
|
||||
msgid "performances to see"
|
||||
msgstr "想看的演出"
|
||||
|
||||
#: journal/models/shelf.py:244
|
||||
#: journal/models/shelf.py:276
|
||||
msgid "want to see"
|
||||
msgstr "想看"
|
||||
|
||||
#: journal/models/shelf.py:245
|
||||
#: journal/models/shelf.py:277
|
||||
#, python-brace-format
|
||||
msgid "wants to see {item}"
|
||||
msgstr "想看 {item}"
|
||||
|
||||
#: journal/models/shelf.py:252
|
||||
#: journal/models/shelf.py:278
|
||||
msgid "to see"
|
||||
msgstr "想看"
|
||||
|
||||
#: journal/models/shelf.py:285
|
||||
msgid "performances saw"
|
||||
msgstr "看过的演出"
|
||||
|
||||
#: journal/models/shelf.py:253
|
||||
#: journal/models/shelf.py:286
|
||||
msgid "finish seeing"
|
||||
msgstr "看过"
|
||||
|
||||
#: journal/models/shelf.py:254
|
||||
#: journal/models/shelf.py:287
|
||||
#, python-brace-format
|
||||
msgid "finished seeing {item}"
|
||||
msgstr "看过 {item}"
|
||||
|
||||
#: journal/models/shelf.py:259
|
||||
#: journal/models/shelf.py:288
|
||||
msgid "seen"
|
||||
msgstr "看过"
|
||||
|
||||
#: journal/models/shelf.py:293
|
||||
msgid "performances dropped"
|
||||
msgstr "不再看的演出"
|
||||
|
||||
#: journal/models/shelf.py:260
|
||||
#: journal/models/shelf.py:294
|
||||
msgid "stop seeing"
|
||||
msgstr "不看了"
|
||||
|
||||
#: journal/models/shelf.py:261
|
||||
#: journal/models/shelf.py:295
|
||||
#, python-brace-format
|
||||
msgid "stopped seeing {item}"
|
||||
msgstr "不再看 {item}"
|
||||
|
||||
#: journal/models/shelf.py:266
|
||||
#: journal/models/shelf.py:296
|
||||
msgid "stopped seeing"
|
||||
msgstr "不看了"
|
||||
|
||||
#: journal/models/shelf.py:301
|
||||
msgid "performances reviewed"
|
||||
msgstr "评论过的演出"
|
||||
|
||||
#: journal/models/shelf.py:424
|
||||
#: journal/models/shelf.py:460
|
||||
msgid "removed mark"
|
||||
msgstr "移除标记"
|
||||
|
||||
|
@ -2224,12 +2296,12 @@ msgstr "更新"
|
|||
msgid "Comment"
|
||||
msgstr "写短评"
|
||||
|
||||
#: journal/templates/comment.html:24 journal/templates/mark.html:66
|
||||
#: journal/templates/comment.html:24 journal/templates/mark.html:70
|
||||
msgid "Tips: use >!text!< for spoilers; some instances may not be able to show posts longer than 360 charactors."
|
||||
msgstr "提示: 善用 >!文字!< 标记可隐藏剧透; 超过360字可能无法分享到联邦宇宙实例时间轴。"
|
||||
|
||||
#: journal/templates/comment.html:62 journal/templates/mark.html:115
|
||||
msgid "Repost to your timeline"
|
||||
#: journal/templates/comment.html:62 journal/templates/mark.html:119
|
||||
msgid "Repost to timeline"
|
||||
msgstr "转发到时间轴"
|
||||
|
||||
#: journal/templates/comment.html:75
|
||||
|
@ -2240,20 +2312,20 @@ msgstr "分享播放位置"
|
|||
msgid "Mark"
|
||||
msgstr "标记"
|
||||
|
||||
#: journal/templates/mark.html:43 journal/templates/mark.html:47
|
||||
#: journal/templates/mark.html:51
|
||||
#: journal/templates/mark.html:47 journal/templates/mark.html:51
|
||||
#: journal/templates/mark.html:55
|
||||
msgid "not rated"
|
||||
msgstr "未评分"
|
||||
|
||||
#: journal/templates/mark.html:74
|
||||
#: journal/templates/mark.html:78
|
||||
msgid "add a tag and press Enter"
|
||||
msgstr "回车增加标签"
|
||||
|
||||
#: journal/templates/mark.html:130
|
||||
#: journal/templates/mark.html:134
|
||||
msgid "change mark date"
|
||||
msgstr "指定标记日期"
|
||||
|
||||
#: journal/templates/mark.html:156
|
||||
#: journal/templates/mark.html:160
|
||||
msgid "Sure to delete mark, comment and tags for this item?"
|
||||
msgstr "确认删除这条标记、短评和标签?"
|
||||
|
||||
|
@ -2502,7 +2574,7 @@ msgstr "找不到条目,请使用本站条目网址。"
|
|||
msgid "Login required"
|
||||
msgstr "登录后访问"
|
||||
|
||||
#: journal/views/common.py:33 journal/views/mark.py:117
|
||||
#: journal/views/common.py:33 journal/views/mark.py:119
|
||||
msgid "Data saved but unable to repost to Fediverse instance."
|
||||
msgstr "数据已保存但未能转发到联邦实例。"
|
||||
|
||||
|
@ -2514,11 +2586,11 @@ msgstr "正在重定向到你的联邦实例以重新认证。"
|
|||
msgid "List not found."
|
||||
msgstr "列表未找到"
|
||||
|
||||
#: journal/views/mark.py:108
|
||||
#: journal/views/mark.py:110
|
||||
msgid "Content too long for your Fediverse instance."
|
||||
msgstr "内容过长,超出了你的联邦实例的限制。"
|
||||
|
||||
#: journal/views/mark.py:162 journal/views/review.py:30
|
||||
#: journal/views/mark.py:164 journal/views/review.py:30
|
||||
msgid "Content not found"
|
||||
msgstr "内容未找到"
|
||||
|
||||
|
@ -3444,18 +3516,18 @@ msgid "local, this site only"
|
|||
msgstr "仅本站"
|
||||
|
||||
#: users/templates/users/preferences.html:96
|
||||
msgid "Repost to your timeline by default"
|
||||
msgid "Turn on repost to timeline by default"
|
||||
msgstr "发表时默认转发到时间轴"
|
||||
|
||||
#: users/templates/users/preferences.html:104
|
||||
msgid "Method for reposting to your timeline"
|
||||
msgid "Method for reposting to timeline"
|
||||
msgstr "转发到时间轴的方式"
|
||||
|
||||
#: users/templates/users/preferences.html:119
|
||||
msgid "repost as new post"
|
||||
msgstr "另发新帖文"
|
||||
|
||||
#: users/templates/users/preferences.html:120
|
||||
#: users/templates/users/preferences.html:121
|
||||
msgid "this method is less optimal, may generate duplicated posts and miss reactions."
|
||||
msgstr "这种方式可能产生重复帖文,且其他人对新帖的回应、点赞不会被记录"
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
{% if request.user.mastodon_acct %}
|
||||
<fieldset>
|
||||
<label>
|
||||
{% trans "Repost to your timeline by default" %}
|
||||
{% trans "Turn on repost to timeline by default" %}
|
||||
<input type="checkbox"
|
||||
name="mastodon_default_repost"
|
||||
value="1"
|
||||
|
@ -101,7 +101,7 @@
|
|||
</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
{% trans "Method for reposting to your timeline" %}
|
||||
{% trans "Method for reposting to timeline" %}
|
||||
<input type="radio"
|
||||
name="mastodon_repost_mode"
|
||||
value="0"
|
||||
|
@ -115,10 +115,8 @@
|
|||
required=""
|
||||
id="mastodon_repost_mode_1"
|
||||
{% if request.user.preference.mastodon_repost_mode == 1 %}checked{% endif %}>
|
||||
<label for="mastodon_repost_mode_1">
|
||||
{% trans "repost as new post" %}
|
||||
<label for="mastodon_repost_mode_1">{% trans "repost as new post" %}</label>
|
||||
<em data-tooltip="{% trans "this method is less optimal, may generate duplicated posts and miss reactions." %}"><i class="fa fa-question-circle"></i></em>
|
||||
</label>
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
<fieldset>
|
||||
|
|
Loading…
Add table
Reference in a new issue