rephrase share as crosspost
This commit is contained in:
parent
4e41165be4
commit
77eefa9e13
16 changed files with 81 additions and 83 deletions
|
@ -18,7 +18,7 @@ class ReviewForm(forms.ModelForm):
|
||||||
title = forms.CharField(label=_("Title"))
|
title = forms.CharField(label=_("Title"))
|
||||||
body = MarkdownxFormField(label=_("Content (Markdown)"), strip=False)
|
body = MarkdownxFormField(label=_("Content (Markdown)"), strip=False)
|
||||||
share_to_mastodon = forms.BooleanField(
|
share_to_mastodon = forms.BooleanField(
|
||||||
label=_("Post to Fediverse"), initial=True, required=False
|
label=_("Crosspost to timeline"), initial=True, required=False
|
||||||
)
|
)
|
||||||
id = forms.IntegerField(required=False, widget=forms.HiddenInput())
|
id = forms.IntegerField(required=False, widget=forms.HiddenInput())
|
||||||
visibility = forms.TypedChoiceField(
|
visibility = forms.TypedChoiceField(
|
||||||
|
@ -40,7 +40,7 @@ class CollectionForm(forms.ModelForm):
|
||||||
# id = forms.IntegerField(required=False, widget=forms.HiddenInput())
|
# id = forms.IntegerField(required=False, widget=forms.HiddenInput())
|
||||||
title = forms.CharField(label=_("Title"))
|
title = forms.CharField(label=_("Title"))
|
||||||
brief = MarkdownxFormField(label=_("Content (Markdown)"), strip=False)
|
brief = MarkdownxFormField(label=_("Content (Markdown)"), strip=False)
|
||||||
# share_to_mastodon = forms.BooleanField(label=_("Repost to Fediverse"), initial=True, required=False)
|
# share_to_mastodon = forms.BooleanField(label=_("Crosspost to timeline"), initial=True, required=False)
|
||||||
visibility = forms.TypedChoiceField(
|
visibility = forms.TypedChoiceField(
|
||||||
label=_("Visibility"),
|
label=_("Visibility"),
|
||||||
initial=0,
|
initial=0,
|
||||||
|
|
|
@ -112,13 +112,13 @@ class Comment(Content):
|
||||||
comment.save()
|
comment.save()
|
||||||
return comment
|
return comment
|
||||||
|
|
||||||
def get_repost_postfix(self):
|
def get_crosspost_postfix(self):
|
||||||
tags = render_post_with_macro(
|
tags = render_post_with_macro(
|
||||||
self.owner.user.preference.mastodon_append_tag, self.item
|
self.owner.user.preference.mastodon_append_tag, self.item
|
||||||
)
|
)
|
||||||
return "\n" + tags if tags else ""
|
return "\n" + tags if tags else ""
|
||||||
|
|
||||||
def get_repost_template(self):
|
def get_crosspost_template(self):
|
||||||
return _(
|
return _(
|
||||||
ShelfManager.get_action_template(ShelfType.PROGRESS, self.item.category)
|
ShelfManager.get_action_template(ShelfType.PROGRESS, self.item.category)
|
||||||
)
|
)
|
||||||
|
@ -126,9 +126,9 @@ class Comment(Content):
|
||||||
def to_mastodon_params(self):
|
def to_mastodon_params(self):
|
||||||
spoiler_text, txt = render_spoiler_text(self.text, self.item)
|
spoiler_text, txt = render_spoiler_text(self.text, self.item)
|
||||||
content = (
|
content = (
|
||||||
self.get_repost_template().format(item=self.item.display_title)
|
self.get_crosspost_template().format(item=self.item.display_title)
|
||||||
+ f"\n{txt}\n{settings.SITE_INFO['site_url']}{self.item_url}"
|
+ f"\n{txt}\n{settings.SITE_INFO['site_url']}{self.item_url}"
|
||||||
+ self.get_repost_postfix()
|
+ self.get_crosspost_postfix()
|
||||||
)
|
)
|
||||||
params = {
|
params = {
|
||||||
"content": content,
|
"content": content,
|
||||||
|
@ -140,13 +140,13 @@ class Comment(Content):
|
||||||
def to_post_params(self):
|
def to_post_params(self):
|
||||||
item_link = f"{settings.SITE_INFO['site_url']}/~neodb~{self.item_url}"
|
item_link = f"{settings.SITE_INFO['site_url']}/~neodb~{self.item_url}"
|
||||||
prepend_content = (
|
prepend_content = (
|
||||||
self.get_repost_template().format(
|
self.get_crosspost_template().format(
|
||||||
item=f'<a href="{item_link}">{self.item.display_title}</a>'
|
item=f'<a href="{item_link}">{self.item.display_title}</a>'
|
||||||
)
|
)
|
||||||
+ "<br>"
|
+ "<br>"
|
||||||
)
|
)
|
||||||
spoiler_text, txt = render_spoiler_text(self.text, self.item)
|
spoiler_text, txt = render_spoiler_text(self.text, self.item)
|
||||||
content = f"{txt}\n{self.get_repost_postfix()}"
|
content = f"{txt}\n{self.get_crosspost_postfix()}"
|
||||||
return {
|
return {
|
||||||
"prepend_content": prepend_content,
|
"prepend_content": prepend_content,
|
||||||
"content": content,
|
"content": content,
|
||||||
|
|
|
@ -128,14 +128,14 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
"takahe.Post", related_name="pieces", through="PiecePost"
|
"takahe.Post", related_name="pieces", through="PiecePost"
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_mastodon_repost_url(self):
|
def get_mastodon_crosspost_url(self):
|
||||||
return (
|
return (
|
||||||
(self.metadata or {}).get("shared_link")
|
(self.metadata or {}).get("shared_link")
|
||||||
if hasattr(self, "metadata")
|
if hasattr(self, "metadata")
|
||||||
else None
|
else None
|
||||||
)
|
)
|
||||||
|
|
||||||
def set_mastodon_repost_url(self, url: str | None):
|
def set_mastodon_crosspost_url(self, url: str | None):
|
||||||
if not hasattr(self, "metadata"):
|
if not hasattr(self, "metadata"):
|
||||||
logger.warning("metadata field not found")
|
logger.warning("metadata field not found")
|
||||||
return
|
return
|
||||||
|
@ -152,7 +152,7 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
def delete(self, *args, **kwargs):
|
def delete(self, *args, **kwargs):
|
||||||
if self.local:
|
if self.local:
|
||||||
Takahe.delete_posts(self.all_post_ids)
|
Takahe.delete_posts(self.all_post_ids)
|
||||||
toot_url = self.get_mastodon_repost_url()
|
toot_url = self.get_mastodon_crosspost_url()
|
||||||
if toot_url:
|
if toot_url:
|
||||||
delete_toot_later(self.owner.user, toot_url)
|
delete_toot_later(self.owner.user, toot_url)
|
||||||
return super().delete(*args, **kwargs)
|
return super().delete(*args, **kwargs)
|
||||||
|
@ -314,7 +314,7 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
if user.preference.mastodon_repost_mode == 1:
|
if user.preference.mastodon_repost_mode == 1:
|
||||||
if delete_existing:
|
if delete_existing:
|
||||||
self.delete_mastodon_repost()
|
self.delete_mastodon_repost()
|
||||||
return self.repost_to_mastodon()
|
return self.crosspost_to_mastodon()
|
||||||
elif self.latest_post:
|
elif self.latest_post:
|
||||||
return boost_toot_later(user, self.latest_post.url)
|
return boost_toot_later(user, self.latest_post.url)
|
||||||
else:
|
else:
|
||||||
|
@ -322,17 +322,17 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
return False, 404
|
return False, 404
|
||||||
|
|
||||||
def delete_mastodon_repost(self):
|
def delete_mastodon_repost(self):
|
||||||
toot_url = self.get_mastodon_repost_url()
|
toot_url = self.get_mastodon_crosspost_url()
|
||||||
if toot_url:
|
if toot_url:
|
||||||
self.set_mastodon_repost_url(None)
|
self.set_mastodon_crosspost_url(None)
|
||||||
delete_toot(self.owner.user, toot_url)
|
delete_toot(self.owner.user, toot_url)
|
||||||
|
|
||||||
def repost_to_mastodon(self):
|
def crosspost_to_mastodon(self):
|
||||||
user = self.owner.user
|
user = self.owner.user
|
||||||
d = {
|
d = {
|
||||||
"user": user,
|
"user": user,
|
||||||
"visibility": self.visibility,
|
"visibility": self.visibility,
|
||||||
"update_toot_url": self.get_mastodon_repost_url(),
|
"update_toot_url": self.get_mastodon_crosspost_url(),
|
||||||
}
|
}
|
||||||
d.update(self.to_mastodon_params())
|
d.update(self.to_mastodon_params())
|
||||||
response = post_toot2(**d)
|
response = post_toot2(**d)
|
||||||
|
|
|
@ -294,10 +294,10 @@ class Mark:
|
||||||
# publish a new or updated ActivityPub post
|
# publish a new or updated ActivityPub post
|
||||||
user = self.owner.user
|
user = self.owner.user
|
||||||
post_as_new = shelf_type != last_shelf_type or visibility != last_visibility
|
post_as_new = shelf_type != last_shelf_type or visibility != last_visibility
|
||||||
classic_repost = user.preference.mastodon_repost_mode == 1
|
classic_crosspost = user.preference.mastodon_repost_mode == 1
|
||||||
append = (
|
append = (
|
||||||
f"@{user.mastodon_acct}\n"
|
f"@{user.mastodon_acct}\n"
|
||||||
if visibility > 0 and share_to_mastodon and not classic_repost
|
if visibility > 0 and share_to_mastodon and not classic_crosspost
|
||||||
else ""
|
else ""
|
||||||
)
|
)
|
||||||
post = Takahe.post_mark(self, post_as_new, append)
|
post = Takahe.post_mark(self, post_as_new, append)
|
||||||
|
@ -306,7 +306,7 @@ class Mark:
|
||||||
Takahe.bookmark(post.pk, self.owner.pk)
|
Takahe.bookmark(post.pk, self.owner.pk)
|
||||||
# async boost to mastodon
|
# async boost to mastodon
|
||||||
if post and share_to_mastodon:
|
if post and share_to_mastodon:
|
||||||
if classic_repost:
|
if classic_crosspost:
|
||||||
share_mark(self, post_as_new)
|
share_mark(self, post_as_new)
|
||||||
else:
|
else:
|
||||||
boost_toot_later(user, post.url)
|
boost_toot_later(user, post.url)
|
||||||
|
|
|
@ -177,7 +177,9 @@ class Note(Content):
|
||||||
"content": self.content + footer,
|
"content": self.content + footer,
|
||||||
"sensitive": self.sensitive,
|
"sensitive": self.sensitive,
|
||||||
"reply_to_toot_url": (
|
"reply_to_toot_url": (
|
||||||
self.shelfmember.get_mastodon_repost_url() if self.shelfmember else None
|
self.shelfmember.get_mastodon_crosspost_url()
|
||||||
|
if self.shelfmember
|
||||||
|
else None
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
if self.latest_post:
|
if self.latest_post:
|
||||||
|
|
|
@ -78,20 +78,20 @@ class Review(Content):
|
||||||
p.link_post_id(post.id)
|
p.link_post_id(post.id)
|
||||||
return p
|
return p
|
||||||
|
|
||||||
def get_repost_postfix(self):
|
def get_crosspost_postfix(self):
|
||||||
tags = render_post_with_macro(
|
tags = render_post_with_macro(
|
||||||
self.owner.user.preference.mastodon_append_tag, self.item
|
self.owner.user.preference.mastodon_append_tag, self.item
|
||||||
)
|
)
|
||||||
return "\n" + tags if tags else ""
|
return "\n" + tags if tags else ""
|
||||||
|
|
||||||
def get_repost_template(self):
|
def get_crosspost_template(self):
|
||||||
return _(ShelfManager.get_action_template("reviewed", self.item.category))
|
return _(ShelfManager.get_action_template("reviewed", self.item.category))
|
||||||
|
|
||||||
def to_mastodon_params(self):
|
def to_mastodon_params(self):
|
||||||
content = (
|
content = (
|
||||||
self.get_repost_template().format(item=self.item.display_title)
|
self.get_crosspost_template().format(item=self.item.display_title)
|
||||||
+ f"\n{self.title}\n{self.absolute_url} "
|
+ f"\n{self.title}\n{self.absolute_url} "
|
||||||
+ self.get_repost_postfix()
|
+ self.get_crosspost_postfix()
|
||||||
)
|
)
|
||||||
params = {"content": content}
|
params = {"content": content}
|
||||||
return params
|
return params
|
||||||
|
@ -99,12 +99,14 @@ class Review(Content):
|
||||||
def to_post_params(self):
|
def to_post_params(self):
|
||||||
item_link = f"{settings.SITE_INFO['site_url']}/~neodb~{self.item.url}"
|
item_link = f"{settings.SITE_INFO['site_url']}/~neodb~{self.item.url}"
|
||||||
prepend_content = (
|
prepend_content = (
|
||||||
self.get_repost_template().format(
|
self.get_crosspost_template().format(
|
||||||
item=f'<a href="{item_link}">{self.item.display_title}</a>'
|
item=f'<a href="{item_link}">{self.item.display_title}</a>'
|
||||||
)
|
)
|
||||||
+ f'<br><a href="{self.absolute_url}">{self.title}</a>'
|
+ f'<br><a href="{self.absolute_url}">{self.title}</a>'
|
||||||
)
|
)
|
||||||
content = f"{render_rating(self.rating_grade, 1)}\n{self.get_repost_postfix()}"
|
content = (
|
||||||
|
f"{render_rating(self.rating_grade, 1)}\n{self.get_crosspost_postfix()}"
|
||||||
|
)
|
||||||
return {
|
return {
|
||||||
"prepend_content": prepend_content,
|
"prepend_content": prepend_content,
|
||||||
"content": content,
|
"content": content,
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
id="id_share_to_mastodon"
|
id="id_share_to_mastodon"
|
||||||
value="1"
|
value="1"
|
||||||
{% if request.user.preference.mastodon_default_repost %}checked{% endif %}>
|
{% if request.user.preference.mastodon_default_repost %}checked{% endif %}>
|
||||||
{% trans "Repost to timeline" %}
|
{% trans "Crosspost to timeline" %}
|
||||||
</label>
|
</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
id="id_share_to_mastodon"
|
id="id_share_to_mastodon"
|
||||||
value="1"
|
value="1"
|
||||||
{% if request.user.preference.mastodon_default_repost %}checked{% endif %}>
|
{% if request.user.preference.mastodon_default_repost %}checked{% endif %}>
|
||||||
{% trans "Repost to timeline" %}
|
{% trans "Crosspost to timeline" %}
|
||||||
</label>
|
</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
|
@ -30,7 +30,7 @@ def render_relogin(request):
|
||||||
"common/error.html",
|
"common/error.html",
|
||||||
{
|
{
|
||||||
"url": reverse("users:connect") + "?domain=" + request.user.mastodon_site,
|
"url": reverse("users:connect") + "?domain=" + request.user.mastodon_site,
|
||||||
"msg": _("Data saved but unable to repost to Fediverse instance."),
|
"msg": _("Data saved but unable to crosspost to Fediverse instance."),
|
||||||
"secondary_msg": _(
|
"secondary_msg": _(
|
||||||
"Redirecting to your Fediverse instance now to re-authenticate."
|
"Redirecting to your Fediverse instance now to re-authenticate."
|
||||||
),
|
),
|
||||||
|
|
|
@ -115,7 +115,7 @@ def mark(request: AuthedHttpRequest, item_uuid):
|
||||||
"common/error.html",
|
"common/error.html",
|
||||||
{
|
{
|
||||||
"msg": _(
|
"msg": _(
|
||||||
"Data saved but unable to repost to Fediverse instance."
|
"Data saved but unable to crosspost to Fediverse instance."
|
||||||
),
|
),
|
||||||
"secondary_msg": err,
|
"secondary_msg": err,
|
||||||
},
|
},
|
||||||
|
|
|
@ -23,7 +23,7 @@ class NoteForm(NeoModelForm):
|
||||||
widget=forms.RadioSelect(), choices=VisibilityType.choices, initial=0
|
widget=forms.RadioSelect(), choices=VisibilityType.choices, initial=0
|
||||||
)
|
)
|
||||||
share_to_mastodon = forms.BooleanField(
|
share_to_mastodon = forms.BooleanField(
|
||||||
label=_("Post to Fediverse"), initial=True, required=False
|
label=_("Crosspost to timeline"), initial=True, required=False
|
||||||
)
|
)
|
||||||
uuid = forms.CharField(widget=forms.HiddenInput(), required=False)
|
uuid = forms.CharField(widget=forms.HiddenInput(), required=False)
|
||||||
# content = forms.CharField(required=False, widget=forms.Textarea)
|
# content = forms.CharField(required=False, widget=forms.Textarea)
|
||||||
|
|
|
@ -49,7 +49,7 @@ def post_reply(request: AuthedHttpRequest, post_id: int):
|
||||||
@require_http_methods(["POST"])
|
@require_http_methods(["POST"])
|
||||||
@login_required
|
@login_required
|
||||||
def post_boost(request: AuthedHttpRequest, post_id: int):
|
def post_boost(request: AuthedHttpRequest, post_id: int):
|
||||||
# classic_repost = request.user.preference.mastodon_repost_mode == 1
|
# classic_crosspost = request.user.preference.mastodon_repost_mode == 1
|
||||||
post = Takahe.get_post(post_id)
|
post = Takahe.get_post(post_id)
|
||||||
if not post:
|
if not post:
|
||||||
raise BadRequest(_("Invalid parameter"))
|
raise BadRequest(_("Invalid parameter"))
|
||||||
|
|
|
@ -127,8 +127,8 @@ class WrappedShareView(LoginRequiredMixin, TemplateView):
|
||||||
Takahe.visibility_n2t(visibility, user.preference.post_public_mode),
|
Takahe.visibility_n2t(visibility, user.preference.post_public_mode),
|
||||||
attachments=[media],
|
attachments=[media],
|
||||||
)
|
)
|
||||||
classic_repost = user.preference.mastodon_repost_mode == 1
|
classic_crosspost = user.preference.mastodon_repost_mode == 1
|
||||||
if classic_repost:
|
if classic_crosspost:
|
||||||
post_toot_later(
|
post_toot_later(
|
||||||
user,
|
user,
|
||||||
comment,
|
comment,
|
||||||
|
|
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-06-15 23:28-0400\n"
|
"POT-Creation-Date: 2024-06-16 21:51-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -1678,9 +1678,10 @@ msgstr "标题"
|
||||||
msgid "Content (Markdown)"
|
msgid "Content (Markdown)"
|
||||||
msgstr "内容 (Markdown格式)"
|
msgstr "内容 (Markdown格式)"
|
||||||
|
|
||||||
#: journal/forms.py:21 journal/views/note.py:26
|
#: journal/forms.py:21 journal/templates/comment.html:62
|
||||||
msgid "Post to Fediverse"
|
#: journal/templates/mark.html:120 journal/views/note.py:26
|
||||||
msgstr "发布到联邦宇宙"
|
msgid "Crosspost to timeline"
|
||||||
|
msgstr "转发到时间轴"
|
||||||
|
|
||||||
#: journal/forms.py:25 journal/forms.py:45
|
#: journal/forms.py:25 journal/forms.py:45
|
||||||
#: journal/templates/collection_share.html:24
|
#: journal/templates/collection_share.html:24
|
||||||
|
@ -1807,7 +1808,7 @@ msgstr "第{value}首"
|
||||||
msgid "Cycle {value}"
|
msgid "Cycle {value}"
|
||||||
msgstr "{value}周目"
|
msgstr "{value}周目"
|
||||||
|
|
||||||
#: journal/models/renderers.py:94 mastodon/api.py:619 takahe/utils.py:543
|
#: journal/models/renderers.py:94 mastodon/api.py:619 takahe/utils.py:550
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "regarding {item_title}, may contain spoiler or triggering content"
|
msgid "regarding {item_title}, may contain spoiler or triggering content"
|
||||||
msgstr "关于 {item_title},可能包含剧透或敏感内容"
|
msgstr "关于 {item_title},可能包含剧透或敏感内容"
|
||||||
|
@ -2387,10 +2388,6 @@ msgstr "写短评"
|
||||||
msgid "Tips: use >!text!< for spoilers; some instances may not be able to show posts longer than 360 charactors."
|
msgid "Tips: use >!text!< for spoilers; some instances may not be able to show posts longer than 360 charactors."
|
||||||
msgstr "提示: 善用 >!文字!< 标记可隐藏剧透; 超过360字可能无法分享到联邦宇宙实例时间轴。"
|
msgstr "提示: 善用 >!文字!< 标记可隐藏剧透; 超过360字可能无法分享到联邦宇宙实例时间轴。"
|
||||||
|
|
||||||
#: journal/templates/comment.html:62 journal/templates/mark.html:120
|
|
||||||
msgid "Repost to timeline"
|
|
||||||
msgstr "转发到时间轴"
|
|
||||||
|
|
||||||
#: journal/templates/comment.html:75
|
#: journal/templates/comment.html:75
|
||||||
msgid "share with playback position"
|
msgid "share with playback position"
|
||||||
msgstr "分享播放位置"
|
msgstr "分享播放位置"
|
||||||
|
@ -2659,7 +2656,7 @@ msgid "Login required"
|
||||||
msgstr "登录后访问"
|
msgstr "登录后访问"
|
||||||
|
|
||||||
#: journal/views/common.py:33 journal/views/mark.py:118
|
#: journal/views/common.py:33 journal/views/mark.py:118
|
||||||
msgid "Data saved but unable to repost to Fediverse instance."
|
msgid "Data saved but unable to crosspost to Fediverse instance."
|
||||||
msgstr "数据已保存但未能转发到联邦实例。"
|
msgstr "数据已保存但未能转发到联邦实例。"
|
||||||
|
|
||||||
#: journal/views/common.py:35
|
#: journal/views/common.py:35
|
||||||
|
@ -2802,7 +2799,7 @@ msgstr "播放"
|
||||||
msgid "comment"
|
msgid "comment"
|
||||||
msgstr "写短评"
|
msgstr "写短评"
|
||||||
|
|
||||||
#: social/templates/activity/create_collection.html:16 takahe/utils.py:593
|
#: social/templates/activity/create_collection.html:16 takahe/utils.py:600
|
||||||
msgid "created collection"
|
msgid "created collection"
|
||||||
msgstr "创建了收藏单"
|
msgstr "创建了收藏单"
|
||||||
|
|
||||||
|
@ -3195,39 +3192,39 @@ msgstr "登录信息已更新"
|
||||||
msgid "Account mismatch."
|
msgid "Account mismatch."
|
||||||
msgstr "账号信息不匹配。"
|
msgstr "账号信息不匹配。"
|
||||||
|
|
||||||
#: users/data.py:127
|
#: users/data.py:131
|
||||||
msgid "Generating exports."
|
msgid "Generating exports."
|
||||||
msgstr "正在生成导出文件。"
|
msgstr "正在生成导出文件。"
|
||||||
|
|
||||||
#: users/data.py:139
|
#: users/data.py:143
|
||||||
msgid "Export file expired. Please export again."
|
msgid "Export file expired. Please export again."
|
||||||
msgstr "导出文件已失效,请重新导出"
|
msgstr "导出文件已失效,请重新导出"
|
||||||
|
|
||||||
#: users/data.py:150
|
#: users/data.py:154
|
||||||
msgid "Sync in progress."
|
msgid "Sync in progress."
|
||||||
msgstr "正在同步。"
|
msgstr "正在同步。"
|
||||||
|
|
||||||
#: users/data.py:164
|
#: users/data.py:168
|
||||||
msgid "Settings saved."
|
msgid "Settings saved."
|
||||||
msgstr "设置已保存"
|
msgstr "设置已保存"
|
||||||
|
|
||||||
#: users/data.py:175
|
#: users/data.py:179
|
||||||
msgid "Reset completed."
|
msgid "Reset completed."
|
||||||
msgstr "重置已完成。"
|
msgstr "重置已完成。"
|
||||||
|
|
||||||
#: users/data.py:184
|
#: users/data.py:188
|
||||||
msgid "Import in progress."
|
msgid "Import in progress."
|
||||||
msgstr "正在导出"
|
msgstr "正在导出"
|
||||||
|
|
||||||
#: users/data.py:186
|
#: users/data.py:190
|
||||||
msgid "Invalid URL."
|
msgid "Invalid URL."
|
||||||
msgstr "无效网址。"
|
msgstr "无效网址。"
|
||||||
|
|
||||||
#: users/data.py:200 users/data.py:225 users/data.py:240
|
#: users/data.py:204 users/data.py:229 users/data.py:244
|
||||||
msgid "File is uploaded and will be imported soon."
|
msgid "File is uploaded and will be imported soon."
|
||||||
msgstr "文件已上传,等待后台导入。"
|
msgstr "文件已上传,等待后台导入。"
|
||||||
|
|
||||||
#: users/data.py:203 users/data.py:243
|
#: users/data.py:207 users/data.py:247
|
||||||
msgid "Invalid file."
|
msgid "Invalid file."
|
||||||
msgstr "无效文件。"
|
msgstr "无效文件。"
|
||||||
|
|
||||||
|
@ -3625,15 +3622,15 @@ msgid "local, this site only"
|
||||||
msgstr "仅本站"
|
msgstr "仅本站"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:96
|
#: users/templates/users/preferences.html:96
|
||||||
msgid "Turn on repost to timeline by default"
|
msgid "Turn on crosspost to timeline by default"
|
||||||
msgstr "发表时默认转发到时间轴"
|
msgstr "发表时默认转发到时间轴"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:104
|
#: users/templates/users/preferences.html:104
|
||||||
msgid "Method for reposting to timeline"
|
msgid "Method for crossposting to timeline"
|
||||||
msgstr "转发到时间轴的方式"
|
msgstr "转发到时间轴的方式"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:118
|
#: users/templates/users/preferences.html:118
|
||||||
msgid "repost as new post"
|
msgid "create a new post"
|
||||||
msgstr "另发新帖文"
|
msgstr "另发新帖文"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:119
|
#: users/templates/users/preferences.html:119
|
||||||
|
|
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-06-15 23:28-0400\n"
|
"POT-Creation-Date: 2024-06-16 21:51-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -1678,9 +1678,10 @@ msgstr "標題"
|
||||||
msgid "Content (Markdown)"
|
msgid "Content (Markdown)"
|
||||||
msgstr "內容 (Markdown格式)"
|
msgstr "內容 (Markdown格式)"
|
||||||
|
|
||||||
#: journal/forms.py:21 journal/views/note.py:26
|
#: journal/forms.py:21 journal/templates/comment.html:62
|
||||||
msgid "Post to Fediverse"
|
#: journal/templates/mark.html:120 journal/views/note.py:26
|
||||||
msgstr "發佈到聯邦宇宙"
|
msgid "Crosspost to timeline"
|
||||||
|
msgstr "轉發到時間軸"
|
||||||
|
|
||||||
#: journal/forms.py:25 journal/forms.py:45
|
#: journal/forms.py:25 journal/forms.py:45
|
||||||
#: journal/templates/collection_share.html:24
|
#: journal/templates/collection_share.html:24
|
||||||
|
@ -1807,7 +1808,7 @@ msgstr "第{value}首"
|
||||||
msgid "Cycle {value}"
|
msgid "Cycle {value}"
|
||||||
msgstr "{value}周目"
|
msgstr "{value}周目"
|
||||||
|
|
||||||
#: journal/models/renderers.py:94 mastodon/api.py:619 takahe/utils.py:543
|
#: journal/models/renderers.py:94 mastodon/api.py:619 takahe/utils.py:550
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "regarding {item_title}, may contain spoiler or triggering content"
|
msgid "regarding {item_title}, may contain spoiler or triggering content"
|
||||||
msgstr "關於 {item_title},可能包含劇透或敏感內容"
|
msgstr "關於 {item_title},可能包含劇透或敏感內容"
|
||||||
|
@ -2387,10 +2388,6 @@ msgstr "寫短評"
|
||||||
msgid "Tips: use >!text!< for spoilers; some instances may not be able to show posts longer than 360 charactors."
|
msgid "Tips: use >!text!< for spoilers; some instances may not be able to show posts longer than 360 charactors."
|
||||||
msgstr "提示: 善用 >!文字!< 標記可隱藏劇透; 超過360字可能無法分享到聯邦宇宙實例時間軸。"
|
msgstr "提示: 善用 >!文字!< 標記可隱藏劇透; 超過360字可能無法分享到聯邦宇宙實例時間軸。"
|
||||||
|
|
||||||
#: journal/templates/comment.html:62 journal/templates/mark.html:120
|
|
||||||
msgid "Repost to timeline"
|
|
||||||
msgstr "轉發到時間軸"
|
|
||||||
|
|
||||||
#: journal/templates/comment.html:75
|
#: journal/templates/comment.html:75
|
||||||
msgid "share with playback position"
|
msgid "share with playback position"
|
||||||
msgstr "分享播放位置"
|
msgstr "分享播放位置"
|
||||||
|
@ -2659,7 +2656,7 @@ msgid "Login required"
|
||||||
msgstr "登錄後訪問"
|
msgstr "登錄後訪問"
|
||||||
|
|
||||||
#: journal/views/common.py:33 journal/views/mark.py:118
|
#: journal/views/common.py:33 journal/views/mark.py:118
|
||||||
msgid "Data saved but unable to repost to Fediverse instance."
|
msgid "Data saved but unable to crosspost to Fediverse instance."
|
||||||
msgstr "數據已保存但未能轉發到聯邦實例。"
|
msgstr "數據已保存但未能轉發到聯邦實例。"
|
||||||
|
|
||||||
#: journal/views/common.py:35
|
#: journal/views/common.py:35
|
||||||
|
@ -2802,7 +2799,7 @@ msgstr "播放"
|
||||||
msgid "comment"
|
msgid "comment"
|
||||||
msgstr "寫短評"
|
msgstr "寫短評"
|
||||||
|
|
||||||
#: social/templates/activity/create_collection.html:16 takahe/utils.py:593
|
#: social/templates/activity/create_collection.html:16 takahe/utils.py:600
|
||||||
msgid "created collection"
|
msgid "created collection"
|
||||||
msgstr "創建了收藏單"
|
msgstr "創建了收藏單"
|
||||||
|
|
||||||
|
@ -3195,39 +3192,39 @@ msgstr "登錄信息已更新"
|
||||||
msgid "Account mismatch."
|
msgid "Account mismatch."
|
||||||
msgstr "賬號信息不匹配。"
|
msgstr "賬號信息不匹配。"
|
||||||
|
|
||||||
#: users/data.py:127
|
#: users/data.py:131
|
||||||
msgid "Generating exports."
|
msgid "Generating exports."
|
||||||
msgstr "正在生成導出文件。"
|
msgstr "正在生成導出文件。"
|
||||||
|
|
||||||
#: users/data.py:139
|
#: users/data.py:143
|
||||||
msgid "Export file expired. Please export again."
|
msgid "Export file expired. Please export again."
|
||||||
msgstr "導出文件已失效,請重新導出"
|
msgstr "導出文件已失效,請重新導出"
|
||||||
|
|
||||||
#: users/data.py:150
|
#: users/data.py:154
|
||||||
msgid "Sync in progress."
|
msgid "Sync in progress."
|
||||||
msgstr "正在同步。"
|
msgstr "正在同步。"
|
||||||
|
|
||||||
#: users/data.py:164
|
#: users/data.py:168
|
||||||
msgid "Settings saved."
|
msgid "Settings saved."
|
||||||
msgstr "設置已保存"
|
msgstr "設置已保存"
|
||||||
|
|
||||||
#: users/data.py:175
|
#: users/data.py:179
|
||||||
msgid "Reset completed."
|
msgid "Reset completed."
|
||||||
msgstr "重置已完成。"
|
msgstr "重置已完成。"
|
||||||
|
|
||||||
#: users/data.py:184
|
#: users/data.py:188
|
||||||
msgid "Import in progress."
|
msgid "Import in progress."
|
||||||
msgstr "正在導出"
|
msgstr "正在導出"
|
||||||
|
|
||||||
#: users/data.py:186
|
#: users/data.py:190
|
||||||
msgid "Invalid URL."
|
msgid "Invalid URL."
|
||||||
msgstr "無效網址。"
|
msgstr "無效網址。"
|
||||||
|
|
||||||
#: users/data.py:200 users/data.py:225 users/data.py:240
|
#: users/data.py:204 users/data.py:229 users/data.py:244
|
||||||
msgid "File is uploaded and will be imported soon."
|
msgid "File is uploaded and will be imported soon."
|
||||||
msgstr "文件已上傳,等待後臺導入。"
|
msgstr "文件已上傳,等待後臺導入。"
|
||||||
|
|
||||||
#: users/data.py:203 users/data.py:243
|
#: users/data.py:207 users/data.py:247
|
||||||
msgid "Invalid file."
|
msgid "Invalid file."
|
||||||
msgstr "無效文件。"
|
msgstr "無效文件。"
|
||||||
|
|
||||||
|
@ -3625,15 +3622,15 @@ msgid "local, this site only"
|
||||||
msgstr "僅本站"
|
msgstr "僅本站"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:96
|
#: users/templates/users/preferences.html:96
|
||||||
msgid "Turn on repost to timeline by default"
|
msgid "Turn on crosspost to timeline by default"
|
||||||
msgstr "發表時默認轉發到時間軸"
|
msgstr "發表時默認轉發到時間軸"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:104
|
#: users/templates/users/preferences.html:104
|
||||||
msgid "Method for reposting to timeline"
|
msgid "Method for crossposting to timeline"
|
||||||
msgstr "轉發到時間軸的方式"
|
msgstr "轉發到時間軸的方式"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:118
|
#: users/templates/users/preferences.html:118
|
||||||
msgid "repost as new post"
|
msgid "create a new post"
|
||||||
msgstr "另發新帖文"
|
msgstr "另發新帖文"
|
||||||
|
|
||||||
#: users/templates/users/preferences.html:119
|
#: users/templates/users/preferences.html:119
|
||||||
|
|
|
@ -93,7 +93,7 @@
|
||||||
{% if request.user.mastodon_acct %}
|
{% if request.user.mastodon_acct %}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label>
|
<label>
|
||||||
{% trans "Turn on repost to timeline by default" %}
|
{% trans "Turn on crosspost to timeline by default" %}
|
||||||
<input type="checkbox"
|
<input type="checkbox"
|
||||||
name="mastodon_default_repost"
|
name="mastodon_default_repost"
|
||||||
value="1"
|
value="1"
|
||||||
|
@ -101,7 +101,7 @@
|
||||||
</label>
|
</label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
{% trans "Method for reposting to timeline" %}
|
{% trans "Method for crossposting to timeline" %}
|
||||||
<input type="radio"
|
<input type="radio"
|
||||||
name="mastodon_repost_mode"
|
name="mastodon_repost_mode"
|
||||||
value="0"
|
value="0"
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
required=""
|
required=""
|
||||||
id="mastodon_repost_mode_1"
|
id="mastodon_repost_mode_1"
|
||||||
{% if request.user.preference.mastodon_repost_mode == 1 %}checked{% endif %}>
|
{% if request.user.preference.mastodon_repost_mode == 1 %}checked{% endif %}>
|
||||||
<label for="mastodon_repost_mode_1">{% trans "repost as new post" %}</label>
|
<label for="mastodon_repost_mode_1">{% trans "create a 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>
|
<em data-tooltip="{% trans "this method is less optimal, may generate duplicated posts and miss reactions." %}"><i class="fa fa-question-circle"></i></em>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
Loading…
Add table
Reference in a new issue