diff --git a/Gemfile.lock b/Gemfile.lock index 48fd05b1ac..de541edfbd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -458,7 +458,7 @@ GEM nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.16.5) + oj (3.16.6) bigdecimal (>= 3.0) ostruct (>= 0.2) omniauth (2.1.2) diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 7236c9633d..6c32fd245d 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -12,7 +12,6 @@ import { HotKeys } from 'react-hotkeys'; import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import PushPinIcon from '@/material-icons/400-24px/push_pin.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 { FilterWarning } from 'mastodon/components/filter_warning'; import { Icon } from 'mastodon/components/icon'; @@ -34,6 +33,7 @@ import { getHashtagBarForStatus } from './hashtag_bar'; import { RelativeTimestamp } from './relative_timestamp'; import StatusActionBar from './status_action_bar'; import StatusContent from './status_content'; +import { StatusThreadLabel } from './status_thread_label'; import { VisibilityIcon } from './visibility_icon'; const domParser = new DOMParser(); @@ -413,7 +413,7 @@ class Status extends ImmutablePureComponent { if (featured) { prepend = (
rel="me"
que evita que us suplantin la identitat a llocs web amb contingut generat pels usuaris. Fins i tot podeu generar una etiqueta link
a la capçalera de la pàgina en comptes d'una a
, però el codi HTML ha de ser accessible sense requerir executar JavaScript.
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 4a01967e23..b3886ffeb2 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -33,7 +33,6 @@ cy:
admin:
account_actions:
action: Cyflawni gweithred
- already_silenced: Mae'r cyfrif hwn eisoes wedi'i dewi.
already_suspended: Mae'r cyfrif hwn eisoes wedi'i atal.
title: Cyflawni gweithred cymedroli ar %{acct}
account_moderation_notes:
diff --git a/config/locales/da.yml b/config/locales/da.yml
index e3f8343452..89430e37ed 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -25,7 +25,7 @@ da:
admin:
account_actions:
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.
title: Udfør moderatorhandling på %{acct}
account_moderation_notes:
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 2952d22d7c..975ec517f7 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -25,7 +25,6 @@ de:
admin:
account_actions:
action: Aktion ausführen
- already_silenced: Dieses Konto wurde bereits stummgeschaltet.
already_suspended: Dieses Konto wurde bereits gesperrt.
title: "@%{acct} moderieren"
account_moderation_notes:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e8c9010486..980bd481b1 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -25,7 +25,7 @@ en:
admin:
account_actions:
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.
title: Perform moderation action on %{acct}
account_moderation_notes:
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index 520211e2e2..bd15c9862d 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -25,7 +25,7 @@ es-AR:
admin:
account_actions:
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.
title: Ejecutar acción de moderación en %{acct}
account_moderation_notes:
diff --git a/config/locales/et.yml b/config/locales/et.yml
index bbd1b4ab20..d2a4bc605e 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -25,7 +25,6 @@ et:
admin:
account_actions:
action: Täida tegevus
- already_silenced: See konto on juba vaigistatud.
already_suspended: See konto on juba peatatud.
title: Rakenda moderaatori tegevus kasutajale %{acct}
account_moderation_notes:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 0c5d5ef987..c94f04a9bb 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -981,7 +981,7 @@ fi:
used_by_over_week:
one: Käyttänyt yksi 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
warning_presets:
add_new: Lisää uusi
diff --git a/config/locales/fo.yml b/config/locales/fo.yml
index 040e312d78..f3d9aee4c2 100644
--- a/config/locales/fo.yml
+++ b/config/locales/fo.yml
@@ -25,7 +25,6 @@ fo:
admin:
account_actions:
action: Frem atgerð
- already_silenced: Hendan kontan er longu gjørd kvirr.
already_suspended: Hendan kontan er longu ógildað.
title: Frem umsjónaratgerð á %{acct}
account_moderation_notes:
diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml
index dd1f73c459..766ba71d8a 100644
--- a/config/locales/fr-CA.yml
+++ b/config/locales/fr-CA.yml
@@ -25,7 +25,6 @@ fr-CA:
admin:
account_actions:
action: Effectuer l'action
- already_silenced: Ce compte est déjà limité.
already_suspended: Ce compte est déjà suspendu.
title: Effectuer une action de modération sur %{acct}
account_moderation_notes:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 7e30b517a6..420a4d314e 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -25,7 +25,6 @@ fr:
admin:
account_actions:
action: Effectuer l'action
- already_silenced: Ce compte est déjà limité.
already_suspended: Ce compte est déjà suspendu.
title: Effectuer une action de modération sur %{acct}
account_moderation_notes:
diff --git a/config/locales/ga.yml b/config/locales/ga.yml
index 4ea9cef73d..d2783a5a6a 100644
--- a/config/locales/ga.yml
+++ b/config/locales/ga.yml
@@ -31,7 +31,6 @@ ga:
admin:
account_actions:
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.
title: Dean gníomh modhnóireachta ar %{acct}
account_moderation_notes:
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index f824e30815..c08ba60213 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -29,7 +29,6 @@ gd:
admin:
account_actions:
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.
title: Gabh gnìomh maorsainneachd air %{acct}
account_moderation_notes:
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index de4840dda1..657908922d 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -25,7 +25,7 @@ gl:
admin:
account_actions:
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.
title: Executar acción de moderación a %{acct}
account_moderation_notes:
@@ -1854,7 +1854,7 @@ gl:
failed_2fa:
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.
- 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
title: Fallou o segundo factor de autenticación
suspicious_sign_in:
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 47ec5cafbe..a838c69636 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -29,6 +29,7 @@ he:
admin:
account_actions:
action: בצע/י פעולה
+ already_suspended: חשבון זה הושעה.
title: ביצוע פעולות הנהלה על %{acct}
account_moderation_notes:
create: ליצור
@@ -50,6 +51,7 @@ he:
title: שינוי כתובת דוא"ל עבור המשתמש.ת %{username}
change_role:
changed_msg: התפקיד שונה בהצלחה!
+ edit_roles: נהל תפקידי משתמש
label: שינוי תפקיד
no_role: ללא תפקיד
title: שינוי תפקיד עבור %{username}
@@ -626,6 +628,7 @@ he:
suspend_description_html: חשבון זה על כל תכניו יחסמו וברבות הימים ימחקו, כל פעילות מולו לא תתאפשר. הפעולה ניתנת לביטול תוך 30 ימים, והיא תסגור כל דיווח התלוי ועומד נגד החשבון.
actions_description_html: בחר/י איזו פעולה לבצע על מנת לפתור את הדו"ח. אם תופעל פעולת ענישה כנגד החשבון המדווח, הודעת דוא"ל תשלח אליהם, אלא אם נבחרה קטגוריית הספאם.
actions_description_remote_html: בחרו איזו פעולה לבצע כדי לפתור את הדיווח שהוגש. פעולה זו תשפיע רק על התקשורת מול השרת שלך עם החשבון המרוחק ותוכנו.
+ actions_no_posts: דווח זה לא כולל הודעות למחיקה
add_to_report: הוספת פרטים לדיווח
already_suspended_badges:
local: כבר הודח בשרת זה
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 60fb96a121..71af138305 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -25,7 +25,6 @@ hu:
admin:
account_actions:
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.
title: 'Moderálási művelet végrehajtása ezen: %{acct}'
account_moderation_notes:
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index 683edbe7cb..8827e084d2 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -25,7 +25,6 @@ ia:
admin:
account_actions:
action: Exequer action
- already_silenced: Iste conto jam ha essite silentiate.
already_suspended: Iste conto jam ha essite suspendite.
title: Exequer action de moderation sur %{acct}
account_moderation_notes:
diff --git a/config/locales/is.yml b/config/locales/is.yml
index 0854d88123..748d931ff8 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -25,7 +25,6 @@ is:
admin:
account_actions:
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.
title: Framkvæma umsjónaraðgerð á %{acct}
account_moderation_notes:
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 66a462e61f..a1ed71a7a0 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -25,7 +25,7 @@ it:
admin:
account_actions:
action: Esegui azione
- already_silenced: Questo account è già stato silenziato.
+ already_silenced: Questo account è già stato limitato.
already_suspended: Questo account è già stato sospeso.
title: Esegui l'azione di moderazione su %{acct}
account_moderation_notes:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 9bec26c450..962ecdd053 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -23,7 +23,6 @@ ko:
admin:
account_actions:
action: 조치 취하기
- already_silenced: 이 계정은 이미 침묵되었습니다.
already_suspended: 이 계정은 이미 정지되었습니다.
title: "%{acct} 계정에 중재 취하기"
account_moderation_notes:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 0fd71f52ed..c48b8ef93b 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -29,6 +29,7 @@ lt:
admin:
account_actions:
action: Atlikti veiksmą
+ already_suspended: Ši paskyra jau sustabdyta.
title: Atlikti prižiūrėjimo veiksmą %{acct}
account_moderation_notes:
create: Palikti pastabą
@@ -49,6 +50,7 @@ lt:
title: Keisti el. paštą %{username}
change_role:
changed_msg: Vaidmuo sėkmingai pakeistas.
+ edit_roles: Tvarkyti naudotojų vaidmenis
label: Keisti vaidmenį
no_role: Jokios vaidmenį
title: Keisti vaidmenį %{username}
@@ -485,6 +487,7 @@ lt:
destroyed_msg: Skundo žinutė sekmingai ištrinta!
reports:
action_taken_by: Veiksmo ėmėsi
+ actions_no_posts: Ši ataskaita neturi jokių susijusių įrašų ištrinti
already_suspended_badges:
local: Jau sustabdytas šiame serveryje
remote: Jau sustabdytas jų serveryje
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index f301b8ca98..f7c2f74260 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -25,6 +25,7 @@ nn:
admin:
account_actions:
action: Utfør
+ already_silenced: Denne kontoen har allereie vorte avgrensa.
title: Utfør moderatorhandling på %{acct}
account_moderation_notes:
create: Legg igjen merknad
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 2a1a0c8d75..7a8d208b06 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -29,7 +29,6 @@ pl:
admin:
account_actions:
action: Wykonaj działanie
- already_silenced: To konto zostało już wyciszone.
already_suspended: To konto zostało już zawieszone.
title: Wykonaj działanie moderacyjne na %{acct}
account_moderation_notes:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 1bd724595d..96cb92efda 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -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!'
contact_missing: Por definir
contact_unavailable: n.d.
- hosted_on: Mastodon em %{domain}
- title: Acerca de
+ hosted_on: Mastodon alojado em %{domain}
+ title: Sobre
accounts:
follow: Seguir
followers:
@@ -25,15 +25,17 @@ pt-PT:
admin:
account_actions:
action: Executar acção
+ already_suspended: Esta conta já foi suspensa.
title: Executar ação de moderação em %{acct}
account_moderation_notes:
create: Deixar uma nota
created_msg: Nota de moderação criada com sucesso!
destroyed_msg: Nota de moderação destruída!
accounts:
+ add_email_domain_block: Bloquear domínio de e-mail
approve: Aprovar
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
by_domain: Domínio
change_email:
@@ -45,18 +47,20 @@ pt-PT:
title: Alterar e-mail para %{username}
change_role:
changed_msg: Função alterada com sucesso!
+ edit_roles: Gerir funções de utilizador
label: Alterar função
no_role: Nenhuma função
title: Alterar a função de %{username}
confirm: Confirmar
confirmed: Confirmado
confirming: A confirmar
- custom: Personalizar
+ custom: Personalizado
delete: Eliminar dados
deleted: Eliminada
- demote: Despromoveu
+ demote: Despromovida
destroyed_msg: Os dados de %{username} estão agora em fila de espera para serem eliminados de imediato
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)
disabled: Congelada
display_name: Nome a mostrar
@@ -65,6 +69,7 @@ pt-PT:
email: E-mail
email_status: Estado do e-mail
enable: Descongelar
+ enable_sign_in_token_auth: Ativar token de autenticação por e-mail
enabled: Ativado
enabled_msg: Descongelou a conta %{username}
followers: Seguidores
@@ -100,8 +105,8 @@ pt-PT:
no_limits_imposed: Sem limites impostos
no_role_assigned: Nenhuma função atribuída
not_subscribed: Não inscrito
- pending: Pendente de revisão
- perform_full_suspension: Fazer suspensão completa
+ pending: Revisão pendente
+ perform_full_suspension: Suspender
previous_strikes: Reprimendas anteriores
previous_strikes_description_html:
one: Esta conta tem 1 reprimenda.
@@ -109,7 +114,7 @@ pt-PT:
promote: Promover
protocol: Protocolo
public: Público
- push_subscription_expires: A Inscrição PuSH expira
+ push_subscription_expires: A inscrição PuSH expira
redownload: Atualizar perfil
redownloaded_msg: Perfil de %{username} atualizado a partir da origem com sucesso
reject: Rejeitar
@@ -122,13 +127,14 @@ pt-PT:
removed_header_msg: Imagem de cabeçalho de %{username} removida
resend_confirmation:
already_confirmed: Este utilizador já está confirmado
- send: Reenviar link de confirmação
- success: Link de confirmação enviado com sucesso!
- reset: Reiniciar
+ send: Reenviar hiperligação de confirmação
+ success: Hiperligação de confirmação enviada com sucesso!
+ reset: Repor
reset_password: Criar nova palavra-passe
resubscribe: Reinscrever
role: Função
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
security: Segurança
security_measures:
@@ -136,7 +142,7 @@ pt-PT:
password_and_2fa: Palavra-passe e 2FA
sensitive: Marcar como problemático
sensitized: Marcada como problemática
- shared_inbox_url: URL da caixa de entrada compartilhada
+ shared_inbox_url: URL da caixa de entrada partilhada
show:
created_reports: Denúncias realizadas
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.
title: Contas
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
undo_sensitized: Desmarcar como problemático
undo_silenced: Desfazer silenciar
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
unsuspended_msg: Removeu a suspensão da conta %{username}
username: Nome de utilizador
view_domain: Ver resumo do domínio
warn: Advertir
- web: Teia
+ web: Web
whitelisted: Permitido para a federação
action_logs:
action_types:
approve_appeal: Aprovar recurso
approve_user: Aprovar utilizador
- assigned_to_self_report: Atribuir Denúncia
- change_role_user: Alterar Função do Utilizador
- confirm_user: Confirmar Utilizador
- create_account_warning: Criar Aviso
+ assigned_to_self_report: Atribuir denúncia
+ change_email_user: Alterar e-mail do utilizador
+ change_role_user: Alterar função do utilizador
+ confirm_user: Confirmar utilizador
+ create_account_warning: Criar aviso
create_announcement: Criar comunicado
- create_custom_emoji: Criar Emoji Personalizado
- create_domain_allow: Criar Permissão de Domínio
- create_domain_block: Criar Bloqueio de Domínio
+ create_canonical_email_block: Criar bloqueio de e-mail
+ create_custom_emoji: Criar emoji personalizado
+ 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_unavailable_domain: Criar Domínio Indisponível
- create_user_role: Criar Função
- demote_user: Despromover Utilizador
- destroy_announcement: Apagar comunicado
- destroy_custom_emoji: Eliminar Emoji Personalizado
- destroy_domain_allow: Eliminar Permissão de Domínio
- destroy_domain_block: Eliminar Bloqueio de Domínio
- destroy_instance: Purgar Domínio
+ create_unavailable_domain: Criar domínio indisponível
+ create_user_role: Criar função
+ demote_user: Despromover utilizador
+ destroy_announcement: Eliminar comunicado
+ destroy_canonical_email_block: Eliminar bloqueio de e-mail
+ destroy_custom_emoji: Eliminar emoji personalizado
+ destroy_domain_allow: Eliminar permissão de 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_status: Eliminar Publicação
- destroy_unavailable_domain: Eliminar Domínio Indisponível
- destroy_user_role: Eliminar Função
+ destroy_status: Eliminar publicação
+ destroy_unavailable_domain: Eliminar domínio indisponível
+ destroy_user_role: Eliminar função
disable_2fa_user: Desativar 2FA
- disable_custom_emoji: Desativar Emoji Personalizado
- disable_user: Desativar Utilizador
- enable_custom_emoji: Ativar Emoji Personalizado
- enable_user: Ativar Utilizador
- memorialize_account: Tornar conta num memorial
- promote_user: Promover Utilizador
- reject_appeal: Rejeitar Recurso
- reject_user: Rejeitar Utilizador
- remove_avatar_user: Remover Imagem de Perfil
- reopen_report: Reabrir Denúncia
- resend_user: Reenviar E-mail de Confirmação
- reset_password_user: Repor Password
- resolve_report: Resolver Denúncia
+ disable_custom_emoji: Desativar emoji personalizado
+ disable_sign_in_token_auth_user: Desativar token de autenticação por e-mail para o utilizador
+ disable_user: Desativar utilizador
+ enable_custom_emoji: Ativar emoji personalizado
+ enable_sign_in_token_auth_user: Ativar token de autenticação por e-mail para o utilizador
+ enable_user: Ativar utilizador
+ memorialize_account: Transformar conta num memorial
+ promote_user: Promover utilizador
+ reject_appeal: Rejeitar recurso
+ reject_user: Rejeitar utilizador
+ remove_avatar_user: Remover imagem de perfil
+ reopen_report: Reabrir 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
silence_account: Limitar 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
unsensitive_account: Desmarcar a conta como problemática
- unsilence_account: Deixar de Silenciar Conta
- unsuspend_account: Retirar Suspensão à Conta
+ unsilence_account: Deixar de silenciar conta
+ unsuspend_account: Retirar suspensão da conta
update_announcement: Atualizar comunicado
- update_custom_emoji: Atualizar Emoji Personalizado
- update_domain_block: Atualizar Bloqueio de Domínio
+ update_custom_emoji: Atualizar emoji personalizado
+ update_domain_block: Atualizar bloqueio de domínio
update_ip_block: Atualizar regra de IP
- update_report: Atualizar Relatório
- update_status: Atualizar Estado
- update_user_role: Atualizar Função
+ update_report: Atualizar denúncia
+ update_status: Atualizar publicação
+ update_user_role: Atualizar função
actions:
approve_appeal_html: "%{name} aprovou recurso da decisão de moderaçã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"
+ 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}"
+ 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_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_block_html: "%{name} bloqueou o domínio %{target}"
- create_ip_block_html: "%{name} criou regra para o IP %{target}"
- create_unavailable_domain_html: "%{name} parou a entrega ao domínio %{target}"
+ create_email_domain_block_html: "%{name} bloqueou o domínio de e-mail %{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}"
demote_user_html: "%{name} despromoveu o utilizador %{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_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_email_domain_block_html: "%{name} desbloqueou o domínio de e-mail %{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_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}"
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_user_html: "%{name} desativou o acesso para o utilizador %{target}"
+ disable_custom_emoji_html: "%{name} desativou o emoji %{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_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"
promote_user_html: "%{name} promoveu o utilizador %{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
top_languages: Principais idiomas ativos
top_servers: Servidores mais ativos
- website: Página na teia
+ website: Website
disputes:
appeals:
empty: Nenhum recurso encontrado.
@@ -669,39 +690,39 @@ pt-PT:
privileges:
administrator: Administrador
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
- invite_users: Convidar Utilizadores
+ invite_users: Convidar utilizadores
invite_users_description: Permite aos utilizadores convidar pessoas novas para o servidor
manage_announcements: Gerir comunicados
manage_announcements_description: Permite aos utilizadores gerirem os comunicados no servidor
manage_appeals: Gerir apelos
manage_appeals_description: Permite aos utilizadores rever recursos de moderação
- manage_blocks: Gerir Bloqueios
- manage_custom_emojis: Gerir Emojis Personalizados
+ manage_blocks: Gerir bloqueios
+ manage_custom_emojis: Gerir emojis personalizados
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_invites: Gerir Convites
+ manage_invites: Gerir convites
manage_invites_description: Permite aos utilizadores pesquisarem e desativarem ligações de convite
- manage_reports: Gerir Relatórios
- manage_reports_description: Permite aos utilizadores rever relatórios e executar ações de moderação contra eles
- manage_roles: Gerir Funções
+ manage_reports: Gerir denúncias
+ 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_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_settings: Gerir Configurações
- manage_settings_description: Permite aos utilizadores alterar as configurações do sítio na teia
- manage_taxonomies: Gerir Taxonomias
+ manage_settings: Gerir configurações
+ manage_settings_description: Permite aos utilizadores alterar as configurações do site
+ 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_user_access: Gerir Acesso de Utilizador
- manage_users: Gerir Utilizadores
+ manage_user_access: Gerir acesso de utilizador
+ 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_webhooks: Gerir Webhooks
+ manage_webhooks: Gerir webhooks
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_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_devops: DevOps
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.
title: Aspeto
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
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, isto pode tornar o processo de registo menos acessível para algumas pessoas (especialmente as com limitações físicas). 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
content_retention:
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
default_noindex:
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.
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.
- noscript_html: Para usar a aplicação da teia do Mastodon, por favor active o JavaScript. Em alternativa, experimenta uma das aplicações nativas do Mastodon para a sua plataforma.
+ noscript_html: Para usar a aplicação web do Mastodon, ative o JavaScript. Alternativamente, experimente uma das aplicações nativas para o Mastodon na sua plataforma.
existing_username_validator:
not_found: não foi possível encontrar um utilizador local com esse nome
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. Reveja ou remova publicações do filtro.
title: Editar filtros
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
index:
contexts: Filtros em %{contexts}
@@ -1664,7 +1685,7 @@ pt-PT:
edited_at_html: Editado em %{date}
errors:
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}
pin_errors:
direct: Publicações visíveis apenas para utilizadores mencionados não podem ser afixadas
@@ -1826,7 +1847,7 @@ pt-PT:
welcome:
apps_android_action: Baixe no Google Play
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
checklist_subtitle: 'Vamos começar nesta nova fronteira social:'
checklist_title: Checklist de Boas-vindas
@@ -1835,11 +1856,11 @@ pt-PT:
edit_profile_title: Personalize seu perfil
explanation: Aqui estão algumas dicas para começar
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_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_title: Fique no controle da sua própria linha do tempo
- 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_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: Mantenha o controlo da sua própria cronologia
+ 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_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
@@ -1856,7 +1877,7 @@ pt-PT:
hashtags_title: Etiquetas em tendência
hashtags_view_more: Ver mais etiquetas em tendência
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
share_action: Compartilhar
share_step: Diga aos seus amigos como te encontrar no Mastodon.
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index f595a31997..26edab3b2e 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -130,6 +130,7 @@ he:
name: ניתן רק להחליף בין אותיות קטנות וגדולות, למשל כדי לשפר את הקריאות
user:
chosen_languages: אם פעיל, רק הודעות בשפות הנבחרות יוצגו לפידים הפומביים
+ role: התפקיד שולט על אילו הרשאות יש למשתמש.
user_role:
color: צבע לתפקיד בממשק המשתמש, כ RGB בפורמט הקסדצימלי
highlighted: מאפשר נראות ציבורית של התפקיד
diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml
index ecbf501389..99cb269e37 100644
--- a/config/locales/simple_form.lt.yml
+++ b/config/locales/simple_form.lt.yml
@@ -101,6 +101,7 @@ lt:
show_application: Neatsižvelgiant į tai, visada galėsi matyti, kuri programėlė paskelbė tavo įrašą.
user:
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:
account:
discoverable: Rekomenduoti profilį ir įrašus į atradimo algoritmus
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index 7419169890..b113e0eed5 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -130,6 +130,7 @@ pl:
name: Możesz zmieniać tylko wielkość liter, np. aby były bardziej widoczne
user:
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:
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
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index 971773b2dc..3b606df032 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -77,7 +77,7 @@ pt-PT:
warn: Ocultar o conteúdo filtrado por trás de um aviso mencionando o título do filtro
form_admin_settings:
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.
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
@@ -130,12 +130,13 @@ pt-PT:
name: Só pode alterar a capitalização das letras, por exemplo, para torná-las mais legíveis
user:
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:
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
- 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...
- 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:
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.
@@ -315,7 +316,7 @@ pt-PT:
trendable: Permitir que esta etiqueta apareça nas tendências
usable: Permitir que as publicações usem esta hashtag localmente
user:
- role: Cargo
+ role: Função
time_zone: Fuso horário
user_role:
color: Cor do emblema
diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml
index 89fb1675fd..2fcf23b156 100644
--- a/config/locales/simple_form.tr.yml
+++ b/config/locales/simple_form.tr.yml
@@ -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
user:
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:
color: Arayüz boyunca rol için kullanılacak olan renk, hex biçiminde RGB
highlighted: Bu rolü herkese açık hale getirir
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 0f43f43988..6907c1ee3c 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -25,7 +25,6 @@ sq:
admin:
account_actions:
action: Kryeje veprimin
- already_silenced: Kjo llogari është heshtuar tashmë.
already_suspended: Kjo llogari është pezulluar tashmë.
title: Kryeni veprim moderimi te %{acct}
account_moderation_notes:
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index bcf1e3b816..df403e602a 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -25,6 +25,7 @@ sv:
admin:
account_actions:
action: Utför åtgärd
+ already_silenced: Detta konto är redan begränsat.
title: Utför aktivitet för moderering på %{acct}
account_moderation_notes:
create: Lämna kommentar
diff --git a/config/locales/th.yml b/config/locales/th.yml
index f119102112..f409a512d9 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -23,7 +23,6 @@ th:
admin:
account_actions:
action: ทำการกระทำ
- already_silenced: มีการทำให้บัญชีนี้เงียบไปแล้ว
already_suspended: มีการระงับบัญชีนี้ไปแล้ว
title: ทำการกระทำการกลั่นกรองต่อ %{acct}
account_moderation_notes:
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 4318f4eac4..d2d499077d 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -25,6 +25,8 @@ tr:
admin:
account_actions:
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"
account_moderation_notes:
create: Not bırak
@@ -46,6 +48,7 @@ tr:
title: "%{username} için e-postayı değiştir"
change_role:
changed_msg: Rol başarıyla değiştirildi!
+ edit_roles: Kullanıcı rollerini yönetin
label: Rolü değiştir
no_role: Rol yok
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.
actions_description_html: Bu bildirimi çözmek için ne yapılması gerektiğine karar verin. Bildirilen hesap için ceza işlemi yaparsanız, İstenmeyen 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 sizin 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
already_suspended_badges:
local: Bu sunucuda zaten askıya alınmış
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 261c87cd75..4e70b192d9 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -628,6 +628,7 @@ uk:
suspend_description_html: Обліковий запис і весь його вміст будуть недоступними й врешті-решт видалені, і взаємодіяти з ним буде неможливо. Відновлення можливе протягом 30 днів. Закриває всі скарги на цей обліковий запис.
actions_description_html: Визначте, які дії слід вжити для розв'язання цієї скарги. Якщо ви оберете каральні дії проти зареєстрованого облікового запису, про них буде надіслано сповіщення електронним листом, крім випадків, коли вибрано категорію Спам.
actions_description_remote_html: Визначте, які дії слід вжити для розв'язання цього звіту. Це вплине тільки на те, як ваш сервер з'єднується з цим віддаленим обліковим записом і обробляє його вміст.
+ actions_no_posts: Ця скарга не має жодних пов'язаних дописів для видалення
add_to_report: Додати ще подробиць до скарги
already_suspended_badges:
local: Вже призупинено на цьому сервері
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 975df3024b..d211b9e740 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -23,7 +23,6 @@ vi:
admin:
account_actions:
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.
title: Áp đặt kiểm duyệt với %{acct}
account_moderation_notes:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 6b399d3499..7407d81db9 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -23,7 +23,7 @@ zh-CN:
admin:
account_actions:
action: 执行操作
- already_silenced: 此帐户已受限。
+ already_silenced: 此账户已受限。
already_suspended: 此帐户已被封禁。
title: 在 %{acct} 上执行管理操作
account_moderation_notes:
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 8288e9bfac..d92d53f391 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -23,7 +23,7 @@ zh-TW:
admin:
account_actions:
action: 執行動作
- already_silenced: 此帳號已被靜音。
+ already_silenced: 此帳號已被限制。
already_suspended: 此帳號已被停權。
title: 對 %{acct} 執行站務動作
account_moderation_notes:
@@ -1269,7 +1269,7 @@ zh-TW:
home: 首頁時間軸
notifications: 通知
public: 公開時間軸
- thread: 對話
+ thread: 討論串
edit:
add_keyword: 新增關鍵字
keywords: 關鍵字
diff --git a/spec/models/featured_tag_spec.rb b/spec/models/featured_tag_spec.rb
index 6056e645e0..0f5ead8f97 100644
--- a/spec/models/featured_tag_spec.rb
+++ b/spec/models/featured_tag_spec.rb
@@ -8,4 +8,134 @@ RSpec.describe FeaturedTag do
it { is_expected.to normalize(:name).from(' #hashtag ').to('hashtag') }
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