forked from naskya/firefish
fix: properly use singular/plural
This commit is contained in:
parent
1694b82154
commit
a932378851
6 changed files with 54 additions and 14 deletions
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
## 細かい変更点
|
## 細かい変更点
|
||||||
|
|
||||||
|
- まだマージされていない本家 Firefish へのマージリクエストを独断で取り込み
|
||||||
|
- 投稿ページのタブに表示される英単語の単数形・複数形を正しくする ([MR](https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10621))
|
||||||
- リアクションの履歴を公開する設定をデフォルトで有効に
|
- リアクションの履歴を公開する設定をデフォルトで有効に
|
||||||
- 私がみんなのリアクションを見たいと思っているため
|
- 私がみんなのリアクションを見たいと思っているため
|
||||||
- もちろん設定から無効にできます
|
- もちろん設定から無効にできます
|
||||||
|
|
|
@ -58,6 +58,7 @@ sendMessage: "Send a message"
|
||||||
copyUsername: "Copy username"
|
copyUsername: "Copy username"
|
||||||
searchUser: "Search for a user"
|
searchUser: "Search for a user"
|
||||||
reply: "Reply"
|
reply: "Reply"
|
||||||
|
replies: "Replies"
|
||||||
jumpToPrevious: "Jump to previous"
|
jumpToPrevious: "Jump to previous"
|
||||||
loadMore: "Load more"
|
loadMore: "Load more"
|
||||||
showMore: "Show more"
|
showMore: "Show more"
|
||||||
|
@ -112,18 +113,21 @@ unfollow: "Unfollow"
|
||||||
followRequestPending: "Follow request pending"
|
followRequestPending: "Follow request pending"
|
||||||
enterEmoji: "Enter an emoji"
|
enterEmoji: "Enter an emoji"
|
||||||
renote: "Boost"
|
renote: "Boost"
|
||||||
|
renotes: "Boosts"
|
||||||
unrenote: "Take back boost"
|
unrenote: "Take back boost"
|
||||||
renoted: "Boosted."
|
renoted: "Boosted."
|
||||||
cantRenote: "This post can't be boosted."
|
cantRenote: "This post can't be boosted."
|
||||||
cantReRenote: "A boost can't be boosted."
|
cantReRenote: "A boost can't be boosted."
|
||||||
quote: "Quote"
|
quote: "Quote"
|
||||||
|
quotes: "Quotes"
|
||||||
pinnedNote: "Pinned post"
|
pinnedNote: "Pinned post"
|
||||||
pinned: "Pin to profile"
|
pinned: "Pin to profile"
|
||||||
you: "You"
|
you: "You"
|
||||||
clickToShow: "Click to show"
|
clickToShow: "Click to show"
|
||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Add"
|
add: "Add"
|
||||||
reaction: "Reactions"
|
reaction: "Reaction"
|
||||||
|
reactions: "Reactions"
|
||||||
removeReaction: "Remove your reaction"
|
removeReaction: "Remove your reaction"
|
||||||
enableEmojiReactions: "Enable emoji reactions"
|
enableEmojiReactions: "Enable emoji reactions"
|
||||||
showEmojisInReactionNotifications: "Show emojis in reaction notifications"
|
showEmojisInReactionNotifications: "Show emojis in reaction notifications"
|
||||||
|
@ -739,6 +743,7 @@ system: "System"
|
||||||
switchUi: "Layout"
|
switchUi: "Layout"
|
||||||
desktop: "Desktop"
|
desktop: "Desktop"
|
||||||
clip: "Clip"
|
clip: "Clip"
|
||||||
|
clips: "Clips"
|
||||||
createNew: "Create new"
|
createNew: "Create new"
|
||||||
optional: "Optional"
|
optional: "Optional"
|
||||||
createNewClip: "Create new clip"
|
createNewClip: "Create new clip"
|
||||||
|
@ -781,7 +786,6 @@ pageLikesCount: "Number of liked Pages"
|
||||||
pageLikedCount: "Number of received Page likes"
|
pageLikedCount: "Number of received Page likes"
|
||||||
contact: "Contact"
|
contact: "Contact"
|
||||||
useSystemFont: "Use the system's default font"
|
useSystemFont: "Use the system's default font"
|
||||||
clips: "Clips"
|
|
||||||
clipsDesc: "Clips are like share-able categorized bookmarks. You can create clips
|
clipsDesc: "Clips are like share-able categorized bookmarks. You can create clips
|
||||||
from the menu of individual posts."
|
from the menu of individual posts."
|
||||||
experimentalFeatures: "Experimental features"
|
experimentalFeatures: "Experimental features"
|
||||||
|
|
|
@ -52,6 +52,7 @@ sendMessage: "メッセージを送信"
|
||||||
copyUsername: "ユーザー名をコピー"
|
copyUsername: "ユーザー名をコピー"
|
||||||
searchUser: "ユーザーを検索"
|
searchUser: "ユーザーを検索"
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
|
replies: "返信"
|
||||||
loadMore: "もっと読み込む"
|
loadMore: "もっと読み込む"
|
||||||
showMore: "もっと見る"
|
showMore: "もっと見る"
|
||||||
showLess: "閉じる"
|
showLess: "閉じる"
|
||||||
|
@ -97,11 +98,13 @@ unfollow: "フォロー解除"
|
||||||
followRequestPending: "フォロー許可待ち"
|
followRequestPending: "フォロー許可待ち"
|
||||||
enterEmoji: "絵文字を入力"
|
enterEmoji: "絵文字を入力"
|
||||||
renote: "ブースト"
|
renote: "ブースト"
|
||||||
|
renotes: "ブースト"
|
||||||
unrenote: "ブースト解除"
|
unrenote: "ブースト解除"
|
||||||
renoted: "ブーストしました。"
|
renoted: "ブーストしました。"
|
||||||
cantRenote: "この投稿はブーストできません。"
|
cantRenote: "この投稿はブーストできません。"
|
||||||
cantReRenote: "ブーストをブーストすることはできません。"
|
cantReRenote: "ブーストをブーストすることはできません。"
|
||||||
quote: "引用"
|
quote: "引用"
|
||||||
|
quotes: "引用"
|
||||||
pinnedNote: "ピン留めされた投稿"
|
pinnedNote: "ピン留めされた投稿"
|
||||||
pinned: "ピン留め"
|
pinned: "ピン留め"
|
||||||
you: "あなた"
|
you: "あなた"
|
||||||
|
@ -109,6 +112,7 @@ clickToShow: "クリックして表示"
|
||||||
sensitive: "閲覧注意"
|
sensitive: "閲覧注意"
|
||||||
add: "追加"
|
add: "追加"
|
||||||
reaction: "リアクション"
|
reaction: "リアクション"
|
||||||
|
reactions: "リアクション"
|
||||||
enableEmojiReactions: "絵文字リアクションを有効にする"
|
enableEmojiReactions: "絵文字リアクションを有効にする"
|
||||||
showEmojisInReactionNotifications: "自分の投稿に対するリアクションの通知で絵文字を表示する"
|
showEmojisInReactionNotifications: "自分の投稿に対するリアクションの通知で絵文字を表示する"
|
||||||
reactionSetting: "ピッカーに表示するリアクション"
|
reactionSetting: "ピッカーに表示するリアクション"
|
||||||
|
|
|
@ -49,6 +49,7 @@ sendMessage: "发送"
|
||||||
copyUsername: "复制用户名"
|
copyUsername: "复制用户名"
|
||||||
searchUser: "搜索用户"
|
searchUser: "搜索用户"
|
||||||
reply: "回复"
|
reply: "回复"
|
||||||
|
replies: "回复"
|
||||||
loadMore: "加载更多"
|
loadMore: "加载更多"
|
||||||
showMore: "查看更多"
|
showMore: "查看更多"
|
||||||
showLess: "关闭"
|
showLess: "关闭"
|
||||||
|
@ -94,11 +95,13 @@ unfollow: "取消关注"
|
||||||
followRequestPending: "关注请求待批准"
|
followRequestPending: "关注请求待批准"
|
||||||
enterEmoji: "输入表情符号"
|
enterEmoji: "输入表情符号"
|
||||||
renote: "转发"
|
renote: "转发"
|
||||||
|
renotes: "转发"
|
||||||
unrenote: "取消转发"
|
unrenote: "取消转发"
|
||||||
renoted: "已转发。"
|
renoted: "已转发。"
|
||||||
cantRenote: "此帖子无法被转发。"
|
cantRenote: "此帖子无法被转发。"
|
||||||
cantReRenote: "转发无法被再次转发。"
|
cantReRenote: "转发无法被再次转发。"
|
||||||
quote: "引用"
|
quote: "引用"
|
||||||
|
quotes: "引用"
|
||||||
pinnedNote: "已置顶的帖子"
|
pinnedNote: "已置顶的帖子"
|
||||||
pinned: "置顶"
|
pinned: "置顶"
|
||||||
you: "您"
|
you: "您"
|
||||||
|
@ -106,6 +109,7 @@ clickToShow: "点击以显示"
|
||||||
sensitive: "敏感内容"
|
sensitive: "敏感内容"
|
||||||
add: "添加"
|
add: "添加"
|
||||||
reaction: "回应"
|
reaction: "回应"
|
||||||
|
reactions: "回应"
|
||||||
enableEmojiReaction: "启用表情符号回应"
|
enableEmojiReaction: "启用表情符号回应"
|
||||||
showEmojisInReactionNotifications: "在回应通知中显示表情符号"
|
showEmojisInReactionNotifications: "在回应通知中显示表情符号"
|
||||||
reactionSetting: "在回应选择器中显示的回应"
|
reactionSetting: "在回应选择器中显示的回应"
|
||||||
|
|
|
@ -49,6 +49,7 @@ sendMessage: "發送訊息"
|
||||||
copyUsername: "複製使用者名稱"
|
copyUsername: "複製使用者名稱"
|
||||||
searchUser: "搜尋使用者"
|
searchUser: "搜尋使用者"
|
||||||
reply: "回覆"
|
reply: "回覆"
|
||||||
|
replies: "回覆"
|
||||||
loadMore: "載入更多"
|
loadMore: "載入更多"
|
||||||
showMore: "載入更多"
|
showMore: "載入更多"
|
||||||
showLess: "關閉"
|
showLess: "關閉"
|
||||||
|
@ -94,11 +95,13 @@ unfollow: "取消追隨"
|
||||||
followRequestPending: "追隨許可批准中"
|
followRequestPending: "追隨許可批准中"
|
||||||
enterEmoji: "輸入表情符號"
|
enterEmoji: "輸入表情符號"
|
||||||
renote: "轉發"
|
renote: "轉發"
|
||||||
|
renotes: "轉發"
|
||||||
unrenote: "取消轉發"
|
unrenote: "取消轉發"
|
||||||
renoted: "已轉發。"
|
renoted: "已轉發。"
|
||||||
cantRenote: "無法轉發此貼文。"
|
cantRenote: "無法轉發此貼文。"
|
||||||
cantReRenote: "無法轉發之前已經轉發過的內容。"
|
cantReRenote: "無法轉發之前已經轉發過的內容。"
|
||||||
quote: "引用"
|
quote: "引用"
|
||||||
|
quotes: "引用"
|
||||||
pinnedNote: "已置頂的貼文"
|
pinnedNote: "已置頂的貼文"
|
||||||
pinned: "置頂"
|
pinned: "置頂"
|
||||||
you: "您"
|
you: "您"
|
||||||
|
@ -106,6 +109,7 @@ clickToShow: "按一下以顯示"
|
||||||
sensitive: "敏感內容"
|
sensitive: "敏感內容"
|
||||||
add: "新增"
|
add: "新增"
|
||||||
reaction: "反應"
|
reaction: "反應"
|
||||||
|
reactions: "反應"
|
||||||
enableEmojiReaction: "啟用表情符號反應"
|
enableEmojiReaction: "啟用表情符號反應"
|
||||||
showEmojisInReactionNotifications: "在反應通知中顯示表情符號"
|
showEmojisInReactionNotifications: "在反應通知中顯示表情符號"
|
||||||
reactionSetting: "在選擇器中顯示反應"
|
reactionSetting: "在選擇器中顯示反應"
|
||||||
|
|
|
@ -36,30 +36,47 @@
|
||||||
<MkTab v-model="tab" :style="'underline'" @update:modelValue="loadTab">
|
<MkTab v-model="tab" :style="'underline'" @update:modelValue="loadTab">
|
||||||
<option value="replies">
|
<option value="replies">
|
||||||
<!-- <i class="ph-arrow-u-up-left ph-bold ph-lg"></i> -->
|
<!-- <i class="ph-arrow-u-up-left ph-bold ph-lg"></i> -->
|
||||||
<span v-if="note.repliesCount > 0" class="count">{{
|
{{
|
||||||
note.repliesCount
|
wordWithCount(
|
||||||
}}</span>
|
note.repliesCount,
|
||||||
{{ i18n.ts._notification._types.reply }}
|
i18n.ts.reply,
|
||||||
|
i18n.ts.replies,
|
||||||
|
)
|
||||||
|
}}
|
||||||
</option>
|
</option>
|
||||||
<option v-if="note.renoteCount > 0" value="renotes">
|
<option v-if="note.renoteCount > 0" value="renotes">
|
||||||
<!-- <i class="ph-rocket-launch ph-bold ph-lg"></i> -->
|
<!-- <i class="ph-rocket-launch ph-bold ph-lg"></i> -->
|
||||||
<span class="count">{{ note.renoteCount }}</span>
|
{{
|
||||||
{{ i18n.ts._notification._types.renote }}
|
wordWithCount(
|
||||||
|
note.renoteCount,
|
||||||
|
i18n.ts.renote,
|
||||||
|
i18n.ts.renotes,
|
||||||
|
)
|
||||||
|
}}
|
||||||
</option>
|
</option>
|
||||||
<option v-if="reactionsCount > 0" value="reactions">
|
<option v-if="reactionsCount > 0" value="reactions">
|
||||||
<!-- <i class="ph-smiley ph-bold ph-lg"></i> -->
|
<!-- <i class="ph-smiley ph-bold ph-lg"></i> -->
|
||||||
<span class="count">{{ reactionsCount }}</span>
|
{{
|
||||||
{{ i18n.ts.reaction }}
|
wordWithCount(
|
||||||
|
reactionsCount,
|
||||||
|
i18n.ts.reaction,
|
||||||
|
i18n.ts.reactions,
|
||||||
|
)
|
||||||
|
}}
|
||||||
</option>
|
</option>
|
||||||
<option v-if="directQuotes?.length > 0" value="quotes">
|
<option v-if="directQuotes?.length > 0" value="quotes">
|
||||||
<!-- <i class="ph-quotes ph-bold ph-lg"></i> -->
|
<!-- <i class="ph-quotes ph-bold ph-lg"></i> -->
|
||||||
<span class="count">{{ directQuotes.length }}</span>
|
{{
|
||||||
{{ i18n.ts._notification._types.quote }}
|
wordWithCount(
|
||||||
|
directQuotes.length,
|
||||||
|
i18n.ts.quote,
|
||||||
|
i18n.ts.quotes,
|
||||||
|
)
|
||||||
|
}}
|
||||||
</option>
|
</option>
|
||||||
<option v-if="clips?.length > 0" value="clips">
|
<option v-if="clips?.length > 0" value="clips">
|
||||||
<!-- <i class="ph-paperclip ph-bold ph-lg"></i> -->
|
<!-- <i class="ph-paperclip ph-bold ph-lg"></i> -->
|
||||||
<span class="count">{{ clips.length }}</span>
|
{{ wordWithCount(clips.length, i18n.ts.clip, i18n.ts.clips) }}
|
||||||
{{ i18n.ts.clips }}
|
|
||||||
</option>
|
</option>
|
||||||
</MkTab>
|
</MkTab>
|
||||||
|
|
||||||
|
@ -190,6 +207,11 @@ const softMuteReasonI18nSrc = (what?: string) => {
|
||||||
return i18n.ts.userSaysSomething;
|
return i18n.ts.userSaysSomething;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const wordWithCount = (count: number, singular: string, plural: string) => {
|
||||||
|
if (count === 0) return plural;
|
||||||
|
return `${count} ${count === 1 ? singular : plural}`;
|
||||||
|
};
|
||||||
|
|
||||||
// plugin
|
// plugin
|
||||||
if (noteViewInterruptors.length > 0) {
|
if (noteViewInterruptors.length > 0) {
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
|
Loading…
Reference in a new issue