diff --git a/src/components/status.jsx b/src/components/status.jsx index 4db4c7bf..e4b33897 100644 --- a/src/components/status.jsx +++ b/src/components/status.jsx @@ -105,7 +105,7 @@ function getPollText(poll) { .join('\n')}`; } function getPostText(status, opts) { - const { maskCustomEmojis, maskURLs } = opts || {}; + const { maskCustomEmojis, maskURLs, hideInlineQuote } = opts || {}; const { spoilerText, poll, emojis } = status; let { content } = status; if (maskCustomEmojis && emojis?.length) { @@ -119,13 +119,22 @@ function getPostText(status, opts) { (spoilerText ? `${spoilerText}\n\n` : '') + getHTMLText(content, { preProcess: - maskURLs && + (maskURLs || hideInlineQuote) && ((dom) => { // Remove links that contains text that starts with https?:// - for (const a of dom.querySelectorAll('a')) { - const text = a.innerText.trim(); - if (/^https?:\/\//i.test(text)) { - a.replaceWith('«🔗»'); + if (maskURLs) { + for (const a of dom.querySelectorAll('a')) { + const text = a.innerText.trim(); + if (/^https?:\/\//i.test(text)) { + a.replaceWith('«🔗»'); + } + } + } + // Hide inline quote + if (hideInlineQuote) { + const reContainer = dom.querySelector('.quote-inline'); + if (reContainer) { + reContainer.remove(); } } }), @@ -1218,7 +1227,9 @@ function Status({ { try { - const postText = getPostText(status); + const postText = getPostText(status, { + hideInlineQuote: supportsNativeQuote, + }); if (postText) { speak(postText, language); } @@ -1239,7 +1250,9 @@ function Status({ { try { - const postText = getPostText(status); + const postText = getPostText(status, { + hideInlineQuote: supportsNativeQuote, + }); navigator.clipboard.writeText(postText); showToast(t`Post text copied`); } catch (e) { @@ -2411,6 +2424,9 @@ function Status({ text={getPostText(status, { maskCustomEmojis: true, maskURLs: true, + // Hide regardless of native quote support + // They are not useful in translation context + hideInlineQuote: true, })} /> )} diff --git a/src/locales/en.po b/src/locales/en.po index ac0c7016..539be437 100644 --- a/src/locales/en.po +++ b/src/locales/en.po @@ -34,7 +34,7 @@ msgstr "" #: src/components/account-block.jsx:173 #: src/components/account-info.jsx:675 -#: src/components/status.jsx:548 +#: src/components/status.jsx:557 msgid "Group" msgstr "" @@ -115,11 +115,11 @@ msgstr "" #: src/components/media-attachment.jsx:380 #: src/components/media-modal.jsx:363 #: src/components/related-actions.jsx:238 -#: src/components/status.jsx:1983 -#: src/components/status.jsx:2000 -#: src/components/status.jsx:2136 -#: src/components/status.jsx:2794 -#: src/components/status.jsx:2797 +#: src/components/status.jsx:1996 +#: src/components/status.jsx:2013 +#: src/components/status.jsx:2149 +#: src/components/status.jsx:2810 +#: src/components/status.jsx:2813 #: src/pages/account-statuses.jsx:539 #: src/pages/accounts.jsx:118 #: src/pages/hashtag.jsx:203 @@ -224,7 +224,7 @@ msgid "Original" msgstr "" #: src/components/account-info.jsx:943 -#: src/components/status.jsx:2545 +#: src/components/status.jsx:2561 #: src/pages/catchup.jsx:70 #: src/pages/catchup.jsx:1446 #: src/pages/catchup.jsx:2059 @@ -274,8 +274,8 @@ msgstr "View post stats" #: src/components/shortcuts-settings.jsx:230 #: src/components/shortcuts-settings.jsx:583 #: src/components/shortcuts-settings.jsx:783 -#: src/components/status.jsx:3029 -#: src/components/status.jsx:3241 +#: src/components/status.jsx:3045 +#: src/components/status.jsx:3257 #: src/components/translated-bio-sheet.jsx:21 #: src/pages/accounts.jsx:45 #: src/pages/catchup.jsx:1582 @@ -494,7 +494,7 @@ msgid "Attachment #{i} failed" msgstr "Attachment #{i} failed" #: src/components/compose.jsx:1370 -#: src/components/status.jsx:2320 +#: src/components/status.jsx:2333 #: src/components/timeline.jsx:1016 msgid "Content warning" msgstr "" @@ -534,21 +534,21 @@ msgstr "Posting on <0/>" #: src/components/compose.jsx:1818 #: src/components/quote-settings-sheet.jsx:73 -#: src/components/status.jsx:293 +#: src/components/status.jsx:302 #: src/pages/settings.jsx:375 msgid "Anyone can quote" msgstr "Anyone can quote" #: src/components/compose.jsx:1821 #: src/components/quote-settings-sheet.jsx:76 -#: src/components/status.jsx:294 +#: src/components/status.jsx:303 #: src/pages/settings.jsx:378 msgid "Your followers can quote" msgstr "Your followers can quote" #: src/components/compose.jsx:1824 #: src/components/quote-settings-sheet.jsx:79 -#: src/components/status.jsx:295 +#: src/components/status.jsx:304 #: src/pages/settings.jsx:381 msgid "Only you can quote" msgstr "Only you can quote" @@ -573,7 +573,7 @@ msgid "Quiet public" msgstr "Quiet public" #: src/components/compose.jsx:1872 -#: src/components/status.jsx:2200 +#: src/components/status.jsx:2213 #: src/utils/visibility-text.jsx:8 msgid "Private mention" msgstr "" @@ -584,10 +584,10 @@ msgstr "Schedule" #: src/components/compose.jsx:1926 #: src/components/keyboard-shortcuts-help.jsx:155 -#: src/components/status.jsx:1039 -#: src/components/status.jsx:1963 -#: src/components/status.jsx:1964 -#: src/components/status.jsx:2664 +#: src/components/status.jsx:1048 +#: src/components/status.jsx:1976 +#: src/components/status.jsx:1977 +#: src/components/status.jsx:2680 msgid "Reply" msgstr "" @@ -660,7 +660,7 @@ msgstr "" #: src/components/drafts.jsx:126 #: src/components/list-add-edit.jsx:188 -#: src/components/status.jsx:1507 +#: src/components/status.jsx:1520 #: src/pages/filters.jsx:603 #: src/pages/scheduled-posts.jsx:368 msgid "Delete…" @@ -702,7 +702,7 @@ msgstr "" #: src/components/drafts.jsx:270 #: src/components/keyboard-shortcuts-help.jsx:184 -#: src/components/status.jsx:706 +#: src/components/status.jsx:715 msgid "Quote" msgstr "" @@ -975,9 +975,9 @@ msgid "<0>l or <1>f" msgstr "" #: src/components/keyboard-shortcuts-help.jsx:176 -#: src/components/status.jsx:1047 -#: src/components/status.jsx:2693 -#: src/components/status.jsx:2748 +#: src/components/status.jsx:1056 +#: src/components/status.jsx:2709 +#: src/components/status.jsx:2764 msgid "Boost" msgstr "" @@ -986,9 +986,9 @@ msgid "<0>Shift + <1>b" msgstr "" #: src/components/keyboard-shortcuts-help.jsx:188 -#: src/components/status.jsx:1149 -#: src/components/status.jsx:2773 -#: src/components/status.jsx:2774 +#: src/components/status.jsx:1158 +#: src/components/status.jsx:2789 +#: src/components/status.jsx:2790 msgid "Bookmark" msgstr "" @@ -1071,14 +1071,14 @@ msgid "Media description" msgstr "" #: src/components/media-alt-modal.jsx:67 -#: src/components/status.jsx:1204 #: src/components/status.jsx:1213 +#: src/components/status.jsx:1222 #: src/components/translation-block.jsx:239 msgid "Translate" msgstr "" #: src/components/media-alt-modal.jsx:78 -#: src/components/status.jsx:1232 +#: src/components/status.jsx:1243 msgid "Speak" msgstr "" @@ -1205,8 +1205,8 @@ msgstr "" #: src/components/media-post.jsx:133 #: src/components/status-compact.jsx:70 -#: src/components/status.jsx:3167 -#: src/components/status.jsx:3245 +#: src/components/status.jsx:3183 +#: src/components/status.jsx:3261 #: src/components/timeline.jsx:1005 #: src/pages/catchup.jsx:74 #: src/pages/catchup.jsx:1878 @@ -1539,8 +1539,8 @@ msgid "[Unknown notification type: {type}]" msgstr "" #: src/components/notification.jsx:464 -#: src/components/status.jsx:1163 -#: src/components/status.jsx:1173 +#: src/components/status.jsx:1172 +#: src/components/status.jsx:1182 msgid "Boosted/Liked by…" msgstr "" @@ -1566,19 +1566,19 @@ msgid "View #Wrapstodon" msgstr "View #Wrapstodon" #: src/components/notification.jsx:814 -#: src/components/status.jsx:256 +#: src/components/status.jsx:265 msgid "Read more →" msgstr "" #: src/components/open-link-sheet.jsx:30 #: src/components/related-actions.jsx:492 -#: src/components/status.jsx:1318 +#: src/components/status.jsx:1331 msgid "Link copied" msgstr "" #: src/components/open-link-sheet.jsx:33 #: src/components/related-actions.jsx:495 -#: src/components/status.jsx:1321 +#: src/components/status.jsx:1334 msgid "Unable to copy link" msgstr "" @@ -1590,13 +1590,13 @@ msgstr "Open link?" #: src/components/post-embed-modal.jsx:232 #: src/components/related-actions.jsx:501 #: src/components/shortcuts-settings.jsx:1059 -#: src/components/status.jsx:1327 +#: src/components/status.jsx:1340 msgid "Copy" msgstr "" #: src/components/open-link-sheet.jsx:82 #: src/components/related-actions.jsx:522 -#: src/components/status.jsx:1349 +#: src/components/status.jsx:1362 msgid "Share…" msgstr "" @@ -1664,7 +1664,7 @@ msgid "Ending" msgstr "Ending" #: src/components/post-embed-modal.jsx:201 -#: src/components/status.jsx:1362 +#: src/components/status.jsx:1375 msgid "Embed post" msgstr "" @@ -1897,7 +1897,7 @@ msgstr "Show featured profiles" #: src/components/related-actions.jsx:516 #: src/components/shortcuts-settings.jsx:1077 -#: src/components/status.jsx:1343 +#: src/components/status.jsx:1356 msgid "Sharing doesn't seem to work." msgstr "" @@ -2235,7 +2235,7 @@ msgid "Move down" msgstr "" #: src/components/shortcuts-settings.jsx:379 -#: src/components/status.jsx:1469 +#: src/components/status.jsx:1482 #: src/pages/list.jsx:195 msgid "Edit" msgstr "" @@ -2434,323 +2434,323 @@ msgstr "" msgid "Import/export settings from/to instance server (Very experimental)" msgstr "" -#: src/components/status.jsx:285 +#: src/components/status.jsx:294 msgid "Private posts cannot be quoted" msgstr "Private posts cannot be quoted" -#: src/components/status.jsx:286 +#: src/components/status.jsx:295 msgid "Request to quote" msgstr "Request to quote" -#: src/components/status.jsx:287 +#: src/components/status.jsx:296 msgid "Author will manually review" msgstr "Author will manually review" -#: src/components/status.jsx:288 +#: src/components/status.jsx:297 msgid "Only followers can quote this post" msgstr "Only followers can quote this post" -#: src/components/status.jsx:289 +#: src/components/status.jsx:298 msgid "You are not allowed to quote this post" msgstr "You are not allowed to quote this post" -#: src/components/status.jsx:572 +#: src/components/status.jsx:581 msgid "<0/> <1>boosted" msgstr "<0/> <1>boosted" -#: src/components/status.jsx:677 +#: src/components/status.jsx:686 msgid "Sorry, your current logged-in instance can't interact with this post from another instance." msgstr "" #. placeholder {0}: username || acct -#: src/components/status.jsx:871 +#: src/components/status.jsx:880 msgid "Unliked @{0}'s post" msgstr "" #. placeholder {0}: username || acct -#: src/components/status.jsx:872 +#: src/components/status.jsx:881 msgid "Liked @{0}'s post" msgstr "Liked @{0}'s post" #. placeholder {0}: username || acct -#: src/components/status.jsx:911 +#: src/components/status.jsx:920 msgid "Unbookmarked @{0}'s post" msgstr "Unbookmarked @{0}'s post" #. placeholder {0}: username || acct -#: src/components/status.jsx:912 +#: src/components/status.jsx:921 msgid "Bookmarked @{0}'s post" msgstr "Bookmarked @{0}'s post" -#: src/components/status.jsx:1016 +#: src/components/status.jsx:1025 msgid "Some media have no descriptions." msgstr "" #. placeholder {0}: rtf.format(-statusMonthsAgo, 'month') -#: src/components/status.jsx:1023 +#: src/components/status.jsx:1032 msgid "Old post (<0>{0})" msgstr "" -#: src/components/status.jsx:1047 -#: src/components/status.jsx:1124 -#: src/components/status.jsx:2693 -#: src/components/status.jsx:2746 +#: src/components/status.jsx:1056 +#: src/components/status.jsx:1133 +#: src/components/status.jsx:2709 +#: src/components/status.jsx:2762 msgid "Unboost" msgstr "" -#: src/components/status.jsx:1086 -#: src/components/status.jsx:2731 +#: src/components/status.jsx:1095 +#: src/components/status.jsx:2747 msgid "Quote with link" msgstr "Quote with link" #. placeholder {0}: username || acct -#: src/components/status.jsx:1103 -#: src/components/status.jsx:1648 +#: src/components/status.jsx:1112 +#: src/components/status.jsx:1661 msgid "Unboosted @{0}'s post" msgstr "Unboosted @{0}'s post" #. placeholder {0}: username || acct -#: src/components/status.jsx:1104 -#: src/components/status.jsx:1649 +#: src/components/status.jsx:1113 +#: src/components/status.jsx:1662 msgid "Boosted @{0}'s post" msgstr "Boosted @{0}'s post" -#: src/components/status.jsx:1126 -#: src/components/status.jsx:2745 +#: src/components/status.jsx:1135 +#: src/components/status.jsx:2761 msgid "Boost/Quote…" msgstr "Boost/Quote…" -#: src/components/status.jsx:1127 -#: src/components/status.jsx:2745 +#: src/components/status.jsx:1136 +#: src/components/status.jsx:2761 msgid "Boost…" msgstr "" -#: src/components/status.jsx:1139 -#: src/components/status.jsx:1973 -#: src/components/status.jsx:2761 +#: src/components/status.jsx:1148 +#: src/components/status.jsx:1986 +#: src/components/status.jsx:2777 msgid "Unlike" msgstr "" -#: src/components/status.jsx:1140 -#: src/components/status.jsx:1973 -#: src/components/status.jsx:1974 -#: src/components/status.jsx:2761 -#: src/components/status.jsx:2762 +#: src/components/status.jsx:1149 +#: src/components/status.jsx:1986 +#: src/components/status.jsx:1987 +#: src/components/status.jsx:2777 +#: src/components/status.jsx:2778 msgid "Like" msgstr "" -#: src/components/status.jsx:1149 -#: src/components/status.jsx:2773 +#: src/components/status.jsx:1158 +#: src/components/status.jsx:2789 msgid "Unbookmark" msgstr "" -#: src/components/status.jsx:1184 +#: src/components/status.jsx:1193 msgid "View Quotes" msgstr "View Quotes" -#: src/components/status.jsx:1244 +#: src/components/status.jsx:1257 msgid "Post text copied" msgstr "Post text copied" -#: src/components/status.jsx:1247 +#: src/components/status.jsx:1260 msgid "Unable to copy post text" msgstr "Unable to copy post text" -#: src/components/status.jsx:1253 +#: src/components/status.jsx:1266 msgid "Copy post text" msgstr "Copy post text" #. placeholder {0}: username || acct -#: src/components/status.jsx:1271 +#: src/components/status.jsx:1284 msgid "View post by <0>@{0}" msgstr "" -#: src/components/status.jsx:1292 +#: src/components/status.jsx:1305 msgid "Show Edit History" msgstr "" -#: src/components/status.jsx:1295 +#: src/components/status.jsx:1308 msgid "Edited: {editedDateText}" msgstr "" -#: src/components/status.jsx:1376 +#: src/components/status.jsx:1389 msgid "Conversation unmuted" msgstr "" -#: src/components/status.jsx:1376 +#: src/components/status.jsx:1389 msgid "Conversation muted" msgstr "" -#: src/components/status.jsx:1382 +#: src/components/status.jsx:1395 msgid "Unable to unmute conversation" msgstr "" -#: src/components/status.jsx:1383 +#: src/components/status.jsx:1396 msgid "Unable to mute conversation" msgstr "" -#: src/components/status.jsx:1392 +#: src/components/status.jsx:1405 msgid "Unmute conversation" msgstr "" -#: src/components/status.jsx:1399 +#: src/components/status.jsx:1412 msgid "Mute conversation" msgstr "" -#: src/components/status.jsx:1415 +#: src/components/status.jsx:1428 msgid "Post unpinned from profile" msgstr "" -#: src/components/status.jsx:1416 +#: src/components/status.jsx:1429 msgid "Post pinned to profile" msgstr "" -#: src/components/status.jsx:1421 +#: src/components/status.jsx:1434 msgid "Unable to unpin post" msgstr "" -#: src/components/status.jsx:1421 +#: src/components/status.jsx:1434 msgid "Unable to pin post" msgstr "" -#: src/components/status.jsx:1430 +#: src/components/status.jsx:1443 msgid "Unpin from profile" msgstr "" -#: src/components/status.jsx:1437 +#: src/components/status.jsx:1450 msgid "Pin to profile" msgstr "" -#: src/components/status.jsx:1450 +#: src/components/status.jsx:1463 #: src/pages/settings.jsx:336 msgid "Quote settings" msgstr "Quote settings" -#: src/components/status.jsx:1480 +#: src/components/status.jsx:1493 msgid "Delete this post?" msgstr "" -#: src/components/status.jsx:1496 +#: src/components/status.jsx:1509 msgid "Post deleted" msgstr "" -#: src/components/status.jsx:1499 +#: src/components/status.jsx:1512 msgid "Unable to delete post" msgstr "" #. placeholder {0}: username || acct -#: src/components/status.jsx:1524 +#: src/components/status.jsx:1537 msgid "Remove my post from <0>@{0}'s post?" msgstr "Remove my post from <0>@{0}'s post?" -#: src/components/status.jsx:1545 +#: src/components/status.jsx:1558 msgid "Quote removed" msgstr "Quote removed" -#: src/components/status.jsx:1549 +#: src/components/status.jsx:1562 msgid "Unable to remove quote" msgstr "Unable to remove quote" -#: src/components/status.jsx:1555 +#: src/components/status.jsx:1568 msgid "Remove quote…" msgstr "Remove quote…" -#: src/components/status.jsx:1569 +#: src/components/status.jsx:1582 msgid "Report post…" msgstr "" -#: src/components/status.jsx:1974 -#: src/components/status.jsx:2010 -#: src/components/status.jsx:2762 +#: src/components/status.jsx:1987 +#: src/components/status.jsx:2023 +#: src/components/status.jsx:2778 msgid "Liked" msgstr "" -#: src/components/status.jsx:2007 -#: src/components/status.jsx:2748 +#: src/components/status.jsx:2020 +#: src/components/status.jsx:2764 msgid "Boosted" msgstr "" -#: src/components/status.jsx:2017 -#: src/components/status.jsx:2774 +#: src/components/status.jsx:2030 +#: src/components/status.jsx:2790 msgid "Bookmarked" msgstr "" -#: src/components/status.jsx:2021 +#: src/components/status.jsx:2034 msgid "Pinned" msgstr "" -#: src/components/status.jsx:2078 -#: src/components/status.jsx:2553 +#: src/components/status.jsx:2091 +#: src/components/status.jsx:2569 msgid "Deleted" msgstr "" -#: src/components/status.jsx:2119 +#: src/components/status.jsx:2132 msgid "{repliesCount, plural, one {# reply} other {# replies}}" msgstr "" -#: src/components/status.jsx:2283 -#: src/components/status.jsx:2345 -#: src/components/status.jsx:2448 +#: src/components/status.jsx:2296 +#: src/components/status.jsx:2358 +#: src/components/status.jsx:2464 msgid "Show less" msgstr "" -#: src/components/status.jsx:2283 -#: src/components/status.jsx:2345 +#: src/components/status.jsx:2296 +#: src/components/status.jsx:2358 msgid "Show content" msgstr "" #. placeholder {0}: filterInfo.titlesStr #. placeholder {0}: filterInfo?.titlesStr -#: src/components/status.jsx:2444 +#: src/components/status.jsx:2460 #: src/pages/catchup.jsx:1877 msgid "Filtered: {0}" msgstr "Filtered: {0}" -#: src/components/status.jsx:2448 +#: src/components/status.jsx:2464 msgid "Show media" msgstr "" -#: src/components/status.jsx:2588 +#: src/components/status.jsx:2604 msgid "Edited" msgstr "" -#: src/components/status.jsx:2665 +#: src/components/status.jsx:2681 msgid "Comments" msgstr "" -#: src/components/status.jsx:2914 +#: src/components/status.jsx:2930 msgid "Post hidden by your filters" msgstr "Post hidden by your filters" -#: src/components/status.jsx:2915 +#: src/components/status.jsx:2931 msgid "Post pending" msgstr "Post pending" -#: src/components/status.jsx:2916 -#: src/components/status.jsx:2917 -#: src/components/status.jsx:2918 +#: src/components/status.jsx:2932 +#: src/components/status.jsx:2933 +#: src/components/status.jsx:2934 msgid "Post unavailable" msgstr "Post unavailable" -#: src/components/status.jsx:2919 +#: src/components/status.jsx:2935 msgid "Post removed by author" msgstr "Post removed by author" -#: src/components/status.jsx:3034 +#: src/components/status.jsx:3050 msgid "Edit History" msgstr "" -#: src/components/status.jsx:3038 +#: src/components/status.jsx:3054 msgid "Failed to load history" msgstr "" -#: src/components/status.jsx:3043 +#: src/components/status.jsx:3059 #: src/pages/annual-report.jsx:45 msgid "Loading…" msgstr "" #. [Name] [Visibility icon] boosted -#: src/components/status.jsx:3175 +#: src/components/status.jsx:3191 msgid "<0/> <1/> boosted" msgstr "<0/> <1/> boosted"