Need QSA to be forgiving

This commit is contained in:
Lim Chee Aun 2024-11-20 23:50:58 +08:00
parent deaddcec00
commit 6c3c158f79
2 changed files with 152 additions and 136 deletions

View file

@ -125,6 +125,17 @@ function getPostText(status) {
); );
} }
function forgivingQSA(selectors = [], dom = document) {
// Run QSA for list of selectors
// If a selector return invalid selector error, try the next one
for (const selector of selectors) {
try {
return dom.querySelectorAll(selector);
} catch (e) {}
}
return [];
}
function isTranslateble(content) { function isTranslateble(content) {
if (!content) return false; if (!content) return false;
content = content.trim(); content = content.trim();
@ -132,8 +143,9 @@ function isTranslateble(content) {
const text = getHTMLText(content, { const text = getHTMLText(content, {
preProcess: (dom) => { preProcess: (dom) => {
// Remove .mention, pre, code, a:has(.invisible) // Remove .mention, pre, code, a:has(.invisible)
for (const a of dom.querySelectorAll( for (const a of forgivingQSA(
'.mention, pre, code, a:has(.invisible)', ['.mention, pre, code, a:has(.invisible)', '.mention, pre, code'],
dom,
)) { )) {
a.remove(); a.remove();
} }
@ -148,8 +160,12 @@ function getHTMLTextForDetectLang(content) {
// Remove anything that can skew the language detection // Remove anything that can skew the language detection
// Remove .mention, .hashtag, pre, code, a:has(.invisible) // Remove .mention, .hashtag, pre, code, a:has(.invisible)
for (const a of dom.querySelectorAll( for (const a of forgivingQSA(
[
'.mention, .hashtag, pre, code, a:has(.invisible)', '.mention, .hashtag, pre, code, a:has(.invisible)',
'.mention, .hashtag, pre, code',
],
dom,
)) { )) {
a.remove(); a.remove();
} }

264
src/locales/en.po generated
View file

@ -32,7 +32,7 @@ msgstr ""
#: src/components/account-block.jsx:168 #: src/components/account-block.jsx:168
#: src/components/account-info.jsx:641 #: src/components/account-info.jsx:641
#: src/components/status.jsx:498 #: src/components/status.jsx:514
msgid "Group" msgid "Group"
msgstr "" msgstr ""
@ -107,11 +107,11 @@ msgstr ""
#: src/components/compose.jsx:2488 #: src/components/compose.jsx:2488
#: src/components/media-alt-modal.jsx:45 #: src/components/media-alt-modal.jsx:45
#: src/components/media-modal.jsx:357 #: src/components/media-modal.jsx:357
#: src/components/status.jsx:1721 #: src/components/status.jsx:1737
#: src/components/status.jsx:1738 #: src/components/status.jsx:1754
#: src/components/status.jsx:1862 #: src/components/status.jsx:1878
#: src/components/status.jsx:2474 #: src/components/status.jsx:2490
#: src/components/status.jsx:2477 #: src/components/status.jsx:2493
#: src/pages/account-statuses.jsx:528 #: src/pages/account-statuses.jsx:528
#: src/pages/accounts.jsx:109 #: src/pages/accounts.jsx:109
#: src/pages/hashtag.jsx:199 #: src/pages/hashtag.jsx:199
@ -180,7 +180,7 @@ msgid "Original"
msgstr "" msgstr ""
#: src/components/account-info.jsx:864 #: src/components/account-info.jsx:864
#: src/components/status.jsx:2252 #: src/components/status.jsx:2268
#: src/pages/catchup.jsx:71 #: src/pages/catchup.jsx:71
#: src/pages/catchup.jsx:1445 #: src/pages/catchup.jsx:1445
#: src/pages/catchup.jsx:2056 #: src/pages/catchup.jsx:2056
@ -276,30 +276,30 @@ msgid "Add/Remove from Lists"
msgstr "" msgstr ""
#: src/components/account-info.jsx:1304 #: src/components/account-info.jsx:1304
#: src/components/status.jsx:1161 #: src/components/status.jsx:1177
msgid "Link copied" msgid "Link copied"
msgstr "" msgstr ""
#: src/components/account-info.jsx:1307 #: src/components/account-info.jsx:1307
#: src/components/status.jsx:1164 #: src/components/status.jsx:1180
msgid "Unable to copy link" msgid "Unable to copy link"
msgstr "" msgstr ""
#: src/components/account-info.jsx:1313 #: src/components/account-info.jsx:1313
#: src/components/shortcuts-settings.jsx:1059 #: src/components/shortcuts-settings.jsx:1059
#: src/components/status.jsx:1170 #: src/components/status.jsx:1186
#: src/components/status.jsx:3251 #: src/components/status.jsx:3267
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/components/account-info.jsx:1328 #: src/components/account-info.jsx:1328
#: src/components/shortcuts-settings.jsx:1077 #: src/components/shortcuts-settings.jsx:1077
#: src/components/status.jsx:1186 #: src/components/status.jsx:1202
msgid "Sharing doesn't seem to work." msgid "Sharing doesn't seem to work."
msgstr "" msgstr ""
#: src/components/account-info.jsx:1334 #: src/components/account-info.jsx:1334
#: src/components/status.jsx:1192 #: src/components/status.jsx:1208
msgid "Share…" msgid "Share…"
msgstr "" msgstr ""
@ -416,9 +416,9 @@ msgstr ""
#: src/components/shortcuts-settings.jsx:230 #: src/components/shortcuts-settings.jsx:230
#: src/components/shortcuts-settings.jsx:583 #: src/components/shortcuts-settings.jsx:583
#: src/components/shortcuts-settings.jsx:783 #: src/components/shortcuts-settings.jsx:783
#: src/components/status.jsx:2976 #: src/components/status.jsx:2992
#: src/components/status.jsx:3215 #: src/components/status.jsx:3231
#: src/components/status.jsx:3713 #: src/components/status.jsx:3729
#: src/pages/accounts.jsx:36 #: src/pages/accounts.jsx:36
#: src/pages/catchup.jsx:1581 #: src/pages/catchup.jsx:1581
#: src/pages/filters.jsx:224 #: src/pages/filters.jsx:224
@ -608,7 +608,7 @@ msgid "Attachment #{i} failed"
msgstr "" msgstr ""
#: src/components/compose.jsx:1139 #: src/components/compose.jsx:1139
#: src/components/status.jsx:2047 #: src/components/status.jsx:2063
#: src/components/timeline.jsx:984 #: src/components/timeline.jsx:984
msgid "Content warning" msgid "Content warning"
msgstr "" msgstr ""
@ -644,7 +644,7 @@ msgstr ""
#: src/components/compose.jsx:1206 #: src/components/compose.jsx:1206
#: src/components/status.jsx:97 #: src/components/status.jsx:97
#: src/components/status.jsx:1925 #: src/components/status.jsx:1941
msgid "Private mention" msgid "Private mention"
msgstr "" msgstr ""
@ -674,10 +674,10 @@ msgstr ""
#: src/components/compose.jsx:1504 #: src/components/compose.jsx:1504
#: src/components/keyboard-shortcuts-help.jsx:151 #: src/components/keyboard-shortcuts-help.jsx:151
#: src/components/status.jsx:913 #: src/components/status.jsx:929
#: src/components/status.jsx:1701 #: src/components/status.jsx:1717
#: src/components/status.jsx:1702 #: src/components/status.jsx:1718
#: src/components/status.jsx:2370 #: src/components/status.jsx:2386
msgid "Reply" msgid "Reply"
msgstr "" msgstr ""
@ -892,7 +892,7 @@ msgstr ""
#: src/components/drafts.jsx:127 #: src/components/drafts.jsx:127
#: src/components/list-add-edit.jsx:185 #: src/components/list-add-edit.jsx:185
#: src/components/status.jsx:1336 #: src/components/status.jsx:1352
#: src/pages/filters.jsx:587 #: src/pages/filters.jsx:587
msgid "Delete…" msgid "Delete…"
msgstr "" msgstr ""
@ -1100,10 +1100,10 @@ msgid "<0>l</0> or <1>f</1>"
msgstr "" msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:172 #: src/components/keyboard-shortcuts-help.jsx:172
#: src/components/status.jsx:921 #: src/components/status.jsx:937
#: src/components/status.jsx:2396 #: src/components/status.jsx:2412
#: src/components/status.jsx:2428 #: src/components/status.jsx:2444
#: src/components/status.jsx:2429 #: src/components/status.jsx:2445
msgid "Boost" msgid "Boost"
msgstr "" msgstr ""
@ -1112,9 +1112,9 @@ msgid "<0>Shift</0> + <1>b</1>"
msgstr "" msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:180 #: src/components/keyboard-shortcuts-help.jsx:180
#: src/components/status.jsx:1006 #: src/components/status.jsx:1022
#: src/components/status.jsx:2453 #: src/components/status.jsx:2469
#: src/components/status.jsx:2454 #: src/components/status.jsx:2470
msgid "Bookmark" msgid "Bookmark"
msgstr "" msgstr ""
@ -1173,15 +1173,15 @@ msgid "Media description"
msgstr "" msgstr ""
#: src/components/media-alt-modal.jsx:57 #: src/components/media-alt-modal.jsx:57
#: src/components/status.jsx:1050 #: src/components/status.jsx:1066
#: src/components/status.jsx:1077 #: src/components/status.jsx:1093
#: src/components/translation-block.jsx:195 #: src/components/translation-block.jsx:195
msgid "Translate" msgid "Translate"
msgstr "" msgstr ""
#: src/components/media-alt-modal.jsx:68 #: src/components/media-alt-modal.jsx:68
#: src/components/status.jsx:1064 #: src/components/status.jsx:1080
#: src/components/status.jsx:1091 #: src/components/status.jsx:1107
msgid "Speak" msgid "Speak"
msgstr "" msgstr ""
@ -1218,9 +1218,9 @@ msgid "Filtered: {filterTitleStr}"
msgstr "" msgstr ""
#: src/components/media-post.jsx:133 #: src/components/media-post.jsx:133
#: src/components/status.jsx:3543 #: src/components/status.jsx:3559
#: src/components/status.jsx:3639 #: src/components/status.jsx:3655
#: src/components/status.jsx:3717 #: src/components/status.jsx:3733
#: src/components/timeline.jsx:973 #: src/components/timeline.jsx:973
#: src/pages/catchup.jsx:75 #: src/pages/catchup.jsx:75
#: src/pages/catchup.jsx:1876 #: src/pages/catchup.jsx:1876
@ -1508,8 +1508,8 @@ msgid "[Unknown notification type: {type}]"
msgstr "" msgstr ""
#: src/components/notification.jsx:434 #: src/components/notification.jsx:434
#: src/components/status.jsx:1020 #: src/components/status.jsx:1036
#: src/components/status.jsx:1030 #: src/components/status.jsx:1046
msgid "Boosted/Liked by…" msgid "Boosted/Liked by…"
msgstr "" msgstr ""
@ -1531,7 +1531,7 @@ msgid "Learn more <0/>"
msgstr "" msgstr ""
#: src/components/notification.jsx:756 #: src/components/notification.jsx:756
#: src/components/status.jsx:251 #: src/components/status.jsx:267
msgid "Read more →" msgid "Read more →"
msgstr "" msgstr ""
@ -1824,7 +1824,7 @@ msgid "Move down"
msgstr "" msgstr ""
#: src/components/shortcuts-settings.jsx:379 #: src/components/shortcuts-settings.jsx:379
#: src/components/status.jsx:1298 #: src/components/status.jsx:1314
#: src/pages/list.jsx:170 #: src/pages/list.jsx:170
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
@ -2022,297 +2022,297 @@ msgstr ""
msgid "Import/export settings from/to instance server (Very experimental)" msgid "Import/export settings from/to instance server (Very experimental)"
msgstr "" msgstr ""
#: src/components/status.jsx:522 #: src/components/status.jsx:538
msgid "<0/> <1>boosted</1>" msgid "<0/> <1>boosted</1>"
msgstr "" msgstr ""
#: src/components/status.jsx:621 #: src/components/status.jsx:637
msgid "Sorry, your current logged-in instance can't interact with this post from another instance." msgid "Sorry, your current logged-in instance can't interact with this post from another instance."
msgstr "" msgstr ""
#: src/components/status.jsx:774 #: src/components/status.jsx:790
msgid "Unliked @{0}'s post" msgid "Unliked @{0}'s post"
msgstr "" msgstr ""
#: src/components/status.jsx:775 #: src/components/status.jsx:791
msgid "Liked @{0}'s post" msgid "Liked @{0}'s post"
msgstr "" msgstr ""
#: src/components/status.jsx:814 #: src/components/status.jsx:830
msgid "Unbookmarked @{0}'s post" msgid "Unbookmarked @{0}'s post"
msgstr "" msgstr ""
#: src/components/status.jsx:815 #: src/components/status.jsx:831
msgid "Bookmarked @{0}'s post" msgid "Bookmarked @{0}'s post"
msgstr "" msgstr ""
#: src/components/status.jsx:921 #: src/components/status.jsx:937
#: src/components/status.jsx:983 #: src/components/status.jsx:999
#: src/components/status.jsx:2396 #: src/components/status.jsx:2412
#: src/components/status.jsx:2428 #: src/components/status.jsx:2444
msgid "Unboost" msgid "Unboost"
msgstr "" msgstr ""
#: src/components/status.jsx:937 #: src/components/status.jsx:953
#: src/components/status.jsx:2411 #: src/components/status.jsx:2427
msgid "Quote" msgid "Quote"
msgstr "" msgstr ""
#: src/components/status.jsx:945 #: src/components/status.jsx:961
#: src/components/status.jsx:2420 #: src/components/status.jsx:2436
msgid "Some media have no descriptions." msgid "Some media have no descriptions."
msgstr "" msgstr ""
#: src/components/status.jsx:952 #: src/components/status.jsx:968
msgid "Old post (<0>{0}</0>)" msgid "Old post (<0>{0}</0>)"
msgstr "" msgstr ""
#: src/components/status.jsx:971 #: src/components/status.jsx:987
#: src/components/status.jsx:1426 #: src/components/status.jsx:1442
msgid "Unboosted @{0}'s post" msgid "Unboosted @{0}'s post"
msgstr "" msgstr ""
#: src/components/status.jsx:972 #: src/components/status.jsx:988
#: src/components/status.jsx:1427 #: src/components/status.jsx:1443
msgid "Boosted @{0}'s post" msgid "Boosted @{0}'s post"
msgstr "" msgstr ""
#: src/components/status.jsx:984 #: src/components/status.jsx:1000
msgid "Boost…" msgid "Boost…"
msgstr "" msgstr ""
#: src/components/status.jsx:996 #: src/components/status.jsx:1012
#: src/components/status.jsx:1711 #: src/components/status.jsx:1727
#: src/components/status.jsx:2441 #: src/components/status.jsx:2457
msgid "Unlike" msgid "Unlike"
msgstr "" msgstr ""
#: src/components/status.jsx:997 #: src/components/status.jsx:1013
#: src/components/status.jsx:1711 #: src/components/status.jsx:1727
#: src/components/status.jsx:1712 #: src/components/status.jsx:1728
#: src/components/status.jsx:2441 #: src/components/status.jsx:2457
#: src/components/status.jsx:2442 #: src/components/status.jsx:2458
msgid "Like" msgid "Like"
msgstr "" msgstr ""
#: src/components/status.jsx:1006 #: src/components/status.jsx:1022
#: src/components/status.jsx:2453 #: src/components/status.jsx:2469
msgid "Unbookmark" msgid "Unbookmark"
msgstr "" msgstr ""
#: src/components/status.jsx:1114 #: src/components/status.jsx:1130
msgid "View post by <0>@{0}</0>" msgid "View post by <0>@{0}</0>"
msgstr "" msgstr ""
#: src/components/status.jsx:1135 #: src/components/status.jsx:1151
msgid "Show Edit History" msgid "Show Edit History"
msgstr "" msgstr ""
#: src/components/status.jsx:1138 #: src/components/status.jsx:1154
msgid "Edited: {editedDateText}" msgid "Edited: {editedDateText}"
msgstr "" msgstr ""
#: src/components/status.jsx:1205 #: src/components/status.jsx:1221
#: src/components/status.jsx:3220 #: src/components/status.jsx:3236
msgid "Embed post" msgid "Embed post"
msgstr "" msgstr ""
#: src/components/status.jsx:1219 #: src/components/status.jsx:1235
msgid "Conversation unmuted" msgid "Conversation unmuted"
msgstr "" msgstr ""
#: src/components/status.jsx:1219 #: src/components/status.jsx:1235
msgid "Conversation muted" msgid "Conversation muted"
msgstr "" msgstr ""
#: src/components/status.jsx:1225 #: src/components/status.jsx:1241
msgid "Unable to unmute conversation" msgid "Unable to unmute conversation"
msgstr "" msgstr ""
#: src/components/status.jsx:1226 #: src/components/status.jsx:1242
msgid "Unable to mute conversation" msgid "Unable to mute conversation"
msgstr "" msgstr ""
#: src/components/status.jsx:1235 #: src/components/status.jsx:1251
msgid "Unmute conversation" msgid "Unmute conversation"
msgstr "" msgstr ""
#: src/components/status.jsx:1242 #: src/components/status.jsx:1258
msgid "Mute conversation" msgid "Mute conversation"
msgstr "" msgstr ""
#: src/components/status.jsx:1258 #: src/components/status.jsx:1274
msgid "Post unpinned from profile" msgid "Post unpinned from profile"
msgstr "" msgstr ""
#: src/components/status.jsx:1259 #: src/components/status.jsx:1275
msgid "Post pinned to profile" msgid "Post pinned to profile"
msgstr "" msgstr ""
#: src/components/status.jsx:1264 #: src/components/status.jsx:1280
msgid "Unable to unpin post" msgid "Unable to unpin post"
msgstr "" msgstr ""
#: src/components/status.jsx:1264 #: src/components/status.jsx:1280
msgid "Unable to pin post" msgid "Unable to pin post"
msgstr "" msgstr ""
#: src/components/status.jsx:1273 #: src/components/status.jsx:1289
msgid "Unpin from profile" msgid "Unpin from profile"
msgstr "" msgstr ""
#: src/components/status.jsx:1280 #: src/components/status.jsx:1296
msgid "Pin to profile" msgid "Pin to profile"
msgstr "" msgstr ""
#: src/components/status.jsx:1309 #: src/components/status.jsx:1325
msgid "Delete this post?" msgid "Delete this post?"
msgstr "" msgstr ""
#: src/components/status.jsx:1325 #: src/components/status.jsx:1341
msgid "Post deleted" msgid "Post deleted"
msgstr "" msgstr ""
#: src/components/status.jsx:1328 #: src/components/status.jsx:1344
msgid "Unable to delete post" msgid "Unable to delete post"
msgstr "" msgstr ""
#: src/components/status.jsx:1356 #: src/components/status.jsx:1372
msgid "Report post…" msgid "Report post…"
msgstr "" msgstr ""
#: src/components/status.jsx:1712 #: src/components/status.jsx:1728
#: src/components/status.jsx:1748 #: src/components/status.jsx:1764
#: src/components/status.jsx:2442 #: src/components/status.jsx:2458
msgid "Liked" msgid "Liked"
msgstr "" msgstr ""
#: src/components/status.jsx:1745 #: src/components/status.jsx:1761
#: src/components/status.jsx:2429 #: src/components/status.jsx:2445
msgid "Boosted" msgid "Boosted"
msgstr "" msgstr ""
#: src/components/status.jsx:1755 #: src/components/status.jsx:1771
#: src/components/status.jsx:2454 #: src/components/status.jsx:2470
msgid "Bookmarked" msgid "Bookmarked"
msgstr "" msgstr ""
#: src/components/status.jsx:1759 #: src/components/status.jsx:1775
msgid "Pinned" msgid "Pinned"
msgstr "" msgstr ""
#: src/components/status.jsx:1804 #: src/components/status.jsx:1820
#: src/components/status.jsx:2260 #: src/components/status.jsx:2276
msgid "Deleted" msgid "Deleted"
msgstr "" msgstr ""
#: src/components/status.jsx:1845 #: src/components/status.jsx:1861
msgid "{repliesCount, plural, one {# reply} other {# replies}}" msgid "{repliesCount, plural, one {# reply} other {# replies}}"
msgstr "" msgstr ""
#: src/components/status.jsx:1934 #: src/components/status.jsx:1950
msgid "Thread{0}" msgid "Thread{0}"
msgstr "" msgstr ""
#: src/components/status.jsx:2010 #: src/components/status.jsx:2026
#: src/components/status.jsx:2072 #: src/components/status.jsx:2088
#: src/components/status.jsx:2157 #: src/components/status.jsx:2173
msgid "Show less" msgid "Show less"
msgstr "" msgstr ""
#: src/components/status.jsx:2010 #: src/components/status.jsx:2026
#: src/components/status.jsx:2072 #: src/components/status.jsx:2088
msgid "Show content" msgid "Show content"
msgstr "" msgstr ""
#: src/components/status.jsx:2157 #: src/components/status.jsx:2173
msgid "Show media" msgid "Show media"
msgstr "" msgstr ""
#: src/components/status.jsx:2294 #: src/components/status.jsx:2310
msgid "Edited" msgid "Edited"
msgstr "" msgstr ""
#: src/components/status.jsx:2371 #: src/components/status.jsx:2387
msgid "Comments" msgid "Comments"
msgstr "" msgstr ""
#. More from [Author] #. More from [Author]
#: src/components/status.jsx:2680 #: src/components/status.jsx:2696
msgid "More from <0/>" msgid "More from <0/>"
msgstr "More from <0/>" msgstr "More from <0/>"
#: src/components/status.jsx:2981 #: src/components/status.jsx:2997
msgid "Edit History" msgid "Edit History"
msgstr "" msgstr ""
#: src/components/status.jsx:2985 #: src/components/status.jsx:3001
msgid "Failed to load history" msgid "Failed to load history"
msgstr "" msgstr ""
#: src/components/status.jsx:2990 #: src/components/status.jsx:3006
msgid "Loading…" msgid "Loading…"
msgstr "" msgstr ""
#: src/components/status.jsx:3225 #: src/components/status.jsx:3241
msgid "HTML Code" msgid "HTML Code"
msgstr "" msgstr ""
#: src/components/status.jsx:3242 #: src/components/status.jsx:3258
msgid "HTML code copied" msgid "HTML code copied"
msgstr "" msgstr ""
#: src/components/status.jsx:3245 #: src/components/status.jsx:3261
msgid "Unable to copy HTML code" msgid "Unable to copy HTML code"
msgstr "" msgstr ""
#: src/components/status.jsx:3257 #: src/components/status.jsx:3273
msgid "Media attachments:" msgid "Media attachments:"
msgstr "" msgstr ""
#: src/components/status.jsx:3279 #: src/components/status.jsx:3295
msgid "Account Emojis:" msgid "Account Emojis:"
msgstr "" msgstr ""
#: src/components/status.jsx:3310 #: src/components/status.jsx:3326
#: src/components/status.jsx:3355 #: src/components/status.jsx:3371
msgid "static URL" msgid "static URL"
msgstr "" msgstr ""
#: src/components/status.jsx:3324 #: src/components/status.jsx:3340
msgid "Emojis:" msgid "Emojis:"
msgstr "" msgstr ""
#: src/components/status.jsx:3369 #: src/components/status.jsx:3385
msgid "Notes:" msgid "Notes:"
msgstr "" msgstr ""
#: src/components/status.jsx:3373 #: src/components/status.jsx:3389
msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed." msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed."
msgstr "" msgstr ""
#: src/components/status.jsx:3379 #: src/components/status.jsx:3395
msgid "Polls are not interactive, becomes a list with vote counts." msgid "Polls are not interactive, becomes a list with vote counts."
msgstr "" msgstr ""
#: src/components/status.jsx:3384 #: src/components/status.jsx:3400
msgid "Media attachments can be images, videos, audios or any file types." msgid "Media attachments can be images, videos, audios or any file types."
msgstr "" msgstr ""
#: src/components/status.jsx:3390 #: src/components/status.jsx:3406
msgid "Post could be edited or deleted later." msgid "Post could be edited or deleted later."
msgstr "" msgstr ""
#: src/components/status.jsx:3396 #: src/components/status.jsx:3412
msgid "Preview" msgid "Preview"
msgstr "" msgstr ""
#: src/components/status.jsx:3405 #: src/components/status.jsx:3421
msgid "Note: This preview is lightly styled." msgid "Note: This preview is lightly styled."
msgstr "" msgstr ""
#. [Name] [Visibility icon] boosted #. [Name] [Visibility icon] boosted
#: src/components/status.jsx:3647 #: src/components/status.jsx:3663
msgid "<0/> <1/> boosted" msgid "<0/> <1/> boosted"
msgstr "" msgstr ""