%div - if defined?(title) %h3= title - if defined?(text) %p= text + /[if mso] + | %div - - if defined?(button_text) && defined?(button_url) && defined?(checked) && !checked - = render 'application/mailer/button', text: button_text, url: button_url + - if defined?(show_apps_buttons) && show_apps_buttons + .email-welcome-apps-btns + = link_to image_tag(frontend_asset_url('images/mailer-new/store-icons/btn-app-store.png'), alt: t('user_mailer.welcome.apps_ios_action'), width: 120, height: 40), 'https://apps.apple.com/app/mastodon-for-iphone-and-ipad/id1571998974' + = link_to image_tag(frontend_asset_url('images/mailer-new/store-icons/btn-google-play.png'), alt: t('user_mailer.welcome.apps_android_action'), width: 120, height: 40), 'https://play.google.com/store/apps/details?id=org.joinmastodon.android' + - elsif defined?(button_text) && defined?(button_url) && defined?(checked) && !checked + = render 'application/mailer/button', text: button_text, url: button_url, has_arrow: false + /[if mso] + |
+ .email-desktop-column + %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } + %tr + %td.email-column-td + - if defined?(feature_title) + %h2.email-h2= feature_title + - if defined?(feature_text) + %p.email-p= feature_text + - if defined?(feature_btn_url) + = link_to '', href: feature_btn_url, class: 'email-link-with-arrow' do + #{t('user_mailer.welcome.feature_action')} + %span= '❯' + /[if mso] + | + .email-desktop-column + %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } + %tr + %td.email-column-td + - if defined?(key) + %p{ class: ('email-desktop-text-right' if defined?(text_first_on_desktop) && text_first_on_desktop) } + = image_tag frontend_asset_url("images/mailer-new/welcome/#{key}.png"), alt: '', width: 240, height: 230 + /[if mso] + |
+ .email-desktop-column + %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } + %tr + %td.email-column-td + %h2.email-h2= t('user_mailer.welcome.follows_title') + %p.email-h-sub= t('user_mailer.welcome.follows_subtitle') + = render partial: 'application/mailer/follow', collection: @suggestions + %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } + %tr + %td.email-column-action-td + = link_to '', href: web_url('explore/suggestions'), class: 'email-link-with-arrow' do + = t('user_mailer.welcome.follows_view_more') + %span= '❯' + /[if mso] + | + .email-desktop-column + %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } + %tr + %td.email-column-td + %h2.email-h2= t('user_mailer.welcome.hashtags_title') + %p.email-h-sub= t('user_mailer.welcome.hashtags_subtitle') + = render partial: 'application/mailer/hashtag', collection: @tags + %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } + %tr + %td.email-column-action-td + = link_to '', href: web_url('explore/tags'), class: 'email-link-with-arrow' do + = t('user_mailer.welcome.hashtags_view_more') + %span= '❯' + /[if mso] + |
rel="me"
, která brání proti napodování vás na webových stránkách s obsahem vytvořeným uživatelem. Můžete dokonce použít odkaz
v záhlaví stránky místo a
, ale HTML musí být přístupné bez spuštění JavaScript.
here_is_how: Jak na to
+ hint_html: "Ověření Vaší identity na Mastodonu je pro každého výborné. Na základě otevřených webových standardů, nyní a navždy zdarma. Jediné, co potřebujete, je osobní webová stránka, na které vás lidé poznají. Když odkazujete na tuto stránku z vašeho profilu, zkontrolujeme, zda webové stránky odkazují na váš profil a zobrazí na něm vizuální indikátor."
instructions_html: Zkopírujte a vložte níže uvedený kód do HTML vašeho webu. Poté přidejte adresu vašeho webu do jednoho z extra políček na vašem profilu na záložce "Upravit profil" a uložte změny.
verification: Ověření
verified_links: Vaše ověřené odkazy
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 5085942fb..19343146f 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -823,6 +823,7 @@ cy:
disabled: I neb
users: I ddefnyddwyr lleol wedi'u mewngofnodi
registrations:
+ moderation_recommandation: Gwnewch yn siŵr bod gennych chi dîm cymedroli digonol ac adweithiol cyn i chi agor cofrestriadau i bawb!
preamble: Rheoli pwy all greu cyfrif ar eich gweinydd.
title: Cofrestriadau
registrations_mode:
@@ -830,6 +831,7 @@ cy:
approved: Mae angen cymeradwyaeth i gofrestru
none: Nid oes neb yn gallu cofrestru
open: Gall unrhyw un cofrestru
+ warning_hint: Rydym yn argymell defnyddio “Mae angen cymeradwyaeth ar gyfer cofrestru” oni bai eich bod yn hyderus y gall eich tîm cymedroli ymdrin â chofrestriadau sbam a rhai maleisus mewn modd amserol.
security:
authorized_fetch: Mae angen dilysu gan weinyddion ffederal
authorized_fetch_hint: Mae gofyn am ddilysiad gan weinyddion ffederal yn galluogi gorfodi llymach ar flociau lefel defnyddiwr a lefel gweinydd. Fodd bynnag, daw hyn ar gost perfformiad arafach, mae'n lleihau cyrhaeddiad eich atebion, a gall gyflwyno materion cydnawsedd gyda rhai gwasanaethau ffederal. Yn ogystal, ni fydd hyn yn atal actorion ymroddedig rhag estyn eich postiadau a'ch cyfrifon cyhoeddus.
@@ -1038,6 +1040,9 @@ cy:
title: Bachau Gwe
webhook: Bachyn Gwe
admin_mailer:
+ auto_close_registrations:
+ body: Oherwydd diffyg gweithgarwch cymedrolwr diweddar, mae cofrestriadau ar %{instance} wedi'u newid yn awtomatig i'r angen i gael adolygiad â llaw, er mwyn atal %{instance} rhag cael ei ddefnyddio fel llwyfan ar gyfer actorion drwg posibl. Gallwch ei newid yn ôl i agor cofrestriadau ar unrhyw adeg.
+ subject: Mae cofrestriadau ar gyfer %{instance} wedi'u newid yn awtomatig i'r angen i gael cymeradwyaeth
new_appeal:
actions:
delete_statuses: i ddileu eu postiadau
@@ -1969,10 +1974,6 @@ cy:
edit_profile_action: Sefydlu proffil
edit_profile_step: Gallwch addasu'ch proffil trwy lwytho llun proffil, newid eich enw dangos a mwy. Gallwch ddewis i adolygu dilynwyr newydd cyn iddyn nhw gael caniatâd i'ch dilyn.
explanation: Dyma ambell nodyn i'ch helpu i ddechrau
- final_action: Dechrau postio
- final_step: 'Dechreuwch bostio! Hyd yn oed heb ddilynwyr, efallai y bydd eraill yn gweld eich postiadau cyhoeddus, er enghraifft ar y ffrwd leol neu mewn hashnodau. Efallai y byddwch am gyflwyno eich hun ar yr hashnod #cyflwyniadau neu/a #introductions.'
- full_handle: Eich enw llawn
- full_handle_hint: Dyma beth fyddech chi'n ei ddweud wrth eich ffrindiau fel y gallant anfon neges neu eich dilyn o weinydd arall.
subject: Croeso i Mastodon
title: Croeso, %{name}!
users:
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 57899d5f7..62e28cef1 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -500,7 +500,7 @@ da:
instance_accounts_dimension: Mest fulgte konti
instance_accounts_measure: gemte konti
instance_followers_measure: vores følgere dér
- instance_follows_measure: deres følgere dér
+ instance_follows_measure: deres følgere her
instance_languages_dimension: Topsprog
instance_media_attachments_measure: gemte medievedhæftninger
instance_reports_measure: anmeldelser af dem
@@ -767,6 +767,7 @@ da:
disabled: Til ingen
users: Til indloggede lokale brugere
registrations:
+ moderation_recommandation: Sørg for, at der er et tilstrækkeligt og reaktivt moderationsteam, før registrering åbnes for alle!
preamble: Styr, hvem der kan oprette en konto på serveren.
title: Registreringer
registrations_mode:
@@ -774,6 +775,7 @@ da:
approved: Tilmeldingsgodkendelse kræves
none: Ingen kan tilmelde sig
open: Alle kan tilmelde sig
+ warning_hint: Brug af "Godkendelse kræves ved tilmelding" anbefales, medmindre man er sikker på, at moderationsteamet kan håndtere spam og ondsindede registreringer i tide.
security:
authorized_fetch: Kræver godkendelse fra fødererede servere
authorized_fetch_hint: Krav om godkendelse fra fødererede servere muliggør strengere håndhævelse af både bruger- og serverniveaublokeringer. Omkostningen er dog en ydelsesreduktion, reduceret udstrækning af dine svar samt potentielle kompatibilitetsproblemer med visse fødererede tjenester. Derudover vil dette ikke hindre målrettede aktører i at hente dine offentlige indlæg og konti.
@@ -966,6 +968,9 @@ da:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Grundet manglende nylig moderatoraktivitet er registreringsproceduren på %{instance} automatisk ændret til at kræve manuel gennemgang for at forhindre, at %{instance} bruges som platform for potentielle dårlige aktører. Proceduren kan til enhver tid ændre igen til åbne registreringer.
+ subject: Registreringsproceduren for %{instance} er automatisk ændret til at kræve godkendelse
new_appeal:
actions:
delete_statuses: for sletning af vedkommendes indlæg
@@ -1440,7 +1445,7 @@ da:
before: 'Inder der fortsættes, læs venligst disse notater omhyggeligt:'
cooldown: Efter flytningen er der en venteperiode, hvor kontoen ikke kan flyttes igen
disabled_account: Efterfølgende er din nuværende konto ikke fuldt funktionsdygtig, der er dog adgang til dataeksport samt genaktivering.
- followers: Denne handling vil flytte alle følgere fra den aktuelle konto til den nye ditto
+ followers: Denne handling vil flytte alle følgere fra den aktuelle konto til den nye konto
only_redirect_html: Alternativt kan du oprette en omdirigering for din profil alene.
other_data: Ingen øvrige data flyttes automatisk
redirect: Din nuværende kontoprofil opdateres med en omdirigeringsnotits og ekskluderes fra søgninger
@@ -1841,10 +1846,6 @@ da:
edit_profile_action: Opsæt profil
edit_profile_step: Man kan tilpasse sin profil ved at uploade profilfoto, overskrift, ændre visningsnavn mv. Ønskes nye følgere vurderet, før de må følge dig, kan kontoen låses.
explanation: Her er nogle råd for at få dig i gang
- final_action: Begynd at poste
- final_step: 'Begynd at poste! Selv uden følgere vil offentlige indlæg kunne ses af andre f.eks. på den lokale tidslinje og i hashtags. Man kan introducere sig selv via hastagget #introductions.'
- full_handle: Dit fulde brugernavn
- full_handle_hint: Dette er, hvad du oplyser til dine venner, så de kan sende dig beskeder eller følge dig fra andre servere.
subject: Velkommen til Mastodon
title: Velkommen ombord, %{name}!
users:
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 57ce5268a..123942672 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -767,6 +767,7 @@ de:
disabled: Niemandem
users: Für angemeldete lokale Benutzer*innen
registrations:
+ moderation_recommandation: Bitte vergewissere dich, dass du ein geeignetes und reaktionsschnelles Moderationsteam hast, bevor du die Registrierungen uneingeschränkt zulässt!
preamble: Lege fest, wer auf deinem Server ein Konto erstellen darf.
title: Registrierungen
registrations_mode:
@@ -774,6 +775,7 @@ de:
approved: Registrierung muss genehmigt werden
none: Niemand darf sich registrieren
open: Alle können sich registrieren
+ warning_hint: Wir empfehlen die Einstellung „Registrierung muss genehmigt werden“ zu verwenden, es sei denn, du bist dir sicher, dass dein Moderationsteam Spam und böswillige Registrierungen rechtzeitig bearbeiten kann.
security:
authorized_fetch: Authentisierung von föderierten Servern erforderlich machen
authorized_fetch_hint: Das Anfordern einer Authentisierung von föderierten Servern ermöglicht ein strengeres Durchsetzen von Sperren sowohl auf Ebene der Benutzer*innen als auch des Servers. Allerdings ist das mit Leistungseinbußen verbunden, reduziert die Reichweite deiner Antworten und kann zu Kompatibilitätsproblemen mit einigen föderierten Diensten führen. Darüber hinaus wird das Abrufen deiner öffentlichen Beiträge und Konten durch spezialisierte Akteur*innen nicht verhindert.
@@ -966,6 +968,9 @@ de:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Aufgrund fehlender Aktivität von Moderator*innen müssen neue Registrierungen auf %{instance} jetzt manuell genehmigt werden. Dies wurde automatisch umgestellt, damit %{instance} nicht als Plattform für Böswillige missbraucht werden kann. Du kannst jederzeit auf uneingeschränkte Registrierungen zurückwechseln.
+ subject: Registrierungen auf %{instance} müssen ab jetzt manuell genehmigt werden (automatisch umgestellt)
new_appeal:
actions:
delete_statuses: das Löschen der Beiträge
@@ -1841,10 +1846,6 @@ de:
edit_profile_action: Profil einrichten
edit_profile_step: Du kannst dein Profil anpassen, indem du ein Profilbild hochlädst, deinen Anzeigenamen änderst und vieles mehr. Du kannst dich dafür entscheiden, neue Follower zu überprüfen, bevor sie dir folgen dürfen.
explanation: Hier sind ein paar Tipps, um loszulegen
- final_action: Mit erstem Beitrag starten
- final_step: 'Fang jetzt an zu posten! Selbst ohne Follower werden deine öffentlichen Beiträge von anderen gesehen, zum Beispiel in der lokalen Timeline oder über die Hashtags. Möglicherweise möchtest du dich allen mit dem Hashtag #neuhier vorstellen.'
- full_handle: Dein vollständiger Profilname
- full_handle_hint: Deinen vollständigen Profilnamen kannst du deinen Freund*innen mitteilen, damit sie dich anschreiben oder dir von einem anderen Server folgen können.
subject: Willkommen bei Mastodon!
title: Willkommen an Bord, %{name}!
users:
diff --git a/config/locales/devise.bg.yml b/config/locales/devise.bg.yml
index f3586bcd8..116939762 100644
--- a/config/locales/devise.bg.yml
+++ b/config/locales/devise.bg.yml
@@ -12,6 +12,7 @@ bg:
last_attempt: Разполагате с още един опит преди акаунтът ви да се заключи.
locked: Вашият акаунт е заключен.
not_found_in_database: Невалиден %{authentication_keys} или парола.
+ omniauth_user_creation_failure: Грешка, сътворявайки акаунт за тази самоличност.
pending: Вашият акаунт все още е в процес на проверка.
timeout: Заседанието ви изтече. Влезте пак, за да продължите.
unauthenticated: Преди да продължите, трябва да влезете или да се регистрирате.
diff --git a/config/locales/devise.br.yml b/config/locales/devise.br.yml
index 205e11e79..cb406e5f5 100644
--- a/config/locales/devise.br.yml
+++ b/config/locales/devise.br.yml
@@ -19,7 +19,7 @@ br:
mailer:
confirmation_instructions:
action: Gwiriekaat ar chomlec'h postel
- action_with_app: Kadarnaat ha distroiñ da %{app}
+ action_with_app: Kadarnaat ha distreiñ da %{app}
explanation: Krouet ho peus ur c'hont war %{host} gant ar chomlec'h-postel-mañ. N'eus nemet ur c'hlik evit bevaat anezhañ. Ma ne oa ket krouet ganeoc'h, dianavezit ar postel-se.
explanation_when_pending: Enskrivañ ho peus d'ur c'hemennad da %{host} gant ar chomlec'h-postel-se. Pa vo kadarnaet ho chomlec'h-postel, hoc'h enskrivadur a vo asantet. Gallout a rit mont-tre evit kemmañ munudoù ho kont pe skarzhañ anezhañ, met ne c'hellit ket implijout ul lod eus an aezamantoù par ma n'eo ket asantet ho kont. Ma vefe hoc'h enskrivadur nac'het, ho keloù a vefe skarzhet, neuze ne vo ket ret deoc'h ober netra ken. Ma ne oa ket ac'hanoc'h, dianavezit ar postel-se.
extra_html: Mar plij, gwiriit ivez reolennoù ar servijer ha hon divizoù-implij.
diff --git a/config/locales/devise.cs.yml b/config/locales/devise.cs.yml
index fb3893325..4dbc2e08b 100644
--- a/config/locales/devise.cs.yml
+++ b/config/locales/devise.cs.yml
@@ -12,6 +12,7 @@ cs:
last_attempt: Máte ještě jeden pokus, než bude váš účet uzamčen.
locked: Váš účet je uzamčen.
not_found_in_database: Neplatné %{authentication_keys} nebo heslo.
+ omniauth_user_creation_failure: Při vytvoření účtu pro tuto identitu se nastala chyba.
pending: Váš účet je stále posuzován.
timeout: Vaše relace vypršela. Pro pokračování se prosím přihlaste znovu.
unauthenticated: Před pokračováním se musíte přihlásit nebo zaregistrovat.
@@ -47,15 +48,20 @@ cs:
subject: 'Mastodon: Instrukce pro obnovení hesla'
title: Obnovení hesla
two_factor_disabled:
+ explanation: Přihlášení je nyní možné pouze pomocí emailové adresy a hesla.
subject: 'Mastodon: Dvoufázové ověření bylo vypnuto'
- title: 2FA bylo vypnuto
+ subtitle: Dvoufaktorové ověřování vašeho účtu bylo vypnuto.
+ title: Dvoufázové ověření bylo vypnuto
two_factor_enabled:
+ explanation: Pro přihlášení bude vyžadován token generovaný spárovanou TOTP aplikací.
subject: 'Mastodon: Dvoufázové ověření bylo zapnuto'
- title: 2FA bylo zapnuto
+ subtitle: Dvoufaktorové ověřování vašeho účtu bylo zapnuto.
+ title: Dvoufázové ověření bylo zapnuto
two_factor_recovery_codes_changed:
explanation: Předchozí záložní kódy byly zrušeny a byly vygenerovány nové.
- subject: 'Mastodon: Dvoufázové záložní kódy byly znovu vygenerovány'
- title: Záložní kódy pro 2FA byly změněny
+ subject: 'Mastodon: Záložní kódy pro dvoufázové ověření byly znovu vygenerovány'
+ subtitle: Předchozí záložní kódy byly zrušeny a byly vygenerovány nové.
+ title: Záložní kódy pro dvoufázové ověření byly změněny
unlock_instructions:
subject: 'Mastodon: Instrukce pro odemčení účtu'
webauthn_credential:
@@ -68,9 +74,13 @@ cs:
subject: 'Mastodon: Bezpečnostní klíč byl smazán'
title: Jeden z vašich bezpečnostních klíčů byl smazán
webauthn_disabled:
- subject: 'Mastodon: Přihlašování bezpečnostními klíči bylo vypnuto'
+ explanation: 'Mastodon: Přihlašování pomocí bezpečnostními klíčemi bylo pro váš účet vypnuto.'
+ extra: Přihlášení je nyní možné pouze pomocí tokenem vygenerovaný spárovanou TOTP aplikací.
+ subject: 'Mastodon: Přihlašování pomocí bezpečnostními klíčemi bylo vypnuto'
title: Bezpečnostní klíče byly zakázány
webauthn_enabled:
+ explanation: 'Mastodon: Přihlašování bezpečnostními klíči bylo pro váš účet povoleno.'
+ extra: Váš bezpečnostní klíč nyní může být použit pro přihlášení.
subject: 'Mastodon: Přihlašování bezpečnostními klíči bylo povoleno'
title: Bezpečnostní klíče byly povoleny
omniauth_callbacks:
diff --git a/config/locales/devise.cy.yml b/config/locales/devise.cy.yml
index d3eeb8eeb..523ae70b0 100644
--- a/config/locales/devise.cy.yml
+++ b/config/locales/devise.cy.yml
@@ -12,6 +12,7 @@ cy:
last_attempt: Mae gennych un cyfle arall cyn i'ch cyfrif gael ei gloi.
locked: Mae eich cyfrif wedi ei gloi.
not_found_in_database: "%{authentication_keys} neu gyfrinair annilys."
+ omniauth_user_creation_failure: Gwall wrth greu cyfrif ar gyfer yr hunaniaeth hon.
pending: Mae eich cyfrif dal o dan adolygiad.
timeout: Mae eich sesiwn wedi dod i ben. Mewngofnodwch eto i barhau.
unauthenticated: Mae angen i chi fewngofnodi neu gofrestru cyn parhau.
diff --git a/config/locales/devise.es-MX.yml b/config/locales/devise.es-MX.yml
index c4a7f319a..ac90412e8 100644
--- a/config/locales/devise.es-MX.yml
+++ b/config/locales/devise.es-MX.yml
@@ -12,6 +12,7 @@ es-MX:
last_attempt: Tiene un intento más antes de que tu cuenta sea bloqueada.
locked: Tu cuenta está bloqueada.
not_found_in_database: Incorrecto %{authentication_keys} o contraseña.
+ omniauth_user_creation_failure: Error al crear una cuenta para esta identidad.
pending: Su cuenta aun se encuentra bajo revisión.
timeout: Su sesión ha expirado. Por favor inicie sesión de nuevo para continuar.
unauthenticated: Necesita iniciar sesión o registrarse antes de continuar.
diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml
index 642871710..0d8fc0ac6 100644
--- a/config/locales/devise.es.yml
+++ b/config/locales/devise.es.yml
@@ -12,6 +12,7 @@ es:
last_attempt: Tiene un intento más antes de que tu cuenta sea bloqueada.
locked: Tu cuenta está bloqueada.
not_found_in_database: Incorrecto %{authentication_keys} o contraseña.
+ omniauth_user_creation_failure: Error al crear una cuenta para esta identidad.
pending: Su cuenta aun se encuentra bajo revisión.
timeout: Tu sesión expiró. Por favor, inicia sesión nuevamente para continuar.
unauthenticated: Necesitas iniciar sesión o registrarte antes de continuar.
diff --git a/config/locales/devise.fa.yml b/config/locales/devise.fa.yml
index d4198626d..c441e346a 100644
--- a/config/locales/devise.fa.yml
+++ b/config/locales/devise.fa.yml
@@ -2,16 +2,17 @@
fa:
devise:
confirmations:
- confirmed: نشانی ایمیل شما با موفقیت تأیید شد.
- send_instructions: تا دقایقی دیگر ایمیلی خواهید گرفت که به شما میگوید چگونه باید نشانی ایمیل خود را تأیید کنید. اگر این ایمیل نیامد، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
- send_paranoid_instructions: اگر ایمیل شما در پایگاه دادهٔ ما موجود باشد، تا دقایقی دیگر ایمیلی خواهید گرفت که به شما میگوید چگونه باید نشانی ایمیل خود را تأیید کنید. اگر این ایمیل نیامد، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
+ confirmed: نشانی رایانامهتان با موفقیت تأیید شد.
+ send_instructions: تا دقایقی دیگر رایانامهای با دستورالعمل تأیید نشانی رایانامهتان دریافت خواهید کرد. اگر این رایانامه را نگرفتید، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
+ send_paranoid_instructions: اگر نشانی رایانامهتان در پایگاه دادهمان وجود داشته باشد، تا دقایقی دیگر تا دقایقی دیگر رایانامهای با دستورالعمل تأیید نشانی رایانامهتان دریافت خواهید کرد. اگر این رایانامه را نگرفتید، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
failure:
- already_authenticated: همین الآن هم وارد شدهاید.
- inactive: حساب شما هنوز فعال نشده است.
+ already_authenticated: از پیش وارد شدهاید.
+ inactive: هنوز حسابتان فعّال نشده.
invalid: "%{authentication_keys} یا گذرواژه نامعتبر."
last_attempt: پیش از آن که حساب شما قفل شود، یک فرصت دیگر دارید.
- locked: حساب شما قفل شده است.
+ locked: حسابتان قفل شده.
not_found_in_database: "%{authentication_keys} یا گذرواژه نامعتبر."
+ omniauth_user_creation_failure: خطای ایجاد حسابی برای این هویت.
pending: حساب شما همچنان در دست بررسی است.
timeout: مهلت این ورود شما به سر رسید. برای ادامه، دوباره وارد شوید.
unauthenticated: برای ادامه باید وارد شوید یا ثبت نام کنید.
@@ -24,37 +25,42 @@ fa:
explanation_when_pending: شما با این نشانی ایمیل برای %{host} درخواست دعوتنامه دادهاید. اگر ایمیل خود را تأیید کنید، ما درخواست شما را بررسی خواهیم کرد. تا وقتی بررسی تمام نشده، شما نمیتوانید به حساب خود وارد شوید. اگر درخواست شما رد شود، ما اطلاعاتی را که از شما داریم پاک خواهیم کرد پس نیازی به کاری از سمت شما نخواهد بود. اگر شما چنین درخواستی ندادهاید، لطفاً این ایمیل را نادیده بگیرید.
extra_html: لطفاً همچنین قوانین کارساز و شرایط خدمتمان را بررسی کنید.
subject: 'ماستودون: دستورالعمل تأیید برای %{instance}'
- title: تأیید نشانی ایمیل
+ title: تأیید نشانی رایانامه
email_changed:
- explanation: 'نشانی ایمیل حساب شما تغییر میکند به:'
- extra: اگر شما ایمیل خود را عوض نکردید، شاید کسی به حساب شما دسترسی پیدا کرده است. در این صورت لطفاً هر چه زودتر گذرواژه حسابتان را عوض کنید. اگر گذرواژهتان دیگر کار نمیکند، لطفاً با مدیر سرور تماس بگیرید.
- subject: 'ماستودون: نشانی ایمیل عوض شد'
- title: نشانی ایمیل تازه
+ explanation: 'نشانی رایانامهٔ حسابتان تغییر میکند به:'
+ extra: اگر رایانامهتان را عوض نکردهاید، ممکن است کسی به حسابتان دسترسی پیدا کرده باشد. لطفاً فوراُ گذرواژهتان را عوض کرده و اگر از حسابتان بیرون ماندهاید با مدیر کارساز تماس بگیرید.
+ subject: 'ماستودون: رایانامه عوض شد'
+ title: نشانی جدید رایانامه
password_change:
- explanation: گذرواژه حساب شما تغییر کرد.
- extra: اگر شما گذرواژه حسابتان را تغییر ندادید، شاید کسی به حساب شما دسترسی پیدا کرده است. در این صورت لطفاً هر چه زودتر گذرواژه حسابتان را عوض کنید. اگر گذرواژهتان دیگر کار نمیکند، لطفاً با مدیر سرور تماس بگیرید.
- subject: 'ماستودون: گذرواژهتان عوض شد'
- title: گذرواژهتان عوض شد
+ explanation: گذرواژهٔ حسابتان عوض شده.
+ extra: اگر گذرواژهتان را عوض نکردهاید، ممکن است کسی به حسابتان دسترسی پیدا کرده باشد. لطفاً فوراُ گذرواژهتان را عوض کرده و اگر از حسابتان بیرون ماندهاید با مدیر کارساز تماس بگیرید.
+ subject: 'ماستودون: گذرواژه عوض شد'
+ title: گذرواژه عوض شد
reconfirmation_instructions:
- explanation: نشانی تازه را تأیید کنید تا ایمیلتان عوض شود.
- extra: اگر شما باعث این تغییر نبودید، لطفاً این ایمیل را نادیده بگیرید. تا زمانی که شما پیوند بالا را باز نکنید، نشانی ایمیل مربوط به حساب شما عوض نخواهد شد.
+ explanation: برای تغییر رایانامهتان نشانی جدید را تأیید کنید.
+ extra: اگر خودتان چنین درخواستی ندادهاید لطفاً از این رایانامه چشم بپوشید. نشانی رایانامهٔ حساب ماستودون تا وقتی به پیوند بالا دسترسی پیدا نکنید عوض نخواهد شد.
subject: 'ماستودون: تأیید رایانامه برای %{instance}'
- title: تأیید نشانی ایمیل
+ title: تأیید نشانی رایانامه
reset_password_instructions:
action: تغییر گذرواژه
- explanation: شما گذرواژه تازهای برای حسابتان درخواست کردید.
- extra: اگر شما چنین درخواستی نکردید، لطفاً این ایمیل را نادیده بگیرید. تا زمانی که شما پیوند بالا را باز نکنید و گذرواژه تازهای نسازید، گذرواژه شما عوض نخواهد شد.
- subject: 'ماستودون: راهنمایی برای بازنشانی گذرواژه'
+ explanation: درخواست گذرواژهای تازهای برای حسابتان کردهاید.
+ extra: اگر خودتان چنین درخواستی ندادهاید لطفاً از این رایانامه چشم بپوشید. گذرواژهتان تا وقتی به پیوند بالا دسترسی پیدا نکرده و گذرواژهٔ جدیدی نسازید عوض نخواهد شد.
+ subject: 'ماستودون: دستورالعملهای بازنشانی گذرواژه'
title: بازنشانی گذرواژه
two_factor_disabled:
- subject: 'ماستودون: تأیید هویت دو مرحلهای از کار افتاد'
- title: ورود دومرحلهای غیرفعال
+ explanation: ورود اکنون تنها با نشانی رایانامه و گذرواژه ممکن است.
+ subject: 'ماستودون: هویتسنجی دو مرحلهای از کار افتاده'
+ subtitle: هویتسنجی دو مرحلهای برای حسابتان از کار افتاده.
+ title: ورود دومرحلهای از کار افتاده
two_factor_enabled:
- subject: 'ماستودون: تأیید هویت دومرحلهای به کار افتاد'
- title: ورود دومرحلهای فعال
+ explanation: ورود نیازمند ژتونی تولید شده به دست کارهٔ TOTP جفتشده است.
+ subject: 'ماستودون: هویتسنجی دومرحلهای به کار افتاده'
+ subtitle: هویتسنجی دو عاملی برای حسابتان به کار افتاده.
+ title: ورود دومرحلهای به کار افتاده
two_factor_recovery_codes_changed:
explanation: کدهای بازیابی پیشین نامعتبر شده و کدهای جدیدی ساخته شدند.
subject: 'ماستودون: کدهای بازیابی برای تأیید هویت دو مرحلهای دوباره ساخته شدند'
+ subtitle: کدهای بازیابی پیشین از اعتبار ساقط شده و کدهایی جدید ایجاد شدند.
title: کدهای بازیابی تأیید هویت دو مرحلهای عوض شدهاند
unlock_instructions:
subject: 'ماستودون: دستورالعملهای قفلگشایی'
@@ -68,9 +74,13 @@ fa:
subject: 'ماستودون: کلید امنیتی حذف شد'
title: یکی از کلیدهای امنیتیتان حذف شد
webauthn_disabled:
+ explanation: هویتسنجی با کلیدهای امنیتی برای حسابتان از کار افتاده.
+ extra: ورود اکنون تنها با ژتون تولید شده به دست کارهٔ TOTP جفتشده ممکن است.
subject: 'ماستودون: تأیید هویت با کلیدهای امنیتی از کار افتاد'
title: کلیدهای امنیتی از کار افتادند
webauthn_enabled:
+ explanation: هویتسنجی با کلیدهای امنیتی برای حسابتان به کار افتاده.
+ extra: کلید امنیتیتان اکنون میتواند برای ورود استفاده شود.
subject: 'ماستودون: تأیید هویت با کلید امنیتی به کار افتاد'
title: کلیدهای امنیتی به کار افتادند
omniauth_callbacks:
@@ -86,22 +96,22 @@ fa:
destroyed: بدرود! حساب شما با موفقیت لغو شد. امیدواریم دوباره شما را ببینیم.
signed_up: خوش آمدید! شما با موفقیت ثبت نام کردید.
signed_up_but_inactive: خوش آمدید! با موفقیت ثبت نام کردید. ولی هنوز وارد نشدهاید؛ چرا که حسابتان هنوز فعال نشده است.
- signed_up_but_locked: خوش آمدید! با موفقیت ثبت نام کردید. ولی هنوز وارد نشدهاید؛ چرا که حسابتان قفل است.
- signed_up_but_pending: پیغامی که دارای یک پیوند برای تأیید است به نشانی ایمیل شما فرستاده شده. پس از اینکه پیوند را باز کردید، ما درخواست شما را بررسی خواهیم کرد. اگر درخواست شما پذیرفته شود، به شما خواهیم گفت.
- signed_up_but_unconfirmed: پیامی با یک پیوند تأیید به نشانی ایمیل شما فرستاده شده. لطفاً پیوند موجود در ایمیل را دنبال کنید تا حسابتان فعال شود. اگر این ایمیل نیامد، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
- update_needs_confirmation: شما با موفقیت حسابتان را بهروز کردید، ولی لازم است که ما نشانی ایمیل تازهٔ شما را تأیید کنیم. لطفاً ایمیل خود را ببینید و پیوند موجود در ایمیل را دنبال کنید تا تا نشانی ایمیل تازهٔ شما تأیید شود. اگر این ایمیل نیامد، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
- updated: حسابتان با موفقبت بهروز شد.
+ signed_up_but_locked: با موفّقیت ثبتنام کردهاید. با این حال نمیتوان واردتان کرد؛ چرا که حسابتان قفل است.
+ signed_up_but_pending: پیامی با پیوند تأیید به نشانی رایانامهتان فرستاده شده. پس از زدن پیوند درخواستتان را بازبینی خواهیم کرد. در صورت پذیرش آگاه خواهید شد.
+ signed_up_but_unconfirmed: پیامی با پیوند تأیید به نشانی رایانامهتان فرستاده شده. لطفاً برای فعّال کردن حسابتان پیوند را بزنید. اگر این رایانامه را نگرفتهاید شاخهٔ هرزنامهها را بررسی کنید.
+ update_needs_confirmation: حسابتان را با موفّقیت بهروز کردید؛ ولی باید نشانی رایانامهٔ جدیتان را تأیید کنیم. لطفاً رایانامهتان را بررسی کرده و برای تأیید نشانی رایانهٔ جدیدتان پیوند را بزنید. اگر این رایانامه را نگرفتهاید شاخهٔ هرزنامهها را بررسی کنید.
+ updated: حسابتان با موفّقیت بهروز شد.
sessions:
- already_signed_out: با موفقیت خارج شدید.
- signed_in: با موفقیت وارد شدید.
- signed_out: با موفقیت خارج شدید.
+ already_signed_out: با موفّقیت خارج شدید.
+ signed_in: با موفّقیت وارد شدید.
+ signed_out: با موفّقیت خارج شدید.
unlocks:
- send_instructions: تا دقایقی دیگر ایمیلی خواهید گرفت که به شما میگوید چگونه باید قفل حساب خود را باز کنید. اگر این ایمیل نیامد، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
- send_paranoid_instructions: اگر حساب شما موجود باشد، تا دقایقی دیگر ایمیلی خواهید گرفت که به شما میگوید چگونه باید قفل آن را باز کنید. اگر این ایمیل نیامد، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
- unlocked: قفل حساب شما با موفقیت باز شد. لطفاً برای ادامه وارد سیستم شوید.
+ send_instructions: تا دقایقی دیگر رایانامهای با دستورالعمل قفلگشایی حسابتان دریافت خواهید کرد. اگر این رایانامه را نگرفتید، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
+ send_paranoid_instructions: اگر حسابتان وجود داشته باشد تا دقایقی دیگر رایانامهای با دستورالعمل قفلگشاییش دریافت خواهید کرد. اگر این رایانامه را نگرفتید، لطفاً پوشهٔ هرزنامههایتان را بررسی کنید.
+ unlocked: حسابتان با موفّقیت قفلگشایی شد. لطفاً برای ادامه وارد شوید.
errors:
messages:
- already_confirmed: تأیید شده، لطفاً وارد شوید
+ already_confirmed: از پیش تأیید شده. لطفاً ورود را بیازمایید
confirmation_period_expired: باید ظرف %{period} تأیید شود، لطفاً دوباره درخواست دهید
expired: مهلتش به سر رسید، لطفاً دوباره درخواست دهید
not_found: پیدا نشد
diff --git a/config/locales/devise.ja.yml b/config/locales/devise.ja.yml
index 44a9a3183..2cd7cfa41 100644
--- a/config/locales/devise.ja.yml
+++ b/config/locales/devise.ja.yml
@@ -12,6 +12,7 @@ ja:
last_attempt: あと1回失敗するとアカウントがロックされます。
locked: アカウントはロックされました。
not_found_in_database: "%{authentication_keys}かパスワードが誤っています。"
+ omniauth_user_creation_failure: 指定されたIDに対応するアカウントを作成できませんでした。
pending: あなたのアカウントはまだ承認待ちです。
timeout: セッションの有効期限が切れました。続行するには再度ログインしてください。
unauthenticated: 続行するにはログインするか、アカウントを作成してください。
diff --git a/config/locales/devise.lt.yml b/config/locales/devise.lt.yml
index 3fba5ed08..548894cca 100644
--- a/config/locales/devise.lt.yml
+++ b/config/locales/devise.lt.yml
@@ -12,6 +12,7 @@ lt:
last_attempt: Turi dar vieną bandymą, kol tavo paskyra bus užrakinta.
locked: Tavo paskyra užrakinta.
not_found_in_database: Netinkami %{authentication_keys} arba slaptažodis.
+ omniauth_user_creation_failure: Klaida kuriant šios tapatybės paskyrą.
pending: Tavo paskyra vis dar peržiūrima.
timeout: Tavo seansas baigėsi. Norėdamas (-a) tęsti, prisijunk dar kartą.
unauthenticated: Prieš tęsdamas (-a) turi prisijungti arba užsiregistruoti.
diff --git a/config/locales/devise.nn.yml b/config/locales/devise.nn.yml
index 96920d42b..01d6e5a46 100644
--- a/config/locales/devise.nn.yml
+++ b/config/locales/devise.nn.yml
@@ -12,6 +12,7 @@ nn:
last_attempt: Du har eitt forsøk igjen før kontoen din vert låst.
locked: Kontoen din er låst.
not_found_in_database: Ugyldig %{authentication_keys} eller passord.
+ omniauth_user_creation_failure: Greidde ikkje laga konto for denne identiteten.
pending: Kontoen din er vert gjennomgått enno.
timeout: Økta di er utgått. Logg inn omatt for å halde fram.
unauthenticated: Du må logge inn eller registere deg før du kan halde fram.
@@ -47,19 +48,19 @@ nn:
subject: 'Mastodon: Instuksjonar for å endra passord'
title: Attstilling av passord
two_factor_disabled:
- explanation: Innlogging er nå mulig med kun e-postadresse og passord.
+ explanation: No kan du logga inn med berre epostadresse og passord.
subject: 'Mastodon: To-faktor-autentisering deaktivert'
- subtitle: To-faktor autentisering for din konto har blitt deaktivert.
+ subtitle: Tofaktorinnlogging for denne kontoen er skrudd av.
title: 2FA deaktivert
two_factor_enabled:
- explanation: En token generert av den sammenkoblede TOTP-appen vil være påkrevd for innlogging.
+ explanation: Du treng ein kode frå den tilkopla tofaktor-appen din for å logga inn.
subject: 'Mastodon: To-faktor-autentisering aktivert'
- subtitle: Tofaktorautentisering er aktivert for din konto.
+ subtitle: Tofaktorpålogging er skrudd på for kontoen din.
title: 2FA aktivert
two_factor_recovery_codes_changed:
explanation: Dei førre gjenopprettingskodane er ugyldige og nye er genererte.
subject: 'Mastodon: To-faktor-gjenopprettingskodar har vorte genererte på nytt'
- subtitle: De forrige gjenopprettingskodene er gjort ugyldige og nye er generert.
+ subtitle: Dei førre innloggingskodane er ikkje gyldige lenger, og nye kodar er laga.
title: 2FA-gjenopprettingskodane er endra
unlock_instructions:
subject: 'Mastodon: Instruksjonar for å opne kontoen igjen'
@@ -73,13 +74,13 @@ nn:
subject: 'Mastodon: Sikkerheitsnøkkel sletta'
title: Ein av sikkerheitsnøklane dine har blitt sletta
webauthn_disabled:
- explanation: Autentisering med sikkerhetsnøkler er deaktivert for kontoen din.
- extra: Innlogging er nå mulig med kun tilgangstoken generert av den sammenkoblede TOTP-appen.
+ explanation: Innlogging med tryggingsnykjel er skrudd av for kontoen din.
+ extra: No kan du logga inn med berre kodane som er laga av den tilkopla tofaktor-appen din.
subject: 'Mastodon: Autentisering med sikkerheitsnøklar vart skrudd av'
title: Sikkerheitsnøklar deaktivert
webauthn_enabled:
- explanation: Sikkerhetsnøkkelautentisering har blitt aktivert for kontoen din.
- extra: Sikkerhetsnøkkelen din kan nå bli brukt for innlogging.
+ explanation: Innlogging med tryggingsnyklar er skrudd på for kontoen din.
+ extra: No kan du bruka tryggingsnykjelen din for å logga inn.
subject: 'Mastodon: Sikkerheitsnøkkelsautentisering vart skrudd på'
title: Sikkerheitsnøklar aktivert
omniauth_callbacks:
diff --git a/config/locales/devise.pt-BR.yml b/config/locales/devise.pt-BR.yml
index 8b53f9651..e79a83c43 100644
--- a/config/locales/devise.pt-BR.yml
+++ b/config/locales/devise.pt-BR.yml
@@ -12,6 +12,7 @@ pt-BR:
last_attempt: Você tem mais uma tentativa antes de sua conta ser bloqueada.
locked: Sua conta está bloqueada.
not_found_in_database: "%{authentication_keys} ou senha inválida."
+ omniauth_user_creation_failure: Erro ao criar uma conta para esta identidade.
pending: Sua conta está sendo revisada.
timeout: Sua sessão expirou. Por favor, entre novamente para continuar.
unauthenticated: Você precisa entrar ou criar uma conta antes de continuar.
diff --git a/config/locales/devise.sv.yml b/config/locales/devise.sv.yml
index 6544f426b..9300493fa 100644
--- a/config/locales/devise.sv.yml
+++ b/config/locales/devise.sv.yml
@@ -77,6 +77,7 @@ sv:
subject: 'Mastodon: Autentisering med säkerhetsnycklar är inaktiverat'
title: Säkerhetsnycklar inaktiverade
webauthn_enabled:
+ explanation: Autentisering med säkerhetsnyckel har aktiverats för ditt konto.
extra: Din säkerhetsnyckel kan nu användas för inloggning.
subject: 'Mastodon: Autentisering med säkerhetsnyckel är aktiverat'
title: Säkerhetsnycklar aktiverade
diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml
index 40baabcf7..50e2e4b29 100644
--- a/config/locales/devise.th.yml
+++ b/config/locales/devise.th.yml
@@ -12,6 +12,7 @@ th:
last_attempt: คุณลองได้อีกหนึ่งครั้งก่อนที่จะมีการล็อคบัญชีของคุณ
locked: มีการล็อคบัญชีของคุณอยู่
not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
+ omniauth_user_creation_failure: เกิดข้อผิดพลาดในการสร้างบัญชีสำหรับข้อมูลประจำตัวนี้
pending: บัญชีของคุณยังคงอยู่ระหว่างการตรวจทาน
timeout: เซสชันของคุณหมดอายุแล้ว โปรดเข้าสู่ระบบอีกครั้งเพื่อดำเนินการต่อ
unauthenticated: คุณจำเป็นต้องเข้าสู่ระบบหรือลงทะเบียนก่อนดำเนินการต่อ
diff --git a/config/locales/devise.vi.yml b/config/locales/devise.vi.yml
index 190f7282c..6ae78f83c 100644
--- a/config/locales/devise.vi.yml
+++ b/config/locales/devise.vi.yml
@@ -12,6 +12,7 @@ vi:
last_attempt: Nếu thử sai lần nữa, tài khoản của bạn sẽ bị khóa.
locked: Tài khoản của bạn bị khóa.
not_found_in_database: "%{authentication_keys} không có trong dữ liệu."
+ omniauth_user_creation_failure: Xảy ra lỗi khi tạo tài khoản này.
pending: Tài khoản của bạn vẫn đang được xem xét.
timeout: Phiên của bạn đã hết hạn. Vui lòng đăng nhập lại để tiếp tục.
unauthenticated: Bạn cần đăng nhập để tiếp tục.
diff --git a/config/locales/doorkeeper.cs.yml b/config/locales/doorkeeper.cs.yml
index ba2100edf..be2a4d971 100644
--- a/config/locales/doorkeeper.cs.yml
+++ b/config/locales/doorkeeper.cs.yml
@@ -84,7 +84,7 @@ cs:
credential_flow_not_configured: Proud Resource Owner Password Credentials selhal, protože Doorkeeper.configure.resource_owner_from_credentials nebylo nakonfigurováno.
invalid_client: Ověření klienta selhalo kvůli neznámému klientovi, chybějící klientské autentizaci či nepodporované autentizační metodě.
invalid_grant: Poskytnuté oprávnění je neplatné, vypršela jeho platnost, bylo odvoláno, neshoduje se s URI přesměrování použitým v požadavku o autorizaci, nebo bylo uděleno jinému klientu.
- invalid_redirect_uri: URI pro přesměrování není platné.
+ invalid_redirect_uri: Zahrnutá přesměrovací URI není platná.
invalid_request:
missing_param: 'Chybí potřebný parametr: %{value}.'
request_not_authorized: Požadavek musí být autorizován. Potřebný parametr pro autorizaci požadavku chybí nebo není platný.
diff --git a/config/locales/doorkeeper.eu.yml b/config/locales/doorkeeper.eu.yml
index 9886e034b..e7963672f 100644
--- a/config/locales/doorkeeper.eu.yml
+++ b/config/locales/doorkeeper.eu.yml
@@ -97,7 +97,7 @@ eu:
unknown: Sarbide token-a baliogabea da
resource_owner_authenticator_not_configured: Baliabidearen jabearen bilaketak huts egin du Doorkeeper.configure.resource_owner_authenticator konfiguratu gabe dagoelako.
server_error: Autorizatze zerbitzariak eskaera betetzea eragotzi duen ustekabeko baldintza bat aurkitu du.
- temporarily_unavailable: Autorizatze zerbitzariak ezin du orain eskaera bete une batez zerbitzariak gainezka egin duelako edo mantentze lanetan dagoelako.
+ temporarily_unavailable: Baimen-zerbitzariak ezin du orain eskaera bete, une batez zerbitzariak gainezka egin duelako edo mantentze lanetan dagoelako.
unauthorized_client: Bezeroak ez du eskaera hau metodo hau erabiliz egiteko baimenik.
unsupported_grant_type: Autorizatze mota ez da onartzen autorizatze zerbitzarian.
unsupported_response_type: Autorizatze zerbitzari honek ez du onartzen erantzun mota hau.
diff --git a/config/locales/doorkeeper.gl.yml b/config/locales/doorkeeper.gl.yml
index 57ee4777c..7564bc2dc 100644
--- a/config/locales/doorkeeper.gl.yml
+++ b/config/locales/doorkeeper.gl.yml
@@ -151,9 +151,9 @@ gl:
admin:read:accounts: ler información sensible de todas as contas
admin:read:canonical_email_blocks: ler a información sensíbel de tódolos bloqueos de correos electrónicos canónicos
admin:read:domain_allows: ler a información sensible de todos os dominios permitidos
- admin:read:domain_blocks: ler a información sensible de tódolos bloqueos de dominio
+ admin:read:domain_blocks: ler a información sensible de todos os bloqueos de dominio
admin:read:email_domain_blocks: ler a información sensible de tódolos dominios de correo electrónico
- admin:read:ip_blocks: ler a información sensible de tódolos bloqueos de IP
+ admin:read:ip_blocks: ler a información sensible de todos os bloqueos de IP
admin:read:reports: ler información sensible de todos os informes e contas denunciadas
admin:write: modificar todos os datos no servidor
admin:write:accounts: executar accións de moderación nas contas
diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml
index 3c2c75565..067e06558 100644
--- a/config/locales/doorkeeper.th.yml
+++ b/config/locales/doorkeeper.th.yml
@@ -156,13 +156,13 @@ th:
admin:read:ip_blocks: อ่านข้อมูลที่ละเอียดอ่อนของการปิดกั้น IP ทั้งหมด
admin:read:reports: อ่านข้อมูลที่ละเอียดอ่อนของรายงานและบัญชีที่ได้รับการรายงานทั้งหมด
admin:write: ปรับเปลี่ยนข้อมูลทั้งหมดในเซิร์ฟเวอร์
- admin:write:accounts: ทำการกระทำการควบคุมบัญชี
- admin:write:canonical_email_blocks: ทำการกระทำการควบคุมการปิดกั้นอีเมลมาตรฐาน
- admin:write:domain_allows: ทำการกระทำการควบคุมการอนุญาตโดเมน
- admin:write:domain_blocks: ทำการกระทำการควบคุมการปิดกั้นโดเมน
- admin:write:email_domain_blocks: ทำการกระทำการควบคุมการปิดกั้นโดเมนอีเมล
- admin:write:ip_blocks: ทำการกระทำการควบคุมการปิดกั้น IP
- admin:write:reports: ทำการกระทำการควบคุมรายงาน
+ admin:write:accounts: ทำการกระทำการกลั่นกรองต่อบัญชี
+ admin:write:canonical_email_blocks: ทำการกระทำการกลั่นกรองต่อการปิดกั้นอีเมลมาตรฐาน
+ admin:write:domain_allows: ทำการกระทำการกลั่นกรองต่อการอนุญาตโดเมน
+ admin:write:domain_blocks: ทำการกระทำการกลั่นกรองต่อการปิดกั้นโดเมน
+ admin:write:email_domain_blocks: ทำการกระทำการกลั่นกรองต่อการปิดกั้นโดเมนอีเมล
+ admin:write:ip_blocks: ทำการกระทำการกลั่นกรองต่อการปิดกั้น IP
+ admin:write:reports: ทำการกระทำการกลั่นกรองต่อรายงาน
crypto: ใช้การเข้ารหัสแบบต้นทางถึงปลายทาง
follow: ปรับเปลี่ยนความสัมพันธ์ของบัญชี
push: รับการแจ้งเตือนแบบผลักของคุณ
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 8b632a358..c641d4dca 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -309,6 +309,7 @@ el:
unpublish: Αναίρεση δημοσίευσης
unpublished_msg: Επιτυχής ακύρωση δημοσίευσης ανακοίνωσης!
updated_msg: Επιτυχής ενημέρωση ανακοίνωσης!
+ critical_update_pending: Κρίσιμη ενημέρωση σε αναμονή
custom_emojis:
assign_category: Ανάθεση κατηγορίας
by_domain: Τομέας
@@ -382,6 +383,15 @@ el:
undo: Αφαίρεση συναλλαγής με τον τομέα
domain_blocks:
add_new: Προσθήκη νέου αποκλεισμού τομέα
+ confirm_suspension:
+ cancel: Άκυρο
+ confirm: Αναστολή
+ permanent_action: Η κατάργηση της αναστολής δε θα αποκαταστήσει καθόλου δεδομένα ή σχέση.
+ preamble_html: Πρόκειται να αναστείλετε το %{domain} και τους υποτομείς του.
+ remove_all_data: Αυτό θα αφαιρέσει όλο το περιεχόμενο, τα μέσα και τα δεδομένα προφίλ για τους λογαριασμούς αυτού του τομέα από το διακομιστή σας.
+ stop_communication: Ο διακομιστής σας θα σταματήσει να επικοινωνεί με αυτούς τους διακομιστές.
+ title: Επιβεβαίωση αποκλεισμού τομέα για %{domain}
+ undo_relationships: Αυτό θα αναιρέσει οποιαδήποτε σχέση ακολουθίας μεταξύ των λογαριασμών αυτών των διακομιστών και των δικών σας.
created_msg: Ο αποκλεισμός τομέα είναι υπό επεξεργασία
destroyed_msg: Ο αποκλεισμός τομέα αναιρέθηκε
domain: Τομέας
@@ -415,6 +425,7 @@ el:
view: Εμφάνιση αποκλεισμού τομέα
email_domain_blocks:
add_new: Προσθήκη νέου
+ allow_registrations_with_approval: Να επιτρέπονται εγγραφές με έγκριση
attempts_over_week:
one: "%{count} προσπάθεια την τελευταία εβδομάδα"
other: "%{count} προσπάθειες εγγραφής την τελευταία εβδομάδα"
@@ -524,6 +535,7 @@ el:
total_reported: Αναφορές προς εκείνους
total_storage: Συνημμένα πολυμέσα
totals_time_period_hint_html: Τα σύνολα που εμφανίζονται παρακάτω περιλαμβάνουν στοιχεία από την αρχή.
+ unknown_instance: Προς το παρόν δεν υπάρχει καμία εγγραφή αυτού του τομέα σε αυτόν το διακομιστή.
invites:
deactivate_all: Απενεργοποίηση όλων
filter:
@@ -600,6 +612,7 @@ el:
created_at: Αναφέρθηκε
delete_and_resolve: Διαγραφή αναρτήσεων
forwarded: Προωθημένα
+ forwarded_replies_explanation: Αυτή η αναφορά είναι από απομακρυσμένο χρήστη και για απομακρυσμένο περιεχόμενο. Σας έχει διαβιβαστεί, επειδή το αναφερόμενο περιεχόμενο απαντά σε έναν από τους χρήστες σας.
forwarded_to: Προώθημένα προς %{domain}
mark_as_resolved: Σημείωση ως επιλυμένο
mark_as_sensitive: Σήμανση ως ευαίσθητο
@@ -1694,10 +1707,6 @@ el:
edit_profile_action: Στήσιμο προφίλ
edit_profile_step: Μπορείς να προσαρμόσεις το προφίλ σου ανεβάζοντας μια εικόνα προφίλ, αλλάζοντας το εμφνιζόμενο όνομα και άλλα. Μπορείς να επιλέξεις να αξιολογείς νέους ακόλουθους πριν τους επιτραπεί να σε ακολουθήσουν.
explanation: Μερικές συμβουλές για να ξεκινήσεις
- final_action: Ξεκίνα να αναρτάς
- final_step: 'Ξεκίνα να δημοσιεύεις! Ακόμα και χωρίς ακόλουθους τις δημόσιες δημοσιεύσεις σου μπορεί να τις δουν άλλοι, για παράδειγμα στην τοπική ροή ή στις ετικέτες. Ίσως να θέλεις να μας γνωρίσεις τον εαυτό σου με την ετικέτα #introductions.'
- full_handle: Το πλήρες όνομά σου
- full_handle_hint: Αυτό θα εδώ θα πεις στους φίλους σου για να σου μιλήσουν ή να σε ακολουθήσουν από άλλο διακομιστή.
subject: Καλώς ήρθες στο Mastodon
title: Καλώς όρισες, %{name}!
users:
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
index d4840c84e..6b2554fe1 100644
--- a/config/locales/en-GB.yml
+++ b/config/locales/en-GB.yml
@@ -1841,10 +1841,6 @@ en-GB:
edit_profile_action: Setup profile
edit_profile_step: You can customise your profile by uploading a profile picture, changing your display name and more. You can opt-in to review new followers before they’re allowed to follow you.
explanation: Here are some tips to get you started
- final_action: Start posting
- final_step: 'Start posting! Even without followers, your public posts may be seen by others, for example on the local timeline or in hashtags. You may want to introduce yourself on the #introductions hashtag.'
- full_handle: Your full handle
- full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
subject: Welcome to Mastodon
title: Welcome aboard, %{name}!
users:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9d739be07..cff244a4b 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -767,6 +767,7 @@ en:
disabled: To no one
users: To logged-in local users
registrations:
+ moderation_recommandation: Please make sure you have an adequate and reactive moderation team before you open registrations to everyone!
preamble: Control who can create an account on your server.
title: Registrations
registrations_mode:
@@ -774,6 +775,7 @@ en:
approved: Approval required for sign up
none: Nobody can sign up
open: Anyone can sign up
+ warning_hint: We recommend using “Approval required for sign up” unless you are confident your moderation team can handle spam and malicious registrations in a timely fashion.
security:
authorized_fetch: Require authentication from federated servers
authorized_fetch_hint: Requiring authentication from federated servers enables stricter enforcement of both user-level and server-level blocks. However, this comes at the cost of a performance penalty, reduces the reach of your replies, and may introduce compatibility issues with some federated services. In addition, this will not prevent dedicated actors from fetching your public posts and accounts.
@@ -966,6 +968,9 @@ en:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Due to a lack of recent moderator activity, registrations on %{instance} have been automatically switched to requiring manual review, to prevent %{instance} from being used as a platform for potential bad actors. You can switch it back to open registrations at any time.
+ subject: Registrations for %{instance} have been automatically switched to requiring approval
new_appeal:
actions:
delete_statuses: to delete their posts
@@ -1839,13 +1844,42 @@ en:
silence: Account limited
suspend: Account suspended
welcome:
- edit_profile_action: Setup profile
- edit_profile_step: You can customize your profile by uploading a profile picture, changing your display name and more. You can opt-in to review new followers before they’re allowed to follow you.
+ apps_android_action: Get it on Google Play
+ apps_ios_action: Download on the App Store
+ apps_step: Download our official apps.
+ apps_title: Mastodon apps
+ checklist_subtitle: 'Let''s get you started on this new social frontier:'
+ checklist_title: Welcome Checklist
+ edit_profile_action: Personalize
+ edit_profile_step: Boost your interactions by having a comprehensive profile.
+ edit_profile_title: Personalize your profile
explanation: Here are some tips to get you started
- final_action: Start posting
- final_step: 'Start posting! Even without followers, your public posts may be seen by others, for example on the local timeline or in hashtags. You may want to introduce yourself on the #introductions hashtag.'
- full_handle: Your full handle
- full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
+ feature_action: Learn more
+ feature_audience: Mastodon provides you with a unique possibility of managing your audience without middlemen. Mastodon deployed on your own infrastructure allows you to follow and be followed from any other Mastodon server online and is under no one's control but yours.
+ feature_audience_title: Build your audience in confidence
+ feature_control: You know best what you want to see on your home feed. No algorithms or ads to waste your time. Follow anyone across any Mastodon server from a single account and receive their posts in chronological order, and make your corner of the internet a little more like you.
+ feature_control_title: Stay in control of your own timeline
+ feature_creativity: Mastodon supports audio, video and picture posts, accessibility descriptions, polls, content warnings, animated avatars, custom emojis, thumbnail crop control, and more, to help you express yourself online. Whether you're publishing your art, your music, or your podcast, Mastodon is there for you.
+ feature_creativity_title: Unparalleled creativity
+ feature_moderation: Mastodon puts decision making back in your hands. Each server creates their own rules and regulations, which are enforced locally and not top-down like corporate social media, making it the most flexible in responding to the needs of different groups of people. Join a server with the rules you agree with, or host your own.
+ feature_moderation_title: Moderating the way it should be
+ follow_action: Follow
+ follow_step: Following interesting people is what Mastodon is all about.
+ follow_title: Personalize your home feed
+ follows_subtitle: Follow well-known accounts
+ follows_title: Who to follow
+ follows_view_more: View more people to follow
+ hashtags_recent_count: "%{people} people in the past %{days} days"
+ hashtags_subtitle: Explore what’s trending since past 2 days
+ hashtags_title: Trending hashtags
+ hashtags_view_more: View more trending hashtags
+ post_action: Compose
+ post_step: Say hello to the world with text, photos, videos, or polls.
+ post_title: Make your first post
+ share_action: Share
+ share_step: Let your friends know how to find you on Mastodon.
+ share_title: Share your Mastodon profile
+ sign_in_action: Sign in
subject: Welcome to Mastodon
title: Welcome aboard, %{name}!
users:
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index beb6aa6d9..bc694578b 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -1763,10 +1763,6 @@ eo:
edit_profile_action: Agordi profilon
edit_profile_step: Vi povas personecigi vian profilon per alŝuti profilbildon, ŝangi vian montronomo kaj pli.
explanation: Jen kelkaj konsiloj por helpi vin komenci
- final_action: Ekmesaĝi
- final_step: 'Ekmesaĝu! Eĉ sen sekvantoj, viaj publikaj mesaĝoj povas esti vidataj de aliaj, ekzemple en la loka templinio aŭ per kradvortoj. Eble vi ŝatus prezenti vin per la kradvorto #introductions / #konigo.'
- full_handle: Via kompleta uzantnomo
- full_handle_hint: Jen kion vi dirus al viaj amikoj, por ke ili mesaĝu aŭ sekvu vin de alia servilo.
subject: Bonvenon en Mastodon
title: Bonvenon, %{name}!
users:
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index d1dbdbf0b..37fcc11d7 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -767,6 +767,7 @@ es-AR:
disabled: A nadie
users: A usuarios locales con sesiones abiertas
registrations:
+ moderation_recommandation: Por favor, ¡asegurate de tener un equipo de moderación adecuado y reactivo antes de abrir los registros a todos!
preamble: Controlá quién puede crear una cuenta en tu servidor.
title: Registros
registrations_mode:
@@ -774,6 +775,7 @@ es-AR:
approved: Se requiere aprobación para registrarse
none: Nadie puede registrarse
open: Cualquiera puede registrarse
+ warning_hint: Recomendamos el uso de la opción “Se requiere aprobación para registrarse”, a menos que estés seguro de que tu equipo de moderación puede manejar el spam y los registros maliciosos de forma oportuna.
security:
authorized_fetch: Requiere autenticación de servidores federados
authorized_fetch_hint: Requerir autenticación de servidores federados permite un cumplimiento más estricto tanto de los bloques de nivel de usuario como de nivel de servidor. Sin embargo, esto se produce a costa de una penalidad en el rendimiento, reduce el alcance de tus respuestas y puede introducir problemas de compatibilidad con algunos servicios federados. Además, esto no impedirá que actores dedicados obtengan tus mensajes y cuentas públicas.
@@ -966,6 +968,9 @@ es-AR:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Debido a la falta de actividad reciente por parte de moderadores, los registros en %{instance} fueron cambiados automáticamente para requerir revisión manual, para evitar que %{instance} se use como una plataforma para potenciales malos actores. Podés volver a cambiar esto para abrir los registros en cualquier momento.
+ subject: Los registros de %{instance} se cambiaron automáticamente para requerir aprobación
new_appeal:
actions:
delete_statuses: para eliminar sus mensajes
@@ -1841,10 +1846,6 @@ es-AR:
edit_profile_action: Configurar perfil
edit_profile_step: Podés personalizar tu perfil subiendo un avatar (imagen de perfil), cambiando tu nombre a mostrar y más. Podés optar por revisar a los nuevos seguidores antes de que puedan seguirte.
explanation: Aquí hay algunos consejos para empezar
- final_action: Empezá a enviar mensajes
- final_step: "¡Empezá a enviar mensajes! Incluso sin seguidores, tus mensajes públicos pueden ser vistos por otros, por ejemplo en la linea temporal local o al usar etiquetas. Capaz que quieras presentarte al mundo con la etiqueta «#presentación»."
- full_handle: Tu nombre de usuario completo
- full_handle_hint: Esto es lo que le dirás a tus contactos para que ellos puedan enviarte mensajes o seguirte desde otro servidor.
subject: Bienvenido a Mastodon
title: "¡Bienvenido a bordo, %{name}!"
users:
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
index a8b918a8f..26dbc2dfb 100644
--- a/config/locales/es-MX.yml
+++ b/config/locales/es-MX.yml
@@ -767,6 +767,7 @@ es-MX:
disabled: A nadie
users: Para los usuarios locales que han iniciado sesión
registrations:
+ moderation_recommandation: Por favor, ¡asegúrate de tener un equipo de moderación adecuado y reactivo antes de abrir los registros a todo el mundo!
preamble: Controla quién puede crear una cuenta en tu servidor.
title: Registros
registrations_mode:
@@ -774,6 +775,7 @@ es-MX:
approved: Se requiere aprobación para registrarse
none: Nadie puede registrarse
open: Cualquiera puede registrarse
+ warning_hint: Recomendamos el uso de “Se requiere aprobación para registrarse” a menos que estés seguro de que tu equipo de moderación puede manejar el spam y los registros maliciosos en un tiempo razonable.
security:
authorized_fetch: Requerir autenticación de servidores federados
authorized_fetch_hint: Requerir autenticación de servidores federados permite un cumplimiento más estricto tanto de los bloqueos a nivel de usuario como a nivel de servidor. Sin embargo, esto se produce a costa de una penalización en el rendimiento, reduce el alcance de tus respuestas y puede introducir problemas de compatibilidad con algunos servicios federados. Además, esto no impedirá que actores dedicados obtengan tus cuentas y publicaciones públicas.
@@ -966,6 +968,9 @@ es-MX:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Debido a la falta de moderadores activos, los registros en %{instance} han sido cambiados automáticamente para requerir revisión manual, para evitar que %{instance} se utilice potencialmente como plataforma por malos actores. Puedes volver a cambiarlo para abrir los registros en cualquier momento.
+ subject: Se ha cambiado automáticamente el registro de %{instance} para requerir aprobación
new_appeal:
actions:
delete_statuses: para eliminar sus mensajes
@@ -1841,10 +1846,6 @@ es-MX:
edit_profile_action: Configurar el perfil
edit_profile_step: Puedes personalizar tu perfil subiendo una foto de perfil, cambiando tu nombre de usuario y mucho más. Puedes optar por revisar a los nuevos seguidores antes de que puedan seguirte.
explanation: Aquí hay algunos consejos para empezar
- final_action: Empezar a publicar
- final_step: "¡Empieza a publicar! Incluso sin seguidores, tus publicaciones públicas pueden ser vistas por otros, por ejemplo en la línea de tiempo local o en etiquetas. Tal vez quieras presentarte con la etiqueta de #introducciones."
- full_handle: Su sobrenombre completo
- full_handle_hint: Esto es lo que le dirías a tus amigos para que ellos puedan enviarte mensajes o seguirte desde otra instancia.
subject: Bienvenido a Mastodon
title: Te damos la bienvenida a bordo, %{name}!
users:
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 08fc0988e..795658013 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -31,7 +31,7 @@ es:
created_msg: "¡Nota de moderación creada con éxito!"
destroyed_msg: "¡Nota de moderación destruida con éxito!"
accounts:
- add_email_domain_block: Poner en lista negra el dominio del correo
+ add_email_domain_block: Bloquear el dominio del correo
approve: Aprobar
approved_msg: La solicitud de registro de %{username} ha sido aprobada correctamente
are_you_sure: "¿Estás seguro?"
@@ -767,6 +767,7 @@ es:
disabled: A nadie
users: Para los usuarios locales que han iniciado sesión
registrations:
+ moderation_recommandation: Por favor, ¡asegúrate de tener un equipo de moderación adecuado y reactivo antes de abrir los registros a todo el mundo!
preamble: Controla quién puede crear una cuenta en tu servidor.
title: Registros
registrations_mode:
@@ -774,6 +775,7 @@ es:
approved: Se requiere aprobación para registrarse
none: Nadie puede registrarse
open: Cualquiera puede registrarse
+ warning_hint: Recomendamos el uso de “Se requiere aprobación para registrarse” a menos que estés seguro de que tu equipo de moderación puede manejar el spam y los registros maliciosos en un tiempo razonable.
security:
authorized_fetch: Requerir autenticación de servidores federados
authorized_fetch_hint: Requerir autenticación de servidores federados permite un cumplimiento más estricto tanto de los bloqueos a nivel de usuario como a nivel de servidor. Sin embargo, esto se produce a costa de una penalización en el rendimiento, reduce el alcance de tus respuestas y puede introducir problemas de compatibilidad con algunos servicios federados. Además, esto no impedirá que actores dedicados obtengan tus cuentas y publicaciones públicas.
@@ -966,6 +968,9 @@ es:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Debido a la falta de moderadores activos, los registros en %{instance} han sido cambiados automáticamente para requerir revisión manual, para evitar que %{instance} se utilice potencialmente como plataforma por malos actores. Puedes volver a cambiarlo para abrir los registros en cualquier momento.
+ subject: Se ha cambiado automáticamente el registro de %{instance} para requerir aprobación
new_appeal:
actions:
delete_statuses: para eliminar sus mensajes
@@ -1841,10 +1846,6 @@ es:
edit_profile_action: Configurar el perfil
edit_profile_step: Puedes personalizar tu perfil subiendo una foto de perfil, cambiando tu nombre de usuario y mucho más. Puedes optar por revisar a los nuevos seguidores antes de que puedan seguirte.
explanation: Aquí hay algunos consejos para empezar
- final_action: Empezar a publicar
- final_step: "¡Empieza a publicar! Incluso sin seguidores, tus publicaciones públicas pueden ser vistas por otros, por ejemplo en la línea de tiempo local o en etiquetas. Tal vez quieras presentarte con la etiqueta de #introducciones."
- full_handle: Su sobrenombre completo
- full_handle_hint: Esto es lo que le dirías a tus amigos para que ellos puedan enviarte mensajes o seguirte desde otra instancia.
subject: Bienvenido a Mastodon
title: Te damos la bienvenida a bordo, %{name}!
users:
diff --git a/config/locales/et.yml b/config/locales/et.yml
index c21ea0b97..ed25488ce 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -1846,10 +1846,6 @@ et:
Kui mõni asi arusaamatuks jääb, siis võib vaadata juhendvideot: https://youtu.be/J4ItbTOAw7Q
explanation: Siin on mõned nõuanded, mis aitavad alustada
- final_action: Alusta postitamist
- final_step: 'Nüüd tee oma esimene postitus. Hea tava on uues kohas ennast tutvustada ning kindlasti kasuta selles postituses ka silti #tutvustus. Isegi kui sul ei ole veel jälgijaid, siis su postitusi näevad kohalikul ajajoonel ka kõik teised serveri kasutajad.'
- full_handle: Kasutajanimi Mastodon võrgustikus
- full_handle_hint: Kui jagad kasutajanime väljaspool serverit, siis kasuta kindlasti pikka nime. Erinevates serverites võib olla sama kasutajanimega liikmeid.
subject: Tere tulemast Mastodoni
title: Tere tulemast, %{name}!
users:
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 7acccea00..fb3013e00 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -597,7 +597,7 @@ eu:
silence_description_html: Kontua soilik honen jarraitzaile edo espresuki bilatzen dutenentzat izango da ikusgarri, kontuaren irisgarritasuna gogorki mugatzen delarik.
suspend_description_html: Kontua bera eta honen edukiak eskuraezinak izango dira, eta azkenean, ezabatuak. Kontu honekin erlazionatzea ezinezkoa izango da. Prozesua 30 egunez itzulgarria izango da. Kontu honen aurkako txosten guztiak baztertuko lirateke.
actions_description_html: Erabaki txosten hau konpontzeko ze ekintza hartu. Salatutako kontuaren aurka zigor ekintza bat hartzen baduzu, eposta jakinarazpen bat bidaliko zaie, Spam kategoria hautatzean ezik.
- actions_description_remote_html: Txosten honi konponbidea aurkitzeko zein ekintza egin hautatu. Hau soilik zure zerbitzaria kontu honekin nola komunikatu eta bere edukia nola maneiatzeko da.
+ actions_description_remote_html: Hautatu txosten honi konponbidea aurkitzeko zein neurri hartu. Hau soilik zure zerbitzaria urruneko kontu honekin nola komunikatu eta bere edukia nola maneiatzeko da.
add_to_report: Gehitu gehiago txostenera
are_you_sure: Ziur zaude?
assign_to_self: Esleitu niri
@@ -769,6 +769,7 @@ eu:
disabled: Inori ez
users: Saioa hasita duten erabiltzaile lokalei
registrations:
+ moderation_recommandation: Mesedez, ziurtatu moderazio-talde egokia eta erreaktiboa duzula erregistroak guztiei ireki aurretik!
preamble: Kontrolatu nork sortu dezakeen kontua zerbitzarian.
title: Izen emateak
registrations_mode:
@@ -776,6 +777,7 @@ eu:
approved: Izena emateko onarpena behar da
none: Ezin du inork izena eman
open: Edonork eman dezake izena
+ warning_hint: "“Izena emateko onarpena behar da” erabiltzea gomendatzen dugu, baldin eta ez badakizu ziur zure moderazio-taldeak spama eta erregistro maltzurrak arrazoizko denboran erantzun ditzakeela."
security:
authorized_fetch: Eskatu autentifikazioa federatutako zerbitzarietatik
authorized_fetch_hint: Zerbitzari federatuen autentifikazioa eskatzeak erabiltzaile-mailako zein zerbitzari-mailako blokeak zorrotzago betearaztea ahalbidetzen du. Hala ere, horrek errendimendu galera dakar, zure erantzunen irismena murrizten du eta baliteke federatutako zerbitzu batzuekin bateragarritasun-arazoak sortu ahal izatea. Horrez gain, horrek ez du eragotziko aktore dedikatuek zure mezu eta kontu publikoak eskuratzea.
@@ -1845,10 +1847,6 @@ eu:
edit_profile_action: Ezarri profila
edit_profile_step: Pertsonalizatu profila abatar bat igoz, zure pantaila-izena aldatuz eta gehiago. Jarraitzaile berriak onartu aurretik berrikusi nahi badituzu, kontuari giltzarrapoa jarri diezaiokezu.
explanation: Hona hasteko aholku batzuk
- final_action: Hasi bidalketak argitaratzen
- final_step: 'Hasi argitaratzen! Jarraitzailerik ez baduzu ere zure bidalketa publikoak besteek ikusi ditzakete, esaterako denbora-lerro lokalean eta traoletan. Zure burua aurkeztu nahi baduzu #aurkezpenak traola erabili zenezake.'
- full_handle: Zure erabiltzaile-izen osoa
- full_handle_hint: Hau da lagunei esango zeniekeena beste zerbitzari batetik zu jarraitzeko edo zuri mezuak bidaltzeko.
subject: Ongi etorri Mastodon-era
title: Ongi etorri, %{name}!
users:
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index bb3368dd9..4339e06c3 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -80,7 +80,7 @@ fa:
joined: عضو شده در
location:
all: همه
- local: محلّی
+ local: محلی
remote: کارسازهای دیگر
title: مکان
login_status: وضعیت ورود
@@ -415,13 +415,14 @@ fa:
public_comment: یادداشت عمومی
public_comment_hint: یادداشتی دربارهٔ محدودیت روی این دامین برای عموم، در صورتی که فهرست دامینهای محدود شده منتشر شود.
reject_media: نپذیرفتن پروندههای رسانهای
- reject_media_hint: پروندههای رسانهای ذخیرهشدهٔ محلّی را پاک کرده و از بارگیریشان در آینده خودداری میکند. بیتأثیر روی معلقها
+ reject_media_hint: پروندههای رسانهای ذخیرهشدهٔ محلی را پاک کرده و از بارگیریشان در آینده خودداری میکند. بیتأثیر روی معلّقها
reject_reports: نپذیرفتن گزارشها
reject_reports_hint: گزارشهایی را که از این دامنه میآید نادیده میگیرد. بیتأثیر برای معلقشدهها
undo: واگردانی مسدودسازی دامین
view: دیدن مسدودسازی دامنه
email_domain_blocks:
add_new: افزودن تازه
+ allow_registrations_with_approval: اجازهٔ ثبتنام با تأیید
attempts_over_week:
one: "%{count} تلاش در هفتهٔ گذشته"
other: "%{count} تلاش ورود در هفتهٔ گذشته"
@@ -1578,10 +1579,6 @@ fa:
edit_profile_action: تنظیم نمایه
edit_profile_step: میتوانید نمایهتان را با بارگذاری تصویر نمایه، تغییر نام نمایشی و بیش از اینها سفارشی کنید. میتوانید تعیین کنید که پیگیران جدید را پیشاز این که بتوانند دنبالتان کنند بازبینی کنید.
explanation: نکتههایی که برای آغاز کار به شما کمک میکنند
- final_action: چیزی منتشر کنید
- final_step: 'چیزی بنویسید! حتا بدون پیگیر ممکن است فرستههای عمومیتان دیده شود. برای مثال روی خط زمانی محلی یا در برچسبها. شاید بخواهید با برچسب #معرفی خودتان را معرّفی کنید.'
- full_handle: نام کاربری کامل شما
- full_handle_hint: این چیزی است که باید به دوستانتان بگویید تا بتوانند از کارسازی دیگر به شما پیام داده یا پیگیرتان شوند.
subject: به ماستودون خوش آمدید
title: خوش آمدید، کاربر %{name}!
users:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 15f448bc9..dc303991b 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -767,6 +767,7 @@ fi:
disabled: Ei kenellekkään
users: Kirjautuneille paikallisille käyttäjille
registrations:
+ moderation_recommandation: Varmista, että sinulla on riittävä ja toimintavalmis joukko moderaattoreita ennen kuin avaat rekisteröitymiset kaikille!
preamble: Määritä, kuka voi luoda tilin palvelimellesi.
title: Rekisteröityminen
registrations_mode:
@@ -774,6 +775,7 @@ fi:
approved: Rekisteröinti vaatii hyväksynnän
none: Kukaan ei voi rekisteröityä
open: Kaikki voivat rekisteröityä
+ warning_hint: Suosittelemme käyttämään asetusta “Rekisteröinti vaatii hyväksynnän” ellet ole varma siitä, että moderaattorit ovat valmiina käsittelemään roskapostia ja haittarekisteröitymisiä oikea-aikaisesti.
security:
authorized_fetch: Vaadi todennus liittoutuvilta palvelimilta
authorized_fetch_hint: Todennuksen vaatiminen liittoutuvilta palvelimilta mahdollistaa sekä käyttäjä- että palvelintason estojen tiukemman valvonnan. Tämä tapahtuu kuitenkin suorituskyvyn kustannuksella, vähentää vastauksiesi tavoittavuutta ja voi aiheuttaa yhteensopivuusongelmia joidenkin liittoutuvien palvelujen kanssa. Tämä ei myöskään estä omistautuneita toimijoita hakemasta julkisia julkaisujasi ja tilejäsi.
@@ -966,6 +968,9 @@ fi:
title: Webhookit
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Viimeaikaisen moderaattoritoiminnan puutteen vuoksi %{instance} rekisteröinnit on vaihdettu automaattisesti manuaaliseen tarkasteluun, jotta %{instance} ei käytetä mahdollisien huonojen toimijoiden alustana. Voit vaihtaa sen takaisin avaamalla rekisteröinnit milloin tahansa.
+ subject: Rekisteröinnit %{instance} on automaattisesti vaihdettu vaatimaan hyväksyntää
new_appeal:
actions:
delete_statuses: poistaa hänen julkaisunsa
@@ -1841,10 +1846,6 @@ fi:
edit_profile_action: Määritä profiili
edit_profile_step: Voit mukauttaa profiiliasi muun muassa profiilikuvalla ja uudella näyttönimellä. Voit myös valita, haluatko tarkastaa ja hyväksyä uudet seuraajat itse.
explanation: Näillä vinkeillä pääset alkuun
- final_action: Ala julkaista
- final_step: 'Ala julkaista! Vaikkei sinulla olisi seuraajia, voivat muut nähdä julkisia julkaisujasi esimerkiksi paikallisella aikajanalla tai aihetunnisteissa. Kannattaa myös esitellä itsensä aihetunnisteella #esittely.'
- full_handle: Koko käyttäjätunnuksesi
- full_handle_hint: Kerro tämä kavereillesi, niin he voivat lähettää sinulle viestejä tai seurata sinua toiselta palvelimelta.
subject: Tervetuloa Mastodoniin
title: Tervetuloa mukaan, %{name}!
users:
diff --git a/config/locales/fo.yml b/config/locales/fo.yml
index 10b1e76f5..6a8dd9b2e 100644
--- a/config/locales/fo.yml
+++ b/config/locales/fo.yml
@@ -767,6 +767,7 @@ fo:
disabled: Til ongan
users: Fyri lokalum brúkarum, sum eru ritaðir inn
registrations:
+ moderation_recommandation: Vinarliga tryggja tær, at tú hevur eitt nøktandi og klárt umsjónartoymi, áðreen tú letur upp fyri skrásetingum frá øllum!
preamble: Stýr, hvør kann stovna eina kontu á tínum ambætara.
title: Skrásetingar
registrations_mode:
@@ -774,6 +775,7 @@ fo:
approved: Góðkenning kravd fyri tilmelding
none: Eingin kann tilmelda seg
open: Øll kunnu tilmelda seg
+ warning_hint: Vit mæla til at brúka "Góðkenning kravd fyri tilmelding" uttan so at tú er fullvís/ur í, at umsjónartoymið hjá tær kann handfara ruskpost og óndsinnaðar skrásetingar so hvørt.
security:
authorized_fetch: Krev samgildi frá sameindum ambætarum
authorized_fetch_hint: At krevja samgildi frá sameindum ambætarum ger strangari útinning av blokkum bæði á brúkara- og ambætara-stigi møguliga. Tó so, kostnaðurin er ein avriksstraffur, minkar um hvussu langt svarini hjá tær røkka og kann viðføra sambæristruplleikar við summar sameindar tænastur. Harafturat forðar hetta ikki teimum, ið miðvíst leggja seg eftir at heinta tínar almennu postar og kontur.
@@ -966,6 +968,9 @@ fo:
title: Webhooks/vevhúkar
webhook: Webhook/vevhúkur
admin_mailer:
+ auto_close_registrations:
+ body: Vegna avmarkað virksemi hjá umsjónarfólki eru skrásetingar á %{instance} broyttar sjálvvirkandi til at krevja manuella eftirkanning fyri at forða at %{instance} verður brúktur sum ein pallur fyri ringar aktørar. Tú kanst skifta aftur til opnar skrásetingar tá tú vilt.
+ subject: Skrásetingar á %{instance} eru sjálvvirkandi broyttar soleiðis at tær krevja váttan
new_appeal:
actions:
delete_statuses: at strika teirra postar
@@ -1841,10 +1846,6 @@ fo:
edit_profile_action: Set upp vanga
edit_profile_step: Tú kanst tillaga vanga tín við at leggja eina vangamynd inn, broyta vísta navnið hjá tær og meira. Tú kanst velja at eftirkanna nýggjar fylgjarar, áðrenn teir sleppa at fylgja tær.
explanation: Her eru nøkur ráð so tú kann koma gott ígongd
- final_action: Byrja at posta
- final_step: 'Byrja at posta! Sjálvt uttan fylgjarar, so kunnu tínir almennu postar vera sæddir av øðrum, til dømis á lokalu tíðarlinjuni ella í frámerkjum. Kanska vilt tú greiða frá um teg sjálva/n við frámerkinum #introductions.'
- full_handle: Fulla brúkaranavn títt
- full_handle_hint: Hetta er tað, sum tú fortelur vinum tínum, soleiðis at tey kunnu senda tær boð ella fylgja tær frá einum øðrum ambætara.
subject: Vælkomin til Mastodon
title: Vælkomin umborð, %{name}!
users:
diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml
index 3676d0b7b..97cb08c91 100644
--- a/config/locales/fr-CA.yml
+++ b/config/locales/fr-CA.yml
@@ -1841,10 +1841,6 @@ fr-CA:
edit_profile_action: Configuration du profil
edit_profile_step: Vous pouvez personnaliser votre profil en téléchargeant une photo de profil, en changant votre nom d'utilisateur, etc. Vous pouvez opter pour le passage en revue de chaque nouvelle demande d'abonnement à chaque fois qu'un utilisateur essaie de s'abonner à votre compte.
explanation: Voici quelques conseils pour vous aider à démarrer
- final_action: Commencez à publier
- final_step: 'Commencez à publier ! Même si vous n''avez pas encore d''abonnés, vos publications sont publiques et sont accessibles par les autres, par exemple grâce à la zone horaire locale ou par les hashtags. Vous pouvez vous présenter sur le hashtag #introductions.'
- full_handle: Votre identifiant complet
- full_handle_hint: C’est ce que vous diriez à vos ami·e·s pour leur permettre de vous envoyer un message ou vous suivre à partir d’un autre serveur.
subject: Bienvenue sur Mastodon
title: Bienvenue à bord, %{name} !
users:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index a3aaf7a26..b085937c7 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -1841,10 +1841,6 @@ fr:
edit_profile_action: Configuration du profil
edit_profile_step: Vous pouvez personnaliser votre profil en téléchargeant une photo de profil, en changant votre nom d'utilisateur, etc. Vous pouvez opter pour le passage en revue de chaque nouvelle demande d'abonnement à chaque fois qu'un utilisateur essaie de s'abonner à votre compte.
explanation: Voici quelques conseils pour vous aider à démarrer
- final_action: Commencez à publier
- final_step: 'Commencez à publier ! Même si vous n''avez pas encore d''abonnés, vos publications sont publiques et sont accessibles par les autres, par exemple grâce à la zone horaire locale ou par les hashtags. Vous pouvez vous présenter sur le hashtag #introductions.'
- full_handle: Votre identifiant complet
- full_handle_hint: C’est ce que vous diriez à vos ami·e·s pour leur permettre de vous envoyer un message ou vous suivre à partir d’un autre serveur.
subject: Bienvenue sur Mastodon
title: Bienvenue à bord, %{name} !
users:
diff --git a/config/locales/fy.yml b/config/locales/fy.yml
index 2cbb69010..caa88dcfe 100644
--- a/config/locales/fy.yml
+++ b/config/locales/fy.yml
@@ -1841,10 +1841,6 @@ fy:
edit_profile_action: Profyl ynstelle
edit_profile_step: Jo kinne jo profyl oanpasse troch in profylfoto op te laden, jo werjeftenamme oan te passen en mear. Jo kinne it hânmjittich goedkarren fan folgers ynstelle.
explanation: Hjir binne inkelde tips om jo op wei te helpen
- final_action: Begjin mei berjochten te pleatsen
- final_step: 'Begjin berjochten te pleatsen! Sels sûnder folgers kinne jo iepenbiere berjochten troch oaren besjoen wurde, bygelyks op de lokale tiidline en ûnder hashtags. Jo kinne josels foarstelle mei it gebrûk fan de hashtag #introductions.'
- full_handle: Jo folsleine Mastodon-adres
- full_handle_hint: Dit jouwe jo oan jo freonen, sadat se jo berjochten stjoere kinne of (fan in oare Mastodon-server ôf) folgje kinne.
subject: Wolkom op Mastodon
title: Wolkom oan board %{name}!
users:
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index d3dab8273..e2a43564c 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -1880,10 +1880,6 @@ gd:
edit_profile_action: Suidhich a’ phròifil agad
edit_profile_step: "’S urrainn dhut a’ phròifil agad a ghnàthachadh is tu a’ luchdadh suas dealbh pròifil, ag atharrachadh d’ ainm-taisbeanaidh is a bharrachd. ’S urrainn dhut lèirmheas a dhèanamh air daoine mus fhaod iad ’gad leantainn ma thogras tu."
explanation: Seo gliocas no dhà gus tòiseachadh
- final_action: Tòisich air postadh
- final_step: 'Tòisich air postadh! Fiù ’s mur eil duine sam bith ’gad leantainn, chì cuid mhath na postaichean poblach agad, can air an loidhne-ama ionadail no le tagaichean hais. Saoil an innis thu beagan mu d’ dhèidhinn air an taga hais #fàilte?'
- full_handle: D’ ainm-cleachdaiche slàn
- full_handle_hint: Seo na bheir thu dha na caraidean agad ach an urrainn dhaibh teachdaireachd a chur thugad no ’gad leantainn o fhrithealaiche eile.
subject: Fàilte gu Mastodon
title: Fàilte air bòrd, %{name}!
users:
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 7b3fd1a6e..8520b90ea 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -767,6 +767,7 @@ gl:
disabled: Para ninguén
users: Para usuarias locais conectadas
registrations:
+ moderation_recommandation: Por favor, pon interese en crear un equipo de moderación competente e reactivo antes de permitir que calquera poida crear unha conta!
preamble: Xestiona quen pode crear unha conta no teu servidor.
title: Rexistros
registrations_mode:
@@ -774,6 +775,7 @@ gl:
approved: Precisa aprobación para rexistrarse
none: Rexistro pechado
open: Rexistro aberto
+ warning_hint: Recomendamos utilizar "Requerir aprobación para o rexistro" a menos que confíes en que o equipo de moderación é quen de xestionar áxilmente o spam e a creación de contas maliciosas.
security:
authorized_fetch: Require autenticación desde os servidores federados
authorized_fetch_hint: Ao requerir autenticación desde os servidores federados activas un reforzamento das políticas de bloqueo a nivel usuaria e nivel servidor. Este proceder ten un custo no rendemento, reducindo o alcance das túas respostas e podería introducir problemas de compatibilidade con algúns servizos federados. Ademais, non evitará que contas con tal propósito vexan as túas publicacións públicas e contas.
@@ -966,6 +968,9 @@ gl:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Debido á falta de actividade recente de moderación, a creación de contas en %{instance} mudou ao modo de revisión manual das solicitudes, para evitar que %{instance} sexa usada como plataforma por actores maliciosos. Podes volver ao rexistro aberto en calquera momento.
+ subject: O modo de creación de contas en %{instance} mudou automáticamente a aprobación manual
new_appeal:
actions:
delete_statuses: borrar as súas publicacións
@@ -1841,10 +1846,6 @@ gl:
edit_profile_action: Configurar perfil
edit_profile_step: Podes personalizar o teu perfil subindo unha imaxe de perfil, cambiar o nome público e moito máis. Podes elexir revisar as solicitudes de seguimento recibidas antes de permitirlles que te sigan.
explanation: Aquí tes algunhas endereitas para ir aprendendo
- final_action: Comeza a publicar
- final_step: 'Publica! Incluso sen seguidoras, as túas mensaxes públicas serán vistas por outras persoas, por exemplo na cronoloxía local e nos cancelos. Poderías presentarte ao #fediverso utilizando o cancelo #introductions.'
- full_handle: O teu alcume completo
- full_handle_hint: Compárteo coas túas amizades para que poidan seguirte ou enviarche mensaxes desde outros servidores.
subject: Benvida a Mastodon
title: Benvida, %{name}!
users:
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 05b52213a..55ab57614 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -795,6 +795,7 @@ he:
disabled: לאף אחד
users: למשתמשים מקומיים מחוברים
registrations:
+ moderation_recommandation: יש לוודא שלאתר יש צוות מנחות ומנחי שיחה מספק ושירותי בטרם תבחרו לפתוח הרשמה לכולם!
preamble: שליטה בהרשאות יצירת חשבון בשרת שלך.
title: הרשמות
registrations_mode:
@@ -802,6 +803,7 @@ he:
approved: נדרש אישור הרשמה
none: אף אחד לא יכול להרשם
open: כל אחד יכול להרשם
+ warning_hint: אנו ממליצים להפעיל דרישה לאישור ידני של הרשמה אלא אם אתם מאמינים שצוות הנחיית השיחות שלכם יוכל להסתדר בזריזות עם מפיצי תכנים פוגעניים או פרסומיים על בסיס קבוע.
security:
authorized_fetch: לדרוש הזדהות מול שרתים בפדרציה
authorized_fetch_hint: הדרישה להזדהות מול שרתים בפדרציה מאפשרת חסימה יותר יעילה ברמת המשתמש וברמת שרת. עם זאת, הדרישה באה עם מחיר של נפילת ביצועים, מקטינה את מעגל התפוצה של התשובות שלך, ועשויה ליצור אי תאימות מול שירותים אחרים בפדרציה. בנוסף, זה לא ימנע מצדדים החלטיים לקבל גישת קריאה להודעות ופרופילים ציבוריים.
@@ -1002,6 +1004,9 @@ he:
title: התליות רשת
webhook: התליית רשת
admin_mailer:
+ auto_close_registrations:
+ body: עקב חוסר פעילות מנחים, הרשמות אל %{instance} עברו אוטומטית למצב אישור ידני, כדי למנוע משרת %{instance} לשמש לכר פעילות לגורמים עוינים. ניתן תמיד לחזור להרשמה פתוחה.
+ subject: הרשמות אל %{instance} הועברו אוטומטית לדרישה לאישור ידני
new_appeal:
actions:
delete_statuses: כדי למחוק את הודעותיהם
@@ -1905,10 +1910,6 @@ he:
edit_profile_action: הגדרת פרופיל
edit_profile_step: תוכל.י להתאים אישית את הפרופיל באמצעות העלאת יצגן (אוואטר), כותרת, שינוי כינוי ועוד. אם תרצה.י לסקור את עוקביך/ייך החדשים לפני שתרשה.י להם לעקוב אחריך/ייך.
explanation: הנה כמה טיפים לעזור לך להתחיל
- final_action: התחל/ילי לחצרץ
- final_step: 'התחל/ילי לחצצר! אפילו ללא עוקבים ייתכן שהחצרוצים הפומביים שלך יראו ע"י אחרים, למשל בציר הזמן המקומי או בתגיות הקבצה (האשתגים). כדאי להציג את עצמך תחת התגית #introductions או #היכרות'
- full_handle: שם המשתמש המלא שלך
- full_handle_hint: זה מה שתאמר.י לחברייך כדי שיוכלו לשלוח לך הודעה או לעקוב אחרייך ממופע אחר.
subject: ברוכים הבאים למסטודון
title: ברוך/ה הבא/ה, %{name} !
users:
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 34ae9a21c..733d883da 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -767,6 +767,7 @@ hu:
disabled: Senkinek
users: Bejelentkezett helyi felhasználóknak
registrations:
+ moderation_recommandation: Győződj meg arról, hogy megfelelő és gyors reagálású moderátor csapatod van, mielőtt mindenki számára megnyitod a regisztrációt!
preamble: Szabályozd, hogy ki hozhat létre fiókot a kiszolgálón.
title: Regisztrációk
registrations_mode:
@@ -774,6 +775,7 @@ hu:
approved: A regisztráció engedélyhez kötött
none: Senki sem regisztrálhat
open: Bárki regisztrálhat
+ warning_hint: Javasoljuk a "Jóváhagyás szükséges a regisztrációhoz” lehetőség használatát, hacsak nem vagy biztos abban, hogy a moderátor csapatod időben tudja kezelni a szemetet és a rosszindulatú regisztrációkat.
security:
authorized_fetch: Hitelesítés szükséges a föderációs kiszolgálóktól
authorized_fetch_hint: A föderációs szerverek hitelesítésének szükségessége lehetővé teszi mind a felhasználói mind a szerver szintű blokkok szigorúbb végrehajtását. Ez azonban a teljesítménybüntetés árán jár, csökkenti a válaszok elérhetőségét és kompatibilitási problémákat vethet fel egyes föderációs szolgáltatásokkal. Emellett ez nem akadályozza meg a dedikált szereplőket abban, hogy nyilvános bejegyzéseiket és fiókjaikat letöltsék.
@@ -966,6 +968,9 @@ hu:
title: Webhookok
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: A közelmúlt moderátori tevékenységének hiánya miatt a %{instance} regisztrációja automatikusan kézi ellenőrzést igénylőre váltott azért, hogy megakadályozzuk, hogy a %{instance} potenciálisan rossz szándékú szereplők számára szolgálhasson platformként. A nyílt regisztrációt bármikor visszakapcsolhatod.
+ subject: "%{instance} regisztrációja automatikusan átállt jóváhagyást igénylőre"
new_appeal:
actions:
delete_statuses: bejegyzések törléséről
@@ -1841,10 +1846,6 @@ hu:
edit_profile_action: Készítsd el profilod
edit_profile_step: Testreszabhatod a profilod egy profilkép feltöltésével, a megjelenített neved megváltoztatásával és így tovább. Bekapcsolhatod az új követőid jóváhagyását, mielőtt követhetnek.
explanation: Néhány tipp a kezdeti lépésekhez
- final_action: Kezdj bejegyzéseket írni
- final_step: 'Kezdj tülkölni! A nyilvános bejegyzéseid még követők híján is megjelennek másoknak, például a helyi idővonalon vagy a hashtageknél. Kezdd azzal, hogy bemutatkozol a #bemutatkozas vagy az #introductions hashtag használatával.'
- full_handle: Teljes felhasználóneved
- full_handle_hint: Ez az, amit megadhatsz másoknak, hogy üzenhessenek neked vagy követhessenek téged más szerverekről.
subject: Üdvözöl a Mastodon
title: Üdv a fedélzeten, %{name}!
users:
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index f3a6392ff..b0d8f0086 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -875,7 +875,6 @@ hy:
suspend: Հաշիւը արգելափակուած է
welcome:
edit_profile_action: Կարգաւորել հաշիւը
- final_action: Սկսել գրել
subject: Բարի գալուստ Մաստոդոն
title: Բարի գալուստ նաւամատոյց, %{name}
users:
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index a85af012f..52cf861b4 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -256,7 +256,6 @@ ia:
disable: Disactivar 2FA
user_mailer:
welcome:
- final_step: 'Comencia a publicar! Mesmo sin sequitores, tu messages public poterea esser reguardate per alteres, per exemplo in le chronologia local o in hashtags. Tu poterea voler introducer te con le hashtag #introductiones.'
subject: Benvenite in Mastodon
webauthn_credentials:
delete: Deler
diff --git a/config/locales/id.yml b/config/locales/id.yml
index ec8cf9e03..e7f42e115 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -1560,10 +1560,6 @@ id:
edit_profile_action: Siapkan profil
edit_profile_step: Anda dapat mengubah profil Anda dengan mengunggah sebuah foto profil, mengubah nama tampilan Anda dan lain-lain. Anda dapat memilih untuk meninjau pengikut baru sebelum mereka diperbolehkan untuk mengikuti Anda.
explanation: Beberapa tips sebelum Anda memulai
- final_action: Mulai mengirim
- final_step: 'Mulai mengirim! Bahkan tanpa pengikut, kiriman publik Anda dapat dilihat oleh orang lain, misalkan di linimasa lokal atau dalam tagar. Anda dapat memperkenalkan diri Anda dalam tagar #introductions.'
- full_handle: Penanganan penuh Anda
- full_handle_hint: Ini yang dapat Anda sampaikan kepada teman agar mereka dapat mengirim pesan atau mengikuti Anda dari server lain.
subject: Selamat datang di Mastodon
title: Selamat datang, %{name}!
users:
diff --git a/config/locales/ie.yml b/config/locales/ie.yml
index 7ab7f953b..eec8569bb 100644
--- a/config/locales/ie.yml
+++ b/config/locales/ie.yml
@@ -767,6 +767,7 @@ ie:
disabled: A necun
users: A local usatores qui ha initiat session
registrations:
+ moderation_recommandation: Ples assecurar que tu have un equip de moderation quel es adequat e reactiv ante que tu aperte registrationes a omnes!
preamble: Decider qui posse crear un conto che vor servitor.
title: Registrationes
registrations_mode:
@@ -774,6 +775,7 @@ ie:
approved: Aprobation besonat por adhesion
none: Nequi posse registrar se
open: Quicunc posse registrar se
+ warning_hint: Noi recomanda usar "Aprobation besonat por inscrir" si tu ne es confident que tui equip de moderation posse gerer spam e maliciosi registrationes in un curt témpor.
security:
authorized_fetch: Postular autentication de federat servitores
authorized_fetch_hint: Postular autentication de federat servitores possibilisa plu strict infortiament de ambi usatori e servitori bloccas. Támen, ti fórsan va limitar li potentie de vor servitor, reducter li atingement de vor responses, e possibilmen introducter problemas de compatibilitá con quelc federat servicies. Additionalmen, ti ne va preventer dedicat actores de accesser vor public postas e contos.
@@ -966,6 +968,9 @@ ie:
title: Webcrocs
webhook: Webcroc
admin_mailer:
+ auto_close_registrations:
+ body: Pro un manca de recent activitá moderatori, registrationes sur %{instance} ha esset automaticmen changeat al mode quel besona un manual recension, por que %{instance} ne mey esser usat quam un platform por malfatores. Tu posse rechangear a apert registrationes quandecunc.
+ subject: Registrationes por %{instance} ha esset automaticmen changeat al mode quel besona aprobation
new_appeal:
actions:
delete_statuses: deleter su postas
@@ -1841,10 +1846,6 @@ ie:
edit_profile_action: Configuration de profil
edit_profile_step: Tu posse personalisar tui profil por cargar un profil-image, changear tui monstrat nómine e plu. Tu posse optar tractar nov sequitores ante que ili es permisset sequer te.
explanation: Vi quelc suggestiones por que tu mey comensar
- final_action: Comensar postar
- final_step: 'Comensa a postar! Mem sin sequitores, tui public postas posse esser videt de altres, per exemple in li local témpor-linea o in hashtags. Tu fórsan vole introducter te per li hashtag #introductions.'
- full_handle: Tui plen usator-nómine
- full_handle_hint: Ti-ci es ti quel tu vell dir a tui amics por que ili mey inviar missages a te o sequer te de un altri servitor.
subject: Benevenit a Mastodon
title: Benevenit, %{name}!
users:
diff --git a/config/locales/io.yml b/config/locales/io.yml
index 341477852..189f616a4 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -1799,10 +1799,6 @@ io:
edit_profile_action: Facez profilo
edit_profile_step: Vu povas kustumizar vua profilo per adchargar profilimajo, chanjesar vua montronomo e plue. Vu povas selektas kontrolar nova sequanti ante oli permisesas sequar vu.
explanation: Subo esas guidilo por helpar vu komencar
- final_action: Komencez postigar
- final_step: 'Jus postigez! Mem sen sequanti, vua publika posti povas videsar da altra personi, exemplo es en lokala tempolineo e en hashtagi. Vu povas anke introduktar su en #introductions hashtagi.'
- full_handle: Vua kompleta profilnomo
- full_handle_hint: Co esas quon vu dicos a amiki por ke oli povas mesajigar o sequar vu de altra servilo.
subject: Bonveno a Mastodon
title: Bonveno, %{name}!
users:
diff --git a/config/locales/is.yml b/config/locales/is.yml
index d374c6075..da6eee9e2 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -769,6 +769,7 @@ is:
disabled: Til engra
users: Til innskráðra staðværra notenda
registrations:
+ moderation_recommandation: Tryggðu að þú hafir hæft og aðgengilegt umsjónarteymi til taks áður en þú opnar á skráningar fyrir alla!
preamble: Stýrðu því hverjir geta útbúið notandaaðgang á netþjóninum þínum.
title: Nýskráningar
registrations_mode:
@@ -776,6 +777,7 @@ is:
approved: Krafist er samþykkt nýskráningar
none: Enginn getur nýskráð sig
open: Allir geta nýskráð sig
+ warning_hint: Við mælum með því að nota "Krafist er samþykkt nýskráningar" nema ef þú sért viss um að umsjónarteymið þitt geti brugðist tímanlega við ruslpósti og skráningum í misjöfnum tilgangi.
security:
authorized_fetch: Krefjast auðkenningar frá netþjónum í skýjasambandi
authorized_fetch_hint: Að krefjast auðkenningar frá netþjónum í skýjasambandi kallar fram strangari útfærslu á útilokunum, bæði varðandi notendur og netþjóna. Hins vegar kemur þetta niður á afköstum, minnkar útbreiðslu á svörum þínum og gæti valdið samhæfnivandamálum við sumar sambandsþjónustur. Að auki kemur þetta ekki í veg fyrir að aðilar sem ætla sér að ná í opinberar færslur og notendaaðganga frá þér geri það.
@@ -968,6 +970,9 @@ is:
title: Webhook-vefkrækjur
webhook: Webhook-vefkrækja
admin_mailer:
+ auto_close_registrations:
+ body: Vegna skorts á virkni umsjónaraðila að undanförnu, hafa nýskráningar á %{instance} sjálfkrafa verið stilltar á að þarfnast samþykktar umsjónaraðila, til að koma í veg fyrir að %{instance} verði mögulega misnotað af óprúttnum aðilum. Þú getur skipt hvenær sem er aftur yfir í opnar nýskráningar.
+ subject: Nýskráningar á %{instance} hafa sjálfkrafa verið stilltar á að krefjast samþykktar
new_appeal:
actions:
delete_statuses: að eyða færslum viðkomandi
@@ -1845,10 +1850,6 @@ is:
edit_profile_action: Setja upp notandasnið
edit_profile_step: Þú getur sérsniðið notandasniðið þitt með því að setja inn auðkennismynd þína, breyta birtingarnafninu þínu og ýmislegt fleira. Þú getur valið að yfirfara nýja fylgjendur áður en þú leyfir þeim að fylgjast með þér.
explanation: Hér eru nokkrar ábendingar til að koma þér í gang
- final_action: Byrjaðu að skrifa
- final_step: 'Byrjaðu að tjá þig! Jafnvel án fylgjenda geta aðrir séð opinberar færslur frá þér, til dæmis á staðværu tímalínunni eða í myllumerkjum. Þú gætir jafnvel viljað kynna þig á myllumerkinu #introductions.'
- full_handle: Fullt auðkenni þitt
- full_handle_hint: Þetta er það sem þú myndir gefa upp við vini þína svo þeir geti sent þér skilaboð eða fylgst með þér af öðrum netþjóni.
subject: Velkomin í Mastodon
title: Velkomin/n um borð, %{name}!
users:
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 31de2252d..3adb4f6c6 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -767,6 +767,7 @@ it:
disabled: A nessuno
users: Agli utenti locali connessi
registrations:
+ moderation_recommandation: Assicurati di avere un team di moderazione adeguato e reattivo prima di aprire le registrazioni a tutti!
preamble: Controlla chi può creare un account sul tuo server.
title: Registrazioni
registrations_mode:
@@ -774,6 +775,7 @@ it:
approved: Approvazione richiesta per le iscrizioni
none: Nessuno può iscriversi
open: Chiunque può iscriversi
+ warning_hint: Ti consigliamo di utilizzare “Approvazione richiesta per la registrazione” a meno che tu non sia sicuro che il tuo team di moderazione possa gestire lo spam e le registrazioni dannose in modo tempestivo.
security:
authorized_fetch: Richiede l'autenticazione dai server federati
authorized_fetch_hint: La richiesta di autenticazione da server federati consente un'applicazione più rigorosa dei blocchi sia a livello di utente che a livello di server. Tuttavia, ciò comporta una riduzione delle prestazioni, riduce la portata delle tue risposte e potrebbe introdurre problemi di compatibilità con alcuni servizi federati. Inoltre, ciò non impedirà agli attori dedicati di recuperare i tuoi post pubblici e account.
@@ -966,6 +968,9 @@ it:
title: Webhook
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: A causa della mancanza di attività recente da parte dei moderatori, le registrazioni su %{instance} sono passate automaticamente alla richiesta di revisione manuale, per evitare che %{instance} venga utilizzata come piattaforma per potenziali malintenzionati. Puoi ripristinarlo per aprire le registrazioni in qualsiasi momento.
+ subject: Le registrazioni per %{instance} sono passate automaticamente alla richiesta di approvazione
new_appeal:
actions:
delete_statuses: per cancellare i loro post
@@ -1843,10 +1848,6 @@ it:
edit_profile_action: Configura profilo
edit_profile_step: Puoi personalizzare il tuo profilo caricando un'immagine del profilo, cambiare il tuo nome e altro ancora. Puoi scegliere di esaminare i nuovi seguaci prima che loro siano autorizzati a seguirti.
explanation: Ecco alcuni suggerimenti per iniziare
- final_action: Inizia a pubblicare
- final_step: 'Inizia a pubblicare! Anche senza seguaci, i tuoi post pubblici possono essere visti da altri, ad esempio sulla timeline locale o negli hashtag. Potresti presentarti con l''hashtag #presentazione.'
- full_handle: Il tuo nome utente completo
- full_handle_hint: Questo è ciò che diresti ai tuoi amici in modo che possano seguirti o contattarti da un altro server.
subject: Benvenuto/a su Mastodon
title: Benvenuto a bordo, %{name}!
users:
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 6880f64c5..460f02d0a 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -753,6 +753,7 @@ ja:
disabled: 誰にも許可しない
users: ログイン済みローカルユーザーのみ許可
registrations:
+ moderation_recommandation: 登録受付を開始する前に、迅速かつ適切にモデレーションを行うチームを編成しましょう!
preamble: あなたのサーバー上でアカウントを作成できるユーザーを制御します。
title: アカウント作成
registrations_mode:
@@ -760,6 +761,7 @@ ja:
approved: 登録には承認が必要
none: 誰にも許可しない
open: 誰でも登録可
+ warning_hint: モデレーションチームがスパムや悪意のある登録を迅速に処理できる自信がない限り、サインアップを承認制にすることをお勧めします。
security:
authorized_fetch: 連合サーバーによる署名なしでの情報取得を拒否する
authorized_fetch_hint: ほかの連合サーバーから受け付けるリクエストに署名を必須にすることで、ユーザーによるブロックおよびドメインブロック両方の効果をより強力にします。ただし連合の処理コストが増えてパフォーマンス面で不利になるほか、このサーバーから送られた反応が届く範囲が狭まったり、連合における互換性の問題を招く可能性もあります。また、この機能は公開投稿やプロフィールへのアクセスをブロックした相手から完全に遮断できるものではありません。
@@ -948,6 +950,9 @@ ja:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: "%{instance} のモデレーターによる活動がしばらくなかったため、%{instance} のアカウント作成は手動での承認を必要とするように自動的に変更されました。これには %{instance} が悪意ある者の踏み台として使われることを防ぐ役割があります。アカウント作成は必要に応じていつでも再び開放できます。"
+ subject: "%{instance} のアカウント作成は自動的に承認制に変更されました"
new_appeal:
actions:
delete_statuses: 投稿を削除する
@@ -1811,10 +1816,6 @@ ja:
プロフィール画像をアップロードしたり、表示名を変更したりして、プロフィールをカスタマイズできます。
新しいフォロワーからフォローリクエストを承認する前に、オプトインで確認できます。
explanation: 始めるにあたってのアドバイスです
- final_action: 始めましょう
- final_step: 'さあ、始めましょう! たとえフォロワーがまだいなくても、あなたの公開した投稿はローカルタイムラインやハッシュタグなどを通じて誰かの目にとまるはずです。自己紹介をしたいときには #introductions ハッシュタグが便利かもしれません。'
- full_handle: あなたの正式なユーザーID
- full_handle_hint: 別のサーバーの友達とフォローやメッセージをやり取りする際には、これを伝えることになります。
subject: Mastodonへようこそ
title: ようこそ、%{name}さん!
users:
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index 926922154..1b3d48810 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -472,9 +472,6 @@ ka:
welcome:
edit_profile_action: პროფილის მოწყობა
explanation: აქ რამდენიმე რჩევაა დასაწყისისთვის
- final_action: დაიწყე პოსტვა
- full_handle: თქვენი სრული სახელური
- full_handle_hint: ეს არის ის რასაც ეტყვით თქვენს მეგობრებს, რათა მოგწერონ ან გამოგყვნენ სხვა ინსტანციიდან.
subject: კეთილი იყოს თქვენი მობრძანება მასტოდონში
title: კეთილი იყოს თქვენი მობრძანება, %{name}!
users:
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index bf574fc01..d42481092 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -11,7 +11,7 @@ kab:
followers:
one: Umeḍfaṛ
other: Imeḍfaṛen
- following: Yeṭafaṛ
+ following: Yeṭṭafaṛ
last_active: armud aneggaru
nothing_here: Ulac kra da!
posts:
@@ -542,7 +542,7 @@ kab:
add_new: Rnu amaynut
filters:
contexts:
- account: Imuɣna
+ account: Imeɣna
notifications: Ilɣa
thread: Idiwenniyen
edit:
@@ -589,11 +589,13 @@ kab:
'604800': 1 umalas
'86400': 1 wass
expires_in_prompt: Werǧin
+ generate: Slaled aseɣwen n uɛraḍ
invited_by: 'Tettwaɛraḍeḍ s ɣur:'
max_uses:
one: 1 uuseqdec
other: "%{count} yiseqdac"
max_uses_prompt: Ulac talast
+ prompt: Slaled rnu bḍu assaɣen d wiyaḍ akken ad kecmen ɣer uqeddac-a
table:
expires_at: Ad ifat di
title: Ɛreḍ-d kra n yimdanen
@@ -646,12 +648,13 @@ kab:
other: Wiyaḍ
privacy:
privacy: Tabaḍnit
+ search: Anadi
privacy_policy:
title: Tasertit tabaḍnit
relationships:
activity: Armud n umiḍan
followers: Imeḍfaṛen
- following: Yeṭafaṛ
+ following: Yeṭṭafaṛ
invited: Yettwancad
last_active: Armud aneggaru
most_recent: Melmi kan
@@ -791,8 +794,6 @@ kab:
silence: Amiḍan yesɛa talast
suspend: Amiḍan yettwaḥbas
welcome:
- final_action: Bdu asuffeɣ
- full_handle: Tansa umiḍan-ik takemmalit
subject: Ansuf ɣer Maṣṭudun
title: Ansuf yessek·em, %{name}!
users:
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index 27c76b437..2cd894bef 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -721,9 +721,6 @@ kk:
welcome:
edit_profile_action: Профиль өңдеу
explanation: Мына кеңестерді шолып өтіңіз
- final_action: Жазба жазу
- full_handle: Желі тұтқасы
- full_handle_hint: This is what you would tell your friends so they can message or follow you frоm another server.
subject: Mastodon Желісіне қош келдіңіз
title: Ортаға қош келдің, %{name}!
users:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 2e354828b..45a95139f 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -755,6 +755,7 @@ ko:
disabled: 아무에게도 안 함
users: 로그인 한 사용자에게
registrations:
+ moderation_recommandation: 모두에게 가입을 열기 전에 적절하고 반응이 빠른 중재 팀을 데리고 있는지 확인해 주세요!
preamble: 누가 이 서버에 계정을 만들 수 있는지 제어합니다.
title: 가입
registrations_mode:
@@ -762,6 +763,7 @@ ko:
approved: 가입하려면 승인이 필요함
none: 아무도 가입 할 수 없음
open: 누구나 가입 할 수 있음
+ warning_hint: 당신의 중재 팀이 스팸이나 악의적인 가입을 시기적절하게 처리할 수 있다고 자신할 수 없다면 "가입이 승인을 요구하도록" 설정하는 것을 추천합니다.
security:
authorized_fetch: 연합된 서버들에게서 인증 필수
authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단을 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개된 게시물이나 계정을 페치하는 것은 막지 않습니다.
@@ -950,6 +952,9 @@ ko:
title: 웹훅
webhook: 웹훅
admin_mailer:
+ auto_close_registrations:
+ body: 최근 모더레이터 활동 부족으로, %{instance}가 안좋은 일에 사용되는 것을 방지하기 위해 %{instance}의 가입이 수동 심사를 요구하도록 자동으로 변경되었습니다. 언제든지 가입을 다시 열 수 있습니다.
+ subject: "%{instance}의 가입이 승인을 필요로 하도록 자동으로 변경되었습니다"
new_appeal:
actions:
delete_statuses: 게시물을 삭제하는 것
@@ -1811,10 +1816,6 @@ ko:
edit_profile_action: 프로필 설정
edit_profile_step: 프로필 사진을 업로드하거나 사람들에게 표시할 이름을 바꾸는 것 등으로 자신의 프로필을 커스텀 할 수 있습니다. 새로운 팔로워를 검토 후에 허용하도록 할 수도 있습니다.
explanation: 시작하기 전에 몇가지 팁들을 준비했습니다
- final_action: 포스팅 시작하기
- final_step: '게시물을 올리세요! 팔로워가 없더라도, 공개 게시물들은 다른 사람에게 보여질 수 있습니다, 예를 들자면 로컬이나 연합 타임라인 등이 있습니다. 사람들에게 자신을 소개하고 싶다면 #툿친소 해시태그를 이용해보세요.'
- full_handle: 당신의 풀 핸들은 다음과 같습니다
- full_handle_hint: 이것을 당신의 친구들에게 알려주면 다른 서버에서 팔로우 하거나 메시지를 보낼 수 있습니다.
subject: 마스토돈에 오신 것을 환영합니다
title: 환영합니다 %{name} 님!
users:
diff --git a/config/locales/ku.yml b/config/locales/ku.yml
index e78e7ecfb..d744aaa90 100644
--- a/config/locales/ku.yml
+++ b/config/locales/ku.yml
@@ -1594,10 +1594,6 @@ ku:
edit_profile_action: Profîlê saz bike
edit_profile_step: Tu dikarî bi barkirina wêneyek profîlê, guhertina navê xwe ya xuyangê û bêtir profîla xwe kesane bikî. Berî ku mafê bidî ku te şopînerên nû te bişopînin, tu dikarî binirxînî.
explanation: Li vir çend serişte hene ku tu dest pê bike
- final_action: Dest bi weşandinê bike
- final_step: 'Dest bi weşandinê bike! Bêyî şopîneran jî dibe ku şandiyên te yên gelemperî ji hêla kesên din ve werin dîtin, mînakî li ser demjimêra herêmî û di hashtagan de. Dibe ku tu bixwazî xwe li ser hashtagê #nasname bidî nasandin.'
- full_handle: Hemî destikê te
- full_handle_hint: Ji hevalên xwe re, ji bona ji rajekarekê din peyam bişîne an jî ji bona ku te bikaribe bişopîne tişta ku tu bibêjî ev e.
subject: Tu bi xêr hatî Mastodon
title: Bi xêr hatî, %{name}!
users:
diff --git a/config/locales/lad.yml b/config/locales/lad.yml
index 77501e3b3..13e29f927 100644
--- a/config/locales/lad.yml
+++ b/config/locales/lad.yml
@@ -767,6 +767,7 @@ lad:
disabled: A dinguno
users: Para los utilizadores lokales ke entrado en su kuento
registrations:
+ moderation_recommandation: Por favor, asigurate ke tyenes una taifa de moderasyon adekuada i reaktiva antes de avrir los enrejistramyentos a todos!
preamble: Kontrola ken puede kriyar un kuento en tu sirvidor.
title: Enrejistramientos
registrations_mode:
@@ -774,6 +775,7 @@ lad:
approved: Se rekiere achetasion para enrejistrarse
none: Permete a los utilizadores trokar la konfigurasyon del sitio
open: Kualkiera puede enrejistrarse
+ warning_hint: Rekomendamos el uzo de "Se rekiere achetasion para enrejistrarse" a manko ke estes siguro ke tu taifa de moderasyon puede moderar el spam i los enrejistramyentos malisiozos en un tyempo razonavle.
security:
authorized_fetch: Rekere autentifikasyon de sirvidores federados
authorized_fetch_hint: Rekerir autentifikasyon de sirvidores federados permite un forsamyento mas estrikto de los blokos a nivel de utilizador i a nivel de sirvidor. Malgrado esto, el koste de esto es una penalizasyon de efisyensya, reduksyon del alkanse de tus repuestas i puede introduzir problemas de kompatibilita kon algunos sirvisyos federados. Ademas, esto no impidira ke aktores dedikados obtengan tus kuentos publikos i publikasyones publikas.
@@ -966,6 +968,9 @@ lad:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Por la falta de moderadores aktivos, los enrejistramyentos en %{instance} tyenen sido trokados otomatikamente para rekerir revizyon manuala, para ke %{instance} no se utilize potensyalmente komo platforma por malos aktores. Puedes trokarlo de muevo para avrir los enrejistramyentos en kualseker momento.
+ subject: Enrejistramyentos de %{instance} fueron otomatikamente trokados i agora nesesitan aprovasyon
new_appeal:
actions:
delete_statuses: para supremir sus mesajes
@@ -1841,10 +1846,6 @@ lad:
edit_profile_action: Konfigurasyon de profil
edit_profile_step: Puedes personalizar tu profil kargando una foto de profil, trokando tu nombre de utilizador i muncho mas. Puedes optar por revizar a los muevos suivantes antes de ke puedan segirte.
explanation: Aki ay algunos konsejos para ampesar
- final_action: Ampesa a publikar
- final_step: 'Ampesa a publikar! Inkluzo sin suivantes, tus publikasyones publikas pueden ser vistas por otros, por enshemplo en la linya de tiempo lokal o en etiketas. Tal vez keras aprezentarte kon la etiketa de #introduksiones.'
- full_handle: Tu sovrenombre kompleto
- full_handle_hint: Esto es lo ke le dirias a tus haverim para ke eyos puedan embiarte mesajes o segirte dizde otra instansya.
subject: Bienvenido a Mastodon
title: Bienvenido, %{name}!
users:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index f00cc97fb..7ffce1a51 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -281,6 +281,8 @@ lt:
desc_html: Tai priklauso nuo hCaptcha išorinių skriptų, kurie gali kelti susirūpinimą dėl saugumo ir privatumo. Be to, dėl to registracijos procesas kai kuriems žmonėms (ypač neįgaliesiems) gali būti gerokai sunkiau prieinami. Dėl šių priežasčių apsvarstyk alternatyvias priemones, pavyzdžiui, patvirtinimu arba kvietimu grindžiamą registraciją.
domain_blocks:
all: Visiems
+ registrations:
+ moderation_recommandation: Prieš atidarant registraciją visiems, įsitikink, kad turi tinkamą ir reaguojančią prižiūrėjimo komandą!
software_updates:
description: Rekomenduojama nuolat atnaujinti Mastodon diegyklę, kad galėtum naudotis naujausiais pataisymais ir funkcijomis. Be to, kartais labai svarbu laiku naujinti Mastodon, kad būtų išvengta saugumo problemų. Dėl šių priežasčių Mastodon kas 30 minučių tikrina, ar yra atnaujinimų, ir praneša tau apie tai pagal tavo el. pašto pranešimų parinktis.
statuses:
@@ -304,6 +306,9 @@ lt:
edit_preset: Keisti įspėjimo nustatymus
title: Valdyti įspėjimo nustatymus
admin_mailer:
+ auto_close_registrations:
+ body: Dėl pastarojo meto peržiūrėtojų aktyvumo trūkumo %{instance} registracija buvo automatiškai pakeista į reikalaujančią rankinės būdo peržiūros, kad %{instance} nebūtų naudojama kaip platforma potencialiems blogiems veikėjams. Bet kuriuo metu gali ją vėl perjungti į atvirą registraciją.
+ subject: "%{instance} registracijos automatiškai pakeistos į reikalaujančias patvirtinimo"
new_report:
body: "%{reporter} parašė skundą apie %{target}"
body_remote: Kažkas iš %{domain} parašė skundą apie %{target}
@@ -314,7 +319,7 @@ lt:
guide_link_text: Visi gali prisidėti.
application_mailer:
notification_preferences: Keisti el pašto parinktis
- settings: 'Keisti el pašto parinktis: %{link}'
+ settings: 'Keisti el. pašto nuostatas: %{link}'
view: 'Peržiūra:'
view_profile: Peržiurėti profilį
view_status: Peržiūrėti statusą
@@ -603,10 +608,6 @@ lt:
welcome:
edit_profile_action: Nustatyti profilį
explanation: Štai keletas patarimų, kaip pradėti
- final_action: Pradėti kelti įrašus
- final_step: 'Pradėk skelbti! Net jei ir neturi sekėjų, tavo viešus įrašus gali matyti kiti, pavyzdžiui, vietinėje laiko skalėje arba saitažodžiuose. Galbūt norėsi prisistatyti saitažodyje #introductions.'
- full_handle: Tavo pilnas slapyvardis
- full_handle_hint: Štai ką pasakytum savo draugams, kad jie galėtų parašyti arba sekti tave iš kito serverio.
subject: Sveiki atvykę į Mastodon
title: Sveiki atvykę, %{name}!
users:
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index fcf478cf9..89bdf5f05 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -1855,10 +1855,6 @@ lv:
edit_profile_action: Iestatīt profilu
edit_profile_step: Tu vari pielāgot savu profilu, augšupielādējot profila attēlu, mainot parādāmo vārdu un citas lietas. Vari izvēlēties pārskatīt jaunus sekotājus, pirms atļauj viņiem tev sekot.
explanation: Šeit ir daži padomi, kā sākt darbu
- final_action: Sāc publicēt
- final_step: 'Sāc publicēt! Pat bez sekotājiem tavas publiskās ziņas var redzēt citi, piemēram, vietējā ziņu lentā vai atsaucēs. Iespējams, tu vēlēsies iepazīstināt ar sevi, izmantojot tēmturi #introductions.'
- full_handle: Tavs pilnais lietotājvārds
- full_handle_hint: Šis ir tas, ko tu pasaki saviem draugiem, lai viņi varētu tev ziņot vai sekot tev no cita servera.
subject: Laipni lūgts Mastodon
title: Laipni lūgts uz borta, %{name}!
users:
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 6625a13b3..81f1851b1 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -1772,10 +1772,6 @@ ms:
edit_profile_action: Sediakan profil
edit_profile_step: Anda boleh menyesuaikan profil anda dengan memuat naik gambar profil, menukar nama paparan anda dan banyak lagi. Anda boleh ikut serta untuk menyemak pengikut baharu sebelum mereka dibenarkan mengikuti anda.
explanation: Berikut ialah beberapa petua untuk anda bermula
- final_action: Mula menyiarkan
- final_step: 'Mula menyiarkan! Walaupun tanpa pengikut, pos awam anda mungkin dilihat oleh orang lain, contohnya pada garis masa tempatan atau dalam hashtag. Anda mungkin ingin memperkenalkan diri anda pada hashtag #introductions.'
- full_handle: Pemegang penuh anda
- full_handle_hint: Inilah yang anda akan beritahu rakan anda supaya mereka boleh menghantar mesej atau mengikuti anda dari server lain.
subject: Selamat datang kepada Mastodon
title: Selamat datang, %{name}!
users:
diff --git a/config/locales/my.yml b/config/locales/my.yml
index 094f581eb..18f5c6a2d 100644
--- a/config/locales/my.yml
+++ b/config/locales/my.yml
@@ -1771,10 +1771,6 @@ my:
edit_profile_action: ပရိုဖိုင်ထည့်သွင်းရန်
edit_profile_step: ပရိုဖိုင်ဓာတ်ပုံတစ်ပုံ တင်ခြင်း၊ ဖော်ပြမည့်အမည် ပြောင်းလဲခြင်းနှင့် အခြားအရာများပြုလုပ်ခြင်းတို့ဖြင့် သင့်ပရိုဖိုင်ကို စိတ်ကြိုက်ပြင်ဆင်နိုင်ပါသည်။ စောင့်ကြည့်သူအသစ်များ သင့်ကိုစောင့်ကြည့်ခွင့်မပြုမီ ပြန်လည်သုံးသပ်ရန်အတွက် ဆုံးဖြတ်နိုင်ပါသည်။
explanation: ဤသည်မှာ သင် စတင်အသုံးပြုနိုင်ရန်အတွက် အကြံပြုချက်အချို့ဖြစ်ပါသည်
- final_action: ပို့စ် တင်ရန်
- final_step: 'ပို့စ်စပြီး တင်နိုင်ပါပြီ။ စောင့်ကြည့်သူများမရှိသေးသော်လည်း သင့်အများမြင်ပို့စ်များကို ဒေသတွင်းစာမျက်နှာ သို့မဟုတ် ဟက်ရှ်တက်စာမျက်နှာတို့တွင် အခြားသူများက မြင်နိုင်ပါသည်။ #introductions ဟက်ရှ်တက်ဖြင့် သင့်ကိုယ်သင် မိတ်ဆက်နိုင်ပါသည်။'
- full_handle: ကိုယ်တိုင်ထိန်းချုပ်နိုင်သည်
- full_handle_hint: ဤသည်မှာ သင့်သူငယ်ချင်းများကို အခြားဆာဗာတစ်ခုမှ မက်ဆေ့ချ်ပို့နိုင်ကြောင်း သို့မဟုတ် စောင့်ကြည့်နိုင်ကြောင်း အသိပေးပါမည်။
subject: Mastodon မှ လှိုက်လှဲစွာကြိုဆိုပါသည်။
title: "%{name} က ကြိုဆိုပါတယ်။"
users:
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 1c31ed9e2..c935e9f4a 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -767,6 +767,7 @@ nl:
disabled: Aan niemand
users: Aan ingelogde lokale gebruikers
registrations:
+ moderation_recommandation: Zorg ervoor dat je een adequaat en responsief moderatieteam hebt voordat je registraties voor iedereen openstelt!
preamble: Toezicht houden op wie een account op deze server kan registreren.
title: Registraties
registrations_mode:
@@ -774,6 +775,7 @@ nl:
approved: Goedkeuring vereist om te kunnen registreren
none: Niemand kan zich registreren
open: Iedereen kan zich registreren
+ warning_hint: We raden je aan om “Goedkeuring vereist om te kunnen registreren” te gebruiken, tenzij je er zeker van bent dat jouw moderatieteam spam en kwaadwillende registraties tijdig kan afhandelen.
security:
authorized_fetch: Verificatie van gefedeerde servers vereisen
authorized_fetch_hint: Verificatie vereisen van gefedereerde servers maakt een striktere handhaving van blokkades op gebruikersniveau en serverniveau mogelijk. Dit gaat echter ten koste van de prestaties, vermindert het bereik van je reacties en kan compatibiliteitsproblemen met sommige gefedereerde services opleveren. Bovendien zal dit niet voorkomen dat personen met slechte bedoelingen je openbare berichten en accounts kunnen ophalen.
@@ -966,6 +968,9 @@ nl:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: In verband met een gebrek aan recentelijke moderator-activiteit, is de registratie-modus op %{instance} automatisch veranderd naar handmatige beoordeling door moderatoren. Dit om te voorkomen dat %{instance} als platform voor eventueel misbruik kan worden gebruikt. Je kunt op elk gewenst moment veel terugschakelen naar open registraties.
+ subject: De registratie-modus op %{instance} is automatisch veranderd naar handmatige beoordeling door moderatoren
new_appeal:
actions:
delete_statuses: het verwijderen van diens berichten
@@ -1841,10 +1846,6 @@ nl:
edit_profile_action: Profiel instellen
edit_profile_step: Je kunt jouw profiel aanpassen door een profielfoto te uploaden, jouw weergavenaam aan te passen en meer. Je kunt het handmatig goedkeuren van volgers instellen.
explanation: Hier zijn enkele tips om je op weg te helpen
- final_action: Begin berichten te plaatsen
- final_step: 'Begin berichten te plaatsen! Zelfs zonder volgers kunnen jouw openbare berichten door anderen bekeken worden, bijvoorbeeld op de lokale tijdlijn en onder hashtags. Je kunt jezelf voorstellen met het gebruik van de hashtag #introductions.'
- full_handle: Jouw volledige Mastodonadres
- full_handle_hint: Dit geef je aan jouw vrienden, zodat ze jou berichten kunnen sturen of (vanaf een andere Mastodonserver) kunnen volgen.
subject: Welkom op Mastodon
title: Welkom aan boord %{name}!
users:
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index ffa5198a3..aecd148e2 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -31,7 +31,7 @@ nn:
created_msg: Moderatormerknad er laga!
destroyed_msg: Moderatormerknad er utsletta!
accounts:
- add_email_domain_block: Gøym e-postdomene
+ add_email_domain_block: Blokker e-postdomene
approve: Godtak
approved_msg: Godkjende %{username} sin registreringssøknad
are_you_sure: Er du sikker?
@@ -767,13 +767,15 @@ nn:
disabled: Til ingen
users: Til lokale brukarar som er logga inn
registrations:
+ moderation_recommandation: Pass på at du har mange og kjappe redaktørar og moderatorar på laget ditt før du opnar for allmenn registrering!
preamble: Kontroller kven som kan oppretta konto på tenaren din.
title: Registreringar
registrations_mode:
modes:
- approved: Godkjenning kreves for påmelding
+ approved: Godkjenning krevst for å registrera seg
none: Ingen kan melda seg inn
open: Kven som helst kan melda seg inn
+ warning_hint: Me rår til at du bruker "Godkjenning krevst for å registrera seg" viss du ikkje er sikker på at moderatorane kan handtera søppel og illmeinte registreringar kvikt.
security:
authorized_fetch: Krev autentisering frå fødererte tenarar
authorized_fetch_hint: Krav om autentisering frå fødererte tenarar gjer det mogleg med strengare handheving av blokkering, både på brukar- og tenar-nivå. Likevel, dette har ein kostnad når det gjeld yting, reduserer rekkevidda til svara dine og kan medføra kompabilitetsproblem med enkelte fødererte tenester. Dette vil heller ikkje hindra dei som verkeleg vil i å henta dei offentlege innlegga eller kontoane dine.
@@ -966,6 +968,9 @@ nn:
title: Webhooker
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: På grunn av mangel på nyleg moderatoraktivitet, er registreringar på %{instance} automatisk bytt til å krevje manuell gjennomgang, for å hindre at %{instance} vert brukt som ein plattform for potensielle dårlege aktørar. Du kan byte tilbake for å opne registreringar når som helst.
+ subject: Registreringar for %{instance} er automatisk bytt til å krevje godkjenning
new_appeal:
actions:
delete_statuses: å slette sine innlegg
@@ -1447,7 +1452,7 @@ nn:
moderation:
title: Moderasjon
move_handler:
- carry_blocks_over_text: Denne brukaren flytta frå %{acct}, som du gøymde.
+ carry_blocks_over_text: Denne brukaren flytta frå %{acct}, som du hadde blokkert.
carry_mutes_over_text: Denne brukeren flyttet fra %{acct}, som du hadde dempet.
copy_account_note_text: 'Denne brukeren flyttet fra %{acct}, her var dine tidligere notater om dem:'
navigation:
@@ -1534,7 +1539,7 @@ nn:
privacy:
hint_html: "Tilpass korleis du vil at andre skal finna profilen og innlegga dine. Mastodon har fleire funksjonar du kan ta i bruk for å få kontakt med eit større publikum. Sjå gjerne gjennom innstillingane slik at du er sikker på at dei passar til deg og din bruk."
privacy: Personvern
- privacy_hint_html: Ha kontroll over kor mykje du vil dela. Folk finn interessante profilar og fine appar ved å sjå gjennom kva andre fylgjer og kva appar dei legg ut innlegg med, men det kan henda du vil gøyma desse opplysingane.
+ privacy_hint_html: Kontroller kor mykje du vil dela. Folk finn interessante profilar og fine appar ved å sjå gjennom kva andre fylgjer og kva appar dei legg ut innlegg med, men det kan henda du vil gøyma desse opplysingane.
reach: Nå andre
reach_hint_html: Hald styring med om du vil at andre skal kunna oppdaga og fylgja deg. Vil du at innlegga dine skal stå på Utforsk-sida? Vil du at andre skal sjå deg i tilrådingane for kven dei skal fylgja? Vil du ta imot nye fylgjarar automatisk, eller vil du kontrollera kvar einskild fylgjar?
search: Søk
@@ -1547,8 +1552,8 @@ nn:
limit_reached: Grensen for forskjellige reaksjoner nådd
unrecognized_emoji: er ikke en gjenkjent emoji
redirects:
- prompt: Hvis du stoler på denne lenken, så trykk på den for å fortsette.
- title: Du forlater %{instance}.
+ prompt: Viss du stolar på denne lenka, klikkar du på ho for å halda fram.
+ title: No forlèt du %{instance}.
relationships:
activity: Kontoaktivitet
confirm_follow_selected_followers: Er du sikker på at du ynskjer å fylgja dei valde fylgjarane?
@@ -1778,7 +1783,7 @@ nn:
webauthn: Sikkerhetsnøkler
user_mailer:
appeal_approved:
- action: Kontoinnstillinger
+ action: Kontoinnstillingar
explanation: Apellen på prikken mot din kontor på %{strike_date} som du la inn på %{appeal_date} har blitt godkjend. Din konto er nok ein gong i god stand.
subject: Din klage fra %{date} er godkjent
subtitle: Kontoen din er tilbake i god stand.
@@ -1786,11 +1791,11 @@ nn:
appeal_rejected:
explanation: Klagen på advarselen mot din konto den %{strike_date} som du sendte inn den %{appeal_date} har blitt avvist.
subject: Din klage fra %{date} er avvist
- subtitle: Anken din har blitt avvist.
+ subtitle: Klaga di vart avvist.
title: Anke avvist
backup_ready:
- explanation: Du etterspurte en fullstendig sikkerhetskopi av din Mastodon-konto.
- extra: Den er nå klar for nedlasting!
+ explanation: Du ba om ein fullstendig tryggingskopi av Mastodon-kontoen din.
+ extra: No kan du lasta han ned!
subject: Arkivet ditt er klart til å lastes ned
title: Nedlasting av arkiv
failed_2fa:
@@ -1841,10 +1846,6 @@ nn:
edit_profile_action: Lag til profil
edit_profile_step: Du kan tilpasse profilen din ved å laste opp et profilbilde, endre visningsnavnet ditt og mer. Du kan velge at nye følgere må godkjennes av deg før de får lov til å følge deg.
explanation: Her er nokre tips for å koma i gang
- final_action: Kom i gang med å leggja ut
- final_step: 'Skriv innlegg! Selv uten følgere kan dine offentlige innlegg bli sett av andre, for eksempel på den lokale tidslinjen og i emneknagger. Du kan introdusere deg selv ved å bruke emneknaggen #introduksjon.'
- full_handle: Det fulle brukarnamnet ditt
- full_handle_hint: Dette er det du fortel venene dine for at dei skal kunna senda deg meldingar eller fylgja deg frå ein annan tenar.
subject: Velkomen til Mastodon
title: Velkomen om bord, %{name}!
users:
diff --git a/config/locales/no.yml b/config/locales/no.yml
index d26b20379..481e28e86 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -1841,10 +1841,6 @@
edit_profile_action: Sett opp profil
edit_profile_step: Du kan tilpasse profilen din ved å laste opp et profilbilde, endre visningsnavnet ditt og mer. Du kan velge at nye følgere må godkjennes av deg før de får lov til å følge deg.
explanation: Her er noen tips for å komme i gang
- final_action: Start postingen
- final_step: 'Skriv innlegg! Selv uten følgere kan dine offentlige innlegg bli sett av andre, for eksempel på den lokale tidslinjen og i emneknagger. Du kan introdusere deg selv ved å bruke emneknaggen #introduksjon.'
- full_handle: Ditt fullstendige brukernavn
- full_handle_hint: Dette er hva du forteller venner slik at de kan sende melding eller følge deg fra en annen instanse.
subject: Velkommen til Mastodon
title: Velkommen ombord, %{name}!
users:
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 2887fc98b..b8330992c 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -968,9 +968,6 @@ oc:
welcome:
edit_profile_action: Configuracion del perfil
explanation: Vaquí qualques astúcias per vos preparar
- final_action: Començar de publicar
- full_handle: Vòstre escais-nom complèt
- full_handle_hint: Es aquò que vos cal donar a vòstres amics per que pòscan vos escriure o sègre a partir d’un autre servidor.
subject: Benvengut a Mastodon
title: Vos desirem la benvenguda a bòrd %{name} !
users:
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 5bc78a6ad..f7c5d60f6 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -795,6 +795,7 @@ pl:
disabled: Nikomu
users: Zalogowanym lokalnym użytkownikom
registrations:
+ moderation_recommandation: Upewnij się, że masz adekwatny i szybko reagujący zespół moderacyjny przed otwarciem rejestracji!
preamble: Kontroluj, kto może utworzyć konto na Twoim serwerze.
title: Rejestracje
registrations_mode:
@@ -802,6 +803,7 @@ pl:
approved: Przyjęcie jest wymagane do rejestracji
none: Nikt nie może się zarejestrować
open: Każdy może się zarejestrować
+ warning_hint: Polecamy "Przyjęcie jest wymagane do rejestracji" chyba że masz pewność, że twój zespół moderacyjny może szybko obsłużyć spam i złośliwe rejestracje.
security:
authorized_fetch: Wymagaj uwierzytelnienia od sfederowanych serwerów
authorized_fetch_hint: Wymaganie uwierzytelnienia ze sfederowanych serwerów pozwala na ściślejsze wymuszanie bloków z poziomu użytkowników i serwera, ale jest wolniejsze, redukuje zasięg odpowiedzi, i może być niekompatybilne z niektórymi sfederowanymi usługami. Nie chroni również publicznych kont i wpisów przed oddanymi użytkownikami.
@@ -1002,6 +1004,9 @@ pl:
title: Webhooki
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Z powodu braku niedawnych działań moderacyjnych, rejestracje na %{instance} wymagają ręcznej weryfikacji (by uniknąć dystrybucji spamu itp.). W dowolnym momencie możesz przywrócić politykę otwartej rejestracji.
+ subject: "%{instance} zostało automatycznie przełączone na zatwierdzanie rejestracji"
new_appeal:
actions:
delete_statuses: aby usunąć ich wpisy
@@ -1905,10 +1910,6 @@ pl:
edit_profile_action: Skonfiguruj profil
edit_profile_step: Możesz dostosować profil wysyłając awatar, zmieniając wyświetlaną nazwę i o wiele więcej. Jeżeli chcesz, możesz również włączyć przeglądanie i ręczne akceptowanie nowych próśb o możliwość obserwacji Twojego profilu.
explanation: Kilka wskazówek, które pomogą Ci rozpocząć
- final_action: Zacznij pisać
- final_step: 'Zacznij tworzyć! Nawet jeżeli nikt Cię nie obserwuje, Twoje publiczne wiadomości będą widziane przez innych, na przykład na lokalnej osi czasu i w hashtagach. Możesz też utworzyć wpis wprowadzający używając hashtagu #introductions.'
- full_handle: Twój pełny adres
- full_handle_hint: Ten adres możesz podać znajomym, aby mogli skontaktować się z Tobą lub zacząć obserwować z innego serwera.
subject: Witaj w Mastodonie
title: Witaj na pokładzie, %{name}!
users:
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 79396d627..86972f9ef 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -767,6 +767,7 @@ pt-BR:
disabled: Para ninguém
users: Para usuários locais logados
registrations:
+ moderation_recommandation: Por favor, certifique-se de ter uma equipe de moderação adequada e reativa antes de abrir as inscrições para todos!
preamble: Controle quem pode criar uma conta no seu servidor.
title: Inscrições
registrations_mode:
@@ -1840,10 +1841,6 @@ pt-BR:
edit_profile_action: Configurar perfil
edit_profile_step: Você pode personalizar seu perfil enviando uma foto de perfil, mudando seu nome de exibição e mais. Você pode optar por revisar novos seguidores antes que eles possam te seguir.
explanation: Aqui estão algumas dicas para você começar
- final_action: Comece a publicar
- final_step: 'Comece a postar! Mesmo sem seguidores, suas postagens públicas podem ser vistas pelos outros, por exemplo, na linha do tempo local ou nas hashtags. Você pode querer fazer uma introdução usando a hashtag #introduções.'
- full_handle: Seu nome de usuário completo
- full_handle_hint: Isso é o que você compartilha com seus amigos para que eles possam te mandar mensagens ou te seguir a partir de outro servidor.
subject: Boas-vindas ao Mastodon
title: Boas vindas, %{name}!
users:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 8a20bc68a..0786ba2ed 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -767,6 +767,7 @@ pt-PT:
disabled: Para ninguém
users: Para utilizadores locais que se encontrem autenticados
registrations:
+ moderation_recommandation: Por favor, certifique-se de que você tem uma equipe de moderação adequada e reativa antes de abrir os registros para todos!
preamble: Controle quem pode criar uma conta no seu servidor.
title: Inscrições
registrations_mode:
@@ -774,6 +775,7 @@ pt-PT:
approved: Registo sujeito a aprovação
none: Ninguém se pode registar
open: Qualquer pessoa se pode registar
+ warning_hint: Recomendamos o uso de "Aprovação necessária para se cadastrar", a menos que você esteja confiante de que sua equipe de moderação pode lidar com spam e registros maliciosos em tempo hábil.
security:
authorized_fetch: Exigir autenticação de servidores federados
authorized_fetch_hint: Exigir autenticação de servidores federados permite uma aplicação mais rigorosa de bloqueios tanto ao nível do utilizador como do servidor. No entanto, isso é feito à custa de uma diminuição de desempenho, reduz o alcance das suas respostas e pode introduzir problemas de compatibilidade com alguns serviços federados. Além disso, isso não impede os atores mais empenhados de aceder às suas publicações e contas públicas.
@@ -966,6 +968,9 @@ pt-PT:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Devido à falta de atividade recente dos moderadores, as inscrições em %{instance} foram automaticamente alteradas para requererem revisão manual, para evitar que %{instance} seja utilizada como plataforma para potenciais maus atores. Pode voltar a alterar para inscrições abertas em qualquer altura.
+ subject: As incrições em %{instance} foram automaticamente alteradas para requererem aprovação
new_appeal:
actions:
delete_statuses: para eliminar as suas publicações
@@ -1841,10 +1846,6 @@ pt-PT:
edit_profile_action: Configurar o perfil
edit_profile_step: Pode personalizar o seu perfil carregando uma imagem de perfil, alterando o nome a exibir, entre outras opções. Pode optar por rever os novos seguidores antes de estes o poderem seguir.
explanation: Aqui estão algumas dicas para começar
- final_action: Começar a publicar
- final_step: 'Comece a publicar! Mesmo sem seguidores, as suas mensagens públicas podem ser vistas por outros, como por exemplo na cronologia local e em etiquetas. Pense em apresentar-se usando a etiqueta #apresentações.'
- full_handle: O seu nome completo
- full_handle_hint: Isto é o que tem de facultar aos seus amigos para que eles lhe possam enviar mensagens ou segui-lo a partir de outra instância.
subject: Bem-vindo ao Mastodon
title: Bem-vindo a bordo, %{name}!
users:
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index 1bdc4e8ca..8e4f9e791 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -709,9 +709,6 @@ ro:
welcome:
edit_profile_action: Configurare profil
explanation: Iată câteva sfaturi pentru a începe
- final_action: Începe să postezi
- full_handle: Numele tău complet
- full_handle_hint: Asta este ceea ce vei putea spune prietenilor pentru a te putea contacta sau pentru a te urmării de pe un alt server.
subject: Bine ai venit
title: Bine ai venit la bord, %{name}!
users:
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 04e49e042..3f15b064f 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -1905,10 +1905,6 @@ ru:
edit_profile_action: Настроить профиль
edit_profile_step: Вы можете настроить свой профиль добавляя аватарку, изменяя отображаемое имя и так далее. Вы можете вручную подтверждать подписчиков, перед тем как им будет разрешено подписаться на вас.
explanation: Вот несколько советов для новичков
- final_action: Начать постить
- final_step: 'Начинайте постить! Даже без подписчиков, ваши публичные посты могут быть увиденными другими, например в локальной ленте или в хештегах. Вы можете представиться с хэштегом #introductions.'
- full_handle: Ваше обращение
- full_handle_hint: То, что Вы хотите сообщить своим друзьям, чтобы они могли написать Вам или подписаться с другого узла.
subject: Добро пожаловать в Mastodon
title: Добро пожаловать на борт, %{name}!
users:
diff --git a/config/locales/sc.yml b/config/locales/sc.yml
index 273ef9d2d..533764606 100644
--- a/config/locales/sc.yml
+++ b/config/locales/sc.yml
@@ -1094,9 +1094,6 @@ sc:
welcome:
edit_profile_action: Cunfigura su profilu
explanation: Inoghe ddoe at una paja de impòsitos pro cumintzare
- final_action: Cumintza a publicare
- full_handle: Su nòmine utente intreu tuo
- full_handle_hint: Custu est su chi dias nàrrere a is amistades tuas pro chi ti potzant imbiare messàgios o sighire dae un'àteru serbidore.
subject: Ti donamus su benebènnidu a Mastodon
title: Ti donamus su benebènnidu, %{name}!
users:
diff --git a/config/locales/sco.yml b/config/locales/sco.yml
index a1071197f..dc273d2d8 100644
--- a/config/locales/sco.yml
+++ b/config/locales/sco.yml
@@ -1584,10 +1584,6 @@ sco:
edit_profile_action: Setup profile
edit_profile_step: Ye kin customize yer profile bi uploadin a profile picture, chyngin yer display nemm an mair. Ye kin opt-in fir tae luik ower new follaers afore they’re allooed tae follae ye.
explanation: Here some tips fir tae get ye stertit
- final_action: Stert postin
- final_step: 'Stert postin! Even athout follaers, yer public posts kin stull be seen bi ithers, fir example on the local timeline or in hashtags. Ye mibbie want tae introduce yersel on the #introductions hashtag.'
- full_handle: Yer ful haunnle
- full_handle_hint: This is whit ye wad tell yer pals sae thit they kin message or follae ye fae anither server.
subject: Welcome tae Mastodon, 'mon in
title: Welcome aboord, %{name}!
users:
diff --git a/config/locales/si.yml b/config/locales/si.yml
index 660fd3ba3..ac292d6cf 100644
--- a/config/locales/si.yml
+++ b/config/locales/si.yml
@@ -1436,9 +1436,6 @@ si:
welcome:
edit_profile_action: පැතිකඩ පිහිටුවන්න
explanation: ඔබ ආරම්භ කිරීමට උපදෙස් කිහිපයක් මෙන්න
- final_action: ලිපි පළ කරන්න
- full_handle: ඔබේ සම්පූර්ණ හසුරුව
- full_handle_hint: මෙය ඔබ ඔබේ මිතුරන්ට පවසනු ඇත, එවිට ඔවුන්ට වෙනත් සේවාදායකයකින් ඔබට පණිවිඩ යැවීමට හෝ අනුගමනය කිරීමට හැකිය.
subject: මාස්ටඩන් වෙත පිළිගනිමු
title: නැවට සාදරයෙන් පිළිගනිමු, %{name}!
users:
diff --git a/config/locales/simple_form.an.yml b/config/locales/simple_form.an.yml
index f354e5ba8..6ec8380f2 100644
--- a/config/locales/simple_form.an.yml
+++ b/config/locales/simple_form.an.yml
@@ -31,14 +31,12 @@ an:
text: Nomás puetz apelar una amonestación una vegada
defaults:
autofollow: Los usuarios que se rechistren per medio d'a invitación te seguirán automaticament
- avatar: PNG, GIF u JPG. Maximo %{size}. Será escalau a %{dimensions}px
bot: Esta cuenta executa prencipalment accions automatizadas y podría no estar monitorizada
context: Un u multiples contextos en os quals ha d'aplicar-se lo filtro
current_password: Per razons de seguranza per favor ingrese la clau d'a cuenta actual
current_username: Pa confirmar, per favor ingrese lo nombre d'usuario d'a cuenta actual
digest: Solo ninviau dimpués d'un largo periodo d'inactividat y nomás si has recibiu mensaches personals entre la tuya ausencia
email: Se le ninviará un correu de confirmación
- header: PNG, GIF u JPG. Maximo %{size}. Será escalau a %{dimensions}px
inbox_url: Copia la URL d'a pachina prencipal d'o relés que quiers utilizar
irreversible: Las publicacions filtradas desapareixerán irreversiblement, mesmo si este filtro ye eliminau mas abance
locale: L'idioma d'a interficie d'usuario, correus y notificacions push
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index 92e181a8e..896fcbf3f 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -39,14 +39,12 @@ ar:
text: يمكنك الطعن في عقوبة مرة واحدة فقط
defaults:
autofollow: سوف يتابعك تلقائيًا الأشخاص الذين يقومون بالتسجيل من خلال الدعوة
- avatar: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px
bot: يقوم هذا الحساب أساسا بإجراءات آلية وقد لا يتم مراقبته
context: واحد أو أكثر من السياقات التي يجب أن ينطبق عليها عامل التصفية
current_password: لأسباب أمنية ، يرجى إدخال الكلمة السرية الخاصة بالحساب الحالي
current_username: يرجى إدخال اسم المستخدم الخاص بالحساب الحالي قصد التأكيد
digest: تُرسَل إليك بعد مُضيّ مدة مِن خمول نشاطك و فقط إذا ما تلقيت رسائل شخصية مباشِرة أثناء فترة غيابك مِن الشبكة
email: سوف تتلقى رسالة إلكترونية للتأكيد
- header: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px
inbox_url: نسخ العنوان الذي تريد استخدامه مِن صفحة الاستقبال للمُرحَّل
irreversible: المنشورات التي تم تصفيتها ستختفي لا محالة حتى و إن تمت إزالة عامِل التصفية لاحقًا
locale: لغة واجهة المستخدم و الرسائل الإلكترونية و الإشعارات
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index 9b560b67e..e39696256 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -18,10 +18,8 @@ ast:
text: Pues usar la sintaxis de los artículos. Ten en cuenta l'espaciu que l'anunciu va ocupar na pantalla del usuariu/a
defaults:
autofollow: Les persones que se rexistren pente la invitación van siguite automáticamente
- avatar: Ficheros PNG, GIF o JPG de %{size} como muncho. La semeya va redimensionase a %{dimensions} px
bot: Avisa a otres persones de qu'esta cuenta fai principalmente aiciones automatizaes ya de que ye posible que nun tean supervisaes
digest: Namás s'unvia dempués d'un periodu llongu d'inactividá ya namás si recibiesti dalgún mensaxe personal demientres la to ausencia
- header: Ficheros PNG, GIF o JPG de %{size} como muncho. La semeya va redimensionase a %{dimensions} px
irreversible: Los artículos peñeraos desapaecen de forma irreversible, magar que la peñera se quite dempués
locale: La llingua de la interfaz, los mensaxes per corréu electrónicu ya los avisos push
password: Usa polo menos 8 caráuteres
diff --git a/config/locales/simple_form.be.yml b/config/locales/simple_form.be.yml
index 7ad87cdd9..e72d16a18 100644
--- a/config/locales/simple_form.be.yml
+++ b/config/locales/simple_form.be.yml
@@ -39,14 +39,14 @@ be:
text: Вы можаце абскардзіць рашэнне толькі адзін раз
defaults:
autofollow: Людзі, якія зарэгістраваліся праз запрашэнне, аўтаматычна падпішуцца на вас
- avatar: PNG, GIF ці JPG. Не больш за %{size}. Будзе сціснуты да памеру %{dimensions}} пікселяў
+ avatar: WEBP, PNG, GIF ці JPG. Не больш за %{size}. Будзе сціснуты да памеру %{dimensions}} пікселяў
bot: Паведаміць іншым, што гэты ўліковы запіс у асноўным выконвае аўтаматычныя дзеянні і можа не кантралявацца
context: Адзін ці некалькі кантэкстаў, да якіх трэба прымяніць фільтр
current_password: У мэтах бяспекі, калі ласка, увядзіце пароль бягучага ўліковага запісу
current_username: Каб пацвердзіць, увядзіце, калі ласка імя карыстальніка бягучага ўліковага запісу
digest: Будзе даслана толькі пасля доўгага перыяду неактыўнасці і толькі калі вы атрымалі асабістыя паведамленні падчас вашай адсутнасці
email: Пацвярджэнне будзе выслана па электроннай пошце
- header: PNG, GIF ці JPG. Не больш за %{size}. Будзе сціснуты да памеру %{dimensions}} пікселяў
+ header: WEBP, PNG, GIF ці JPG. Не больш за %{size}. Будзе сціснуты да памеру %{dimensions}} пікселяў
inbox_url: Капіраваць URL са старонкі рэтранслятара, якім вы хочаце карыстацца
irreversible: Адфільтраваныя пасты прападуць незваротна, нават калі фільтр потым будзе выдалены
locale: Мова карыстальніцкага інтэрфейсу, электронных паведамленняў і апавяшчэнняў
diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml
index a4637a681..831e1a2f8 100644
--- a/config/locales/simple_form.bg.yml
+++ b/config/locales/simple_form.bg.yml
@@ -9,7 +9,7 @@ bg:
indexable: Вашите обществени публикации може да се появят в резултатите от търсене в Mastodon. Взаимодействалите с публикациите ви може да ги търсят независимо.
note: 'Може да @споменавате други хора или #хаштагове.'
show_collections: Хората ще може да разглеждат през вашите последвания и последователи. Хората, които сте следвали, ще видят, че ги следвате независимо от това.
- unlocked: Хората ще може да ви следват без да се изисква одобрение. Размаркирайте, ако искате да преглеждате заявките за последване и изберете дали да приемете или отхвърлите новите последователи.
+ unlocked: Хората ще могат да ви последват без изискване на одобрение. Размаркирайте, ако искате да преглеждате заявките за последване и изберете дали да приемете или отхвърлите новите последователи.
account_alias:
acct: Посочете потребителско_име@домейн на акаунта си, от който искате да се преместите
account_migration:
@@ -39,14 +39,14 @@ bg:
text: Може да възразите срещу провинение само веднъж
defaults:
autofollow: Хората, които се регистрират чрез поканата, автоматично ще ви последват
- avatar: PNG, GIF или JPG. До най-много %{size}. Ще се смали до %{dimensions} пиксела
+ avatar: WEBP, PNG, GIF или JPG. До най-много %{size}. Ще се смали до %{dimensions} пиксела
bot: Сигнализиране до другите, че акаунтът изпълнява предимно автоматизирани деяния и може да не се наблюдава
context: Един или повече контексти, към които да се приложи филтърът
current_password: От съображения за сигурност, въведете паролата на текущия акаунт
current_username: Въведете потребителското име на текущия профил, за да потвърдите
digest: Изпраща се само след дълъг период на бездействие и само ако сте получили лични съобщения във ваше отсъствие
email: Ще ви се изпрати имейл за потвърждение
- header: PNG, GIF или JPG. До най-много %{size}. Ще се смали до %{dimensions} пиксела
+ header: WEBP, PNG, GIF или JPG. До най-много %{size}. Ще се смали до %{dimensions} пиксела
inbox_url: Копирайте URL адреса от заглавната страница на предаващия сървър, който искате да използвате
irreversible: Филтрираните публикации ще изчезнат безвъзвратно, дори филтърът да бъде премахнат по-късно
locale: Езикът на потребителския интерфейс, известиятата по имейл и насочените известия
diff --git a/config/locales/simple_form.br.yml b/config/locales/simple_form.br.yml
index 9e8aefad4..529e3224e 100644
--- a/config/locales/simple_form.br.yml
+++ b/config/locales/simple_form.br.yml
@@ -3,8 +3,8 @@ br:
simple_form:
hints:
defaults:
- avatar: PNG, GIF pe JPG. Brasoc'h eget %{size}. A vo izelaet betek %{dimensions}px
- header: PNG, GIF pe JPG. Brasoc'h eget %{size}. A vo izelaet betek %{dimensions}px
+ avatar: WEBP, PNG, GIF pe JPG. Bihanoc'h eget %{size}. A vo izelaet betek %{dimensions}px
+ header: WEBP, PNG, GIF pe JPG. Bihanoc'h eget %{size}. A vo izelaet betek %{dimensions}px
password: Implijit 8 lizherennoù d'an neubeutañ
setting_default_sensitive: Ar mediaoù kizidik a zo kuzhet dre ziouer ha gallout a reont bezañ diguzhet dre ur c'hlik
setting_display_media_default: Kuzhat mediaoù aroueziet evel kizidik
@@ -41,7 +41,7 @@ br:
email: Chomlec'h postel
expires_in: Mont war e dermen goude
header: Talbenn
- locale: Yezh ar c'hetal
+ locale: Yezh an etrefas
new_password: Ger-tremen nevez
note: Kinnig
password: Ger-tremen
@@ -49,6 +49,7 @@ br:
setting_display_media_default: Dre ziouer
setting_display_media_hide_all: Kuzhat pep tra
setting_display_media_show_all: Diskouez pep tra
+ setting_theme: Neuz al lec'hienn
setting_use_pending_items: Mod gorrek
title: Titl
username: Anv
@@ -73,6 +74,7 @@ br:
usable: Aotren an embannadurioù da implijout an hashtag-mañ
user:
role: Roll
+ time_zone: Gwerzhid eur
user_role:
name: Anv
'no': Ket
diff --git a/config/locales/simple_form.ckb.yml b/config/locales/simple_form.ckb.yml
index a6110e203..3c1d8315e 100644
--- a/config/locales/simple_form.ckb.yml
+++ b/config/locales/simple_form.ckb.yml
@@ -25,14 +25,12 @@ ckb:
text: دەتوانیت ڕستەسازی توت بەکار بێنیت. تکایە بیر لەو بۆشاییە بکەوە کە بانگەوازەکە لەسەر شاشەی بەکارهێنەرەکە دەست نیشان دەکات
defaults:
autofollow: ئەو کەسانەی کە لە ڕێگەی بانگهێشتکردنەوە تۆمار دەکرێن بە خۆکارانە شوێنت دەکەون
- avatar: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}px
bot: ئەم هەژمارە بەشێوەیەکی سەرەکی کردارە خۆکارانە ئەنجام دەدات و لەوانەیە چاودێری نەکرێت
context: یەک یان چەند دەقێک کە پالافتنەکە جێبەجێ بکات
current_password: بۆ مەبەستی پاراستن تکایە تێپەروشەی هەژمارەی ئێستاکەت بنووسە
current_username: بۆ دڵنیابوون، تکایە ناوی بەکارهێنەری ئەم هەژمارەیە بنووسە
digest: تەنیا دوای ماوەیەکی زۆر لە بێ چالاکیدەنێردرێت و تەنیا ئەگەر نامەیەکی کەسیت بۆ نووسرابێت
email: ئیمەیڵێکی پشتڕاستکردنەوەت بۆ دەنێردرێت
- header: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}پیکسێڵ
inbox_url: نیشانەی پەڕەی سەرەکی ئەو رێڵە کە هەرەکتە بەکاریببەیت ڕوونووس دەکات
irreversible: توتە فلتەرکراوەکە بە شێوەیەکی نەگەڕاو فرەدەدرێن، تەنانەت ئەگەر فلتەردواتر لاببرێت
locale: زمانی ڕووکاری بەکارهێنەر، ئیمەیلەکان و ئاگانامەکان
diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml
index fd6f595e9..dfec03346 100644
--- a/config/locales/simple_form.co.yml
+++ b/config/locales/simple_form.co.yml
@@ -23,14 +23,12 @@ co:
text: Pudete utilizà a sintassa di i statuti. Pensate à a piazza chì l'annunziu hà da piglià nant'à u screnu di l'utilizatore
defaults:
autofollow: Quelli·e chì s'arregistranu cù l'invitazione saranu autumaticamente abbunati·e à voi
- avatar: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px
bot: Stu contu hè autumatizatu è ùn hè forse micca survegliatu
context: Cuntestu·i induve u filtru deve esse applicatu
current_password: Per ragione di sicurità, entrate a chjave d'accessu di stu contu
current_username: Per cunfirmà, entrate u cugnome di questu contu
digest: Solu mandatu dopu à una longa perioda d’inattività, è solu s’elli ci sò novi missaghji diretti
email: Avete da riceve un'e-mail di cunfirmazione
- header: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px
inbox_url: Cupiate l'URL di a pagina d'accolta di u ripetitore chì vulete utilizà
irreversible: I statuti filtrati saranu sguassati di manera irreversibile, ancu s'ellu hè toltu u filtru
locale: A lingua di l'interfaccia utilizatore, di l'e-mail è di e nutificazione push
diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml
index dff937809..ca8cc49a9 100644
--- a/config/locales/simple_form.cs.yml
+++ b/config/locales/simple_form.cs.yml
@@ -3,9 +3,13 @@ cs:
simple_form:
hints:
account:
+ discoverable: Vaše veřejné příspěvky a profil mohou být zobrazeny nebo doporučeny v různých oblastech Mastodonu a váš profil může být navrhován ostatním uživatelům.
display_name: Vaše celé jméno nebo přezdívka.
fields: Vaše domovská stránka, zájmena, věk, cokoliv chcete.
+ indexable: Vaše veřejné příspěvky se mohou objevit ve výsledcích vyhledávání na Mastodonu. Lidé, kteří s vašimi příspěvky interagovaly, je mohou stále vyhledávat.
note: 'Můžete @zmínit jiné osoby nebo #hashtagy.'
+ show_collections: Lidé budou moci procházet skrz sledující. Lidé, které sledujete, uvidí, že je sledujete bezohledně.
+ unlocked: Lidé vás budou moci sledovat, aniž by vás žádali o schválení. Zrušte zaškrtnutí, pokud chcete zkontrolovat požadavky a zvolte, zda přijmete nebo odmítněte nové následovníky.
account_alias:
acct: Zadejte svůj účet, ze kterého se chcete přesunout jinam, ve formátu přezdívka@doména
account_migration:
@@ -34,15 +38,15 @@ cs:
appeal:
text: Proti prohřešku se můžete odvolat jen jednou
defaults:
- autofollow: Lidé, kteří se zaregistrují na základě pozvánky, vás budou automaticky sledovat
- avatar: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px
+ autofollow: Lidé, kteří se zaregistrují skrz pozvánky, vás budou automaticky sledovat
+ avatar: WEBP, PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px
bot: Signalizovat ostatním, že účet převážně vykonává automatizované akce a nemusí být monitorován
context: Jeden či více kontextů, ve kterých má být filtr uplatněn
current_password: Z bezpečnostních důvodů prosím zadejte heslo současného účtu
current_username: Potvrďte prosím tuto akci zadáním uživatelského jména aktuálního účtu
digest: Odesíláno pouze po dlouhé době nečinnosti a pouze, pokud jste během své nepřítomnosti obdrželi osobní zprávy
email: Bude vám poslán potvrzovací e-mail
- header: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px
+ header: WEBP, PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px
inbox_url: Zkopírujte URL z hlavní stránky mostu, který chcete použít
irreversible: Filtrované příspěvky nenávratně zmizí, i pokud bude filtr později odstraněn
locale: Jazyk uživatelského rozhraní, e-mailů a push notifikací
@@ -72,7 +76,7 @@ cs:
hide: Úplně schovat filtrovaný obsah tak, jako by neexistoval
warn: Schovat filtrovaný obsah za varováním zmiňujicím název filtru
form_admin_settings:
- activity_api_enabled: Počty lokálně publikovaných příspěvků, aktivních uživatelů a nových registrací v týdenních intervalech
+ activity_api_enabled: Počty lokálně zveřejnělých příspěvků, aktivních uživatelů a nových registrací v týdenních intervalech
backups_retention_period: Zachovat generované uživatelské archivy pro zadaný počet dní.
bootstrap_timeline_accounts: Tyto účty budou připnuty na vrchol nových uživatelů podle doporučení.
closed_registrations_message: Zobrazeno při zavření registrace
@@ -116,6 +120,9 @@ cs:
sessions:
otp: 'Zadejte kód pro dvoufázové ověření vygenerovaný vaší mobilní aplikací, nebo použijte jeden z vašich záložních kódů:'
webauthn: Pokud jde o USB klíč, vložte jej a případně se dotkněte jeho tlačítka.
+ settings:
+ indexable: Vaše profilová stránka se může objevit ve výsledcích vyhledávání na Google, Bingu a ostatních vyhledávačích.
+ show_application: I tak budete vždy moci vidět, která aplikace zveřejnila váš příspěvek.
tag:
name: Můžete měnit pouze velikost písmen, například kvůli lepší čitelnosti
user:
@@ -133,9 +140,13 @@ cs:
url: Kam budou události odesílány
labels:
account:
+ discoverable: Zobrazovat profil a příspěvky ve vyhledávacích algoritmech
fields:
name: Označení
value: Obsah
+ indexable: Zahrnout veřejné příspěvky do výsledků hledání
+ show_collections: Zobrazit koho sledujete a kdo vás sleduje v profilu
+ unlocked: Automaticky přijímat nové sledující
account_alias:
acct: Adresa starého účtu
account_migration:
@@ -280,9 +291,18 @@ cs:
pending_account: Je třeba posoudit nový účet
reblog: Někdo boostnul váš příspěvek
report: Je odesláno nové hlášení
+ software_updates:
+ all: Upozornit na všechny aktualizace
+ critical: Upozornit pouze na kritické aktualizace
+ label: Nová verze Mastodonu k dispozici
+ none: Nikdy neoznamovat aktualizace (nedoporučeno)
+ patch: Upozornit na aktualizace chyb
trending_tag: Nový trend vyžaduje posouzení
rule:
text: Pravidlo
+ settings:
+ indexable: Zahrnout stránku profilu do vyhledávačů
+ show_application: Zobrazit aplikaci, ze které jste odeslali příspěvek
tag:
listable: Povolit zobrazení tohoto hashtagu ve vyhledávání a návrzích
name: Hashtag
@@ -303,6 +323,7 @@ cs:
url: URL koncového bodu
'no': Ne
not_recommended: Nedoporučuje se
+ overridden: Přepsáno
recommended: Doporučeno
required:
mark: "*"
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index ddc1b1b93..3daedfc86 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -39,14 +39,14 @@ cy:
text: Dim ond unwaith y gallwch apelio yn erbyn rhybudd
defaults:
autofollow: Bydd pobl sy'n cofrestru drwy'r gwahoddiad yn eich dilyn yn awtomatig
- avatar: PNG, GIF neu JPG. %{size} yn uchafswm. Bydd yn cael ei israddio i %{dimensions}px
+ avatar: WEBP, PNG, GIF neu JPG. %{size} ar y mwyaf. Bydd yn cael ei leihau i %{dimensions}px
bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomatig yn bennaf ac mae'n bosib nad yw'n cael ei fonitro
context: Un neu fwy cyd-destun lle dylai'r hidlydd weithio
current_password: At ddibenion diogelwch, nodwch gyfrinair y cyfrif cyfredol
current_username: I gadarnhau, nodwch enw defnyddiwr y cyfrif cyfredol
digest: Ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb
email: Byddwch yn derbyn e-bost cadarnhau
- header: PNG, GIF neu JPG. %{size} ar y mwyaf. Bydd yn cael ei israddio i %{dimensions}px
+ header: WEBP, PNG, GIF neu JPG. %{size} ar y mwyaf. Bydd yn cael ei leihau i %{dimensions}px
inbox_url: Copïwch yr URL o dudalen flaen y relái yr ydych am ei ddefnyddio
irreversible: Bydd postiadau wedi'u hidlo'n diflannu'n ddiwrthdro, hyd yn oed os caiff yr hidlydd ei dynnu'n ddiweddarach
locale: Iaith y rhyngwyneb, e-byst a hysbysiadau gwthiadwy
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 0d86b2bc8..fde0bcc24 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -39,14 +39,14 @@ da:
text: En advarsel kan kun appelleres én gang
defaults:
autofollow: Personer tilmeldt via invitationen vil automatisk blive følgere
- avatar: PNG, GIF eller JPG. Maks. %{size}. Auto-nedskaleres til %{dimensions}px
+ avatar: WEBP, PNG, GIF eller JPG. Maks. %{size}. Nedskaleres til %{dimensions}px
bot: Signalér til andre, at denne konto primært udfører automatiserede handlinger og muligvis ikke monitoreres
context: En eller flere kontekster, hvor filteret skal anvendes
current_password: Angiv af sikkerhedsårsager adgangskoden til den aktuelle konto
current_username: For at bekræfte, angiv brugernavnet for den aktuelle konto
digest: Sendes kun efter en lang inaktivitetsperiode, og kun hvis du har modtaget personlige beskeder under fraværet
email: En bekræftelses-e-mail fremsendes
- header: PNG, GIF eller JPG. Maks. %{size}. Auto-nedskaleres til %{dimensions}px
+ header: WEBP, PNG, GIF eller JPG. Maks. %{size}. Nedskaleres til %{dimensions}px
inbox_url: Kopiér URL'en fra forsiden af den videreformidler, der skal anvendes
irreversible: Filtrerede indlæg forsvinder permanent, selv hvis filteret senere fjernes
locale: Sprog til brug for brugerflade, e-mails og push-notifikationer
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index fcf92e29f..b8fec42d6 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -39,14 +39,14 @@ de:
text: Du kannst nur einmal Einspruch gegen eine Maßnahme einlegen
defaults:
autofollow: Personen, die sich über deine Einladung registrieren, folgen automatisch deinem Profil
- avatar: PNG, GIF oder JPG. Höchstens %{size} groß. Wird auf %{dimensions} px verkleinert
+ avatar: WEBP, PNG, GIF oder JPG. Höchstens %{size} groß. Wird auf %{dimensions} px verkleinert
bot: Signalisiert, dass dieses Konto hauptsächlich automatisierte Aktionen durchführt und möglicherweise nicht persönlich betreut wird
context: Orte, an denen der Filter aktiv sein soll
current_password: Gib aus Sicherheitsgründen bitte das Passwort des aktuellen Kontos ein
current_username: Um das zu bestätigen, gib den Profilnamen des aktuellen Kontos ein
digest: Wenn du eine längere Zeit inaktiv bist oder du während deiner Abwesenheit in einer privaten Nachricht erwähnt worden bist
email: Du wirst eine E-Mail zur Verifizierung dieser E-Mail-Adresse erhalten
- header: PNG, GIF oder JPG. Höchstens %{size} groß. Wird auf %{dimensions} px verkleinert
+ header: WEBP, PNG, GIF oder JPG. Höchstens %{size} groß. Wird auf %{dimensions} px verkleinert
inbox_url: Kopiere die URL von der Startseite des gewünschten Relays
irreversible: Bereinigte Beiträge verschwinden unwiderruflich für dich, auch dann, wenn dieser Filter zu einem späteren wieder entfernt wird
locale: Die Sprache der Bedienoberfläche, E-Mails und Push-Benachrichtigungen
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index dc140a199..4ffc496d0 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -31,14 +31,12 @@ el:
text: Μπορείς να κάνετε έφεση σε ένα παράπτωμα μόνο μία φορά
defaults:
autofollow: Όσοι εγγραφούν μέσω της πρόσκλησης θα σε ακολουθούν αυτόματα
- avatar: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px
bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται
context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο
current_password: Για λόγους ασφαλείας παρακαλώ γράψε τον κωδικό του τρέχοντος λογαριασμού
current_username: Για επιβεβαίωση, παρακαλώ γράψε το όνομα χρήστη του τρέχοντος λογαριασμού
digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου
email: Θα σου σταλεί email επιβεβαίωσης
- header: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px
inbox_url: Αντέγραψε το URL της αρχικής σελίδας του ανταποκριτή που θέλεις να χρησιμοποιήσεις
irreversible: Οι φιλτραρισμένες αναρτήσεις θα εξαφανιστούν αμετάκλητα, ακόμα και αν το φίλτρο αργότερα αφαιρεθεί
locale: Η γλώσσα χρήσης, των email και των ειδοποιήσεων push
diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml
index f0c18d112..2ac4508b0 100644
--- a/config/locales/simple_form.en-GB.yml
+++ b/config/locales/simple_form.en-GB.yml
@@ -39,14 +39,12 @@ en-GB:
text: You can only appeal a strike once
defaults:
autofollow: People who sign up through the invite will automatically follow you
- avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
bot: Signal to others that the account mainly performs automated actions and might not be monitored
context: One or multiple contexts where the filter should apply
current_password: For security purposes please enter the password of the current account
current_username: To confirm, please enter the username of the current account
digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence
email: You will be sent a confirmation e-mail
- header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
inbox_url: Copy the URL from the frontpage of the relay you want to use
irreversible: Filtered posts will disappear irreversibly, even if filter is later removed
locale: The language of the user interface, e-mails and push notifications
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 0b718c5b6..7ece81290 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -39,14 +39,14 @@ en:
text: You can only appeal a strike once
defaults:
autofollow: People who sign up through the invite will automatically follow you
- avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
+ avatar: WEBP, PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
bot: Signal to others that the account mainly performs automated actions and might not be monitored
context: One or multiple contexts where the filter should apply
current_password: For security purposes please enter the password of the current account
current_username: To confirm, please enter the username of the current account
digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence
email: You will be sent a confirmation e-mail
- header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
+ header: WEBP, PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
inbox_url: Copy the URL from the frontpage of the relay you want to use
irreversible: Filtered posts will disappear irreversibly, even if filter is later removed
locale: The language of the user interface, e-mails and push notifications
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index d25412561..ef4641d3e 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -39,14 +39,12 @@ eo:
text: Oni povas apelaci strikin nur unufoje
defaults:
autofollow: Homoj, kiuj registriĝos per la invito aŭtomate sekvos vin
- avatar: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px
bot: Tiu konto ĉefe faras aŭtomatajn agojn, kaj povas esti ne kontrolata
context: Unu ol pluraj kuntekstoj kie la filtrilo devus agi
current_password: Pro sekuraj kialoj, bonvolu enigi la pasvorton de la nuna konto
current_username: Por konfirmi, bonvolu enigi la uzantnomon de la nuna konto
digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto
email: Vi ricevos konfirman retpoŝton
- header: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px
inbox_url: Kopiu la URL de la ĉefpaĝo de la ripetilo, kiun vi volas uzi
irreversible: La filtritaj mesaĝoj malaperos por eterne, eĉ se la filtrilo poste estas forigita
locale: La lingvo de la fasado, retpoŝtaĵoj, kaj sciigoj
diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml
index 9b52ece34..a07409131 100644
--- a/config/locales/simple_form.es-AR.yml
+++ b/config/locales/simple_form.es-AR.yml
@@ -39,14 +39,14 @@ es-AR:
text: Sólo podés apelar un incumplimiento una vez
defaults:
autofollow: Los usuarios que se registren mediante la invitación te seguirán automáticamente
- avatar: 'PNG, GIF o JPG. Máximo: %{size}. Será subescalado a %{dimensions} píxeles.'
+ avatar: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada
context: Uno o múltiples contextos en los que debe aplicarse el filtro
current_password: Por razones de seguridad, por favor, ingresá la contraseña de la cuenta actual
current_username: Para confirmar, por favor, ingresá el nombre de usuario de la cuenta actual
digest: Sólo enviado tras un largo periodo de inactividad, y sólo si recibiste mensajes personales en tu ausencia
email: Se te enviará un correo electrónico de confirmación
- header: 'PNG, GIF o JPG. Máximo: %{size}. Será subescalado a %{dimensions} píxeles.'
+ header: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
inbox_url: Copiá la dirección web desde la página principal del relé que querés usar
irreversible: Los mensajes filtrados desaparecerán irreversiblemente, incluso si este filtro es eliminado después
locale: El idioma de la interface de usuario, correos electrónicos y notificaciones push
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index 932ed6c59..d8f1cf95a 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -39,14 +39,14 @@ es-MX:
text: Sólo puede apelar una amonestación a la vez
defaults:
autofollow: Los usuarios que se registren mediante la invitación te seguirán automáticamente
- avatar: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
+ avatar: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada
context: Uno o múltiples contextos en los que debe aplicarse el filtro
current_password: Por razones de seguridad por favor ingrese la contraseña de la cuenta actual
current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual
digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia
email: Se le enviará un correo de confirmación
- header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
+ header: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
inbox_url: Copia la URL de la página principal del relés que quieres utilizar
irreversible: Los toots filtrados desaparecerán irreversiblemente, incluso si este filtro es eliminado más adelante
locale: El idioma de la interfaz de usuario, correos y notificaciones push
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 997f09bf0..fee260aa8 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -11,9 +11,9 @@ es:
show_collections: Las personas podrán navegar a través de tus seguidos y seguidores. Esto no impide que las personas que sigues sepan que las estás siguiendo.
unlocked: Las personas podrán seguirte sin pedir aprobación. Desmarca si deseas revisar las solicitudes de seguimiento y aceptar o rechazar nuevos seguidores.
account_alias:
- acct: Especifique su nombre de usuario@dominio de la cuenta de donde se desea migrar
+ acct: Especifica el nombre_de_usuario@dominio de la cuenta desde donde deseas migrar
account_migration:
- acct: Especifique el nombre de usuario@dominio de la cuenta de la cual se desea migrar
+ acct: Especifica el nombre_de_usuario@dominio de la cuenta hacia la que quieres migrar
account_warning_preset:
text: Puede usar sintaxis de publicaciones, como URLs, hashtags y menciones
title: Opcional. No es visible para el destinatario
@@ -21,14 +21,14 @@ es:
include_statuses: El usuario verá qué publicaciones han causado la acción de moderación o advertencia
send_email_notification: El usuario recibirá una explicación de lo que ha sucedido con su cuenta
text_html: Opcional. Puede usar sintaxis de publicaciones. Puede añadir configuraciones predefinidas de advertencia para ahorrar tiempo
- type_html: Elige lo qué vas a hacer con %{acct}
+ type_html: Elige lo que vas a hacer con %{acct}
types:
disable: Evita que el usuario utilice su cuenta, pero no elimina ni oculta sus contenidos.
- none: Utilizar esto para enviar una advertencia al usuario, sin poner en marcha ninguna otra acción.
+ none: Utiliza esto para enviar una advertencia al usuario, sin ejecutar ninguna otra acción.
sensitive: Forzar que todos los archivos multimedia de este usuario sean marcados como sensibles.
silence: Evita que el usuario pueda publicar con visibilidad pública, y oculta sus mensajes y notificaciones a personas que no lo siguen. Cierra todos los informes contra esta cuenta.
suspend: Evita cualquier interacción desde o hacia esta cuenta y elimina su contenido. Reversible en 30 días. Cierra todos los informes contra esta cuenta.
- warning_preset_id: Opcional. Aún puede añadir texto personalizado al final de la configuración predefinida
+ warning_preset_id: Opcional. Aún puedes añadir texto personalizado al final de la configuración predefinida
announcement:
all_day: Cuando está seleccionado solo se mostrarán las fechas del rango de tiempo
ends_at: Opcional. El anuncio desaparecerá automáticamente en este momento
@@ -36,17 +36,17 @@ es:
starts_at: Opcional. En caso de que su anuncio esté vinculado a un intervalo de tiempo específico
text: Puedes usar la sintaxis de publicaciones. Por favor ten en cuenta el espacio que ocupará el anuncio en la pantalla del usuario
appeal:
- text: Sólo puedes apelar una amonestación una vez
+ text: Solo puedes apelar la amonestación una vez
defaults:
autofollow: Los usuarios que se registren mediante la invitación te seguirán automáticamente
- avatar: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
+ avatar: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada
context: Uno o múltiples contextos en los que debe aplicarse el filtro
current_password: Por razones de seguridad por favor ingrese la contraseña de la cuenta actual
current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual
digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia
email: Se le enviará un correo de confirmación
- header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
+ header: WEBP, PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
inbox_url: Copia la URL de la página principal del relés que quieres utilizar
irreversible: Las publicaciones filtradas desaparecerán irreversiblemente, incluso si este filtro es eliminado más adelante
locale: El idioma de la interfaz de usuario, correos y notificaciones push
diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml
index 501e1f333..15cf403cf 100644
--- a/config/locales/simple_form.et.yml
+++ b/config/locales/simple_form.et.yml
@@ -39,14 +39,12 @@ et:
text: Otsust on võimalik vaidlustada vaid 1 kord
defaults:
autofollow: Inimesed, kes loovad konto selle kutse läbi, automaatselt jälgivad sind
- avatar: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
bot: Teavita teisi, et see konto teeb enamjaolt automatiseeritud tegevusi ja ei pruugi olla järelvalve all
context: Üks või mitu konteksti, mille vastu see filter peaks rakenduma
current_password: Sisesta turvalisuse huvides oma siinse konto salasõna
current_username: Kinnitamiseks palun sisesta oma konto kasutajanimi
digest: Saadetakse ainult pärast pikka tegevusetuse perioodi ja ainult siis, kui on saadetud otsesõnumeid
email: Sulle saadetakse e-posti teel kinnituskiri
- header: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
inbox_url: Kopeeri soovitud vahendaja avalehe URL
irreversible: Filtreeritud postitused kaovad taastamatult, isegi kui filter on hiljem eemaldatud
locale: Kasutajaliidese, e-kirjade ja tõuketeadete keel
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index ffd3081c9..b417b45fa 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -39,14 +39,14 @@ eu:
text: Neurri bati apelazioa behin bakarrik jarri diezaiokezu
defaults:
autofollow: Gonbidapena erabiliz izena ematen dutenek automatikoki jarraituko dizute
- avatar: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px neurrira eskalatuko da
+ avatar: WEBP, GIF edo JPG. Gehienez %{size}. %{dimensions}px neurrira eskalatuko da
bot: Kontu honek nagusiki automatizatutako ekintzak burutzen ditu eta agian ez du inork monitorizatzen
context: Iragazkia aplikatzeko testuinguru bat edo batzuk
current_password: Segurtasunagatik sartu uneko kontuaren pasahitza
current_username: Berresteko sartu uneko kontuaren erabiltzaile-izena
digest: Jarduerarik gabeko epe luze bat eta gero mezu pertsonalen bat jaso baduzu soilik
email: Baieztapen e-mail bat bidaliko zaizu
- header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da
+ header: WEBP, GIF edo JPG. Gehienez %{size}. %{dimensions}px neurrira eskalatuko da
inbox_url: Kopiatu erabili nahi duzun errelearen hasiera orriaren URLa
irreversible: Iragazitako tootak betirako galduko dira, geroago iragazkia kentzen baduzu ere
locale: Erabiltzaile-interfazea, e-mail mezuen eta jakinarazpenen hizkuntza
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index 23fbc43b0..a312e5aa1 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -39,14 +39,12 @@ fa:
text: فقط یک بار میتوانید برای اخطار درخواست تجدیدنظر کنید
defaults:
autofollow: کسانی که از راه دعوتنامه عضو میشوند به طور خودکار پیگیر شما خواهند شد
- avatar: یکی از قالبهای PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
bot: این حساب بیشتر به طور خودکار فعالیت میکند و نظارت پیوستهای روی آن وجود ندارد
context: یک یا چند زمینه که پالایه باید در آنها اعمال شود
current_password: به دلایل امنیتی لطفاً گذرواژه این حساب را وارد کنید
current_username: برای تأیید، لطفاً نام کاربری حساب فعلی را وارد کنید
digest: تنها وقتی فرستاده میشود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصیای نوشته شده باشد
email: به شما ایمیل تأییدی فرستاده خواهد شد
- header: یکی از قالبهای PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
inbox_url: نشانی صفحهٔ اصلی رلهای را که میخواهید به کار ببرید کپی کنید
irreversible: فرستههای پالوده به طور برگشتناپذیری ناپدید میشوند، حتا اگر بعدها پالایه برداشته شود
locale: زبان واسط کاربری، رایانامهها و آگاهیهای ارسالی
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index d208feed6..96bf11ef2 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -39,14 +39,14 @@ fi:
text: Voit valittaa varoituksesta vain kerran
defaults:
autofollow: Henkilöt, jotka rekisteröityvät kutsun kautta, seuraavat sinua automaattisesti
- avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
+ avatar: WEBP, PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
bot: Tämä tili suorittaa enimmäkseen automaattisia toimintoja eikä sitä ehkä valvota
context: Ainakin yksi konteksti, jossa suodattimen pitäisi olla voimassa
current_password: Turvallisuussyistä kirjoita nykyisen tilin salasana
current_username: Vahvista kirjoittamalla nykyisen tilin käyttäjänimi
digest: Lähetetään vain pitkän poissaolon jälkeen ja vain, jos olet saanut suoria viestejä poissaolosi aikana
email: Sinulle lähetetään vahvistussähköposti
- header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
+ header: WEBP, PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
inbox_url: Kopioi URL-osoite haluamasi välittäjän etusivulta
irreversible: Suodatetut julkaisut katoavat lopullisesti, vaikka suodatin poistettaisiin myöhemmin
locale: Käyttöliittymän, sähköpostien ja puskuilmoitusten kieli
diff --git a/config/locales/simple_form.fo.yml b/config/locales/simple_form.fo.yml
index e4d87e178..003eede25 100644
--- a/config/locales/simple_form.fo.yml
+++ b/config/locales/simple_form.fo.yml
@@ -39,14 +39,14 @@ fo:
text: Tú kanst bara kæra eina atsókn eina ferð
defaults:
autofollow: Fólk, sum tilmelda seg gjøgnum innbjóðingina, fylgja tær sjálvvirkandi
- avatar: PNG, GIF ella JPG. Ikki størri enn %{size}. Verður minkað til %{dimensions}px
+ avatar: WEBP, PNG, GIF ella JPG. Í mesta lagi %{size}. Verður minkað til %{dimensions}px
bot: Tekin til onnur, at kontan í høvuðsheitum ger sjálvvirkandi atgerðir og møguliga ikki verður yvirvakað
context: Ein ella fleiri kontekstir, har sum filtrið skal brúkast
current_password: Av trygdarávum vinarliga les inn loyniorðið hjá verandi kontu
current_username: Fyri at vátta, vinarliga les inn brúkaranavnið á verandi kontu
digest: Einans sent eftir eitt langt tíðarskeið við óvirkni og einans um tú hevur móttikið persónlig boð meðan tú var burtur
email: Tú fær sendandi ein váttanarteldupost
- header: PNG, GIF ella JPG. Ikki størri enn %{size}. Verður minkað til %{dimensions}px
+ header: WEBP, PNG, GIF ella JPG. Í mesta lagi %{size}. Verður minkað til %{dimensions}px
inbox_url: Avrita URL'in frá forsíðuni hjá reiðlagnum, sum tú vilt brúka
irreversible: Filtreraðir postar blíva burtur med alla, eisini sjálvt um filtrið seinni verður strikað
locale: Málið, sum verður brúkt í brúkaramarkamótinum, teldupostum og skumpiboðum
diff --git a/config/locales/simple_form.fr-CA.yml b/config/locales/simple_form.fr-CA.yml
index f5a2a428e..a4e57841e 100644
--- a/config/locales/simple_form.fr-CA.yml
+++ b/config/locales/simple_form.fr-CA.yml
@@ -39,14 +39,14 @@ fr-CA:
text: Vous ne pouvez faire appel d'une sanction qu'une seule fois
defaults:
autofollow: Les personnes qui s’inscrivent grâce à l’invitation vous suivront automatiquement
- avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
+ avatar: WEBP, PNG, GIF ou JPG. Au plus %{size}. Sera réduit à %{dimensions}px
bot: Signale aux autres que ce compte exécute principalement des actions automatisées et pourrait ne pas être surveillé
context: Un ou plusieurs contextes où le filtre devrait s’appliquer
current_password: Par mesure de sécurité, veuillez saisir le mot de passe de ce compte
current_username: Pour confirmer, veuillez saisir le nom d'utilisateur de ce compte
digest: Uniquement envoyé après une longue période d’inactivité en cas de messages personnels reçus pendant votre absence
email: Vous recevrez un courriel de confirmation
- header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
+ header: WEBP, PNG, GIF ou JPG. Au plus %{size}. Sera réduit à %{dimensions}px
inbox_url: Copiez l’URL depuis la page d’accueil du relai que vous souhaitez utiliser
irreversible: Les messages filtrés disparaîtront irrévocablement, même si le filtre est supprimé plus tard
locale: La langue de l’interface, des courriels et des notifications
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 5a74facb7..bd1dc6885 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -39,14 +39,14 @@ fr:
text: Vous ne pouvez faire appel d'une sanction qu'une seule fois
defaults:
autofollow: Les personnes qui s’inscrivent grâce à l’invitation vous suivront automatiquement
- avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
+ avatar: WEBP, PNG, GIF ou JPG. Au plus %{size}. Sera réduit à %{dimensions}px
bot: Signale aux autres que ce compte exécute principalement des actions automatisées et pourrait ne pas être surveillé
context: Un ou plusieurs contextes où le filtre devrait s’appliquer
current_password: Par mesure de sécurité, veuillez saisir le mot de passe de ce compte
current_username: Pour confirmer, veuillez saisir l’identifiant de ce compte
digest: Uniquement envoyé après une longue période d’inactivité en cas de messages personnels reçus pendant votre absence
email: Vous recevrez un courriel de confirmation
- header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
+ header: WEBP, PNG, GIF ou JPG. Au plus %{size}. Sera réduit à %{dimensions}px
inbox_url: Copiez l’URL depuis la page d’accueil du relais que vous souhaitez utiliser
irreversible: Les messages filtrés disparaîtront irrévocablement, même si le filtre est supprimé plus tard
locale: La langue de l’interface, des courriels et des notifications
diff --git a/config/locales/simple_form.fy.yml b/config/locales/simple_form.fy.yml
index f506b7925..8cedc3b1d 100644
--- a/config/locales/simple_form.fy.yml
+++ b/config/locales/simple_form.fy.yml
@@ -39,14 +39,12 @@ fy:
text: Jo kinne mar ien kear beswier yntsjinje tsjin in fêststelde oertrêding
defaults:
autofollow: Minsken dy’t harren fia de útnûging registrearre hawwe, folgje jo automatysk
- avatar: PNG, GIF of JPG. Maksimaal %{size}. Wurdt weromskeald nei %{dimensions}px
bot: Sinjaal nei oare brûkers ta dat dizze account yn haadsaak automatisearre berjochten stjoert en mooglik net kontrolearre wurdt
context: Ien of meardere lokaasjes wêr’t it filter aktyf wêze moat
current_password: Fier foar feilichheidsredenen it wachtwurd fan jo aktuele account yn
current_username: Fier ta befêstiging de brûkersnamme fan jo aktuele account yn
digest: Wurdt allinnich nei in lange perioade fan ynaktiviteit ferstjoerd en allinnich wannear’t jo wylst jo ôfwêzigens persoanlike berjochten ûntfongen hawwe
email: Jo krije in befêstigings-e-mailberjocht
- header: PNG, GIF of JPG. Maksimaal %{size}. Wurdt weromskeald nei %{dimensions}px
inbox_url: Kopiearje de URL fan de foarside fan de relayserver dy’t jo brûke wolle
irreversible: Filtere berjochten ferdwine definityf, sels as it filter letter fuortsmiten wurdt
locale: De taal fan de brûkersomjouwing, e-mailberjochten en pushmeldingen
diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml
index a38dd43ad..7941ac334 100644
--- a/config/locales/simple_form.gd.yml
+++ b/config/locales/simple_form.gd.yml
@@ -39,14 +39,12 @@ gd:
text: Chan urrainn dhut ath-thagradh a dhèanamh air rabhadh ach aon turas
defaults:
autofollow: Leanaidh na daoine a chlàraicheas leis a cuireadh thu gu fèin-obrachail
- avatar: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px
bot: Comharraich do chàch gu bheil an cunntas seo ri gnìomhan fèin-obrachail gu h-àraidh is dh’fhaoidte nach doir duine sam bith sùil air idir
context: Na co-theacsaichean air am bi a’ chriathrag an sàs
current_password: A chùm tèarainteachd, cuir a-steach facal-faire a’ chunntais làithrich
current_username: Airson seo a dhearbhadh, cuir a-steach ainm-cleachdaiche a’ chunntais làithrich
digest: Cha dèid seo a chur ach nuair a bhios tu air ùine mhòr gun ghnìomh a ghabhail agus ma fhuair thu teachdaireachd phearsanta fhad ’s a bha thu air falbh
email: Thèid post-d dearbhaidh a chur thugad
- header: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px
inbox_url: Dèan lethbhreac dhen URL o phrìomh-dhuilleag an ath-sheachadain a bu mhiann leat cleachdadh
irreversible: Thèid postaichean criathraichte à sealladh gu buan fiù ’s ma bheir thu a’ chriathrag air falbh às dèidh làimhe
locale: Cànan eadar-aghaidh a’ chleachdaiche, nam post-d ’s nam brathan putaidh
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index 7bafca6b7..719da8eef 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -39,14 +39,14 @@ gl:
text: Só podes apelar a decisión unha vez
defaults:
autofollow: As persoas que se conectaron a través dun convite seguirante automáticamente
- avatar: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
+ avatar: WEBP, PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
bot: Advirte ás usuarias de que esta conta realiza principalmente accións automatizadas e podería non estar monitorizada
context: Un ou varios contextos onde se debería aplicar o filtro
current_password: Por razóns de seguridade, introduce o contrasinal da conta actual
current_username: Para confirmar, introduce o nome de usuaria da conta actual
digest: Enviar só tras un longo período de inactividade e só se recibiches algunha mensaxe directa na tua ausencia
email: Ímosche enviar un correo de confirmación
- header: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
+ header: WEBP, PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
inbox_url: Copiar o URL desde a páxina de inicio do repetidor que queres utilizar
irreversible: As publicacións filtradas desaparecerán de xeito irreversible, incluso se despois se elimina o filtro
locale: O idioma da interface de usuaria, correos e notificacións
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index 0a8a57c34..3d7512c5f 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -39,14 +39,14 @@ he:
text: ניתן לערער על עברה רק פעם אחת
defaults:
autofollow: אנשים שיצטרפו בעזרת ההזמנה יעקבו אחריך באופן אוטומטי
- avatar: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן ל-%{dimensions}px
+ avatar: WEBP, PNG, GIF או JPG. גודל מירבי %{size}. גודל התמונה יוקטן ל־%{dimensions} פיקסלים
bot: איתות לאחרים שהחשבון מבצע בעיקר פעולות אוטומטיות ועשוי לא להיות מנוטר
context: הקשר אחד או יותר בהם יופעל המסנן
current_password: מסיבות אבטחה נא להזין את הסיסמא של החשבון הנוכחי
current_username: על מנת לאשר, נא להכניס את שם המשתמש של החשבון הנוכחי
digest: נשלח לאחר תקופה ארוכה של אי-פעילות עם סיכום איזכורים שקיבלת בהעדרך
email: דוא"ל אישור יישלח אליך
- header: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן %{dimensions}px
+ header: WEBP, PNG, GIF או JPG. גודל מירבי %{size}. גודל התמונה יוקטן ל־%{dimensions} פיקסלים
inbox_url: נא להעתיק את הקישורית מדף הבית של הממסר בו תרצה/י להשתמש
irreversible: הודעות מסוננות יעלמו באופן בלתי הפיך, אפילו אם מאוחר יותר יוסר המסנן
locale: שפת ממשק המשתמש, הדוא"ל וההתראות בדחיפה
diff --git a/config/locales/simple_form.hr.yml b/config/locales/simple_form.hr.yml
index 3db4fd3b4..ea40543c5 100644
--- a/config/locales/simple_form.hr.yml
+++ b/config/locales/simple_form.hr.yml
@@ -8,8 +8,6 @@ hr:
title: Proizvoljno. Nije vidljivo primatelju
defaults:
autofollow: Ljudi koji se registriraju kroz pozivnicu će te automatski slijediti
- avatar: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjeno na %{dimensions}px
- header: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjeno na %{dimensions}px
password: Mora biti najmanje 8 znakova
setting_display_media_default: Sakrij medijski sadržaj označen kao osjetljiv
setting_display_media_hide_all: Uvijek sakrij medijski sadržaj
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index 6e11f7fb9..573809c73 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -39,14 +39,14 @@ hu:
text: Egy vétséget csak egyszer fellebbezhetsz meg
defaults:
autofollow: Akik meghívón keresztül regisztrálnak, automatikusan követni fognak téged
- avatar: PNG, GIF vagy JPG. Maximum %{size}. Átméretezzük %{dimensions} pixelre
+ avatar: WEBP, PNG, GIF vagy JPG. Legfeljebb %{size}. Át lesz méretezve %{dimensions} képpontosra.
bot: Ez a fiók automatikus műveleteket végez és valószínűleg nem figyeljük
context: Kontextusok, ahol a szűrőnek működnie kell
current_password: Biztonsági okok miatt kérlek, írd be a jelenlegi fiók jelszavát
current_username: A jóváhagyáshoz írd be a jelenlegi fiók felhasználói nevét
digest: Csak hosszú távollét esetén küldődik és csak ha személyes üzenetet kaptál távollétedben
email: Kapsz egy megerősítő e-mailt
- header: PNG, GIF vagy JPG. Maximum %{size}. Átméretezzük %{dimensions} pixelre
+ header: WEBP, PNG, GIF vagy JPG. Legfeljebb %{size}. Át lesz méretezve %{dimensions} képpontosra.
inbox_url: Másold ki a használandó relé szerver kezdőoldalának URL-jét
irreversible: A kiszűrt bejegyzések visszafordíthatatlanul eltűnnek, a szűrő későbbi törlése esetén is
locale: A felhasználói felület, e-mailek, push üzenetek nyelve
diff --git a/config/locales/simple_form.hy.yml b/config/locales/simple_form.hy.yml
index 9dbcd1301..0525f2d6f 100644
--- a/config/locales/simple_form.hy.yml
+++ b/config/locales/simple_form.hy.yml
@@ -23,14 +23,12 @@ hy:
text: Կարող ես օգտագործել գրառման առանձնայատկութիւնը։ Խնդրում ենք, լինել խելամիտ յայտարարութեան տարածքն օգտագործելիս, այն յայտնուելու է օգտատիրոջ էկրանին
defaults:
autofollow: Հրաւէրի միջոցով գրանցուող մարդիկ կը հետեւեն քեզ
- avatar: PNG, GIF կամ JPG։ Առաւելագոյնը՝ %{size}։ Կը փոքրացուի մինչեւ %{dimensions}
bot: Այս հաշիւը հիմնականում կատարում է աւտօմատացուած գործողութւնները եւ գուցէ չի վերայսկուում
context: Մէկ կամ մի քանի կոնտեքստներ, որտեղ պէտք է կիրառուի զտիչ
current_password: Անվտանգութեան նկատառումներից ելնելով, խնդրում ենք մուտքագրել տուել հաշուի ծածկագիրը
current_username: Հաստատելու համար խնդրում ենք մուտքագրել տուել հաշուի օգտանունը
digest: Ուղարկուում է պասիւութեան երկար շրջանից յետոյ եւ միայն այն դէպքում, երբ բացակայութեանդ ժամանակ որեւէ անձնական հաղորդագրութիւն ես ստացել
email: Քեզ ուղարկուել է հաստատման իմակ
- header: PNG, GIF կամ JPG։ Առաւելագոյնը՝ %{size}։ Կը փոքրացուի մինչեւ %{dimensions}
inbox_url: Պատճէնիր URL այն շերտի դիմերեսից, որը ցանկանում ես օգտագործել
irreversible: Զտուած գրառումները կորչելու են անդառնալիօրէն, նոյնիսկ եթէ զտիչը յետոյ հեռացնես
locale: Ինտերֆեյսի լեզուն, էլ. նամակները եւ push ծանուցումները
diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml
index 51046ce9d..8b9e74406 100644
--- a/config/locales/simple_form.id.yml
+++ b/config/locales/simple_form.id.yml
@@ -29,14 +29,12 @@ id:
text: Anda hanya dapat mengajukan banding peringatan sekali
defaults:
autofollow: Orang yang ingin mendaftar lewat undangan, otomatis mengikuti Anda
- avatar: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px
bot: Akun ini melakukan aksi otomatis dan mungkin tak termonitor
context: Satu atau lebih konteks tempat saringan perlu diterapkan
current_password: Untuk tujuan keamanan mohon masukkan kata sandi akun ini
current_username: Untuk konfirmasi, mohon masukkan nama pengguna akun ini
digest: Hanya kirim setelah lama tidak aktif dan hanya jika Anda menerima pesan personal atas absensi Anda
email: Anda akan dikirimi email konfirmasi
- header: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px
inbox_url: Salin URL dari halaman depan relai yang ingin Anda pakai
irreversible: Toot tersaring akan hilang permanen bahkan jika saringan dihapus kemudian
locale: Bahasa antar muka pengguna, email, dan notifikasi dorong
diff --git a/config/locales/simple_form.ie.yml b/config/locales/simple_form.ie.yml
index dfd083641..3cf5c33f2 100644
--- a/config/locales/simple_form.ie.yml
+++ b/config/locales/simple_form.ie.yml
@@ -39,14 +39,14 @@ ie:
text: Tu posse apellar un admoniment solmen un vez
defaults:
autofollow: Persones qui adherer per li invitation va sequer te automaticmen
- avatar: PNG, GIF o JPEG. Admaxim %{size}. Li grandore va esser contraet a %{dimensions}px
+ avatar: WEBP, PNG, GIF o JPG, con un maximum de %{size}. Va esser diminuet a %{dimensions}px
bot: Dir a altres que li conto primarimen far automatic actiones e que fórsan null homan vigila it
context: Un o multiplic contextus u li filtre deve aplicar
current_password: Por securital rasones, ples introducter li passa-parol del actual conto
current_username: Por confirmar, ples inmetter li usator-nómine del actual conto
digest: Misset solmen pos un long periode de ínactivitá e solmen si tu ha recivet quelcunc missages personal in tui inbuxe
email: On va misser te un email de confirmation
- header: PNG, GIF o JPEG. Admaxim %{size}. Li grandore va esser contraet a %{dimensions}px
+ header: WEBP, PNG, GIF o JPG, con un maximum de %{size}. Va esser diminuet a %{dimensions}px
inbox_url: Copiar li URL del initial págine del relé quel tu vole usar
irreversible: Filtrat postas va desaparir ínreversibilmen, mem si li filtre es removet plu tard
locale: Li lingue del usator-interfacie, emails e notificationes push
diff --git a/config/locales/simple_form.io.yml b/config/locales/simple_form.io.yml
index eef2014d1..57a2aeb64 100644
--- a/config/locales/simple_form.io.yml
+++ b/config/locales/simple_form.io.yml
@@ -39,14 +39,12 @@ io:
text: Vu povas nur apelar striko unafoye
defaults:
autofollow: Personi quo registresesas tra invito automatika sequos vu
- avatar: En la formato PNG, GIF o JPG. Til %{size}. Esos mikrigita a %{dimensions}px
bot: Signalez a altra personi ke la konto precipue havas automatikigita agi e forsan ne surveyesas
context: Situeso kande filtrilo debas aplikesar
current_password: Por sekuresorezoni, pozez pasvorto di ca konto
current_username: Por konfirmar, pozez uzantonomo di ca konto
digest: Nur sendesas pos longa neaktiveso e nur se vu ganis irga mesaji dum ke vu esas neprezenta
email: Vu sendesos konfirmretposto
- header: En la formato PNG, GIF o JPG. Til %{size}. Esos mikrigita a %{dimensions}px
inbox_url: Kopiez URL de frontpagino de relayo quon vu volas uzar
irreversible: Filtrita posti neinversigeble desaparos, mem se filtro efacesas pose
locale: Linguo di uzantointervizajo, retposti e pulsavizi
diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml
index 87190693f..0859e8989 100644
--- a/config/locales/simple_form.is.yml
+++ b/config/locales/simple_form.is.yml
@@ -39,14 +39,14 @@ is:
text: Þú getur aðeins áfrýjað refsingu einu sinni
defaults:
autofollow: Fólk sem skráir sig í gegnum boðið mun sjálfkrafa fylgjast með þér
- avatar: PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px
+ avatar: WEBP, PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px
bot: Þessi aðgangur er aðallega til að framkvæma sjálfvirkar aðgerðir og gæti verið án þess að hann sé vaktaður reglulega
context: Eitt eða fleiri samhengi þar sem sían ætti að gilda
current_password: Í öryggisskyni skaltu setja inn lykilorðið fyrir þennan notandaaðgang
current_username: Til að staðfesta skaltu setja inn notandanafnið fyrir þennan notandaaðgang
digest: Er aðeins sent eftir lengri tímabil án virkni og þá aðeins ef þú hefur fengið persónuleg skilaboð á meðan þú hefur ekki verið á línunni
email: Þú munt fá sendan staðfestingarpóst
- header: PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px
+ header: WEBP, PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px
inbox_url: Afritaðu slóðina af forsíðu endurvarpans sem þú vilt nota
irreversible: Síaðar færslur munu hverfa óendurkræft, jafnvel þó sían sé seinna fjarlægð
locale: Tungumál notandaviðmótsins, tölvupósts og ýti-tilkynninga
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 731379835..244cf7c44 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -39,14 +39,14 @@ it:
text: Puoi appellarti solo una volta
defaults:
autofollow: Le persone che si iscrivono attraverso l'invito ti seguiranno automaticamente
- avatar: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
+ avatar: WEBP, PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
bot: Questo account esegue principalmente operazioni automatiche e potrebbe non essere tenuto sotto controllo da una persona
context: Uno o più contesti nei quali il filtro dovrebbe essere applicato
current_password: Per motivi di sicurezza inserisci la password dell'account attuale
current_username: Per confermare, inserisci il nome utente dell'account attuale
digest: Inviata solo dopo un lungo periodo di inattività e solo se hai ricevuto qualche messaggio personale in tua assenza
email: Ti manderemo una email di conferma
- header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
+ header: WEBP, PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
inbox_url: Copia la URL dalla pagina iniziale del ripetitore che vuoi usare
irreversible: I post filtrati scompariranno in modo irreversibile, anche se il filtro viene eliminato
locale: La lingua dell'interfaccia utente, di email e notifiche push
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index e9fb3da9f..eae1ea217 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -39,14 +39,12 @@ ja:
text: 一度だけ異議を申し立てることができます
defaults:
autofollow: 招待から登録した人が自動的にあなたをフォローするようになります
- avatar: "%{size}までのPNG、GIF、JPGが利用可能です。%{dimensions}pxまで縮小されます"
bot: このアカウントは主に自動で動作し、人が見ていない可能性があります
context: フィルターを適用する対象 (複数選択可)
current_password: 現在のアカウントのパスワードを入力してください
current_username: 確認のため、現在のアカウントのユーザー名を入力してください
digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます
email: 確認のメールが送信されます
- header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます"
inbox_url: 使用したいリレーサーバーのトップページからURLをコピーします
irreversible: フィルターが後で削除されても、除外された投稿は元に戻せなくなります
locale: ユーザーインターフェース、メールやプッシュ通知の言語
diff --git a/config/locales/simple_form.ka.yml b/config/locales/simple_form.ka.yml
index e5d874c5a..48f028c57 100644
--- a/config/locales/simple_form.ka.yml
+++ b/config/locales/simple_form.ka.yml
@@ -4,11 +4,9 @@ ka:
hints:
defaults:
autofollow: ადამიანები რომლებიც დარეგისტრირდებიან მოწვევით, ავტომატურად გამოგყვებიან
- avatar: პნგ, გიფ ან ჯპგ. მაქს. %{size}. ზომა დაპატარავდება %{dimensions}პიქს.-ზე
bot: ეს ანგარიში უმთავრესად ასრულებს ავტომატურ მოქმედებებს და შესაძლოა არ იყოს მონიტორინგის ქვეშ
context: ერთ ან მრავალი კონტექსტი სადაც ფილტრი უნდა შესრულდეს
digest: იგზავნება მხოლოდ ხანგრძლივი უაქტივობის პერიოდის შემდეგ და არყოფნისას თუ მიიღეთ ერთი წერილი მაინც
- header: პნგ, გიფ ან ჯპგ. მაქს. %{size}. ზომა დაპატარავდება %{dimensions}პიქს.-ზე
inbox_url: ურლ დააკოირეთ გამოყენებისთვის სასურველი რილეის წინა გვერდიდან
irreversible: გაფილტრული ტუტები გაუქმდება აღუდგენლად, იმ შემთხვევაშიც კი თუ ფილტრი სამომავლოდ გაუქმდება
locale: მომხმარებლის ინტერფეისის, ელ-ფოსტის წერილების და ფუშ შეტყობინებების ენა
diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml
index 546336660..c7370aedf 100644
--- a/config/locales/simple_form.kab.yml
+++ b/config/locales/simple_form.kab.yml
@@ -55,6 +55,7 @@ kab:
data: Isefka
display_name: Isem ara d-yettwaskanen
email: Tansa imayl
+ expires_in: Ad yemmet
header: Ixef
locale: Tutlayt n wegrudem
max_uses: Amḍan afellay n iseqdacen
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 4da58e6c6..1dee6f143 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -39,14 +39,14 @@ ko:
text: 처벌에 대해 단 한 번만 이의제기를 할 수 있습니다
defaults:
autofollow: 이 초대로 가입한 사람은 나를 팔로우하게 됩니다.
- avatar: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 축소 됨
+ avatar: WEBP, PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 축소됨
bot: 이 계정이 대부분 자동으로 작업을 수행하고 잘 확인하지 않는다는 것을 알립니다.
context: 필터를 적용 할 한 개 이상의 컨텍스트
current_password: 보안을 위해 현재 계정의 암호를 입력해주세요
current_username: 확인을 위해, 현재 계정의 사용자명을 입력해주세요
digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기
email: 확인용 이메일을 보냈습니다.
- header: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 축소 됨
+ header: WEBP, PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 축소됨
inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다
irreversible: 필터링 된 게시물은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다
locale: 사용자 인터페이스, 이메일, 푸시 알림 언어
diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml
index fb7a45c34..aa8501bf2 100644
--- a/config/locales/simple_form.ku.yml
+++ b/config/locales/simple_form.ku.yml
@@ -29,14 +29,12 @@ ku:
text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî
defaults:
autofollow: Mirovên ku bi riya vexwendinê xwe tomar kirine ew ên bi xweberî te bişopînin
- avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin
bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin
context: Yek an jî zêdetir girêdan divê parzûn were sepandin
current_password: Ji bo ewlehiyê ji kerema xwe borînpeyva ajimêrê xwe têxe
current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse
digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin
email: Ji te re e-name ya pejirandinê were
- header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin
inbox_url: Girêdanê ji rûpela pêşîn a guhêrkera ku tu dixwazî bi kar bînî jê bigire
irreversible: Şandiyên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe
locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin
diff --git a/config/locales/simple_form.lad.yml b/config/locales/simple_form.lad.yml
index afa26b787..f9ee9a4b9 100644
--- a/config/locales/simple_form.lad.yml
+++ b/config/locales/simple_form.lad.yml
@@ -39,14 +39,14 @@ lad:
text: Solo puedes apelar un amonestamiento una vez
defaults:
autofollow: Los utilizadores ke se enrejistren por la envitasyon te segiran otomatikamente
- avatar: PNG, GIF o JPG. Maksimo %{size}. Sera eskalado a %{dimensions}px
+ avatar: WEBP, PNG, GIF o JPG. Maksimo %{size}. Sera eskalado a %{dimensions}px
bot: Indika ke este kuento egzekuta prinsipalmente aksyones otomatizadas i podria no ser monitorizada
context: Uno o multiples kontekstos en los ke deve aplikarse el filtro
current_password: Por razones de sigurita por favor ingresa el kod del kuento aktual
current_username: Para konfirmar, por favor ingresa el nombre de utilizador del kuento aktual
digest: Solo embiado dempues de un eluengo periodo de inaktivita i solo si tienes recibido mesajes personales durante tu ausensya
email: Se te embiara konfirmasyon por posta elektronika
- header: PNG, GIF o JPG. Maksimo %{size}. Sera eskalado a %{dimensions}px
+ header: WEBP, PNG, GIF o JPG. Maksimo %{size}. Sera eskalado a %{dimensions}px
inbox_url: Kopia el URL de la pajina prinsipala del relevo ke keres utilizar
irreversible: Las publikasyones filtradas dezapareseran irreversivlemente, inkluzo si este filtro es supremido mas adelante
locale: La lingua de la enterfaz de utilizador, posta i avizos arrepushados
diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml
index 6eb90340d..53b8d672d 100644
--- a/config/locales/simple_form.lt.yml
+++ b/config/locales/simple_form.lt.yml
@@ -39,14 +39,14 @@ lt:
text: Gali pateikti apeliaciją dėl streiko tik vieną kartą
defaults:
autofollow: Žmonės, kurie užsiregistruos per kvietimą, automatiškai seks tave
- avatar: PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions} tšk.
+ avatar: WEBP, PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions} tšk.
bot: Signalizuoti kitiems, kad paskyroje daugiausia atliekami automatiniai veiksmai ir kad ji gali būti nestebima
context: Vienas arba keli kontekstai, kuriems turėtų būti taikomas filtras
current_password: Saugumo sumetimais įvesk dabartinės paskyros slaptažodį
current_username: Kad patvirtintum, įvesk dabartinės paskyros naudotojo vardą
digest: Siunčiama tik po ilgo neaktyvumo laikotarpio ir tik tuo atveju, jei negavai jokių asmeninių žinučių
email: Tau bus išsiųstas patvirtinimo el. laiškas
- header: PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions} tšk.
+ header: WEBP, PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions} tšk.
inbox_url: Nukopijuok URL adresą iš pradinio puslapio perdavėjo, kurį nori naudoti
irreversible: Filtruoti įrašai išnyks negrįžtamai, net jei vėliau filtras bus pašalintas
locale: Naudotojo sąsajos kalba, el. laiškai ir stumiamieji pranešimai
diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml
index bf831c946..5d23a7010 100644
--- a/config/locales/simple_form.lv.yml
+++ b/config/locales/simple_form.lv.yml
@@ -39,14 +39,12 @@ lv:
text: Brīdinājumu var pārsūdzēt tikai vienu reizi
defaults:
autofollow: Cilvēki, kuri reģistrējas, izmantojot uzaicinājumu, automātiski sekos tev
- avatar: PNG, GIF vai JPG. Ne vairāk kā %{size}. Tiks samazināts līdz %{dimensions} px
bot: Paziņo citiem, ka kontā galvenokārt tiek veiktas automatizētas darbības un tas var netikt uzraudzīts
context: Viens vai vairāki konteksti, kur jāpiemēro filtrs
current_password: Drošības nolūkos, lūdzu, ievadi pašreizējā konta paroli
current_username: Lai apstiprinātu, lūdzu, ievadi pašreizējā konta paroli
digest: Sūta tikai pēc ilgstošas neaktivitātes un tikai tad, ja savas prombūtnes laikā neesi saņēmis personiskas ziņas
email: Tev tiks nosūtīts apstiprinājuma e-pasts
- header: PNG, GIF vai JPG. Ne vairāk kā %{size}. Tiks samazināts līdz %{dimensions}px
inbox_url: Nokopē URL no tā releja sākumlapas, kuru vēlies izmantot
irreversible: Filtrētās ziņas neatgriezeniski pazudīs, pat ja filtrs vēlāk tiks noņemts
locale: Lietotāja saskarnes, e-pasta ziņojumu un push paziņojumu valoda
diff --git a/config/locales/simple_form.ms.yml b/config/locales/simple_form.ms.yml
index 79929cec5..9e9931cc3 100644
--- a/config/locales/simple_form.ms.yml
+++ b/config/locales/simple_form.ms.yml
@@ -39,14 +39,12 @@ ms:
text: Anda boleh membuat rayuan terhadap pelanggaran sekali sahaja
defaults:
autofollow: Orang yang mendaftar melalui undangan akan mengikuti anda secara automatik
- avatar: PNG, GIF atau JPG. Kebanyakannya %{size}. Saiz akan dikecilkan kepada %{dimensions}px
bot: Memberi isyarat kepada orang lain bahawa akaun itu kebanyakannya melakukan tindakan automatik dan mungkin tidak dipantau
context: Satu atau berbilang konteks di mana penapis harus digunakan
current_password: Untuk tujuan keselamatan sila masukkan kata laluan akaun semasa
current_username: Untuk mengesahkan, sila masukkan nama pengguna akaun semasa
digest: Hanya dihantar selepas tempoh yang lama tidak aktif dan hanya jika anda telah menerima sebarang mesej peribadi semasa ketiadaan anda
email: Anda akan dihantar e-mel pengesahan
- header: PNG, GIF atau JPG. Paling banyak %{size}. Akan diturunkan skala kepada %{dimensions}px
inbox_url: Salin URL dari muka depan geganti yang anda mahu gunakan
irreversible: Siaran yang ditapis akan hilang secara tidak dapat dipulihkan, walaupun penapis dialih keluar kemudian
locale: Bahasa untuk antara muka pengguna, e-mel dan pemberitahuan segera
diff --git a/config/locales/simple_form.my.yml b/config/locales/simple_form.my.yml
index 80b234c17..4f8a39782 100644
--- a/config/locales/simple_form.my.yml
+++ b/config/locales/simple_form.my.yml
@@ -39,14 +39,12 @@ my:
text: လုပ်ဆောင်ချက်တစ်ကြိမ်သာ အသုံးပြုနိုင်သည်
defaults:
autofollow: ဖိတ်ကြားချက်မှတစ်ဆင့် အကောင့်ဖွင့်သူများမှာ သင့်ကို အလိုအလျောက်စောင့်ကြည့်မည်ဖြစ်ပါသည်
- avatar: PNG၊ GIF သို့မဟုတ် JPG။ အများဆုံး %{size}။ %{dimensions}px သို့ လျှော့ချပါမည်။
bot: အကောင့်သည် အဓိကအားဖြင့် အလိုအလျောက် လုပ်ဆောင်ချက်များ ဆောင်ရွက်နိုင်ပြီး စောင့်ကြည့်ခြင်းမပြုနိုင်ကြောင်း အခြားသူများအား အသိပေးပါ
context: စစ်ထုတ်သင့်သည့် အကြောင်းအရာ တစ်ခု သို့မဟုတ် များစွာ
current_password: လုံခြုံရေးအတွက် ကျေးဇူးပြုပြီး လက်ရှိအကောင့်၏ စကားဝှက်ကို ထည့်ပါ
current_username: အတည်ပြုရန်အတွက် လက်ရှိအကောင့်၏ အသုံးပြုသူအမည်ကို ရိုက်ထည့်ပါ
digest: အချိန်အတော်ကြာ အသုံးမပြုသည့်သည့်နောက်တွင်သာ ပေးပို့ပြီး အသုံးမပြုသည့်ကာလအတွင်း ကိုယ်ရေးကိုယ်တာစာများသာ လက်ခံရန်
email: သင့်ထံ အတည်ပြုချက်အီးမေးလ်တစ်စောင် ပေးပို့ပါမည်
- header: PNG၊ GIF သို့မဟုတ် JPG။ အများဆုံး %{size}။ %{dimensions}px သို့ လျှော့ချပါမည်
inbox_url: သင်အသုံးပြုလိုသော relay ၏ ရှေ့စာမျက်နှာမှ URL ကို ကူးယူပါ
irreversible: စစ်ထုတ်ခြင်းကိုဖယ်ရှားလိုက်ပါက စစ်ထုတ်ထားသော ပို့စ်များမှာ ပျောက်ကွယ်သွားပါမည်
locale: အသုံးပြုသူမှ လက်ရှိသုံးနေသည့်ဘာသာစကား၊ အီးမေးလ်များနှင့် ရရှိစေရန်ပေးပို့သည့် အသိပေးချက်များ
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index b0b695745..3f4f339b9 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -39,14 +39,14 @@ nl:
text: Je kunt maar eenmalig bezwaar indienen tegen een vastgestelde overtreding
defaults:
autofollow: Mensen die zich via de uitnodiging hebben geregistreerd, volgen jou automatisch
- avatar: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
+ avatar: WEBP, PNG, GIF of JPG. Maximaal %{size}. Wordt verkleind naar %{dimensions}px
bot: Signaal aan anderen dat het account voornamelijk geautomatiseerde acties uitvoert en mogelijk niet wordt gecontroleerd
context: Een of meerdere locaties waar de filter actief moet zijn
current_password: Voer voor veiligheidsredenen het wachtwoord van je huidige account in
current_username: Voer ter bevestiging de gebruikersnaam van je huidige account in
digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen
email: Je krijgt een bevestigingsmail
- header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
+ header: WEBP, PNG, GIF of JPG. Maximaal %{size}. Wordt verkleind naar %{dimensions}px
inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken
irreversible: Gefilterde berichten verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd
locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen
@@ -148,9 +148,9 @@ nl:
show_collections: Accounts die jij volgt en die jou volgen op je profiel tonen
unlocked: Automatisch nieuwe volgers accepteren
account_alias:
- acct: Mastodonadres van het oude account
+ acct: Mastodon-adres van het oude account
account_migration:
- acct: Mastodonadres van het nieuwe account
+ acct: Mastodon-adres van het nieuwe account
account_warning_preset:
text: Tekst van preset
title: Titel
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
index 266ef1fcc..98cc372be 100644
--- a/config/locales/simple_form.nn.yml
+++ b/config/locales/simple_form.nn.yml
@@ -39,14 +39,14 @@ nn:
text: Ei åtvaring kan kun ankast ein gong
defaults:
autofollow: Folk som lagar ein konto gjennom innbydinga fylgjer deg automatisk
- avatar: PNG, GIF eller JPG. Maksimalt %{size}. Minkast til %{dimensions}px
+ avatar: WEBP, PNG, GIF eller JPG. Maks %{size}. Blir forminska til %{dimensions}pkt
bot: Denne kontoen utfører i hovedsak automatiserte handlinger og blir kanskje ikke holdt øye med
context: En eller flere sammenhenger der filteret skal gjelde
current_password: For sikkerhetsgrunner, vennligst oppgi passordet til den nåværende bruker
current_username: Skriv inn brukarnamnet til den noverande kontoen for å stadfesta
digest: Kun sendt etter en lang periode med inaktivitet og bare dersom du har mottatt noen personlige meldinger mens du var borte
email: Du får snart ein stadfestings-e-post
- header: PNG, GIF eller JPG. Maksimalt %{size}. Minkast til %{dimensions}px
+ header: WEBP, PNG, GIF eller JPG. Maks %{size}. Blir forminska til %{dimensions}pkt
inbox_url: Kopier URLen fra forsiden til overgangen du vil bruke
irreversible: Filtrerte tut vil verta borte for evig, sjølv om filteret vert fjerna seinare
locale: Språket til brukargrensesnittet, e-postar og push-varsel
@@ -55,8 +55,8 @@ nn:
scopes: API-ane som programmet vil få tilgjenge til. Ettersom du vel eit toppnivåomfang tarv du ikkje velja einskilde API-ar.
setting_aggregate_reblogs: Ikkje vis nye framhevingar for tut som nyleg har vorte heva fram (Påverkar berre nylege framhevingar)
setting_always_send_emails: Vanlegvis vil ikkje e-postvarsel bli sendt når du brukar Mastodon aktivt
- setting_default_sensitive: Nærtakande media vert gøymd som standard og kan synast med eit klikk
- setting_display_media_default: Gøym media som er merka som nærtakande
+ setting_default_sensitive: Sensitive media vert gøymde som standard, og du syner dei ved å klikka på dei
+ setting_display_media_default: Gøym media som er merka som sensitive
setting_display_media_hide_all: Alltid skjul alt media
setting_display_media_show_all: Vis alltid media
setting_use_blurhash: Overgangar er basert på fargane til skjulte grafikkelement, men gjer detaljar utydelege
@@ -220,7 +220,7 @@ nn:
setting_theme: Sidetema
setting_trends: Vis kva som er populært i dag
setting_unfollow_modal: Vis stadfesting før du sluttar å fylgja nokon
- setting_use_blurhash: Vis fargerike overgangar for gøymt media
+ setting_use_blurhash: Vis fargerike overgangar for gøymde medium
setting_use_pending_items: Saktemodus
severity: Alvorsgrad
sign_in_token_attempt: Trygdenykel
@@ -235,8 +235,8 @@ nn:
name: Emneknagg
filters:
actions:
- hide: Gøym totalt
- warn: Gøym med ei advarsel
+ hide: Gøym heilt
+ warn: Gøym med ei åtvaring
form_admin_settings:
activity_api_enabled: Legg ut samla statistikk om brukaraktiviteten i APIet
backups_retention_period: Arkiveringsperiode for brukararkiv
@@ -266,9 +266,9 @@ nn:
trends: Aktiver trendar
trends_as_landing_page: Bruk trendar som startside
interactions:
- must_be_follower: Gøym varslingar frå folk som ikkje fylgjer deg
- must_be_following: Gøym varslingar frå folk du ikkje fylgjer
- must_be_following_dm: Gøym direktemeldinger frå folk du ikkje fylgjer
+ must_be_follower: Blokker varsel frå folk som ikkje fylgjer deg
+ must_be_following: Blokker varsel frå folk du ikkje fylgjer
+ must_be_following_dm: Blokker direktemeldinger frå folk du ikkje fylgjer
invite:
comment: Kommentar
invite_request:
diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml
index 765179221..6c47a9dee 100644
--- a/config/locales/simple_form.no.yml
+++ b/config/locales/simple_form.no.yml
@@ -39,14 +39,12 @@
text: Du kan kun anke en advarsel en gang
defaults:
autofollow: Folk som lager en konto gjennom invitasjonen, vil automatisk følge deg
- avatar: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px
bot: Denne kontoen utfører i hovedsak automatiserte handlinger og blir kanskje ikke holdt øye med
context: En eller flere sammenhenger der filteret skal gjelde
current_password: For sikkerhetsgrunner, vennligst oppgi passordet til den nåværende bruker
current_username: For å bekrefte, vennligst skriv inn brukernavnet til den nåværende kontoen
digest: Kun sendt etter en lang periode med inaktivitet og bare dersom du har mottatt noen personlige meldinger mens du var borte
email: Du vil bli tilsendt en bekreftelses-E-post
- header: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px
inbox_url: Kopier URLen fra forsiden til overgangen du vil bruke
irreversible: Filtrerte innlegg vil ugjenkallelig forsvinne, selv om filteret senere blir fjernet
locale: Språket til brukergrensesnittet, e-mailer og push-varsler
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 7159eed32..ba9c260e4 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -25,14 +25,12 @@ oc:
text: Podètz utilizar la sintaxi dels tuts. Gardatz al cap qu’aquesta anóncia ocuparà la fenèstra de l’utilizaire
defaults:
autofollow: Lo mond que se marcan gràcia a l’invitacion vos segràn automaticament
- avatar: PNG, GIF o JPG. Maximum %{size}. Serà retalhat en %{dimensions}px
bot: Avisar lo mond qu’aqueste compte es pas d’una persona
context: Un o mai de contèxtes ont lo filtre deuriá s’aplicar
current_password: Per de rasons de seguretat volgatz picar lo senhal del compte actual
current_username: Per confirmar, volgatz picar lo nom d’utilizaire del compte actual
digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia
email: Vos mandarem un corrièl de confirmacion
- header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px
inbox_url: Copiatz l’URL de la pagina màger del relai que volètz utilizar
irreversible: Los tuts filtrats desapareisseràn irreversiblament, encara que lo filtre siá suprimit mai tard
locale: La lenga de l’interfàcia d’utilizacion, los messatges e las notificacions
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index a55a93556..4a8208202 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -39,14 +39,14 @@ pl:
text: Możesz wysłać odwołanie do ostrzeżenia tylko raz
defaults:
autofollow: Osoby, które zarejestrują się z Twojego zaproszenia automatycznie zaczną Cię obserwować
- avatar: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
+ avatar: WEBP, PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
bot: To konto wykonuje głównie zautomatyzowane działania i może nie być monitorowane
context: Jedno lub wiele miejsc, w których filtr zostanie zastosowany
current_password: Ze względów bezpieczeństwa wprowadź hasło obecnego konta
current_username: Aby potwierdzić, wprowadź nazwę użytkownika obecnego konta
digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią
email: Otrzymasz e-mail potwierdzający
- header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
+ header: WEBP, PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
inbox_url: Skopiuj adres ze strony głównej przekaźnika, którego chcesz użyć
irreversible: Filtrowane wpisy znikną bezpowrotnie, nawet gdy filtr zostanie usunięty
locale: Język interfejsu, wiadomości e-mail i powiadomieniach push
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 1c303c0da..3a4e99a0d 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -39,14 +39,12 @@ pt-BR:
text: Você só pode solicitar uma revisão uma vez
defaults:
autofollow: Pessoas que criarem conta através de seu convite te seguirão automaticamente
- avatar: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada
context: Um ou mais contextos onde o filtro deve atuar
current_password: Para fins de segurança, digite a senha da conta atual
current_username: Para confirmar, digite o nome de usuário da conta atual
digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante ausência
email: Você receberá um e-mail de confirmação
- header: PNG, GIF ou JPG de até %{size}. Serão redimensionados para %{dimensions}px
inbox_url: Copie o link da página inicial do repetidor que você deseja usar
irreversible: As publicações filtradas desaparecerão irreversivelmente, mesmo se o filtro for removido depois
locale: O idioma da interface do usuário, e-mails e notificações
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index 691ecec3a..9c54e7214 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -39,14 +39,14 @@ pt-PT:
text: Só pode recorrer uma única vez de uma reprimenda
defaults:
autofollow: As pessoas que aderirem através do convite segui-lo-ão automaticamente
- avatar: PNG, GIF ou JPG. Ficheiros no máximo de %{size}. Serão reduzidos para %{dimensions}px
+ avatar: WEBP, PNG, GIF ou JPG. No máximo %{size}. Será reduzido para %{dimensions}px
bot: Esta conta executa essencialmente ações automatizadas e pode não ser monitorizada
context: Um ou diversos contextos nos quais o filtro deve ser aplicado
current_password: Para fins de segurança, queira inserir a palavra-passe da conta atual
current_username: Para confirmar, queira inserir o nome de utilizador da conta atual
digest: Enviado após um longo período de inatividade e apenas se foste mencionado na tua ausência
email: Será enviado um e-mail de confirmação
- header: PNG, GIF ou JPG. Ficheiros no máximo de %{size}. Serão reduzidos para %{dimensions}px
+ header: WEBP, PNG, GIF ou JPG. No máximo %{size}. Será reduzido para %{dimensions}px
inbox_url: Copie o URL da página inicial do repetidor que quer usar
irreversible: Publicações filtradas irão desaparecer irremediavelmente, mesmo que o filtro seja removido posteriormente
locale: O idioma da interface de utilizador, e-mails e notificações push
diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml
index cade572f3..559302270 100644
--- a/config/locales/simple_form.ro.yml
+++ b/config/locales/simple_form.ro.yml
@@ -23,14 +23,12 @@ ro:
text: Poți folosi sintaxa de postare. Te rugăm să fii atent la spațiul pe care anunțul îl va ocupa pe ecranul utilizatorului
defaults:
autofollow: Persoanele care se înregistrează datorită invitației tale te vor urmări automat
- avatar: PNG, GIF sau JPG. Cel mult %{size}. Va fi redimensionată la %{dimensions}px
bot: Acest cont performează în cea mai mare parte acțiuni automate și nu poate fi monitorizat
context: Contextele în care filtrul trebuie aplicat
current_password: În scopuri de securitate, vă rugăm să introduceţi parola contului curent
current_username: Pentru a confirma, vă rugăm să introduceţi numele de utilizator al contului curent
digest: Este trimis doar după o lungă perioadă de inactivitate și numai dacă primești mesaje personale în perioada de absență
email: Vei primi un e-mail de confirmare
- header: PNG, GIF sau JPG. Cel mult %{size}. Vor fi redimensionate la %{dimensions}px
inbox_url: Copiază adresa URL de pe prima pagină a reului pe care vrei să îl utilizezi
irreversible: Postările sortate vor dispărea ireversibil, chiar dacă filtrul este ulterior șters
locale: Limba interfaței de utilizator, e-mailurile si notificările push
diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml
index 2d82a6635..192a2f96d 100644
--- a/config/locales/simple_form.ru.yml
+++ b/config/locales/simple_form.ru.yml
@@ -39,14 +39,12 @@ ru:
text: Вы можете обжаловать замечание только один раз
defaults:
autofollow: Люди, пришедшие по этому приглашению, автоматически будут подписаны на вас.
- avatar: Поддерживается PNG, GIF и JPG. Максимальный размер — %{size}. Будет уменьшен до %{dimensions}px.
bot: Отметьте, если с этой учётной записи выполняются автоматизированные действия и она может не просматриваться владельцем.
context: Один или несколько контекстов, к которым должны быть применены фильтры
current_password: В целях безопасности введите пароль текущей учётной записи
current_username: Для подтверждения, пожалуйста, введите имя пользователя текущей учётной записи
digest: Если вы долго не заглядывали, отправим вам дайджест событий, которые происходили в период вашего отсутствия.
email: Вам будет отправлено электронное письмо с подтверждением.
- header: Поддерживается PNG, GIF и JPG. Максимальный размер — %{size}. Будет уменьшена до %{dimensions}px.
inbox_url: Копировать URL с главной страницы ретранслятора, который вы хотите использовать
irreversible: Отфильтрованные посты будут утеряны навсегда, даже если в будущем фильтр будет убран
locale: Язык интерфейса, e-mail писем и push-уведомлений
diff --git a/config/locales/simple_form.sc.yml b/config/locales/simple_form.sc.yml
index 5f5d63307..792619e6c 100644
--- a/config/locales/simple_form.sc.yml
+++ b/config/locales/simple_form.sc.yml
@@ -27,14 +27,12 @@ sc:
text: Podes impreare sintassi in is tuts. Dae cara a su tretu chi s'annùntziu at a pigare in s'ischermu de s'utente
defaults:
autofollow: Is persones chi s'ant a registrare pro mèdiu de s'invitu t'ant a sighire in manera automàtica
- avatar: PNG, GIF o JPG. Màssimu %{size}. Ant a èssere iscaladas a %{dimensions}px
bot: Sinnala a àtere chi custu contu faghet pro su prus atziones automatizadas e diat pòdere no èssere monitoradu
context: Unu o prus cuntestos in ue su filtru si diat dèpere aplicare
current_password: Pro chistiones de seguresa inserta sa crae de intrada de su contu atuale
current_username: Pro cunfirmare inserta su nòmine utente de su contu atuale
digest: Imbiadu isceti a pustis de unu perìodu longu de inatividade, e isceti si as retzidu calicunu messàgiu personale cando non bi fias
email: As a retzire unu messàgiu eletrònicu de cunfirma
- header: PNG, GIF o JPG. Màssimu %{size}. Ant a èssere iscaladas a %{dimensions}px
inbox_url: Còpia s'URL dae sa pàgina printzipale de su ripetidore chi boles impreare
irreversible: Is tuts filtrados ant a isparèssere in manera irreversìbile, fintzas si prus a tardu s'at a bogare su filtru
locale: S'idioma de s'interfache de s'utente, de is messàgios de posta eletrònica e de is notìficas push
diff --git a/config/locales/simple_form.sco.yml b/config/locales/simple_form.sco.yml
index 85fa66ddc..7eeaca375 100644
--- a/config/locales/simple_form.sco.yml
+++ b/config/locales/simple_form.sco.yml
@@ -29,14 +29,12 @@ sco:
text: Ye kin ainly appeal a strike the wance
defaults:
autofollow: Fowk thit signs up throu the invite wull follae ye automatic
- avatar: PNG, GIF or JPG. At maist %{size}. Wull get doonscaled tae %{dimensions}px
bot: Signal tae ithers thit the accoont maistly performs automatit actions an mibbie wullnae be monitort
context: Ae or mair contexts whaur the filter shuid apply
current_password: Fir security purposes please pit in the passwird o the current accoont
current_username: Fir tae confirm, please pit in the uisernemm o the current accoont
digest: Ainly sent efter a lang whilie o inactivity an ainly if ye'v gotten onie personal messages whilst ye wis awa
email: Ye'll be sent a confirmation email
- header: PNG, GIF or JPG. At maist %{size}. Wull get doonscaled tae %{dimensions}px
inbox_url: Copy the URL fae the frontpage o the relay thit ye'r wantin tae uise
irreversible: Filtert posts wull dizappear irreversibly, even if filter is taen aff efter
locale: The leid o the uiser interface, emails an push notes
diff --git a/config/locales/simple_form.si.yml b/config/locales/simple_form.si.yml
index ededa85bc..eb41d263b 100644
--- a/config/locales/simple_form.si.yml
+++ b/config/locales/simple_form.si.yml
@@ -27,14 +27,12 @@ si:
text: ඔබට වර්ජනයකට අභියාචනා කළ හැක්කේ එක් වරක් පමණි
defaults:
autofollow: ආරාධනාව හරහා ලියාපදිංචි වන පුද්ගලයින් ස්වයංක්රීයව ඔබව අනුගමනය කරනු ඇත
- avatar: PNG, GIF හෝ JPG. වැඩිම %{size}. %{dimensions}px දක්වා අඩු කරනු ඇත
bot: ගිණුම ප්රධාන වශයෙන් ස්වයංක්රීය ක්රියා සිදු කරන බවත් නිරීක්ෂණය නොකළ හැකි බවත් අන් අයට සංඥා කරන්න
context: පෙරහන යෙදිය යුතු සන්දර්භ එකක් හෝ කිහිපයක්
current_password: ආරක්ෂක අරමුණු සඳහා කරුණාකර ජංගම ගිණුමේ මුරපදය ඇතුළත් කරන්න
current_username: තහවුරු කිරීමට, කරුණාකර වත්මන් ගිණුමේ පරිශීලක නාමය ඇතුළත් කරන්න
digest: දිගු කාලයක් අක්රියව සිටීමෙන් පසුව පමණක් යවන ලද අතර ඔබ නොමැති විට ඔබට කිසියම් පුද්ගලික පණිවිඩයක් ලැබී ඇත්නම් පමණි
email: ඔබට තහවුරු කිරීමේ විද්යුත් තැපෑලක් එවනු ලැබේ
- header: PNG, GIF හෝ JPG. වැඩිම %{size}. %{dimensions}px දක්වා අඩු කරනු ඇත
inbox_url: ඔබට භාවිතා කිරීමට අවශ්ය රිලේ හි මුල් පිටුවෙන් URL එක පිටපත් කරන්න
irreversible: පෙරහන පසුව ඉවත් කළ ද, පෙරූ ලිපි අප්රතිවර්ත්යව අතුරුදහන් වනු ඇත
locale: වි-තැපැල්, තල්ලු දැනුම්දීම් සහ පරිශ්රීලක අතුරුමුහුණතේ භාෂාව
diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml
index 614812a3a..71bd25d6d 100644
--- a/config/locales/simple_form.sk.yml
+++ b/config/locales/simple_form.sk.yml
@@ -16,14 +16,14 @@ sk:
warning_preset_id: Voliteľné. Stále môžeš vložiť vlastný text na samý koniec predlohy
defaults:
autofollow: Ľudia ktorí sa zaregistrujú prostredníctvom pozvánky, ťa budú inheď následovať
- avatar: PNG, GIF alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px
+ avatar: WEBP, PNG, GIF, alebo JPG. Najviac %{size}. Bude zmenšený na %{dimensions}px
bot: Tento účet vykonáva hlavne automatizované akcie, a je pravdepodobne nespravovaný
context: Jedno, alebo viac kritérií, v ktorých má byť filtrovanie uplatnené
current_password: Z bezpečtnostných dôvodov prosím zadaj heslo súčasného účtu
current_username: Pre potvrdenie prosím zadaj prezývku súčasného účtu
digest: Odoslané iba v prípade dlhodobej neprítomnosti, a len ak si obdržal/a nejaké osobné správy kým si bol/a preč
email: Bude ti odoslaný potvrdzujúci email
- header: PNG, GIF, alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px
+ header: WEBP, PNG, GIF, alebo JPG. Najviac %{size}. Bude zmenšený na %{dimensions}px
inbox_url: Skopíruj adresu z hlavnej stránky mostíka, ktorý chceš používať
irreversible: Vytriedené príspevky zmiznú nenávratne, aj keď triedenie neskôr zrušíš
locale: Jazyk užívateľského rozhrania, emailových, a nástenkových oboznámení
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index ef345f78c..1e5689438 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -39,14 +39,14 @@ sl:
text: Na ukrep se lahko pritožite le enkrat
defaults:
autofollow: Osebe, ki se prijavijo prek povabila, vas bodo samodejno sledile
- avatar: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px
+ avatar: WEBP, PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions} sl. točk
bot: Ta račun v glavnem opravlja samodejna dejanja in morda ni pod nadzorom
context: En ali več kontekstov, kjer naj se uporabi filter
current_password: Iz varnostnih razlogov vnesite geslo trenutnega računa
current_username: Za potrditev vnesite uporabniško ime trenutnega računa
digest: Pošlje se le po dolgem obdobju nedejavnosti in samo, če ste prejeli osebna sporočila v vaši odsotnosti
email: Poslali vam bomo potrditveno e-pošto
- header: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px
+ header: WEBP, PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions} sl. točk
inbox_url: Kopirajte URL naslov s prve strani releja, ki ga želite uporabiti
irreversible: Filtrirane objave bodo nepovratno izginile, tudi če je filter kasneje odstranjen
locale: Jezik uporabniškega vmesnika, e-poštnih sporočil in potisnih obvestil
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index dc0747807..b8404766f 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -39,14 +39,14 @@ sq:
text: Një paralajmërim mund ta apeloni vetëm një herë
defaults:
autofollow: Personat që regjistrohen përmes ftesës do t’ju ndjekin vetvetiu
- avatar: PNG, GIF ose JPG. Maksimumi %{size}. Do të zvogëlohen në %{dimensions}px
+ avatar: WEBP, PNG, GIF ose JPG. E shumta %{size}. Do të zvogëlohet në %{dimensions}px
bot: Kjo llogari kryesisht bën veprime të automatizuara dhe mund të mos mbikëqyret dot
context: Një ose disa kontekste kur duhet të zbatohet filtri
current_password: Për qëllime sigurie, ju lutemi, jepni fjalëkalimin e llogarisë së tanishme
current_username: Që ta ripohoni, ju lutemi, jepni emrin e përdoruesit të llogarisë së tanishme
digest: I dërguar vetëm pas një periudhe të gjatë pasiviteti dhe vetëm nëse keni marrë ndonjë mesazh personal gjatë mungesës tuaj
email: Do t’ju dërgohet një email ripohimi
- header: PNG, GIF ose JPG. E shumta %{size}. Do të ripërmasohet në %{dimensions}px
+ header: WEBP, PNG, GIF ose JPG. E shumta %{size}. Do të zvogëlohet në %{dimensions}px
inbox_url: Kopjoni URL-në prej faqes ballore të relesë që doni të përdorni
irreversible: Mesazhet e filtruar do të zhduken në mënyrë të pakthyeshme, edhe nëse filtri hiqet më vonë
locale: Gjuha e ndërfaqes së përdoruesit, email-eve dhe njoftimeve push
diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml
index 6e6b6ce8b..62e12201a 100644
--- a/config/locales/simple_form.sr-Latn.yml
+++ b/config/locales/simple_form.sr-Latn.yml
@@ -39,14 +39,12 @@ sr-Latn:
text: Možete podneti samo jednu žalbu na upisan prestup
defaults:
autofollow: Osobe koje se prijave kroz pozivnice će vas automatski zapratiti
- avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjeno na %{dimensions}px
bot: Daje drugima do znanja da ovaj nalog uglavnom vrši automatizovane radnje i možda se ne nadgleda
context: Jedan ili više konteksta u kojima treba da se primeni filter
current_password: Iz bezbednosnih razloga molimo Vas unesite lozinku trenutnog naloga
current_username: Da biste potvrdili, Molimo Vas unesite korisničko ime trenutno aktivnog naloga
digest: Šalje se samo posle dužeg perioda neaktivnosti i samo u slučaju da ste primili jednu ili više ličnih poruka tokom Vašeg odsustva
email: Biće Vam poslat mejl sa potvrdom
- header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjeno na %{dimensions}px
inbox_url: Kopirajte URL sa naslovne strane releja koji želite koristiti
irreversible: Filtrirane obajve će nestati nepovratno, čak i ako je filter kasnije uklonjen
locale: Jezik korisničkog okruženja, e-pošte i mobilnih obaveštenja
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index 71fbe299e..10434be1e 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -39,14 +39,12 @@ sr:
text: Можете поднети само једну жалбу на уписан преступ
defaults:
autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити
- avatar: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
bot: Даје другима до знања да овај налог углавном врши аутоматизоване радње и можда се не надгледа
context: Један или више контекста у којима треба да се примени филтер
current_password: Из безбедносних разлога молимо Вас унесите лозинку тренутног налога
current_username: Да бисте потврдили, Молимо Вас унесите корисничко име тренутно активног налога
digest: Шаље се само после дужег периода неактивности и само у случају да сте примили једну или више личних порука током Вашег одсуства
email: Биће Вам послат мејл са потврдом
- header: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
inbox_url: Копирајте URL са насловне стране релеја који желите користити
irreversible: Филтриранe обајве ће нестати неповратно, чак и ако је филтер касније уклоњен
locale: Језик корисничког окружења, е-поште и мобилних обавештења
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index b01436b41..fcf378802 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -39,14 +39,12 @@ sv:
text: Du kan endast överklaga en varning en gång
defaults:
autofollow: Användarkonton som skapas genom din inbjudan kommer automatiskt följa dig
- avatar: PNG, GIF eller JPG. Högst %{size}. Kommer att skalas ner till %{dimensions}px
bot: Detta konto utför huvudsakligen automatiserade åtgärder och kanske inte övervakas
context: Ett eller fler sammanhang där filtret ska tillämpas
current_password: Av säkerhetsskäl krävs lösenordet till det nuvarande kontot
current_username: Ange det nuvarande kontots användarnamn för att bekräfta
digest: Skickas endast efter en lång period av inaktivitet och endast om du har fått några personliga meddelanden i din frånvaro
email: Du kommer att få ett bekräftelsemeddelande via e-post
- header: PNG, GIF eller JPG. Högst %{size}. Kommer att skalas ner till %{dimensions}px
inbox_url: Kopiera webbadressen från hemsidan av det ombud du vill använda
irreversible: Filtrerade inlägg kommer att försvinna oåterkalleligt, även om filter tas bort senare
locale: Språket för användargränssnittet, e-postmeddelanden och push-aviseringar
diff --git a/config/locales/simple_form.ta.yml b/config/locales/simple_form.ta.yml
index a3819e5eb..fcf031f90 100644
--- a/config/locales/simple_form.ta.yml
+++ b/config/locales/simple_form.ta.yml
@@ -17,7 +17,6 @@ ta:
starts_at: கட்டாயமில்லை. உங்கள் அறிவிப்பு ஒரு குறிப்பிட்ட நேரத்தில் வெளியாக வேண்டுமெனில் மட்டும்
defaults:
autofollow: அழைப்பின் வாயிலாக புதிய கணக்கை துவங்குவோர் தாமாகவே உங்களை பின்தொடர்வர்
- avatar: PNG, GIF or JPG. அதிகபட்சம் %{size}, %{dimensions}px க்கு குறைக்கப்படும்
bot: இந்த கணக்கு முக்கியமாக தானியங்கு செயல்களைச் செய்கிறது மற்றும் கண்காணிக்கப்படாமல் போகலாம்
current_password: பாதுகாப்பு காரணங்களுக்காக, தங்களின் தற்போதைய கணக்கின் கடவுச்சொல்லை உள்ளீடு செய்க
current_username: உறுதிசெய்ய, தற்போதைய கணக்கின் பயனர் பெயரை உள்ளிடுக
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index c38800188..259bb0009 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -18,7 +18,7 @@ th:
text: คุณสามารถใช้ไวยากรณ์โพสต์ เช่น URL, แฮชแท็ก และการกล่าวถึง
title: ไม่จำเป็น ไม่ปรากฏแก่ผู้รับ
admin_account_action:
- include_statuses: ผู้ใช้จะเห็นว่าโพสต์ใดก่อให้เกิดการกระทำการควบคุมหรือคำเตือน
+ include_statuses: ผู้ใช้จะเห็นว่าโพสต์ใดก่อให้เกิดการกระทำการกลั่นกรองหรือคำเตือน
send_email_notification: ผู้ใช้จะได้รับคำอธิบายว่าเกิดอะไรขึ้นกับบัญชีของเขา
text_html: ไม่จำเป็น คุณสามารถใช้ไวยากรณ์โพสต์ คุณสามารถ เพิ่มคำเตือนที่ตั้งไว้ล่วงหน้า เพื่อประหยัดเวลา
type_html: เลือกสิ่งที่จะทำกับ %{acct}
@@ -39,14 +39,14 @@ th:
text: คุณสามารถอุทธรณ์การดำเนินการได้เพียงครั้งเดียวเท่านั้น
defaults:
autofollow: ผู้คนที่ลงทะเบียนผ่านคำเชิญจะติดตามคุณโดยอัตโนมัติ
- avatar: PNG, GIF หรือ JPG สูงสุด %{size} จะได้รับการย่อขนาดเป็น %{dimensions}px
+ avatar: WEBP, PNG, GIF หรือ JPG สูงสุด %{size} จะได้รับการย่อขนาดเป็น %{dimensions}px
bot: ส่งสัญญาณให้ผู้อื่นว่าบัญชีทำการกระทำแบบอัตโนมัติเป็นหลักและอาจไม่ได้รับการสังเกตการณ์
context: หนึ่งหรือหลายบริบทที่ตัวกรองควรนำไปใช้
current_password: เพื่อวัตถุประสงค์ด้านความปลอดภัย โปรดป้อนรหัสผ่านของบัญชีปัจจุบัน
current_username: เพื่อยืนยัน โปรดป้อนชื่อผู้ใช้ของบัญชีปัจจุบัน
digest: ส่งเฉพาะหลังจากไม่มีการใช้งานเป็นเวลานานและในกรณีที่คุณได้รับข้อความส่วนบุคคลใด ๆ เมื่อคุณไม่อยู่เท่านั้น
email: คุณจะได้รับอีเมลการยืนยัน
- header: PNG, GIF หรือ JPG สูงสุด %{size} จะได้รับการย่อขนาดเป็น %{dimensions}px
+ header: WEBP, PNG, GIF หรือ JPG สูงสุด %{size} จะได้รับการย่อขนาดเป็น %{dimensions}px
inbox_url: คัดลอก URL จากหน้าแรกของรีเลย์ที่คุณต้องการใช้
irreversible: โพสต์ที่กรองอยู่จะหายไปอย่างถาวร แม้ว่าจะเอาตัวกรองออกในภายหลังก็ตาม
locale: ภาษาของส่วนติดต่อผู้ใช้, อีเมล และการแจ้งเตือนแบบผลัก
@@ -86,7 +86,7 @@ th:
media_cache_retention_period: จะลบไฟล์สื่อที่ดาวน์โหลดหลังจากจำนวนวันที่ระบุเมื่อตั้งเป็นค่าบวก และดาวน์โหลดใหม่ตามความต้องการ
peers_api_enabled: รายการชื่อโดเมนที่เซิร์ฟเวอร์นี้พบในจักรวาลสหพันธ์ ไม่มีข้อมูลรวมอยู่ที่นี่เกี่ยวกับว่าคุณติดต่อกับเซิร์ฟเวอร์ที่กำหนดหรือไม่ เพียงแค่ว่าเซิร์ฟเวอร์ของคุณทราบเกี่ยวกับเซิร์ฟเวอร์ที่กำหนด มีการใช้สิ่งนี้โดยบริการที่เก็บรวบรวมสถิติในการติดต่อกับภายนอกในความหมายทั่วไป
profile_directory: ไดเรกทอรีโปรไฟล์แสดงรายการผู้ใช้ทั้งหมดที่ได้เลือกรับให้สามารถค้นพบได้
- require_invite_text: เมื่อการลงทะเบียนต้องมีการอนุมัติด้วยตนเอง ทำให้การป้อนข้อความ “ทำไมคุณจึงต้องการเข้าร่วม?” บังคับแทนที่จะไม่จำเป็น
+ require_invite_text: เมื่อการลงทะเบียนต้องการการอนุมัติด้วยตนเอง ทำให้การป้อนข้อความ “ทำไมคุณจึงต้องการเข้าร่วม?” บังคับแทนที่จะไม่จำเป็น
site_contact_email: วิธีที่ผู้คนสามารถเข้าถึงคุณสำหรับการสอบถามด้านกฎหมายหรือการสนับสนุน
site_contact_username: วิธีที่ผู้คนสามารถเข้าถึงคุณใน Mastodon
site_extended_description: ข้อมูลเพิ่มเติมใด ๆ ที่อาจเป็นประโยชน์กับผู้เยี่ยมชมและผู้ใช้ของคุณ สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown
@@ -113,7 +113,7 @@ th:
severities:
no_access: ปิดกั้นการเข้าถึงทรัพยากรทั้งหมด
sign_up_block: จะไม่สามารถทำการลงทะเบียนใหม่
- sign_up_requires_approval: การลงทะเบียนใหม่จะต้องมีการอนุมัติของคุณ
+ sign_up_requires_approval: การลงทะเบียนใหม่จะต้องการการอนุมัติของคุณ
severity: เลือกสิ่งที่จะเกิดขึ้นกับคำขอจาก IP นี้
rule:
text: อธิบายกฎหรือข้อกำหนดสำหรับผู้ใช้ในเซิร์ฟเวอร์นี้ พยายามทำให้กฎหรือข้อกำหนดสั้นและเรียบง่าย
@@ -282,7 +282,7 @@ th:
sign_up_requires_approval: จำกัดการลงทะเบียน
severity: กฎ
notification_emails:
- appeal: ใครสักคนอุทธรณ์การตัดสินใจของผู้ควบคุม
+ appeal: ใครสักคนอุทธรณ์การตัดสินใจของผู้กลั่นกรอง
digest: ส่งอีเมลสรุป
favourite: ใครสักคนได้ชื่นชอบโพสต์ของคุณ
follow: ใครสักคนได้ติดตามคุณ
diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml
index 3053c0443..cc644d4df 100644
--- a/config/locales/simple_form.tr.yml
+++ b/config/locales/simple_form.tr.yml
@@ -39,14 +39,14 @@ tr:
text: Bir eyleme yalnızca bir kere itiraz edebilirsiniz
defaults:
autofollow: Davetiyeyle kaydolan kişiler sizi otomatik olarak takip eder
- avatar: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir
+ avatar: En fazla %{size} olacak şekilde WEBP, PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px boyutuna küçültülecektir
bot: Bu hesap temelde otomatik eylemler gerçekleştirir ve izlenmeyebilir
context: Filtrenin geçerli olması gereken bir veya daha fazla içerik
current_password: Güvenlik nedeniyle lütfen şu anki hesabın parolasını girin
current_username: Onaylamak için lütfen şu anki hesabın kullanıcı adını girin
digest: Sadece uzun bir süre hareketsiz kaldıktan sonra ve yalnızca yokluğunuzda herhangi bir kişisel mesaj aldıysanız gönderilir
email: Onay e-postası gönderilir
- header: PNG, GIF ya da JPG. En fazla %{size}. %{dimensions}px boyutuna küçültülecek
+ header: WEBP, PNG, GIF veya JPG. En fazla %{size}. %{dimensions}px boyutuna küçültülecektir
inbox_url: Kullanmak istediğiniz aktarıcının ön sayfasından URL'yi kopyalayın
irreversible: Süzgeçlenmiş gönderiler, filtre daha sonra kaldırılsa bile, geri dönüşümsüz biçimde kaybolur
locale: Kullanıcı arayüzünün dili, e-postalar ve push bildirimleri
diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml
index aa64ecfdb..a85684a0f 100644
--- a/config/locales/simple_form.uk.yml
+++ b/config/locales/simple_form.uk.yml
@@ -39,14 +39,14 @@ uk:
text: Ви можете оскаржити рішення лише один раз
defaults:
autofollow: Люди, що зареєструвалися за вашим запрошенням, автоматично підпишуться на вас
- avatar: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px
+ avatar: WEBP, PNG, GIF, або JPG. Максимальний розмір - %{size}. Буде зменшено до %{dimensions}px
bot: Цей обліковий запис виконує переважно автоматичні дії та може не відстежуватися
context: Один або кілька контекстів, до яких повинні бути застосовані фільтри
current_password: Для цілей безпеки, будь ласка, введіть пароль поточного облікового запису
current_username: Для підтвердження, будь ласка, введіть ім'я користувача поточного облікового запису
digest: Буде послано тільки після довгого періоду неактивності, та тільки якщо ви отримаєте персональне повідомлення у цей період
email: Вам надійде електронний лист з підтвердженням
- header: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px
+ header: WEBP, PNG, GIF, або JPG. Максимальний розмір - %{size}. Буде зменшено до %{dimensions}px
inbox_url: Скопіюйте інтернет-адресу з титульної сторінки ретранслятора
irreversible: Відфільтровані дописи зникнуть назавжди, навіть якщо фільтр потім буде вилучено
locale: Мова інтерфейсу, електронних листів та push-сповіщень
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index 8943527b1..817883941 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -39,14 +39,12 @@ vi:
text: Bạn chỉ có thể khiếu nại mỗi lần một cảnh cáo
defaults:
autofollow: Những người đăng ký sẽ tự động theo dõi bạn
- avatar: PNG, GIF hoặc JPG, tối đa %{size}. Sẽ bị nén xuống %{dimensions}px
bot: Tài khoản này tự động thực hiện các hành động và không được quản lý bởi người thật
context: Chọn một hoặc nhiều nơi mà bộ lọc sẽ áp dụng
current_password: Vì mục đích bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại
current_username: Để xác nhận, vui lòng nhập tên người dùng của tài khoản hiện tại
digest: Chỉ gửi sau một thời gian dài không hoạt động hoặc khi bạn nhận được tin nhắn (trong thời gian vắng mặt)
email: Bạn sẽ được gửi một email xác minh
- header: PNG, GIF hoặc JPG, tối đa %{size}. Sẽ bị nén xuống %{dimensions}px
inbox_url: Sao chép URL của máy chủ mà bạn muốn dùng
irreversible: Các tút đã lọc sẽ không thể phục hồi, kể cả sau khi xóa bộ lọc
locale: Ngôn ngữ của giao diện, email và thông báo đẩy
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index 7a56fa255..d0ca529a4 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -39,14 +39,14 @@ zh-CN:
text: 你仅能对单次处罚提交一次申诉
defaults:
autofollow: 通过邀请链接注册的用户将会自动关注你
- avatar: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px
+ avatar: 支持WEBP、PNG、GIF 或 JPG。最大 %{size}。将缩小到 %{dimensions}px
bot: 来自这个账户的绝大多数操作都是自动进行的,并且可能无人监控
context: 过滤器的应用环境
current_password: 为了安全起见,请输入当前账号的密码
current_username: 请输入当前账号的用户名以确认
digest: 仅在你长时间未登录,且收到了私信时发送
email: 我们会向你发送一封确认邮件
- header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px
+ header: 支持WEBP、PNG、GIF 或 JPG。最大 %{size}。将缩小到 %{dimensions}px
inbox_url: 从你想要使用的中继站的主页上复制 URL
irreversible: 已过滤的嘟文会不可逆转地消失,即便移除过滤器之后也一样
locale: 用户界面、电子邮件和推送通知中使用的语言
diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml
index ad963b32b..6fa052082 100644
--- a/config/locales/simple_form.zh-HK.yml
+++ b/config/locales/simple_form.zh-HK.yml
@@ -39,14 +39,12 @@ zh-HK:
text: 你每次只能提出一次申訴
defaults:
autofollow: 通過邀請網址註冊的用戶將會自動關注你
- avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px
bot: 這個帳號是機械人,所做的事情可能沒有經人為監察
context: 過濾器應該套用的一項或多項條件
current_password: 基於保安緣故,請輸入目前帳號的密碼
current_username: 請輸入目前帳戶的使用者名稱以確認
digest: 僅在你長時間未登錄,且收到了私信時發送
email: 你將收到一封確認電郵
- header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px
inbox_url: 在你想要使用的中繼站首頁,複製它的網址
irreversible: 文章過濾是不可還原的,即使日後過濾器被移除,也無法重新看到被它濾走的文章
locale: 使用者介面、電郵和通知的語言
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index 696fd5fed..c83a7be75 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -39,14 +39,14 @@ zh-TW:
text: 您只能對警示提出一次申訴
defaults:
autofollow: 通過邀請網址註冊的使用者將自動跟隨您
- avatar: 支援 PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size},會等比例縮減至 %{dimensions} 像素
+ avatar: 支援 WEBP、PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size}。將等比例縮減至 %{dimensions} 像素
bot: 此帳號主要執行自動化操作且可能未受人為監控
context: 此過濾器應套用於以下一項或多項情境
current_password: 因安全因素,請輸入目前帳號的密碼
current_username: 請輸入目前帳號的使用者名稱以確認
digest: 僅於您長時間未登入且於未登入期間收到私訊時傳送
email: 您將收到一封確認電子郵件
- header: 支援 PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size},會等比例縮減至 %{dimensions} 像素
+ header: 支援 WEBP、PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size}。將等比例縮減至 %{dimensions} 像素
inbox_url: 從您想要使用的中繼首頁複製網址
irreversible: 已過濾的嘟文將會不可逆地消失,即便之後移除過濾器也一樣
locale: 使用者介面、電子郵件與推播通知的語言
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 520b64f88..d97cfac0e 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -175,6 +175,7 @@ sk:
approve_user: Odobri užívateľa
assigned_to_self_report: Priraď hlásenie
change_email_user: Zmeň email pre užívateľa
+ change_role_user: Zmeň užívateľskú rolu
confirm_user: Potvrď užívateľa
create_account_warning: Vytvor výstrahu
create_announcement: Vytvor oboznámenie
@@ -633,6 +634,7 @@ sk:
approved: Pre registráciu je nutné povolenie
none: Nikto sa nemôže registrovať
open: Ktokoľvek sa môže zaregistrovať
+ warning_hint: Odporúčame používať "Pre registráciu je potrebné schválenie", pokiaľ si niesi istý/á, že tvoj moderovací tím vie zvládnuť spam a záškodné registrácie včas.
title: Nastavenia servera
site_uploads:
delete: Vymaž nahratý súbor
@@ -738,6 +740,8 @@ sk:
enabled: Aktívne
status: Stav
admin_mailer:
+ auto_close_registrations:
+ subject: Registrácie na %{instance} boli automaticky prepnuté na vyžadujúce schválenie
new_appeal:
actions:
none: varovanie
@@ -791,6 +795,7 @@ sk:
captcha_confirmation:
title: Bezpečnostná kontrola
confirmations:
+ clicking_this_link: kliknutím na tento odkaz
login_link: prihlás sa
welcome_title: Vitaj, %{name}!
delete_account: Vymaž účet
@@ -1285,9 +1290,6 @@ sk:
welcome:
edit_profile_action: Nastav profil
explanation: Tu nájdeš nejaké tipy do začiatku
- final_action: Začni prispievať
- full_handle: Adresa tvojho profilu v celom formáte
- full_handle_hint: Toto je čo musíš dať vedieť svojím priateľom aby ti mohli posielať správy, alebo ťa následovať z iného serveru.
subject: Vitaj na Mastodone
title: Vitaj na palube, %{name}!
users:
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 54a4da3ea..c9b2343b6 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -795,6 +795,7 @@ sl:
disabled: Nikomur
users: Prijavljenim krajevnim uporabnikom
registrations:
+ moderation_recommandation: Preden prijave odprete za vse poskrbite, da imate v ekipi moderatorjev zadosti aktivnih članov.
preamble: Nadzirajte, kdo lahko ustvari račun na vašem strežniku.
title: Registracije
registrations_mode:
@@ -802,6 +803,7 @@ sl:
approved: Potrebna je odobritev za prijavo
none: Nihče se ne more prijaviti
open: Vsakdo se lahko prijavi
+ warning_hint: Priporočamo uporabo možnosti »Potrebna je odobritev za prijavo«, razen če ste gotovi, da se bo vaša ekipa moderatorjev res zmožna hitro odzvati na neželene vsebine in škodoželjne prijave.
security:
authorized_fetch: Od drugih strežnikov v federaciji zahtevaj overitev pristnosti
authorized_fetch_hint: Zahtevanje overitve pristnosti od drugih strežnikov v federaciji omogoči strožje uveljavljanje uporabniških in strežniških blokad. Vendar je cena za to počasnejše delovanje, zmanjšanje dosega vaših odgovorov in morebitne težave z združljivostjo z nekaterimi storitvami v federaciji. Poleg tega to odločenim akterjem ne bo preprečilo pridobivanja vaših javnih objav in računov.
@@ -1002,6 +1004,9 @@ sl:
title: Spletne zanke
webhook: Spletna zanka
admin_mailer:
+ auto_close_registrations:
+ body: Zaradi pomanjkanja moderiranja v zadnjem času, se je za strežnik %{instance} samodejno vklopilo ročno preverjanje in potrjevanje prijav. S tem se prepreči morebitno zlorabo strežnika %{instance}. Prijave lahko kadarkoli spet spremenite nazaj v odprte.
+ subject: Za strežnik %{instance} se je samodejno vklopilo ročno potrjevanje prijav
new_appeal:
actions:
delete_statuses: brisanje njihovih objav,
@@ -1905,10 +1910,6 @@ sl:
edit_profile_action: Nastavitve profila
edit_profile_step: Profil lahko prilagodite tako, da naložite sliko profila, spremenite pojavno ime in drugo. Lahko izberete, da želite pregledati nove sledilce, preden jim dovolite sledenje.
explanation: Tu je nekaj nasvetov za začetek
- final_action: Začnite objavljati
- final_step: 'Začnite objavljati! Tudi brez sledilcev bodo vaše javne objave videli drugi, npr. na krajevni časovnici ali v ključnikih. Morda se želite predstaviti s ključnikom #introductions.'
- full_handle: Vaša polna ročica
- full_handle_hint: To bi povedali svojim prijateljem, da vam lahko pošljejo sporočila ali vam sledijo iz drugega strežnika.
subject: Dobrodošli na Mastodon
title: Dobrodošli, %{name}!
users:
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 460fd82dc..4293271bb 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -764,6 +764,7 @@ sq:
disabled: Për askënd
users: Për përdorues vendorë që kanë bërë hyrjen
registrations:
+ moderation_recommandation: Ju lutemi, sigurohuni si keni një ekip adekuat dhe reagues moderimi, përpara se të hapni regjistrimet për këdo!
preamble: Kontrolloni cilët mund të krijojnë llogari në shërbyesin tuaj.
title: Regjistrime
registrations_mode:
@@ -771,6 +772,7 @@ sq:
approved: Për regjistrim, lypset miratimi
none: S’mund të regjistrohet ndokush
open: Mund të regjistrohet gjithkush
+ warning_hint: Rekomandojmë përdorimin e “Për regjistrim lypset miratim”. veç nëse jeni i bindur se ekipi juaj i moderimit mund të trajtojë në kohë mesazhe të padëshiruar dhe regjistrime dashakeqe.
security:
authorized_fetch: Kërko doemos mirëfilltësim prej shërbyes të federuar
authorized_fetch_hint: Kërkimi doemos i kryerjes së mirëfilltësimit për shërbyes të federuar aktivizon detyrim më strikt të bllokimeve si në shkallë përdoruesi, ashtu edhe në shkallë shërbyesi. Por kjo vjen me koston e një keqësimi të funksionimit, redukton përhapjen e përgjigjeve tuaja dhe mund të sjellë probleme përputhshmërie me disa shërbime të federuara. Veç kësaj, kjo s’do t’ua pengojë, aktorëve vënë kësaj, të sjellin postimet dhe llogaritë tuaja publike.
@@ -962,6 +964,9 @@ sq:
title: Webhook-ë
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Për shkak mungese veprimtarie moderatori së fundi, regjistrimet te %{instance} janë kaluar automatikisht të kërkojnë shqyrtim dorazi, për të penguar përdorimin e %{instance} si një platformë për aktorë të këqij. Mund të kaloni kurdo te regjistrime të hapura.
+ subject: Regjistrimet te %{instance} janë kaluar automatikisht të kërkojnë miratim
new_appeal:
actions:
delete_statuses: fshirje e postimeve të tij
@@ -1837,10 +1842,6 @@ sq:
edit_profile_action: Ujdisje profili
edit_profile_step: Profilin tuaj mund ta përshtatni duke ngarkuar një figurë, duke ndryshuar emrin tuaj në ekran, etj. Mund të zgjidhni të shqyrtoni ndjekës të rinj, para se të jenë lejuar t’ju ndjekin.
explanation: Ja disa ndihmëza, sa për t’ia filluar
- final_action: Filloni të postoni
- final_step: 'Filloni të postoni! Edhe pa ndjekës, postimet tuaja publike mund të shihen nga të tjerët, për shembull, në rrjedhën kohore vendore, ose në hashtag-ë. Mund të doni të prezantoni veten përmes hashtag-ut #introductions.'
- full_handle: Identifikuesi juaj i plotë
- full_handle_hint: Kjo është ajo çka do të duhej t’u tregonit shokëve tuaj, që të mund t’ju dërgojnë mesazhe ose t’ju ndjekin nga një shërbyes tjetër.
subject: Mirë se vini te Mastodon-i
title: Mirë se vini, %{name}!
users:
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index b55b6e0d1..a1f6df067 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -1873,10 +1873,6 @@ sr-Latn:
edit_profile_action: Podesi nalog
edit_profile_step: Možete prilagoditi svoj profil tako što ćete postaviti profilnu sliku, promeniti ime za prikaz i tako dalje. Možete dati saglasnost da pregledate nove pratioce pre nego što im dozvolite da Vas zaprate.
explanation: Evo nekoliko saveta za početak
- final_action: Počnite objavljivati
- final_step: 'Počnite da objavljujete! Čak i bez pratilaca, Vaše javne objave su vidljive drugim ljudima, na primer na lokalnoj vremenskoj liniji ili u heš oznakama. Možda želite da se predstavite sa heš oznakom #introductions ili #predstavljanja.'
- full_handle: Vaš pun nadimak
- full_handle_hint: Ovo biste rekli svojim prijateljima kako bi vam oni poslali poruku, ili zapratili sa druge instance.
subject: Dobro došli na Mastodon
title: Dobro došli, %{name}!
users:
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 9e67e9692..494b41a75 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -1873,10 +1873,6 @@ sr:
edit_profile_action: Подеси налог
edit_profile_step: Можете прилагодити свој профил тако што ћете поставити профилну слику, променити име за приказ и тако даље. Можете дати сагласност да прегледате нове пратиоце пре него што им дозволите да Вас запрате.
explanation: Ево неколико савета за почетак
- final_action: Почните објављивати
- final_step: 'Почните да објављујете! Чак и без пратилаца, Ваше јавне објаве су видљиве другим људима, на пример на локалној временској линији или у хеш ознакама. Можда желите да се представите са хеш ознаком #introductions или #представљања.'
- full_handle: Ваш пун надимак
- full_handle_hint: Ово бисте рекли својим пријатељима како би вам они послали поруку, или запратили са друге инстанце.
subject: Добро дошли на Mastodon
title: Добро дошли, %{name}!
users:
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index deac7cc63..d0f3994b4 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -1837,10 +1837,6 @@ sv:
edit_profile_action: Profilinställning
edit_profile_step: Du kan anpassa din profil genom att ladda upp en profilbild, ändra ditt visningsnamn med mera. Du kan välja att granska nya följare innan de får följa dig.
explanation: Här är några tips för att komma igång
- final_action: Börja göra inlägg
- final_step: 'Börja skriv inlägg! Även utan följare kan dina offentliga inlägg ses av andra, exempelvis på den lokala tidslinjen eller i hashtaggar. Du kanske vill introducera dig själv under hashtaggen #introduktion eller #introductions.'
- full_handle: Ditt fullständiga användarnamn/mastodonadress
- full_handle_hint: Det här är vad du skulle berätta för dina vänner så att de kan meddela eller följa dig från en annan instans.
subject: Välkommen till Mastodon
title: Välkommen ombord, %{name}!
users:
diff --git a/config/locales/th.yml b/config/locales/th.yml
index b76f6992a..5253dd6b7 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -23,11 +23,11 @@ th:
admin:
account_actions:
action: ทำการกระทำ
- title: ทำการกระทำการควบคุม %{acct}
+ title: ทำการกระทำการกลั่นกรองต่อ %{acct}
account_moderation_notes:
create: เขียนหมายเหตุ
- created_msg: สร้างหมายเหตุการควบคุมสำเร็จ!
- destroyed_msg: ทำลายหมายเหตุการควบคุมสำเร็จ!
+ created_msg: สร้างหมายเหตุการกลั่นกรองสำเร็จ!
+ destroyed_msg: ทำลายหมายเหตุการกลั่นกรองสำเร็จ!
accounts:
add_email_domain_block: ปิดกั้นโดเมนอีเมล
approve: อนุมัติ
@@ -93,8 +93,8 @@ th:
pending: รอดำเนินการ
silenced: จำกัดอยู่
suspended: ระงับอยู่
- title: การควบคุม
- moderation_notes: หมายเหตุการควบคุม
+ title: การกลั่นกรอง
+ moderation_notes: หมายเหตุการกลั่นกรอง
most_recent_activity: กิจกรรมล่าสุด
most_recent_ip: IP ล่าสุด
no_account_selected: ไม่มีการเปลี่ยนแปลงบัญชีเนื่องจากไม่มีการเลือก
@@ -226,7 +226,7 @@ th:
update_status: อัปเดตโพสต์
update_user_role: อัปเดตบทบาท
actions:
- approve_appeal_html: "%{name} ได้อนุมัติการอุทธรณ์การตัดสินใจในการควบคุมจาก %{target}"
+ approve_appeal_html: "%{name} ได้อนุมัติการอุทธรณ์การตัดสินใจในการกลั่นกรองจาก %{target}"
approve_user_html: "%{name} ได้อนุมัติการลงทะเบียนจาก %{target}"
assigned_to_self_report_html: "%{name} ได้มอบหมายรายงาน %{target} ให้กับตนเอง"
change_email_user_html: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}"
@@ -263,7 +263,7 @@ th:
enable_user_html: "%{name} ได้เปิดใช้งานการเข้าสู่ระบบสำหรับผู้ใช้ %{target}"
memorialize_account_html: "%{name} ได้เปลี่ยนบัญชีของ %{target} เป็นหน้าอนุสรณ์"
promote_user_html: "%{name} ได้เลื่อนขั้นผู้ใช้ %{target}"
- reject_appeal_html: "%{name} ได้ปฏิเสธการอุทธรณ์การตัดสินใจในการควบคุมจาก %{target}"
+ reject_appeal_html: "%{name} ได้ปฏิเสธการอุทธรณ์การตัดสินใจในการกลั่นกรองจาก %{target}"
reject_user_html: "%{name} ได้ปฏิเสธการลงทะเบียนจาก %{target}"
remove_avatar_user_html: "%{name} ได้เอาภาพประจำตัวของ %{target} ออก"
reopen_report_html: "%{name} ได้เปิดรายงาน %{target} ใหม่"
@@ -395,7 +395,7 @@ th:
import: นำเข้า
new:
create: สร้างการปิดกั้น
- hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะนำไปใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
+ hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะนำไปใช้วิธีการกลั่นกรองที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
severity:
desc_html: "จำกัด จะทำให้โพสต์จากบัญชีที่โดเมนนี้ไม่ปรากฏแก่ใครก็ตามที่ไม่ได้กำลังติดตามเขา ระงับ จะเอาข้อมูลเนื้อหา, สื่อ และโปรไฟล์ทั้งหมดสำหรับบัญชีของโดเมนนี้ออกจากเซิร์ฟเวอร์ของคุณ ใช้ ไม่มี หากคุณแค่ต้องการปฏิเสธไฟล์สื่อ"
noop: ไม่มี
@@ -407,7 +407,7 @@ th:
obfuscate: ทำให้ชื่อโดเมนคลุมเครือ
obfuscate_hint: ทำให้ชื่อโดเมนในรายการคลุมเครือบางส่วนหากมีการเปิดใช้งานการประกาศรายการการจำกัดโดเมน
private_comment: ความคิดเห็นส่วนตัว
- private_comment_hint: ความคิดเห็นเกี่ยวกับการจำกัดโดเมนนี้สำหรับการใช้งานภายในโดยผู้ควบคุม
+ private_comment_hint: ความคิดเห็นเกี่ยวกับการจำกัดโดเมนนี้สำหรับการใช้งานภายในโดยผู้กลั่นกรอง
public_comment: ความคิดเห็นสาธารณะ
public_comment_hint: ความคิดเห็นเกี่ยวกับการจำกัดโดเมนนี้สำหรับสาธารณชนทั่วไป หากมีการเปิดใช้งานการประกาศรายการการจำกัดโดเมน
reject_media: ปฏิเสธไฟล์สื่อ
@@ -512,7 +512,7 @@ th:
moderation:
all: ทั้งหมด
limited: จำกัดอยู่
- title: การควบคุม
+ title: การกลั่นกรอง
private_comment: ความคิดเห็นส่วนตัว
public_comment: ความคิดเห็นสาธารณะ
purge: ล้างข้อมูล
@@ -587,7 +587,7 @@ th:
add_to_report: เพิ่มข้อมูลเพิ่มเติมไปยังรายงาน
are_you_sure: คุณแน่ใจหรือไม่?
assign_to_self: มอบหมายให้ฉัน
- assigned: ผู้ควบคุมที่ได้รับมอบหมาย
+ assigned: ผู้กลั่นกรองที่ได้รับมอบหมาย
by_target_domain: โดเมนของบัญชีที่ได้รับการรายงาน
cancel: ยกเลิก
category: หมวดหมู่
@@ -596,7 +596,7 @@ th:
none: ไม่มี
comment_description_html: 'เพื่อให้ข้อมูลเพิ่มเติม %{name} ได้เขียน:'
confirm: ยืนยัน
- confirm_action: ยืนยันการกระทำการควบคุมต่อ @%{acct}
+ confirm_action: ยืนยันการกระทำการกลั่นกรองต่อ @%{acct}
created_at: รายงานเมื่อ
delete_and_resolve: ลบโพสต์
forwarded: ส่งต่อแล้ว
@@ -613,7 +613,7 @@ th:
delete: ลบ
placeholder: อธิบายว่ามีการใช้การกระทำใด หรือการอัปเดตที่เกี่ยวข้องอื่นใด...
title: หมายเหตุ
- notes_description_html: ดูและฝากหมายเหตุถึงผู้ควบคุมอื่น ๆ และตัวคุณเองในอนาคต
+ notes_description_html: ดูและฝากหมายเหตุถึงผู้กลั่นกรองอื่น ๆ และตัวคุณเองในอนาคต
processed_msg: 'ประมวลผลรายงาน #%{id} สำเร็จ'
quick_actions_description_html: 'ดำเนินการอย่างรวดเร็วหรือเลื่อนลงเพื่อดูเนื้อหาที่รายงาน:'
remote_user_placeholder: ผู้ใช้ระยะไกลจาก %{instance}
@@ -644,7 +644,7 @@ th:
preview_preamble_html: "@%{acct} จะได้รับคำเตือนโดยมีเนื้อหาดังต่อไปนี้:"
record_strike_html: บันทึกการดำเนินการต่อ @%{acct} เพื่อช่วยให้คุณเลื่อนระดับการละเมิดในอนาคตจากบัญชีนี้
send_email_html: ส่งอีเมลคำเตือนถึง @%{acct}
- warning_placeholder: การให้เหตุผลเพิ่มเติมที่ไม่จำเป็นสำหรับการกระทำการควบคุม
+ warning_placeholder: การให้เหตุผลเพิ่มเติมที่ไม่จำเป็นสำหรับการกระทำการกลั่นกรอง
target_origin: จุดเริ่มต้นของบัญชีที่ได้รับการรายงาน
title: รายงาน
unassign: เลิกมอบหมาย
@@ -660,7 +660,7 @@ th:
administration: การดูแล
devops: DevOps
invites: คำเชิญ
- moderation: การควบคุม
+ moderation: การกลั่นกรอง
special: พิเศษ
delete: ลบ
description_html: ด้วย บทบาทผู้ใช้ คุณสามารถปรับแต่งว่าฟังก์ชันและพื้นที่ใดของ Mastodon ที่ผู้ใช้ของคุณสามารถเข้าถึง
@@ -679,7 +679,7 @@ th:
manage_announcements: จัดการประกาศ
manage_announcements_description: อนุญาตให้ผู้ใช้จัดการประกาศในเซิร์ฟเวอร์
manage_appeals: จัดการการอุทธรณ์
- manage_appeals_description: อนุญาตให้ผู้ใช้ตรวจทานการอุทธรณ์ต่อการกระทำการควบคุม
+ manage_appeals_description: อนุญาตให้ผู้ใช้ตรวจทานการอุทธรณ์ต่อการกระทำการกลั่นกรอง
manage_blocks: จัดการการปิดกั้น
manage_blocks_description: อนุญาตให้ผู้ใช้ปิดกั้นผู้ให้บริการอีเมลและที่อยู่ IP
manage_custom_emojis: จัดการอีโมจิที่กำหนดเอง
@@ -689,7 +689,7 @@ th:
manage_invites: จัดการคำเชิญ
manage_invites_description: อนุญาตให้ผู้ใช้เรียกดูและปิดใช้งานลิงก์เชิญ
manage_reports: จัดการรายงาน
- manage_reports_description: อนุญาตให้ผู้ใช้ตรวจทานรายงานและทำการกระทำการควบคุมต่อรายงานเหล่านั้น
+ manage_reports_description: อนุญาตให้ผู้ใช้ตรวจทานรายงานและทำการกระทำการกลั่นกรองต่อรายงานเหล่านั้น
manage_roles: จัดการบทบาท
manage_roles_description: อนุญาตให้ผู้ใช้จัดการและกำหนดบทบาทที่ต่ำกว่าบทบาทของเขา
manage_rules: จัดการกฎ
@@ -701,7 +701,7 @@ th:
manage_user_access: จัดการการเข้าถึงของผู้ใช้
manage_user_access_description: อนุญาตให้ผู้ใช้ปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยของผู้ใช้อื่น เปลี่ยนที่อยู่อีเมลของเขา และตั้งรหัสผ่านของเขาใหม่
manage_users: จัดการผู้ใช้
- manage_users_description: อนุญาตให้ผู้ใช้ดูรายละเอียดของผู้ใช้อื่น ๆ และทำการกระทำการควบคุมต่อผู้ใช้เหล่านั้น
+ manage_users_description: อนุญาตให้ผู้ใช้ดูรายละเอียดของผู้ใช้อื่น ๆ และทำการกระทำการกลั่นกรองต่อผู้ใช้เหล่านั้น
manage_webhooks: จัดการเว็บฮุค
manage_webhooks_description: อนุญาตให้ผู้ใช้ตั้งค่าเว็บฮุคสำหรับเหตุการณ์การดูแล
view_audit_log: ดูรายการบันทึกการตรวจสอบ
@@ -721,7 +721,7 @@ th:
settings:
about:
manage_rules: จัดการกฎของเซิร์ฟเวอร์
- preamble: ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่เซิร์ฟเวอร์ได้รับการดำเนินงาน ควบคุม ได้รับทุน
+ preamble: ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่เซิร์ฟเวอร์ได้รับการดำเนินงาน กลั่นกรอง ได้รับทุน
rules_hint: มีพื้นที่เฉพาะสำหรับกฎที่คาดหวังให้ผู้ใช้ของคุณปฏิบัติตาม
title: เกี่ยวกับ
appearance:
@@ -753,6 +753,7 @@ th:
disabled: ให้กับไม่มีใคร
users: ให้กับผู้ใช้ในเซิร์ฟเวอร์ที่เข้าสู่ระบบ
registrations:
+ moderation_recommandation: โปรดตรวจสอบให้แน่ใจว่าคุณมีทีมการกลั่นกรองที่เพียงพอและมีปฏิกิริยาตอบสนองก่อนที่คุณจะเปิดการลงทะเบียนให้กับทุกคน!
preamble: ควบคุมผู้ที่สามารถสร้างบัญชีในเซิร์ฟเวอร์ของคุณ
title: การลงทะเบียน
registrations_mode:
@@ -760,6 +761,7 @@ th:
approved: ต้องการการอนุมัติสำหรับการลงทะเบียน
none: ไม่มีใครสามารถลงทะเบียน
open: ใครก็ตามสามารถลงทะเบียน
+ warning_hint: เราแนะนำให้ใช้ “ต้องการการอนุมัติสำหรับการลงทะเบียน” เว้นแต่คุณมั่นใจว่าทีมการกลั่นกรองของคุณสามารถจัดการกับสแปมและการลงทะเบียนที่เป็นอันตรายได้อย่างทันท่วงที
security:
authorized_fetch: ต้องมีการรับรองความถูกต้องจากเซิร์ฟเวอร์ที่ติดต่อกับภายนอก
authorized_fetch_hint: การต้องการการรับรองความถูกต้องจากเซิร์ฟเวอร์ที่ติดต่อกับภายนอกทำให้การบังคับใช้การปิดกั้นทั้งระดับผู้ใช้และระดับเซิร์ฟเวอร์เข้มงวดขึ้น อย่างไรก็ตาม สิ่งนี้มาพร้อมกับต้นทุนที่ต้องแลกด้วยผลเสียด้านประสิทธิภาพ ลดการเข้าถึงการตอบกลับของคุณ และอาจก่อให้เกิดปัญหาความเข้ากันได้กับบริการที่ติดต่อกับภายนอกบางอย่าง นอกจากนี้ สิ่งนี้จะไม่ป้องกันตัวดำเนินการเฉพาะจากการดึงข้อมูลโพสต์และบัญชีสาธารณะของคุณ
@@ -771,7 +773,7 @@ th:
destroyed_msg: ลบการอัปโหลดไซต์สำเร็จ!
software_updates:
critical_update: สำคัญ — โปรดอัปเดตอย่างรวดเร็ว
- description: ขอแนะนำให้ทำให้การติดตั้ง Mastodon ของคุณทันสมัยอยู่เสมอเพื่อรับประโยชน์จากการแก้ไขและคุณลักษณะล่าสุด ยิ่งไปกว่านั้น บางครั้งก็เป็นสิ่งสำคัญที่จะอัปเดต Mastodon ในเวลาที่เหมาะสมเพื่อหลีกเลี่ยงปัญหาความปลอดภัย ด้วยเหตุผลเหล่านี้ Mastodon จึงตรวจสอบการอัปเดตทุก 30 นาที และจะแจ้งเตือนคุณตามการกำหนดลักษณะการแจ้งเตือนอีเมลของคุณ
+ description: ขอแนะนำให้ทำให้การติดตั้ง Mastodon ของคุณทันสมัยอยู่เสมอเพื่อรับประโยชน์จากการแก้ไขและคุณลักษณะล่าสุด ยิ่งไปกว่านั้น บางครั้งก็เป็นสิ่งสำคัญที่จะอัปเดต Mastodon อย่างทันท่วงทีเพื่อหลีกเลี่ยงปัญหาความปลอดภัย ด้วยเหตุผลเหล่านี้ Mastodon จึงตรวจสอบการอัปเดตทุก 30 นาที และจะแจ้งเตือนคุณตามการกำหนดลักษณะการแจ้งเตือนอีเมลของคุณ
documentation_link: เรียนรู้เพิ่มเติม
release_notes: บันทึกประจำรุ่น
title: การอัปเดตที่พร้อมใช้งาน
@@ -948,6 +950,9 @@ th:
title: เว็บฮุค
webhook: เว็บฮุค
admin_mailer:
+ auto_close_registrations:
+ body: เนื่องจากการขาดกิจกรรมของผู้กลั่นกรองล่าสุด จึงมีการสลับการลงทะเบียนใน %{instance} เป็นการต้องการการตรวจทานด้วยตนเองโดยอัตโนมัติ เพื่อป้องกันไม่ให้มีการใช้ %{instance} เป็นแพลตฟอร์มสำหรับผู้ไม่ประสงค์ดี คุณสามารถสลับการลงทะเบียนกลับเป็นการลงทะเบียนแบบเปิดเมื่อใดก็ได้
+ subject: มีการสลับการลงทะเบียนสำหรับ %{instance} เป็นการต้องการการอนุมัติโดยอัตโนมัติ
new_appeal:
actions:
delete_statuses: เพื่อลบโพสต์ของเขา
@@ -957,9 +962,9 @@ th:
sensitive: เพื่อทำเครื่องหมายบัญชีของเขาว่าละเอียดอ่อน
silence: เพื่อจำกัดบัญชีของเขา
suspend: เพื่อระงับบัญชีของเขา
- body: "%{target} กำลังอุทธรณ์การตัดสินใจในการควบคุมโดย %{action_taken_by} จาก %{date} ซึ่งเป็น %{type} เขาเขียนว่า:"
- next_steps: คุณสามารถอนุมัติการอุทธรณ์เพื่อเลิกทำการตัดสินใจในการควบคุม หรือเพิกเฉยต่อการอุทธรณ์
- subject: "%{username} กำลังอุทธรณ์การตัดสินใจในการควบคุมใน %{instance}"
+ body: "%{target} กำลังอุทธรณ์การตัดสินใจในการกลั่นกรองโดย %{action_taken_by} จาก %{date} ซึ่งก็คือ %{type} เขาเขียนว่า:"
+ next_steps: คุณสามารถอนุมัติการอุทธรณ์เพื่อเลิกทำการตัดสินใจในการกลั่นกรอง หรือเพิกเฉยต่อการอุทธรณ์
+ subject: "%{username} กำลังอุทธรณ์การตัดสินใจในการกลั่นกรองใน %{instance}"
new_critical_software_updates:
body: มีการปล่อยรุ่น Mastodon สำคัญใหม่ คุณอาจต้องการอัปเดตโดยเร็วที่สุดเท่าที่จะเป็นไปได้!
subject: การอัปเดต Mastodon สำคัญพร้อมใช้งานสำหรับ %{instance}!
@@ -1067,8 +1072,8 @@ th:
accept: ยอมรับ
back: ย้อนกลับ
invited_by: 'คุณสามารถเข้าร่วม %{domain} ได้ด้วยคำเชิญที่คุณได้รับจาก:'
- preamble: มีการตั้งและบังคับใช้กฎโดยผู้ควบคุมของ %{domain}
- preamble_invited: ก่อนที่คุณจะดำเนินการต่อ โปรดพิจารณากฎพื้นฐานที่ตั้งโดยผู้ควบคุมของ %{domain}
+ preamble: มีการตั้งและบังคับใช้กฎโดยผู้กลั่นกรองของ %{domain}
+ preamble_invited: ก่อนที่คุณจะดำเนินการต่อ โปรดพิจารณากฎพื้นฐานที่ตั้งโดยผู้กลั่นกรองของ %{domain}
title: กฎพื้นฐานบางประการ
title_invited: คุณได้รับการเชิญ
security: ความปลอดภัย
@@ -1083,7 +1088,7 @@ th:
preamble_html: เข้าสู่ระบบด้วยข้อมูลประจำตัว %{domain} ของคุณ หากบัญชีของคุณได้รับการโฮสต์ในเซิร์ฟเวอร์อื่น คุณจะไม่สามารถเข้าสู่ระบบได้ที่นี่
title: เข้าสู่ระบบ %{domain}
sign_up:
- manual_review: การลงทะเบียนใน %{domain} จะผ่านการตรวจทานด้วยตนเองโดยผู้ควบคุมของเรา เพื่อช่วยให้เราประมวลผลการลงทะเบียนของคุณ เขียนสักนิดเกี่ยวกับตัวคุณเองและเหตุผลที่คุณต้องการบัญชีใน %{domain}
+ manual_review: การลงทะเบียนใน %{domain} จะผ่านการตรวจทานด้วยตนเองโดยผู้กลั่นกรองของเรา เพื่อช่วยให้เราประมวลผลการลงทะเบียนของคุณ เขียนสักนิดเกี่ยวกับตัวคุณเองและเหตุผลที่คุณต้องการบัญชีใน %{domain}
preamble: ด้วยบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์
title: มาตั้งค่าของคุณใน %{domain} กันเลย
status:
@@ -1419,7 +1424,7 @@ th:
other_data: จะไม่ย้ายข้อมูลอื่น ๆ โดยอัตโนมัติ
redirect: จะอัปเดตโปรไฟล์ของบัญชีปัจจุบันของคุณด้วยข้อสังเกตการเปลี่ยนเส้นทางและจะไม่รวมอยู่ในการค้นหา
moderation:
- title: การควบคุม
+ title: การกลั่นกรอง
move_handler:
carry_blocks_over_text: ผู้ใช้นี้ได้ย้ายจาก %{acct} ซึ่งคุณได้ปิดกั้น
carry_mutes_over_text: ผู้ใช้นี้ได้ย้ายจาก %{acct} ซึ่งคุณได้ซ่อน
@@ -1627,7 +1632,7 @@ th:
profile: โปรไฟล์สาธารณะ
relationships: การติดตามและผู้ติดตาม
statuses_cleanup: การลบโพสต์แบบอัตโนมัติ
- strikes: การดำเนินการการควบคุม
+ strikes: การดำเนินการการกลั่นกรอง
two_factor_authentication: การรับรองความถูกต้องด้วยสองปัจจัย
webauthn_authentication: กุญแจความปลอดภัย
statuses:
@@ -1781,9 +1786,9 @@ th:
spam: สแปม
violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้
explanation:
- delete_statuses: มีการพบว่าโพสต์บางส่วนของคุณละเมิดหลักเกณฑ์ชุมชนจำนวนหนึ่งหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา
+ delete_statuses: มีการพบว่าโพสต์บางส่วนของคุณละเมิดหลักเกณฑ์ชุมชนจำนวนหนึ่งหรือมากกว่าและได้รับการเอาออกโดยผู้กลั่นกรองของ %{instance} ในเวลาต่อมา
disable: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป แต่โปรไฟล์และข้อมูลอื่น ๆ ของคุณยังคงอยู่ในสภาพเดิม คุณสามารถขอข้อมูลสำรองของข้อมูลของคุณ เปลี่ยนการตั้งค่าบัญชี หรือลบบัญชีของคุณ
- mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์บางส่วนของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต
+ mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์บางส่วนของคุณว่าละเอียดอ่อนโดยผู้กลั่นกรองของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต
sensitive: จากนี้ไป จะทำเครื่องหมายไฟล์สื่อที่อัปโหลดทั้งหมดของคุณว่าละเอียดอ่อนและซ่อนอยู่หลังการคลิกไปยังคำเตือน
silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจไม่รวมคุณอยู่ในคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง
suspend: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป และจะไม่สามารถเข้าถึงโปรไฟล์และข้อมูลอื่น ๆ ของคุณได้อีกต่อไป คุณยังคงสามารถเข้าสู่ระบบเพื่อขอข้อมูลสำรองของข้อมูลของคุณจนกว่าจะเอาข้อมูลออกอย่างสมบูรณ์ในเวลาประมาณ 30 วัน แต่เราจะเก็บรักษาข้อมูลพื้นฐานบางอย่างไว้เพื่อป้องกันไม่ให้คุณหลบเลี่ยงการระงับ
@@ -1809,10 +1814,6 @@ th:
edit_profile_action: ตั้งค่าโปรไฟล์
edit_profile_step: คุณสามารถปรับแต่งโปรไฟล์ของคุณได้โดยอัปโหลดรูปภาพโปรไฟล์ เปลี่ยนชื่อที่แสดงของคุณ และอื่น ๆ คุณสามารถเลือกรับการตรวจทานผู้ติดตามใหม่ก่อนที่จะอนุญาตให้เขาติดตามคุณ
explanation: นี่คือเคล็ดลับบางส่วนที่จะช่วยให้คุณเริ่มต้นใช้งาน
- final_action: เริ่มโพสต์
- final_step: 'เริ่มโพสต์! แม้ว่าไม่มีผู้ติดตาม โพสต์สาธารณะของคุณอาจเห็นโดยผู้อื่น ตัวอย่างเช่น ในเส้นเวลาในเซิร์ฟเวอร์หรือในแฮชแท็ก คุณอาจต้องการแนะนำตัวเองในแฮชแท็ก #introductions'
- full_handle: นามเต็มของคุณ
- full_handle_hint: นี่คือสิ่งที่คุณจะบอกเพื่อน ๆ ของคุณเพื่อให้เขาสามารถส่งข้อความหรือติดตามคุณจากเซิร์ฟเวอร์อื่น
subject: ยินดีต้อนรับสู่ Mastodon
title: ยินดีต้อนรับ %{name}!
users:
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 2b605e507..7dbec9abb 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -10,7 +10,7 @@ tr:
follow: Takip et
followers:
one: Takipçi
- other: Takipçi
+ other: Takipçiler
following: Takip ediliyor
instance_actor_flash: Bu hesap, herhangi bir bireysel kullanıcı değil, sunucunun kendisini temsil etmek için kullanılan sanal bir aktördür. Birleştirme amacıyla kullanılmaktadır ve askıya alınmamalıdır.
last_active: son etkinlik
@@ -767,6 +767,7 @@ tr:
disabled: Hiç kimseye
users: Oturum açan yerel kullanıcılara
registrations:
+ moderation_recommandation: Lütfen kayıtları herkese açmadan önce yeterli ve duyarlı bir denetleyici ekibine sahip olduğunuzdan emin olun!
preamble: Sunucunuzda kimin hesap oluşturabileceğini denetleyin.
title: Kayıtlar
registrations_mode:
@@ -774,6 +775,7 @@ tr:
approved: Kayıt için onay gerekli
none: Hiç kimse kayıt olamaz
open: Herkes kaydolabilir
+ warning_hint: Denetleyici ekibinizin istenmeyen ve kötü niyetli kayıtları ele alabilecekleri konusunda emin değilseniz "Kayıt için onay gerekli" seçeneğini kullanmanızı öneririz.
security:
authorized_fetch: Dağıtık sunuculardan kimlik doğrulama gerektir
authorized_fetch_hint: Dağıtık sunuculardan kimlik doğrulaması istemek, hem kullanıcı düzeyinde hem de sunucu düzeyinde blokların daha sıkı bir şekilde uygulanmasını sağlar. Ancak bu performans kaybına sebep olur, yanıtlarınızın erişimini azaltır ve bazı dağıtık hizmetlerle uyumluluk sorunları ortaya çıkarabilir. Ayrıca bu, özel aktörlerin herkese açık gönderilerinizi ve hesaplarınızı getirilmesini engellemez.
@@ -966,6 +968,9 @@ tr:
title: Web kancaları
webhook: Web kancası
admin_mailer:
+ auto_close_registrations:
+ body: Son zamanlardaki denetleyi faaliyeti eksikliğinden dolayı, %{instance} üzerindeki kayıtlar, %{instance} sunucusunun olası kötü aktörler tarafından bir platform olarak kullanımını engellemek için otomatik olarak elle onay gerektirecek şekilde değiştirilmiştir. İstediğiniz zaman açık kayıtlara çevirebilirsiniz.
+ subject: "%{instance} üzerindeki kayıtlar otomatik olarak onay gerektirecek şekilde değiştirilmiştir"
new_appeal:
actions:
delete_statuses: gönderilerini silme
@@ -1841,10 +1846,6 @@ tr:
edit_profile_action: Profil kurulumu
edit_profile_step: Bir profil resmi yükleyerek, ekran adınızı değiştirerek ve daha fazlasını yaparak profilinizi kişiselleştirebilirsiniz. Sizi takip etmelerine izin verilmeden önce yeni takipçileri incelemeyi tercih edebilirsiniz.
explanation: İşte sana başlangıç için birkaç ipucu
- final_action: Gönderi yazmaya başlayın
- final_step: 'Gönderi yazmaya başlayın! Takipçiler olmadan bile, herkese açık gönderileriniz başkaları tarafından görülebilir, örneğin yerel zaman tünelinde veya etiketlerde. Kendinizi #introductions etiketinde tanıtmak isteyebilirsiniz.'
- full_handle: Tanıtıcınız
- full_handle_hint: Arkadaşlarınıza, size başka bir sunucudan mesaj atabilmeleri veya sizi takip edebilmeleri için söyleyeceğiniz şey budur.
subject: Mastodon'a hoş geldiniz
title: Gemiye hoşgeldin, %{name}!
users:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 237305c0e..7273a0ff2 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -795,6 +795,7 @@ uk:
disabled: Нікого
users: Для авторизованих локальних користувачів
registrations:
+ moderation_recommandation: Переконайтеся, що у вас є адекватна і швидка команда модерації, перш ніж ви відкриєте реєстрацію для всіх!
preamble: Контролюйте, хто може створити обліковий запис на вашому сервері.
title: Реєстрації
registrations_mode:
@@ -802,6 +803,7 @@ uk:
approved: Для входу потрібне схвалення
none: Ніхто не може увійти
open: Будь-хто може увійти
+ warning_hint: Радимо використовувати "Обов'язкове затвердження", якщо ви не впевнені, що ваша команда модерації може вчасно обробляти спам та зловмисні реєстрації.
security:
authorized_fetch: Вимагати аутентифікацію з федеративних серверів
authorized_fetch_hint: Вимога автентифікації від федеративних серверів забезпечує суворіше застосування блокування як на рівні користувача, так і на рівні сервера. Однак це призводить до зниження продуктивності, зменшує охоплення ваших відповідей і може спричинити проблеми сумісності з деякими федеративними сервісами. Крім того, це не завадить зловмисникам отримувати ваші загальнодоступні дописи та облікові записи.
@@ -1002,6 +1004,9 @@ uk:
title: Вебхуки
webhook: Вебхук
admin_mailer:
+ auto_close_registrations:
+ body: Через нестачу нещодавньої активності модератора реєстрація на %{instance} автоматично перемкнута на обов'язковий розгляд вручну, для запобігання використанню %{instance} платформою для потенційних зловмисників. Ви можете будь-коли перемкнутися на відкриту реєстрацію.
+ subject: Реєстрації для %{instance} автоматично перейшли на такі, що вимагають схвалення
new_appeal:
actions:
delete_statuses: щоб видалити їхні дописи
@@ -1905,10 +1910,6 @@ uk:
edit_profile_action: Налаштувати профіль
edit_profile_step: Ви можете налаштувати свій профіль, завантаживши зображення профілю, змінивши відображуване ім'я та інше. Ви можете включити для перегляду нових підписників до того, як вони матимуть змогу підписатися на вас.
explanation: Ось кілька порад для початку
- final_action: Почати писати
- final_step: 'Почніть дописувати! Навіть не підписавшись на вас, інші зможуть побачити ваші дописи, наприклад, у локальній стрічці та у хештеґах. Якщо ви хочете представитися, можете скористатися хештеґом #introductions.'
- full_handle: Ваше звернення
- full_handle_hint: Те, що ви хочете сказати друзям, щоб вони могли написати вам або підписатися з інших сайтів.
subject: Ласкаво просимо до Mastodon
title: Ласкаво просимо, %{name}!
users:
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 045a000e3..e362c97a4 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -948,6 +948,9 @@ vi:
title: Webhook
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: Do gần đây thiếu kiểm duyệt viên nên việc đăng ký trên %{instance} sẽ tự động chuyển thành duyệt thủ công, để tránh %{instance} bị sử dụng làm nền tảng cho những kẻ xấu. Bạn có thể chuyển nó trở lại trạng thái đăng ký mở bất kỳ lúc nào.
+ subject: Đăng ký mới %{instance} đã được tự động chuyển sang duyệt thủ công
new_appeal:
actions:
delete_statuses: xóa tút của họ
@@ -1809,10 +1812,6 @@ vi:
edit_profile_action: Cài đặt trang hồ sơ
edit_profile_step: Bạn có thể chỉnh sửa trang hồ sơ của mình bằng cách tải lên ảnh đại diện, ảnh bìa, đổi biệt danh và hơn thế nữa. Bạn cũng có thể tự phê duyệt những người theo dõi mới.
explanation: Dưới đây là một số mẹo để giúp bạn bắt đầu
- final_action: Soạn tút mới
- final_step: 'Viết tút mới! Ngay cả khi chưa có người theo dõi, người khác vẫn có thể xem tút công khai của bạn trên bảng tin máy chủ và qua hashtag. Hãy giới thiệu bản thân với hashtag #introductions.'
- full_handle: Tên đầy đủ của bạn
- full_handle_hint: Đây cũng là địa chỉ được dùng để giao tiếp với tất cả mọi người.
subject: Chào mừng đến với Mastodon
title: Xin chào %{name}!
users:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index d1255bfef..46a0e4015 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -753,6 +753,7 @@ zh-CN:
disabled: 不对任何人
users: 对本地已登录用户
registrations:
+ moderation_recommandation: 在向所有人开放注册之前,请确保您拥有一个人手足够且反应迅速的管理团队!
preamble: 控制谁可以在你的服务器上创建账号。
title: 注册
registrations_mode:
@@ -760,6 +761,7 @@ zh-CN:
approved: 注册时需要批准
none: 关闭注册
open: 开放注册
+ warning_hint: 我们建议使用“注册必须经过批准”,除非您确信您的管理团队能够及时处理骚扰和恶意注册。
security:
authorized_fetch: 需要跨站认证
authorized_fetch_hint: 要求外站请求通过验证能够使用户级别与服务器级别的封锁更为严格。然而,这将带来额外的性能负担、减少回复触达范围、并可能导致与一些联邦宇宙服务的兼容性问题。此外,这并不能阻止他人针对性地获取公开嘟文与账户。
@@ -772,13 +774,13 @@ zh-CN:
software_updates:
critical_update: 紧急 — 请尽快更新
description: 建议您及时更新Mastodon实例,以便获得最新修复和功能。此外,为避免安全问题,有时候及时更新Mastodon是至关重要的。出于这些原因,Mastodon每30分钟检查一次更新,并根据您的电子邮件通知偏好向您发送通知。
- documentation_link: 了解详情
- release_notes: 更新日志
+ documentation_link: 详细了解
+ release_notes: 发行说明
title: 可用的更新
type: 类型
types:
- major: 大版本更新
- minor: 小版本更新
+ major: 重大更新
+ minor: 次要更新
patch: 补丁级更新 - 修复了错误并进行了易于应用的更改
version: 版本
statuses:
@@ -948,6 +950,9 @@ zh-CN:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: 由于近期缺乏管理员活动, %{instance} 上的注册已自动切换为需要手动审核,以防止 %{instance} 被潜在的不良行为者用作平台。您可以随时将其切换回开放注册。
+ subject: "%{instance} 的注册已自动切换为需要批准"
new_appeal:
actions:
delete_statuses: 删除其嘟文
@@ -1809,10 +1814,6 @@ zh-CN:
edit_profile_action: 设置个人资料
edit_profile_step: 您可以通过上传个人资料图片、更改您的昵称等来自定义您的个人资料。 您可以选择在新关注者关注您之前对其进行审核。
explanation: 下面是几个小贴士,希望它们能帮到你
- final_action: 开始嘟嘟
- final_step: '开始发布嘟文! 即使没有关注者,您的公开嘟文也可能会被其他人看到,例如在本地时间轴或话题标签中。 您可能想在 #introductions 话题标签上介绍自己。'
- full_handle: 你的完整用户地址
- full_handle_hint: 你需要把这个告诉你的朋友们,这样他们就能从另一台服务器向你发送信息或者关注你。
subject: 欢迎来到 Mastodon
title: "%{name},欢迎你的加入!"
users:
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index b010a75c0..e666e4965 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -1809,10 +1809,6 @@ zh-HK:
edit_profile_action: 設定個人資料
edit_profile_step: 你可以透過上傳頭像、更改顯示名稱等來自訂個人檔案。你可以選擇讓新使用者追蹤你之前先審查他們。
explanation: 下面是幾個小貼士,希望它們能幫到你
- final_action: 開始發文
- final_step: '開始發文吧!即使你沒有追蹤者,其他人仍然能在本站時間軸或標籤等地方,看到你的公開帖文。試着用 #introductions 標籤來介紹自己吧。'
- full_handle: 你的完整 Mastodon 地址
- full_handle_hint: 這訊息將顯示給你朋友們,讓他們能從另一個服務站發信息給你,或者關注你的。
subject: 歡迎來到 Mastodon (萬象)
title: 歡迎 %{name} 加入!
users:
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 7fe60541e..3cd358383 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -755,6 +755,7 @@ zh-TW:
disabled: 給沒有人
users: 套用至所有登入的本站使用者
registrations:
+ moderation_recommandation: 對所有人開放註冊之前,請確保您有人手充足且反應靈敏的管理員團隊!
preamble: 控制誰能於您伺服器上建立帳號。
title: 註冊
registrations_mode:
@@ -762,6 +763,7 @@ zh-TW:
approved: 註冊需要審核
none: 沒有人可註冊
open: 任何人皆能註冊
+ warning_hint: 建議您使用「需要審核註冊」除非您相信您的管理員團隊能即時處理垃圾訊息與惡意帳號註冊。
security:
authorized_fetch: 要求自聯邦宇宙伺服器之驗證
authorized_fetch_hint: 要求聯邦宇宙伺服器進行驗證將更嚴格地執行使用者層級及伺服器層級之封鎖。然而,這將會帶來一些性能損失、減少您的回嘟觸及量、並可能會引入與某些聯邦宇宙伺服器之相容性問題。 此外,這無法阻止專門服務抓取您的公開嘟文及帳號資料。
@@ -779,7 +781,7 @@ zh-TW:
title: 可取得的更新
type: 類型
types:
- major: 主要版本更新 (major release)
+ major: 主要版本更新
minor: 次要版本更新 (minor release)
patch: 修正版本 (patch release) — 錯誤修正及易於套用之變更
version: 版本
@@ -950,6 +952,9 @@ zh-TW:
title: Webhooks
webhook: Webhook
admin_mailer:
+ auto_close_registrations:
+ body: 由於近日缺少管理員活動,%{instance} 上之註冊已自動切換為需要人工審核,以防止 %{instance} 被作為潛在不良行為者之跳板。您隨時能將其切換回開放註冊。
+ subject: "%{instance} 之註冊已自動切換為需要審核"
new_appeal:
actions:
delete_statuses: 要刪除他們的嘟文
@@ -1811,10 +1816,6 @@ zh-TW:
edit_profile_action: 設定個人檔案
edit_profile_step: 您可以設定您的個人檔案,包括上傳大頭貼、變更顯示名稱等等。您也可以選擇於新的跟隨者跟隨前,先對他們進行審核。
explanation: 以下是幾個小技巧,希望它們能幫到您
- final_action: 開始嘟嘟
- final_step: '開始嘟嘟吧!即使您現在沒有跟隨者,其他人仍然能於本站時間軸、主題標籤等地方,看到您的公開嘟文。試著用 #introductions 這個主題標籤介紹一下自己吧。'
- full_handle: 您的完整帳號名稱
- full_handle_hint: 您需要將這告訴您的朋友們,這樣他們就能從另一個伺服器向您發送訊息或跟隨您。
subject: 歡迎來到 Mastodon
title: "%{name} 誠摯歡迎您的加入!"
users:
diff --git a/config/settings.yml b/config/settings.yml
index 67297c26c..208c8e376 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -9,7 +9,7 @@ defaults: &defaults
site_terms: ''
site_contact_username: ''
site_contact_email: ''
- registrations_mode: 'open'
+ registrations_mode: 'none'
profile_directory: true
closed_registrations_message: ''
timeline_preview: true
diff --git a/config/sidekiq.yml b/config/sidekiq.yml
index 93d044179..cf8aaf2b5 100644
--- a/config/sidekiq.yml
+++ b/config/sidekiq.yml
@@ -63,3 +63,7 @@
interval: 60 minutes
class: Scheduler::SoftwareUpdateCheckScheduler
queue: scheduler
+ auto_close_registrations_scheduler:
+ interval: 1 hour
+ class: Scheduler::AutoCloseRegistrationsScheduler
+ queue: scheduler
diff --git a/db/migrate/20190715164535_add_instance_actor.rb b/db/migrate/20190715164535_add_instance_actor.rb
index 3785dc255..6871b37bd 100644
--- a/db/migrate/20190715164535_add_instance_actor.rb
+++ b/db/migrate/20190715164535_add_instance_actor.rb
@@ -5,6 +5,8 @@ class AddInstanceActor < ActiveRecord::Migration[5.2]
# Dummy class, to make migration possible across version changes
validates :username, uniqueness: { scope: :domain, case_sensitive: false }
+ INSTANCE_ACTOR_ID = -99
+
before_create :generate_keys
def generate_keys
@@ -15,10 +17,10 @@ class AddInstanceActor < ActiveRecord::Migration[5.2]
end
def up
- Account.create!(id: -99, actor_type: 'Application', locked: true, username: Rails.configuration.x.local_domain)
+ Account.create!(id: Account::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true, username: Rails.configuration.x.local_domain)
end
def down
- Account.find_by(id: -99, actor_type: 'Application').destroy!
+ Account.find_by(id: Account::INSTANCE_ACTOR_ID, actor_type: 'Application').destroy!
end
end
diff --git a/db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb b/db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb
index 00afee26d..42dc37f08 100644
--- a/db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb
+++ b/db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb
@@ -3,7 +3,9 @@
class MigrateSettingsToUserRoles < ActiveRecord::Migration[6.1]
disable_ddl_transaction!
- class UserRole < ApplicationRecord; end
+ class UserRole < ApplicationRecord
+ EVERYONE_ROLE_ID = -99
+ end
def up
process_role_everyone
@@ -17,7 +19,7 @@ class MigrateSettingsToUserRoles < ActiveRecord::Migration[6.1]
private
def process_role_everyone
- everyone_role = UserRole.find_by(id: -99)
+ everyone_role = UserRole.find_by(id: UserRole::EVERYONE_ROLE_ID)
return unless everyone_role
everyone_role.permissions &= ~::UserRole::FLAGS[:invite_users] unless min_invite_role == 'user'
diff --git a/db/seeds/02_instance_actor.rb b/db/seeds/02_instance_actor.rb
index 55e83e8a0..2b6befec0 100644
--- a/db/seeds/02_instance_actor.rb
+++ b/db/seeds/02_instance_actor.rb
@@ -1,3 +1,3 @@
# frozen_string_literal: true
-Account.create_with(actor_type: 'Application', locked: true, username: 'mastodon.internal').find_or_create_by(id: -99)
+Account.create_with(actor_type: 'Application', locked: true, username: 'mastodon.internal').find_or_create_by(id: Account::INSTANCE_ACTOR_ID)
diff --git a/jsconfig.json b/jsconfig.json
index 7b710de83..d52816a98 100644
--- a/jsconfig.json
+++ b/jsconfig.json
@@ -11,7 +11,7 @@
"noEmit": true,
"resolveJsonModule": true,
"strict": false,
- "target": "ES2022",
+ "target": "ES2022"
},
- "exclude": ["**/build/*", "**/node_modules/*", "**/public/*", "**/vendor/*"],
+ "exclude": ["**/build/*", "**/node_modules/*", "**/public/*", "**/vendor/*"]
}
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index f50ef4bbf..cb364b302 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -544,6 +544,7 @@ namespace :mastodon do
owner_role = UserRole.find_by(name: 'Owner')
user = User.new(email: email, password: password, confirmed_at: Time.now.utc, account_attributes: { username: username }, bypass_invite_request_check: true, role: owner_role)
user.save(validate: false)
+ user.approve!
Setting.site_contact_username = username
diff --git a/lib/tasks/tests.rake b/lib/tasks/tests.rake
index 885be79f4..935f6d24a 100644
--- a/lib/tasks/tests.rake
+++ b/lib/tasks/tests.rake
@@ -50,7 +50,7 @@ namespace :tests do
exit(1)
end
- if Account.find(-99).private_key.blank?
+ if Account.find(Account::INSTANCE_ACTOR_ID).private_key.blank?
puts 'Instance actor does not have a private key'
exit(1)
end
diff --git a/package.json b/package.json
index d0b1b2e71..4f17b427e 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@mastodon/mastodon",
"license": "AGPL-3.0-or-later",
- "packageManager": "yarn@4.0.2",
+ "packageManager": "yarn@4.1.0",
"engines": {
"node": ">=18"
},
@@ -12,22 +12,18 @@
"scripts": {
"build:development": "cross-env RAILS_ENV=development NODE_ENV=development ./bin/webpack",
"build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/webpack",
- "fix:js": "yarn lint:js --fix",
- "fix:json": "prettier --write \"**/*.{json,json5}\"",
- "fix:md": "prettier --write \"**/*.md\"",
- "fix:sass": "stylelint --fix \"**/*.{css,scss}\" && prettier --write \"**/*.{css,scss}\"",
- "fix:yml": "prettier --write \"**/*.{yaml,yml}\"",
- "fix": "yarn fix:js && yarn fix:json && yarn fix:sass && yarn fix:yml",
+ "fix:js": "eslint . --ext=.js,.jsx,.ts,.tsx --cache --report-unused-disable-directives --fix",
+ "fix:css": "stylelint --fix \"**/*.{css,scss}\"",
+ "fix": "yarn fix:js && yarn fix:css",
+ "format": "prettier --write --log-level warn .",
+ "format:check": "prettier --check --ignore-unknown .",
"i18n:extract": "formatjs extract 'app/javascript/**/*.{js,jsx,ts,tsx}' '--ignore=**/*.d.ts' --out-file app/javascript/mastodon/locales/en.json --format config/formatjs-formatter.js",
"jest": "cross-env NODE_ENV=test jest",
"lint:js": "eslint . --ext=.js,.jsx,.ts,.tsx --cache --report-unused-disable-directives",
- "lint:json": "prettier --check \"**/*.{json,json5}\"",
- "lint:md": "prettier --check \"**/*.md\"",
- "lint:sass": "stylelint \"**/*.{css,scss}\" && prettier --check \"**/*.{css,scss}\"",
- "lint:yml": "prettier --check \"**/*.{yaml,yml}\"",
- "lint": "yarn lint:js && yarn lint:json && yarn lint:sass && yarn lint:yml",
+ "lint:css": "stylelint \"**/*.{css,scss}\"",
+ "lint": "yarn lint:js && yarn lint:css",
"postversion": "git push --tags",
- "prepare": "husky install",
+ "prepare": "husky",
"start": "node ./streaming/index.js",
"test": "yarn lint && yarn run typecheck && yarn jest",
"typecheck": "tsc --noEmit"
@@ -49,7 +45,7 @@
"@formatjs/intl-pluralrules": "^5.2.2",
"@gamestdio/websocket": "^0.3.2",
"@github/webauthn-json": "^2.1.1",
- "@rails/ujs": "^7.1.1",
+ "@rails/ujs": "7.1.3-2",
"@reduxjs/toolkit": "^2.0.1",
"@svgr/webpack": "^5.5.0",
"arrow-key-navigation": "^1.2.0",
@@ -89,7 +85,6 @@
"mark-loader": "^0.1.6",
"marky": "^1.2.5",
"mini-css-extract-plugin": "^1.6.2",
- "mkdirp": "^3.0.1",
"path-complete-extname": "^1.0.0",
"postcss": "^8.4.24",
"postcss-loader": "^4.3.0",
@@ -118,7 +113,6 @@
"redux-immutable": "^4.0.0",
"regenerator-runtime": "^0.14.0",
"requestidlecallback": "^0.3.0",
- "rimraf": "^5.0.1",
"sass": "^1.62.1",
"sass-loader": "^10.2.0",
"stacktrace-js": "^2.0.2",
@@ -175,23 +169,20 @@
"@types/redux-immutable": "^4.0.3",
"@types/requestidlecallback": "^0.3.5",
"@types/webpack": "^4.41.33",
- "@types/yargs": "^17.0.24",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.17.0",
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
+ "@typescript-eslint/parser": "^7.0.0",
"babel-jest": "^29.5.0",
"eslint": "^8.41.0",
- "eslint-config-prettier": "^9.0.0",
"eslint-define-config": "^2.0.0",
"eslint-import-resolver-typescript": "^3.5.5",
"eslint-plugin-formatjs": "^4.10.1",
"eslint-plugin-import": "~2.29.0",
"eslint-plugin-jsdoc": "^48.0.0",
"eslint-plugin-jsx-a11y": "~6.8.0",
- "eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-promise": "~6.1.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
- "husky": "^8.0.3",
+ "husky": "^9.0.11",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"lint-staged": "^15.0.0",
@@ -200,8 +191,7 @@
"stylelint": "^16.0.2",
"stylelint-config-standard-scss": "^13.0.0",
"typescript": "^5.0.4",
- "webpack-dev-server": "^3.11.3",
- "yargs": "^17.7.2"
+ "webpack-dev-server": "^3.11.3"
},
"resolutions": {
"kind-of": "^6.0.3",
diff --git a/public/embed.js b/public/embed.js
index defba403e..f8e6a22db 100644
--- a/public/embed.js
+++ b/public/embed.js
@@ -31,6 +31,8 @@
var iframe = iframes.get(data.id);
+ if(!iframe) return;
+
if ('source' in e && iframe.contentWindow !== e.source) {
return;
}
@@ -38,7 +40,7 @@
iframe.height = data.height;
});
- [].forEach.call(document.querySelectorAll('iframe.mastodon-embed'), function (iframe) {
+ document.querySelectorAll('iframe.mastodon-embed').forEach(iframe => {
// select unique id for each iframe
var id = 0, failCount = 0, idBuffer = new Uint32Array(1);
while (id === 0 || iframes.has(id)) {
diff --git a/spec/controllers/activitypub/replies_controller_spec.rb b/spec/controllers/activitypub/replies_controller_spec.rb
index 6b5a69d42..db7f60d3f 100644
--- a/spec/controllers/activitypub/replies_controller_spec.rb
+++ b/spec/controllers/activitypub/replies_controller_spec.rb
@@ -90,7 +90,7 @@ RSpec.describe ActivityPub::RepliesController do
context 'when there are few self-replies' do
it 'points next to replies from other people' do
expect(page_json).to be_a Hash
- expect(Addressable::URI.parse(page_json[:next]).query.split('&')).to include('only_other_accounts=true', 'page=true')
+ expect(parsed_uri_query_values(page_json[:next])).to include('only_other_accounts=true', 'page=true')
end
end
@@ -101,7 +101,7 @@ RSpec.describe ActivityPub::RepliesController do
it 'points next to other self-replies' do
expect(page_json).to be_a Hash
- expect(Addressable::URI.parse(page_json[:next]).query.split('&')).to include('only_other_accounts=false', 'page=true')
+ expect(parsed_uri_query_values(page_json[:next])).to include('only_other_accounts=false', 'page=true')
end
end
end
@@ -140,7 +140,7 @@ RSpec.describe ActivityPub::RepliesController do
it 'points next to other replies' do
expect(page_json).to be_a Hash
- expect(Addressable::URI.parse(page_json[:next]).query.split('&')).to include('only_other_accounts=true', 'page=true')
+ expect(parsed_uri_query_values(page_json[:next])).to include('only_other_accounts=true', 'page=true')
end
end
end
@@ -196,6 +196,13 @@ RSpec.describe ActivityPub::RepliesController do
private
+ def parsed_uri_query_values(uri)
+ Addressable::URI
+ .parse(uri)
+ .query
+ .split('&')
+ end
+
def ap_public_collection
ActivityPub::TagManager::COLLECTIONS[:public]
end
diff --git a/spec/controllers/admin/disputes/appeals_controller_spec.rb b/spec/controllers/admin/disputes/appeals_controller_spec.rb
index d36523316..bf7f9bd70 100644
--- a/spec/controllers/admin/disputes/appeals_controller_spec.rb
+++ b/spec/controllers/admin/disputes/appeals_controller_spec.rb
@@ -35,7 +35,7 @@ RSpec.describe Admin::Disputes::AppealsController do
let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
it 'redirects back to the strike page and notifies target account about approved appeal', :sidekiq_inline do
- subject
+ emails = capture_emails { subject }
expect(response)
.to redirect_to(disputes_strike_path(appeal.strike))
@@ -43,9 +43,13 @@ RSpec.describe Admin::Disputes::AppealsController do
expect(target_account.reload)
.to_not be_suspended
- expect(UserMailer.deliveries.size).to eq(1)
- expect(UserMailer.deliveries.first.to.first).to eq(target_account.user.email)
- expect(UserMailer.deliveries.first.subject).to eq(I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at)))
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(target_account.user.email),
+ subject: eq(I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at)))
+ )
end
end
@@ -55,14 +59,19 @@ RSpec.describe Admin::Disputes::AppealsController do
let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
it 'redirects back to the strike page and notifies target account about rejected appeal', :sidekiq_inline do
- subject
+ emails = capture_emails { subject }
expect(response)
.to redirect_to(disputes_strike_path(appeal.strike))
- expect(UserMailer.deliveries.size).to eq(1)
- expect(UserMailer.deliveries.first.to.first).to eq(target_account.user.email)
- expect(UserMailer.deliveries.first.subject).to eq(I18n.t('user_mailer.appeal_rejected.subject', date: I18n.l(appeal.created_at)))
+ expect(emails.size)
+ .to eq(1)
+
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(target_account.user.email),
+ subject: eq(I18n.t('user_mailer.appeal_rejected.subject', date: I18n.l(appeal.created_at)))
+ )
end
end
end
diff --git a/spec/controllers/admin/invites_controller_spec.rb b/spec/controllers/admin/invites_controller_spec.rb
index c8f566f68..71748cbbe 100644
--- a/spec/controllers/admin/invites_controller_spec.rb
+++ b/spec/controllers/admin/invites_controller_spec.rb
@@ -44,14 +44,13 @@ describe Admin::InvitesController do
end
describe 'POST #deactivate_all' do
+ before { Fabricate(:invite, expires_at: nil) }
+
it 'expires all invites, then redirects to admin_invites_path' do
- invites = Fabricate.times(1, :invite, expires_at: nil)
-
- post :deactivate_all
-
- invites.each do |invite|
- expect(invite.reload).to be_expired
- end
+ expect { post :deactivate_all }
+ .to change { Invite.exists?(expires_at: nil) }
+ .from(true)
+ .to(false)
expect(response).to redirect_to admin_invites_path
end
diff --git a/spec/controllers/admin/resets_controller_spec.rb b/spec/controllers/admin/resets_controller_spec.rb
index e82a3a6af..10ed2cf96 100644
--- a/spec/controllers/admin/resets_controller_spec.rb
+++ b/spec/controllers/admin/resets_controller_spec.rb
@@ -5,6 +5,8 @@ require 'rails_helper'
describe Admin::ResetsController do
render_views
+ subject { post :create, params: { account_id: account.id } }
+
let(:account) { Fabricate(:account) }
before do
@@ -13,11 +15,11 @@ describe Admin::ResetsController do
describe 'POST #create', :sidekiq_inline do
it 'redirects to admin accounts page' do
- expect do
- post :create, params: { account_id: account.id }
- end.to change(Devise.mailer.deliveries, :size).by(2)
+ emails = capture_emails { subject }
- expect(Devise.mailer.deliveries).to have_attributes(
+ expect(emails.size)
+ .to eq(2)
+ expect(emails).to have_attributes(
first: have_attributes(
to: include(account.user.email),
subject: I18n.t('devise.mailer.password_change.subject')
diff --git a/spec/controllers/api/v1/accounts/statuses_controller_spec.rb b/spec/controllers/api/v1/accounts/statuses_controller_spec.rb
deleted file mode 100644
index 9bf385c03..000000000
--- a/spec/controllers/api/v1/accounts/statuses_controller_spec.rb
+++ /dev/null
@@ -1,101 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-describe Api::V1::Accounts::StatusesController do
- render_views
-
- let(:user) { Fabricate(:user) }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:statuses') }
-
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'GET #index' do
- it 'returns expected headers', :aggregate_failures do
- Fabricate(:status, account: user.account)
- get :index, params: { account_id: user.account.id, limit: 1 }
-
- expect(response).to have_http_status(200)
- expect(response.headers['Link'].links.size).to eq(2)
- end
-
- context 'with only media' do
- it 'returns http success' do
- get :index, params: { account_id: user.account.id, only_media: true }
-
- expect(response).to have_http_status(200)
- end
- end
-
- context 'with exclude replies' do
- let!(:status) { Fabricate(:status, account: user.account) }
- let!(:status_self_reply) { Fabricate(:status, account: user.account, thread: status) }
-
- before do
- Fabricate(:status, account: user.account, thread: Fabricate(:status)) # Reply to another user
- get :index, params: { account_id: user.account.id, exclude_replies: true }
- end
-
- it 'returns posts along with self replies', :aggregate_failures do
- expect(response)
- .to have_http_status(200)
- expect(body_as_json)
- .to have_attributes(size: 2)
- .and contain_exactly(
- include(id: status.id.to_s),
- include(id: status_self_reply.id.to_s)
- )
- end
- end
-
- context 'with only own pinned' do
- before do
- Fabricate(:status_pin, account: user.account, status: Fabricate(:status, account: user.account))
- end
-
- it 'returns http success' do
- get :index, params: { account_id: user.account.id, pinned: true }
-
- expect(response).to have_http_status(200)
- end
- end
-
- context "with someone else's pinned statuses" do
- let(:account) { Fabricate(:account, username: 'bob', domain: 'example.com') }
- let(:status) { Fabricate(:status, account: account) }
- let(:private_status) { Fabricate(:status, account: account, visibility: :private) }
-
- before do
- Fabricate(:status_pin, account: account, status: status)
- Fabricate(:status_pin, account: account, status: private_status)
- end
-
- it 'returns http success' do
- get :index, params: { account_id: account.id, pinned: true }
- expect(response).to have_http_status(200)
- end
-
- context 'when user does not follow account' do
- it 'lists the public status only' do
- get :index, params: { account_id: account.id, pinned: true }
- json = body_as_json
- expect(json.map { |item| item[:id].to_i }).to eq [status.id]
- end
- end
-
- context 'when user follows account' do
- before do
- user.account.follow!(account)
- end
-
- it 'lists both the public and the private statuses' do
- get :index, params: { account_id: account.id, pinned: true }
- json = body_as_json
- expect(json.map { |item| item[:id].to_i }).to contain_exactly(status.id, private_status.id)
- end
- end
- end
- end
-end
diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb
index 0b7f02f59..75ab28765 100644
--- a/spec/controllers/auth/registrations_controller_spec.rb
+++ b/spec/controllers/auth/registrations_controller_spec.rb
@@ -44,27 +44,93 @@ RSpec.describe Auth::RegistrationsController do
end
end
- describe 'GET #update' do
- let(:user) { Fabricate(:user) }
+ describe 'PUT #update' do
+ let(:current_password) { 'current password' }
+ let(:user) { Fabricate(:user, password: current_password) }
before do
request.env['devise.mapping'] = Devise.mappings[:user]
sign_in(user, scope: :user)
- post :update
end
it 'returns http success' do
+ put :update
expect(response).to have_http_status(200)
end
it 'returns private cache control headers' do
+ put :update
expect(response.headers['Cache-Control']).to include('private, no-store')
end
+ it 'can update the user email' do
+ expect do
+ put :update, params: {
+ user: {
+ email: 'newemail@example.com',
+ current_password: current_password,
+ },
+ }
+ expect(response).to redirect_to(edit_user_registration_path)
+ end.to change { user.reload.unconfirmed_email }.to('newemail@example.com')
+ end
+
+ it 'requires the current password to update the email' do
+ expect do
+ put :update, params: {
+ user: {
+ email: 'newemail@example.com',
+ current_password: 'something',
+ },
+ }
+ expect(response).to have_http_status(200)
+ end.to_not(change { user.reload.unconfirmed_email })
+ end
+
+ it 'can update the user password' do
+ expect do
+ put :update, params: {
+ user: {
+ password: 'new password',
+ password_confirmation: 'new password',
+ current_password: current_password,
+ },
+ }
+ expect(response).to redirect_to(edit_user_registration_path)
+ end.to(change { user.reload.encrypted_password })
+ end
+
+ it 'requires the password confirmation' do
+ expect do
+ put :update, params: {
+ user: {
+ password: 'new password',
+ password_confirmation: 'something else',
+ current_password: current_password,
+ },
+ }
+ expect(response).to have_http_status(200)
+ end.to_not(change { user.reload.encrypted_password })
+ end
+
+ it 'requires the current password to update the password' do
+ expect do
+ put :update, params: {
+ user: {
+ password: 'new password',
+ password_confirmation: 'new password',
+ current_password: 'something',
+ },
+ }
+ expect(response).to have_http_status(200)
+ end.to_not(change { user.reload.encrypted_password })
+ end
+
context 'when suspended' do
let(:user) { Fabricate(:user, account_attributes: { username: 'test', suspended_at: Time.now.utc }) }
it 'returns http forbidden' do
+ put :update
expect(response).to have_http_status(403)
end
end
diff --git a/spec/controllers/auth/sessions_controller_spec.rb b/spec/controllers/auth/sessions_controller_spec.rb
index dcbaf1fcb..e78554ec7 100644
--- a/spec/controllers/auth/sessions_controller_spec.rb
+++ b/spec/controllers/auth/sessions_controller_spec.rb
@@ -124,7 +124,7 @@ RSpec.describe Auth::SessionsController do
end
it 'logs the user in and sends suspicious email and redirects home', :sidekiq_inline do
- subject
+ emails = capture_emails { subject }
expect(response)
.to redirect_to(root_path)
@@ -132,9 +132,13 @@ RSpec.describe Auth::SessionsController do
expect(controller.current_user)
.to eq user
- expect(UserMailer.deliveries.size).to eq(1)
- expect(UserMailer.deliveries.first.to.first).to eq(user.email)
- expect(UserMailer.deliveries.first.subject).to eq(I18n.t('user_mailer.suspicious_sign_in.subject'))
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(user.email),
+ subject: eq(I18n.t('user_mailer.suspicious_sign_in.subject'))
+ )
end
end
@@ -260,21 +264,27 @@ RSpec.describe Auth::SessionsController do
end
it 'does not log the user in, sets a flash message, and sends a suspicious sign in email', :sidekiq_inline do
- Auth::SessionsController::MAX_2FA_ATTEMPTS_PER_HOUR.times do
- post :create, params: { user: { otp_attempt: '1234' } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
- expect(controller.current_user).to be_nil
+ emails = capture_emails do
+ Auth::SessionsController::MAX_2FA_ATTEMPTS_PER_HOUR.times do
+ post :create, params: { user: { otp_attempt: '1234' } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
+ expect(controller.current_user).to be_nil
+ end
+ post :create, params: { user: { otp_attempt: user.current_otp } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
end
- post :create, params: { user: { otp_attempt: user.current_otp } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
-
expect(controller.current_user)
.to be_nil
+
expect(flash[:alert])
.to match I18n.t('users.rate_limited')
- expect(UserMailer.deliveries.size).to eq(1)
- expect(UserMailer.deliveries.first.to.first).to eq(user.email)
- expect(UserMailer.deliveries.first.subject).to eq(I18n.t('user_mailer.failed_2fa.subject'))
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(user.email),
+ subject: eq(I18n.t('user_mailer.failed_2fa.subject'))
+ )
end
end
@@ -404,15 +414,17 @@ RSpec.describe Auth::SessionsController do
end
describe 'GET #webauthn_options' do
+ subject { get :webauthn_options, session: { attempt_user_id: user.id } }
+
+ let!(:user) do
+ Fabricate(:user, email: 'x@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret(32))
+ end
+
context 'with WebAuthn and OTP enabled as second factor' do
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http'}://#{Rails.configuration.x.web_domain}" }
let(:fake_client) { WebAuthn::FakeClient.new(domain) }
- let!(:user) do
- Fabricate(:user, email: 'x@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret(32))
- end
-
before do
user.update(webauthn_id: WebAuthn.generate_user_id)
public_key_credential = WebAuthn::Credential.from_create(fake_client.create)
@@ -426,9 +438,18 @@ RSpec.describe Auth::SessionsController do
end
it 'returns http success' do
- get :webauthn_options
+ subject
+
expect(response).to have_http_status 200
end
end
+
+ context 'when WebAuthn not enabled' do
+ it 'returns http unauthorized' do
+ subject
+
+ expect(response).to have_http_status 401
+ end
+ end
end
end
diff --git a/spec/controllers/custom_css_controller_spec.rb b/spec/controllers/custom_css_controller_spec.rb
index 99d36d21b..405fa0bcf 100644
--- a/spec/controllers/custom_css_controller_spec.rb
+++ b/spec/controllers/custom_css_controller_spec.rb
@@ -14,17 +14,6 @@ describe CustomCssController do
expect(response).to have_http_status(200)
end
- it 'returns public cache control header' do
- expect(response.headers['Cache-Control']).to include('public')
- end
-
- it 'does not set cookies' do
- expect(response.cookies).to be_empty
- expect(response.headers['Set-Cookies']).to be_nil
- end
-
- it 'does not set sessions' do
- expect(session).to be_empty
- end
+ it_behaves_like 'cacheable response'
end
end
diff --git a/spec/controllers/disputes/appeals_controller_spec.rb b/spec/controllers/disputes/appeals_controller_spec.rb
index d763068eb..99d5a8b17 100644
--- a/spec/controllers/disputes/appeals_controller_spec.rb
+++ b/spec/controllers/disputes/appeals_controller_spec.rb
@@ -18,9 +18,15 @@ RSpec.describe Disputes::AppealsController do
let(:params) { { strike_id: strike.id, appeal: { text: 'Foo' } } }
it 'notifies staff about new appeal and redirects back to strike page', :sidekiq_inline do
- subject
+ emails = capture_emails { subject }
- expect(ActionMailer::Base.deliveries.first.to).to eq([admin.email])
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(admin.email),
+ subject: eq(I18n.t('admin_mailer.new_appeal.subject', username: current_user.account.acct, instance: Rails.configuration.x.local_domain))
+ )
expect(response).to redirect_to(disputes_strike_path(strike.id))
end
end
@@ -31,9 +37,9 @@ RSpec.describe Disputes::AppealsController do
let(:params) { { strike_id: strike.id, appeal: { text: '' } } }
it 'does not send email and renders strike show page', :sidekiq_inline do
- subject
+ emails = capture_emails { subject }
- expect(ActionMailer::Base.deliveries.size).to eq(0)
+ expect(emails).to be_empty
expect(response).to render_template('disputes/strikes/show')
end
end
diff --git a/spec/controllers/instance_actors_controller_spec.rb b/spec/controllers/instance_actors_controller_spec.rb
index be1eefa7b..70aaff9d6 100644
--- a/spec/controllers/instance_actors_controller_spec.rb
+++ b/spec/controllers/instance_actors_controller_spec.rb
@@ -12,23 +12,18 @@ RSpec.describe InstanceActorsController do
get :show, params: { format: format }
end
- it 'returns http success with correct media type, headers, and session values' do
+ it 'returns http success with correct media type and body' do
expect(response)
.to have_http_status(200)
.and have_attributes(
- media_type: eq('application/activity+json'),
- cookies: be_empty
+ media_type: eq('application/activity+json')
)
- expect(response.headers)
- .to include('Cache-Control' => include('public'))
- .and not_include('Set-Cookies')
-
- expect(session).to be_empty
-
expect(body_as_json)
.to include(:id, :type, :preferredUsername, :inbox, :publicKey, :inbox, :outbox, :url)
end
+
+ it_behaves_like 'cacheable response'
end
before do
diff --git a/spec/controllers/manifests_controller_spec.rb b/spec/controllers/manifests_controller_spec.rb
index d0699c438..9279fae02 100644
--- a/spec/controllers/manifests_controller_spec.rb
+++ b/spec/controllers/manifests_controller_spec.rb
@@ -14,17 +14,6 @@ describe ManifestsController do
expect(response).to have_http_status(200)
end
- it 'returns public cache control header' do
- expect(response.headers['Cache-Control']).to include('public')
- end
-
- it 'does not set cookies' do
- expect(response.cookies).to be_empty
- expect(response.headers['Set-Cookies']).to be_nil
- end
-
- it 'does not set sessions' do
- expect(session).to be_empty
- end
+ it_behaves_like 'cacheable response'
end
end
diff --git a/spec/controllers/tags_controller_spec.rb b/spec/controllers/tags_controller_spec.rb
index d41e707d4..2bb0c8de3 100644
--- a/spec/controllers/tags_controller_spec.rb
+++ b/spec/controllers/tags_controller_spec.rb
@@ -20,13 +20,7 @@ RSpec.describe TagsController do
expect(response).to have_http_status(200)
end
- it 'returns Vary header' do
- expect(response.headers['Vary']).to eq 'Accept, Accept-Language, Cookie'
- end
-
- it 'returns public Cache-Control header' do
- expect(response.headers['Cache-Control']).to include 'public'
- end
+ it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
end
context 'when requested as JSON' do
@@ -36,13 +30,7 @@ RSpec.describe TagsController do
expect(response).to have_http_status(200)
end
- it 'returns Vary header' do
- expect(response.headers['Vary']).to eq 'Accept, Accept-Language, Cookie'
- end
-
- it 'returns public Cache-Control header' do
- expect(response.headers['Cache-Control']).to include 'public'
- end
+ it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
end
end
diff --git a/spec/fabricators/software_update_fabricator.rb b/spec/fabricators/software_update_fabricator.rb
index 622fff66e..f4b607da0 100644
--- a/spec/fabricators/software_update_fabricator.rb
+++ b/spec/fabricators/software_update_fabricator.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
Fabricator(:software_update) do
- version '99.99.99'
+ version { sequence(:version) { |point| "99.99.#{point}" } }
urgent false
type 'patch'
end
diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb
index b1dca52dc..f6376eb36 100644
--- a/spec/models/account_spec.rb
+++ b/spec/models/account_spec.rb
@@ -746,13 +746,13 @@ RSpec.describe Account do
end
it 'is valid if we are creating an instance actor account with a period' do
- account = Fabricate.build(:account, id: -99, actor_type: 'Application', locked: true, username: 'example.com')
+ account = Fabricate.build(:account, id: described_class::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true, username: 'example.com')
expect(account.valid?).to be true
end
it 'is valid if we are creating a possibly-conflicting instance actor account' do
_account = Fabricate(:account, username: 'examplecom')
- instance_account = Fabricate.build(:account, id: -99, actor_type: 'Application', locked: true, username: 'example.com')
+ instance_account = Fabricate.build(:account, id: described_class::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true, username: 'example.com')
expect(instance_account.valid?).to be true
end
diff --git a/spec/models/account_suggestions/friends_of_friends_source_spec.rb b/spec/models/account_suggestions/friends_of_friends_source_spec.rb
new file mode 100644
index 000000000..56a974add
--- /dev/null
+++ b/spec/models/account_suggestions/friends_of_friends_source_spec.rb
@@ -0,0 +1,82 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe AccountSuggestions::FriendsOfFriendsSource do
+ describe '#get' do
+ subject { described_class.new }
+
+ let!(:bob) { Fabricate(:account, discoverable: true, hide_collections: false) }
+ let!(:alice) { Fabricate(:account, discoverable: true, hide_collections: true) }
+ let!(:eve) { Fabricate(:account, discoverable: true, hide_collections: false) }
+ let!(:mallory) { Fabricate(:account, discoverable: false, hide_collections: false) }
+ let!(:eugen) { Fabricate(:account, discoverable: true, hide_collections: false) }
+ let!(:john) { Fabricate(:account, discoverable: true, hide_collections: false) }
+ let!(:jerk) { Fabricate(:account, discoverable: true, hide_collections: false) }
+ let!(:neil) { Fabricate(:account, discoverable: true, hide_collections: false) }
+ let!(:larry) { Fabricate(:account, discoverable: true, hide_collections: false) }
+
+ context 'with follows and blocks' do
+ before do
+ bob.block!(jerk)
+ FollowRecommendationMute.create!(account: bob, target_account: neil)
+
+ # bob follows eugen, alice and larry
+ [eugen, alice, larry].each { |account| bob.follow!(account) }
+
+ # alice follows eve and mallory
+ [john, mallory].each { |account| alice.follow!(account) }
+
+ # eugen follows eve, john, jerk, larry and neil
+ [eve, mallory, jerk, larry, neil].each { |account| eugen.follow!(account) }
+ end
+
+ it 'returns eligible accounts', :aggregate_failures do
+ results = subject.get(bob)
+
+ # eve is returned through eugen
+ expect(results).to include([eve.id, :friends_of_friends])
+
+ # john is not reachable because alice hides who she follows
+ expect(results).to_not include([john.id, :friends_of_friends])
+
+ # mallory is not discoverable
+ expect(results).to_not include([mallory.id, :friends_of_friends])
+
+ # larry is not included because he's followed already
+ expect(results).to_not include([larry.id, :friends_of_friends])
+
+ # jerk is blocked
+ expect(results).to_not include([jerk.id, :friends_of_friends])
+
+ # the suggestion for neil has already been rejected
+ expect(results).to_not include([neil.id, :friends_of_friends])
+ end
+ end
+
+ context 'with deterministic order' do
+ before do
+ # bob follows eve and mallory
+ [eve, mallory].each { |account| bob.follow!(account) }
+
+ # eve follows eugen, john, and jerk
+ [jerk, eugen, john].each { |account| eve.follow!(account) }
+
+ # mallory follows eugen, john, and neil
+ [neil, eugen, john].each { |account| mallory.follow!(account) }
+
+ john.follow!(eugen)
+ john.follow!(neil)
+ end
+
+ it 'returns eligible accounts in the expected order' do
+ expect(subject.get(bob)).to eq [
+ [eugen.id, :friends_of_friends], # followed by 2 friends, 3 followers total
+ [john.id, :friends_of_friends], # followed by 2 friends, 2 followers total
+ [neil.id, :friends_of_friends], # followed by 1 friend, 2 followers total
+ [jerk.id, :friends_of_friends], # followed by 1 friend, 1 follower total
+ ]
+ end
+ end
+ end
+end
diff --git a/spec/models/account_suggestions/source_spec.rb b/spec/models/account_suggestions/source_spec.rb
index d8227e01b..166609408 100644
--- a/spec/models/account_suggestions/source_spec.rb
+++ b/spec/models/account_suggestions/source_spec.rb
@@ -11,14 +11,16 @@ RSpec.describe AccountSuggestions::Source do
end
context 'with follows and follow requests' do
- let!(:account_domain_blocked_account) { Fabricate(:account, domain: 'blocked.host') }
- let!(:account) { Fabricate(:account) }
- let!(:blocked_account) { Fabricate(:account) }
- let!(:eligible_account) { Fabricate(:account) }
- let!(:follow_recommendation_muted_account) { Fabricate(:account) }
- let!(:follow_requested_account) { Fabricate(:account) }
- let!(:following_account) { Fabricate(:account) }
- let!(:moved_account) { Fabricate(:account, moved_to_account: Fabricate(:account)) }
+ let!(:account_domain_blocked_account) { Fabricate(:account, domain: 'blocked.host', discoverable: true) }
+ let!(:account) { Fabricate(:account, discoverable: true) }
+ let!(:blocked_account) { Fabricate(:account, discoverable: true) }
+ let!(:eligible_account) { Fabricate(:account, discoverable: true) }
+ let!(:follow_recommendation_muted_account) { Fabricate(:account, discoverable: true) }
+ let!(:follow_requested_account) { Fabricate(:account, discoverable: true) }
+ let!(:following_account) { Fabricate(:account, discoverable: true) }
+ let!(:moved_account) { Fabricate(:account, moved_to_account: Fabricate(:account), discoverable: true) }
+ let!(:silenced_account) { Fabricate(:account, silenced: true, discoverable: true) }
+ let!(:undiscoverable_account) { Fabricate(:account, discoverable: false) }
before do
Fabricate :account_domain_block, account: account, domain: account_domain_blocked_account.domain
@@ -40,6 +42,8 @@ RSpec.describe AccountSuggestions::Source do
.and not_include(follow_requested_account)
.and not_include(following_account)
.and not_include(moved_account)
+ .and not_include(silenced_account)
+ .and not_include(undiscoverable_account)
end
end
end
diff --git a/spec/models/ip_block_spec.rb b/spec/models/ip_block_spec.rb
index ed5882667..290b99b28 100644
--- a/spec/models/ip_block_spec.rb
+++ b/spec/models/ip_block_spec.rb
@@ -3,7 +3,32 @@
require 'rails_helper'
describe IpBlock do
- describe 'to_log_human_identifier' do
+ describe 'validations' do
+ it 'validates ip presence', :aggregate_failures do
+ ip_block = described_class.new(ip: nil, severity: :no_access)
+
+ expect(ip_block).to_not be_valid
+ expect(ip_block).to model_have_error_on_field(:ip)
+ end
+
+ it 'validates severity presence', :aggregate_failures do
+ ip_block = described_class.new(ip: '127.0.0.1', severity: nil)
+
+ expect(ip_block).to_not be_valid
+ expect(ip_block).to model_have_error_on_field(:severity)
+ end
+
+ it 'validates ip uniqueness', :aggregate_failures do
+ described_class.create!(ip: '127.0.0.1', severity: :no_access)
+
+ ip_block = described_class.new(ip: '127.0.0.1', severity: :no_access)
+
+ expect(ip_block).to_not be_valid
+ expect(ip_block).to model_have_error_on_field(:ip)
+ end
+ end
+
+ describe '#to_log_human_identifier' do
let(:ip_block) { described_class.new(ip: '192.168.0.1') }
it 'combines the IP and prefix into a string' do
@@ -12,4 +37,30 @@ describe IpBlock do
expect(result).to eq('192.168.0.1/32')
end
end
+
+ describe '.blocked?' do
+ context 'when the IP is blocked' do
+ it 'returns true' do
+ described_class.create!(ip: '127.0.0.1', severity: :no_access)
+
+ expect(described_class.blocked?('127.0.0.1')).to be true
+ end
+ end
+
+ context 'when the IP is not blocked' do
+ it 'returns false' do
+ expect(described_class.blocked?('127.0.0.1')).to be false
+ end
+ end
+ end
+
+ describe 'after_commit' do
+ it 'resets the cache' do
+ allow(Rails.cache).to receive(:delete)
+
+ described_class.create!(ip: '127.0.0.1', severity: :no_access)
+
+ expect(Rails.cache).to have_received(:delete).with(described_class::CACHE_KEY)
+ end
+ end
end
diff --git a/spec/models/tag_feed_spec.rb b/spec/models/tag_feed_spec.rb
index 6f5e1eb30..61b8d8d82 100644
--- a/spec/models/tag_feed_spec.rb
+++ b/spec/models/tag_feed_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe TagFeed, type: :service do
+describe TagFeed do
describe '#get' do
let(:account) { Fabricate(:account) }
let(:tag_cats) { Fabricate(:tag, name: 'cats') }
diff --git a/spec/models/user_role_spec.rb b/spec/models/user_role_spec.rb
index d5234ebe8..96d12263a 100644
--- a/spec/models/user_role_spec.rb
+++ b/spec/models/user_role_spec.rb
@@ -139,7 +139,7 @@ RSpec.describe UserRole do
end
it 'has negative position' do
- expect(subject.position).to eq(-1)
+ expect(subject.position).to eq(described_class::NOBODY_POSITION)
end
end
@@ -159,17 +159,17 @@ RSpec.describe UserRole do
end
it 'has negative position' do
- expect(subject.position).to eq(-1)
+ expect(subject.position).to eq(described_class::NOBODY_POSITION)
end
end
describe '#everyone?' do
- it 'returns true when id is -99' do
- subject.id = -99
+ it 'returns true when id matches the everyone id' do
+ subject.id = described_class::EVERYONE_ROLE_ID
expect(subject.everyone?).to be true
end
- it 'returns false when id is not -99' do
+ it 'returns false when id does not match the everyone id' do
subject.id = 123
expect(subject.everyone?).to be false
end
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 1baa3ccbf..39986f476 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -455,18 +455,20 @@ RSpec.describe User do
let!(:user) { Fabricate(:user, confirmed_at: confirmed_at) }
- before { ActionMailer::Base.deliveries.clear }
-
- after { ActionMailer::Base.deliveries.clear }
-
context 'when user is new' do
let(:confirmed_at) { nil }
it 'confirms user and delivers welcome email', :sidekiq_inline do
- subject
+ emails = capture_emails { subject }
expect(user.confirmed_at).to be_present
- expect(ActionMailer::Base.deliveries.count).to eq 1
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(user.email),
+ subject: eq(I18n.t('user_mailer.welcome.subject'))
+ )
end
end
@@ -474,10 +476,10 @@ RSpec.describe User do
let(:confirmed_at) { Time.zone.now }
it 'confirms user but does not deliver welcome email' do
- subject
+ emails = capture_emails { subject }
expect(user.confirmed_at).to be_present
- expect(ActionMailer::Base.deliveries.count).to eq 0
+ expect(emails).to be_empty
end
end
end
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index cde5a439d..3e84d6873 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -82,6 +82,7 @@ RSpec.configure do |config|
config.include Devise::Test::ControllerHelpers, type: :view
config.include Devise::Test::IntegrationHelpers, type: :feature
config.include Devise::Test::IntegrationHelpers, type: :request
+ config.include ActionMailer::TestHelper
config.include Paperclip::Shoulda::Matchers
config.include ActiveSupport::Testing::TimeHelpers
config.include Chewy::Rspec::Helpers
diff --git a/spec/requests/api/v1/accounts/statuses_spec.rb b/spec/requests/api/v1/accounts/statuses_spec.rb
new file mode 100644
index 000000000..371867b21
--- /dev/null
+++ b/spec/requests/api/v1/accounts/statuses_spec.rb
@@ -0,0 +1,149 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe 'API V1 Accounts Statuses' do
+ let(:user) { Fabricate(:user) }
+ let(:scopes) { 'read:statuses' }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
+
+ describe 'GET /api/v1/accounts/:account_id/statuses' do
+ it 'returns expected headers', :aggregate_failures do
+ Fabricate(:status, account: user.account)
+ get "/api/v1/accounts/#{user.account.id}/statuses", params: { limit: 1 }, headers: headers
+
+ expect(response).to have_http_status(200)
+ expect(links_from_header.size)
+ .to eq(2)
+ end
+
+ context 'with only media' do
+ it 'returns http success' do
+ get "/api/v1/accounts/#{user.account.id}/statuses", params: { only_media: true }, headers: headers
+
+ expect(response).to have_http_status(200)
+ end
+ end
+
+ context 'with exclude replies' do
+ let!(:status) { Fabricate(:status, account: user.account) }
+ let!(:status_self_reply) { Fabricate(:status, account: user.account, thread: status) }
+
+ before do
+ Fabricate(:status, account: user.account, thread: Fabricate(:status)) # Reply to another user
+ get "/api/v1/accounts/#{user.account.id}/statuses", params: { exclude_replies: true }, headers: headers
+ end
+
+ it 'returns posts along with self replies', :aggregate_failures do
+ expect(response)
+ .to have_http_status(200)
+ expect(body_as_json)
+ .to have_attributes(size: 2)
+ .and contain_exactly(
+ include(id: status.id.to_s),
+ include(id: status_self_reply.id.to_s)
+ )
+ end
+ end
+
+ context 'with only own pinned' do
+ before do
+ Fabricate(:status_pin, account: user.account, status: Fabricate(:status, account: user.account))
+ end
+
+ it 'returns http success and includes a header link' do
+ get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers
+
+ expect(response).to have_http_status(200)
+ expect(links_from_header.size)
+ .to eq(1)
+ expect(links_from_header)
+ .to contain_exactly(
+ have_attributes(
+ href: /pinned=true/,
+ attr_pairs: contain_exactly(['rel', 'prev'])
+ )
+ )
+ end
+ end
+
+ context 'with enough pinned statuses to paginate' do
+ before do
+ stub_const 'Api::BaseController::DEFAULT_STATUSES_LIMIT', 1
+ 2.times { Fabricate(:status_pin, account: user.account) }
+ end
+
+ it 'returns http success and header pagination links to prev and next' do
+ get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers
+
+ expect(response).to have_http_status(200)
+ expect(links_from_header.size)
+ .to eq(2)
+ expect(links_from_header)
+ .to contain_exactly(
+ have_attributes(
+ href: /pinned=true/,
+ attr_pairs: contain_exactly(['rel', 'next'])
+ ),
+ have_attributes(
+ href: /pinned=true/,
+ attr_pairs: contain_exactly(['rel', 'prev'])
+ )
+ )
+ end
+ end
+
+ context "with someone else's pinned statuses" do
+ let(:account) { Fabricate(:account, username: 'bob', domain: 'example.com') }
+ let(:status) { Fabricate(:status, account: account) }
+ let(:private_status) { Fabricate(:status, account: account, visibility: :private) }
+
+ before do
+ Fabricate(:status_pin, account: account, status: status)
+ Fabricate(:status_pin, account: account, status: private_status)
+ end
+
+ it 'returns http success' do
+ get "/api/v1/accounts/#{account.id}/statuses", params: { pinned: true }, headers: headers
+
+ expect(response).to have_http_status(200)
+ end
+
+ context 'when user does not follow account' do
+ it 'lists the public status only' do
+ get "/api/v1/accounts/#{account.id}/statuses", params: { pinned: true }, headers: headers
+
+ expect(body_as_json)
+ .to contain_exactly(
+ a_hash_including(id: status.id.to_s)
+ )
+ end
+ end
+
+ context 'when user follows account' do
+ before do
+ user.account.follow!(account)
+ end
+
+ it 'lists both the public and the private statuses' do
+ get "/api/v1/accounts/#{account.id}/statuses", params: { pinned: true }, headers: headers
+
+ expect(body_as_json)
+ .to contain_exactly(
+ a_hash_including(id: status.id.to_s),
+ a_hash_including(id: private_status.id.to_s)
+ )
+ end
+ end
+ end
+ end
+
+ private
+
+ def links_from_header
+ response
+ .headers['Link']
+ .links
+ end
+end
diff --git a/spec/controllers/api/v1/admin/trends/statuses_controller_spec.rb b/spec/requests/api/v1/admin/trends/statuses_spec.rb
similarity index 63%
rename from spec/controllers/api/v1/admin/trends/statuses_controller_spec.rb
rename to spec/requests/api/v1/admin/trends/statuses_spec.rb
index 4d80055ac..04aa0465f 100644
--- a/spec/controllers/api/v1/admin/trends/statuses_controller_spec.rb
+++ b/spec/requests/api/v1/admin/trends/statuses_spec.rb
@@ -2,31 +2,26 @@
require 'rails_helper'
-describe Api::V1::Admin::Trends::StatusesController do
- render_views
-
+describe 'API V1 Admin Trends Statuses' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:account) { Fabricate(:account) }
let(:status) { Fabricate(:status) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'GET #index' do
+ describe 'GET /api/v1/admin/trends/statuses' do
it 'returns http success' do
- get :index, params: { account_id: account.id, limit: 2 }
+ get '/api/v1/admin/trends/statuses', params: { account_id: account.id, limit: 2 }, headers: headers
expect(response).to have_http_status(200)
end
end
- describe 'POST #approve' do
+ describe 'POST /api/v1/admin/trends/statuses/:id/approve' do
before do
- post :approve, params: { id: status.id }
+ post "/api/v1/admin/trends/statuses/#{status.id}/approve", headers: headers
end
it_behaves_like 'forbidden for wrong scope', 'write:statuses'
@@ -37,9 +32,9 @@ describe Api::V1::Admin::Trends::StatusesController do
end
end
- describe 'POST #reject' do
+ describe 'POST /api/v1/admin/trends/statuses/:id/unapprove' do
before do
- post :reject, params: { id: status.id }
+ post "/api/v1/admin/trends/statuses/#{status.id}/reject", headers: headers
end
it_behaves_like 'forbidden for wrong scope', 'write:statuses'
diff --git a/spec/controllers/api/v1/admin/trends/tags_controller_spec.rb b/spec/requests/api/v1/admin/trends/tags_spec.rb
similarity index 64%
rename from spec/controllers/api/v1/admin/trends/tags_controller_spec.rb
rename to spec/requests/api/v1/admin/trends/tags_spec.rb
index 0b8eb8c3b..b1437dad8 100644
--- a/spec/controllers/api/v1/admin/trends/tags_controller_spec.rb
+++ b/spec/requests/api/v1/admin/trends/tags_spec.rb
@@ -2,31 +2,26 @@
require 'rails_helper'
-describe Api::V1::Admin::Trends::TagsController do
- render_views
-
+describe 'API V1 Admin Trends Tags' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:account) { Fabricate(:account) }
let(:tag) { Fabricate(:tag) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'GET #index' do
+ describe 'GET /api/v1/admin/trends/tags' do
it 'returns http success' do
- get :index, params: { account_id: account.id, limit: 2 }
+ get '/api/v1/admin/trends/tags', params: { account_id: account.id, limit: 2 }, headers: headers
expect(response).to have_http_status(200)
end
end
- describe 'POST #approve' do
+ describe 'POST /api/v1/admin/trends/tags/:id/approve' do
before do
- post :approve, params: { id: tag.id }
+ post "/api/v1/admin/trends/tags/#{tag.id}/approve", headers: headers
end
it_behaves_like 'forbidden for wrong scope', 'write:statuses'
@@ -37,9 +32,9 @@ describe Api::V1::Admin::Trends::TagsController do
end
end
- describe 'POST #reject' do
+ describe 'POST /api/v1/admin/trends/tags/:id/reject' do
before do
- post :reject, params: { id: tag.id }
+ post "/api/v1/admin/trends/tags/#{tag.id}/reject", headers: headers
end
it_behaves_like 'forbidden for wrong scope', 'write:statuses'
diff --git a/spec/controllers/api/v1/announcements/reactions_controller_spec.rb b/spec/requests/api/v1/announcements/reactions_spec.rb
similarity index 64%
rename from spec/controllers/api/v1/announcements/reactions_controller_spec.rb
rename to spec/requests/api/v1/announcements/reactions_spec.rb
index c1debc33f..ffacb2b0a 100644
--- a/spec/controllers/api/v1/announcements/reactions_controller_spec.rb
+++ b/spec/requests/api/v1/announcements/reactions_spec.rb
@@ -2,27 +2,26 @@
require 'rails_helper'
-RSpec.describe Api::V1::Announcements::ReactionsController do
- render_views
-
+RSpec.describe 'API V1 Announcements Reactions' do
let(:user) { Fabricate(:user) }
let(:scopes) { 'write:favourites' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let!(:announcement) { Fabricate(:announcement) }
- describe 'PUT #update' do
+ describe 'PUT /api/v1/announcements/:announcement_id/reactions/:id' do
context 'without token' do
it 'returns http unauthorized' do
- put :update, params: { announcement_id: announcement.id, id: '😂' }
+ put "/api/v1/announcements/#{announcement.id}/reactions/#{escaped_emoji}"
+
expect(response).to have_http_status 401
end
end
context 'with token' do
before do
- allow(controller).to receive(:doorkeeper_token) { token }
- put :update, params: { announcement_id: announcement.id, id: '😂' }
+ put "/api/v1/announcements/#{announcement.id}/reactions/#{escaped_emoji}", headers: headers
end
it 'creates reaction', :aggregate_failures do
@@ -32,22 +31,21 @@ RSpec.describe Api::V1::Announcements::ReactionsController do
end
end
- describe 'DELETE #destroy' do
+ describe 'DELETE /api/v1/announcements/:announcement_id/reactions/:id' do
before do
announcement.announcement_reactions.create!(account: user.account, name: '😂')
end
context 'without token' do
it 'returns http unauthorized' do
- delete :destroy, params: { announcement_id: announcement.id, id: '😂' }
+ delete "/api/v1/announcements/#{announcement.id}/reactions/#{escaped_emoji}"
expect(response).to have_http_status 401
end
end
context 'with token' do
before do
- allow(controller).to receive(:doorkeeper_token) { token }
- delete :destroy, params: { announcement_id: announcement.id, id: '😂' }
+ delete "/api/v1/announcements/#{announcement.id}/reactions/#{escaped_emoji}", headers: headers
end
it 'creates reaction', :aggregate_failures do
@@ -56,4 +54,8 @@ RSpec.describe Api::V1::Announcements::ReactionsController do
end
end
end
+
+ def escaped_emoji
+ CGI.escape('😂')
+ end
end
diff --git a/spec/controllers/api/v1/announcements_controller_spec.rb b/spec/requests/api/v1/announcements_spec.rb
similarity index 59%
rename from spec/controllers/api/v1/announcements_controller_spec.rb
rename to spec/requests/api/v1/announcements_spec.rb
index 95ce8fd9f..1624b7601 100644
--- a/spec/controllers/api/v1/announcements_controller_spec.rb
+++ b/spec/requests/api/v1/announcements_spec.rb
@@ -2,27 +2,26 @@
require 'rails_helper'
-RSpec.describe Api::V1::AnnouncementsController do
- render_views
-
- let(:user) { Fabricate(:user) }
- let(:scopes) { 'read' }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+RSpec.describe 'API V1 Announcements' do
+ let(:user) { Fabricate(:user) }
+ let(:scopes) { 'read' }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let!(:announcement) { Fabricate(:announcement) }
- describe 'GET #index' do
+ describe 'GET /api/v1/announcements' do
context 'without token' do
it 'returns http unprocessable entity' do
- get :index
+ get '/api/v1/announcements'
+
expect(response).to have_http_status 422
end
end
context 'with token' do
before do
- allow(controller).to receive(:doorkeeper_token) { token }
- get :index
+ get '/api/v1/announcements', headers: headers
end
it 'returns http success' do
@@ -31,10 +30,11 @@ RSpec.describe Api::V1::AnnouncementsController do
end
end
- describe 'POST #dismiss' do
+ describe 'POST /api/v1/announcements/:id/dismiss' do
context 'without token' do
it 'returns http unauthorized' do
- post :dismiss, params: { id: announcement.id }
+ post "/api/v1/announcements/#{announcement.id}/dismiss"
+
expect(response).to have_http_status 401
end
end
@@ -43,8 +43,7 @@ RSpec.describe Api::V1::AnnouncementsController do
let(:scopes) { 'write:accounts' }
before do
- allow(controller).to receive(:doorkeeper_token) { token }
- post :dismiss, params: { id: announcement.id }
+ post "/api/v1/announcements/#{announcement.id}/dismiss", headers: headers
end
it 'dismisses announcement', :aggregate_failures do
diff --git a/spec/controllers/api/v1/conversations_controller_spec.rb b/spec/requests/api/v1/conversations_spec.rb
similarity index 50%
rename from spec/controllers/api/v1/conversations_controller_spec.rb
rename to spec/requests/api/v1/conversations_spec.rb
index 2734e4a07..e2327d9a9 100644
--- a/spec/controllers/api/v1/conversations_controller_spec.rb
+++ b/spec/requests/api/v1/conversations_spec.rb
@@ -2,53 +2,48 @@
require 'rails_helper'
-RSpec.describe Api::V1::ConversationsController do
- render_views
-
+RSpec.describe 'API V1 Conversations' do
let!(:user) { Fabricate(:user, account_attributes: { username: 'alice' }) }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:scopes) { 'read:statuses' }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
+
let(:other) { Fabricate(:user) }
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'GET #index', :sidekiq_inline do
- let(:scopes) { 'read:statuses' }
-
+ describe 'GET /api/v1/conversations', :sidekiq_inline do
before do
PostStatusService.new.call(other.account, text: 'Hey @alice', visibility: 'direct')
PostStatusService.new.call(user.account, text: 'Hey, nobody here', visibility: 'direct')
end
it 'returns pagination headers', :aggregate_failures do
- get :index, params: { limit: 1 }
+ get '/api/v1/conversations', params: { limit: 1 }, headers: headers
expect(response).to have_http_status(200)
expect(response.headers['Link'].links.size).to eq(2)
end
it 'returns conversations', :aggregate_failures do
- get :index
- json = body_as_json
- expect(json.size).to eq 2
- expect(json[0][:accounts].size).to eq 1
+ get '/api/v1/conversations', headers: headers
+
+ expect(body_as_json.size).to eq 2
+ expect(body_as_json[0][:accounts].size).to eq 1
end
context 'with since_id' do
context 'when requesting old posts' do
it 'returns conversations' do
- get :index, params: { since_id: Mastodon::Snowflake.id_at(1.hour.ago, with_random: false) }
- json = body_as_json
- expect(json.size).to eq 2
+ get '/api/v1/conversations', params: { since_id: Mastodon::Snowflake.id_at(1.hour.ago, with_random: false) }, headers: headers
+
+ expect(body_as_json.size).to eq 2
end
end
context 'when requesting posts in the future' do
it 'returns no conversation' do
- get :index, params: { since_id: Mastodon::Snowflake.id_at(1.hour.from_now, with_random: false) }
- json = body_as_json
- expect(json.size).to eq 0
+ get '/api/v1/conversations', params: { since_id: Mastodon::Snowflake.id_at(1.hour.from_now, with_random: false) }, headers: headers
+
+ expect(body_as_json.size).to eq 0
end
end
end
diff --git a/spec/controllers/api/v1/filters_controller_spec.rb b/spec/requests/api/v1/filters_spec.rb
similarity index 75%
rename from spec/controllers/api/v1/filters_controller_spec.rb
rename to spec/requests/api/v1/filters_spec.rb
index b0f64ccf4..deb6e7421 100644
--- a/spec/controllers/api/v1/filters_controller_spec.rb
+++ b/spec/requests/api/v1/filters_spec.rb
@@ -2,23 +2,18 @@
require 'rails_helper'
-RSpec.describe Api::V1::FiltersController do
- render_views
+RSpec.describe 'API V1 Filters' do
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- let(:user) { Fabricate(:user) }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
-
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'GET #index' do
+ describe 'GET /api/v1/filters' do
let(:scopes) { 'read:filters' }
let!(:filter) { Fabricate(:custom_filter, account: user.account) }
let!(:custom_filter_keyword) { Fabricate(:custom_filter_keyword, custom_filter: filter) }
it 'returns http success' do
- get :index
+ get '/api/v1/filters', headers: headers
expect(response).to have_http_status(200)
expect(body_as_json)
.to contain_exactly(
@@ -27,13 +22,13 @@ RSpec.describe Api::V1::FiltersController do
end
end
- describe 'POST #create' do
+ describe 'POST /api/v1/filters' do
let(:scopes) { 'write:filters' }
let(:irreversible) { true }
let(:whole_word) { false }
before do
- post :create, params: { phrase: 'magic', context: %w(home), irreversible: irreversible, whole_word: whole_word }
+ post '/api/v1/filters', params: { phrase: 'magic', context: %w(home), irreversible: irreversible, whole_word: whole_word }, headers: headers
end
it 'creates a filter', :aggregate_failures do
@@ -64,24 +59,25 @@ RSpec.describe Api::V1::FiltersController do
end
end
- describe 'GET #show' do
+ describe 'GET /api/v1/filters/:id' do
let(:scopes) { 'read:filters' }
let(:filter) { Fabricate(:custom_filter, account: user.account) }
let(:keyword) { Fabricate(:custom_filter_keyword, custom_filter: filter) }
it 'returns http success' do
- get :show, params: { id: keyword.id }
+ get "/api/v1/filters/#{keyword.id}", headers: headers
+
expect(response).to have_http_status(200)
end
end
- describe 'PUT #update' do
+ describe 'PUT /api/v1/filters/:id' do
let(:scopes) { 'write:filters' }
let(:filter) { Fabricate(:custom_filter, account: user.account) }
let(:keyword) { Fabricate(:custom_filter_keyword, custom_filter: filter) }
before do
- put :update, params: { id: keyword.id, phrase: 'updated' }
+ put "/api/v1/filters/#{keyword.id}", headers: headers, params: { phrase: 'updated' }
end
it 'updates the filter', :aggregate_failures do
@@ -90,13 +86,13 @@ RSpec.describe Api::V1::FiltersController do
end
end
- describe 'DELETE #destroy' do
+ describe 'DELETE /api/v1/filters/:id' do
let(:scopes) { 'write:filters' }
let(:filter) { Fabricate(:custom_filter, account: user.account) }
let(:keyword) { Fabricate(:custom_filter_keyword, custom_filter: filter) }
before do
- delete :destroy, params: { id: keyword.id }
+ delete "/api/v1/filters/#{keyword.id}", headers: headers
end
it 'removes the filter', :aggregate_failures do
diff --git a/spec/controllers/api/v1/polls/votes_controller_spec.rb b/spec/requests/api/v1/polls/votes_spec.rb
similarity index 61%
rename from spec/controllers/api/v1/polls/votes_controller_spec.rb
rename to spec/requests/api/v1/polls/votes_spec.rb
index 5de225a48..e2b22708b 100644
--- a/spec/controllers/api/v1/polls/votes_controller_spec.rb
+++ b/spec/requests/api/v1/polls/votes_spec.rb
@@ -2,30 +2,32 @@
require 'rails_helper'
-RSpec.describe Api::V1::Polls::VotesController do
- render_views
-
+RSpec.describe 'API V1 Polls Votes' do
let(:user) { Fabricate(:user) }
let(:scopes) { 'write:statuses' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- before { allow(controller).to receive(:doorkeeper_token) { token } }
-
- describe 'POST #create' do
+ describe 'POST /api/v1/polls/:poll_id/votes' do
let(:poll) { Fabricate(:poll) }
before do
- post :create, params: { poll_id: poll.id, choices: %w(1) }
+ post "/api/v1/polls/#{poll.id}/votes", params: { choices: %w(1) }, headers: headers
end
it 'creates a vote', :aggregate_failures do
expect(response).to have_http_status(200)
- vote = poll.votes.where(account: user.account).first
expect(vote).to_not be_nil
expect(vote.choice).to eq 1
expect(poll.reload.cached_tallies).to eq [0, 1]
end
+
+ private
+
+ def vote
+ poll.votes.where(account: user.account).first
+ end
end
end
diff --git a/spec/controllers/api/v1/push/subscriptions_controller_spec.rb b/spec/requests/api/v1/push/subscriptions_spec.rb
similarity index 67%
rename from spec/controllers/api/v1/push/subscriptions_controller_spec.rb
rename to spec/requests/api/v1/push/subscriptions_spec.rb
index 168191468..d699fd1e0 100644
--- a/spec/controllers/api/v1/push/subscriptions_controller_spec.rb
+++ b/spec/requests/api/v1/push/subscriptions_spec.rb
@@ -2,9 +2,7 @@
require 'rails_helper'
-describe Api::V1::Push::SubscriptionsController do
- render_views
-
+describe 'API V1 Push Subscriptions' do
let(:user) { Fabricate(:user) }
let(:create_payload) do
{
@@ -34,15 +32,13 @@ describe Api::V1::Push::SubscriptionsController do
},
}.with_indifferent_access
end
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'push') }
+ let(:scopes) { 'push' }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'POST #create' do
+ describe 'POST /api/v1/push/subscription' do
before do
- post :create, params: create_payload
+ post '/api/v1/push/subscription', params: create_payload, headers: headers
end
it 'saves push subscriptions' do
@@ -56,19 +52,23 @@ describe Api::V1::Push::SubscriptionsController do
end
it 'replaces old subscription on repeat calls' do
- post :create, params: create_payload
+ post '/api/v1/push/subscription', params: create_payload, headers: headers
+
expect(Web::PushSubscription.where(endpoint: create_payload[:subscription][:endpoint]).count).to eq 1
end
it 'returns the expected JSON' do
- expect(body_as_json.with_indifferent_access).to include({ endpoint: create_payload[:subscription][:endpoint], alerts: {}, policy: 'all' })
+ expect(body_as_json.with_indifferent_access)
+ .to include(
+ { endpoint: create_payload[:subscription][:endpoint], alerts: {}, policy: 'all' }
+ )
end
end
- describe 'PUT #update' do
+ describe 'PUT /api/v1/push/subscription' do
before do
- post :create, params: create_payload
- put :update, params: alerts_payload
+ post '/api/v1/push/subscription', params: create_payload, headers: headers
+ put '/api/v1/push/subscription', params: alerts_payload, headers: headers
end
it 'changes alert settings' do
@@ -82,14 +82,17 @@ describe Api::V1::Push::SubscriptionsController do
end
it 'returns the expected JSON' do
- expect(body_as_json.with_indifferent_access).to include({ endpoint: create_payload[:subscription][:endpoint], alerts: alerts_payload[:data][:alerts], policy: alerts_payload[:data][:policy] })
+ expect(body_as_json.with_indifferent_access)
+ .to include(
+ { endpoint: create_payload[:subscription][:endpoint], alerts: alerts_payload[:data][:alerts], policy: alerts_payload[:data][:policy] }
+ )
end
end
- describe 'DELETE #destroy' do
+ describe 'DELETE /api/v1/push/subscription' do
before do
- post :create, params: create_payload
- delete :destroy
+ post '/api/v1/push/subscription', params: create_payload, headers: headers
+ delete '/api/v1/push/subscription', headers: headers
end
it 'removes the subscription' do
diff --git a/spec/requests/api/v1/reports_spec.rb b/spec/requests/api/v1/reports_spec.rb
index ba3d2b306..94baf8cb9 100644
--- a/spec/requests/api/v1/reports_spec.rb
+++ b/spec/requests/api/v1/reports_spec.rb
@@ -35,7 +35,7 @@ RSpec.describe 'Reports' do
it 'creates a report', :aggregate_failures do
perform_enqueued_jobs do
- subject
+ emails = capture_emails { subject }
expect(response).to have_http_status(200)
expect(body_as_json).to match(
@@ -49,7 +49,13 @@ RSpec.describe 'Reports' do
expect(target_account.targeted_reports).to_not be_empty
expect(target_account.targeted_reports.first.comment).to eq 'reasons'
- expect(ActionMailer::Base.deliveries.first.to).to eq([admin.email])
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(admin.email),
+ subject: eq(I18n.t('admin_mailer.new_report.subject', instance: Rails.configuration.x.local_domain, id: target_account.targeted_reports.first.id))
+ )
end
end
diff --git a/spec/requests/api/v1/statuses_spec.rb b/spec/requests/api/v1/statuses_spec.rb
index 201674fcc..a3b84afa2 100644
--- a/spec/requests/api/v1/statuses_spec.rb
+++ b/spec/requests/api/v1/statuses_spec.rb
@@ -167,6 +167,16 @@ describe '/api/v1/statuses' do
expect(response.headers['X-RateLimit-Remaining']).to eq '0'
end
end
+
+ context 'with missing thread' do
+ let(:params) { { status: 'Hello world', in_reply_to_id: 0 } }
+
+ it 'returns http not found' do
+ subject
+
+ expect(response).to have_http_status(404)
+ end
+ end
end
describe 'DELETE /api/v1/statuses/:id' do
diff --git a/spec/controllers/api/v1/streaming_controller_spec.rb b/spec/requests/api/v1/streaming_spec.rb
similarity index 51%
rename from spec/controllers/api/v1/streaming_controller_spec.rb
rename to spec/requests/api/v1/streaming_spec.rb
index 099f68a74..6b550dfa6 100644
--- a/spec/controllers/api/v1/streaming_controller_spec.rb
+++ b/spec/requests/api/v1/streaming_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe Api::V1::StreamingController do
+describe 'API V1 Streaming' do
around do |example|
before = Rails.configuration.x.streaming_api_base_url
Rails.configuration.x.streaming_api_base_url = "wss://#{Rails.configuration.x.web_domain}"
@@ -10,14 +10,13 @@ describe Api::V1::StreamingController do
Rails.configuration.x.streaming_api_base_url = before
end
- before do
- request.headers.merge! Host: Rails.configuration.x.web_domain
- end
+ let(:headers) { { 'Host' => Rails.configuration.x.web_domain } }
context 'with streaming api on same host' do
- describe 'GET #index' do
+ describe 'GET /api/v1/streaming' do
it 'raises ActiveRecord::RecordNotFound' do
- get :index
+ get '/api/v1/streaming', headers: headers
+
expect(response).to have_http_status(404)
end
end
@@ -28,20 +27,33 @@ describe Api::V1::StreamingController do
Rails.configuration.x.streaming_api_base_url = "wss://streaming-#{Rails.configuration.x.web_domain}"
end
- describe 'GET #index' do
+ describe 'GET /api/v1/streaming' do
it 'redirects to streaming host' do
- get :index, params: { access_token: 'deadbeef', stream: 'public' }
- expect(response).to have_http_status(301)
- request_uri = URI.parse(request.url)
- redirect_to_uri = URI.parse(response.location)
- [:scheme, :path, :query, :fragment].each do |part|
- expect(redirect_to_uri.send(part)).to eq(request_uri.send(part)), "redirect target #{part}"
- end
- expect(redirect_to_uri.host).to eq(streaming_host), 'redirect target host'
+ get '/api/v1/streaming', headers: headers, params: { access_token: 'deadbeef', stream: 'public' }
+
+ expect(response)
+ .to have_http_status(301)
+
+ expect(redirect_to_uri)
+ .to have_attributes(
+ fragment: request_uri.fragment,
+ host: eq(streaming_host),
+ path: request_uri.path,
+ query: request_uri.query,
+ scheme: request_uri.scheme
+ )
end
private
+ def request_uri
+ URI.parse(request.url)
+ end
+
+ def redirect_to_uri
+ URI.parse(response.location)
+ end
+
def streaming_host
URI.parse(Rails.configuration.x.streaming_api_base_url).host
end
diff --git a/spec/requests/cache_spec.rb b/spec/requests/cache_spec.rb
index dbba22874..c56eec16c 100644
--- a/spec/requests/cache_spec.rb
+++ b/spec/requests/cache_spec.rb
@@ -184,7 +184,7 @@ describe 'Caching behavior' do
get '/users/alice'
expect(response).to redirect_to('/@alice')
- expect(response.headers['Vary']&.split(',')&.map { |x| x.strip.downcase }).to include('accept')
+ expect(response_vary_headers).to include('accept')
end
end
diff --git a/spec/services/activitypub/process_account_service_spec.rb b/spec/services/activitypub/process_account_service_spec.rb
index 824577d1b..b13869f35 100644
--- a/spec/services/activitypub/process_account_service_spec.rb
+++ b/spec/services/activitypub/process_account_service_spec.rb
@@ -5,7 +5,7 @@ require 'rails_helper'
RSpec.describe ActivityPub::ProcessAccountService, type: :service do
subject { described_class.new }
- context 'with property values' do
+ context 'with property values, an avatar, and a profile header' do
let(:payload) do
{
id: 'https://foo.test',
@@ -16,10 +16,29 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
{ type: 'PropertyValue', name: 'Occupation', value: 'Unit test' },
{ type: 'PropertyValue', name: 'non-string', value: %w(foo bar) },
],
+ image: {
+ type: 'Image',
+ mediaType: 'image/png',
+ url: 'https://foo.test/image.png',
+ },
+ icon: {
+ type: 'Image',
+ url: [
+ {
+ mediaType: 'image/png',
+ href: 'https://foo.test/icon.png',
+ },
+ ],
+ },
}.with_indifferent_access
end
- it 'parses out of attachment' do
+ before do
+ stub_request(:get, 'https://foo.test/image.png').to_return(request_fixture('avatar.txt'))
+ stub_request(:get, 'https://foo.test/icon.png').to_return(request_fixture('avatar.txt'))
+ end
+
+ it 'parses property values, avatar and profile header as expected' do
account = subject.call('alice', 'example.com', payload)
expect(account.fields)
@@ -37,6 +56,10 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
name: eq('Occupation'),
value: eq('Unit test')
)
+ expect(account).to have_attributes(
+ avatar_remote_url: 'https://foo.test/icon.png',
+ header_remote_url: 'https://foo.test/image.png'
+ )
end
end
diff --git a/spec/services/after_unallow_domain_service_spec.rb b/spec/services/after_unallow_domain_service_spec.rb
new file mode 100644
index 000000000..717c42b93
--- /dev/null
+++ b/spec/services/after_unallow_domain_service_spec.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe AfterUnallowDomainService do
+ describe '#call' do
+ context 'with accounts for a domain' do
+ let!(:account) { Fabricate(:account, domain: 'host.example') }
+ let!(:test_account) { Fabricate(:account, domain: 'test.example') }
+ let(:service_double) { instance_double(DeleteAccountService, call: true) }
+
+ before { allow(DeleteAccountService).to receive(:new).and_return(service_double) }
+
+ it 'calls the delete service for accounts from the relevant domain' do
+ subject.call 'test.example'
+
+ expect(service_double)
+ .to_not have_received(:call).with(account, reserve_username: false)
+ expect(service_double)
+ .to have_received(:call).with(test_account, reserve_username: false)
+ end
+ end
+ end
+end
diff --git a/spec/services/appeal_service_spec.rb b/spec/services/appeal_service_spec.rb
new file mode 100644
index 000000000..10c0f148d
--- /dev/null
+++ b/spec/services/appeal_service_spec.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe AppealService do
+ describe '#call' do
+ let!(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ context 'with an existing strike' do
+ let(:strike) { Fabricate(:account_warning) }
+ let(:text) { 'Appeal text' }
+
+ it 'creates an appeal and notifies staff' do
+ emails = capture_emails { subject.call(strike, text) }
+
+ expect(Appeal.last)
+ .to have_attributes(
+ strike: strike,
+ text: text,
+ account: strike.target_account
+ )
+
+ expect(emails.size)
+ .to eq(1)
+
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(admin.email),
+ subject: eq(
+ I18n.t(
+ 'admin_mailer.new_appeal.subject',
+ username: strike.target_account.acct,
+ instance: Rails.configuration.x.local_domain
+ )
+ )
+ )
+ end
+ end
+ end
+end
diff --git a/spec/services/approve_appeal_service_spec.rb b/spec/services/approve_appeal_service_spec.rb
new file mode 100644
index 000000000..5707c5d7f
--- /dev/null
+++ b/spec/services/approve_appeal_service_spec.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe ApproveAppealService do
+ describe '#call' do
+ context 'with an existing appeal' do
+ let(:appeal) { Fabricate(:appeal) }
+ let(:account) { Fabricate(:account) }
+
+ it 'processes the appeal approval' do
+ expect { subject.call(appeal, account) }
+ .to mark_overruled
+ .and record_approver
+ end
+
+ def mark_overruled
+ change(appeal.strike, :overruled_at)
+ .from(nil)
+ .to(be > 1.minute.ago)
+ end
+
+ def record_approver
+ change(appeal, :approved_by_account)
+ .from(nil)
+ .to(account)
+ end
+ end
+ end
+end
diff --git a/spec/services/create_featured_tag_service_spec.rb b/spec/services/create_featured_tag_service_spec.rb
new file mode 100644
index 000000000..29a7c5b30
--- /dev/null
+++ b/spec/services/create_featured_tag_service_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe CreateFeaturedTagService do
+ describe '#call' do
+ let(:tag) { 'test' }
+
+ context 'with a local account' do
+ let(:account) { Fabricate(:account, domain: nil) }
+
+ it 'creates a new featured tag and distributes' do
+ expect { subject.call(account, tag) }
+ .to change(FeaturedTag, :count).by(1)
+ expect(ActivityPub::AccountRawDistributionWorker)
+ .to have_enqueued_sidekiq_job(anything, account.id)
+ end
+ end
+
+ context 'with a remote account' do
+ let(:account) { Fabricate(:account, domain: 'host.example') }
+
+ it 'creates a new featured tag and does not distributes' do
+ expect { subject.call(account, tag) }
+ .to change(FeaturedTag, :count).by(1)
+ expect(ActivityPub::AccountRawDistributionWorker)
+ .to_not have_enqueued_sidekiq_job
+ end
+ end
+ end
+end
diff --git a/spec/services/move_service_spec.rb b/spec/services/move_service_spec.rb
new file mode 100644
index 000000000..e63818f67
--- /dev/null
+++ b/spec/services/move_service_spec.rb
@@ -0,0 +1,48 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe MoveService do
+ subject { described_class.new.call(migration) }
+
+ context 'with a valid migration record' do
+ let(:migration) { Fabricate(:account_migration, account: source_account, target_account: target_account) }
+ let(:source_account) { Fabricate(:account) }
+ let(:target_account) { Fabricate(:account, also_known_as: [source_account_uri]) }
+
+ it 'migrates the account to a new account' do
+ expect { subject }
+ .to change_source_moved_value
+ .and process_local_updates
+ .and distribute_updates
+ .and distribute_move
+ end
+ end
+
+ def source_account_uri
+ ActivityPub::TagManager
+ .instance
+ .uri_for(source_account)
+ end
+
+ def change_source_moved_value
+ change(source_account.reload, :moved_to_account)
+ .from(nil)
+ .to(target_account)
+ end
+
+ def process_local_updates
+ enqueue_sidekiq_job(MoveWorker)
+ .with(source_account.id, target_account.id)
+ end
+
+ def distribute_updates
+ enqueue_sidekiq_job(ActivityPub::UpdateDistributionWorker)
+ .with(source_account.id)
+ end
+
+ def distribute_move
+ enqueue_sidekiq_job(ActivityPub::MoveDistributionWorker)
+ .with(migration.id)
+ end
+end
diff --git a/spec/services/notify_service_spec.rb b/spec/services/notify_service_spec.rb
index 38a33c522..e818fadcb 100644
--- a/spec/services/notify_service_spec.rb
+++ b/spec/services/notify_service_spec.rb
@@ -157,8 +157,6 @@ RSpec.describe NotifyService, type: :service do
describe 'email' do
before do
- ActionMailer::Base.deliveries.clear
-
user.settings.update('notification_emails.follow': enabled)
user.save
end
@@ -167,7 +165,15 @@ RSpec.describe NotifyService, type: :service do
let(:enabled) { true }
it 'sends email', :sidekiq_inline do
- expect { subject }.to change(ActionMailer::Base.deliveries, :count).by(1)
+ emails = capture_emails { subject }
+
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(user.email),
+ subject: eq(I18n.t('notification_mailer.follow.subject', name: sender.acct))
+ )
end
end
@@ -175,7 +181,9 @@ RSpec.describe NotifyService, type: :service do
let(:enabled) { false }
it "doesn't send email" do
- expect { subject }.to_not change(ActionMailer::Base.deliveries, :count).from(0)
+ emails = capture_emails { subject }
+
+ expect(emails).to be_empty
end
end
end
diff --git a/spec/services/process_hashtags_service_spec.rb b/spec/services/process_hashtags_service_spec.rb
new file mode 100644
index 000000000..a0d5ef346
--- /dev/null
+++ b/spec/services/process_hashtags_service_spec.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe ProcessHashtagsService do
+ describe '#call' do
+ let(:status) { Fabricate(:status, visibility: :public, text: 'With tags #one #two') }
+
+ it 'applies the tags from the status text' do
+ expect { subject.call(status) }
+ .to change(Tag, :count).by(2)
+ expect(status.reload.tags.map(&:name))
+ .to contain_exactly('one', 'two')
+ end
+ end
+end
diff --git a/spec/services/remove_domains_from_followers_service_spec.rb b/spec/services/remove_domains_from_followers_service_spec.rb
new file mode 100644
index 000000000..9e9d6cef2
--- /dev/null
+++ b/spec/services/remove_domains_from_followers_service_spec.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe RemoveDomainsFromFollowersService do
+ describe '#call' do
+ context 'with account followers' do
+ let(:account) { Fabricate(:account, domain: nil) }
+ let(:good_domain_account) { Fabricate(:account, domain: 'good.example', protocol: :activitypub) }
+ let(:bad_domain_account) { Fabricate(:account, domain: 'bad.example', protocol: :activitypub) }
+
+ before do
+ Fabricate :follow, target_account: account, account: good_domain_account
+ Fabricate :follow, target_account: account, account: bad_domain_account
+ end
+
+ it 'removes followers from supplied domains and sends a notification' do
+ subject.call(account, ['bad.example'])
+
+ expect(account.followers)
+ .to include(good_domain_account)
+ .and not_include(bad_domain_account)
+ expect(ActivityPub::DeliveryWorker)
+ .to have_enqueued_sidekiq_job(anything, account.id, bad_domain_account.inbox_url)
+ end
+ end
+ end
+end
diff --git a/spec/services/remove_featured_tag_service_spec.rb b/spec/services/remove_featured_tag_service_spec.rb
new file mode 100644
index 000000000..6cf5388c7
--- /dev/null
+++ b/spec/services/remove_featured_tag_service_spec.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe RemoveFeaturedTagService do
+ describe '#call' do
+ context 'with a featured tag' do
+ let(:featured_tag) { Fabricate(:featured_tag) }
+
+ context 'when called by a local account' do
+ let(:account) { Fabricate(:account, domain: nil) }
+
+ it 'destroys the featured tag and sends a distribution' do
+ subject.call(account, featured_tag)
+
+ expect { featured_tag.reload }
+ .to raise_error(ActiveRecord::RecordNotFound)
+ expect(ActivityPub::AccountRawDistributionWorker)
+ .to have_enqueued_sidekiq_job(anything, account.id)
+ end
+ end
+
+ context 'when called by a non local account' do
+ let(:account) { Fabricate(:account, domain: 'host.example') }
+
+ it 'destroys the featured tag and does not send a distribution' do
+ subject.call(account, featured_tag)
+
+ expect { featured_tag.reload }
+ .to raise_error(ActiveRecord::RecordNotFound)
+ expect(ActivityPub::AccountRawDistributionWorker)
+ .to_not have_enqueued_sidekiq_job
+ end
+ end
+ end
+ end
+end
diff --git a/spec/services/report_service_spec.rb b/spec/services/report_service_spec.rb
index 39e14a6a1..2caeb189d 100644
--- a/spec/services/report_service_spec.rb
+++ b/spec/services/report_service_spec.rb
@@ -158,13 +158,14 @@ RSpec.describe ReportService, type: :service do
before do
Fabricate(:report, target_account: target_account)
- ActionMailer::Base.deliveries.clear
source_account.user.settings['notification_emails.report'] = true
source_account.user.save
end
it 'does not send an e-mail' do
- expect { subject.call }.to_not change(ActionMailer::Base.deliveries, :count).from(0)
+ emails = capture_emails { subject.call }
+
+ expect(emails).to be_empty
end
end
end
diff --git a/spec/services/unfavourite_service_spec.rb b/spec/services/unfavourite_service_spec.rb
new file mode 100644
index 000000000..a714cc067
--- /dev/null
+++ b/spec/services/unfavourite_service_spec.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe UnfavouriteService do
+ describe '#call' do
+ context 'with a favourited status' do
+ let(:status) { Fabricate(:status, account: account) }
+ let!(:favourite) { Fabricate(:favourite, status: status) }
+
+ context 'when the status account is local' do
+ let(:account) { Fabricate(:account, domain: nil) }
+
+ it 'destroys the favourite' do
+ subject.call(favourite.account, status)
+
+ expect { favourite.reload }
+ .to raise_error(ActiveRecord::RecordNotFound)
+ end
+ end
+
+ context 'when the status account is a remote activitypub account' do
+ let(:account) { Fabricate(:account, domain: 'host.example', protocol: :activitypub) }
+
+ it 'destroys the favourite and sends a notification' do
+ subject.call(favourite.account, status)
+
+ expect { favourite.reload }
+ .to raise_error(ActiveRecord::RecordNotFound)
+ expect(ActivityPub::DeliveryWorker)
+ .to have_enqueued_sidekiq_job(anything, favourite.account.id, status.account.inbox_url)
+ end
+ end
+ end
+ end
+end
diff --git a/spec/services/unmute_service_spec.rb b/spec/services/unmute_service_spec.rb
new file mode 100644
index 000000000..00135b5ac
--- /dev/null
+++ b/spec/services/unmute_service_spec.rb
@@ -0,0 +1,46 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe UnmuteService do
+ describe '#call' do
+ let!(:account) { Fabricate(:account) }
+ let!(:target_account) { Fabricate(:account) }
+
+ context 'when account is muting target account' do
+ before { Fabricate :mute, account: account, target_account: target_account }
+
+ context 'when account follows target_account' do
+ before { Fabricate :follow, account: account, target_account: target_account }
+
+ it 'removes the account mute and sets up a merge' do
+ expect { subject.call(account, target_account) }
+ .to remove_account_mute
+ expect(MergeWorker).to have_enqueued_sidekiq_job(target_account.id, account.id)
+ end
+ end
+
+ context 'when account does not follow target_account' do
+ it 'removes the account mute and does not create a merge' do
+ expect { subject.call(account, target_account) }
+ .to remove_account_mute
+ expect(MergeWorker).to_not have_enqueued_sidekiq_job
+ end
+ end
+
+ def remove_account_mute
+ change { account.reload.muting?(target_account) }
+ .from(true)
+ .to(false)
+ end
+ end
+
+ context 'when account is not muting target account' do
+ it 'does nothing and returns' do
+ expect { subject.call(account, target_account) }
+ .to_not(change { account.reload.muting?(target_account) })
+ expect(MergeWorker).to_not have_enqueued_sidekiq_job
+ end
+ end
+ end
+end
diff --git a/spec/services/verify_link_service_spec.rb b/spec/services/verify_link_service_spec.rb
index 415788cb5..289507242 100644
--- a/spec/services/verify_link_service_spec.rb
+++ b/spec/services/verify_link_service_spec.rb
@@ -77,27 +77,28 @@ RSpec.describe VerifyLinkService, type: :service do
context 'when a document is truncated but the link back is valid' do
let(:html) do
- "
+ <<-HTML
-
+ HTML
end
- it 'marks the field as not verified' do
- expect(field.verified?).to be false
+ it 'marks the field as verified' do
+ expect(field.verified?).to be true
end
end
- context 'when a link back might be truncated' do
+ context 'when a link tag might be truncated' do
let(:html) do
- "
+ <<-HTML_TRUNCATED
- Hello' }
+ let(:html) do
+ <<-HTML
+ Hello
+ HTML
+ end
it 'does not crash' do
# We could probably put more effort into perhaps auto-correcting the
diff --git a/spec/services/vote_service_spec.rb b/spec/services/vote_service_spec.rb
new file mode 100644
index 000000000..88207b001
--- /dev/null
+++ b/spec/services/vote_service_spec.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe VoteService do
+ describe '#call' do
+ subject { described_class.new.call(voter, poll, [0]) }
+
+ context 'with a poll and poll options' do
+ let(:poll) { Fabricate(:poll, account: account, options: %w(Fun UnFun)) }
+ let(:fun_vote) { Fabricate(:poll_vote, poll: poll) }
+ let(:not_fun_vote) { Fabricate(:poll_vote, poll: poll) }
+ let(:voter) { Fabricate(:account, domain: nil) }
+
+ context 'when the poll was created by a local account' do
+ let(:account) { Fabricate(:account, domain: nil) }
+
+ it 'stores the votes and distributes the poll' do
+ expect { subject }
+ .to change(PollVote, :count).by(1)
+
+ expect(ActivityPub::DistributePollUpdateWorker)
+ .to have_enqueued_sidekiq_job(poll.status.id)
+ end
+ end
+
+ context 'when the poll was created by a remote account' do
+ let(:account) { Fabricate(:account, domain: 'host.example') }
+
+ it 'stores the votes and processes delivery' do
+ expect { subject }
+ .to change(PollVote, :count).by(1)
+
+ expect(ActivityPub::DeliveryWorker)
+ .to have_enqueued_sidekiq_job(anything, voter.id, poll.account.inbox_url)
+ end
+ end
+ end
+ end
+end
diff --git a/spec/services/webhook_service_spec.rb b/spec/services/webhook_service_spec.rb
new file mode 100644
index 000000000..22a60db9f
--- /dev/null
+++ b/spec/services/webhook_service_spec.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe WebhookService do
+ describe '#call' do
+ context 'with a relevant event webhook' do
+ let!(:report) { Fabricate(:report) }
+ let!(:webhook) { Fabricate(:webhook, events: ['report.created']) }
+
+ it 'finds and delivers webhook payloads' do
+ expect { subject.call('report.created', report) }
+ .to enqueue_sidekiq_job(Webhooks::DeliveryWorker)
+ .with(
+ webhook.id,
+ anything
+ )
+ end
+ end
+
+ context 'without any relevant event webhooks' do
+ let!(:report) { Fabricate(:report) }
+
+ it 'does not deliver webhook payloads' do
+ expect { subject.call('report.created', report) }
+ .to_not enqueue_sidekiq_job(Webhooks::DeliveryWorker)
+ end
+ end
+ end
+end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index dc60976d0..8a01792a1 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -23,6 +23,12 @@ RSpec.configure do |config|
config.before :suite do
Rails.application.load_seed
Chewy.strategy(:bypass)
+
+ # NOTE: we switched registrations mode to closed by default, but the specs
+ # very heavily rely on having it enabled by default, as it relies on users
+ # being approved by default except in select cases where explicitly testing
+ # other registration modes
+ Setting.registrations_mode = 'open'
end
config.after :suite do
diff --git a/spec/support/examples/cache.rb b/spec/support/examples/cache.rb
index afbee66b2..60e522f42 100644
--- a/spec/support/examples/cache.rb
+++ b/spec/support/examples/cache.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
shared_examples 'cacheable response' do |expects_vary: false|
- it 'sets correct cache and vary headers and does not set cookies or session' do
+ it 'sets correct cache and vary headers and does not set cookies or session', :aggregate_failures do
expect(response.cookies).to be_empty
expect(response.headers['Set-Cookies']).to be_nil
diff --git a/spec/support/stories/profile_stories.rb b/spec/support/stories/profile_stories.rb
index 74342c337..f5fc9a441 100644
--- a/spec/support/stories/profile_stories.rb
+++ b/spec/support/stories/profile_stories.rb
@@ -21,6 +21,12 @@ module ProfileStories
click_on I18n.t('auth.login')
end
+ def as_a_logged_in_admin
+ # This is a bit awkward, but this avoids code duplication.
+ as_a_logged_in_user
+ bob.update!(role: UserRole.find_by!(name: 'Admin'))
+ end
+
def with_alice_as_local_user
@alice_bio = '@alice and @bob are fictional characters commonly used as' \
'placeholder names in #cryptology, as well as #science and' \
diff --git a/spec/support/streaming_server_manager.rb b/spec/support/streaming_server_manager.rb
index 39657586f..b702fc77c 100644
--- a/spec/support/streaming_server_manager.rb
+++ b/spec/support/streaming_server_manager.rb
@@ -102,6 +102,16 @@ RSpec.configure do |config|
self.use_transactional_tests = false
DatabaseCleaner.cleaning do
+ # NOTE: we switched registrations mode to closed by default, but the specs
+ # very heavily rely on having it enabled by default, as it relies on users
+ # being approved by default except in select cases where explicitly testing
+ # other registration modes
+ # Also needs to be set per-example here because of the database cleaner.
+ Setting.registrations_mode = 'open'
+
+ # Load seeds so we have the default roles otherwise cleared by `DatabaseCleaner`
+ Rails.application.load_seed
+
example.run
end
diff --git a/spec/system/report_interface_spec.rb b/spec/system/report_interface_spec.rb
new file mode 100644
index 000000000..6eba55255
--- /dev/null
+++ b/spec/system/report_interface_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe 'report interface', :paperclip_processing do
+ include ProfileStories
+
+ let(:email) { 'admin@example.com' }
+ let(:password) { 'password' }
+ let(:confirmed_at) { Time.zone.now }
+ let(:finished_onboarding) { true }
+
+ let(:reported_account) { Fabricate(:account) }
+ let(:reported_status) { Fabricate(:status, account: reported_account) }
+ let(:media_attachment) { Fabricate(:media_attachment, account: reported_account, status: reported_status, file: attachment_fixture('attachment.jpg')) }
+ let!(:report) { Fabricate(:report, target_account: reported_account, status_ids: [media_attachment.status.id]) }
+
+ before do
+ as_a_logged_in_admin
+ visit admin_report_path(report)
+ end
+
+ it 'displays the report interface, including the javascript bits' do
+ # The report category selector React component is properly rendered
+ expect(page).to have_css('.report-reason-selector')
+
+ # The media React component is properly rendered
+ page.scroll_to(page.find('.batch-table__row'))
+ expect(page).to have_css('.spoiler-button__overlay__label')
+ end
+end
diff --git a/spec/workers/backup_worker_spec.rb b/spec/workers/backup_worker_spec.rb
index 987cbc7d6..74928c7ca 100644
--- a/spec/workers/backup_worker_spec.rb
+++ b/spec/workers/backup_worker_spec.rb
@@ -15,12 +15,17 @@ describe BackupWorker do
let!(:other_backup) { Fabricate(:backup, user: backup.user) }
it 'sends the backup to the service and removes other backups', :sidekiq_inline do
- expect do
- worker.perform(backup.id)
- end.to change(UserMailer.deliveries, :size).by(1)
+ emails = capture_emails { worker.perform(backup.id) }
expect(service).to have_received(:call).with(backup)
expect { other_backup.reload }.to raise_error(ActiveRecord::RecordNotFound)
+ expect(emails.size)
+ .to eq(1)
+ expect(emails.first)
+ .to have_attributes(
+ to: contain_exactly(backup.user.email),
+ subject: I18n.t('user_mailer.backup_ready.subject')
+ )
end
context 'when sidekiq retries are exhausted' do
diff --git a/spec/workers/scheduler/auto_close_registrations_scheduler_spec.rb b/spec/workers/scheduler/auto_close_registrations_scheduler_spec.rb
new file mode 100644
index 000000000..c0c50b128
--- /dev/null
+++ b/spec/workers/scheduler/auto_close_registrations_scheduler_spec.rb
@@ -0,0 +1,60 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Scheduler::AutoCloseRegistrationsScheduler do
+ subject { described_class.new }
+
+ describe '#perform' do
+ let(:moderator_activity_date) { Time.now.utc }
+
+ before do
+ Fabricate(:user, role: UserRole.find_by(name: 'Owner'), current_sign_in_at: 10.years.ago)
+ Fabricate(:user, role: UserRole.find_by(name: 'Moderator'), current_sign_in_at: moderator_activity_date)
+ end
+
+ context 'when registrations are open' do
+ before do
+ Setting.registrations_mode = 'open'
+ end
+
+ context 'when a moderator has logged in recently' do
+ let(:moderator_activity_date) { Time.now.utc }
+
+ it 'does not change registrations mode' do
+ expect { subject.perform }.to_not change(Setting, :registrations_mode)
+ end
+ end
+
+ context 'when a moderator has not recently signed in' do
+ let(:moderator_activity_date) { 1.year.ago }
+
+ it 'changes registrations mode from open to approved' do
+ expect { subject.perform }.to change(Setting, :registrations_mode).from('open').to('approved')
+ end
+ end
+ end
+
+ context 'when registrations are closed' do
+ before do
+ Setting.registrations_mode = 'none'
+ end
+
+ context 'when a moderator has logged in recently' do
+ let(:moderator_activity_date) { Time.now.utc }
+
+ it 'does not change registrations mode' do
+ expect { subject.perform }.to_not change(Setting, :registrations_mode)
+ end
+ end
+
+ context 'when a moderator has not recently signed in' do
+ let(:moderator_activity_date) { 1.year.ago }
+
+ it 'does not change registrations mode' do
+ expect { subject.perform }.to_not change(Setting, :registrations_mode)
+ end
+ end
+ end
+ end
+end
diff --git a/streaming/.eslintrc.js b/streaming/.eslintrc.cjs
similarity index 79%
rename from streaming/.eslintrc.js
rename to streaming/.eslintrc.cjs
index 188ebb512..e25cff7df 100644
--- a/streaming/.eslintrc.js
+++ b/streaming/.eslintrc.cjs
@@ -1,4 +1,8 @@
+/* eslint-disable import/no-commonjs */
+
// @ts-check
+
+// @ts-ignore - This needs to be a CJS file (eslint does not yet support ESM configs), and TS is complaining we use require
const { defineConfig } = require('eslint-define-config');
module.exports = defineConfig({
@@ -22,22 +26,18 @@ module.exports = defineConfig({
// to maintain.
'no-delete-var': 'off',
- // The streaming server is written in commonjs, not ESM for now:
- 'import/no-commonjs': 'off',
-
// This overrides the base configuration for this rule to pick up
// dependencies for the streaming server from the correct package.json file.
'import/no-extraneous-dependencies': [
'error',
{
- devDependencies: [
- 'streaming/.eslintrc.js',
- ],
+ devDependencies: ['streaming/.eslintrc.cjs'],
optionalDependencies: false,
peerDependencies: false,
includeTypes: true,
packageDir: __dirname,
},
],
+ 'import/extensions': ['error', 'always'],
},
});
diff --git a/streaming/errors.js b/streaming/errors.js
new file mode 100644
index 000000000..6c44d2cb8
--- /dev/null
+++ b/streaming/errors.js
@@ -0,0 +1,46 @@
+// @ts-check
+
+/**
+ * Typed as a string because otherwise it's a const string, which means we can't
+ * override it in let statements.
+ * @type {string}
+ */
+export const UNEXPECTED_ERROR_MESSAGE = 'An unexpected error occurred';
+
+/**
+ * Extracts the status and message properties from the error object, if
+ * available for public use. The `unknown` is for catch statements
+ * @param {Error | AuthenticationError | RequestError | unknown} err
+ */
+export function extractStatusAndMessage(err) {
+ let statusCode = 500;
+ let errorMessage = UNEXPECTED_ERROR_MESSAGE;
+ if (err instanceof AuthenticationError || err instanceof RequestError) {
+ statusCode = err.status;
+ errorMessage = err.message;
+ }
+
+ return { statusCode, errorMessage };
+}
+
+export class RequestError extends Error {
+ /**
+ * @param {string} message
+ */
+ constructor(message) {
+ super(message);
+ this.name = "RequestError";
+ this.status = 400;
+ }
+}
+
+export class AuthenticationError extends Error {
+ /**
+ * @param {string} message
+ */
+ constructor(message) {
+ super(message);
+ this.name = "AuthenticationError";
+ this.status = 401;
+ }
+}
diff --git a/streaming/index.js b/streaming/index.js
index 6945a9ae7..154ecbc02 100644
--- a/streaming/index.js
+++ b/streaming/index.js
@@ -1,30 +1,36 @@
// @ts-check
-const fs = require('fs');
-const http = require('http');
-const path = require('path');
-const url = require('url');
+import fs from 'node:fs';
+import http from 'node:http';
+import path from 'node:path';
+import url from 'node:url';
-const cors = require('cors');
-const dotenv = require('dotenv');
-const express = require('express');
-const { Redis } = require('ioredis');
-const { JSDOM } = require('jsdom');
-const pg = require('pg');
-const dbUrlToConfig = require('pg-connection-string').parse;
-const WebSocket = require('ws');
+import cors from 'cors';
+import dotenv from 'dotenv';
+import express from 'express';
+import { Redis } from 'ioredis';
+import { JSDOM } from 'jsdom';
+import pg from 'pg';
+import pgConnectionString from 'pg-connection-string';
+import WebSocket from 'ws';
-const { logger, httpLogger, initializeLogLevel, attachWebsocketHttpLogger, createWebsocketLogger } = require('./logging');
-const { setupMetrics } = require('./metrics');
-const { isTruthy, normalizeHashtag, firstParam } = require("./utils");
+import { AuthenticationError, RequestError, extractStatusAndMessage as extractErrorStatusAndMessage } from './errors.js';
+import { logger, httpLogger, initializeLogLevel, attachWebsocketHttpLogger, createWebsocketLogger } from './logging.js';
+import { setupMetrics } from './metrics.js';
+import { isTruthy, normalizeHashtag, firstParam } from './utils.js';
const environment = process.env.NODE_ENV || 'development';
// Correctly detect and load .env or .env.production file based on environment:
const dotenvFile = environment === 'production' ? '.env.production' : '.env';
+const dotenvFilePath = path.resolve(
+ url.fileURLToPath(
+ new URL(path.join('..', dotenvFile), import.meta.url)
+ )
+);
dotenv.config({
- path: path.resolve(__dirname, path.join('..', dotenvFile))
+ path: dotenvFilePath
});
initializeLogLevel(process.env, environment);
@@ -141,7 +147,7 @@ const pgConfigFromEnv = (env) => {
let baseConfig = {};
if (env.DATABASE_URL) {
- const parsedUrl = dbUrlToConfig(env.DATABASE_URL);
+ const parsedUrl = pgConnectionString.parse(env.DATABASE_URL);
// The result of dbUrlToConfig from pg-connection-string is not type
// compatible with pg.PoolConfig, since parts of the connection URL may be
@@ -186,7 +192,7 @@ const pgConfigFromEnv = (env) => {
if (!baseConfig.password && env.DB_PASS) {
baseConfig.password = env.DB_PASS;
}
- } else if (Object.hasOwnProperty.call(pgConfigs, environment)) {
+ } else if (Object.hasOwn(pgConfigs, environment)) {
baseConfig = pgConfigs[environment];
if (env.DB_SSLMODE) {
@@ -324,7 +330,7 @@ const startServer = async () => {
// Unfortunately for using the on('upgrade') setup, we need to manually
// write a HTTP Response to the Socket to close the connection upgrade
// attempt, so the following code is to handle all of that.
- const statusCode = err.status ?? 401;
+ const {statusCode, errorMessage } = extractErrorStatusAndMessage(err);
/** @type {Record