Merge commit '341ea7f462c68ebe2fc5ee15dc7c58aa5775d5a0' into glitch-soc/merge-upstream

This commit is contained in:
Claire committed 2025-10-20 21:37:50 +02:00
commit 9080083263
54 files changed
+374 -107

No files matched your search

@@ -272,7 +272,11 @@ class StatusActionBar extends ImmutablePureComponent {
if (publicStatus && 'share' in navigator) {
menu.push({ text: intl.formatMessage(messages.share), action: this.handleShareClick });
}
if (publicStatus && !isRemote) {
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
}
if (quickBoosting && signedIn) {
const quoteItem = quoteItemState(statusQuoteState);
menu.push(null);
@@ -284,11 +288,6 @@ class StatusActionBar extends ImmutablePureComponent {
disabled: quoteItem.disabled,
action: this.handleQuoteClick,
});
menu.push(null);
}
if (publicStatus && !isRemote) {
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
}
if (signedIn) {
@@ -269,7 +269,7 @@ class StatusContent extends PureComponent {
lang={language}
htmlString={content}
extraEmojis={status.get('emojis')}
onElement={this.handleElement.bind(this)}
onElement={this.handleElement}
/>
{poll}
@@ -287,7 +287,7 @@ class StatusContent extends PureComponent {
lang={language}
htmlString={content}
extraEmojis={status.get('emojis')}
onElement={this.handleElement.bind(this)}
onElement={this.handleElement}
/>
{poll}
@@ -76,7 +76,7 @@ function testEmojiSupport(text: string) {
return compareFeatures(feature1, feature2);
}
const EMOJI_VERSION_TEST_EMOJI = '🫨'; // shaking head, from v15
const EMOJI_VERSION_TEST_EMOJI = '🫩'; // face with bags under eyes, from Unicode 16.0.
const EMOJI_FLAG_TEST_EMOJI = '🇨🇭';
export function determineEmojiMode(style: string): EmojiMode {
@@ -46,11 +46,15 @@ export const EmbeddedStatusContent: React.FC<{
() => (status.get('mentions') as List<Mention>).toJS(),
[status],
);
const htmlHandlers = useElementHandledLink({
hashtagAccountId: status.get('account') as string | undefined,
hrefToMention(href) {
const hrefToMention = useCallback(
(href: string) => {
return mentions.find((item) => item.url === href);
},
[mentions],
);
const htmlHandlers = useElementHandledLink({
hashtagAccountId: status.get('account') as string | undefined,
hrefToMention,
});
const handleContentRef = useCallback(
@@ -229,6 +229,10 @@ class ActionBar extends PureComponent {
menu.push({ text: intl.formatMessage(messages.share), action: this.handleShare });
}
if (publicStatus && (signedIn || !isRemote)) {
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
}
if (quickBoosting && signedIn) {
const quoteItem = quoteItemState(statusQuoteState);
menu.push(null);
@@ -240,11 +244,6 @@ class ActionBar extends PureComponent {
disabled: quoteItem.disabled,
action: this.handleQuoteClick,
});
menu.push(null);
}
if (publicStatus && (signedIn || !isRemote)) {
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
}
if (signedIn) {
+1 -1
View File
@@ -753,7 +753,7 @@
"privacy.unlisted.short": "Pública, pero discreta",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
"quote_error.edit": "No se pueden añadir citas mientras se edita una publicación.",
"quote_error.edit": "No se pueden añadir citas cuando se edita una publicación.",
"quote_error.poll": "No se permite citar encuestas.",
"quote_error.quote": "Solo se permite una cita a la vez.",
"quote_error.unauthorized": "No estás autorizado a citar esta publicación.",
+1 -1
View File
@@ -753,7 +753,7 @@
"privacy.unlisted.short": "Pública silenciosa",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
"quote_error.edit": "No se pueden añadir citas mientras se edita una publicación.",
"quote_error.edit": "No se pueden añadir citas cuando se edita una publicación.",
"quote_error.poll": "No es posible citar encuestas.",
"quote_error.quote": "Solo se permite una cita a la vez.",
"quote_error.unauthorized": "No tienes permiso para citar esta publicación.",
+1
View File
@@ -876,6 +876,7 @@
"status.contains_quote": "Sisaldab tsitaati",
"status.context.loading": "Laadin veel vastuseid",
"status.context.loading_error": "Uute vastuste laadimine ei õnnestunud",
"status.context.loading_success": "Uued vastused on laaditud",
"status.context.more_replies_found": "Leidub veel vastuseid",
"status.context.retry": "Proovi uuesti",
"status.context.show": "Näita",
+9
View File
@@ -257,7 +257,12 @@
"confirmations.revoke_quote.confirm": "Remover message",
"confirmations.revoke_quote.message": "Iste action non pote esser disfacite.",
"confirmations.revoke_quote.title": "Remover message?",
"confirmations.unblock.confirm": "Disblocar",
"confirmations.unblock.title": "Disblocar {name}?",
"confirmations.unfollow.confirm": "Non plus sequer",
"confirmations.unfollow.title": "Cessar de sequer {name}?",
"confirmations.withdraw_request.confirm": "Retirar requesta",
"confirmations.withdraw_request.title": "Retirar le requesta de sequer {name}?",
"content_warning.hide": "Celar le message",
"content_warning.show": "Monstrar in omne caso",
"content_warning.show_more": "Monstrar plus",
@@ -748,6 +753,7 @@
"privacy.unlisted.short": "Public, non listate",
"privacy_policy.last_updated": "Ultime actualisation {date}",
"privacy_policy.title": "Politica de confidentialitate",
"quote_error.edit": "Non es possibile adder citationes quando se modifica un message.",
"quote_error.poll": "Non es permittite citar sondages.",
"quote_error.quote": "Solmente un citation al vice es permittite.",
"quote_error.unauthorized": "Tu non es autorisate a citar iste message.",
@@ -870,6 +876,7 @@
"status.contains_quote": "Contine un citation",
"status.context.loading": "Cargante plus responsas",
"status.context.loading_error": "Non poteva cargar nove responsas",
"status.context.loading_success": "Nove responsas cargate",
"status.context.more_replies_found": "Plus responsas trovate",
"status.context.retry": "Tentar de novo",
"status.context.show": "Monstrar",
@@ -916,6 +923,8 @@
"status.quote_private": "Le messages private non pote esser citate",
"status.quotes": "{count, plural, one {citation} other {citationes}}",
"status.quotes.empty": "Necuno ha ancora citate iste message. Quando alcuno lo face, illo apparera hic.",
"status.quotes.local_other_disclaimer": "Le citationes rejectate per le autor non essera monstrate.",
"status.quotes.remote_other_disclaimer": "Solmente le citationes de {domain} se garanti de esser monstrate hic. Citationes rejectate per le autor non essera monstrate.",
"status.read_more": "Leger plus",
"status.reblog": "Impulsar",
"status.reblog_or_quote": "Impulsar o citar",
+2 -2
View File
@@ -312,9 +312,9 @@
"emoji_button.custom": "Sérsniðin",
"emoji_button.flags": "Flögg",
"emoji_button.food": "Matur og drykkur",
"emoji_button.label": "Setja inn tjáningartákn",
"emoji_button.label": "Setja inn lyndistákn",
"emoji_button.nature": "Náttúra",
"emoji_button.not_found": "Engin samsvarandi tjáningartákn fundust",
"emoji_button.not_found": "Engin samsvarandi lyndistákn fundust",
"emoji_button.objects": "Hlutir",
"emoji_button.people": "Fólk",
"emoji_button.recent": "Oft notuð",
+8 -4
View File
@@ -742,7 +742,7 @@
"privacy_policy.title": "개인정보처리방침",
"quote_error.poll": "인용과 투표를 함께 사용할 수 없습니다.",
"quote_error.quote": "한 번의 인용만 허용됩니다.",
"quote_error.unauthorized": "이 글을 인용할 권한이 없습니다.",
"quote_error.unauthorized": "이 게시물을 인용할 권한이 없습니다.",
"quote_error.upload": "인용과 미디어 첨부를 함께 사용할 수 없습니다.",
"recommended": "추천함",
"refresh": "새로고침",
@@ -857,7 +857,9 @@
"status.block": "@{name} 차단",
"status.bookmark": "북마크",
"status.cancel_reblog_private": "부스트 취소",
"status.cannot_quote": "인용을 비허용하는 게시물",
"status.cannot_reblog": "이 게시물은 부스트 할 수 없습니다",
"status.contains_quote": "인용 포함",
"status.continued_thread": "이어지는 글타래",
"status.copy": "게시물 링크 복사",
"status.delete": "삭제",
@@ -889,12 +891,13 @@
"status.quote_error.filtered": "필터에 의해 가려짐",
"status.quote_error.not_available": "게시물 사용 불가",
"status.quote_error.pending_approval": "게시물 대기중",
"status.quote_followers_only": "팔로워만 이 게시물을 인용할 수 있습니다",
"status.quote_followers_only": "팔로워만 인용할 수 있는 게시물",
"status.quote_manual_review": "작성자가 직접 검토합니다",
"status.quote_noun": "인용",
"status.quote_policy_change": "누가 인용할 수 있는지",
"status.quote_post_author": "인용된 @{name} 님의 게시물",
"status.quote_private": "비공개 게시물은 인용할 수 없습니다",
"status.quotes": "{count, plural, other {#}} 인용",
"status.quotes": "{count, plural, other {인용}}",
"status.quotes.empty": "아직 아무도 이 게시물을 인용하지 않았습니다. 누군가 인용한다면 여기에 표시됩니다.",
"status.read_more": "더 보기",
"status.reblog": "부스트",
@@ -976,7 +979,8 @@
"video.volume_up": "음량 증가",
"visibility_modal.button_title": "공개범위 설정",
"visibility_modal.header": "공개범위와 반응",
"visibility_modal.helper.unlisted_quoting": "사람들이 나를 인용한 경우 그 게시물 또한 유행에서 제외됩니다.",
"visibility_modal.helper.unlisted_quoting": "사람들에게 인용된 경우, 인용한 게시물도 유행 타임라인에서 감추게 됩니다.",
"visibility_modal.instructions": "누가 이 게시물과 상호작용할 수 있는 지 제어합니다. 또한 <link>환경설정 > 게시물 기본설정</link>으로 이동해 향후 모든 게시물의 설정을 적용할 수 있습니다.",
"visibility_modal.privacy_label": "공개 범위",
"visibility_modal.quote_followers": "팔로워만",
"visibility_modal.quote_label": "인용할 수 있는 사람",
+1 -1
View File
@@ -223,7 +223,7 @@
"empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!",
"empty_column.follow_requests": "Hê jî daxwaza şopandinê tunne ye. Dema daxwazek hat, yê li vir were nîşan kirin.",
"empty_column.hashtag": "Di vê hashtagê de hêj tiştekî tune.",
"empty_column.home": "Rojeva demnameya te vala ye! Ji bona tijîkirinê bêtir mirovan bişopîne. {suggestions}",
"empty_column.home": "Rojeva demnameya te vala ye! Bo tijîkirina wê bêtir mirovan bişopîne.",
"empty_column.list": "Di vê rêzokê de hîn tiştek tune ye. Gava ku endamên vê rêzokê peyamên nû biweşînin, ew ê li vir xuya bibin.",
"empty_column.mutes": "Te tu bikarhêner bêdeng nekiriye.",
"empty_column.notifications": "Hêj hişyariyên te tunene. Dema ku mirovên din bi we re têkilî danîn, hûn ê wê li vir bibînin.",
+2
View File
@@ -753,6 +753,7 @@
"privacy.unlisted.short": "恬靜公開",
"privacy_policy.last_updated": "上尾更新tī:{date}",
"privacy_policy.title": "隱私權政策",
"quote_error.edit": "佇編輯PO文ê時陣bē當加引文。",
"quote_error.poll": "有投票ê PO文bē當引用。",
"quote_error.quote": "Tsi̍t改kan-ta ē當引用tsi̍t篇PO文。",
"quote_error.unauthorized": "Lí bô權利引用tsit篇PO文。",
@@ -875,6 +876,7 @@
"status.contains_quote": "包含引用",
"status.context.loading": "載入其他回應",
"status.context.loading_error": "Bē當載入新回應",
"status.context.loading_success": "新ê回應載入ah",
"status.context.more_replies_found": "Tshuē-tio̍h其他回應",
"status.context.retry": "Koh試",
"status.context.show": "顯示",
+2 -1
View File
@@ -876,6 +876,7 @@
"status.contains_quote": "Bevat citaat",
"status.context.loading": "Meer reacties laden",
"status.context.loading_error": "Kon geen nieuwe reacties laden",
"status.context.loading_success": "Nieuwe reacties geladen",
"status.context.more_replies_found": "Meer reacties gevonden",
"status.context.retry": "Opnieuw proberen",
"status.context.show": "Tonen",
@@ -911,7 +912,7 @@
"status.quote_error.limited_account_hint.action": "Alsnog tonen",
"status.quote_error.limited_account_hint.title": "Dit account is door de moderatoren van {domain} verborgen.",
"status.quote_error.not_available": "Bericht niet beschikbaar",
"status.quote_error.pending_approval": "Bericht in afwachting",
"status.quote_error.pending_approval": "Bericht in afwachting van goedkeuring",
"status.quote_error.pending_approval_popout.body": "Op Mastodon kun je bepalen of iemand je mag citeren. Dit bericht is in afwachting van de goedkeuring van de oorspronkelijke auteur.",
"status.quote_error.revoked": "Bericht verwijderd door auteur",
"status.quote_followers_only": "Alleen volgers mogen dit bericht citeren",
+2
View File
@@ -753,6 +753,7 @@
"privacy.unlisted.short": "Stille offentleg",
"privacy_policy.last_updated": "Sist oppdatert {date}",
"privacy_policy.title": "Personvernsreglar",
"quote_error.edit": "Du kan ikkje leggja til sitat når du redigerer eit innlegg.",
"quote_error.poll": "Du kan ikkje sitera meiningsmålingar.",
"quote_error.quote": "Det er berre lov med eitt sitat om gongen.",
"quote_error.unauthorized": "Du har ikkje løyve til å sitera dette innlegget.",
@@ -875,6 +876,7 @@
"status.contains_quote": "Inneheld eit sitat",
"status.context.loading": "Lastar fleire svar",
"status.context.loading_error": "Kunne ikkje lasta nye svar",
"status.context.loading_success": "Dei nye svara er lasta",
"status.context.more_replies_found": "Fann fleire svar",
"status.context.retry": "Prøv om att",
"status.context.show": "Vis",
+1
View File
@@ -872,6 +872,7 @@
"status.contains_quote": "Përmban citim",
"status.context.loading": "Po ngarkohen më tepër përgjigje",
"status.context.loading_error": "S’u ngarkuan dot përgjigje të reja",
"status.context.loading_success": "U ngarkuan përgjigje të reja",
"status.context.more_replies_found": "U gjetën më tepër përgjigje",
"status.context.retry": "Riprovoni",
"status.context.show": "Shfaqe",