Merge pull request #2841 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a021dee642
			
			
This commit is contained in:
		
						commit
						7cfa8bb782
					
				|  | @ -458,7 +458,7 @@ GEM | ||||||
|     nokogiri (1.16.7) |     nokogiri (1.16.7) | ||||||
|       mini_portile2 (~> 2.8.2) |       mini_portile2 (~> 2.8.2) | ||||||
|       racc (~> 1.4) |       racc (~> 1.4) | ||||||
|     oj (3.16.5) |     oj (3.16.6) | ||||||
|       bigdecimal (>= 3.0) |       bigdecimal (>= 3.0) | ||||||
|       ostruct (>= 0.2) |       ostruct (>= 0.2) | ||||||
|     omniauth (2.1.2) |     omniauth (2.1.2) | ||||||
|  |  | ||||||
|  | @ -150,11 +150,13 @@ export default class StatusPrepend extends PureComponent { | ||||||
| 
 | 
 | ||||||
|     return !type ? null : ( |     return !type ? null : ( | ||||||
|       <aside className={type === 'reblogged_by' || type === 'featured' ? 'status__prepend' : 'notification__message'}> |       <aside className={type === 'reblogged_by' || type === 'featured' ? 'status__prepend' : 'notification__message'}> | ||||||
|  |         <div className='status__prepend__icon'> | ||||||
|           <Icon |           <Icon | ||||||
|           className={`status__prepend-icon ${type === 'favourite' ? 'star-icon' : ''}`} |             className={type === 'favourite' ? 'star-icon' : null} | ||||||
|             id={iconId} |             id={iconId} | ||||||
|             icon={iconComponent} |             icon={iconComponent} | ||||||
|           /> |           /> | ||||||
|  |         </div> | ||||||
|         <Message /> |         <Message /> | ||||||
|         {children} |         {children} | ||||||
|       </aside> |       </aside> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,50 @@ | ||||||
|  | import { FormattedMessage } from 'react-intl'; | ||||||
|  | 
 | ||||||
|  | import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; | ||||||
|  | import { Icon } from 'flavours/glitch/components/icon'; | ||||||
|  | import { DisplayedName } from 'flavours/glitch/features/notifications_v2/components/displayed_name'; | ||||||
|  | import { useAppSelector } from 'flavours/glitch/store'; | ||||||
|  | 
 | ||||||
|  | export const StatusThreadLabel: React.FC<{ | ||||||
|  |   accountId: string; | ||||||
|  |   inReplyToAccountId: string; | ||||||
|  | }> = ({ accountId, inReplyToAccountId }) => { | ||||||
|  |   const inReplyToAccount = useAppSelector((state) => | ||||||
|  |     state.accounts.get(inReplyToAccountId), | ||||||
|  |   ); | ||||||
|  | 
 | ||||||
|  |   let label; | ||||||
|  | 
 | ||||||
|  |   if (accountId === inReplyToAccountId) { | ||||||
|  |     label = ( | ||||||
|  |       <FormattedMessage | ||||||
|  |         id='status.continued_thread' | ||||||
|  |         defaultMessage='Continued thread' | ||||||
|  |       /> | ||||||
|  |     ); | ||||||
|  |   } else if (inReplyToAccount) { | ||||||
|  |     label = ( | ||||||
|  |       <FormattedMessage | ||||||
|  |         id='status.replied_to' | ||||||
|  |         defaultMessage='Replied to {name}' | ||||||
|  |         values={{ name: <DisplayedName accountIds={[inReplyToAccountId]} /> }} | ||||||
|  |       /> | ||||||
|  |     ); | ||||||
|  |   } else { | ||||||
|  |     label = ( | ||||||
|  |       <FormattedMessage | ||||||
|  |         id='status.replied_in_thread' | ||||||
|  |         defaultMessage='Replied in thread' | ||||||
|  |       /> | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   return ( | ||||||
|  |     <div className='status__prepend'> | ||||||
|  |       <div className='status__prepend__icon'> | ||||||
|  |         <Icon id='reply' icon={ReplyIcon} /> | ||||||
|  |       </div> | ||||||
|  |       {label} | ||||||
|  |     </div> | ||||||
|  |   ); | ||||||
|  | }; | ||||||
|  | @ -1776,15 +1776,29 @@ body > [data-popper-placement] { | ||||||
| .status__prepend { | .status__prepend { | ||||||
|   padding: 8px 14px; // glitch: reduced padding |   padding: 8px 14px; // glitch: reduced padding | ||||||
|   padding-bottom: 0; |   padding-bottom: 0; | ||||||
|   display: inline-flex; |   display: flex; | ||||||
|   gap: 10px; |   align-items: center; | ||||||
|  |   gap: 8px; | ||||||
|   font-size: 14px; |   font-size: 14px; | ||||||
|   line-height: 22px; |   line-height: 22px; | ||||||
|   font-weight: 500; |   font-weight: 500; | ||||||
|   color: $dark-text-color; |   color: $dark-text-color; | ||||||
| 
 | 
 | ||||||
|   .status__display-name strong { |   &__icon { | ||||||
|     color: $dark-text-color; |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: center; | ||||||
|  |     flex: 0 0 auto; | ||||||
|  | 
 | ||||||
|  |     .icon { | ||||||
|  |       width: 16px; | ||||||
|  |       height: 16px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   a { | ||||||
|  |     color: inherit; | ||||||
|  |     text-decoration: none; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   > span { |   > span { | ||||||
|  |  | ||||||
|  | @ -12,7 +12,6 @@ import { HotKeys } from 'react-hotkeys'; | ||||||
| import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; | import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; | ||||||
| import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react'; | import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react'; | ||||||
| import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; | import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react'; | ||||||
| import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; |  | ||||||
| import { ContentWarning } from 'mastodon/components/content_warning'; | import { ContentWarning } from 'mastodon/components/content_warning'; | ||||||
| import { FilterWarning } from 'mastodon/components/filter_warning'; | import { FilterWarning } from 'mastodon/components/filter_warning'; | ||||||
| import { Icon }  from 'mastodon/components/icon'; | import { Icon }  from 'mastodon/components/icon'; | ||||||
|  | @ -34,6 +33,7 @@ import { getHashtagBarForStatus } from './hashtag_bar'; | ||||||
| import { RelativeTimestamp } from './relative_timestamp'; | import { RelativeTimestamp } from './relative_timestamp'; | ||||||
| import StatusActionBar from './status_action_bar'; | import StatusActionBar from './status_action_bar'; | ||||||
| import StatusContent from './status_content'; | import StatusContent from './status_content'; | ||||||
|  | import { StatusThreadLabel } from './status_thread_label'; | ||||||
| import { VisibilityIcon } from './visibility_icon'; | import { VisibilityIcon } from './visibility_icon'; | ||||||
| 
 | 
 | ||||||
| const domParser = new DOMParser(); | const domParser = new DOMParser(); | ||||||
|  | @ -413,7 +413,7 @@ class Status extends ImmutablePureComponent { | ||||||
|     if (featured) { |     if (featured) { | ||||||
|       prepend = ( |       prepend = ( | ||||||
|         <div className='status__prepend'> |         <div className='status__prepend'> | ||||||
|           <div className='status__prepend-icon-wrapper'><Icon id='thumb-tack' icon={PushPinIcon} className='status__prepend-icon' /></div> |           <div className='status__prepend__icon'><Icon id='thumb-tack' icon={PushPinIcon} /></div> | ||||||
|           <FormattedMessage id='status.pinned' defaultMessage='Pinned post' /> |           <FormattedMessage id='status.pinned' defaultMessage='Pinned post' /> | ||||||
|         </div> |         </div> | ||||||
|       ); |       ); | ||||||
|  | @ -422,7 +422,7 @@ class Status extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|       prepend = ( |       prepend = ( | ||||||
|         <div className='status__prepend'> |         <div className='status__prepend'> | ||||||
|           <div className='status__prepend-icon-wrapper'><Icon id='retweet' icon={RepeatIcon} className='status__prepend-icon' /></div> |           <div className='status__prepend__icon'><Icon id='retweet' icon={RepeatIcon} /></div> | ||||||
|           <FormattedMessage id='status.reblogged_by' defaultMessage='{name} boosted' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} data-hover-card-account={status.getIn(['account', 'id'])} href={`/@${status.getIn(['account', 'acct'])}`} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} /> |           <FormattedMessage id='status.reblogged_by' defaultMessage='{name} boosted' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} data-hover-card-account={status.getIn(['account', 'id'])} href={`/@${status.getIn(['account', 'acct'])}`} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} /> | ||||||
|         </div> |         </div> | ||||||
|       ); |       ); | ||||||
|  | @ -434,18 +434,13 @@ class Status extends ImmutablePureComponent { | ||||||
|     } else if (status.get('visibility') === 'direct') { |     } else if (status.get('visibility') === 'direct') { | ||||||
|       prepend = ( |       prepend = ( | ||||||
|         <div className='status__prepend'> |         <div className='status__prepend'> | ||||||
|           <div className='status__prepend-icon-wrapper'><Icon id='at' icon={AlternateEmailIcon} className='status__prepend-icon' /></div> |           <div className='status__prepend__icon'><Icon id='at' icon={AlternateEmailIcon} /></div> | ||||||
|           <FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' /> |           <FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' /> | ||||||
|         </div> |         </div> | ||||||
|       ); |       ); | ||||||
|     } else if (showThread && status.get('in_reply_to_id') && status.get('in_reply_to_account_id') === status.getIn(['account', 'id'])) { |     } else if (showThread && status.get('in_reply_to_id')) { | ||||||
|       const display_name_html = { __html: status.getIn(['account', 'display_name_html']) }; |  | ||||||
| 
 |  | ||||||
|       prepend = ( |       prepend = ( | ||||||
|         <div className='status__prepend'> |         <StatusThreadLabel accountId={status.getIn(['account', 'id'])} inReplyToAccountId={status.get('in_reply_to_account_id')} /> | ||||||
|           <div className='status__prepend-icon-wrapper'><Icon id='reply' icon={ReplyIcon} className='status__prepend-icon' /></div> |  | ||||||
|           <FormattedMessage id='status.replied_to' defaultMessage='Replied to {name}' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} data-hover-card-account={status.getIn(['account', 'id'])} href={`/@${status.getIn(['account', 'acct'])}`} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} /> |  | ||||||
|         </div> |  | ||||||
|       ); |       ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,50 @@ | ||||||
|  | import { FormattedMessage } from 'react-intl'; | ||||||
|  | 
 | ||||||
|  | import ReplyIcon from '@/material-icons/400-24px/reply.svg?react'; | ||||||
|  | import { Icon } from 'mastodon/components/icon'; | ||||||
|  | import { DisplayedName } from 'mastodon/features/notifications_v2/components/displayed_name'; | ||||||
|  | import { useAppSelector } from 'mastodon/store'; | ||||||
|  | 
 | ||||||
|  | export const StatusThreadLabel: React.FC<{ | ||||||
|  |   accountId: string; | ||||||
|  |   inReplyToAccountId: string; | ||||||
|  | }> = ({ accountId, inReplyToAccountId }) => { | ||||||
|  |   const inReplyToAccount = useAppSelector((state) => | ||||||
|  |     state.accounts.get(inReplyToAccountId), | ||||||
|  |   ); | ||||||
|  | 
 | ||||||
|  |   let label; | ||||||
|  | 
 | ||||||
|  |   if (accountId === inReplyToAccountId) { | ||||||
|  |     label = ( | ||||||
|  |       <FormattedMessage | ||||||
|  |         id='status.continued_thread' | ||||||
|  |         defaultMessage='Continued thread' | ||||||
|  |       /> | ||||||
|  |     ); | ||||||
|  |   } else if (inReplyToAccount) { | ||||||
|  |     label = ( | ||||||
|  |       <FormattedMessage | ||||||
|  |         id='status.replied_to' | ||||||
|  |         defaultMessage='Replied to {name}' | ||||||
|  |         values={{ name: <DisplayedName accountIds={[inReplyToAccountId]} /> }} | ||||||
|  |       /> | ||||||
|  |     ); | ||||||
|  |   } else { | ||||||
|  |     label = ( | ||||||
|  |       <FormattedMessage | ||||||
|  |         id='status.replied_in_thread' | ||||||
|  |         defaultMessage='Replied in thread' | ||||||
|  |       /> | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   return ( | ||||||
|  |     <div className='status__prepend'> | ||||||
|  |       <div className='status__prepend__icon'> | ||||||
|  |         <Icon id='reply' icon={ReplyIcon} /> | ||||||
|  |       </div> | ||||||
|  |       {label} | ||||||
|  |     </div> | ||||||
|  |   ); | ||||||
|  | }; | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Marca", |   "status.bookmark": "Marca", | ||||||
|   "status.cancel_reblog_private": "Desfés l'impuls", |   "status.cancel_reblog_private": "Desfés l'impuls", | ||||||
|   "status.cannot_reblog": "No es pot impulsar aquest tut", |   "status.cannot_reblog": "No es pot impulsar aquest tut", | ||||||
|  |   "status.continued_thread": "Continuació del fil", | ||||||
|   "status.copy": "Copia l'enllaç al tut", |   "status.copy": "Copia l'enllaç al tut", | ||||||
|   "status.delete": "Elimina", |   "status.delete": "Elimina", | ||||||
|   "status.detailed_status": "Vista detallada de la conversa", |   "status.detailed_status": "Vista detallada de la conversa", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Encara no ha impulsat ningú aquest tut. Quan algú ho faci, apareixerà aquí.", |   "status.reblogs.empty": "Encara no ha impulsat ningú aquest tut. Quan algú ho faci, apareixerà aquí.", | ||||||
|   "status.redraft": "Esborra i reescriu", |   "status.redraft": "Esborra i reescriu", | ||||||
|   "status.remove_bookmark": "Elimina el marcador", |   "status.remove_bookmark": "Elimina el marcador", | ||||||
|  |   "status.replied_in_thread": "Respost al fil", | ||||||
|   "status.replied_to": "En resposta a {name}", |   "status.replied_to": "En resposta a {name}", | ||||||
|   "status.reply": "Respon", |   "status.reply": "Respon", | ||||||
|   "status.replyAll": "Respon al fil", |   "status.replyAll": "Respon al fil", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Bogmærk", |   "status.bookmark": "Bogmærk", | ||||||
|   "status.cancel_reblog_private": "Fjern boost", |   "status.cancel_reblog_private": "Fjern boost", | ||||||
|   "status.cannot_reblog": "Dette indlæg kan ikke fremhæves", |   "status.cannot_reblog": "Dette indlæg kan ikke fremhæves", | ||||||
|  |   "status.continued_thread": "Fortsat tråd", | ||||||
|   "status.copy": "Kopiér link til indlæg", |   "status.copy": "Kopiér link til indlæg", | ||||||
|   "status.delete": "Slet", |   "status.delete": "Slet", | ||||||
|   "status.detailed_status": "Detaljeret samtalevisning", |   "status.detailed_status": "Detaljeret samtalevisning", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Ingen har endnu fremhævet dette indlæg. Når nogen gør, vil det fremgå hér.", |   "status.reblogs.empty": "Ingen har endnu fremhævet dette indlæg. Når nogen gør, vil det fremgå hér.", | ||||||
|   "status.redraft": "Slet og omformulér", |   "status.redraft": "Slet og omformulér", | ||||||
|   "status.remove_bookmark": "Fjern bogmærke", |   "status.remove_bookmark": "Fjern bogmærke", | ||||||
|  |   "status.replied_in_thread": "Svaret i tråd", | ||||||
|   "status.replied_to": "Besvarede {name}", |   "status.replied_to": "Besvarede {name}", | ||||||
|   "status.reply": "Besvar", |   "status.reply": "Besvar", | ||||||
|   "status.replyAll": "Besvar alle", |   "status.replyAll": "Besvar alle", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Beitrag als Lesezeichen setzen", |   "status.bookmark": "Beitrag als Lesezeichen setzen", | ||||||
|   "status.cancel_reblog_private": "Beitrag nicht mehr teilen", |   "status.cancel_reblog_private": "Beitrag nicht mehr teilen", | ||||||
|   "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden", |   "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden", | ||||||
|  |   "status.continued_thread": "Fortgeführter Thread", | ||||||
|   "status.copy": "Link zum Beitrag kopieren", |   "status.copy": "Link zum Beitrag kopieren", | ||||||
|   "status.delete": "Beitrag löschen", |   "status.delete": "Beitrag löschen", | ||||||
|   "status.detailed_status": "Detaillierte Ansicht der Unterhaltung", |   "status.detailed_status": "Detaillierte Ansicht der Unterhaltung", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Diesen Beitrag hat bisher noch niemand geteilt. Sobald es jemand tut, wird das Profil hier erscheinen.", |   "status.reblogs.empty": "Diesen Beitrag hat bisher noch niemand geteilt. Sobald es jemand tut, wird das Profil hier erscheinen.", | ||||||
|   "status.redraft": "Löschen und neu erstellen", |   "status.redraft": "Löschen und neu erstellen", | ||||||
|   "status.remove_bookmark": "Lesezeichen entfernen", |   "status.remove_bookmark": "Lesezeichen entfernen", | ||||||
|  |   "status.replied_in_thread": "Antwortete im Thread", | ||||||
|   "status.replied_to": "Antwortete {name}", |   "status.replied_to": "Antwortete {name}", | ||||||
|   "status.reply": "Antworten", |   "status.reply": "Antworten", | ||||||
|   "status.replyAll": "Allen antworten", |   "status.replyAll": "Allen antworten", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Bookmark", |   "status.bookmark": "Bookmark", | ||||||
|   "status.cancel_reblog_private": "Unboost", |   "status.cancel_reblog_private": "Unboost", | ||||||
|   "status.cannot_reblog": "This post cannot be boosted", |   "status.cannot_reblog": "This post cannot be boosted", | ||||||
|  |   "status.continued_thread": "Continued thread", | ||||||
|   "status.copy": "Copy link to post", |   "status.copy": "Copy link to post", | ||||||
|   "status.delete": "Delete", |   "status.delete": "Delete", | ||||||
|   "status.detailed_status": "Detailed conversation view", |   "status.detailed_status": "Detailed conversation view", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.", |   "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.", | ||||||
|   "status.redraft": "Delete & re-draft", |   "status.redraft": "Delete & re-draft", | ||||||
|   "status.remove_bookmark": "Remove bookmark", |   "status.remove_bookmark": "Remove bookmark", | ||||||
|  |   "status.replied_in_thread": "Replied in thread", | ||||||
|   "status.replied_to": "Replied to {name}", |   "status.replied_to": "Replied to {name}", | ||||||
|   "status.reply": "Reply", |   "status.reply": "Reply", | ||||||
|   "status.replyAll": "Reply to thread", |   "status.replyAll": "Reply to thread", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Marcar", |   "status.bookmark": "Marcar", | ||||||
|   "status.cancel_reblog_private": "Quitar adhesión", |   "status.cancel_reblog_private": "Quitar adhesión", | ||||||
|   "status.cannot_reblog": "No se puede adherir a este mensaje", |   "status.cannot_reblog": "No se puede adherir a este mensaje", | ||||||
|  |   "status.continued_thread": "Continuación de hilo", | ||||||
|   "status.copy": "Copiar enlace al mensaje", |   "status.copy": "Copiar enlace al mensaje", | ||||||
|   "status.delete": "Eliminar", |   "status.delete": "Eliminar", | ||||||
|   "status.detailed_status": "Vista de conversación detallada", |   "status.detailed_status": "Vista de conversación detallada", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Todavía nadie adhirió a este mensaje. Cuando alguien lo haga, se mostrará acá.", |   "status.reblogs.empty": "Todavía nadie adhirió a este mensaje. Cuando alguien lo haga, se mostrará acá.", | ||||||
|   "status.redraft": "Eliminar mensaje original y editarlo", |   "status.redraft": "Eliminar mensaje original y editarlo", | ||||||
|   "status.remove_bookmark": "Quitar marcador", |   "status.remove_bookmark": "Quitar marcador", | ||||||
|  |   "status.replied_in_thread": "Respuesta en hilo", | ||||||
|   "status.replied_to": "Respondió a {name}", |   "status.replied_to": "Respondió a {name}", | ||||||
|   "status.reply": "Responder", |   "status.reply": "Responder", | ||||||
|   "status.replyAll": "Responder al hilo", |   "status.replyAll": "Responder al hilo", | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| { | { | ||||||
|   "about.blocks": "Moderoidut palvelimet", |   "about.blocks": "Moderoidut palvelimet", | ||||||
|   "about.contact": "Yhteystiedot:", |   "about.contact": "Yhteydenotto:", | ||||||
|   "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", |   "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", | ||||||
|   "about.domain_blocks.no_reason_available": "Syy ei ole tiedossa", |   "about.domain_blocks.no_reason_available": "Syy ei ole tiedossa", | ||||||
|   "about.domain_blocks.preamble": "Mastodonin avulla voi yleensä tarkastella minkä tahansa fediversumiin kuuluvan palvelimen sisältöä ja olla yhteyksissä eri palvelinten käyttäjien kanssa. Nämä poikkeukset koskevat yksin tätä palvelinta.", |   "about.domain_blocks.preamble": "Mastodonin avulla voi yleensä tarkastella minkä tahansa fediversumiin kuuluvan palvelimen sisältöä ja olla yhteyksissä eri palvelinten käyttäjien kanssa. Nämä poikkeukset koskevat yksin tätä palvelinta.", | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Lisää kirjanmerkki", |   "status.bookmark": "Lisää kirjanmerkki", | ||||||
|   "status.cancel_reblog_private": "Peru tehostus", |   "status.cancel_reblog_private": "Peru tehostus", | ||||||
|   "status.cannot_reblog": "Tätä julkaisua ei voi tehostaa", |   "status.cannot_reblog": "Tätä julkaisua ei voi tehostaa", | ||||||
|  |   "status.continued_thread": "Jatkoi ketjua", | ||||||
|   "status.copy": "Kopioi linkki julkaisuun", |   "status.copy": "Kopioi linkki julkaisuun", | ||||||
|   "status.delete": "Poista", |   "status.delete": "Poista", | ||||||
|   "status.detailed_status": "Yksityiskohtainen keskustelunäkymä", |   "status.detailed_status": "Yksityiskohtainen keskustelunäkymä", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä julkaisua. Kun joku tekee niin, tulee hän tähän näkyviin.", |   "status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä julkaisua. Kun joku tekee niin, tulee hän tähän näkyviin.", | ||||||
|   "status.redraft": "Poista ja palauta muokattavaksi", |   "status.redraft": "Poista ja palauta muokattavaksi", | ||||||
|   "status.remove_bookmark": "Poista kirjanmerkki", |   "status.remove_bookmark": "Poista kirjanmerkki", | ||||||
|  |   "status.replied_in_thread": "Vastasi ketjuun", | ||||||
|   "status.replied_to": "Vastaus käyttäjälle {name}", |   "status.replied_to": "Vastaus käyttäjälle {name}", | ||||||
|   "status.reply": "Vastaa", |   "status.reply": "Vastaa", | ||||||
|   "status.replyAll": "Vastaa ketjuun", |   "status.replyAll": "Vastaa ketjuun", | ||||||
|  |  | ||||||
|  | @ -223,7 +223,7 @@ | ||||||
|   "domain_block_modal.title": "Bloquear dominio?", |   "domain_block_modal.title": "Bloquear dominio?", | ||||||
|   "domain_block_modal.you_will_lose_followers": "Vanse eliminar todas as túas seguidoras deste servidor.", |   "domain_block_modal.you_will_lose_followers": "Vanse eliminar todas as túas seguidoras deste servidor.", | ||||||
|   "domain_block_modal.you_wont_see_posts": "Non verás publicacións ou notificacións das usuarias deste servidor.", |   "domain_block_modal.you_wont_see_posts": "Non verás publicacións ou notificacións das usuarias deste servidor.", | ||||||
|   "domain_pill.activitypub_lets_connect": "Permíteche conectar e interactuar con persoas non só de Mastodon, se non tamén con outras apps sociais.", |   "domain_pill.activitypub_lets_connect": "Permíteche conectar e interactuar con persoas non só de Mastodon, se non tamén con outras  sociais.", | ||||||
|   "domain_pill.activitypub_like_language": "ActivityPub é algo así como o idioma que Mastodon fala con outras redes sociais.", |   "domain_pill.activitypub_like_language": "ActivityPub é algo así como o idioma que Mastodon fala con outras redes sociais.", | ||||||
|   "domain_pill.server": "Servidor", |   "domain_pill.server": "Servidor", | ||||||
|   "domain_pill.their_handle": "O seu alcume:", |   "domain_pill.their_handle": "O seu alcume:", | ||||||
|  | @ -231,8 +231,8 @@ | ||||||
|   "domain_pill.their_username": "O seu identificador único no seu servidor. É posible atopar usuarias co mesmo nome de usuaria en diferentes servidores.", |   "domain_pill.their_username": "O seu identificador único no seu servidor. É posible atopar usuarias co mesmo nome de usuaria en diferentes servidores.", | ||||||
|   "domain_pill.username": "Nome de usuaria", |   "domain_pill.username": "Nome de usuaria", | ||||||
|   "domain_pill.whats_in_a_handle": "As partes do alcume?", |   "domain_pill.whats_in_a_handle": "As partes do alcume?", | ||||||
|   "domain_pill.who_they_are": "O alcume dinos quen é esa persoa e onde está, para que poidas interactuar con ela en toda a web social de <button>plataformas ActivityPub</button>.", |   "domain_pill.who_they_are": "O alcume dinos quen é esa persoa e onde está, para que poidas interactuar con ela en toda a web social das <button>plataformas ActivityPub</button>.", | ||||||
|   "domain_pill.who_you_are": "Como o teu alcume informa de quen es e onde estás, as persoas poden interactuar contigo desde toda a web social de <button>plataformas ActivityPub</button>.", |   "domain_pill.who_you_are": "Como o teu alcume informa de quen es e onde estás, as persoas poden interactuar contigo desde toda a web social das <button>plataformas ActivityPub</button>.", | ||||||
|   "domain_pill.your_handle": "O teu alcume:", |   "domain_pill.your_handle": "O teu alcume:", | ||||||
|   "domain_pill.your_server": "O teu fogar dixital, onde están as túas publicacións. Non é do teu agrado? Podes cambiar de servidor cando queiras levando as túas seguidoras contigo.", |   "domain_pill.your_server": "O teu fogar dixital, onde están as túas publicacións. Non é do teu agrado? Podes cambiar de servidor cando queiras levando as túas seguidoras contigo.", | ||||||
|   "domain_pill.your_username": "O teu identificador único neste servidor. É posible que atopes usuarias co mesmo nome de usuaria en outros servidores.", |   "domain_pill.your_username": "O teu identificador único neste servidor. É posible que atopes usuarias co mesmo nome de usuaria en outros servidores.", | ||||||
|  | @ -272,7 +272,7 @@ | ||||||
|   "empty_column.list": "Aínda non hai nada nesta listaxe. Cando as usuarias incluídas na listaxe publiquen mensaxes, amosaranse aquí.", |   "empty_column.list": "Aínda non hai nada nesta listaxe. Cando as usuarias incluídas na listaxe publiquen mensaxes, amosaranse aquí.", | ||||||
|   "empty_column.lists": "Aínda non tes listaxes. Cando crees unha, amosarase aquí.", |   "empty_column.lists": "Aínda non tes listaxes. Cando crees unha, amosarase aquí.", | ||||||
|   "empty_column.mutes": "Aínda non silenciaches a ningúnha usuaria.", |   "empty_column.mutes": "Aínda non silenciaches a ningúnha usuaria.", | ||||||
|   "empty_column.notification_requests": "Todo ben! Nada por aquí. Cando recibas novas notificación aparecerán aquí seguindo o criterio dos teus axustes.", |   "empty_column.notification_requests": "Todo ben! Nada por aquí. Cando recibas novas notificacións aparecerán aquí seguindo o criterio dos teus axustes.", | ||||||
|   "empty_column.notifications": "Aínda non tes notificacións. Aparecerán cando outras persoas interactúen contigo.", |   "empty_column.notifications": "Aínda non tes notificacións. Aparecerán cando outras persoas interactúen contigo.", | ||||||
|   "empty_column.public": "Nada por aquí! Escribe algo de xeito público, ou segue de xeito manual usuarias doutros servidores para ir enchéndoo", |   "empty_column.public": "Nada por aquí! Escribe algo de xeito público, ou segue de xeito manual usuarias doutros servidores para ir enchéndoo", | ||||||
|   "error.unexpected_crash.explanation": "Debido a un erro no noso código ou a unha compatilidade co teu navegador, esta páxina non pode ser amosada correctamente.", |   "error.unexpected_crash.explanation": "Debido a un erro no noso código ou a unha compatilidade co teu navegador, esta páxina non pode ser amosada correctamente.", | ||||||
|  | @ -641,7 +641,7 @@ | ||||||
|   "onboarding.steps.publish_status.title": "Escribe a túa primeira publicación", |   "onboarding.steps.publish_status.title": "Escribe a túa primeira publicación", | ||||||
|   "onboarding.steps.setup_profile.body": "Ao engadir información ao teu perfil é máis probable que teñas máis interaccións.", |   "onboarding.steps.setup_profile.body": "Ao engadir información ao teu perfil é máis probable que teñas máis interaccións.", | ||||||
|   "onboarding.steps.setup_profile.title": "Personaliza o perfil", |   "onboarding.steps.setup_profile.title": "Personaliza o perfil", | ||||||
|   "onboarding.steps.share_profile.body": "Dille ás amizades como poden atoparte en Mastodon!", |   "onboarding.steps.share_profile.body": "Dille ás amizades como poden atoparte en Mastodon.", | ||||||
|   "onboarding.steps.share_profile.title": "Comparte o teu perfil en Mastodon", |   "onboarding.steps.share_profile.title": "Comparte o teu perfil en Mastodon", | ||||||
|   "onboarding.tips.2fa": "<strong>Sabes que?</strong> Podes protexer a túa conta configurando un segundo factor de autenticación nos axustes. Funciona con calquera app TOTP, non precisas un número de teléfono!", |   "onboarding.tips.2fa": "<strong>Sabes que?</strong> Podes protexer a túa conta configurando un segundo factor de autenticación nos axustes. Funciona con calquera app TOTP, non precisas un número de teléfono!", | ||||||
|   "onboarding.tips.accounts_from_other_servers": "<strong>Sabes que?</strong> Como Mastodon é descentralizado, algúns perfís que atopes estarán en servidores diferentes ao teu. Pero podes interactuar igualmente con eles! O seu servidor é o que ven despois da @ no seu identificador!", |   "onboarding.tips.accounts_from_other_servers": "<strong>Sabes que?</strong> Como Mastodon é descentralizado, algúns perfís que atopes estarán en servidores diferentes ao teu. Pero podes interactuar igualmente con eles! O seu servidor é o que ven despois da @ no seu identificador!", | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Marcar", |   "status.bookmark": "Marcar", | ||||||
|   "status.cancel_reblog_private": "Desfacer compartido", |   "status.cancel_reblog_private": "Desfacer compartido", | ||||||
|   "status.cannot_reblog": "Esta publicación non pode ser promovida", |   "status.cannot_reblog": "Esta publicación non pode ser promovida", | ||||||
|  |   "status.continued_thread": "Continua co fío", | ||||||
|   "status.copy": "Copiar ligazón á publicación", |   "status.copy": "Copiar ligazón á publicación", | ||||||
|   "status.delete": "Eliminar", |   "status.delete": "Eliminar", | ||||||
|   "status.detailed_status": "Vista detallada da conversa", |   "status.detailed_status": "Vista detallada da conversa", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Aínda ninguén promoveu esta publicación. Cando alguén o faga, amosarase aquí.", |   "status.reblogs.empty": "Aínda ninguén promoveu esta publicación. Cando alguén o faga, amosarase aquí.", | ||||||
|   "status.redraft": "Eliminar e reescribir", |   "status.redraft": "Eliminar e reescribir", | ||||||
|   "status.remove_bookmark": "Eliminar marcador", |   "status.remove_bookmark": "Eliminar marcador", | ||||||
|  |   "status.replied_in_thread": "Respondeu nun fío", | ||||||
|   "status.replied_to": "Respondeu a {name}", |   "status.replied_to": "Respondeu a {name}", | ||||||
|   "status.reply": "Responder", |   "status.reply": "Responder", | ||||||
|   "status.replyAll": "Responder ao tema", |   "status.replyAll": "Responder ao tema", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "סימניה", |   "status.bookmark": "סימניה", | ||||||
|   "status.cancel_reblog_private": "הסרת הדהוד", |   "status.cancel_reblog_private": "הסרת הדהוד", | ||||||
|   "status.cannot_reblog": "לא ניתן להדהד חצרוץ זה", |   "status.cannot_reblog": "לא ניתן להדהד חצרוץ זה", | ||||||
|  |   "status.continued_thread": "שרשור מתמשך", | ||||||
|   "status.copy": "העתק/י קישור להודעה זו", |   "status.copy": "העתק/י קישור להודעה זו", | ||||||
|   "status.delete": "מחיקה", |   "status.delete": "מחיקה", | ||||||
|   "status.detailed_status": "תצוגת שיחה מפורטת", |   "status.detailed_status": "תצוגת שיחה מפורטת", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "עוד לא הידהדו את ההודעה הזו. כאשר זה יקרה, ההדהודים יופיעו כאן.", |   "status.reblogs.empty": "עוד לא הידהדו את ההודעה הזו. כאשר זה יקרה, ההדהודים יופיעו כאן.", | ||||||
|   "status.redraft": "מחיקה ועריכה מחדש", |   "status.redraft": "מחיקה ועריכה מחדש", | ||||||
|   "status.remove_bookmark": "הסרת סימניה", |   "status.remove_bookmark": "הסרת סימניה", | ||||||
|  |   "status.replied_in_thread": "תגובה לשרשור", | ||||||
|   "status.replied_to": "בתגובה לחשבון {name}", |   "status.replied_to": "בתגובה לחשבון {name}", | ||||||
|   "status.reply": "תגובה", |   "status.reply": "תגובה", | ||||||
|   "status.replyAll": "תגובה לשרשור", |   "status.replyAll": "תגובה לשרשור", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Könyvjelzőzés", |   "status.bookmark": "Könyvjelzőzés", | ||||||
|   "status.cancel_reblog_private": "Megtolás visszavonása", |   "status.cancel_reblog_private": "Megtolás visszavonása", | ||||||
|   "status.cannot_reblog": "Ezt a bejegyzést nem lehet megtolni", |   "status.cannot_reblog": "Ezt a bejegyzést nem lehet megtolni", | ||||||
|  |   "status.continued_thread": "Folytatott szál", | ||||||
|   "status.copy": "Link másolása bejegyzésbe", |   "status.copy": "Link másolása bejegyzésbe", | ||||||
|   "status.delete": "Törlés", |   "status.delete": "Törlés", | ||||||
|   "status.detailed_status": "Részletes beszélgetési nézet", |   "status.detailed_status": "Részletes beszélgetési nézet", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Senki sem tolta még meg ezt a bejegyzést. Ha valaki megteszi, itt fog megjelenni.", |   "status.reblogs.empty": "Senki sem tolta még meg ezt a bejegyzést. Ha valaki megteszi, itt fog megjelenni.", | ||||||
|   "status.redraft": "Törlés és újraírás", |   "status.redraft": "Törlés és újraírás", | ||||||
|   "status.remove_bookmark": "Könyvjelző eltávolítása", |   "status.remove_bookmark": "Könyvjelző eltávolítása", | ||||||
|  |   "status.replied_in_thread": "Válaszolva a szálban", | ||||||
|   "status.replied_to": "Megválaszolva {name} számára", |   "status.replied_to": "Megválaszolva {name} számára", | ||||||
|   "status.reply": "Válasz", |   "status.reply": "Válasz", | ||||||
|   "status.replyAll": "Válasz a beszélgetésre", |   "status.replyAll": "Válasz a beszélgetésre", | ||||||
|  |  | ||||||
|  | @ -770,6 +770,7 @@ | ||||||
|   "status.bookmark": "Pridėti į žymės", |   "status.bookmark": "Pridėti į žymės", | ||||||
|   "status.cancel_reblog_private": "Nebepakelti", |   "status.cancel_reblog_private": "Nebepakelti", | ||||||
|   "status.cannot_reblog": "Šis įrašas negali būti pakeltas.", |   "status.cannot_reblog": "Šis įrašas negali būti pakeltas.", | ||||||
|  |   "status.continued_thread": "Tęsiama gijoje", | ||||||
|   "status.copy": "Kopijuoti nuorodą į įrašą", |   "status.copy": "Kopijuoti nuorodą į įrašą", | ||||||
|   "status.delete": "Ištrinti", |   "status.delete": "Ištrinti", | ||||||
|   "status.detailed_status": "Išsami pokalbio peržiūra", |   "status.detailed_status": "Išsami pokalbio peržiūra", | ||||||
|  | @ -802,6 +803,7 @@ | ||||||
|   "status.reblogs.empty": "Šio įrašo dar niekas nepakėlė. Kai kas nors tai padarys, jie bus rodomi čia.", |   "status.reblogs.empty": "Šio įrašo dar niekas nepakėlė. Kai kas nors tai padarys, jie bus rodomi čia.", | ||||||
|   "status.redraft": "Ištrinti ir parengti iš naujo", |   "status.redraft": "Ištrinti ir parengti iš naujo", | ||||||
|   "status.remove_bookmark": "Pašalinti žymę", |   "status.remove_bookmark": "Pašalinti žymę", | ||||||
|  |   "status.replied_in_thread": "Atsakyta gijoje", | ||||||
|   "status.replied_to": "Atsakyta į {name}", |   "status.replied_to": "Atsakyta į {name}", | ||||||
|   "status.reply": "Atsakyti", |   "status.reply": "Atsakyti", | ||||||
|   "status.replyAll": "Atsakyti į giją", |   "status.replyAll": "Atsakyti į giją", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Bladwijzer toevoegen", |   "status.bookmark": "Bladwijzer toevoegen", | ||||||
|   "status.cancel_reblog_private": "Niet langer boosten", |   "status.cancel_reblog_private": "Niet langer boosten", | ||||||
|   "status.cannot_reblog": "Dit bericht kan niet geboost worden", |   "status.cannot_reblog": "Dit bericht kan niet geboost worden", | ||||||
|  |   "status.continued_thread": "Vervolgt het gesprek", | ||||||
|   "status.copy": "Link naar bericht kopiëren", |   "status.copy": "Link naar bericht kopiëren", | ||||||
|   "status.delete": "Verwijderen", |   "status.delete": "Verwijderen", | ||||||
|   "status.detailed_status": "Uitgebreide gespreksweergave", |   "status.detailed_status": "Uitgebreide gespreksweergave", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Niemand heeft dit bericht nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", |   "status.reblogs.empty": "Niemand heeft dit bericht nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", | ||||||
|   "status.redraft": "Verwijderen en herschrijven", |   "status.redraft": "Verwijderen en herschrijven", | ||||||
|   "status.remove_bookmark": "Bladwijzer verwijderen", |   "status.remove_bookmark": "Bladwijzer verwijderen", | ||||||
|  |   "status.replied_in_thread": "Reageerde in gesprek", | ||||||
|   "status.replied_to": "Reageerde op {name}", |   "status.replied_to": "Reageerde op {name}", | ||||||
|   "status.reply": "Reageren", |   "status.reply": "Reageren", | ||||||
|   "status.replyAll": "Op iedereen reageren", |   "status.replyAll": "Op iedereen reageren", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Dodaj zakładkę", |   "status.bookmark": "Dodaj zakładkę", | ||||||
|   "status.cancel_reblog_private": "Cofnij podbicie", |   "status.cancel_reblog_private": "Cofnij podbicie", | ||||||
|   "status.cannot_reblog": "Ten wpis nie może zostać podbity", |   "status.cannot_reblog": "Ten wpis nie może zostać podbity", | ||||||
|  |   "status.continued_thread": "Ciąg dalszy wątku", | ||||||
|   "status.copy": "Skopiuj odnośnik do wpisu", |   "status.copy": "Skopiuj odnośnik do wpisu", | ||||||
|   "status.delete": "Usuń", |   "status.delete": "Usuń", | ||||||
|   "status.detailed_status": "Szczegółowy widok konwersacji", |   "status.detailed_status": "Szczegółowy widok konwersacji", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Nikt nie podbił jeszcze tego wpisu. Gdy ktoś to zrobi, pojawi się tutaj.", |   "status.reblogs.empty": "Nikt nie podbił jeszcze tego wpisu. Gdy ktoś to zrobi, pojawi się tutaj.", | ||||||
|   "status.redraft": "Usuń i przeredaguj", |   "status.redraft": "Usuń i przeredaguj", | ||||||
|   "status.remove_bookmark": "Usuń zakładkę", |   "status.remove_bookmark": "Usuń zakładkę", | ||||||
|  |   "status.replied_in_thread": "Odpowiedź w wątku", | ||||||
|   "status.replied_to": "Odpowiedź do wpisu użytkownika {name}", |   "status.replied_to": "Odpowiedź do wpisu użytkownika {name}", | ||||||
|   "status.reply": "Odpowiedz", |   "status.reply": "Odpowiedz", | ||||||
|   "status.replyAll": "Odpowiedz na wątek", |   "status.replyAll": "Odpowiedz na wątek", | ||||||
|  |  | ||||||
|  | @ -278,7 +278,7 @@ | ||||||
|   "error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a um problema de compatibilidade do navegador, esta página não pôde ser apresentada corretamente.", |   "error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a um problema de compatibilidade do navegador, esta página não pôde ser apresentada corretamente.", | ||||||
|   "error.unexpected_crash.explanation_addons": "Esta página não pôde ser exibida corretamente. Este erro provavelmente é causado por um complemento do navegador ou ferramentas de tradução automática.", |   "error.unexpected_crash.explanation_addons": "Esta página não pôde ser exibida corretamente. Este erro provavelmente é causado por um complemento do navegador ou ferramentas de tradução automática.", | ||||||
|   "error.unexpected_crash.next_steps": "Tente atualizar a página. Se isso não ajudar, pode usar o Mastodon através de um navegador diferente ou uma aplicação nativa.", |   "error.unexpected_crash.next_steps": "Tente atualizar a página. Se isso não ajudar, pode usar o Mastodon através de um navegador diferente ou uma aplicação nativa.", | ||||||
|   "error.unexpected_crash.next_steps_addons": "Tente desabilitá-los e atualizar a página. Se isso não ajudar, você ainda poderá usar o Mastodon por meio de um navegador diferente ou de um aplicativo nativo.", |   "error.unexpected_crash.next_steps_addons": "Tente desativá-los e atualizar a página. Se isso não ajudar, poderá ainda ser possível utilizar o Mastodon através de um navegador diferente ou de uma aplicação nativa.", | ||||||
|   "errors.unexpected_crash.copy_stacktrace": "Copiar a stacktrace para o clipboard", |   "errors.unexpected_crash.copy_stacktrace": "Copiar a stacktrace para o clipboard", | ||||||
|   "errors.unexpected_crash.report_issue": "Reportar problema", |   "errors.unexpected_crash.report_issue": "Reportar problema", | ||||||
|   "explore.search_results": "Resultados da pesquisa", |   "explore.search_results": "Resultados da pesquisa", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Yer işareti ekle", |   "status.bookmark": "Yer işareti ekle", | ||||||
|   "status.cancel_reblog_private": "Yeniden paylaşımı geri al", |   "status.cancel_reblog_private": "Yeniden paylaşımı geri al", | ||||||
|   "status.cannot_reblog": "Bu gönderi yeniden paylaşılamaz", |   "status.cannot_reblog": "Bu gönderi yeniden paylaşılamaz", | ||||||
|  |   "status.continued_thread": "Devam eden akış", | ||||||
|   "status.copy": "Gönderi bağlantısını kopyala", |   "status.copy": "Gönderi bağlantısını kopyala", | ||||||
|   "status.delete": "Sil", |   "status.delete": "Sil", | ||||||
|   "status.detailed_status": "Ayrıntılı sohbet görünümü", |   "status.detailed_status": "Ayrıntılı sohbet görünümü", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "Henüz hiç kimse bu gönderiyi yeniden paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.", |   "status.reblogs.empty": "Henüz hiç kimse bu gönderiyi yeniden paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.", | ||||||
|   "status.redraft": "Sil,Düzenle ve Yeniden paylaş", |   "status.redraft": "Sil,Düzenle ve Yeniden paylaş", | ||||||
|   "status.remove_bookmark": "Yer işaretini kaldır", |   "status.remove_bookmark": "Yer işaretini kaldır", | ||||||
|  |   "status.replied_in_thread": "Akışta yanıtlandı", | ||||||
|   "status.replied_to": "{name} kullanıcısına yanıt verdi", |   "status.replied_to": "{name} kullanıcısına yanıt verdi", | ||||||
|   "status.reply": "Yanıtla", |   "status.reply": "Yanıtla", | ||||||
|   "status.replyAll": "Konuyu yanıtla", |   "status.replyAll": "Konuyu yanıtla", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "Додати до закладок", |   "status.bookmark": "Додати до закладок", | ||||||
|   "status.cancel_reblog_private": "Скасувати поширення", |   "status.cancel_reblog_private": "Скасувати поширення", | ||||||
|   "status.cannot_reblog": "Цей допис не може бути поширений", |   "status.cannot_reblog": "Цей допис не може бути поширений", | ||||||
|  |   "status.continued_thread": "Continued thread", | ||||||
|   "status.copy": "Копіювати посилання на допис", |   "status.copy": "Копіювати посилання на допис", | ||||||
|   "status.delete": "Видалити", |   "status.delete": "Видалити", | ||||||
|   "status.detailed_status": "Детальний вигляд бесіди", |   "status.detailed_status": "Детальний вигляд бесіди", | ||||||
|  |  | ||||||
|  | @ -95,7 +95,7 @@ | ||||||
|   "block_modal.they_cant_see_posts": "他们看不到你的嘟文,你也看不到他们的嘟文。", |   "block_modal.they_cant_see_posts": "他们看不到你的嘟文,你也看不到他们的嘟文。", | ||||||
|   "block_modal.they_will_know": "他们将能看到他们被屏蔽。", |   "block_modal.they_will_know": "他们将能看到他们被屏蔽。", | ||||||
|   "block_modal.title": "是否屏蔽该用户?", |   "block_modal.title": "是否屏蔽该用户?", | ||||||
|   "block_modal.you_wont_see_mentions": "你将无法看到提及他们的嘟文。", |   "block_modal.you_wont_see_mentions": "你将不会看到提及他们的嘟文。", | ||||||
|   "boost_modal.combo": "下次按住 {combo} 即可跳过此提示", |   "boost_modal.combo": "下次按住 {combo} 即可跳过此提示", | ||||||
|   "boost_modal.reblog": "是否转嘟?", |   "boost_modal.reblog": "是否转嘟?", | ||||||
|   "boost_modal.undo_reblog": "是否取消转嘟?", |   "boost_modal.undo_reblog": "是否取消转嘟?", | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "添加到书签", |   "status.bookmark": "添加到书签", | ||||||
|   "status.cancel_reblog_private": "取消转贴", |   "status.cancel_reblog_private": "取消转贴", | ||||||
|   "status.cannot_reblog": "这条嘟文不允许被转嘟", |   "status.cannot_reblog": "这条嘟文不允许被转嘟", | ||||||
|  |   "status.continued_thread": "继续线程", | ||||||
|   "status.copy": "复制嘟文链接", |   "status.copy": "复制嘟文链接", | ||||||
|   "status.delete": "删除", |   "status.delete": "删除", | ||||||
|   "status.detailed_status": "详细的对话视图", |   "status.detailed_status": "详细的对话视图", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。", |   "status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。", | ||||||
|   "status.redraft": "删除并重新编辑", |   "status.redraft": "删除并重新编辑", | ||||||
|   "status.remove_bookmark": "移除书签", |   "status.remove_bookmark": "移除书签", | ||||||
|  |   "status.replied_in_thread": "已在线程中回复", | ||||||
|   "status.replied_to": "回复给 {name}", |   "status.replied_to": "回复给 {name}", | ||||||
|   "status.reply": "回复", |   "status.reply": "回复", | ||||||
|   "status.replyAll": "回复所有人", |   "status.replyAll": "回复所有人", | ||||||
|  |  | ||||||
|  | @ -780,6 +780,7 @@ | ||||||
|   "status.bookmark": "書籤", |   "status.bookmark": "書籤", | ||||||
|   "status.cancel_reblog_private": "取消轉嘟", |   "status.cancel_reblog_private": "取消轉嘟", | ||||||
|   "status.cannot_reblog": "這則嘟文無法被轉嘟", |   "status.cannot_reblog": "這則嘟文無法被轉嘟", | ||||||
|  |   "status.continued_thread": "接續討論串", | ||||||
|   "status.copy": "複製嘟文連結", |   "status.copy": "複製嘟文連結", | ||||||
|   "status.delete": "刪除", |   "status.delete": "刪除", | ||||||
|   "status.detailed_status": "詳細的對話內容", |   "status.detailed_status": "詳細的對話內容", | ||||||
|  | @ -813,6 +814,7 @@ | ||||||
|   "status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。", |   "status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。", | ||||||
|   "status.redraft": "刪除並重新編輯", |   "status.redraft": "刪除並重新編輯", | ||||||
|   "status.remove_bookmark": "移除書籤", |   "status.remove_bookmark": "移除書籤", | ||||||
|  |   "status.replied_in_thread": "於討論串中回覆", | ||||||
|   "status.replied_to": "回覆 {name}", |   "status.replied_to": "回覆 {name}", | ||||||
|   "status.reply": "回覆", |   "status.reply": "回覆", | ||||||
|   "status.replyAll": "回覆討論串", |   "status.replyAll": "回覆討論串", | ||||||
|  |  | ||||||
|  | @ -1607,15 +1607,29 @@ body > [data-popper-placement] { | ||||||
| .status__prepend { | .status__prepend { | ||||||
|   padding: 16px; |   padding: 16px; | ||||||
|   padding-bottom: 0; |   padding-bottom: 0; | ||||||
|   display: inline-flex; |   display: flex; | ||||||
|   gap: 10px; |   align-items: center; | ||||||
|  |   gap: 8px; | ||||||
|   font-size: 15px; |   font-size: 15px; | ||||||
|   line-height: 22px; |   line-height: 22px; | ||||||
|   font-weight: 500; |   font-weight: 500; | ||||||
|   color: $dark-text-color; |   color: $dark-text-color; | ||||||
| 
 | 
 | ||||||
|   .status__display-name strong { |   &__icon { | ||||||
|     color: $dark-text-color; |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: center; | ||||||
|  |     flex: 0 0 auto; | ||||||
|  | 
 | ||||||
|  |     .icon { | ||||||
|  |       width: 16px; | ||||||
|  |       height: 16px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   a { | ||||||
|  |     color: inherit; | ||||||
|  |     text-decoration: none; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   > span { |   > span { | ||||||
|  |  | ||||||
|  | @ -111,10 +111,12 @@ class Account < ApplicationRecord | ||||||
|   validates :display_name, length: { maximum: DISPLAY_NAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_display_name? } |   validates :display_name, length: { maximum: DISPLAY_NAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_display_name? } | ||||||
|   validates :note, note_length: { maximum: NOTE_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_note? } |   validates :note, note_length: { maximum: NOTE_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_note? } | ||||||
|   validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? } |   validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? } | ||||||
|   validates :uri, absence: true, if: :local?, on: :create |   with_options on: :create do | ||||||
|   validates :inbox_url, absence: true, if: :local?, on: :create |     validates :uri, absence: true, if: :local? | ||||||
|   validates :shared_inbox_url, absence: true, if: :local?, on: :create |     validates :inbox_url, absence: true, if: :local? | ||||||
|   validates :followers_url, absence: true, if: :local?, on: :create |     validates :shared_inbox_url, absence: true, if: :local? | ||||||
|  |     validates :followers_url, absence: true, if: :local? | ||||||
|  |   end | ||||||
| 
 | 
 | ||||||
|   normalizes :username, with: ->(username) { username.squish } |   normalizes :username, with: ->(username) { username.squish } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -45,7 +45,7 @@ class FeaturedTag < ApplicationRecord | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def decrement(deleted_status_id) |   def decrement(deleted_status_id) | ||||||
|     update(statuses_count: [0, statuses_count - 1].max, last_status_at: visible_tagged_account_statuses.where.not(id: deleted_status_id).select(:created_at).first&.created_at) |     update(statuses_count: [0, statuses_count - 1].max, last_status_at: visible_tagged_account_statuses.where.not(id: deleted_status_id).pick(:created_at)) | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   private |   private | ||||||
|  | @ -56,7 +56,7 @@ class FeaturedTag < ApplicationRecord | ||||||
| 
 | 
 | ||||||
|   def reset_data |   def reset_data | ||||||
|     self.statuses_count = visible_tagged_account_statuses.count |     self.statuses_count = visible_tagged_account_statuses.count | ||||||
|     self.last_status_at = visible_tagged_account_statuses.select(:created_at).first&.created_at |     self.last_status_at = visible_tagged_account_statuses.pick(:created_at) | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def validate_featured_tags_limit |   def validate_featured_tags_limit | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ ca: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Realitza l'acció |       action: Realitza l'acció | ||||||
|       already_silenced: Aquest compte ja s'ha silenciat. |       already_silenced: Aquest compte ja s'ha limitat. | ||||||
|       already_suspended: Aquest compte ja s'ha suspès. |       already_suspended: Aquest compte ja s'ha suspès. | ||||||
|       title: Fer l'acció de moderació a %{acct} |       title: Fer l'acció de moderació a %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  | @ -61,6 +61,7 @@ ca: | ||||||
|       demote: Degrada |       demote: Degrada | ||||||
|       destroyed_msg: Les dades de %{username} son a la cua per a ser esborrades en breu |       destroyed_msg: Les dades de %{username} son a la cua per a ser esborrades en breu | ||||||
|       disable: Inhabilita |       disable: Inhabilita | ||||||
|  |       disable_sign_in_token_auth: Desactivar l'autenticació de token per correu-e | ||||||
|       disable_two_factor_authentication: Desactiva 2FA |       disable_two_factor_authentication: Desactiva 2FA | ||||||
|       disabled: Inhabilitat |       disabled: Inhabilitat | ||||||
|       display_name: Nom visible |       display_name: Nom visible | ||||||
|  | @ -69,6 +70,7 @@ ca: | ||||||
|       email: Adreça electrònica |       email: Adreça electrònica | ||||||
|       email_status: Estat de l'adreça electrònica |       email_status: Estat de l'adreça electrònica | ||||||
|       enable: Habilita |       enable: Habilita | ||||||
|  |       enable_sign_in_token_auth: Activar l'autenticació de token per correu-e | ||||||
|       enabled: Habilitat |       enabled: Habilitat | ||||||
|       enabled_msg: El compte de %{username} s’ha descongelat amb èxit |       enabled_msg: El compte de %{username} s’ha descongelat amb èxit | ||||||
|       followers: Seguidors |       followers: Seguidors | ||||||
|  | @ -201,8 +203,10 @@ ca: | ||||||
|         destroy_user_role: Destrueix Rol |         destroy_user_role: Destrueix Rol | ||||||
|         disable_2fa_user: Desactiva 2FA |         disable_2fa_user: Desactiva 2FA | ||||||
|         disable_custom_emoji: Desactiva l'emoji personalitzat |         disable_custom_emoji: Desactiva l'emoji personalitzat | ||||||
|  |         disable_sign_in_token_auth_user: Desactivar l'autenticació de token per correu-e per a l'usuari | ||||||
|         disable_user: Deshabilita l'usuari |         disable_user: Deshabilita l'usuari | ||||||
|         enable_custom_emoji: Activa l'emoji personalitzat |         enable_custom_emoji: Activa l'emoji personalitzat | ||||||
|  |         enable_sign_in_token_auth_user: Activar l'autenticació de token per correu-e per a l'usuari | ||||||
|         enable_user: Activa l'usuari |         enable_user: Activa l'usuari | ||||||
|         memorialize_account: Memoritza el compte |         memorialize_account: Memoritza el compte | ||||||
|         promote_user: Promou l'usuari |         promote_user: Promou l'usuari | ||||||
|  | @ -237,17 +241,21 @@ ca: | ||||||
|         confirm_user_html: "%{name} ha confirmat l'adreça del correu electrònic de l'usuari %{target}" |         confirm_user_html: "%{name} ha confirmat l'adreça del correu electrònic de l'usuari %{target}" | ||||||
|         create_account_warning_html: "%{name} ha enviat un avís a %{target}" |         create_account_warning_html: "%{name} ha enviat un avís a %{target}" | ||||||
|         create_announcement_html: "%{name} ha creat un nou anunci %{target}" |         create_announcement_html: "%{name} ha creat un nou anunci %{target}" | ||||||
|  |         create_canonical_email_block_html: "%{name} ha blocat l'adreça de correu electrònic amb el hash %{target}" | ||||||
|         create_custom_emoji_html: "%{name} ha pujat un emoji nou %{target}" |         create_custom_emoji_html: "%{name} ha pujat un emoji nou %{target}" | ||||||
|         create_domain_allow_html: "%{name} ha permès la federació amb el domini %{target}" |         create_domain_allow_html: "%{name} ha permès la federació amb el domini %{target}" | ||||||
|         create_domain_block_html: "%{name} ha bloquejat el domini %{target}" |         create_domain_block_html: "%{name} ha bloquejat el domini %{target}" | ||||||
|  |         create_email_domain_block_html: "%{name} ha blocat el domini de correu electrònic %{target}" | ||||||
|         create_ip_block_html: "%{name} ha creat una regla per a l'IP %{target}" |         create_ip_block_html: "%{name} ha creat una regla per a l'IP %{target}" | ||||||
|         create_unavailable_domain_html: "%{name} ha aturat el lliurament al domini %{target}" |         create_unavailable_domain_html: "%{name} ha aturat el lliurament al domini %{target}" | ||||||
|         create_user_role_html: "%{name} ha creat el rol %{target}" |         create_user_role_html: "%{name} ha creat el rol %{target}" | ||||||
|         demote_user_html: "%{name} ha degradat l'usuari %{target}" |         demote_user_html: "%{name} ha degradat l'usuari %{target}" | ||||||
|         destroy_announcement_html: "%{name} ha eliminat l'anunci %{target}" |         destroy_announcement_html: "%{name} ha eliminat l'anunci %{target}" | ||||||
|  |         destroy_canonical_email_block_html: "%{name} ha desblocat el correu electrònic amb el hash %{target}" | ||||||
|         destroy_custom_emoji_html: "%{name} ha esborrat l'emoji %{target}" |         destroy_custom_emoji_html: "%{name} ha esborrat l'emoji %{target}" | ||||||
|         destroy_domain_allow_html: "%{name} no permet la federació amb el domini %{target}" |         destroy_domain_allow_html: "%{name} no permet la federació amb el domini %{target}" | ||||||
|         destroy_domain_block_html: "%{name} ha desbloquejat el domini %{target}" |         destroy_domain_block_html: "%{name} ha desbloquejat el domini %{target}" | ||||||
|  |         destroy_email_domain_block_html: "%{name} ha desblocat el domini de correu electrònic %{target}" | ||||||
|         destroy_instance_html: "%{name} ha purgat el domini %{target}" |         destroy_instance_html: "%{name} ha purgat el domini %{target}" | ||||||
|         destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}" |         destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}" | ||||||
|         destroy_status_html: "%{name} ha eliminat el tut de %{target}" |         destroy_status_html: "%{name} ha eliminat el tut de %{target}" | ||||||
|  | @ -255,8 +263,10 @@ ca: | ||||||
|         destroy_user_role_html: "%{name} ha esborrat el rol %{target}" |         destroy_user_role_html: "%{name} ha esborrat el rol %{target}" | ||||||
|         disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}" |         disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}" | ||||||
|         disable_custom_emoji_html: "%{name} ha desactivat l'emoji %{target}" |         disable_custom_emoji_html: "%{name} ha desactivat l'emoji %{target}" | ||||||
|  |         disable_sign_in_token_auth_user_html: "%{name} ha desactivat l'autenticació de token per correu-e per a %{target}" | ||||||
|         disable_user_html: "%{name} ha desactivat l'accés del usuari %{target}" |         disable_user_html: "%{name} ha desactivat l'accés del usuari %{target}" | ||||||
|         enable_custom_emoji_html: "%{name} ha activat l'emoji %{target}" |         enable_custom_emoji_html: "%{name} ha activat l'emoji %{target}" | ||||||
|  |         enable_sign_in_token_auth_user_html: "%{name} ha activat l'autenticació de token per correu-e per a %{target}" | ||||||
|         enable_user_html: "%{name} ha activat l'accés del usuari %{target}" |         enable_user_html: "%{name} ha activat l'accés del usuari %{target}" | ||||||
|         memorialize_account_html: "%{name} ha convertit el compte %{target} en una pàgina de memorial" |         memorialize_account_html: "%{name} ha convertit el compte %{target} en una pàgina de memorial" | ||||||
|         promote_user_html: "%{name} ha promogut l'usuari %{target}" |         promote_user_html: "%{name} ha promogut l'usuari %{target}" | ||||||
|  | @ -264,6 +274,7 @@ ca: | ||||||
|         reject_user_html: "%{name} ha rebutjat el registre de %{target}" |         reject_user_html: "%{name} ha rebutjat el registre de %{target}" | ||||||
|         remove_avatar_user_html: "%{name} ha eliminat l'avatar de %{target}" |         remove_avatar_user_html: "%{name} ha eliminat l'avatar de %{target}" | ||||||
|         reopen_report_html: "%{name} ha reobert l'informe %{target}" |         reopen_report_html: "%{name} ha reobert l'informe %{target}" | ||||||
|  |         resend_user_html: "%{name} ha reenviat el correu-e de confirmació per %{target}" | ||||||
|         reset_password_user_html: "%{name} ha restablert la contrasenya de l'usuari %{target}" |         reset_password_user_html: "%{name} ha restablert la contrasenya de l'usuari %{target}" | ||||||
|         resolve_report_html: "%{name} ha resolt l'informe %{target}" |         resolve_report_html: "%{name} ha resolt l'informe %{target}" | ||||||
|         sensitive_account_html: "%{name} ha marcat els mèdia de %{target} com a sensibles" |         sensitive_account_html: "%{name} ha marcat els mèdia de %{target} com a sensibles" | ||||||
|  | @ -432,6 +443,7 @@ ca: | ||||||
|       new: |       new: | ||||||
|         create: Afegir un domini |         create: Afegir un domini | ||||||
|         resolve: Resol domini |         resolve: Resol domini | ||||||
|  |         title: Blocar el nou domini de correu-e | ||||||
|       not_permitted: No permés |       not_permitted: No permés | ||||||
|       resolved_through_html: Resolt mitjançant %{domain} |       resolved_through_html: Resolt mitjançant %{domain} | ||||||
|     export_domain_allows: |     export_domain_allows: | ||||||
|  | @ -1402,6 +1414,7 @@ ca: | ||||||
|     authentication_methods: |     authentication_methods: | ||||||
|       otp: aplicació d'autenticació de dos factors |       otp: aplicació d'autenticació de dos factors | ||||||
|       password: contrasenya |       password: contrasenya | ||||||
|  |       sign_in_token: codi de seguretat per correu electrònic | ||||||
|       webauthn: claus de seguretat |       webauthn: claus de seguretat | ||||||
|     description_html: Si veus activitat que no reconeixes, considera canviar la teva contrasenya i activar l'autenticació de dos factors. |     description_html: Si veus activitat que no reconeixes, considera canviar la teva contrasenya i activar l'autenticació de dos factors. | ||||||
|     empty: Historial d'autenticació no disponible |     empty: Historial d'autenticació no disponible | ||||||
|  | @ -1412,6 +1425,16 @@ ca: | ||||||
|     unsubscribe: |     unsubscribe: | ||||||
|       action: Sí, canceŀla la subscripció |       action: Sí, canceŀla la subscripció | ||||||
|       complete: Subscripció cancel·lada |       complete: Subscripció cancel·lada | ||||||
|  |       confirmation_html: Segur que vols donar-te de baixa de rebre %{type} de Mastodon a %{domain} a %{email}? Sempre pots subscriure't de nou des de la <a href="%{settings_path}">configuració de les notificacions per correu electrònic</a>. | ||||||
|  |       emails: | ||||||
|  |         notification_emails: | ||||||
|  |           favourite: notificacions dels favorits per correu electrònic | ||||||
|  |           follow: notificacions dels seguiments per correu electrònic | ||||||
|  |           follow_request: correus electrònics de peticions de seguiment | ||||||
|  |           mention: correus electrònics de notificacions de mencions | ||||||
|  |           reblog: correus electrònics de notificacions d'impulsos | ||||||
|  |       resubscribe_html: Si ets dones de baixa per error pots donar-te d'alta des de la <a href="%{settings_path}">configuració de les notificacions per correu electrònic</a>. | ||||||
|  |       success_html: Ja no rebràs %{type} de Mastodon a %{domain} a %{email}. | ||||||
|       title: Cancel·la la subscripció |       title: Cancel·la la subscripció | ||||||
|   media_attachments: |   media_attachments: | ||||||
|     validations: |     validations: | ||||||
|  | @ -1493,6 +1516,8 @@ ca: | ||||||
|     update: |     update: | ||||||
|       subject: "%{name} ha editat una publicació" |       subject: "%{name} ha editat una publicació" | ||||||
|   notifications: |   notifications: | ||||||
|  |     administration_emails: Notificacions per correu-e de l'administrador | ||||||
|  |     email_events: Esdeveniments per a notificacions de correu electrònic | ||||||
|     email_events_hint: 'Selecciona els esdeveniments per als quals vols rebre notificacions:' |     email_events_hint: 'Selecciona els esdeveniments per als quals vols rebre notificacions:' | ||||||
|   number: |   number: | ||||||
|     human: |     human: | ||||||
|  | @ -1651,6 +1676,7 @@ ca: | ||||||
|     import: Importació |     import: Importació | ||||||
|     import_and_export: Importació i exportació |     import_and_export: Importació i exportació | ||||||
|     migrate: Migració del compte |     migrate: Migració del compte | ||||||
|  |     notifications: Notificacions per correu electrònic | ||||||
|     preferences: Preferències |     preferences: Preferències | ||||||
|     profile: Perfil |     profile: Perfil | ||||||
|     relationships: Seguits i seguidors |     relationships: Seguits i seguidors | ||||||
|  | @ -1897,6 +1923,7 @@ ca: | ||||||
|     invalid_otp_token: El codi de dos factors no és correcte |     invalid_otp_token: El codi de dos factors no és correcte | ||||||
|     otp_lost_help_html: Si has perdut l'accés a tots dos pots contactar per %{email} |     otp_lost_help_html: Si has perdut l'accés a tots dos pots contactar per %{email} | ||||||
|     rate_limited: Excessius intents d'autenticació, torneu-hi més tard. |     rate_limited: Excessius intents d'autenticació, torneu-hi més tard. | ||||||
|  |     seamless_external_login: Has iniciat sessió via un servei extern. Així, els ajustos de contrasenya i correu electrònic no estan disponibles. | ||||||
|     signed_in_as: 'Sessió iniciada com a:' |     signed_in_as: 'Sessió iniciada com a:' | ||||||
|   verification: |   verification: | ||||||
|     extra_instructions_html: <strong>Consell:</strong> l'enllaç al vostre lloc web pot ser invisible. La part important és <code>rel="me"</code> que evita que us suplantin la identitat a llocs web amb contingut generat pels usuaris. Fins i tot podeu generar una etiqueta <code>link</code> a la capçalera de la pàgina en comptes d'una <code>a</code>, però el codi HTML ha de ser accessible sense requerir executar JavaScript. |     extra_instructions_html: <strong>Consell:</strong> l'enllaç al vostre lloc web pot ser invisible. La part important és <code>rel="me"</code> que evita que us suplantin la identitat a llocs web amb contingut generat pels usuaris. Fins i tot podeu generar una etiqueta <code>link</code> a la capçalera de la pàgina en comptes d'una <code>a</code>, però el codi HTML ha de ser accessible sense requerir executar JavaScript. | ||||||
|  |  | ||||||
|  | @ -33,7 +33,6 @@ cy: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Cyflawni gweithred |       action: Cyflawni gweithred | ||||||
|       already_silenced: Mae'r cyfrif hwn eisoes wedi'i dewi. |  | ||||||
|       already_suspended: Mae'r cyfrif hwn eisoes wedi'i atal. |       already_suspended: Mae'r cyfrif hwn eisoes wedi'i atal. | ||||||
|       title: Cyflawni gweithred cymedroli ar %{acct} |       title: Cyflawni gweithred cymedroli ar %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ da: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Udfør handling |       action: Udfør handling | ||||||
|       already_silenced: Denne konto er allerede gjort tavs. |       already_silenced: Denne konto er allerede blevet begrænset. | ||||||
|       already_suspended: Denne konto er allerede suspenderet. |       already_suspended: Denne konto er allerede suspenderet. | ||||||
|       title: Udfør moderatorhandling på %{acct} |       title: Udfør moderatorhandling på %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ de: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Aktion ausführen |       action: Aktion ausführen | ||||||
|       already_silenced: Dieses Konto wurde bereits stummgeschaltet. |  | ||||||
|       already_suspended: Dieses Konto wurde bereits gesperrt. |       already_suspended: Dieses Konto wurde bereits gesperrt. | ||||||
|       title: "@%{acct} moderieren" |       title: "@%{acct} moderieren" | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ en: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Perform action |       action: Perform action | ||||||
|       already_silenced: This account has already been silenced. |       already_silenced: This account has already been limited. | ||||||
|       already_suspended: This account has already been suspended. |       already_suspended: This account has already been suspended. | ||||||
|       title: Perform moderation action on %{acct} |       title: Perform moderation action on %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ es-AR: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Ejecutar acción |       action: Ejecutar acción | ||||||
|       already_silenced: Esta cuenta ya ha sido limitada. |       already_silenced: Esta cuenta ya fue limitada. | ||||||
|       already_suspended: Esta cuenta ya ha sido suspendida. |       already_suspended: Esta cuenta ya ha sido suspendida. | ||||||
|       title: Ejecutar acción de moderación en %{acct} |       title: Ejecutar acción de moderación en %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ et: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Täida tegevus |       action: Täida tegevus | ||||||
|       already_silenced: See konto on juba vaigistatud. |  | ||||||
|       already_suspended: See konto on juba peatatud. |       already_suspended: See konto on juba peatatud. | ||||||
|       title: Rakenda moderaatori tegevus kasutajale %{acct} |       title: Rakenda moderaatori tegevus kasutajale %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -981,7 +981,7 @@ fi: | ||||||
|         used_by_over_week: |         used_by_over_week: | ||||||
|           one: Käyttänyt yksi käyttäjä viimeisen viikon aikana |           one: Käyttänyt yksi käyttäjä viimeisen viikon aikana | ||||||
|           other: Käyttänyt %{count} käyttäjää viimeisen viikon aikana |           other: Käyttänyt %{count} käyttäjää viimeisen viikon aikana | ||||||
|       title: Suositukset ja suuntaukset |       title: Suositukset ja trendit | ||||||
|       trending: Trendaus |       trending: Trendaus | ||||||
|     warning_presets: |     warning_presets: | ||||||
|       add_new: Lisää uusi |       add_new: Lisää uusi | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ fo: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Frem atgerð |       action: Frem atgerð | ||||||
|       already_silenced: Hendan kontan er longu gjørd kvirr. |  | ||||||
|       already_suspended: Hendan kontan er longu ógildað. |       already_suspended: Hendan kontan er longu ógildað. | ||||||
|       title: Frem umsjónaratgerð á %{acct} |       title: Frem umsjónaratgerð á %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ fr-CA: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Effectuer l'action |       action: Effectuer l'action | ||||||
|       already_silenced: Ce compte est déjà limité. |  | ||||||
|       already_suspended: Ce compte est déjà suspendu. |       already_suspended: Ce compte est déjà suspendu. | ||||||
|       title: Effectuer une action de modération sur %{acct} |       title: Effectuer une action de modération sur %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ fr: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Effectuer l'action |       action: Effectuer l'action | ||||||
|       already_silenced: Ce compte est déjà limité. |  | ||||||
|       already_suspended: Ce compte est déjà suspendu. |       already_suspended: Ce compte est déjà suspendu. | ||||||
|       title: Effectuer une action de modération sur %{acct} |       title: Effectuer une action de modération sur %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -31,7 +31,6 @@ ga: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Déan gníomh |       action: Déan gníomh | ||||||
|       already_silenced: Tá an cuntas seo ina thost cheana féin. |  | ||||||
|       already_suspended: Tá an cuntas seo curtha ar fionraí cheana féin. |       already_suspended: Tá an cuntas seo curtha ar fionraí cheana féin. | ||||||
|       title: Dean gníomh modhnóireachta ar %{acct} |       title: Dean gníomh modhnóireachta ar %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -29,7 +29,6 @@ gd: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Gabh an gnìomh |       action: Gabh an gnìomh | ||||||
|       already_silenced: Chaidh an cunntas seo a chuingeachadh mu thràth. |  | ||||||
|       already_suspended: Chaidh an cunntas seo a chur à rèim mu thràth. |       already_suspended: Chaidh an cunntas seo a chur à rèim mu thràth. | ||||||
|       title: Gabh gnìomh maorsainneachd air %{acct} |       title: Gabh gnìomh maorsainneachd air %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ gl: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Executar acción |       action: Executar acción | ||||||
|       already_silenced: Esta conta xa está silenciada. |       already_silenced: A conta xa está limitada | ||||||
|       already_suspended: Esta conta xa está suspendida. |       already_suspended: Esta conta xa está suspendida. | ||||||
|       title: Executar acción de moderación a %{acct} |       title: Executar acción de moderación a %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  | @ -1854,7 +1854,7 @@ gl: | ||||||
|     failed_2fa: |     failed_2fa: | ||||||
|       details: 'Detalles do intento de acceso:' |       details: 'Detalles do intento de acceso:' | ||||||
|       explanation: Alguén intentou acceder á túa conta mais fíxoo cun segundo factor de autenticación non válido. |       explanation: Alguén intentou acceder á túa conta mais fíxoo cun segundo factor de autenticación non válido. | ||||||
|       further_actions_html: Se non foches ti, recomendámosche %{action} inmediatamente xa que a conta podería estar en risco. |       further_actions_html: Se non foches ti, recomendámosche %{action} inmediatamente porque a conta podería estar en risco. | ||||||
|       subject: Fallo co segundo factor de autenticación |       subject: Fallo co segundo factor de autenticación | ||||||
|       title: Fallou o segundo factor de autenticación |       title: Fallou o segundo factor de autenticación | ||||||
|     suspicious_sign_in: |     suspicious_sign_in: | ||||||
|  |  | ||||||
|  | @ -29,6 +29,7 @@ he: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: בצע/י פעולה |       action: בצע/י פעולה | ||||||
|  |       already_suspended: חשבון זה הושעה. | ||||||
|       title: ביצוע פעולות הנהלה על %{acct} |       title: ביצוע פעולות הנהלה על %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|       create: ליצור |       create: ליצור | ||||||
|  | @ -50,6 +51,7 @@ he: | ||||||
|         title: שינוי כתובת דוא"ל עבור המשתמש.ת %{username} |         title: שינוי כתובת דוא"ל עבור המשתמש.ת %{username} | ||||||
|       change_role: |       change_role: | ||||||
|         changed_msg: התפקיד שונה בהצלחה! |         changed_msg: התפקיד שונה בהצלחה! | ||||||
|  |         edit_roles: נהל תפקידי משתמש | ||||||
|         label: שינוי תפקיד |         label: שינוי תפקיד | ||||||
|         no_role: ללא תפקיד |         no_role: ללא תפקיד | ||||||
|         title: שינוי תפקיד עבור %{username} |         title: שינוי תפקיד עבור %{username} | ||||||
|  | @ -626,6 +628,7 @@ he: | ||||||
|         suspend_description_html: חשבון זה על כל תכניו יחסמו וברבות הימים ימחקו, כל פעילות מולו לא תתאפשר. הפעולה ניתנת לביטול תוך 30 ימים, והיא תסגור כל דיווח התלוי ועומד נגד החשבון. |         suspend_description_html: חשבון זה על כל תכניו יחסמו וברבות הימים ימחקו, כל פעילות מולו לא תתאפשר. הפעולה ניתנת לביטול תוך 30 ימים, והיא תסגור כל דיווח התלוי ועומד נגד החשבון. | ||||||
|       actions_description_html: בחר/י איזו פעולה לבצע על מנת לפתור את הדו"ח. אם תופעל פעולת ענישה כנגד החשבון המדווח, הודעת דוא"ל תשלח אליהם, אלא אם נבחרה קטגוריית ה<strong>ספאם</strong>. |       actions_description_html: בחר/י איזו פעולה לבצע על מנת לפתור את הדו"ח. אם תופעל פעולת ענישה כנגד החשבון המדווח, הודעת דוא"ל תשלח אליהם, אלא אם נבחרה קטגוריית ה<strong>ספאם</strong>. | ||||||
|       actions_description_remote_html: בחרו איזו פעולה לבצע כדי לפתור את הדיווח שהוגש. פעולה זו תשפיע רק על התקשורת מול השרת <strong>שלך</strong> עם החשבון המרוחק ותוכנו. |       actions_description_remote_html: בחרו איזו פעולה לבצע כדי לפתור את הדיווח שהוגש. פעולה זו תשפיע רק על התקשורת מול השרת <strong>שלך</strong> עם החשבון המרוחק ותוכנו. | ||||||
|  |       actions_no_posts: דווח זה לא כולל הודעות למחיקה | ||||||
|       add_to_report: הוספת פרטים לדיווח |       add_to_report: הוספת פרטים לדיווח | ||||||
|       already_suspended_badges: |       already_suspended_badges: | ||||||
|         local: כבר הודח בשרת זה |         local: כבר הודח בשרת זה | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ hu: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Művelet végrehajtása |       action: Művelet végrehajtása | ||||||
|       already_silenced: Ezt a fiókot már elnémították. |  | ||||||
|       already_suspended: Ezt a fiókot már felfüggesztették. |       already_suspended: Ezt a fiókot már felfüggesztették. | ||||||
|       title: 'Moderálási művelet végrehajtása ezen: %{acct}' |       title: 'Moderálási művelet végrehajtása ezen: %{acct}' | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ ia: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Exequer action |       action: Exequer action | ||||||
|       already_silenced: Iste conto jam ha essite silentiate. |  | ||||||
|       already_suspended: Iste conto jam ha essite suspendite. |       already_suspended: Iste conto jam ha essite suspendite. | ||||||
|       title: Exequer action de moderation sur %{acct} |       title: Exequer action de moderation sur %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ is: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Framkvæma aðgerð |       action: Framkvæma aðgerð | ||||||
|       already_silenced: Þessi aðgangur hefur þegar verið þaggaður. |  | ||||||
|       already_suspended: Þessi aðgangur hefur þegar verið settur í frysti. |       already_suspended: Þessi aðgangur hefur þegar verið settur í frysti. | ||||||
|       title: Framkvæma umsjónaraðgerð á %{acct} |       title: Framkvæma umsjónaraðgerð á %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ it: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Esegui azione |       action: Esegui azione | ||||||
|       already_silenced: Questo account è già stato silenziato. |       already_silenced: Questo account è già stato limitato. | ||||||
|       already_suspended: Questo account è già stato sospeso. |       already_suspended: Questo account è già stato sospeso. | ||||||
|       title: Esegui l'azione di moderazione su %{acct} |       title: Esegui l'azione di moderazione su %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -23,7 +23,6 @@ ko: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: 조치 취하기 |       action: 조치 취하기 | ||||||
|       already_silenced: 이 계정은 이미 침묵되었습니다. |  | ||||||
|       already_suspended: 이 계정은 이미 정지되었습니다. |       already_suspended: 이 계정은 이미 정지되었습니다. | ||||||
|       title: "%{acct} 계정에 중재 취하기" |       title: "%{acct} 계정에 중재 취하기" | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -29,6 +29,7 @@ lt: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Atlikti veiksmą |       action: Atlikti veiksmą | ||||||
|  |       already_suspended: Ši paskyra jau sustabdyta. | ||||||
|       title: Atlikti prižiūrėjimo veiksmą %{acct} |       title: Atlikti prižiūrėjimo veiksmą %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|       create: Palikti pastabą |       create: Palikti pastabą | ||||||
|  | @ -49,6 +50,7 @@ lt: | ||||||
|         title: Keisti el. paštą %{username} |         title: Keisti el. paštą %{username} | ||||||
|       change_role: |       change_role: | ||||||
|         changed_msg: Vaidmuo sėkmingai pakeistas. |         changed_msg: Vaidmuo sėkmingai pakeistas. | ||||||
|  |         edit_roles: Tvarkyti naudotojų vaidmenis | ||||||
|         label: Keisti vaidmenį |         label: Keisti vaidmenį | ||||||
|         no_role: Jokios vaidmenį |         no_role: Jokios vaidmenį | ||||||
|         title: Keisti vaidmenį %{username} |         title: Keisti vaidmenį %{username} | ||||||
|  | @ -485,6 +487,7 @@ lt: | ||||||
|       destroyed_msg: Skundo žinutė sekmingai ištrinta! |       destroyed_msg: Skundo žinutė sekmingai ištrinta! | ||||||
|     reports: |     reports: | ||||||
|       action_taken_by: Veiksmo ėmėsi |       action_taken_by: Veiksmo ėmėsi | ||||||
|  |       actions_no_posts: Ši ataskaita neturi jokių susijusių įrašų ištrinti | ||||||
|       already_suspended_badges: |       already_suspended_badges: | ||||||
|         local: Jau sustabdytas šiame serveryje |         local: Jau sustabdytas šiame serveryje | ||||||
|         remote: Jau sustabdytas jų serveryje |         remote: Jau sustabdytas jų serveryje | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ nn: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Utfør |       action: Utfør | ||||||
|  |       already_silenced: Denne kontoen har allereie vorte avgrensa. | ||||||
|       title: Utfør moderatorhandling på %{acct} |       title: Utfør moderatorhandling på %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|       create: Legg igjen merknad |       create: Legg igjen merknad | ||||||
|  |  | ||||||
|  | @ -29,7 +29,6 @@ pl: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Wykonaj działanie |       action: Wykonaj działanie | ||||||
|       already_silenced: To konto zostało już wyciszone. |  | ||||||
|       already_suspended: To konto zostało już zawieszone. |       already_suspended: To konto zostało już zawieszone. | ||||||
|       title: Wykonaj działanie moderacyjne na %{acct} |       title: Wykonaj działanie moderacyjne na %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -4,8 +4,8 @@ pt-PT: | ||||||
|     about_mastodon_html: 'A rede social do futuro: sem publicidade, e sem vigilância empresarial; desenho ético, e descentralizado! Tome posse dos seus dados com o Mastodon!' |     about_mastodon_html: 'A rede social do futuro: sem publicidade, e sem vigilância empresarial; desenho ético, e descentralizado! Tome posse dos seus dados com o Mastodon!' | ||||||
|     contact_missing: Por definir |     contact_missing: Por definir | ||||||
|     contact_unavailable: n.d. |     contact_unavailable: n.d. | ||||||
|     hosted_on: Mastodon em %{domain} |     hosted_on: Mastodon alojado em %{domain} | ||||||
|     title: Acerca de |     title: Sobre | ||||||
|   accounts: |   accounts: | ||||||
|     follow: Seguir |     follow: Seguir | ||||||
|     followers: |     followers: | ||||||
|  | @ -25,15 +25,17 @@ pt-PT: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Executar acção |       action: Executar acção | ||||||
|  |       already_suspended: Esta conta já foi suspensa. | ||||||
|       title: Executar ação de moderação em %{acct} |       title: Executar ação de moderação em %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|       create: Deixar uma nota |       create: Deixar uma nota | ||||||
|       created_msg: Nota de moderação criada com sucesso! |       created_msg: Nota de moderação criada com sucesso! | ||||||
|       destroyed_msg: Nota de moderação destruída! |       destroyed_msg: Nota de moderação destruída! | ||||||
|     accounts: |     accounts: | ||||||
|  |       add_email_domain_block: Bloquear domínio de e-mail | ||||||
|       approve: Aprovar |       approve: Aprovar | ||||||
|       approved_msg: Inscrição de %{username} aprovada com sucesso |       approved_msg: Inscrição de %{username} aprovada com sucesso | ||||||
|       are_you_sure: Tens a certeza? |       are_you_sure: Tem a certeza? | ||||||
|       avatar: Imagem de perfil |       avatar: Imagem de perfil | ||||||
|       by_domain: Domínio |       by_domain: Domínio | ||||||
|       change_email: |       change_email: | ||||||
|  | @ -45,18 +47,20 @@ pt-PT: | ||||||
|         title: Alterar e-mail para %{username} |         title: Alterar e-mail para %{username} | ||||||
|       change_role: |       change_role: | ||||||
|         changed_msg: Função alterada com sucesso! |         changed_msg: Função alterada com sucesso! | ||||||
|  |         edit_roles: Gerir funções de utilizador | ||||||
|         label: Alterar função |         label: Alterar função | ||||||
|         no_role: Nenhuma função |         no_role: Nenhuma função | ||||||
|         title: Alterar a função de %{username} |         title: Alterar a função de %{username} | ||||||
|       confirm: Confirmar |       confirm: Confirmar | ||||||
|       confirmed: Confirmado |       confirmed: Confirmado | ||||||
|       confirming: A confirmar |       confirming: A confirmar | ||||||
|       custom: Personalizar |       custom: Personalizado | ||||||
|       delete: Eliminar dados |       delete: Eliminar dados | ||||||
|       deleted: Eliminada |       deleted: Eliminada | ||||||
|       demote: Despromoveu |       demote: Despromovida | ||||||
|       destroyed_msg: Os dados de %{username} estão agora em fila de espera para serem eliminados de imediato |       destroyed_msg: Os dados de %{username} estão agora em fila de espera para serem eliminados de imediato | ||||||
|       disable: Congelar |       disable: Congelar | ||||||
|  |       disable_sign_in_token_auth: Desativar token de autenticação por e-mail | ||||||
|       disable_two_factor_authentication: Desativar autenticação por dois fatores (2FA) |       disable_two_factor_authentication: Desativar autenticação por dois fatores (2FA) | ||||||
|       disabled: Congelada |       disabled: Congelada | ||||||
|       display_name: Nome a mostrar |       display_name: Nome a mostrar | ||||||
|  | @ -65,6 +69,7 @@ pt-PT: | ||||||
|       email: E-mail |       email: E-mail | ||||||
|       email_status: Estado do e-mail |       email_status: Estado do e-mail | ||||||
|       enable: Descongelar |       enable: Descongelar | ||||||
|  |       enable_sign_in_token_auth: Ativar token de autenticação por e-mail | ||||||
|       enabled: Ativado |       enabled: Ativado | ||||||
|       enabled_msg: Descongelou a conta %{username} |       enabled_msg: Descongelou a conta %{username} | ||||||
|       followers: Seguidores |       followers: Seguidores | ||||||
|  | @ -100,8 +105,8 @@ pt-PT: | ||||||
|       no_limits_imposed: Sem limites impostos |       no_limits_imposed: Sem limites impostos | ||||||
|       no_role_assigned: Nenhuma função atribuída |       no_role_assigned: Nenhuma função atribuída | ||||||
|       not_subscribed: Não inscrito |       not_subscribed: Não inscrito | ||||||
|       pending: Pendente de revisão |       pending: Revisão pendente | ||||||
|       perform_full_suspension: Fazer suspensão completa |       perform_full_suspension: Suspender | ||||||
|       previous_strikes: Reprimendas anteriores |       previous_strikes: Reprimendas anteriores | ||||||
|       previous_strikes_description_html: |       previous_strikes_description_html: | ||||||
|         one: Esta conta tem <strong>1</strong> reprimenda. |         one: Esta conta tem <strong>1</strong> reprimenda. | ||||||
|  | @ -109,7 +114,7 @@ pt-PT: | ||||||
|       promote: Promover |       promote: Promover | ||||||
|       protocol: Protocolo |       protocol: Protocolo | ||||||
|       public: Público |       public: Público | ||||||
|       push_subscription_expires: A Inscrição PuSH expira |       push_subscription_expires: A inscrição PuSH expira | ||||||
|       redownload: Atualizar perfil |       redownload: Atualizar perfil | ||||||
|       redownloaded_msg: Perfil de %{username} atualizado a partir da origem com sucesso |       redownloaded_msg: Perfil de %{username} atualizado a partir da origem com sucesso | ||||||
|       reject: Rejeitar |       reject: Rejeitar | ||||||
|  | @ -122,13 +127,14 @@ pt-PT: | ||||||
|       removed_header_msg: Imagem de cabeçalho de %{username} removida |       removed_header_msg: Imagem de cabeçalho de %{username} removida | ||||||
|       resend_confirmation: |       resend_confirmation: | ||||||
|         already_confirmed: Este utilizador já está confirmado |         already_confirmed: Este utilizador já está confirmado | ||||||
|         send: Reenviar link de confirmação |         send: Reenviar hiperligação de confirmação | ||||||
|         success: Link de confirmação enviado com sucesso! |         success: Hiperligação de confirmação enviada com sucesso! | ||||||
|       reset: Reiniciar |       reset: Repor | ||||||
|       reset_password: Criar nova palavra-passe |       reset_password: Criar nova palavra-passe | ||||||
|       resubscribe: Reinscrever |       resubscribe: Reinscrever | ||||||
|       role: Função |       role: Função | ||||||
|       search: Pesquisar |       search: Pesquisar | ||||||
|  |       search_same_email_domain: Outros utilizadores com o mesmo domínio de e-mail | ||||||
|       search_same_ip: Outros utilizadores com o mesmo IP |       search_same_ip: Outros utilizadores com o mesmo IP | ||||||
|       security: Segurança |       security: Segurança | ||||||
|       security_measures: |       security_measures: | ||||||
|  | @ -136,7 +142,7 @@ pt-PT: | ||||||
|         password_and_2fa: Palavra-passe e 2FA |         password_and_2fa: Palavra-passe e 2FA | ||||||
|       sensitive: Marcar como problemático |       sensitive: Marcar como problemático | ||||||
|       sensitized: Marcada como problemática |       sensitized: Marcada como problemática | ||||||
|       shared_inbox_url: URL da caixa de entrada compartilhada |       shared_inbox_url: URL da caixa de entrada partilhada | ||||||
|       show: |       show: | ||||||
|         created_reports: Denúncias realizadas |         created_reports: Denúncias realizadas | ||||||
|         targeted_reports: Denunciada por outros |         targeted_reports: Denunciada por outros | ||||||
|  | @ -151,101 +157,116 @@ pt-PT: | ||||||
|       suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente eliminados em %{date}. Até lá, a conta poderá ser recuperada sem quaisquer efeitos negativos. Se deseja eliminar todos os dados desta conta imediatamente, pode fazê-lo em baixo. |       suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente eliminados em %{date}. Até lá, a conta poderá ser recuperada sem quaisquer efeitos negativos. Se deseja eliminar todos os dados desta conta imediatamente, pode fazê-lo em baixo. | ||||||
|       title: Contas |       title: Contas | ||||||
|       unblock_email: Desbloquear endereço de e-mail |       unblock_email: Desbloquear endereço de e-mail | ||||||
|       unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado |       unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado com sucesso | ||||||
|       unconfirmed_email: E-mail por confirmar |       unconfirmed_email: E-mail por confirmar | ||||||
|       undo_sensitized: Desmarcar como problemático |       undo_sensitized: Desmarcar como problemático | ||||||
|       undo_silenced: Desfazer silenciar |       undo_silenced: Desfazer silenciar | ||||||
|       undo_suspension: Desfazer supensão |       undo_suspension: Desfazer supensão | ||||||
|       unsilenced_msg: Removeu as limitações da conta %{username} |       unsilenced_msg: Limitações da conta %{username} removidas com sucesso | ||||||
|       unsubscribe: Cancelar inscrição |       unsubscribe: Cancelar inscrição | ||||||
|       unsuspended_msg: Removeu a suspensão da conta %{username} |       unsuspended_msg: Removeu a suspensão da conta %{username} | ||||||
|       username: Nome de utilizador |       username: Nome de utilizador | ||||||
|       view_domain: Ver resumo do domínio |       view_domain: Ver resumo do domínio | ||||||
|       warn: Advertir |       warn: Advertir | ||||||
|       web: Teia |       web: Web | ||||||
|       whitelisted: Permitido para a federação |       whitelisted: Permitido para a federação | ||||||
|     action_logs: |     action_logs: | ||||||
|       action_types: |       action_types: | ||||||
|         approve_appeal: Aprovar recurso |         approve_appeal: Aprovar recurso | ||||||
|         approve_user: Aprovar utilizador |         approve_user: Aprovar utilizador | ||||||
|         assigned_to_self_report: Atribuir Denúncia |         assigned_to_self_report: Atribuir denúncia | ||||||
|         change_role_user: Alterar Função do Utilizador |         change_email_user: Alterar e-mail do utilizador | ||||||
|         confirm_user: Confirmar Utilizador |         change_role_user: Alterar função do utilizador | ||||||
|         create_account_warning: Criar Aviso |         confirm_user: Confirmar utilizador | ||||||
|  |         create_account_warning: Criar aviso | ||||||
|         create_announcement: Criar comunicado |         create_announcement: Criar comunicado | ||||||
|         create_custom_emoji: Criar Emoji Personalizado |         create_canonical_email_block: Criar bloqueio de e-mail | ||||||
|         create_domain_allow: Criar Permissão de Domínio |         create_custom_emoji: Criar emoji personalizado | ||||||
|         create_domain_block: Criar Bloqueio de Domínio |         create_domain_allow: Criar permissão de domínio | ||||||
|  |         create_domain_block: Criar bloqueio de domínio | ||||||
|  |         create_email_domain_block: Criar bloqueio de domínio de e-mail | ||||||
|         create_ip_block: Criar regra de IP |         create_ip_block: Criar regra de IP | ||||||
|         create_unavailable_domain: Criar Domínio Indisponível |         create_unavailable_domain: Criar domínio indisponível | ||||||
|         create_user_role: Criar Função |         create_user_role: Criar função | ||||||
|         demote_user: Despromover Utilizador |         demote_user: Despromover utilizador | ||||||
|         destroy_announcement: Apagar comunicado |         destroy_announcement: Eliminar comunicado | ||||||
|         destroy_custom_emoji: Eliminar Emoji Personalizado |         destroy_canonical_email_block: Eliminar bloqueio de e-mail | ||||||
|         destroy_domain_allow: Eliminar Permissão de Domínio |         destroy_custom_emoji: Eliminar emoji personalizado | ||||||
|         destroy_domain_block: Eliminar Bloqueio de Domínio |         destroy_domain_allow: Eliminar permissão de domínio | ||||||
|         destroy_instance: Purgar Domínio |         destroy_domain_block: Eliminar bloqueio de domínio | ||||||
|  |         destroy_email_domain_block: Eliminar bloqueio de domínio de e-mail | ||||||
|  |         destroy_instance: Purgar domínio | ||||||
|         destroy_ip_block: Eliminar regra de IP |         destroy_ip_block: Eliminar regra de IP | ||||||
|         destroy_status: Eliminar Publicação |         destroy_status: Eliminar publicação | ||||||
|         destroy_unavailable_domain: Eliminar Domínio Indisponível |         destroy_unavailable_domain: Eliminar domínio indisponível | ||||||
|         destroy_user_role: Eliminar Função |         destroy_user_role: Eliminar função | ||||||
|         disable_2fa_user: Desativar 2FA |         disable_2fa_user: Desativar 2FA | ||||||
|         disable_custom_emoji: Desativar Emoji Personalizado |         disable_custom_emoji: Desativar emoji personalizado | ||||||
|         disable_user: Desativar Utilizador |         disable_sign_in_token_auth_user: Desativar token de autenticação por e-mail para o utilizador | ||||||
|         enable_custom_emoji: Ativar Emoji Personalizado |         disable_user: Desativar utilizador | ||||||
|         enable_user: Ativar Utilizador |         enable_custom_emoji: Ativar emoji personalizado | ||||||
|         memorialize_account: Tornar conta num memorial |         enable_sign_in_token_auth_user: Ativar token de autenticação por e-mail para o utilizador | ||||||
|         promote_user: Promover Utilizador |         enable_user: Ativar utilizador | ||||||
|         reject_appeal: Rejeitar Recurso |         memorialize_account: Transformar conta num memorial | ||||||
|         reject_user: Rejeitar Utilizador |         promote_user: Promover utilizador | ||||||
|         remove_avatar_user: Remover Imagem de Perfil |         reject_appeal: Rejeitar recurso | ||||||
|         reopen_report: Reabrir Denúncia |         reject_user: Rejeitar utilizador | ||||||
|         resend_user: Reenviar E-mail de Confirmação |         remove_avatar_user: Remover imagem de perfil | ||||||
|         reset_password_user: Repor Password |         reopen_report: Reabrir denúncia | ||||||
|         resolve_report: Resolver Denúncia |         resend_user: Reenviar e-mail de confirmação | ||||||
|  |         reset_password_user: Repor palavra-passe | ||||||
|  |         resolve_report: Resolver denúncia | ||||||
|         sensitive_account: Marcar a media na sua conta como problemática |         sensitive_account: Marcar a media na sua conta como problemática | ||||||
|         silence_account: Limitar conta |         silence_account: Limitar conta | ||||||
|         suspend_account: Suspender conta |         suspend_account: Suspender conta | ||||||
|         unassigned_report: Desatribuir Denúncia |         unassigned_report: Anular atribuição desta denúncia | ||||||
|         unblock_email_account: Desbloquear endereço de e-mail |         unblock_email_account: Desbloquear endereço de e-mail | ||||||
|         unsensitive_account: Desmarcar a conta como problemática |         unsensitive_account: Desmarcar a conta como problemática | ||||||
|         unsilence_account: Deixar de Silenciar Conta |         unsilence_account: Deixar de silenciar conta | ||||||
|         unsuspend_account: Retirar Suspensão à Conta |         unsuspend_account: Retirar suspensão da conta | ||||||
|         update_announcement: Atualizar comunicado |         update_announcement: Atualizar comunicado | ||||||
|         update_custom_emoji: Atualizar Emoji Personalizado |         update_custom_emoji: Atualizar emoji personalizado | ||||||
|         update_domain_block: Atualizar Bloqueio de Domínio |         update_domain_block: Atualizar bloqueio de domínio | ||||||
|         update_ip_block: Atualizar regra de IP |         update_ip_block: Atualizar regra de IP | ||||||
|         update_report: Atualizar Relatório |         update_report: Atualizar denúncia | ||||||
|         update_status: Atualizar Estado |         update_status: Atualizar publicação | ||||||
|         update_user_role: Atualizar Função |         update_user_role: Atualizar função | ||||||
|       actions: |       actions: | ||||||
|         approve_appeal_html: "%{name} aprovou recurso da decisão de moderação de %{target}" |         approve_appeal_html: "%{name} aprovou recurso da decisão de moderação de %{target}" | ||||||
|         approve_user_html: "%{name} aprovou a inscrição de %{target}" |         approve_user_html: "%{name} aprovou a inscrição de %{target}" | ||||||
|         assigned_to_self_report_html: "%{name} atribuiu a denúncia %{target} a si próprio" |         assigned_to_self_report_html: "%{name} atribuiu a denúncia %{target} a si próprio" | ||||||
|  |         change_email_user_html: "%{name} alterou o endereço de e-mail do utilizador %{target}" | ||||||
|         change_role_user_html: "%{name} alterou a função de %{target}" |         change_role_user_html: "%{name} alterou a função de %{target}" | ||||||
|  |         confirm_user_html: "%{name} confirmou o endereço de e-mail do utilizador %{target}" | ||||||
|         create_account_warning_html: "%{name} enviou um aviso para %{target}" |         create_account_warning_html: "%{name} enviou um aviso para %{target}" | ||||||
|         create_announcement_html: "%{name} criou o novo anúncio %{target}" |         create_announcement_html: "%{name} criou o novo anúncio %{target}" | ||||||
|         create_custom_emoji_html: "%{name} carregou o novo emoji %{target}" |         create_canonical_email_block_html: "%{name} bloqueou o e-mail com a hash %{target}" | ||||||
|  |         create_custom_emoji_html: "%{name} enviou o novo emoji %{target}" | ||||||
|         create_domain_allow_html: "%{name} permitiu a federação com o domínio %{target}" |         create_domain_allow_html: "%{name} permitiu a federação com o domínio %{target}" | ||||||
|         create_domain_block_html: "%{name} bloqueou o domínio %{target}" |         create_domain_block_html: "%{name} bloqueou o domínio %{target}" | ||||||
|         create_ip_block_html: "%{name} criou regra para o IP %{target}" |         create_email_domain_block_html: "%{name} bloqueou o domínio de e-mail %{target}" | ||||||
|         create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}" |         create_ip_block_html: "%{name} criou uma regra para o IP %{target}" | ||||||
|  |         create_unavailable_domain_html: "%{name} parou as entregas ao domínio %{target}" | ||||||
|         create_user_role_html: "%{name} criou a função %{target}" |         create_user_role_html: "%{name} criou a função %{target}" | ||||||
|         demote_user_html: "%{name} despromoveu o utilizador %{target}" |         demote_user_html: "%{name} despromoveu o utilizador %{target}" | ||||||
|         destroy_announcement_html: "%{name} eliminou o anúncio %{target}" |         destroy_announcement_html: "%{name} eliminou o anúncio %{target}" | ||||||
|  |         destroy_canonical_email_block_html: "%{name} desbloqueou o e-mail com a hash %{target}" | ||||||
|         destroy_custom_emoji_html: "%{name} eliminou o emoji %{target}" |         destroy_custom_emoji_html: "%{name} eliminou o emoji %{target}" | ||||||
|         destroy_domain_allow_html: "%{name} desabilitou a federação com o domínio %{target}" |         destroy_domain_allow_html: "%{name} bloqueou a federação com o domínio %{target}" | ||||||
|         destroy_domain_block_html: "%{name} desbloqueou o domínio %{target}" |         destroy_domain_block_html: "%{name} desbloqueou o domínio %{target}" | ||||||
|  |         destroy_email_domain_block_html: "%{name} desbloqueou o domínio de e-mail %{target}" | ||||||
|         destroy_instance_html: "%{name} purgou o domínio %{target}" |         destroy_instance_html: "%{name} purgou o domínio %{target}" | ||||||
|         destroy_ip_block_html: "%{name} eliminou regra para o IP %{target}" |         destroy_ip_block_html: "%{name} eliminou a regra para o IP %{target}" | ||||||
|         destroy_status_html: "%{name} removeu a publicação de %{target}" |         destroy_status_html: "%{name} removeu a publicação de %{target}" | ||||||
|         destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}" |         destroy_unavailable_domain_html: "%{name} retomou as entregas ao domínio %{target}" | ||||||
|         destroy_user_role_html: "%{name} eliminou a função %{target}" |         destroy_user_role_html: "%{name} eliminou a função %{target}" | ||||||
|         disable_2fa_user_html: "%{name} desativou o requerimento de autenticação em dois passos para o utilizador %{target}" |         disable_2fa_user_html: "%{name} desativou o requerimento de autenticação em dois passos para o utilizador %{target}" | ||||||
|         disable_custom_emoji_html: "%{name} desabilitou o emoji %{target}" |         disable_custom_emoji_html: "%{name} desativou o emoji %{target}" | ||||||
|         disable_user_html: "%{name} desativou o acesso para o utilizador %{target}" |         disable_sign_in_token_auth_user_html: "%{name} desativou o token de autenticação por e-mail para %{target}" | ||||||
|  |         disable_user_html: "%{name} desativou o início de sessão para o utilizador %{target}" | ||||||
|         enable_custom_emoji_html: "%{name} ativou o emoji %{target}" |         enable_custom_emoji_html: "%{name} ativou o emoji %{target}" | ||||||
|         enable_user_html: "%{name} ativou o acesso para o utilizador %{target}" |         enable_sign_in_token_auth_user_html: "%{name} ativou o token de autenticação por e-mail para %{target}" | ||||||
|  |         enable_user_html: "%{name} ativou o início de sessão para o utilizador %{target}" | ||||||
|         memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial" |         memorialize_account_html: "%{name} transformou a conta de %{target} em um memorial" | ||||||
|         promote_user_html: "%{name} promoveu o utilizador %{target}" |         promote_user_html: "%{name} promoveu o utilizador %{target}" | ||||||
|         reject_appeal_html: "%{name} rejeitou recurso da decisão de moderação de %{target}" |         reject_appeal_html: "%{name} rejeitou recurso da decisão de moderação de %{target}" | ||||||
|  | @ -352,7 +373,7 @@ pt-PT: | ||||||
|       title: Painel de controlo |       title: Painel de controlo | ||||||
|       top_languages: Principais idiomas ativos |       top_languages: Principais idiomas ativos | ||||||
|       top_servers: Servidores mais ativos |       top_servers: Servidores mais ativos | ||||||
|       website: Página na teia |       website: Website | ||||||
|     disputes: |     disputes: | ||||||
|       appeals: |       appeals: | ||||||
|         empty: Nenhum recurso encontrado. |         empty: Nenhum recurso encontrado. | ||||||
|  | @ -669,39 +690,39 @@ pt-PT: | ||||||
|       privileges: |       privileges: | ||||||
|         administrator: Administrador |         administrator: Administrador | ||||||
|         administrator_description: Utilizadores com esta permissão irão contornar todas as permissões |         administrator_description: Utilizadores com esta permissão irão contornar todas as permissões | ||||||
|         delete_user_data: Eliminar Dados de Utilizador |         delete_user_data: Eliminar dados de utilizador | ||||||
|         delete_user_data_description: Permite que os utilizadores eliminem os dados doutros utilizadores sem tempo de espera |         delete_user_data_description: Permite que os utilizadores eliminem os dados doutros utilizadores sem tempo de espera | ||||||
|         invite_users: Convidar Utilizadores |         invite_users: Convidar utilizadores | ||||||
|         invite_users_description: Permite aos utilizadores convidar pessoas novas para o servidor |         invite_users_description: Permite aos utilizadores convidar pessoas novas para o servidor | ||||||
|         manage_announcements: Gerir comunicados |         manage_announcements: Gerir comunicados | ||||||
|         manage_announcements_description: Permite aos utilizadores gerirem os comunicados no servidor |         manage_announcements_description: Permite aos utilizadores gerirem os comunicados no servidor | ||||||
|         manage_appeals: Gerir apelos |         manage_appeals: Gerir apelos | ||||||
|         manage_appeals_description: Permite aos utilizadores rever recursos de moderação |         manage_appeals_description: Permite aos utilizadores rever recursos de moderação | ||||||
|         manage_blocks: Gerir Bloqueios |         manage_blocks: Gerir bloqueios | ||||||
|         manage_custom_emojis: Gerir Emojis Personalizados |         manage_custom_emojis: Gerir emojis personalizados | ||||||
|         manage_custom_emojis_description: Permite aos utilizadores gerirem os emojis personalizados do servidor |         manage_custom_emojis_description: Permite aos utilizadores gerirem os emojis personalizados do servidor | ||||||
|         manage_federation: Gerir Federação |         manage_federation: Gerir federação | ||||||
|         manage_federation_description: Permite aos utilizadores bloquear ou permitir federação com outros domínios e controlar a entregabilidade |         manage_federation_description: Permite aos utilizadores bloquear ou permitir federação com outros domínios e controlar a entregabilidade | ||||||
|         manage_invites: Gerir Convites |         manage_invites: Gerir convites | ||||||
|         manage_invites_description: Permite aos utilizadores pesquisarem e desativarem ligações de convite |         manage_invites_description: Permite aos utilizadores pesquisarem e desativarem ligações de convite | ||||||
|         manage_reports: Gerir Relatórios |         manage_reports: Gerir denúncias | ||||||
|         manage_reports_description: Permite aos utilizadores rever relatórios e executar ações de moderação contra eles |         manage_reports_description: Permite aos utilizadores rever denúncias e executar ações de moderação contra eles | ||||||
|         manage_roles: Gerir Funções |         manage_roles: Gerir funções | ||||||
|         manage_roles_description: Permite aos utilizadores a gestão e atribuição de funções abaixo dos seus |         manage_roles_description: Permite aos utilizadores a gestão e atribuição de funções abaixo dos seus | ||||||
|         manage_rules: Gerir Regras |         manage_rules: Gerir regras | ||||||
|         manage_rules_description: Permite aos utilizadores alterar as regras do servidor |         manage_rules_description: Permite aos utilizadores alterar as regras do servidor | ||||||
|         manage_settings: Gerir Configurações |         manage_settings: Gerir configurações | ||||||
|         manage_settings_description: Permite aos utilizadores alterar as configurações do sítio na teia |         manage_settings_description: Permite aos utilizadores alterar as configurações do site | ||||||
|         manage_taxonomies: Gerir Taxonomias |         manage_taxonomies: Gerir taxonomias | ||||||
|         manage_taxonomies_description: Permite aos utilizadores rever o conteúdo em tendência e atualizar as configurações de hashtag |         manage_taxonomies_description: Permite aos utilizadores rever o conteúdo em tendência e atualizar as configurações de hashtag | ||||||
|         manage_user_access: Gerir Acesso de Utilizador |         manage_user_access: Gerir acesso de utilizador | ||||||
|         manage_users: Gerir Utilizadores |         manage_users: Gerir utilizadores | ||||||
|         manage_users_description: Permite aos utilizadores ver os detalhes de outros utilizadores e executar ações de moderação contra eles |         manage_users_description: Permite aos utilizadores ver os detalhes de outros utilizadores e executar ações de moderação contra eles | ||||||
|         manage_webhooks: Gerir Webhooks |         manage_webhooks: Gerir webhooks | ||||||
|         manage_webhooks_description: Permite aos utilizadores configurar webhooks para eventos administrativos |         manage_webhooks_description: Permite aos utilizadores configurar webhooks para eventos administrativos | ||||||
|         view_audit_log: Ver Registo de Auditoria |         view_audit_log: Ver registo de auditoria | ||||||
|         view_audit_log_description: Permite aos utilizadores ver um histórico de ações administrativas no servidor |         view_audit_log_description: Permite aos utilizadores ver um histórico de ações administrativas no servidor | ||||||
|         view_dashboard: Ver Painel de Controlo |         view_dashboard: Ver painel de controlo | ||||||
|         view_dashboard_description: Permite aos utilizadores acederem ao painel de controlo e a várias estatísticas |         view_dashboard_description: Permite aos utilizadores acederem ao painel de controlo e a várias estatísticas | ||||||
|         view_devops: DevOps |         view_devops: DevOps | ||||||
|         view_devops_description: Permite aos utilizadores aceder aos painéis de controlo do Sidekiq e pgHero |         view_devops_description: Permite aos utilizadores aceder aos painéis de controlo do Sidekiq e pgHero | ||||||
|  | @ -723,14 +744,14 @@ pt-PT: | ||||||
|         preamble: Personalize a interface web do Mastodon. |         preamble: Personalize a interface web do Mastodon. | ||||||
|         title: Aspeto |         title: Aspeto | ||||||
|       branding: |       branding: | ||||||
|         preamble: A marca do seu servidor diferencia-a doutros servidores na rede. Essa informação pode ser exibida em vários contexos, como a interface na teia do Mastodon, aplicações nativas, visualizações de hiperligações noutros sites, em aplicações de mensagens, etc. Por esta razão, é melhor manter esta informação clara, curta e concisa. |         preamble: A marca do seu servidor diferencia-a de outros servidores na rede. Essa informação pode ser mostrada em vários ambientes, como a interface web do Mastodon, aplicações nativas, visualizações de hiperligações em outros sites e dentro de aplicações de mensagens, etc. Por esta razão, é melhor manter esta informação clara, curta e concisa. | ||||||
|         title: Marca |         title: Marca | ||||||
|       captcha_enabled: |       captcha_enabled: | ||||||
|         desc_html: Isto depende de scripts externos da hCaptcha, o que pode ser uma preocupação de segurança e privacidade. Além disso, <strong>isto pode tornar o processo de registo menos acessível para algumas pessoas (especialmente as com limitações físicas)</strong>. Por isso, considere medidas alternativas tais como registo mediante aprovação ou sob convite. |         desc_html: Isto depende de scripts externos da hCaptcha, o que pode ser uma preocupação de segurança e privacidade. Além disso, <strong>isto pode tornar o processo de registo menos acessível para algumas pessoas (especialmente as com limitações físicas)</strong>. Por isso, considere medidas alternativas tais como registo mediante aprovação ou sob convite. | ||||||
|         title: Requerer que novos utilizadores resolvam um CAPTCHA para confirmar a sua conta |         title: Requerer que novos utilizadores resolvam um CAPTCHA para confirmar a sua conta | ||||||
|       content_retention: |       content_retention: | ||||||
|         danger_zone: Zona de perigo |         danger_zone: Zona de perigo | ||||||
|         preamble: Controle como o conteúdo gerado pelos utilizadores é armazenado no Mastodon. |         preamble: Controle a forma como o conteúdo gerado pelo utilizador é armazenado no Mastodon. | ||||||
|         title: Retenção de conteúdo |         title: Retenção de conteúdo | ||||||
|       default_noindex: |       default_noindex: | ||||||
|         desc_html: Afeta todos os utilizadores que não alteraram esta configuração |         desc_html: Afeta todos os utilizadores que não alteraram esta configuração | ||||||
|  | @ -1198,7 +1219,7 @@ pt-PT: | ||||||
|       content: Desculpe, mas algo correu mal da nossa parte. |       content: Desculpe, mas algo correu mal da nossa parte. | ||||||
|       title: Esta página não está correta |       title: Esta página não está correta | ||||||
|     '503': A página não pôde ser apresentada devido a uma falha temporária do servidor. |     '503': A página não pôde ser apresentada devido a uma falha temporária do servidor. | ||||||
|     noscript_html: Para usar a aplicação da teia do Mastodon, por favor active o JavaScript. Em alternativa, experimenta uma das <a href="%{apps_path}">aplicações nativas</a> do Mastodon para a sua plataforma. |     noscript_html: Para usar a aplicação web do Mastodon, ative o JavaScript. Alternativamente, experimente uma das <a href="%{apps_path}">aplicações nativas</a> para o Mastodon na sua plataforma. | ||||||
|   existing_username_validator: |   existing_username_validator: | ||||||
|     not_found: não foi possível encontrar um utilizador local com esse nome |     not_found: não foi possível encontrar um utilizador local com esse nome | ||||||
|     not_found_multiple: não foi possível encontrar %{usernames} |     not_found_multiple: não foi possível encontrar %{usernames} | ||||||
|  | @ -1236,7 +1257,7 @@ pt-PT: | ||||||
|       statuses_hint_html: Este filtro aplica-se a publicações individuais selecionadas independentemente de estas corresponderem às palavras-chave abaixo. <a href="%{path}">Reveja ou remova publicações do filtro</a>. |       statuses_hint_html: Este filtro aplica-se a publicações individuais selecionadas independentemente de estas corresponderem às palavras-chave abaixo. <a href="%{path}">Reveja ou remova publicações do filtro</a>. | ||||||
|       title: Editar filtros |       title: Editar filtros | ||||||
|     errors: |     errors: | ||||||
|       deprecated_api_multiple_keywords: Estes parâmetros não podem ser alterados a partir desta aplicação porque se aplicam a mais que um filtro de palavra-chave. Use uma aplicação mais recente ou a interface na teia. |       deprecated_api_multiple_keywords: Estes parâmetros não podem ser alterados a partir desta aplicação porque se aplicam a mais de um filtro de palavra-chave. Use uma aplicação mais recente ou a interface web. | ||||||
|       invalid_context: Inválido ou nenhum contexto fornecido |       invalid_context: Inválido ou nenhum contexto fornecido | ||||||
|     index: |     index: | ||||||
|       contexts: Filtros em %{contexts} |       contexts: Filtros em %{contexts} | ||||||
|  | @ -1664,7 +1685,7 @@ pt-PT: | ||||||
|     edited_at_html: Editado em %{date} |     edited_at_html: Editado em %{date} | ||||||
|     errors: |     errors: | ||||||
|       in_reply_not_found: A publicação a que está a tentar responder parece não existir. |       in_reply_not_found: A publicação a que está a tentar responder parece não existir. | ||||||
|     open_in_web: Abrir na Teia |     open_in_web: Abrir na web | ||||||
|     over_character_limit: limite de caracter excedeu %{max} |     over_character_limit: limite de caracter excedeu %{max} | ||||||
|     pin_errors: |     pin_errors: | ||||||
|       direct: Publicações visíveis apenas para utilizadores mencionados não podem ser afixadas |       direct: Publicações visíveis apenas para utilizadores mencionados não podem ser afixadas | ||||||
|  | @ -1826,7 +1847,7 @@ pt-PT: | ||||||
|     welcome: |     welcome: | ||||||
|       apps_android_action: Baixe no Google Play |       apps_android_action: Baixe no Google Play | ||||||
|       apps_ios_action: Baixar na App Store |       apps_ios_action: Baixar na App Store | ||||||
|       apps_step: Baixe nossos aplicativos oficiais. |       apps_step: Descarregue as nossas aplicações oficiais. | ||||||
|       apps_title: Apps Mastodon |       apps_title: Apps Mastodon | ||||||
|       checklist_subtitle: 'Vamos começar nesta nova fronteira social:' |       checklist_subtitle: 'Vamos começar nesta nova fronteira social:' | ||||||
|       checklist_title: Checklist de Boas-vindas |       checklist_title: Checklist de Boas-vindas | ||||||
|  | @ -1835,11 +1856,11 @@ pt-PT: | ||||||
|       edit_profile_title: Personalize seu perfil |       edit_profile_title: Personalize seu perfil | ||||||
|       explanation: Aqui estão algumas dicas para começar |       explanation: Aqui estão algumas dicas para começar | ||||||
|       feature_action: Mais informações |       feature_action: Mais informações | ||||||
|       feature_audience: Mastodon oferece uma possibilidade única de gerenciar seu público sem intermediários. O Mastodon implantado em sua própria infraestrutura permite que você siga e seja seguido de qualquer outro servidor Mastodon online e não esteja sob o controle de ninguém além do seu. |       feature_audience: O Mastodon oferece-lhe uma possibilidade única de gerir a sua audiência sem intermediários. O Mastodon implantado na sua própria infraestrutura permite-lhe seguir e ser seguido a partir de qualquer outro servidor Mastodon online e não está sob o controlo de ninguém a não ser o seu. | ||||||
|       feature_audience_title: Construa seu público em confiança |       feature_audience_title: Construa seu público em confiança | ||||||
|       feature_control: Você sabe melhor o que deseja ver no feed da sua casa. Sem algoritmos ou anúncios para desperdiçar seu tempo. Siga qualquer pessoa em qualquer servidor Mastodon a partir de uma única conta e receba suas postagens em ordem cronológica, deixando seu canto da internet um pouco mais parecido com você. |       feature_control: Você sabe melhor o que quer ver no seu feed. Não há algoritmos ou anúncios que o façam perder tempo. Siga qualquer pessoa em qualquer servidor Mastodon a partir de uma única conta e receba as suas mensagens por ordem cronológica e torne o seu canto da Internet um pouco mais parecido consigo. | ||||||
|       feature_control_title: Fique no controle da sua própria linha do tempo |       feature_control_title: Mantenha o controlo da sua própria cronologia | ||||||
|       feature_creativity: Mastodon suporta postagens de áudio, vídeo e imagens, descrições de acessibilidade, enquetes, avisos de conteúdo, avatares animados, emojis personalizados, controle de corte de miniaturas e muito mais, para ajudá-lo a se expressar online. Esteja você publicando sua arte, sua música ou seu podcast, o Mastodon está lá para você. |       feature_creativity: O Mastodon suporta publicações de áudio, vídeo e imagens, descrições de acessibilidade, sondagens, avisos de conteúdo, avatares animados, emojis personalizados, controlo de corte de miniaturas e muito mais, para o ajudar a expressar-se online. Quer esteja a publicar a sua arte, a sua música ou o seu podcast, o Mastodon está lá para si. | ||||||
|       feature_creativity_title: Criatividade inigualável |       feature_creativity_title: Criatividade inigualável | ||||||
|       feature_moderation: Mastodon coloca a tomada de decisões de volta em suas mãos. Cada servidor cria as suas próprias regras e regulamentos, que são aplicados localmente e não de cima para baixo como as redes sociais corporativas, tornando-o mais flexível na resposta às necessidades de diferentes grupos de pessoas. Junte-se a um servidor com as regras com as quais você concorda ou hospede as suas próprias. |       feature_moderation: Mastodon coloca a tomada de decisões de volta em suas mãos. Cada servidor cria as suas próprias regras e regulamentos, que são aplicados localmente e não de cima para baixo como as redes sociais corporativas, tornando-o mais flexível na resposta às necessidades de diferentes grupos de pessoas. Junte-se a um servidor com as regras com as quais você concorda ou hospede as suas próprias. | ||||||
|       feature_moderation_title: Moderando como deve ser |       feature_moderation_title: Moderando como deve ser | ||||||
|  | @ -1856,7 +1877,7 @@ pt-PT: | ||||||
|       hashtags_title: Etiquetas em tendência |       hashtags_title: Etiquetas em tendência | ||||||
|       hashtags_view_more: Ver mais etiquetas em tendência |       hashtags_view_more: Ver mais etiquetas em tendência | ||||||
|       post_action: Compor |       post_action: Compor | ||||||
|       post_step: Diga olá para o mundo com texto, fotos, vídeos ou enquetes. |       post_step: Diga olá para o mundo com texto, fotos, vídeos ou sondagens. | ||||||
|       post_title: Faça a sua primeira publicação |       post_title: Faça a sua primeira publicação | ||||||
|       share_action: Compartilhar |       share_action: Compartilhar | ||||||
|       share_step: Diga aos seus amigos como te encontrar no Mastodon. |       share_step: Diga aos seus amigos como te encontrar no Mastodon. | ||||||
|  |  | ||||||
|  | @ -130,6 +130,7 @@ he: | ||||||
|         name: ניתן רק להחליף בין אותיות קטנות וגדולות, למשל כדי לשפר את הקריאות |         name: ניתן רק להחליף בין אותיות קטנות וגדולות, למשל כדי לשפר את הקריאות | ||||||
|       user: |       user: | ||||||
|         chosen_languages: אם פעיל, רק הודעות בשפות הנבחרות יוצגו לפידים הפומביים |         chosen_languages: אם פעיל, רק הודעות בשפות הנבחרות יוצגו לפידים הפומביים | ||||||
|  |         role: התפקיד שולט על אילו הרשאות יש למשתמש. | ||||||
|       user_role: |       user_role: | ||||||
|         color: צבע לתפקיד בממשק המשתמש, כ RGB בפורמט הקסדצימלי |         color: צבע לתפקיד בממשק המשתמש, כ RGB בפורמט הקסדצימלי | ||||||
|         highlighted: מאפשר נראות ציבורית של התפקיד |         highlighted: מאפשר נראות ציבורית של התפקיד | ||||||
|  |  | ||||||
|  | @ -101,6 +101,7 @@ lt: | ||||||
|         show_application: Neatsižvelgiant į tai, visada galėsi matyti, kuri programėlė paskelbė tavo įrašą. |         show_application: Neatsižvelgiant į tai, visada galėsi matyti, kuri programėlė paskelbė tavo įrašą. | ||||||
|       user: |       user: | ||||||
|         chosen_languages: Kai pažymėta, viešose laiko skalėse bus rodomi tik įrašai pasirinktomis kalbomis. |         chosen_languages: Kai pažymėta, viešose laiko skalėse bus rodomi tik įrašai pasirinktomis kalbomis. | ||||||
|  |         role: Vaidmuo valdo, kokius leidimus naudotojas turi. | ||||||
|     labels: |     labels: | ||||||
|       account: |       account: | ||||||
|         discoverable: Rekomenduoti profilį ir įrašus į atradimo algoritmus |         discoverable: Rekomenduoti profilį ir įrašus į atradimo algoritmus | ||||||
|  |  | ||||||
|  | @ -130,6 +130,7 @@ pl: | ||||||
|         name: Możesz zmieniać tylko wielkość liter, np. aby były bardziej widoczne |         name: Możesz zmieniać tylko wielkość liter, np. aby były bardziej widoczne | ||||||
|       user: |       user: | ||||||
|         chosen_languages: Jeżeli zaznaczone, tylko wpisy w wybranych językach będą wyświetlane na publicznych osiach czasu |         chosen_languages: Jeżeli zaznaczone, tylko wpisy w wybranych językach będą wyświetlane na publicznych osiach czasu | ||||||
|  |         role: Rola kontroluje uprawnienia użytkownika. | ||||||
|       user_role: |       user_role: | ||||||
|         color: Kolor używany dla roli w całym interfejsie użytkownika, wyrażony jako RGB w formacie szesnastkowym |         color: Kolor używany dla roli w całym interfejsie użytkownika, wyrażony jako RGB w formacie szesnastkowym | ||||||
|         highlighted: To sprawia, że rola jest widoczna publicznie |         highlighted: To sprawia, że rola jest widoczna publicznie | ||||||
|  |  | ||||||
|  | @ -77,7 +77,7 @@ pt-PT: | ||||||
|           warn: Ocultar o conteúdo filtrado por trás de um aviso mencionando o título do filtro |           warn: Ocultar o conteúdo filtrado por trás de um aviso mencionando o título do filtro | ||||||
|       form_admin_settings: |       form_admin_settings: | ||||||
|         activity_api_enabled: Contagem, em blocos semanais, de publicações locais, utilizadores ativos e novos registos |         activity_api_enabled: Contagem, em blocos semanais, de publicações locais, utilizadores ativos e novos registos | ||||||
|         app_icon: WEBP, PNG, GIF ou JPG. Substitui o ícone padrão do aplicativo em dispositivos móveis por um ícone personalizado. |         app_icon: WEBP, PNG, GIF ou JPG. Substitui o ícone padrão da aplicação em dispositivos móveis por um ícone personalizado. | ||||||
|         backups_retention_period: Os utilizadores têm a possibilidade de gerar arquivos das suas mensagens para descarregar mais tarde. Quando definido para um valor positivo, estes arquivos serão automaticamente eliminados do seu armazenamento após o número de dias especificado. |         backups_retention_period: Os utilizadores têm a possibilidade de gerar arquivos das suas mensagens para descarregar mais tarde. Quando definido para um valor positivo, estes arquivos serão automaticamente eliminados do seu armazenamento após o número de dias especificado. | ||||||
|         bootstrap_timeline_accounts: Estas contas serão destacadas no topo das recomendações aos novos utilizadores. |         bootstrap_timeline_accounts: Estas contas serão destacadas no topo das recomendações aos novos utilizadores. | ||||||
|         closed_registrations_message: Apresentado quando as inscrições estiverem encerradas |         closed_registrations_message: Apresentado quando as inscrições estiverem encerradas | ||||||
|  | @ -130,12 +130,13 @@ pt-PT: | ||||||
|         name: Só pode alterar a capitalização das letras, por exemplo, para torná-las mais legíveis |         name: Só pode alterar a capitalização das letras, por exemplo, para torná-las mais legíveis | ||||||
|       user: |       user: | ||||||
|         chosen_languages: Quando selecionado, só serão mostradas nas cronologias públicas as publicações nos idiomas escolhidos |         chosen_languages: Quando selecionado, só serão mostradas nas cronologias públicas as publicações nos idiomas escolhidos | ||||||
|  |         role: A função controla as permissões que o utilizador tem. | ||||||
|       user_role: |       user_role: | ||||||
|         color: Cor a ser utilizada para a função em toda a interface de utilizador, como RGB no formato hexadecimal |         color: Cor a ser utilizada para a função em toda a interface de utilizador, como RGB no formato hexadecimal | ||||||
|         highlighted: Isto torna a função visível publicamente |         highlighted: Isto torna a função visível publicamente | ||||||
|         name: Nome público do cargo, se este estiver definido para ser apresentada com um emblema |         name: Nome público da função, se esta estiver definida para ser apresentada com um emblema | ||||||
|         permissions_as_keys: Utilizadores com esta função terão acesso a... |         permissions_as_keys: Utilizadores com esta função terão acesso a... | ||||||
|         position: Cargos mais altos decidem a resolução de conflitos em certas situações. Certas ações só podem ser executadas em cargos com uma menor prioridade |         position: Funções mais altas decidem a resolução de conflitos em certas situações. Certas ações só podem ser executadas com certas funções com uma menor prioridade | ||||||
|       webhook: |       webhook: | ||||||
|         events: Selecione os eventos a enviar |         events: Selecione os eventos a enviar | ||||||
|         template: Componha o seu próprio conteúdo JSON utilizando a interpolação de variáveis. Deixar em branco para o JSON predefinido. |         template: Componha o seu próprio conteúdo JSON utilizando a interpolação de variáveis. Deixar em branco para o JSON predefinido. | ||||||
|  | @ -315,7 +316,7 @@ pt-PT: | ||||||
|         trendable: Permitir que esta etiqueta apareça nas tendências |         trendable: Permitir que esta etiqueta apareça nas tendências | ||||||
|         usable: Permitir que as publicações usem esta hashtag localmente |         usable: Permitir que as publicações usem esta hashtag localmente | ||||||
|       user: |       user: | ||||||
|         role: Cargo |         role: Função | ||||||
|         time_zone: Fuso horário |         time_zone: Fuso horário | ||||||
|       user_role: |       user_role: | ||||||
|         color: Cor do emblema |         color: Cor do emblema | ||||||
|  |  | ||||||
|  | @ -130,6 +130,7 @@ tr: | ||||||
|         name: Harflerin, örneğin daha okunabilir yapmak için, sadece büyük/küçük harf durumlarını değiştirebilirsiniz |         name: Harflerin, örneğin daha okunabilir yapmak için, sadece büyük/küçük harf durumlarını değiştirebilirsiniz | ||||||
|       user: |       user: | ||||||
|         chosen_languages: İşaretlendiğinde, yalnızca seçilen dillerdeki gönderiler genel zaman çizelgelerinde görüntülenir |         chosen_languages: İşaretlendiğinde, yalnızca seçilen dillerdeki gönderiler genel zaman çizelgelerinde görüntülenir | ||||||
|  |         role: Rol, kullanıcıların sahip olduğu izinleri denetler. | ||||||
|       user_role: |       user_role: | ||||||
|         color: Arayüz boyunca rol için kullanılacak olan renk, hex biçiminde RGB |         color: Arayüz boyunca rol için kullanılacak olan renk, hex biçiminde RGB | ||||||
|         highlighted: Bu rolü herkese açık hale getirir |         highlighted: Bu rolü herkese açık hale getirir | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ sq: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Kryeje veprimin |       action: Kryeje veprimin | ||||||
|       already_silenced: Kjo llogari është heshtuar tashmë. |  | ||||||
|       already_suspended: Kjo llogari është pezulluar tashmë. |       already_suspended: Kjo llogari është pezulluar tashmë. | ||||||
|       title: Kryeni veprim moderimi te %{acct} |       title: Kryeni veprim moderimi te %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ sv: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Utför åtgärd |       action: Utför åtgärd | ||||||
|  |       already_silenced: Detta konto är redan begränsat. | ||||||
|       title: Utför aktivitet för moderering på %{acct} |       title: Utför aktivitet för moderering på %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|       create: Lämna kommentar |       create: Lämna kommentar | ||||||
|  |  | ||||||
|  | @ -23,7 +23,6 @@ th: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: ทำการกระทำ |       action: ทำการกระทำ | ||||||
|       already_silenced: มีการทำให้บัญชีนี้เงียบไปแล้ว |  | ||||||
|       already_suspended: มีการระงับบัญชีนี้ไปแล้ว |       already_suspended: มีการระงับบัญชีนี้ไปแล้ว | ||||||
|       title: ทำการกระทำการกลั่นกรองต่อ %{acct} |       title: ทำการกระทำการกลั่นกรองต่อ %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -25,6 +25,8 @@ tr: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Eylemi gerçekleştir |       action: Eylemi gerçekleştir | ||||||
|  |       already_silenced: Bu hesap zaten askıya alınmış. | ||||||
|  |       already_suspended: Bu hesap zaten askıya alınmış. | ||||||
|       title: "%{acct} üzerinde denetleme eylemi gerçekleştir" |       title: "%{acct} üzerinde denetleme eylemi gerçekleştir" | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|       create: Not bırak |       create: Not bırak | ||||||
|  | @ -46,6 +48,7 @@ tr: | ||||||
|         title: "%{username} için e-postayı değiştir" |         title: "%{username} için e-postayı değiştir" | ||||||
|       change_role: |       change_role: | ||||||
|         changed_msg: Rol başarıyla değiştirildi! |         changed_msg: Rol başarıyla değiştirildi! | ||||||
|  |         edit_roles: Kullanıcı rollerini yönetin | ||||||
|         label: Rolü değiştir |         label: Rolü değiştir | ||||||
|         no_role: Rol yok |         no_role: Rol yok | ||||||
|         title: "%{username} için rolü değiştir" |         title: "%{username} için rolü değiştir" | ||||||
|  | @ -602,6 +605,7 @@ tr: | ||||||
|         suspend_description_html: Bu hesap ve tüm içeriği erişilmez olacak ve nihayetinde silinecek ve bu hesapla etkileşim mümkün olmayacaktır. 30 gün içinde geri alınabilir. Bu hesaba yönelik tüm bildiriimleri kapatır. |         suspend_description_html: Bu hesap ve tüm içeriği erişilmez olacak ve nihayetinde silinecek ve bu hesapla etkileşim mümkün olmayacaktır. 30 gün içinde geri alınabilir. Bu hesaba yönelik tüm bildiriimleri kapatır. | ||||||
|       actions_description_html: Bu bildirimi çözmek için ne yapılması gerektiğine karar verin. Bildirilen hesap için ceza işlemi yaparsanız, <strong>İstenmeyen</strong> kategorisi seçilmemişse, onlara bir e-posta duyurusu gönderilecektir. |       actions_description_html: Bu bildirimi çözmek için ne yapılması gerektiğine karar verin. Bildirilen hesap için ceza işlemi yaparsanız, <strong>İstenmeyen</strong> kategorisi seçilmemişse, onlara bir e-posta duyurusu gönderilecektir. | ||||||
|       actions_description_remote_html: Bu bildirimi çözmek için hangi eylemi yapmak istediğinize karar verin. Bu yalnızca <strong>sizin</strong> sunucunuzun bu uzak hesapla nasıl etkileşeğini ve içeriğiyle ne yapacağını etkiler. |       actions_description_remote_html: Bu bildirimi çözmek için hangi eylemi yapmak istediğinize karar verin. Bu yalnızca <strong>sizin</strong> sunucunuzun bu uzak hesapla nasıl etkileşeğini ve içeriğiyle ne yapacağını etkiler. | ||||||
|  |       actions_no_posts: Bu raporun ilişkili olduğu silinecek gönderi yok | ||||||
|       add_to_report: Bildirime daha fazlasını ekle |       add_to_report: Bildirime daha fazlasını ekle | ||||||
|       already_suspended_badges: |       already_suspended_badges: | ||||||
|         local: Bu sunucuda zaten askıya alınmış |         local: Bu sunucuda zaten askıya alınmış | ||||||
|  |  | ||||||
|  | @ -628,6 +628,7 @@ uk: | ||||||
|         suspend_description_html: Обліковий запис і весь його вміст будуть недоступними й врешті-решт видалені, і взаємодіяти з ним буде неможливо. Відновлення можливе протягом 30 днів. Закриває всі скарги на цей обліковий запис. |         suspend_description_html: Обліковий запис і весь його вміст будуть недоступними й врешті-решт видалені, і взаємодіяти з ним буде неможливо. Відновлення можливе протягом 30 днів. Закриває всі скарги на цей обліковий запис. | ||||||
|       actions_description_html: Визначте, які дії слід вжити для розв'язання цієї скарги. Якщо ви оберете каральні дії проти зареєстрованого облікового запису, про них буде надіслано сповіщення електронним листом, крім випадків, коли вибрано категорію <strong>Спам</strong>. |       actions_description_html: Визначте, які дії слід вжити для розв'язання цієї скарги. Якщо ви оберете каральні дії проти зареєстрованого облікового запису, про них буде надіслано сповіщення електронним листом, крім випадків, коли вибрано категорію <strong>Спам</strong>. | ||||||
|       actions_description_remote_html: Визначте, які дії слід вжити для розв'язання цього звіту. Це вплине тільки на те, як <strong>ваш</strong> сервер з'єднується з цим віддаленим обліковим записом і обробляє його вміст. |       actions_description_remote_html: Визначте, які дії слід вжити для розв'язання цього звіту. Це вплине тільки на те, як <strong>ваш</strong> сервер з'єднується з цим віддаленим обліковим записом і обробляє його вміст. | ||||||
|  |       actions_no_posts: Ця скарга не має жодних пов'язаних дописів для видалення | ||||||
|       add_to_report: Додати ще подробиць до скарги |       add_to_report: Додати ще подробиць до скарги | ||||||
|       already_suspended_badges: |       already_suspended_badges: | ||||||
|         local: Вже призупинено на цьому сервері |         local: Вже призупинено на цьому сервері | ||||||
|  |  | ||||||
|  | @ -23,7 +23,6 @@ vi: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: Thực hiện hành động |       action: Thực hiện hành động | ||||||
|       already_silenced: Tài khoản này đã bị hạn chế. |  | ||||||
|       already_suspended: Tài khoản này đã bị vô hiệu hóa. |       already_suspended: Tài khoản này đã bị vô hiệu hóa. | ||||||
|       title: Áp đặt kiểm duyệt với %{acct} |       title: Áp đặt kiểm duyệt với %{acct} | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ zh-CN: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: 执行操作 |       action: 执行操作 | ||||||
|       already_silenced: 此帐户已受限。 |       already_silenced: 此账户已受限。 | ||||||
|       already_suspended: 此帐户已被封禁。 |       already_suspended: 此帐户已被封禁。 | ||||||
|       title: 在 %{acct} 上执行管理操作 |       title: 在 %{acct} 上执行管理操作 | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ zh-TW: | ||||||
|   admin: |   admin: | ||||||
|     account_actions: |     account_actions: | ||||||
|       action: 執行動作 |       action: 執行動作 | ||||||
|       already_silenced: 此帳號已被靜音。 |       already_silenced: 此帳號已被限制。 | ||||||
|       already_suspended: 此帳號已被停權。 |       already_suspended: 此帳號已被停權。 | ||||||
|       title: 對 %{acct} 執行站務動作 |       title: 對 %{acct} 執行站務動作 | ||||||
|     account_moderation_notes: |     account_moderation_notes: | ||||||
|  | @ -1269,7 +1269,7 @@ zh-TW: | ||||||
|       home: 首頁時間軸 |       home: 首頁時間軸 | ||||||
|       notifications: 通知 |       notifications: 通知 | ||||||
|       public: 公開時間軸 |       public: 公開時間軸 | ||||||
|       thread: 對話 |       thread: 討論串 | ||||||
|     edit: |     edit: | ||||||
|       add_keyword: 新增關鍵字 |       add_keyword: 新增關鍵字 | ||||||
|       keywords: 關鍵字 |       keywords: 關鍵字 | ||||||
|  |  | ||||||
|  | @ -8,4 +8,134 @@ RSpec.describe FeaturedTag do | ||||||
|       it { is_expected.to normalize(:name).from('  #hashtag  ').to('hashtag') } |       it { is_expected.to normalize(:name).from('  #hashtag  ').to('hashtag') } | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   describe 'Validations' do | ||||||
|  |     context 'when account already has a featured tag' do | ||||||
|  |       subject { Fabricate.build :featured_tag, account: account } | ||||||
|  | 
 | ||||||
|  |       before { Fabricate :featured_tag, account: account, name: 'Test' } | ||||||
|  | 
 | ||||||
|  |       let(:account) { Fabricate :account } | ||||||
|  | 
 | ||||||
|  |       it { is_expected.to_not allow_value('Test').for(:name) } | ||||||
|  | 
 | ||||||
|  |       context 'when account has hit limit' do | ||||||
|  |         before { stub_const 'FeaturedTag::LIMIT', 1 } | ||||||
|  | 
 | ||||||
|  |         context 'with a local account' do | ||||||
|  |           let(:account) { Fabricate :account, domain: nil } | ||||||
|  | 
 | ||||||
|  |           it { is_expected.to_not allow_value(account).for(:account).against(:base).with_message(I18n.t('featured_tags.errors.limit')) } | ||||||
|  |         end | ||||||
|  | 
 | ||||||
|  |         context 'with a remote account' do | ||||||
|  |           let(:account) { Fabricate :account, domain: 'host.example' } | ||||||
|  | 
 | ||||||
|  |           it { is_expected.to allow_value(account).for(:account) } | ||||||
|  |         end | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   describe 'Callback to set the tag' do | ||||||
|  |     context 'with no matching tag' do | ||||||
|  |       it 'creates a new tag' do | ||||||
|  |         expect { Fabricate :featured_tag, name: 'tag' } | ||||||
|  |           .to change(Tag, :count).by(1) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     context 'with a matching tag' do | ||||||
|  |       it 'creates a new tag' do | ||||||
|  |         tag = Fabricate :tag, name: 'tag' | ||||||
|  | 
 | ||||||
|  |         expect { Fabricate :featured_tag, name: 'tag' } | ||||||
|  |           .to_not change(Tag, :count) | ||||||
|  | 
 | ||||||
|  |         expect(described_class.last.tag) | ||||||
|  |           .to eq(tag) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   describe 'Callback to set the stats' do | ||||||
|  |     context 'when no statuses are relevant' do | ||||||
|  |       it 'sets values to nil' do | ||||||
|  |         featured_tag = Fabricate :featured_tag | ||||||
|  | 
 | ||||||
|  |         expect(featured_tag) | ||||||
|  |           .to have_attributes( | ||||||
|  |             statuses_count: 0, | ||||||
|  |             last_status_at: be_nil | ||||||
|  |           ) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     context 'when some statuses are relevant' do | ||||||
|  |       it 'sets values to nil' do | ||||||
|  |         tag = Fabricate :tag, name: 'test' | ||||||
|  |         status = Fabricate :status, visibility: :public, created_at: 10.days.ago | ||||||
|  |         status.tags << tag | ||||||
|  | 
 | ||||||
|  |         featured_tag = Fabricate :featured_tag, name: 'test', account: status.account | ||||||
|  | 
 | ||||||
|  |         expect(featured_tag) | ||||||
|  |           .to have_attributes( | ||||||
|  |             statuses_count: 1, | ||||||
|  |             last_status_at: be_within(0.1).of(status.created_at) | ||||||
|  |           ) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   describe '#sign?' do | ||||||
|  |     it { is_expected.to be_sign } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   describe '#display_name' do | ||||||
|  |     subject { Fabricate.build :featured_tag, name: name, tag: tag } | ||||||
|  | 
 | ||||||
|  |     context 'with a name value present' do | ||||||
|  |       let(:name) { 'Test' } | ||||||
|  |       let(:tag) { nil } | ||||||
|  | 
 | ||||||
|  |       it 'uses name value' do | ||||||
|  |         expect(subject.display_name).to eq('Test') | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     context 'with a missing name value but a present tag' do | ||||||
|  |       let(:name) { nil } | ||||||
|  |       let(:tag) { Fabricate.build :tag, name: 'Tester' } | ||||||
|  | 
 | ||||||
|  |       it 'uses name value' do | ||||||
|  |         expect(subject.display_name).to eq('Tester') | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   describe '#increment' do | ||||||
|  |     it 'increases the count and updates the last_status_at timestamp' do | ||||||
|  |       featured_tag = Fabricate :featured_tag | ||||||
|  |       timestamp = 5.days.ago | ||||||
|  | 
 | ||||||
|  |       expect { featured_tag.increment(timestamp) } | ||||||
|  |         .to change(featured_tag, :statuses_count).from(0).to(1) | ||||||
|  |         .and change(featured_tag, :last_status_at).from(nil).to(be_within(0.1).of(timestamp)) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   describe '#decrement' do | ||||||
|  |     it 'decreases the count and updates the last_status_at timestamp' do | ||||||
|  |       tag = Fabricate :tag, name: 'test' | ||||||
|  |       status = Fabricate :status, visibility: :public, created_at: 10.days.ago | ||||||
|  |       status.tags << tag | ||||||
|  | 
 | ||||||
|  |       featured_tag = Fabricate :featured_tag, name: 'test', account: status.account | ||||||
|  | 
 | ||||||
|  |       expect { featured_tag.decrement(status.id) } | ||||||
|  |         .to change(featured_tag, :statuses_count).from(1).to(0) | ||||||
|  |         .and change(featured_tag, :last_status_at).to(nil) | ||||||
|  |     end | ||||||
|  |   end | ||||||
| end | end | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue