EntĂĄ nun se configurĂł la descripciĂłn estendida.
hosted_on: Mastodon ta agospiĂĄu en %{domain}
learn_more: Deprendi mĂĄs
source_code: CĂłdigu fonte
@@ -199,7 +196,6 @@ ast:
too_many: Nun puen axuntase mĂĄs de 4 ficheros
migrations:
acct: nome_usuariu@dominiu de la cuenta nueva
- proceed: Guardar
notification_mailer:
digest:
body: EquĂ hai un resume de los mensaxes que nun viesti dende la Ăşltima visita'l %{since}
diff --git a/config/locales/bn.yml b/config/locales/bn.yml
index 5f05fe30e68..1da7aac53eb 100644
--- a/config/locales/bn.yml
+++ b/config/locales/bn.yml
@@ -17,9 +17,6 @@ bn:
contact_unavailable: পŕ§ŕŚ°ŕŚŻŕ§ŕŚŕ§ŕŚŻ নŕ§
discover_users: বŕ§ŕŚŻŕŚŹŕŚšŕŚžŕŚ°ŕŚŕŚžŕŚ°ŕ§ŕŚŚŕ§ŕŚ° দŕ§ŕŚŕ§ŕŚ¨
documentation: বŕ§ŕŚŻŕŚŹŕŚšŕŚžŕŚ°ŕŚŹŕŚżŕŚ˛ŕŚż
- extended_description_html: |
-
Encara no s'ha configurat la descripciĂł ampliada.
federation_hint_html: Amb un compte de %{instance} podrĂ s seguir persones de qualsevol servidor Mastodon i altres.
generic_description: "%{domain} ĂŠs un servidor a la xarxa"
get_apps: Prova una aplicació mòbil
@@ -627,23 +624,6 @@ ca:
directory: Directori de perfils
explanation: Descobreix usuaris segons els seus interessos
explore_mastodon: Explora %{title}
- domain_blocks:
- blocked_domains: Llistat dels dominis limitats i bloquejats
- description: Aquesta ĂŠs la llista de servidors que %{instance} limita o en rebutja la federaciĂł.
- domain: Domini
- media_block: Bloqueig multimèdia
- no_domain_blocks: "(Sense bloquejos de domini)"
- severity: Severitat
- severity_legend:
- media_block: Els fitxers multimèdia procedents del servidor no es poden recuperar, emmagatzemar ni mostrar a l'usuari.
- silence: Es poden trobar comptes de servidors silenciats, seguits i amb interacciĂł, però els seus tuts no apareixeran en les lĂnies de temps pĂşbliques i les seves notificacions no arribaran als usuaris locals que no els segueixen.
- suspension: No sâemmagatzema ni es mostra contingut de servidors en suspens, ni seâls envia cap contingut. S'ignoren les interaccions dels servidors suspesos.
- suspension_disclaimer: Els servidors suspesos poden ocasionalment recuperar contingut pĂşblic dâaquest servidor.
- title: Severitats
- show_rationale: Mostra el raonament
- silence: Silenci
- suspension: SuspensiĂł
- title: "%{instance} Llistat de les instĂ ncies bloquejades"
domain_validator:
invalid_domain: no es un nom de domini vĂ lid
errors:
@@ -780,9 +760,6 @@ ca:
too_many: No es poden adjuntar mĂŠs de 4 fitxers
migrations:
acct: usuari@domini del nou compte
- currently_redirecting: 'El teu perfil estĂ configurat com a redirecciĂł a:'
- proceed: Desa
- updated_msg: La configuraciĂł de la migraciĂł del compte s'ha actualitzat correctament!
moderation:
title: ModeraciĂł
notification_mailer:
diff --git a/config/locales/co.yml b/config/locales/co.yml
index e91b1361f15..ac558e64ed1 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -17,9 +17,6 @@ co:
contact_unavailable: Micca dispunibule
discover_users: Scopre utilizatori
documentation: Ducumentazione
- extended_description_html: |
-
Una bona piazza per e regule
-
A descrizzione stesa Ún hè micca stata riempiuta.
federation_hint_html: CÚ un contu nant'à %{instance} puderete siguità ghjente da tutti i servori Mastodon è ancu piÚ d'altri.
generic_description: "%{domain} hè un servore di a rete"
get_apps: PruvĂ un'applicazione di telefuninu
@@ -521,6 +518,10 @@ co:
context: Cuntestu
directory: In l'annuariu
in_directory: "%{count} in l'annuariu"
+ last_active: Ultima attivitĂ
+ most_popular: PiĂš pupulari
+ most_recent: PiĂš ricente
+ name: Hashtag
review: Statutu di verificazione
reviewed: Verificatu
title: Hashtag
@@ -617,6 +618,11 @@ co:
return: Vede u prufile di lâutilizatore
web: AndĂ Ă lâinterfaccia web
title: SiguitĂ %{acct}
+ challenge:
+ confirm: CuntinuvĂ
+ hint_html: "Astuzia: Ăn avemu micca da dumandavvi stu codice per l'ore chĂŹ vene."
+ invalid_password: Chjave d'accessu micca curretta
+ prompt: CunfirmĂ a chjave d'accessu per cuntinuvĂ
datetime:
distance_in_words:
about_x_hours: "%{count}o"
@@ -632,7 +638,9 @@ co:
x_months: "%{count}Me"
x_seconds: "%{count}s"
deletes:
+ challenge_not_passed: L'infurmazione entrata Ăšn era micca curretta
confirm_password: Entrate a vostra chjave dâaccessu attuale per verificĂ a vostra identitĂ
+ confirm_username: EntrĂ u vostru cugnome per cunfirmĂ a prucedura
proceed: SguassĂ u contu
success_msg: U vostru contu hè statu sguassatu
warning:
@@ -650,23 +658,6 @@ co:
directory: Annuariu di i prufili
explanation: Scopre utilizatori Ă partesi di i so centri d'interessu
explore_mastodon: Scopre Ă %{title}
- domain_blocks:
- blocked_domains: Lista di dumini bluccati è limitati
- description: Quessa ghjè a lista di i servori limitati da o cÚ quelli %{instance} righjetta a federazione.
- domain: Duminiu
- media_block: Blucchime di media
- no_domain_blocks: "(Nisun blucchime di duminiu)"
- severity: SeveritĂ
- severity_legend:
- media_block: I fugliali media chĂŹ venenu sa stu servore Ăšn saranu mai ricuperati, cunservati, o affissati Ă l'utilizatore.
- silence: I conti nant'à i servori silenzati ponu esse trovi, siguitati è spartuti/favurizati, mà i statuti Ún saranu micca in e linee pubbliche, è l'utilizatori lucali ch'Ún sò micca abbunati à sti conti Ún anu micca da riceve e so nutificazione.
- suspension: U cuntinutu da i servori suspesi Ún hè mai cunservatu o affissatu, è u cuntinutu di stu servore Ún li hè micca mandatu. L'interazzione da sti servori suspesi sò ignurate.
- suspension_disclaimer: I servori suspesi ponu ognitantu ricuperĂ i cuntinuti pubblichi da stu servore.
- title: SeveritĂ
- show_rationale: Vede ragiò
- silence: Silenziu
- suspension: Suspensione
- title: Lista di servori bluccati da %{instance}
domain_validator:
invalid_domain: Ún hè micca un nome di duminiu currettu
errors:
@@ -804,9 +795,6 @@ co:
too_many: Ăn si pò micca aghjunghje piĂš di 4 fugliali
migrations:
acct: cugnome@duminiu di u novu contu
- currently_redirecting: 'U vostru prufile riindiriza tuttu versu Ă :'
- proceed: SalvĂ
- updated_msg: I paramettri di migrazione sò stati messi à ghjornu!
moderation:
title: Muderazione
notification_mailer:
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 569eb35d21d..add1c78d508 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -17,9 +17,6 @@ cs:
contact_unavailable: Neuvedeno
discover_users: Objevujte uĹživatele
documentation: Dokumentace
- extended_description_html: |
-
DobrĂŠ mĂsto pro pravidla
-
RozĹĄĂĹenĂ˝ popis jeĹĄtÄ nebyl nastaven.
federation_hint_html: S ĂşÄtem na %{instance} mĹŻĹžete sledovat lidi na jakĂŠmkoliv serveru Mastodon a jinĂ˝ch sluĹžbĂĄch.
generic_description: "%{domain} je jednĂm ze serverĹŻ v sĂti"
get_apps: VyzkouĹĄejte mobilnĂ aplikaci
@@ -40,6 +37,13 @@ cs:
status_count_before: KteĹĂ napsali
tagline: Sledujte svĂŠ pĹĂĄtele a objevujte novĂŠ
terms: PodmĂnky pouĹžĂvĂĄnĂ
+ unavailable_content: NedostupnĂ˝ obsah
+ unavailable_content_description:
+ reason: 'DĹŻvod:'
+ rejecting_media: MediĂĄlnĂ soubory z tohoto serveru nebudou zpracovĂĄny a nebudou zobrazeny ŞådnĂŠ nĂĄhledy. Pro prohlĂŠdnutĂ mĂŠdiĂ bude tĹeba manuĂĄlnÄ pĹejĂt na druhĂ˝ server.
+ silenced: PĹĂspÄvky z tohoto severu nebudou zobrazeni nikde kromÄ vaĹĄeho domovskĂŠho proudu, v pĹĂpadÄ, Ĺže sledujete autora.
+ suspended: Nebudete moci sledovat nikoho z tohoto serveru, ŞådnĂĄ data z nÄj nebudou zpracovĂĄna Äi uloĹžena a ŞådnĂĄ data nebudou vymÄnÄna mezi servery.
+ unavailable_content_html: Mastodon vĂĄm obvykle dovoluje prohlĂĹžet si obsah a komunikovat s uĹživateli z jakĂŠhokoliv dalĹĄĂho serveru ve fedivesmĂru. Tohle jsou vĂ˝jimky, kterĂŠ byly zavedeny na tomto konkrĂŠtnĂm serveru.
user_count_after:
few: uĹživatelĂŠ
many: uĹživatelĹŻ
@@ -533,6 +537,10 @@ cs:
context: Kontext
directory: V adresĂĄĹi
in_directory: "%{count} v adresĂĄĹi"
+ last_active: Naposledy aktivnĂ
+ most_popular: NejpopulĂĄrnÄjĹĄĂ
+ most_recent: NejnovÄjĹĄĂ
+ name: Hashtag
review: Stav schvĂĄlenĂ
reviewed: SchvĂĄlen
title: Hashtagy
@@ -558,6 +566,12 @@ cs:
new_trending_tag:
body: 'Hashtag #%{name} je dnes populĂĄrnĂ, nebyl vĹĄak dĹĂve schvĂĄlen. Nebude zobrazen veĹejnÄ, pokud to nedovolĂte. MĹŻĹžete takĂŠ pouze uloĹžit formulĂĄĹ tak, jak je, a nikdy o nÄm opÄt neslyĹĄet.'
subject: NovĂ˝ hashtag ke schvĂĄlenĂ na %{instance} (#%{name})
+ aliases:
+ add_new: VytvoĹit alias
+ created_msg: NovĂ˝ alias byl ĂşspÄĹĄnÄ vytvoĹen. NynĂ mĹŻĹžete zahĂĄjit pĹesun ze starĂŠho ĂşÄtu.
+ deleted_msg: Alias byl ĂşspÄĹĄnÄ odstranÄn. PĹesun z tamtoho ĂşÄtu na tento jiĹž nebude moĹžnĂ˝.
+ hint_html: Chcete-li se pĹesunout z jinĂŠho ĂşÄtu na tento, mĹŻĹžete si zde vytvoĹit alias, kterĂ˝ je vyĹžadovĂĄn pĹedtĂm, neĹž mĹŻĹžete pokraÄovat pĹesunem sledujĂcĂch ze starĂŠho ĂşÄtu na tento. Tato akce sama o sobÄ je neĹĄkodnĂĄ a vratnĂĄ. PĹesun ĂşÄtu se zahajuje ze starĂŠho ĂşÄtu.
+ remove: Odpojit alias
appearance:
advanced_web_interface: PokroÄilĂŠ webovĂŠ rozhranĂ
advanced_web_interface_hint: 'Chcete-li vyuĹžĂt celĂŠ ĹĄĂĹky vaĹĄĂ obrazovky, dovolĂ vĂĄm pokroÄilĂŠ webovĂŠ rozhranĂ nastavit si mnoho rĹŻznĂ˝ch sloupcĹŻ, takĹže mĹŻĹžete vidÄt ve stejnou chvĂli tolik informacĂ, kolik chcete: domovskou Äasovou osu, oznĂĄmenĂ, federovanou Äasovou osu a libovolnĂ˝ poÄet seznamĹŻ a hashtagĹŻ.'
@@ -617,6 +631,7 @@ cs:
confirming: ÄekĂĄm na dokonÄenĂ potvrzenĂ e-mailu.
functional: VĂĄĹĄ ĂşÄet je zcela funkÄnĂ.
pending: VĂĄĹĄ poĹžadavek ÄekĂĄ na schvĂĄlenĂ naĹĄĂm personĂĄlem. To mĹŻĹže nÄjakou dobu trvat. Pokud bude vĂĄĹĄ poĹžadavek schvĂĄlen, obdrĹžĂte e-mail.
+ redirecting_to: VĂĄĹĄ ĂşÄet je neaktivnĂ, protoĹže prĂĄvÄ pĹesmÄrovĂĄvĂĄ na ĂşÄet %{acct}.
trouble_logging_in: ProblĂŠmy s pĹihlaĹĄovĂĄnĂm?
authorize_follow:
already_following: Tento ĂşÄet jiĹž sledujete
@@ -629,6 +644,11 @@ cs:
return: Zobrazit profil uĹživatele
web: PĹejĂt na web
title: Sledovat uĹživatele %{acct}
+ challenge:
+ confirm: PokraÄovat
+ hint_html: "Tip: Po dobu hodiny vås nebudeme znovu Şådat o heslo."
+ invalid_password: NeplatnĂŠ heslo
+ prompt: PokraÄujte potvrzenĂm hesla
datetime:
distance_in_words:
about_x_hours: "%{count} hod"
@@ -644,7 +664,9 @@ cs:
x_months: "%{count} mesĂcĹŻ"
x_seconds: "%{count} s"
deletes:
+ challenge_not_passed: Informace, kterĂŠ jste zadal/a, nejsou sprĂĄvnĂŠ
confirm_password: Zadejte svoje souÄasnĂŠ heslo pro ovÄĹenĂ vaĹĄĂ identity
+ confirm_username: ZadĂĄnĂm svĂŠho uĹživatelskĂŠho jmĂŠna potvrdĂte proces
proceed: Odstranit ĂşÄet
success_msg: VĂĄĹĄ ĂşÄet byl ĂşspÄĹĄnÄ odstranÄn
warning:
@@ -662,23 +684,6 @@ cs:
directory: AdresĂĄĹ profilĹŻ
explanation: Objevujte uĹživatele podle jejich zĂĄjmĹŻ
explore_mastodon: Prozkoumejte %{title}
- domain_blocks:
- blocked_domains: Seznam omezených a blokovaných domÊn
- description: Tohle je seznam serverĹŻ, kterĂŠ server %{instance} omezuje nebo odmĂtĂĄ federaci.
- domain: DomĂŠna
- media_block: Blokace mĂŠdiĂ
- no_domain_blocks: "(ŽådnÊ blokovanÊ domÊny)"
- severity: PĹĂsnost
- severity_legend:
- media_block: MediĂĄlnĂ soubory pĹichĂĄzejĂcĂ ze serveru nejsou stahovĂĄny, uklĂĄdĂĄny ani zobrazovĂĄny uĹživatelĹŻm.
- silence: ĂÄty z utiĹĄenĂ˝ch serverĹŻ lze nalĂŠzt, sledovat a interagovat s nimi, ale jejich tooty nebudou zobrazovĂĄny na veĹejnĂ˝ch ÄasovĂ˝ch osĂĄch a oznĂĄmenĂ od nich se nedostanou k mĂstnĂm uĹživatelĹŻm, kteĹĂ je nesledujĂ.
- suspension: Z pozastavenĂ˝ch serverĹŻ se neuklĂĄdĂĄ ani nezobrazuje ŞådnĂ˝ obsah, ani se nanÄ ĹžĂĄdnĂ˝ obsah neposĂlĂĄ. Interakce z pozastavenĂ˝ch serverĹŻ jsou ignorovĂĄny.
- suspension_disclaimer: PozastavenĂŠ servery mohou obÄas stahovat veĹejnĂ˝ obsah z tohoto serveru.
- title: PĹĂsnosti
- show_rationale: Zobrazit odĹŻvodnÄnĂ
- silence: UtiĹĄenĂ
- suspension: PozastavenĂ
- title: "%{instance} Seznam blokovaných serverů"
domain_validator:
invalid_domain: nenĂ platnĂŠ domĂŠnovĂŠ jmĂŠno
errors:
@@ -819,10 +824,32 @@ cs:
images_and_video: K tootu, kterĂ˝ jiĹž obsahuje obrĂĄzky, nelze pĹipojit video
too_many: Nelze pĹipojit vĂce neĹž 4 soubory
migrations:
- acct: pĹezdĂvka@domĂŠna novĂŠho ĂşÄtu
- currently_redirecting: 'VĂĄĹĄ profil mĂĄ nastaveno pĹesmÄrovĂĄnĂ na:'
- proceed: UloĹžit
- updated_msg: VaĹĄe nastavenĂ pĹesunutĂ ĂşÄtu bylo ĂşspÄĹĄnÄ aktualizovĂĄno!
+ acct: PĹesunuto na
+ cancel: ZruĹĄit pĹesmÄrovĂĄnĂ
+ cancel_explanation: ZruĹĄenĂm pĹesmÄrovĂĄnĂ znovu aktivujete svĹŻj aktuĂĄlnĂ ĂşÄet, ale nevrĂĄtĂ se vĂĄm sledujĂcĂ, kteĹĂ byli pĹesmÄrovĂĄni na druhĂ˝ ĂşÄet.
+ cancelled_msg: PĹesmÄrovĂĄnĂ bylo ĂşspÄĹĄnÄ zruĹĄeno.
+ errors:
+ already_moved: je stejnĂ˝ ĂşÄet, na kterĂ˝ jste se jiĹž pĹesunul/a
+ missing_also_known_as: neodkazuje na tento ĂşÄet
+ move_to_self: nemĹŻĹže bĂ˝t aktuĂĄlnĂ ĂşÄet
+ not_found: nemohl být nalezen
+ on_cooldown: ProbĂhĂĄ obdobĂ odpoÄinku
+ followers_count: SledujĂcĂ v dobÄ pĹesunu
+ incoming_migrations: PĹesun z jinĂŠho ĂşÄtu
+ incoming_migrations_html: Chcete-li se pĹesunout z jinĂŠho ĂşÄtu na tento, potĹebujete si nejprve vytvoĹit alias ĂşÄtu.
+ moved_msg: VĂĄĹĄ ĂşÄet nynĂ pĹesmÄrovĂĄvĂĄ na ĂşÄet %{acct} a vaĹĄi sledujĂcĂ se na nÄj pĹesouvajĂ.
+ not_redirecting: VĂĄĹĄ ĂşÄet aktuĂĄlnÄ nepĹesmÄrovĂĄvĂĄ na ŞådnĂ˝ jinĂ˝ ĂşÄet.
+ on_cooldown: NedĂĄvno jste pĹesunul/a svĹŻj ĂşÄet. Tato funkce bude opÄt dostupnĂĄ za %{count} dnĂ.
+ past_migrations: PĹedchozĂ pĹesuny
+ proceed_with_move: PĹesunout sledujĂcĂ
+ redirecting_to: VĂĄĹĄ ĂşÄet pĹesmÄrovĂĄvĂĄ na ĂşÄet %{acct}.
+ warning:
+ backreference_required: NovĂ˝ ĂşÄet musĂ bĂ˝t nejprve nastaven, aby odkazoval zpĂĄtky na tento
+ before: 'PĹed pokraÄovĂĄnĂm si prosĂm peÄlivÄ pĹeÄtÄte tyto poznĂĄmky:'
+ cooldown: Po pĹesunu nastane obdobĂ odpoÄinku, kdy se nebudete moci opÄt pĹesunout
+ disabled_account: VĂĄĹĄ aktuĂĄlnĂ ĂşÄet nebude potĂŠ zcela pouĹžitelnĂ˝. Budete vĹĄak mĂt pĹĂstup k datovĂ˝m exportĹŻm a budete ho moci znovu aktivovat.
+ followers: Touto akcĂ pĹesunete vĹĄechny sledujĂcĂ z aktuĂĄlnĂho ĂşÄtu na novĂ˝ ĂşÄet
+ other_data: ŽådnĂĄ dalĹĄĂ data nebudou pĹesunuta automaticky
moderation:
title: ModerovĂĄnĂ
notification_mailer:
@@ -971,6 +998,7 @@ cs:
settings:
account: ĂÄet
account_settings: NastavenĂ ĂşÄtu
+ aliases: Aliasy ĂşÄtĹŻ
appearance: Vzhled
authorized_apps: AutorizovanĂŠ aplikace
back: ZpÄt na Mastodon
@@ -982,7 +1010,7 @@ cs:
identity_proofs: DĹŻkazy identity
import: Import
import_and_export: Import a export
- migrate: PĹesunutĂ ĂşÄtu
+ migrate: PĹesun ĂşÄtu
notifications: OznĂĄmenĂ
preferences: PĹedvolby
profile: Profil
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index a58ea25349d..ece0a34a3f7 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -17,9 +17,6 @@ cy:
contact_unavailable: Ddim yn berthnasol
discover_users: Darganfod defnyddwyr
documentation: Dogfennaeth
- extended_description_html: |
-
Lle da ar gyfer rheolau
-
Nid yw'r disgrifiad estynedig wedi ei osod eto.
federation_hint_html: Gyda cyfrif ar %{instance}, gallwch dilyn pobl ar unrhyw gweinydd Mastodon, a thu hwnt.
generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith
get_apps: Rhowch gynnig ar ap dyfeis symudol
@@ -728,9 +725,6 @@ cy:
too_many: Ni ellir ychwanegu mwy na 4 dogfen
migrations:
acct: enwdefnyddiwr@parth y cyfrif newydd
- currently_redirecting: 'Mae eich proffil wedi ei osod i ailgyfeirio i:'
- proceed: Cadw
- updated_msg: Diweddarwyd gosodiad mudo eich cyfrif yn llwyddiannus!
moderation:
title: Goruwchwyliad
notification_mailer:
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 06a68f68410..85a5bbefd4b 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -14,9 +14,6 @@ da:
contact_unavailable: Ikke tilgĂŚngeligt
discover_users: Opdag brugere
documentation: Dokumentation
- extended_description_html: |
-
Et godt sted for regler
-
Den udvidede beskrivelse er endnu ikke blevet opsat.
generic_description: "%{domain} er en server i netvĂŚrket"
get_apps: Prøv en mobil app
hosted_on: Mostodon hostet pĂĽ %{domain}
@@ -524,8 +521,6 @@ da:
directories:
directory: Profilliste
explore_mastodon: Uforsk %{title}
- domain_blocks:
- domain: DomĂŚne
errors:
'400': The request you submitted was invalid or malformed.
'403': Du har ikke tilladelse til at se denne side.
@@ -633,9 +628,6 @@ da:
too_many: Kan ikke vedhĂŚfte mere en 4 filer
migrations:
acct: username@domain af den nye konto
- currently_redirecting: 'Din profil er sat til at henvise til:'
- proceed: Gem
- updated_msg: Dine konti migrĂŚrings indstillinger blev opdateret!
moderation:
title: Moderatering
notification_mailer:
diff --git a/config/locales/de.yml b/config/locales/de.yml
index fb988668a5f..785face331c 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -17,9 +17,6 @@ de:
contact_unavailable: Nicht verfĂźgbar
discover_users: Benutzer_innen entdecken
documentation: Dokumentation
- extended_description_html: |
-
Ein hervorragender Ort fĂźr Regeln
-
Die erweiterte Beschreibung wurde von dem Administrator noch nicht eingestellt.
federation_hint_html: Mit einem Konto auf %{instance} wirst du in der Lage sein Nutzer_innen auf beliebigen Mastodon-Servern und darĂźber hinaus zu folgen.
generic_description: "%{domain} ist ein Server im Fediversum"
get_apps: Versuche eine mobile App
@@ -38,6 +35,13 @@ de:
status_count_before: mit
tagline: Finde deine Freunde und entdecke neue
terms: Nutzungsbedingungen
+ unavailable_content: Nicht verfĂźgbarer Inhalt
+ unavailable_content_description:
+ reason: 'Grund:'
+ rejecting_media: Mediendateien dieses Servers werden nicht verarbeitet und keine Thumbnails werden angezeigt, was manuelles anklicken auf den anderen Server erfordert.
+ silenced: Beiträge von diesem Server werden nirgends angezeigt, auĂer in deiner Startseite, wenn du der Person folgst, die den Beitrag verfasst hat.
+ suspended: Du kannst niemanden von diesem Server folgen, und keine Daten werden verarbeitet oder gespeichert und keine Daten ausgetauscht.
+ unavailable_content_html: Mastodon erlaubt es dir generell, mit Inhalten zu interagieren, diese anzuzeigen und mit anderen Nutzern im Fediversum Ăźber Server hinweg zu interagieren. Dies sind die Ausnahmen, die auf diesem bestimmten Server gemacht wurden.
user_count_after:
one: Profil
other: Profile
@@ -521,6 +525,10 @@ de:
context: Kontext
directory: Im Verzeichnis
in_directory: "%{count} im Verzeichnis"
+ last_active: Zuletzt aktiv
+ most_popular: Am beliebtesten
+ most_recent: Neuste
+ name: Hashtag
review: PrĂźfstatus
reviewed: ĂberprĂźft
title: Hashtags
@@ -546,6 +554,12 @@ de:
new_trending_tag:
body: 'Der Hashtag #%{name} ist heute am trenden, aber wurde vorher noch nicht ĂźberprĂźft. Er wird nicht Ăśffentlich angezeigt, es sei denn du erlaubst es oder speicherst das Formular ab und vergisst es.'
subject: Neuer Hashtag zur ĂberprĂźfung auf %{instance} verfĂźgbar (#%{name})
+ aliases:
+ add_new: Alias erstellen
+ created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten.
+ deleted_msg: Der Alias wurde erfolgreich entfernt. Aus diesem Konto zu diesem zu verschieben ist nicht mehr mĂśglich.
+ hint_html: Wenn du von einem Konto zu einem anderem Konto wechseln mĂśchtest, dann kannst du einen Alias erstellen, welcher benĂśtigt wird bevor du deine Folger_innen vom altem Account zu diesen migrierst. Die Aktion alleine ist harmlos und wiÂderÂrufÂlich. Die Kontenmigration wird vom altem Konto aus eingeleitet.
+ remove: Alle Aliase aufheben
appearance:
advanced_web_interface: Fortgeschrittene Benutzeroberfläche
advanced_web_interface_hint: Wenn du mehr aus deiner Bildschirmbreite herausholen mÜchtest, erlaubt dir die fortgeschrittene Benutzeroberfläche viele unterschiedliche Spalten auf einmal zu sehen, wie z.B. deine Startseite, Benachrichtigungen, das gesamte bekannte Netz, deine Listen und beliebige Hashtags.
@@ -605,6 +619,7 @@ de:
confirming: Warte auf die Bestätigung der E-Mail.
functional: Dein Konto ist voll funktionsfähig.
pending: Deine Bewerbung wird von unseren Mitarbeitern noch ßberprßft. Dies kann einige Zeit dauern. Du erhältst eine E-Mail, wenn deine Bewerbung genehmigt wurde.
+ redirecting_to: Dein Konto ist inaktiv, da es derzeit zu %{acct} umgeleitet wird.
trouble_logging_in: Schwierigkeiten beim Anmelden?
authorize_follow:
already_following: Du folgst diesem Konto bereits
@@ -617,6 +632,11 @@ de:
return: Zeige das Profil
web: In der Benutzeroberfläche Üffnen
title: "%{acct} folgen"
+ challenge:
+ confirm: Fortfahren
+ hint_html: "Hinweis: Wir werden dich fßr die nächste Stunde nicht erneut nach deinem Passwort fragen."
+ invalid_password: UngĂźltiges Passwort
+ prompt: Gib dein Passwort ein um fortzufahren
datetime:
distance_in_words:
about_x_hours: "%{count}h"
@@ -632,7 +652,9 @@ de:
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
+ challenge_not_passed: Die eingegebenen Informationen waren nicht korrekt
confirm_password: Gib dein derzeitiges Passwort ein, um deine Identität zu bestätigen
+ confirm_username: Gib deinen Benutzernamen ein, um das Verfahren zu bestätigen
proceed: Konto lĂśschen
success_msg: Dein Konto wurde erfolgreich gelĂśscht
warning:
@@ -650,23 +672,6 @@ de:
directory: Profilverzeichnis
explanation: Entdecke Benutzer_innen basierend auf deren Interessen
explore_mastodon: Entdecke %{title}
- domain_blocks:
- blocked_domains: Liste der begrenzten und blockierten Domains
- description: Dies ist die Liste der Server, die %{instance} limitiert oder dessen FĂśderation ablehnt.
- domain: Domain
- media_block: Medienblockade
- no_domain_blocks: "(Keine Domain-Blockaden)"
- severity: Schweregrad
- severity_legend:
- media_block: Mediendateien, die vom Server stammen, werden weder vom Benutzer abgerufen, gespeichert noch angezeigt.
- silence: Konten von stummgeschalteten Servern kÜnnen gefunden und gefolgt werden und man kann mit ihnen interagieren, aber ihre Beiträge werden nicht in der Üffentlichen Zeitleiste erscheinen und Benachrichtigungen von ihnen werden nicht zu lokalen Benutzern gesendet, die sie nicht folgen.
- suspension: Keine Inhalte von gesperrten Servern werden gespeichert oder angezeigt, und es werden auch keine Inhalte an sie gesendet. Die Interaktionen von gesperrten Servern werden ignoriert.
- suspension_disclaimer: Gesperrte Server kĂśnnen gelegentlich Ăśffentliche Inhalte von diesem Server abrufen.
- title: Schweregrade
- show_rationale: Rationale anzeigen
- silence: Stummschalten
- suspension: Sperre
- title: "%{instance} Liste der blockierten Instanzen"
domain_validator:
invalid_domain: ist kein gĂźltiger Domain-Name
errors:
@@ -804,9 +809,31 @@ de:
too_many: Es kÜnnen nicht mehr als 4 Dateien angehängt werden
migrations:
acct: benutzername@domain des neuen Kontos
- currently_redirecting: 'Deine Profilweiterleitung wurde gesetzt auf:'
- proceed: Speichern
- updated_msg: Deine Konto-Migrationseinstellungen wurden erfolgreich aktualisiert!
+ cancel: Umleitung abbrechen
+ cancel_explanation: Das Abbrechen der Umleitung wird dein aktuelles Konto erneut aktivieren, aber keine Folger_innen, die auf dieses Konto verschoben wurden, zurĂźckholen.
+ cancelled_msg: Die Umleitung wurde erfolgreich abgebrochen.
+ errors:
+ already_moved: ist das gleiche Konto, zu dem du bereits umgezogen bist
+ missing_also_known_as: referenziert nicht zurĂźck auf dieses Konto
+ move_to_self: darf nicht das aktuelles Konto sein
+ not_found: kann nicht gefunden werden
+ on_cooldown: Die Abklingzeit läuft gerade
+ followers_count: Folger_innen zur Zeit des Verschiebens
+ incoming_migrations: Ziehe von einem anderen Konto um
+ incoming_migrations_html: Um von einem anderen Konto zu diesem zu wechseln, musst du zuerst einen Kontoalias erstellen.
+ moved_msg: Dein Konto wird jetzt zu %{acct} weitergeleitet und deine Folger_innen werden verschoben.
+ not_redirecting: Dein Konto wird derzeit nicht auf ein anderes Konto weitergeleitet.
+ on_cooldown: Du hast dein Konto vor kurzem migriert. Diese Funktion wird in %{count} Tagen wieder verfĂźgbar sein.
+ past_migrations: Vorherige Migrationen
+ proceed_with_move: Folger_innen verschieben
+ redirecting_to: Dein Konto wird zu %{acct} weitergeleitet.
+ warning:
+ backreference_required: Das neue Konto muss zuerst so konfiguriert werden, dass es auf das alte Konto referenziert
+ before: 'Bevor du fortfährst, lese bitte diese Hinweise sorgfältig durch:'
+ cooldown: Nach dem Migrieren wird es eine Abklingzeit geben, in der du das Konto nicht noch einmal migrieren kannst
+ disabled_account: Dein aktuelles Konto wird nachher nicht vollständig nutzbar sein. Du hast jedoch Zugriff auf den Datenexport sowie die Reaktivierung.
+ followers: Diese Aktion wird alle Folger_innen vom aktuellen Konto auf das neue Konto verschieben
+ other_data: Keine anderen Daten werden automatisch verschoben
moderation:
title: Moderation
notification_mailer:
@@ -951,6 +978,7 @@ de:
settings:
account: Konto
account_settings: Konto & Sicherheit
+ aliases: Kontoaliase
appearance: Aussehen
authorized_apps: Autorisierte Anwendungen
back: ZurĂźck zu Mastodon
diff --git a/config/locales/devise.br.yml b/config/locales/devise.br.yml
index c7677c850c6..3fe043754fb 100644
--- a/config/locales/devise.br.yml
+++ b/config/locales/devise.br.yml
@@ -1 +1,33 @@
+---
br:
+ devise:
+ failure:
+ inactive: N'eo ket gweredekaet ho kont c'hoazh.
+ invalid: "%{authentication_keys} pe ger-tremen diwiriek."
+ last_attempt: Un esae a chom deoc'h a-raok ma vefe prennet ho kont.
+ locked: Prennet eo ho kont.
+ not_found_in_database: "%{authentication_keys} pe ger-tremen diwiriek."
+ pending: O vezaĂą asantet eo ho kont.
+ mailer:
+ confirmation_instructions:
+ action: Gwiriekaat ar chomlec'h postel
+ action_with_app: Kadarnaat ha distroiĂą da %{app}
+ title: Gwiriekaat ar chomlec'h postel
+ email_changed:
+ subject: 'MastodoĂą : Postel kemmet'
+ title: Chomlec'h postel nevez
+ password_change:
+ explanation: Kemmet eo bet ger-tremen ho kont.
+ subject: 'MastodoĂą : Ger-tremen kemmet'
+ title: Ger-tremen kemmet
+ reconfirmation_instructions:
+ explanation: Kadarnait ar chomlec'h nevez evit cheĂąch ho postel.
+ subject: 'MastodoĂą : Kadarnait ar postel evit %{instance}'
+ title: Gwiriekaat ar chomlec'h postel
+ reset_password_instructions:
+ action: CheĂąch ar ger-tremen
+ explanation: Goulennet ho peus ur ger-tremen nevez evit ho kont.
+ passwords:
+ updated_not_active: Kemmet eo bet ho ker-tremen ent reizh.
+ registrations:
+ signed_up: Donemat ! Kevreet oc'h.
diff --git a/config/locales/devise.co.yml b/config/locales/devise.co.yml
index 16481737f1e..c9511d14d14 100644
--- a/config/locales/devise.co.yml
+++ b/config/locales/devise.co.yml
@@ -46,6 +46,18 @@ co:
extra: Sâellu Ăšn era micca voi, ignurate stu missaghju. A chjave dâaccessu Ăšn cambiarĂ micca sâè voi Ăšn cliccate micca u ligame.
subject: 'Mastodon: CambiĂ a chjave dâaccessu'
title: CambiĂ a chjave
+ two_factor_disabled:
+ explanation: L'autentificazione à dui fattori per u vostru contu hè stata disattivata. A cunnessione hè avà pussibule cÚ l'usu solu di u vostru e-mail è di a chjave d'accessu.
+ subject: 'Mastodon: Autentificazione Ă dui fattori disattivata'
+ title: A2F disattivata
+ two_factor_enabled:
+ explanation: L'autentificazione à dui fattori hè stata attivata per u vostru contu. Un codice, o fiscia, generata da l'applicazione TOTP assuciata sarà dumandata per cunnettavvi.
+ subject: 'Mastodon: Autentificazione Ă dui fattori attivata'
+ title: A2F attivata
+ two_factor_recovery_codes_changed:
+ explanation: I codici di ricuperazione pricidenti Ún sò piÚ validi è un novu inseme di codici hè statu creatu.
+ subject: 'Mastodon: Rigenerazione di i codici Ă dui fattori di ricuperazione'
+ title: Cambiamentu di i codici di ricuperazione d'A2F
unlock_instructions:
subject: 'Mastodon: Riapre u contu'
omniauth_callbacks:
diff --git a/config/locales/devise.cs.yml b/config/locales/devise.cs.yml
index 94c41ed986e..d1b9fc09c63 100644
--- a/config/locales/devise.cs.yml
+++ b/config/locales/devise.cs.yml
@@ -46,6 +46,18 @@ cs:
extra: Pokud jste tohle nevyŞådal/a, prosĂm ignorujte tento e-mail. VaĹĄe heslo nebude zmÄnÄno, dokud nepĹejdete na výťe uvedenou adresu a nevytvoĹĂte si novĂŠ.
subject: 'Mastodon: Instrukce pro obnovenĂ hesla'
title: ObnovenĂ hesla
+ two_factor_disabled:
+ explanation: DvoufĂĄzovĂŠ ovÄĹovĂĄnĂ bylo pr vĂĄĹĄ ĂşÄet zakĂĄzĂĄno. PĹihlaĹĄovĂĄnĂ je nynĂ moĹžnĂŠ pouze pomocĂ e-mailovĂŠ adresy a hesla.
+ subject: 'Mastodon: DvoufĂĄzovĂŠ ovÄĹovĂĄnĂ zakĂĄzĂĄno'
+ title: 2FA zakĂĄzĂĄno
+ two_factor_enabled:
+ explanation: DvoufĂĄzovĂŠ ovÄĹovĂĄnĂ bylo pr vĂĄĹĄ ĂşÄet povoleno. Pro pĹihlĂĄĹĄenĂ bude vyĹžadovĂĄn token vygenerovanĂ˝ spĂĄrovanou TOTP aplikacĂ.
+ subject: 'Mastodon: DvoufĂĄzovĂŠ ovÄĹovĂĄnĂ povoleno'
+ title: 2FA povoleno
+ 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 znovu vygenerovĂĄny'
+ title: ZĂĄloĹžnĂ kĂłdy pro 2FA zmÄnÄny
unlock_instructions:
subject: 'Mastodon: Instrukce pro odemÄenĂ ĂşÄtu'
omniauth_callbacks:
diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml
index bd573dc3e9a..372090515f2 100644
--- a/config/locales/devise.de.yml
+++ b/config/locales/devise.de.yml
@@ -46,6 +46,18 @@ de:
extra: Wenn du diese Anfrage nicht gestellt hast, solltest du diese E-Mail ignorieren. Dein Passwort wird sich nicht ändern solange du den obigen Link anklickst und ein neues erstellst.
subject: 'Mastodon: Passwort zurĂźcksetzen'
title: Passwort zurĂźcksetzen
+ two_factor_disabled:
+ explanation: Zwei-Faktor-Authentifizierung fĂźr dein Konto wurde deaktiviert. Login ist jetzt nur mit E-Mail-Adresse und Passwort mĂśglich.
+ subject: 'Mastodon: ZweiâFaktorâAuthentifizierung deaktiviert'
+ title: 2FA deaktiviert
+ two_factor_enabled:
+ explanation: Zwei-Faktor-Authentifizierung wurde fĂźr dein Konto aktiviert. Ein Token, der von der gepaarten TOTP-App generiert wird, wird fĂźr den Login benĂśtigt.
+ subject: 'Mastodon: ZweiâFaktorâAuthentifizierung aktiviert'
+ title: 2FA aktiviert
+ two_factor_recovery_codes_changed:
+ explanation: Die vorherigen Wiederherstellungscodes wurden ungĂźltig gemacht und es wurden neue generiert.
+ subject: 'Mastodon: Zwei-Faktor-Wiederherstellungscodes neu generiert'
+ title: 2FA Wiederherstellungscodes geändert
unlock_instructions:
subject: 'Mastodon: Konto entsperren'
omniauth_callbacks:
diff --git a/config/locales/devise.el.yml b/config/locales/devise.el.yml
index 0b5c686368f..75f68c2814e 100644
--- a/config/locales/devise.el.yml
+++ b/config/locales/devise.el.yml
@@ -46,6 +46,10 @@ el:
extra: Îν δξν ΜΎĎΡĎÎľĎ ÎľĎĎ ÎąĎ ĎÎŽ ĎΡν ιΝΝιγΎ, ĎÎąĎικιΝοĎΟξ ιγνĎΡĎÎľ ÎąĎ ĎĎ ĎÎż email. Το ĎĎ Î˝Î¸ÎˇÎźÎąĎÎšÎşĎ ĎÎżĎ Î´ÎľÎ˝ θι ιΝΝΏΞξΚ ÎźÎĎĎΚ νι ÎľĎΚĎκξĎĎÎľÎŻĎ Ďον ĎÎąĎÎąĎÎŹÎ˝Ď ĎĎνδξĎΟο κιΚ νι Î´ÎˇÎźÎšÎżĎ ĎγΎĎÎľÎšĎ Îνι κιΚνοĎĎΚο.
subject: 'Mastodon: ÎÎ´ÎˇÎłÎŻÎľĎ ÎľĎινιĎÎżĎÎŹĎ ĎĎ Î˝Î¸ÎˇÎźÎąĎΚκοĎ'
title: ÎĎινιĎÎżĎÎŹ ĎĎ Î˝Î¸ÎˇÎźÎąĎΚκοĎ
+ two_factor_disabled:
+ explanation: Î ÎΝξγĎÎżĎ ĎÎąĎ ĎĎĎΡĎÎąĎ Î´Ď Îż ĎÎąĎιγĎνĎĎν (2FA) ÎĎξΚ ÎąĎξνξĎγοĎοΚΡθξί γΚι ĎÎż ΝογιĎΚιĎÎźĎ ĎÎżĎ . Î ĎĎνδξĎΡ γίνξĎιΚ ÎąĎΝΏ Οξ ĎÎż email κιΚ ĎÎż ĎĎ Î˝Î¸ÎˇÎźÎąĎΚκĎ.
+ subject: 'Mastodon: ÎĎξνξĎγοĎοΚΎθΡκξ Îż ÎΝξγĎÎżĎ ĎÎąĎ ĎĎĎΡĎÎąĎ Î´ĎÎż ĎÎąĎιγĎνĎĎν'
+ title: ÎĎξνξĎγοĎοΚΡΟÎνο 2FA
unlock_instructions:
subject: 'Mastodon: ÎÎ´ÎˇÎłÎŻÎľĎ ÎžÎľÎşÎťÎľÎšÎ´ĎΟιĎÎżĎ'
omniauth_callbacks:
diff --git a/config/locales/devise.gl.yml b/config/locales/devise.gl.yml
index 60a935a8a2f..0ce335576b7 100644
--- a/config/locales/devise.gl.yml
+++ b/config/locales/devise.gl.yml
@@ -46,6 +46,18 @@ gl:
extra: Si non fixo esta solicitude, por favor ignore este correo. O seu contrasinal non cambiarĂĄ ate que acceda a ligazĂłn superior e cree unha nova.
subject: 'Mastodon: InstrucciĂłns para restablecer o contrasinal'
title: Restablecer contrasinal
+ two_factor_disabled:
+ explanation: Desactivouse o segundo factor de autenticaciĂłn para tĂşa conta. Agora xa podes conectarte utilizando sĂł o correo-e e contrasinal.
+ subject: 'Mastodon: AutenticaciĂłn con dobre factor desactivada'
+ title: 2FA desactivada
+ two_factor_enabled:
+ explanation: A autenticaciĂłn con dobre factor foi activada para a tĂşa conta. Pedirase o testemuĂąo xerado pola aplicaciĂłn TOTP emparellada.
+ subject: 'Mastodon: Activouse o dobre factor de autenticaciĂłn'
+ title: 2FA activado
+ two_factor_recovery_codes_changed:
+ explanation: Os cĂłdigos de recuperaciĂłn anteriores quedan anulados e os novos foron creados.
+ subject: 'Mastodon: CĂłdigo de recuperaciĂłn do dobre factor rexenerados'
+ title: CĂłdigos de recuperaciĂłn 2FA cambiados
unlock_instructions:
subject: 'Mastodon: InstrucciĂłns para desbloquear'
omniauth_callbacks:
diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml
index 51a95403fde..3ab4d9f1171 100644
--- a/config/locales/devise.nl.yml
+++ b/config/locales/devise.nl.yml
@@ -46,6 +46,18 @@ nl:
extra: Wanneer jij dit niet hebt aangevraagd, mag je deze e-mail negeren. Jouw wachtwoord wordt pas gewijzigd nadat je de link hierboven hebt aangeklikt en een nieuw wachtwoord aanmaakt.
subject: 'Mastodon: Wachtwoord opnieuw instellen'
title: Wachtwoord opnieuw instellen
+ two_factor_disabled:
+ explanation: Tweestapsverificatie voor jouw account is uitgeschakeld. Je kunt nu alleen inloggen met een e-mailadres en wachtwoord.
+ subject: 'Mastodon: Tweestapsverificatie uitgeschakeld'
+ title: Tweestapsverificatie uitgeschakeld
+ two_factor_enabled:
+ explanation: Tweestapsverificatie voor jouw account is ingeschakeld. Om te kunnen aanmelden is een door een tweestapsverificatie-app genereerde aanmeldcode nodig.
+ subject: 'Mastodon: Tweestapsverificatie ingeschakeld'
+ title: Tweestapsverificatie ingeschakeld
+ two_factor_recovery_codes_changed:
+ explanation: De vorige herstelcodes zijn ongeldig gemaakt en nieuwe zijn aangemaakt.
+ subject: 'Mastodon: Tweestaps-herstelcodes zijn opnieuw aangemaakt'
+ title: Herstelcodes tweestapsverificatie veranderd
unlock_instructions:
subject: 'Mastodon: Instructies om opschorten account ongedaan te maken'
omniauth_callbacks:
diff --git a/config/locales/devise.oc.yml b/config/locales/devise.oc.yml
index 42be33f6b5b..0fb259429a2 100644
--- a/config/locales/devise.oc.yml
+++ b/config/locales/devise.oc.yml
@@ -46,6 +46,18 @@ oc:
extra: Sâavètz pas res demandat, fasquètz pas cas a aqueste corrièl. Vòstre senhal cambiarĂ pas se clicatz pas lo ligam e que ne causissètz pas un novèl.
subject: MastodonâŻ:âŻconsignas per reĂŻnicializar lo senhal
title: ReĂŻnicializacion del senhal
+ two_factor_disabled:
+ explanation: Lâautentificacion dos factors per vòstre compte es estada desactivada. La connexion es ara possibla solament amb lâadreça electronica e lo senhal.
+ subject: 'Mastodon : autentificacion dos factors desactivada'
+ title: 2FA desactivat
+ two_factor_enabled:
+ explanation: Lâautentificacion dos factors es estada activada per vòstre compte. La connexion demandarĂ un geton generat per lâaplicacion TOTP associada.
+ subject: 'Mastodon : autentificacion dos factor activada'
+ title: 2FA activat
+ two_factor_recovery_codes_changed:
+ explanation: Los còdis de recuperacion precedents son ara invalids e de nòus son estats generats.
+ subject: 'Mastodon : còdis de recuperacion dos factors regenerats'
+ title: Còdis 2FA de recuperacion cambiats
unlock_instructions:
subject: MastodonâŻ:âŻconsignas de desblocatge
omniauth_callbacks:
diff --git a/config/locales/devise.pt-PT.yml b/config/locales/devise.pt-PT.yml
new file mode 100644
index 00000000000..7d3f8fc5523
--- /dev/null
+++ b/config/locales/devise.pt-PT.yml
@@ -0,0 +1,83 @@
+---
+pt-PT:
+ devise:
+ confirmations:
+ confirmed: O teu endereço de e-mail foi confirmado com sucesso.
+ send_instructions: Vais receber um email com as instruçþes para confirmar o teu endereço de email dentro de alguns minutos. Por favor, verifica a caixa de spam se não recebeste o e-mail.
+ send_paranoid_instructions: Se o teu endereço de email jå existir na nossa base de dados, vais receber um email com as instruçþes de confirmação dentro de alguns minutos. Por favor, verifica a caixa de spam se não recebeste o e-mail.
+ failure:
+ already_authenticated: A tua sessĂŁo jĂĄ estĂĄ aberta.
+ inactive: A tua conta ainda nĂŁo estĂĄ ativada.
+ invalid: "%{authentication_keys} ou palavra-passe invĂĄlida."
+ last_attempt: Tens mais uma tentativa antes de a tua conta ficar bloqueada.
+ locked: A tua conta estĂĄ bloqueada.
+ not_found_in_database: "%{authentication_keys} ou palavra-passe invĂĄlida."
+ timeout: A tua sessĂŁo expirou. Por favor, entra de novo para continuares.
+ unauthenticated: Precisas de entrar na tua conta ou de te registares antes de continuar.
+ unconfirmed: Tens de confirmar o teu endereço de email antes de continuar.
+ mailer:
+ confirmation_instructions:
+ action: Verificar o endereço de e-mail
+ action_with_app: Confirmar e regressar a %{app}
+ explanation: Criaste uma conta em %{host} com este endereço de e-mail. Estås a um clique de activå-la. Se não foste tu que fizeste este registo, por favor ignora esta mensagem.
+ extra_html: Por favor lê as regras da instância e os nossos termos de serviço.
+ subject: 'Mastodon: Instruçþes de confirmação %{instance}'
+ title: Verificar o endereço de e-mail
+ email_changed:
+ explanation: 'O e-mail associado Ă tua conta serĂĄ alterado para:'
+ extra: Se nĂŁo alteraste o teu e-mail ĂŠ possĂvel que alguĂŠm tenha conseguido aceder Ă tua conta. Por favor muda a tua palavra-passe imediatamente ou entra em contato com um administrador do servidor se ficaste sem acesso Ă tua conta.
+ subject: 'Mastodon: Email alterado'
+ title: Novo endereço de e-mail
+ password_change:
+ explanation: A palavra-passe da tua conta foi alterada.
+ extra: Se nĂŁo alteraste a tua palavra-passe, ĂŠ possĂvel que alguĂŠm tenha conseguido aceder Ă tua conta. Por favor muda a tua palavra-passe imediatamente ou entra em contato com um administrador do servidor se ficaste sem acesso Ă tua conta.
+ subject: 'Mastodon: Nova palavra-passe'
+ title: Palavra-passe alterada
+ reconfirmation_instructions:
+ explanation: Confirma o teu novo endereço para alterar o e-mail.
+ extra: Se esta mudança não foi iniciada por ti, por favor ignora este e-mail. O endereço de e-mail para a tua conta do Mastodon não irå mudar enquanto não acederes ao link acima.
+ subject: 'Mastodon: Confirmação de e-mail %{instance}'
+ title: Validar o endereço de e-mail
+ reset_password_instructions:
+ action: Alterar palavra-passe
+ explanation: Pediste a alteração da palavra-passe da tua conta.
+ extra: Se nĂŁo fizeste este pedido, por favor ignora este e-mail. A tua palavra-passe nĂŁo irĂĄ mudar se nĂŁo acederes ao link acima e criares uma nova.
+ subject: 'Mastodon: Instruçþes para alterar a palavra-passe'
+ title: Solicitar nova palavra-passe
+ unlock_instructions:
+ subject: 'Mastodon: Instruçþes para desbloquear a tua conta'
+ omniauth_callbacks:
+ failure: NĂŁo foi possĂvel autenticar %{kind} porque "%{reason}".
+ success: Autenticado com sucesso na conta %{kind}.
+ passwords:
+ no_token: Não pode aceder a esta pågina se não vier atravÊs do link enviado por email para alteração da sua palavra-passe. Se usaste esse link para chegar aqui, por favor verifica que o endereço URL actual Ê o mesmo do que foi enviado no email.
+ send_instructions: Vais receber um email com instruçþes para alterar a palavra-passe dentro de algns minutos.
+ send_paranoid_instructions: Se o teu endereço de email existe na nossa base de dados, vais receber um link para recuperar a palavra-passe dentro de alguns minutos.
+ updated: A tua palavra-passe foi alterada. EstĂĄs agora autenticado na tua conta.
+ updated_not_active: A tua palavra-passe foi alterada.
+ registrations:
+ destroyed: Adeus! A tua conta foi cancelada. Esperamos ver-te em breve.
+ signed_up: Bem-vindo! A tua conta foi registada com sucesso.
+ signed_up_but_inactive: A tua conta foi registada. No entanto ainda nĂŁo estĂĄ activa.
+ signed_up_but_locked: A tua conta foi registada. No entanto estĂĄ bloqueada.
+ signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o teu email. Por favor segue esse link para activar a tua conta.
+ update_needs_confirmation: Alteraste o teu endereço de email ou palavra-passe, mas Ê necessårio confirmar essa alteração. Por favor vai ao teu email e segue link que te enviåmos.
+ updated: A tua conta foi actualizada com sucesso.
+ sessions:
+ already_signed_out: SessĂŁo encerrada.
+ signed_in: SessĂŁo iniciada.
+ signed_out: SessĂŁo encerrada.
+ unlocks:
+ send_instructions: Vais receber um email com instruçþes para desbloquear a tua conta dentro de alguns minutos.
+ send_paranoid_instructions: Se a tua conta existe, vais receber um email com instruçþes a detalhar como a desbloquear dentro de alguns minutos.
+ unlocked: A sua conta foi desbloqueada. Por favor inica uma nova sessĂŁo para continuar.
+ errors:
+ messages:
+ already_confirmed: jĂĄ confirmado, por favor tente iniciar sessĂŁo
+ confirmation_period_expired: tem de ser confirmado durante %{period}, por favor tenta outra vez
+ expired: expirou, por favor tente outra vez
+ not_found: nĂŁo encontrado
+ not_locked: nĂŁo estava bloqueada
+ not_saved:
+ one: '1 erro impediu este %{resource} de ser guardado:'
+ other: "%{count} erros impediram este %{resource} de ser guardado:"
diff --git a/config/locales/devise.sk.yml b/config/locales/devise.sk.yml
index 4837390dba6..759d4874b75 100644
--- a/config/locales/devise.sk.yml
+++ b/config/locales/devise.sk.yml
@@ -37,7 +37,7 @@ sk:
reconfirmation_instructions:
explanation: PotvrÄ novĂş emailovĂş adresu na ktorĂş chceĹĄ zmeniĹĽ svoj email.
extra: PokiaÄž si tĂşto akciu nevyĹžiadal/a, prosĂm ignoruj tento email. EmailovĂĄ adresa pre tvoj Mastodon ĂşÄet totiĹž nebude zmenenĂĄ pokiaÄž nepostĂşpiĹĄ na adresu uvedenĂş vyĹĄĹĄie.
- subject: 'Mastodon: PotvrÄenie emailu pre %{instance}'
+ subject: 'Mastodon: PotvrÄ email pre %{instance}'
title: Over emailovĂş adresu
reset_password_instructions:
action: ZmeĹ svoje heslo
diff --git a/config/locales/el.yml b/config/locales/el.yml
index acc97d37e7d..03974fa1740 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -17,9 +17,6 @@ el:
contact_unavailable: Î/Î
discover_users: ÎÎ˝ÎąÎşÎŹÎťĎ ĎÎľ ĎĎÎŽĎĎÎľĎ
documentation: ΤξκΟΡĎÎŻĎĎΡ
- extended_description_html: |
-
federation_hint_html: Per konto Äe %{instance}, vi povos sekvi homojn Äe iu ajn Mastodon nodo kaj preter.
generic_description: "%{domain} estas unu servilo en la reto"
get_apps: Provu telefonan aplikaÄľon
@@ -604,10 +601,6 @@ eo:
directory: Profilujo
explanation: Malkovru uzantojn per iliaj interesoj
explore_mastodon: Esplori %{title}
- domain_blocks:
- domain: Domajno
- no_domain_blocks: "(Nenio domajna blokado)"
- silence: Silenta
domain_validator:
invalid_domain: ne estas valida domajna nomo
errors:
@@ -745,9 +738,6 @@ eo:
too_many: Aldoni pli ol 4 dosierojn ne eblas
migrations:
acct: uzantnomo@domajno de la nova konto
- currently_redirecting: 'Via profilo alidirektos al:'
- proceed: Konservi
- updated_msg: Via agordo pri konta migrado estis sukcese Äisdatigita!
moderation:
title: Kontrolado
notification_mailer:
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 892d82e9cae..3703f92ff54 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -17,9 +17,6 @@ es:
contact_unavailable: N/A
discover_users: Descubrir usuarios
documentation: DocumentaciĂłn
- extended_description_html: |
-
Un buen lugar para las reglas
-
La descripciĂłn extendida no se ha colocado aĂşn.
federation_hint_html: Con una cuenta en %{instance} usted podrĂĄ seguir a las personas en cualquier servidor de Mastodon y mĂĄs allĂĄ.
generic_description: "%{domain} es un servidor en la red"
get_apps: Probar una aplicaciĂłn mĂłvil
@@ -620,8 +617,6 @@ es:
directory: Directorio de perfiles
explanation: Descubre usuarios segĂşn sus intereses
explore_mastodon: Explorar %{title}
- domain_blocks:
- domain: Dominio
domain_validator:
invalid_domain: no es un nombre de dominio vĂĄlido
errors:
@@ -757,9 +752,6 @@ es:
too_many: No se pueden adjuntar mĂĄs de 4 archivos
migrations:
acct: username@domain de la nueva cuenta
- currently_redirecting: 'Tu perfil estĂĄ redireccionado a:'
- proceed: Guardar
- updated_msg: "ÂĄLa configuraciĂłn de migraciĂłn de tu cuenta ha sido actualizada con ĂŠxito!"
moderation:
title: ModeraciĂłn
notification_mailer:
diff --git a/config/locales/et.yml b/config/locales/et.yml
index 7d077198300..0a66d49f47c 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -17,9 +17,6 @@ et:
contact_unavailable: Pole saadaval
discover_users: Avasta kasutajaid
documentation: Dokumentatsioon
- extended_description_html: |
-
Hea koht reeglite jaoks
-
Laiendatud kirjeldus pole veel Ăźles seadistatud.
federation_hint_html: Kui Teil on kasutaja %{instance}-is, saate Te jälgida inimesi ßks kþik millisel Mastodoni serveril ja kaugemalgi.
generic_description: "%{domain} on ainult Ăźks server terves vĂľrgus"
get_apps: Proovi mobiilirakendusi
@@ -724,9 +721,6 @@ et:
too_many: Ei saa lisada rohkem, kui 4 faili
migrations:
acct: uue konto kasutajanimi@domeen
- currently_redirecting: 'Teie profiil on sätestatud suunama ßmber:'
- proceed: Salvesta
- updated_msg: Teie konto migreerumissätete uuendamine þnnestus!
moderation:
title: Moderatsioon
notification_mailer:
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 2a4d6129610..a3061b99e90 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -17,9 +17,6 @@ eu:
contact_unavailable: E/E
discover_users: Aurkitu erabiltzaileak
documentation: Dokumentazioa
- extended_description_html: |
-
Arauentzako toki egoki bat
-
Azalpen luzea ez da ezarri oraindik.
federation_hint_html: "%{instance} instantzian kontu bat izanda edozein Mastodon zerbitzariko jendea jarraitu ahal izango duzu, eta harago ere."
generic_description: "%{domain} sareko zerbitzari bat da"
get_apps: Probatu mugikorrerako aplikazio bat
@@ -618,10 +615,6 @@ eu:
directory: Profilen direktorioa
explanation: Deskubritu erabiltzaileak interesen arabera
explore_mastodon: Esploratu %{title}
- domain_blocks:
- domain: Domeinua
- severity: Larritasuna
- silence: Isilarazi
domain_validator:
invalid_domain: ez da domeinu izen baliogarria
errors:
@@ -757,9 +750,6 @@ eu:
too_many: Ezin dira 4 fitxategi baino gehiago erantsi
migrations:
acct: Kontu berriaren erabiltzaile@domeinua
- currently_redirecting: 'Zure profila hona birbideratzeko ezarri da:'
- proceed: Gorde
- updated_msg: Kontuaren migrazio-ezarpenak ongi eguneratu dira!
moderation:
title: Moderazioa
notification_mailer:
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 7f316c78489..73933416479 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -17,9 +17,6 @@ fa:
contact_unavailable: Ů ŮŘŹŮŘŻ ŮŰست
discover_users: ŰاŮت٠ڊاعبعاŮ
documentation: ٠ستŮدات
- extended_description_html: |
-
generic_description: "%{domain} on yksi verkostoon kuuluvista palvelimista"
hosted_on: Mastodon palvelimella %{domain}
learn_more: Lisätietoja
@@ -468,9 +465,6 @@ fi:
too_many: Tiedostoja voi liittää enintään 4
migrations:
acct: uuden tilin käyttäjätunnus@verkkotunnus
- currently_redirecting: 'Profiiliisi on asetettu uudelleenohjaus:'
- proceed: Tallenna
- updated_msg: Tilinsiirtoasetusten päivitys onnistui!
moderation:
title: Moderointi
notification_mailer:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 15d6359b43a..be146d997d4 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -17,9 +17,6 @@ fr:
contact_unavailable: Non disponible
discover_users: DÊcouvrez des utilisateur¡rice¡s
documentation: Documentation
- extended_description_html: |
-
Un bon endroit pour les règles
-
La description ĂŠtendue nâa pas ĂŠtĂŠ remplie.
federation_hint_html: Avec un compte sur %{instance}, vous pourrez suivre les gens sur nâimporte quel serveur Mastodon et au-delĂ .
generic_description: "%{domain} est seulement un serveur du rĂŠseau"
get_apps: Essayez une application mobile
@@ -637,23 +634,6 @@ fr:
directory: Annuaire des profils
explanation: DĂŠcouvrir des utilisateurs en se basant sur leurs centres dâintĂŠrĂŞt
explore_mastodon: Explorer %{title}
- domain_blocks:
- blocked_domains: Liste des domaines limitĂŠs et bloquĂŠs
- description: Ceci est la liste des serveurs envers qui %{instance} limite ou rejette la fĂŠdĂŠration.
- domain: Domaine
- media_block: Bloqueur de mĂŠdia
- no_domain_blocks: "(Aucun bloqueur de domaine)"
- severity: SĂŠvĂŠritĂŠ
- severity_legend:
- media_block: Les fichiers de mĂŠdia provenant du serveur ne sont ni rĂŠcupĂŠrĂŠs, ni stockĂŠs, ni affichĂŠs Ă lâutilisateur¡rice.
- silence: Les comptes des serveurs masquĂŠs peuvent ĂŞtre trouvĂŠs, suivis et interagis avec, mais leurs Toots n'apparaĂŽtront pas dans les fil d'actualitĂŠ publiques, et les notifications de ceux-ci ne parviendront pas aux utilisateurs locaux qui ne les suivent pas.
- suspension: Aucun contenu des serveurs suspendus n'est stockĂŠ ou affichĂŠ, ni ne leur est communiquĂŠ. Les interactions des serveurs suspendus sont ignorĂŠes.
- suspension_disclaimer: Les serveurs suspendus peuvent parfois rĂŠcupĂŠrer du contenu public de ce serveur.
- title: SĂŠveritĂŠs
- show_rationale: Voir le raisonnement
- silence: Masquer
- suspension: Suspendre
- title: "%{instance} Liste des instances bloquĂŠes"
domain_validator:
invalid_domain: nâest pas un nom de domaine valide
errors:
@@ -790,9 +770,6 @@ fr:
too_many: Impossible de joindre plus de 4 fichiers
migrations:
acct: profil@domaine du nouveau compte
- currently_redirecting: 'Votre profil va ĂŞtre redirigĂŠ versâŻ:'
- proceed: Enregistrer
- updated_msg: Les paramètres de votre migration de compte ont ĂŠtĂŠ mis Ă jour avec succèsâŻ!
moderation:
title: ModĂŠration
notification_mailer:
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 20f535ad5ca..3924eeedc72 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -17,9 +17,6 @@ gl:
contact_unavailable: N/A
discover_users: Descubra usuarias
documentation: DocumentaciĂłn
- extended_description_html: |
-
Un bo lugar para regras
-
A descriciĂłn extendida aĂnda non se proporcionou.
federation_hint_html: Con unha conta en %{instance} poderĂĄ seguir a outras persoas en calquera dos servidores Mastodon e incluso mĂĄis.
generic_description: "%{domain} ĂŠ un servidor na rede"
get_apps: Probe cunha app mĂłbil
@@ -38,6 +35,13 @@ gl:
status_count_before: Que publicaron
tagline: Siga as amizades e faga outras novas
terms: Termos do servizo
+ unavailable_content: Contido non dispoĂąible
+ unavailable_content_description:
+ reason: 'RazĂłn:'
+ rejecting_media: Os ficheiros de medios de este servidor non se procesarĂĄn e non se mostrarĂĄn miniaturas, precisando solicitarse manualmente ao outro servidor.
+ silenced: As publicaciĂłns desde este servidor non se mostrarĂĄn en ningĂşn lugar excepto no Inicio se segues ao autor.
+ suspended: Non poderĂĄs seguir a ninguĂŠn desde este servidor, e non se procesarĂĄn nin se gardarĂĄn datos que procedan del, e non se intercambiarĂĄn datos.
+ unavailable_content_html: Normalmente Mastodon permĂteche ver contidos de outros servidores do fediverso e interactuar coas sĂşas usuarias. Estas son as excepciĂłns que se estableceron en este servidor particular.
user_count_after:
one: usuaria
other: usuarias
@@ -427,6 +431,9 @@ gl:
custom_css:
desc_html: Modificar o aspecto con CSS cargado en cada pĂĄxina
title: CSS persoalizado
+ default_noindex:
+ desc_html: AfĂŠctalle a todas as usuarias que non cambiaron os axustes elas mesmas
+ title: Por omisiĂłn exclĂşe as usuarias do indexado por servidores de busca
domain_blocks:
all: Para todas
disabled: Para ninguĂŠn
@@ -518,6 +525,10 @@ gl:
context: Contexto
directory: No directorio
in_directory: "%{count} no directorio"
+ last_active: Ălimo activo
+ most_popular: MĂĄis popular
+ most_recent: MĂĄis recente
+ name: Etiqueta
review: Estado de revisiĂłn
reviewed: Revisado
title: Etiquetas
@@ -543,6 +554,12 @@ gl:
new_trending_tag:
body: 'A etiqueta #%{name} ĂŠ tendencia hoxe, pero non foi previamente revisada. Non se mostrarĂĄ publicamente a menos que vostede o permita, ou garde o formulario para facer que non se lle consulte de novo.'
subject: Unha nova etiqueta que revisar en %{instance} (#%{name})
+ aliases:
+ add_new: Crear alcume
+ created_msg: Creou un novo alcume correctamente. Pode iniciar o movemento desde a conta antiga.
+ deleted_msg: Eliminou correctamente o alias. Xa non serĂĄ posible mover desde esa conta a esta.
+ hint_html: Se quere mudarse desde outra conta a esta nova, aquĂ pode crear un alcume, que ĂŠ requerido antes de poder proceder a mover os seguidores da conta antiga a esta nova. Esta acciĂłn por si mesma ĂŠ inocua e reversible. A migraciĂłn da conta inĂciase desde a conta antiga.
+ remove: Desligar alcume
appearance:
advanced_web_interface: Interface web avanzada
advanced_web_interface_hint: Se quere utilizar todo o ancho da sĂşa pantalla, a interface web avanzada permĂtelle configurar diferentes columnas para ver tanta informaciĂłn como desexe. Inicio, notificaciĂłns, liĂąa temporal federada, calquera nĂşmero de listas e etiquetas.
@@ -602,6 +619,7 @@ gl:
confirming: Agardando a confirmaciĂłn do correo enviado.
functional: A sĂşa conta estĂĄ totalmente operativa.
pending: A sĂşa aplicaciĂłn estĂĄ pendente de revisiĂłn. PoderĂanos levar algĂşn tempo. RecibirĂĄ un correo se a aplicaciĂłn estĂĄ aprobada.
+ redirecting_to: A tĂşa conta estĂĄ inactiva porque estĂĄ redirixida a %{acct}.
trouble_logging_in: Problemas para conectar?
authorize_follow:
already_following: Xa estĂĄ a seguir esta conta
@@ -614,6 +632,11 @@ gl:
return: Mostrar o perfil da usuaria
web: Ir a web
title: Seguir %{acct}
+ challenge:
+ confirm: Continuar
+ hint_html: "Nota: Non che pediremos o contrasinal na seguinte hora."
+ invalid_password: Contrasinal incorrecto
+ prompt: Confirma o contrasinal para continuar
datetime:
distance_in_words:
about_x_hours: "%{count}h"
@@ -629,7 +652,9 @@ gl:
x_months: "%{count}mes"
x_seconds: "%{count}s"
deletes:
+ challenge_not_passed: A informaciĂłn introducida non ĂŠ correcta
confirm_password: Introduza o seu contrasinal para verificar a sĂşa identidade
+ confirm_username: Introduce o nome de usuaria para confirmar o procedemento
proceed: Eliminar conta
success_msg: A sĂşa conta eliminouse correctamente
warning:
@@ -647,23 +672,6 @@ gl:
directory: Directorio de perfil
explanation: Descubra usuarias segĂşn o seu interese
explore_mastodon: Explorar %{title}
- domain_blocks:
- blocked_domains: Lista de dominios limitados e bloqueados
- description: Esta ĂŠ a lista dos servidores cos que %{instance} limita ou rexeita federar.
- domain: Dominio
- media_block: Bloqueo de medios
- no_domain_blocks: "(Sen bloqueo de medios)"
- severity: Rigurosidade
- severity_legend:
- media_block: Os ficheiros de medios procedentes do servidor non se obterĂĄn, gardarĂĄn nin mostrarĂĄn as usuarias.
- silence: As contas de servidores silenciados pĂłdense atopar, seguir e interactuar con elas, pero os seus toots non aparecerĂĄn na liĂąa temporal pĂşbica, as notificaciĂłns procedentes deles non chegarĂĄn as usuarias que non as estĂĄn a seguir.
- suspension: Non se mostra nin garda ningĂşn contido de servidores suspendidos, tampouco se lles envĂa contido. As interacciĂłns con servidores suspendidos son ignoradas.
- suspension_disclaimer: Os servidores suspendidos poderĂan obter ocasionalmente contido pĂşblico de este servidor.
- title: Rigurosidades
- show_rationale: Mostrar razĂłn
- silence: Silenciar
- suspension: SuspensiĂłn
- title: "%{instance} Lista de instancias bloqueadas"
domain_validator:
invalid_domain: non ĂŠ un nome de dominio vĂĄlido
errors:
@@ -801,9 +809,31 @@ gl:
too_many: Non pode anexar mĂĄis de 4 ficheiros
migrations:
acct: nomeusuaria@dominio da nova conta
- currently_redirecting: 'O seu perfil estĂĄ listo para redirixir a:'
- proceed: Gardar
- updated_msg: O axuste de migraciĂłn da conta actualizouse correctamente!
+ cancel: Cancelar a redirecciĂłn
+ cancel_explanation: Ao cancelar a redirecciĂłn reactivarĂĄs a conta actual, pero non poderĂĄs traer de volta os seguidores que se moveron a esa conta.
+ cancelled_msg: Cancelouse a redirecciĂłn.
+ errors:
+ already_moved: ĂŠ a mesma conta a que xa te moveches
+ missing_also_known_as: non estĂĄ referenciando hacia esta conta
+ move_to_self: non pode ser a conta actual
+ not_found: non se atopou
+ on_cooldown: Estas no perĂodo de calma
+ followers_count: Seguidoras no momento da migraciĂłn
+ incoming_migrations: Movendo desde unha conta diferente
+ incoming_migrations_html: Para migrar doutra conta cara esta, primeiro debes crear un alias da conta.
+ moved_msg: A tĂşa conta estĂĄ redirixindo agora a %{acct} e os teus seguidores movĂŠronse alĂ.
+ not_redirecting: Neste momento a tĂşa conta non estĂĄ redirixindo cara a ningunha outra.
+ on_cooldown: Migraches recentemente a conta. Esta funciĂłn estarĂĄ dispoĂąible de novo en %{count} dĂas.
+ past_migrations: MigraciĂłns pasadas
+ proceed_with_move: Mover seguidoras
+ redirecting_to: A conta estĂĄ redirixindo cara a %{acct}.
+ warning:
+ backreference_required: Tes que configurar primeiro a nova conta para referenciar hacia esta
+ before: 'Antes de seguir, por favor lĂŠ estas notas con atenciĂłn:'
+ cooldown: Tras a migraciĂłn existe un perĂodo de calma durante o cal non poderĂĄs voltar a migrar de novo
+ disabled_account: Tras o cambio a tĂşa conta actual non serĂĄ totalmente usable, pero terĂĄs acceso a exportar os datos e tamĂŠn a reactivaciĂłn.
+ followers: Esta acciĂłn moverĂĄ todas as tĂşas seguidoras desde a conta actual a nova conta
+ other_data: Non se moverĂĄn outros datos de xeito automĂĄtico
moderation:
title: ModeraciĂłn
notification_mailer:
@@ -948,6 +978,7 @@ gl:
settings:
account: Conta
account_settings: Axustes da conta
+ aliases: Alcumes da conta
appearance: Aparencia
authorized_apps: Apps autorizadas
back: Voltar a Mastodon
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 62c04a8e84d..f7b12177775 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -9,9 +9,6 @@ he:
contact_missing: ××× ×××ר×
contact_unavailable: ×× ×¨×××× ××/×ץר
documentation: ת×ע××
- extended_description_html: |
-
federation_hint_html: Egy %{instance} fiĂłkkal bĂĄrmely mĂĄs Mastodon szerveren vagy a fĂśderĂĄciĂłban lĂŠvĹ felhasznĂĄlĂłt kĂśvetni tudsz.
generic_description: "%{domain} csak egy a szĂĄmtalan szerver kĂśzĂźl a fĂśderĂĄciĂłban"
get_apps: PrĂłbĂĄlj ki egy mobil appot
@@ -752,9 +749,6 @@ hu:
too_many: Maximum nĂŠgy fĂĄjlt csatolhatsz a tĂźlkhĂśz
migrations:
acct: Az Ăşj fiĂłk felhasznalonev@domain formĂĄtumban
- currently_redirecting: 'A profilod az alĂĄbbi fiĂłkra van ĂĄtirĂĄnyĂtva:'
- proceed: MentĂŠs
- updated_msg: FiĂłkod ĂĄtirĂĄnyĂtĂĄsi beĂĄllĂtĂĄsait sikeresen mentettĂźk!
moderation:
title: ModerĂĄciĂł
notification_mailer:
diff --git a/config/locales/id.yml b/config/locales/id.yml
index 81a8ffd1fd9..bd47d05f893 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -10,9 +10,6 @@ id:
contact_missing: Belum diset
contact_unavailable: Tidak Tersedia
documentation: Dokumentasi
- extended_description_html: |
-
Tempat yang baik untuk peraturan
-
Deskripsi lainnya belum diset.
generic_description: "%{domain} adalah satu server dalam jaringan"
hosted_on: Mastodon dihosting di %{domain}
learn_more: Pelajari selengkapnya
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 7b3eede09df..96816091039 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -17,9 +17,6 @@ it:
contact_unavailable: N/D
discover_users: Scopri utenti
documentation: Documentazione
- extended_description_html: |
-
Un buon posto per le regole
-
La descrizione estesa non è ancora stata preparata.
federation_hint_html: Con un account su %{instance} sarai in grado di seguire persone su qualsiasi server Mastodon e oltre.
generic_description: "%{domain} è un server nella rete"
get_apps: Prova un'app per smartphone
@@ -624,23 +621,6 @@ it:
directory: Directory dei profili
explanation: Scopri utenti in base ai loro interessi
explore_mastodon: Esplora %{title}
- domain_blocks:
- blocked_domains: Elenco dei domini limitati e bloccati
- description: Questo è l'elenco dei server con cui %{instance} limita o rifiuta la federazione.
- domain: Dominio
- media_block: Blocco dei media
- no_domain_blocks: "(Nessun blocco di dominio)"
- severity: GravitĂ
- severity_legend:
- media_block: I file multimediali provenienti dal server non sono recuperati, memorizzati o visualizzati all'utente.
- silence: Gli account di server silenziati possono essere trovati e seguiti, e gli utenti possono interagire con essi, ma i loro toot non appariranno nelle timeline pubbliche e le relative notifiche non raggiungeranno gli utenti locali che non li seguono.
- suspension: Nessun contenuto dai server sospesi è memorizzato o visualizzato, e nessun contenuto gli viene inviato. Le interazioni dai server sospesi sono ignorate.
- suspension_disclaimer: I server sospesi possono talvolta recuperare contenuti pubblici da questo server.
- title: GravitĂ
- show_rationale: Mostra motivazione
- silence: Silenzia
- suspension: Sospensione
- title: "%{instance} Elenco delle istanze bloccate"
domain_validator:
invalid_domain: non è un nome di dominio valido
errors:
@@ -777,9 +757,6 @@ it:
too_many: Impossibile allegare piĂš di 4 file
migrations:
acct: utente@dominio del nuovo account
- currently_redirecting: 'Il tuo profilo sarĂ ridirezionato a:'
- proceed: Salva
- updated_msg: L'impostazione per la migrazione dell'account è sta aggiornata!
moderation:
title: Moderazione
notification_mailer:
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index cfaee9a3811..1c63a706fe0 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -17,9 +17,6 @@ ja:
contact_unavailable: N/A
discover_users: ăŚăźăśăźăčŚă¤ăă
documentation: ăăăĽăĄăłă
- extended_description_html: |
-
generic_description: "%{domain} yra vienas serveris tinkle"
hosted_on: Mastodon palaikomas naudojantis %{domain} talpinimu
learn_more: Daugiau
@@ -597,9 +594,6 @@ lt:
too_many: Negalima pridÄti daugiau nei 4 failĹł
migrations:
acct: slapyvardis@domenas naujam vartotojui
- currently_redirecting: 'JĹŤsĹł profilis nustatytas nukreipimui ÄŻ:'
- proceed: IĹĄsaugoti
- updated_msg: JĹŤsĹł paskyros migracijos nustatymai sÄkmingai pakeisti!
moderation:
title: Moderacija
notification_mailer:
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 4573d53dd25..b77a1fd92a4 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -10,9 +10,6 @@ ms:
contact_missing: Tidak ditetapkan
contact_unavailable: Tidak tersedia
documentation: Pendokumenan
- extended_description_html: |
-
Tempat sesuai untuk peraturan
-
Kenyataan penuh masih belum ditetapkan.
generic_description: "%{domain} ialah salah sebuah pelayan dalam rangkaian Mastodon"
hosted_on: Mastodon dihoskan di %{domain}
learn_more: Ketahui lebih lanjut
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 9298e0ae08c..1878a95a250 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -17,13 +17,13 @@ nl:
contact_unavailable: n.v.t
discover_users: Gebruikers ontdekken
documentation: Documentatie
- extended_description_html: |
-
Een goede plek voor richtlijnen
-
De uitgebreide omschrijving is nog niet ingevuld.
federation_hint_html: Met een account op %{instance} ben je in staat om mensen die zich op andere Mastodonservers (en op andere plekken) bevinden te volgen.
generic_description: "%{domain} is een server in het Mastodonnetwerk"
get_apps: Mobiele apps
hosted_on: Mastodon op %{domain}
+ instance_actor_flash: 'Dit account is een virtuel actor die wordt gebruikt om de server zelf te vertegenwoordigen en is geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden geblokkeerd, tenzij je de hele server wil blokkeren. In zo''n geval dien je echter een domeinblokkade te gebruiken.
+
+'
learn_more: Meer leren
privacy_policy: Privacybeleid
see_whats_happening: Kijk wat er aan de hand is
@@ -35,6 +35,11 @@ nl:
status_count_before: Zij schreven
tagline: Vrienden volgen en nieuwe ontdekken
terms: Gebruiksvoorwaarden
+ unavailable_content: Niet beschikbare inhoud
+ unavailable_content_description:
+ reason: 'Reden:'
+ rejecting_media: Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken.
+ silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
user_count_after:
one: gebruiker
other: gebruikers
@@ -53,6 +58,7 @@ nl:
media: Media
moved_html: "%{name} is verhuisd naar %{new_profile_link}:"
network_hidden: Deze informatie is niet beschikbaar
+ never_active: Nooit
nothing_here: Hier is niets!
people_followed_by: Mensen die %{name} volgen
people_who_follow: Mensen die %{name} volgen
@@ -219,10 +225,12 @@ nl:
deleted_status: "(verwijderde toot}"
title: Auditlog
custom_emojis:
+ assign_category: Categorie toewijzen
by_domain: Domein
copied_msg: Lokale kopie van emoji maken geslaagd
copy: KopiĂŤren
copy_failed_msg: Kan geen lokale kopie van deze emoji maken
+ create_new_category: Nieuwe categorie toevoegen
created_msg: Aanmaken van emoji geslaagd!
delete: Verwijderen
destroyed_msg: Verwijderen van emoji geslaagd!
@@ -239,6 +247,7 @@ nl:
shortcode: Verkorte code
shortcode_hint: Tenminste 2 tekens (alleen alfanumeriek en underscores)
title: Lokale emojiâs
+ uncategorized: Niet gecategoriseerd
unlisted: Niet weergegeven
update_failed_msg: Deze emoji kon niet worden bijgewerkt
updated_msg: Bijwerken van emoji is geslaagd!
@@ -475,6 +484,8 @@ nl:
desc_html: Je kan hier jouw eigen privacybeleid, gebruiksvoorwaarden en ander juridisch jargon kwijt. Je kan HTML gebruiken
title: Aangepaste gebruiksvoorwaarden
site_title: Naam Mastodonserver
+ spam_check_enabled:
+ title: Automatische spambestrijding
thumbnail:
desc_html: Gebruikt als voorvertoning voor OpenGraph en de API. 1200x630px aanbevolen
title: Thumbnail Mastodonserver
@@ -501,13 +512,19 @@ nl:
tags:
accounts_today: Aantal unieke keren vandaag gebruikt
accounts_week: Aantal unieke keren deze week gebruikt
+ breakdown: Uitsplitsing van het gebruik van vandaag naar bron
context: Context
directory: In de gebruikersgids
in_directory: "%{count} keer in de gebruikersgids"
+ last_active: Laatst actief
+ most_popular: Meest populair
+ most_recent: Meest recent
+ name: Hashtag
review: Status beoordelen
reviewed: Beoordeeld
title: Hashtags
trending_right_now: Op dit moment trending
+ unique_uses_today: "%{count} toots vandaag"
unreviewed: Niet beoordeeld
title: Beheer
warning_presets:
@@ -585,6 +602,10 @@ nl:
return: Profiel van deze gebruiker tonen
web: Ga naar de webapp
title: Volg %{acct}
+ challenge:
+ confirm: Doorgaan
+ invalid_password: Ongeldig wachtwoord
+ prompt: Bevestig wachtwoord om door te gaan
datetime:
distance_in_words:
about_x_hours: "%{count}u"
@@ -600,23 +621,15 @@ nl:
x_months: "%{count}ma"
x_seconds: "%{count}s"
deletes:
+ challenge_not_passed: De informatie die u hebt ingevoerd is ongeldig
confirm_password: Voer jouw huidige wachtwoord in om jouw identiteit te bevestigen
+ confirm_username: Voer uw gebruikersnaam in om de procedure te bevestigen
proceed: Account verwijderen
success_msg: Jouw account is succesvol verwijderd
directories:
directory: Gebruikersgids
explanation: Ontdek gebruikers aan de hand van hun interesses
explore_mastodon: "%{title} verkennen"
- domain_blocks:
- domain: Domein
- media_block: Mediabestanden weigeren
- no_domain_blocks: "(geen domeinblokkades)"
- severity: Zwaarte
- severity_legend:
- media_block: Mediabestanden die van deze server komen worden niet opgehaald, opgeslagen en aan de gebruiker getoond.
- title: Zwaartes
- show_rationale: Motivering tonen
- silence: Negeren
errors:
'400': The request you submitted was invalid or malformed.
'403': Jij hebt geen toestemming om deze pagina te bekijken.
@@ -749,10 +762,30 @@ nl:
images_and_video: Een video kan niet aan een toot met afbeeldingen worden gekoppeld
too_many: Er kunnen niet meer dan 4 afbeeldingen toegevoegd worden
migrations:
- acct: gebruikersnaam@domein van het nieuwe account
- currently_redirecting: 'Jouw profiel wordt nu doorverwezen naar:'
- proceed: Opslaan
- updated_msg: Jouw accountmigratie-instelling is succesvol bijgewerkt!
+ acct: Verhuisd naar
+ cancelled_msg: De doorverwijzing is succesvol geannuleerd.
+ errors:
+ already_moved: is hetzelfde account waarnaar je al naar toe bent verhuisd
+ missing_also_known_as: verwijst niet terug naar dit account
+ move_to_self: kan niet het huidige account zijn
+ not_found: kon niet worden gevonden
+ on_cooldown: Jouw laatste migratie is nog te kort geleden
+ followers_count: Volgers op het moment van verhuizing
+ incoming_migrations: Verhuizen vanaf een ander account
+ incoming_migrations_html: Om te vanaf een ander account naar dit account te verhuizen, moet je eerst een accountalias aanmaken.
+ moved_msg: Jouw account wordt nu naar %{acct} doorverwezen en jouw volgers worden verhuisd.
+ not_redirecting: Jouw account wordt momenteel niet naar een ander account doorverwezen.
+ on_cooldown: Je hebt recentelijk jouw account verhuisd. Deze mogelijkheid is weer beschikbaar over %{count} dagen.
+ past_migrations: Vorige migraties
+ proceed_with_move: Volgers verhuizen
+ redirecting_to: Jouw account wordt nu naar %{acct} doorverwezen.
+ warning:
+ backreference_required: Het nieuwe account moet eerst worden ingesteld om naar dit account te kunnen terugverwijzen
+ before: 'Lees eerst goed deze tekst, alvorens verder te gaan:'
+ cooldown: Na de verhuizing kun je tijdelijk niet opnieuw verhuizen
+ disabled_account: Jouw huidige account is hierna niet meer volledig bruikbaar. Je hebt echter wel toegang tot het exporteren van je gegevens en tot het opnieuw activeren van je account.
+ followers: Deze actie verhuisd alle volgers vanaf het huidige account naar het nieuwe account
+ other_data: Geen andere gegevens worden automatisch verhuisd
moderation:
title: Moderatie
notification_mailer:
@@ -897,6 +930,7 @@ nl:
settings:
account: Account
account_settings: Accountinstellingen
+ aliases: Accountaliassen
appearance: Uiterlijk
authorized_apps: Geautoriseerde apps
back: Terug naar Mastodon
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 1d675aef684..c6b9605b3f5 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -7,9 +7,6 @@
contact: Kontakt
contact_missing: Ikke innstilt
contact_unavailable: Ikke tilgjengelig
- extended_description_html: |
-
En god plassering for regler
-
En utvidet beskrivelse er ikke satt opp ennĂĽ.
generic_description: "%{domain} er en tjener i nettverket"
hosted_on: Mastodon driftet pĂĽ %{domain}
learn_more: LĂŚr mer
@@ -394,9 +391,6 @@
too_many: Kan ikke legge ved mer enn 4 filer
migrations:
acct: brukernavn@domene til den nye kontoen
- currently_redirecting: 'Din profil er omdirigert til:'
- proceed: Lagre
- updated_msg: Dine innstillinger for kontomigrering er oppdatert!
moderation:
title: Moderasjon
notification_mailer:
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 2884380b8bc..2d11d3399fc 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -17,9 +17,6 @@ oc:
contact_unavailable: Pas disponible
discover_users: Descobrissètz de nòvas personas
documentation: Documentacion
- extended_description_html: |
-
Una bona plaça per las règlas
-
La descripcion longa es pas estada causida pel moment.
federation_hint_html: Amb un compte sus %{instance} poiretz sègre de personas de qualque siasque servidor Mastodon e encara mai.
generic_description: "%{domain} es un dels servidors del malhum"
get_apps: Ensajatz una aplicacion mobil
@@ -719,9 +716,6 @@ oc:
too_many: Se pòt pas ajustar mai de 4 fichièrs
migrations:
acct: nomutilizaire@domeni del nòu compte
- currently_redirecting: 'Vòstre perfil es parametrat per mandar aâŻ:'
- proceed: Enregistrar
- updated_msg: Vòstre paramètre de migracion es ben estat mes a jornâŻ!
moderation:
title: Moderacion
notification_mailer:
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 23d0c8a989e..46b9116941d 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -17,9 +17,6 @@ pl:
contact_unavailable: Nie dotyczy
discover_users: Odkrywaj uĹźytkownikĂłw
documentation: Dokumentacja
- extended_description_html: |
-
Dobre miejsce na zasady uĹźytkowania
-
Nie ustawiono jeszcze szczegĂłĹowego opisu
federation_hint_html: Z kontem na %{instance}, moĹźesz ĹledziÄ uĹźytkownikĂłw kaĹźdego serwera Mastodona i nie tylko.
generic_description: "%{domain} jest jednym z serwerĂłw sieci"
get_apps: SprĂłbuj aplikacji mobilnej
@@ -712,9 +709,6 @@ pl:
too_many: Nie moĹźesz zaĹÄ czyÄ wiÄcej niĹź 4 plikĂłw
migrations:
acct: nazwa@domena nowego konta
- currently_redirecting: 'Obecnie Twoje konto przekierowuje do:'
- proceed: Zapisz
- updated_msg: PomyĹlnie zaktualizowano ustawienia migracji Twojego konta!
moderation:
title: Moderacja
notification_mailer:
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 9896f888a41..ac7e709084b 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -16,9 +16,6 @@ pt-BR:
contact_unavailable: NĂŁo disponĂvel
discover_users: Descubra usuĂĄrios
documentation: Documentação
- extended_description_html: |
-
Um bom lugar para regras
-
A descrição da instância ainda não foi feita.
federation_hint_html: Com uma conta em %{instance} vocĂŞ vai poder seguir pessoas em qualquer servidor Mastodon ou outros do fediverso.
generic_description: "%{domain} ĂŠ um servidor na rede"
get_apps: Experimente um aplicativo
@@ -664,9 +661,6 @@ pt-BR:
too_many: NĂŁo ĂŠ possĂvel anexar mais de 4 imagens
migrations:
acct: username@domain da nova conta
- currently_redirecting: 'Seu perfil estĂĄ configurado para redirecionar para:'
- proceed: Salvar
- updated_msg: As configuraçþes de migração da sua conta foram atualizadas com sucesso!
moderation:
title: Moderação
notification_mailer:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 25ee570851d..ecca3b84583 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -10,9 +10,6 @@ pt-PT:
contact_missing: NĂŁo configurado
contact_unavailable: n.d.
documentation: Documentação
- extended_description_html: |
-
Um bom lugar para regras
-
A descrição estendida ainda não foi configurada.
generic_description: "%{domain} ĂŠ um servidor na rede"
hosted_on: Mastodon em %{domain}
learn_more: Saber mais
@@ -612,9 +609,6 @@ pt-PT:
too_many: NĂŁo ĂŠ possĂvel anexar mais de 4 arquivos
migrations:
acct: username@domain da nova conta
- currently_redirecting: 'O teu perfil estĂĄ configurado para redirecionar para:'
- proceed: Salvar
- updated_msg: As configuraçþes de migração da tua conta foram atualizadas com sucesso!
moderation:
title: Moderação
notification_mailer:
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 0c12021182b..3b10925ac35 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -17,9 +17,6 @@ ru:
contact_unavailable: ноиСв.
discover_users: ĐĐ°Ń ĐžĐ´Đ¸ŃĐľ пОНŃСОваŃоНоК
documentation: ĐОкŃПонŃĐ°ŃиŃ
- extended_description_html: |
-
federation_hint_html: ĐĄ ŃŃŃŃнОК СапиŃŃŃ Đ˝Đ° %{instance} Đ˛Ń ŃПОМоŃĐľ пОдпиŃŃваŃŃŃŃ Đ˝Đ° ĐťŃдоК Ń ĐťŃйОгО ŃĐľŃвоŃĐ° Mastodon и но ŃОНŃкО.
generic_description: "%{domain} - Один иС ŃĐľŃвоŃОв ŃĐľŃи"
get_apps: ĐОпŃОйŃĐšŃĐľ ПОйиНŃнОо ĐżŃиНОМонио
@@ -592,8 +589,6 @@ ru:
directory: ĐĐ°ŃаНОг ĐżŃĐžŃиНоК
explanation: ĐĐ°Ń ĐžĐ´Đ¸ŃĐľ пОНŃСОваŃоНоК пО инŃĐľŃĐľŃĐ°Đź
explore_mastodon: ĐСŃŃĐ°ĐšŃĐľ %{title}
- domain_blocks:
- domain: ĐОПон
errors:
'400': The request you submitted was invalid or malformed.
'403': ĐŁ ĐĐ°Ń Đ˝ĐľŃ Đ´ĐžŃŃŃпа Đş ĐżŃĐžŃПОŃŃŃ ŃŃОК ŃŃŃаниŃŃ.
@@ -730,9 +725,6 @@ ru:
too_many: ĐоНŃĐˇŃ Đ´ĐžĐąĐ°Đ˛Đ¸ŃŃ ĐąĐžĐťĐľĐľ 4 ŃаКНОв
migrations:
acct: иПŃ@дОПон нОвОгО аккаŃĐ˝ŃĐ°
- currently_redirecting: 'ĐĐ°Ń ĐżŃĐžŃĐ¸ĐťŃ ĐąŃĐ´ĐľŃ ĐżĐľŃонапŃавНон на:'
- proceed: ĐĄĐžŃ ŃаниŃŃ
- updated_msg: ĐĐ°ŃŃŃОКки ПигŃĐ°Ńии ваŃогО аккаŃĐ˝ŃĐ° ОйнОвНонŃ!
moderation:
title: ĐОдоŃĐ°ŃиŃ
notification_mailer:
diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml
index eeb5a913a41..fbf6813a49b 100644
--- a/config/locales/simple_form.co.yml
+++ b/config/locales/simple_form.co.yml
@@ -43,6 +43,8 @@ co:
domain: Stu duminiu puderà ricuperà i dati di stu servore è i dati ch'affaccanu da quallà saranu trattati è cunservati
featured_tag:
name: 'Pudete vulè utilizà unu di quelli:'
+ form_challenge:
+ current_password: Entrate in in una zona sicurizata
imports:
data: Un fugliale CSV da unâaltru servore di Mastodon
invite_request:
@@ -131,6 +133,8 @@ co:
must_be_follower: PiattĂ e nutificazione di quelli¡e châĂšn vi seguitanu
must_be_following: PiattĂ e nutificazione di quelli¡e châĂšn seguitate
must_be_following_dm: BluccĂ e missaghji diretti di quelli¡e châĂšn seguitate
+ invite:
+ comment: Cummentariu
invite_request:
text: Perchè vulete ghjunghje?
notification_emails:
diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml
index b6b61747f20..047d59c6983 100644
--- a/config/locales/simple_form.cs.yml
+++ b/config/locales/simple_form.cs.yml
@@ -2,6 +2,10 @@
cs:
simple_form:
hints:
+ account_alias:
+ acct: Zadejte pĹezdĂvku@domĂŠnu ĂşÄtu, ze kterĂŠho se chcete pĹesunout
+ account_migration:
+ acct: Zadejte pĹezdĂvku@domĂŠnu ĂşÄtu, na kterĂ˝ se chcete pĹesunout
account_warning_preset:
text: MĹŻĹžete pouĹžĂvat syntaxi tootĹŻ, jako napĹĂklad URL, hashtagy a zmĂnky
admin_account_action:
@@ -15,6 +19,8 @@ cs:
avatar: PNG, GIF Äi JPG. MaximĂĄlnÄ %{size}. Bude zmenĹĄen na %{dimensions} px
bot: Tento ĂşÄet provĂĄdĂ hlavnÄ automatizovanĂŠ akce a nemusĂ bĂ˝t spravovĂĄ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 aktuĂĄlnĂho ĂşÄtu
+ current_username: ProsĂm potvrÄte 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 pĹi svĂŠ nepĹĂtomnosti obdrĹžel/a osobnĂ zprĂĄvy
discoverable: AdresĂĄĹ profilĹŻ je dalĹĄĂ zpĹŻsob, dĂky kterĂŠmu se mĹŻĹže vĂĄĹĄ ĂşÄet dostat k ĹĄirĹĄĂmu publiku
email: Bude vĂĄm poslĂĄn potvrzovacĂ e-mail
@@ -36,13 +42,15 @@ cs:
setting_noindex: OvlivĹuje vĂĄĹĄ veĹejnĂ˝ profil a strĂĄnky tootĹŻ
setting_show_application: Aplikace, kterou pouĹžĂvĂĄte k psanĂ tootĹŻ, bude zobrazena v detailnĂm zobrazenĂ vaĹĄich tootĹŻ
setting_use_blurhash: Gradienty jsou zaloŞeny na barvåch skrytÊ grafiky, ale zakrývajà jakÊkoliv detaily
- setting_use_pending_items: SkrĂ˝t aktualizace ÄasovĂ˝ osy a naÄĂst je kliknutĂm namĂsto automatickĂŠho rolovĂĄnĂ proudu
+ setting_use_pending_items: SkrĂ˝t aktualizace ÄasovĂŠ osy a naÄĂst je kliknutĂm namĂsto automatickĂŠho rolovĂĄnĂ proudu
username: VaĹĄe uĹživatelskĂŠ jmĂŠno bude na %{domain} unikĂĄtnĂ
whole_word: Je-li klĂÄovĂŠ slovo Äi frĂĄze pouze alfanumerickĂĄ, bude aplikovĂĄna pouze, pokud se shoduje s celĂ˝m slovem
domain_allow:
domain: Tato domĂŠna bude moci stahovat data z tohoto serveru a pĹĂchozĂ data z nĂ budou zpracovĂĄna a uloĹžena
featured_tag:
name: 'NejspĂĹĄ budete chtĂt pouĹžĂt jeden z tÄchto:'
+ form_challenge:
+ current_password: Vstupujete do zabezpeÄenĂŠho prostoru
imports:
data: Soubor CSV exportovanĂ˝ z jinĂŠho serveru Mastodon
invite_request:
@@ -58,6 +66,10 @@ cs:
fields:
name: OznaÄenĂ
value: Obsah
+ account_alias:
+ acct: Adresa starĂŠho ĂşÄtu
+ account_migration:
+ acct: Adresa novĂŠho ĂşÄtu
account_warning_preset:
text: Text pĹedlohy
admin_account_action:
@@ -131,6 +143,8 @@ cs:
must_be_follower: Blokovat oznĂĄmenĂ od lidĂ, kteĹĂ vĂĄs nesledujĂ
must_be_following: Blokovat oznĂĄmenĂ od lidĂ, kterĂŠ nesledujete
must_be_following_dm: Blokovat pĹĂmĂŠ zprĂĄvy od lidĂ, kterĂŠ nesledujete
+ invite:
+ comment: KomentĂĄĹ
invite_request:
text: ProÄ se chcete pĹipojit?
notification_emails:
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index ac153805e9d..2ce28697396 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -2,6 +2,10 @@
de:
simple_form:
hints:
+ account_alias:
+ acct: Gib den benutzernamen@domain des Kontos an, von dem du umziehen mĂśchtest
+ account_migration:
+ acct: Gib den benutzernamen@domain des Kontos an, zu dem du umziehen mĂśchtest
account_warning_preset:
text: Du kannst Beitragssyntax benutzen, wie z.B. URLs, Hashtags und Erwähnungen
admin_account_action:
@@ -15,6 +19,8 @@ de:
avatar: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
bot: Dieses Konto fĂźhrt lediglich automatisierte Aktionen durch und wird mĂśglicherweise nicht Ăźberwacht
context: Ein oder mehrere Kontexte, wo der Filter aktiv werden soll
+ current_password: Aus SicherheitsgrĂźnden gib bitte das Passwort des aktuellen Kontos ein
+ current_username: Um das zu bestätigen, gib den Benutzernamen des aktuellen Kontos ein
digest: Wenn du eine lange Zeit inaktiv bist, wird dir eine Zusammenfassung von Erwähnungen zugeschickt, die du in deiner Abwesenheit empfangen hast
discoverable: Das Profilverzeichnis ist eine andere MĂśglichkeit, mit der dein Konto ein grĂśĂeres Publikum erreichen kann
email: Du wirst eine Bestätigungs-E-Mail erhalten
@@ -43,6 +49,8 @@ de:
domain: Diese Domain kann Daten von diesem Server abrufen und eingehende Daten werden verarbeitet und gespeichert
featured_tag:
name: 'Du mĂśchtest vielleicht einen von diesen benutzen:'
+ form_challenge:
+ current_password: Du betrittst einen sicheren Bereich
imports:
data: CSV-Datei, die aus einem anderen Mastodon-Server exportiert wurde
invite_request:
@@ -58,6 +66,10 @@ de:
fields:
name: Bezeichnung
value: Inhalt
+ account_alias:
+ acct: Adresse des alten Kontos
+ account_migration:
+ acct: Adresse des neuen Kontos
account_warning_preset:
text: Vorlagentext
admin_account_action:
@@ -131,6 +143,8 @@ de:
must_be_follower: Benachrichtigungen von Profilen blockieren, die mir nicht folgen
must_be_following: Benachrichtigungen von Profilen blockieren, denen ich nicht folge
must_be_following_dm: Private Nachrichten von Profilen, denen ich nicht folge, blockieren
+ invite:
+ comment: Kommentar
invite_request:
text: Warum mĂśchtest du beitreten?
notification_emails:
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index 4eb0ce7104b..7ff5fbf77f9 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -131,6 +131,8 @@ el:
must_be_follower: ÎĎÎťĎκιĎÎľ ĎÎšĎ ÎľÎšÎ´ÎżĎοΚΎĎÎľÎšĎ ÎąĎĎ ĎĎÎżĎ Ď Î´ÎľÎ˝ ÎąÎşÎżÎťÎżĎ Î¸ÎľÎŻĎ
must_be_following: ÎĎÎťĎκιĎÎľ ĎÎšĎ ÎľÎšÎ´ÎżĎοΚΎĎÎľÎšĎ ĎÎżĎ ĎĎÎżÎĎĎονĎιΚ ÎąĎĎ ÎŹĎοΟι ĎÎżĎ Î´ÎľÎ˝ ĎÎą ÎąÎşÎżÎťÎżĎ Î¸ÎľÎŻĎ
must_be_following_dm: ÎĎÎťĎκιĎÎľ ĎÎą ĎĎÎżĎĎĎΚκΏ ΟΡνĎΟιĎÎą ÎąĎĎ ĎĎÎżĎ Ď Î´ÎľÎ˝ ÎąÎşÎżÎťÎżĎ Î¸ÎľÎŻĎ
+ invite:
+ comment: ÎŁĎĎΝΚι
invite_request:
text: ÎΚιĎÎŻ θÎÎťÎľÎšĎ Î˝Îą ĎĎ ÎźÎźÎľĎÎŹĎĎξΚĎ;
notification_emails:
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index a92c20f1052..9f2f15b07c2 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -131,6 +131,8 @@ fr:
must_be_follower: Masquer les notifications des personnes qui ne vous suivent pas
must_be_following: Masquer les notifications des personnes que vous ne suivez pas
must_be_following_dm: Bloquer les messages directs des personnes que vous ne suivez pas
+ invite:
+ comment: Commentaire
invite_request:
text: Pourquoi voulez-vous vous inscrire ?
notification_emails:
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index adb06bc2c65..61308bf48b7 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -2,6 +2,10 @@
gl:
simple_form:
hints:
+ account_alias:
+ acct: Indica o usuaria@servidor da conta desde a cal queres migrar
+ account_migration:
+ acct: Indica o usuaria@servidor da conta a cal queres migrar
account_warning_preset:
text: PĂłdeslle dar formato ao toot, como URLs, etiquetas e menciĂłns
admin_account_action:
@@ -15,6 +19,8 @@ gl:
avatar: PNG, GIF ou JPG. MĂĄximo %{size}. SerĂĄ reducida a %{dimensions}px
bot: 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Ăł si recibeu algunha mensaxe persoal na sĂşa ausencia
discoverable: O directorio de perfil ĂŠ outro xeito para que a tĂşa conta alcance unha maior audiencia
email: EnviarĂĄselle un correo-e de confirmaciĂłn
@@ -43,6 +49,8 @@ gl:
domain: Este dominio estarĂĄ en disposiciĂłn de obter datos desde este servidor e datos de entrada a el poderĂĄn ser procesados e gardados
featured_tag:
name: 'PoderĂa utilizar algunha de estas:'
+ form_challenge:
+ current_password: EstĂĄs entrando nun ĂĄrea segura
imports:
data: Ficheiro CSV exportado desde outro servidor Mastodon
invite_request:
@@ -58,6 +66,10 @@ gl:
fields:
name: Etiqueta
value: Contido
+ account_alias:
+ acct: Xestina a conta antiga
+ account_migration:
+ acct: Xestiona a nova conta
account_warning_preset:
text: Texto preestablecido
admin_account_action:
@@ -131,6 +143,8 @@ gl:
must_be_follower: Bloquear as notificaciĂłns de non-seguidoras
must_be_following: Bloquea as notificaciĂłns de personas que non segue
must_be_following_dm: Bloquea as mensaxes directas de personas que non segue
+ invite:
+ comment: Comentar
invite_request:
text: Por que quere unirse?
notification_emails:
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 118bf50d4ad..a6db9e00651 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -131,6 +131,8 @@ ko:
must_be_follower: ë뼟 íëĄě° íě§ ěë ěŹëěę˛ě ě¨ ě댟ě ě°¨ë¨
must_be_following: ë´ę° íëĄě° íě§ ěë ěŹëěę˛ě ě¨ ě댟ě ě°¨ë¨
must_be_following_dm: ë´ę° íëĄě° íě§ ěě ěŹëěę˛ě ě¤ë ë¤ě´ë í¸ëŠěě§ëĽź ě°¨ë¨
+ invite:
+ comment: 죟ě
invite_request:
text: ę°ě íë ¤ë ě´ě ę° ëŹ´ěě¸ę°ě?
notification_emails:
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index e6a30f0c34c..01f5bf75049 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -17,9 +17,6 @@ sk:
contact_unavailable: NeuvedenĂ˝/ĂĄ
discover_users: Objavuj uĹžĂvateÄžov
documentation: DokumentĂĄcia
- extended_description_html: |
-
PravidlĂĄ
-
Žiadne zatiaĞ uvedenÊ nie sú
federation_hint_html: S ĂşÄtom na %{instance} budeĹĄ mĂ´cĹĽ nĂĄsledovaĹĽ ĞúdĂ na hociakom Mastodon serveri, ale aj na inĂ˝ch serveroch.
generic_description: "%{domain} je jeden server v sieti"
get_apps: Vyskúťaj aplikåcie
@@ -40,6 +37,9 @@ sk:
status_count_before: KtorĂ napĂsali
tagline: Nåsleduj kamaråtov, a objavuj nových
terms: Podmienky uĹžitia
+ unavailable_content: NedostupnĂ˝ obsah
+ unavailable_content_description:
+ reason: 'DĂ´vod:'
user_count_after:
few: uĹžĂvateÄžov
many: uĹžĂvatelia
@@ -527,6 +527,10 @@ sk:
context: SĂşvis
directory: V zozname
in_directory: "%{count} v zozname"
+ last_active: Naposledy aktĂvny
+ most_popular: NajpopulĂĄrnejĹĄie
+ most_recent: NajnovĹĄie
+ name: HaĹĄtag
review: PrehodnoĹĽ stav
reviewed: ZhodnotenĂŠ
title: HaĹĄtagy
@@ -551,6 +555,8 @@ sk:
subject: NovĂŠ hlĂĄsenie pre %{instance} (#%{id})
new_trending_tag:
subject: NovĂ˝ haĹĄtag oÄakĂĄva preverenie na %{instance} (#%{name})
+ aliases:
+ add_new: Vytvor alias
appearance:
advanced_web_interface: PokroÄilĂŠ webovĂŠ rozhranie
advanced_web_interface_hint: 'Ak chceĹĄ vyuĹžiĹĽ celkovĂş ĹĄĂrku tvojej obrazovky, pokroÄilĂŠ webovĂŠ rozhranie ti umoĹžĹuje nastaviĹĽ mnoho rĂ´znych stÄşpcov, aby si videl/a toÄžko informĂĄciĂ naraz, koÄžko chceĹĄ: Domov, oboznĂĄmenia, federovanĂş ÄasovĂş os, a ÄžubovolnĂ˝ poÄet zoznamov, Äi haĹĄtagov.'
@@ -619,6 +625,10 @@ sk:
return: UkĂĄĹž uĹžĂvateÄžov profil
web: Prejdi do siete
title: NĂĄsleduj %{acct}
+ challenge:
+ confirm: PokraÄuj
+ invalid_password: NesprĂĄvne heslo
+ prompt: Pre pokraÄovanie potvrÄ svoje heslo
datetime:
distance_in_words:
about_x_hours: "%{count}hod"
@@ -648,21 +658,6 @@ sk:
directory: KatalĂłg profilov
explanation: PĂĄtraj po uĹžĂvateÄžoch podÄža ich zĂĄujmov
explore_mastodon: PrebĂĄdaj %{title}
- domain_blocks:
- blocked_domains: Zoznam obmedzovaných a blokovaných domÊn
- description: Toto je zoznam serverov, ktorĂ˝ch federĂĄciu %{instance} obmedzuje, alebo neprĂjma.
- domain: DomĂŠna
- media_block: Blokovanie mĂŠdiĂ
- no_domain_blocks: "(Žiadne domÊny niesú blokovanÊ)"
- severity: ZĂĄvaĹžnosĹĽ
- severity_legend:
- media_block: MediĂĄlne sĂşbory zo servera niesĂş ani zachytĂĄvanĂŠ, ani ukladanĂŠ, Äi zobrazovanĂŠ uĹžĂvateÄžovi.
- suspension_disclaimer: VylĂşÄenĂŠ servery sa mĂ´Ĺžu obÄas dostaĹĽ k verejnĂŠmu obsahu tohto servera.
- title: ZĂĄvaĹžnosti
- show_rationale: UkĂĄĹž zdĂ´vodnenie
- silence: StĂĹĄ
- suspension: VylĂşÄenie
- title: Zoznam instanciĂ, ktorĂŠ blokuje %{instance}
domain_validator:
invalid_domain: nieje sprĂĄvny tvar domĂŠny
errors:
@@ -805,9 +800,12 @@ sk:
too_many: NemĂ´ĹžeĹĄ priloĹžiĹĽ viac ako 4 sĂşbory
migrations:
acct: prezĂ˝vka@domĂŠna novĂŠho ĂşÄtu
- currently_redirecting: 'Tvoj profil mĂĄ nastavenĂŠ presmerovanie na:'
- proceed: UloĹžiĹĽ
- updated_msg: Tvoje nastavenia pre presmerovanie ĂşÄtu boli ĂşspeĹĄne aktualizovanĂŠ!
+ cancel: ZruĹĄ presmerovanie
+ errors:
+ move_to_self: nemĂ´Ĺže to byĹĽ tvoj sĂşÄasnĂ˝ ĂşÄet
+ not_found: nebolo moĹžnĂŠ nĂĄjsĹĽ
+ past_migrations: PredoĹĄlĂŠ presuny
+ proceed_with_move: PresuĹ sledovateÄžov
moderation:
title: Moderovanie
notification_mailer:
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 47b835646b5..63eed6409dd 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -17,9 +17,6 @@ sl:
contact_unavailable: Ni na voljo
discover_users: Odkrijte uporabnike
documentation: Dokumentacija
- extended_description_html: |
-
Dober prostor za pravila
-
RazĹĄirjen opis ĹĄe ni bil nastavljen.
federation_hint_html: Z raÄunom na %{instance} boste lahko spremljali ljudi na kateremkoli Mastodon streĹžniku.
generic_description: "%{domain} je en streĹžnik v omreĹžju"
get_apps: Poskusite mobilno aplikacijo
@@ -734,9 +731,6 @@ sl:
too_many: Ni moĹžno priloĹžiti veÄ kot 4 datoteke
migrations:
acct: username@domain novega raÄuna
- currently_redirecting: 'VaĹĄ profil je preusmerjen na:'
- proceed: Shrani
- updated_msg: Nastavitev selitve raÄuna je bila uspeĹĄno posodobljena!
moderation:
title: Moderiranje
notification_mailer:
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 4e5f3729478..af180e2819c 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -9,9 +9,6 @@ sq:
contact: Kontakt
contact_missing: I parregulluar
documentation: Dokumentim
- extended_description_html: |
-
NjĂŤ vend i mirĂŤ pĂŤr rregulla
-
PĂŤrshkrimi i zgjeruar sâĂŤshtĂŤ sajuar ende.
generic_description: "%{domain} ĂŤshtĂŤ njĂŤ shĂŤrbyes te rrjeti"
hosted_on: Mastodon i strehuar nĂŤ %{domain}
learn_more: MĂŤsoni mĂŤ tepĂŤr
@@ -602,9 +599,6 @@ sq:
too_many: Sâmund tĂŤ bashkĂŤngjiten mĂŤ shumĂŤ se 4 kartela
migrations:
acct: emĂŤrpĂŤrdoruesi@pĂŤrkatĂŤsi e llogarisĂŤ sĂŤ re
- currently_redirecting: 'Profili juaj ĂŤshtĂŤ caktuar tĂŤ ridrejtojĂŤ te:'
- proceed: Ruaje
- updated_msg: Rregullimi juaj pĂŤr migrim llogarish u pĂŤrditĂŤsua me sukses!
moderation:
title: Moderim
notification_mailer:
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index 5c06242cc1c..44bae34d037 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -6,9 +6,6 @@ sr-Latn:
about_this: O instanci
contact: Kontakt
contact_missing: Nije postavljeno
- extended_description_html: |
-
Dobro mesto za pravila
-
ProĹĄireni opis koji joĹĄ nije postavljen.
generic_description: "%{domain} je server na mreĹži"
hosted_on: Mastodont hostovan na %{domain}
learn_more: Saznajte viĹĄe
@@ -381,9 +378,6 @@ sr-Latn:
too_many: Ne moĹže se prikaÄiti viĹĄe od 4 fajla
migrations:
acct: korisnik@domen novog naloga
- currently_redirecting: 'Profil Vam je podeĹĄen da preusmerava na :'
- proceed: SaÄuvaj
- updated_msg: Prebacivanje postavki VaĹĄeg naloga uspeĹĄno izmenjeno!
moderation:
title: Moderacija
notification_mailer:
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 772c04d6420..4a5d551ef56 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -9,9 +9,6 @@ sr:
contact: ĐОнŃĐ°ĐşŃ
contact_missing: ĐиŃĐľ пОŃŃавŃонО
documentation: ĐОкŃПонŃĐ°ŃиŃĐ°
- extended_description_html: |
-
+
);
}
diff --git a/app/javascript/mastodon/features/direct_timeline/containers/conversation_container.js b/app/javascript/mastodon/features/direct_timeline/containers/conversation_container.js
index bd6f6bfb017..94cef81a7d2 100644
--- a/app/javascript/mastodon/features/direct_timeline/containers/conversation_container.js
+++ b/app/javascript/mastodon/features/direct_timeline/containers/conversation_container.js
@@ -1,19 +1,74 @@
import { connect } from 'react-redux';
import Conversation from '../components/conversation';
-import { markConversationRead } from '../../../actions/conversations';
+import { markConversationRead, deleteConversation } from 'mastodon/actions/conversations';
+import { makeGetStatus } from 'mastodon/selectors';
+import { replyCompose } from 'mastodon/actions/compose';
+import { openModal } from 'mastodon/actions/modal';
+import { muteStatus, unmuteStatus, hideStatus, revealStatus } from 'mastodon/actions/statuses';
+import { defineMessages, injectIntl } from 'react-intl';
-const mapStateToProps = (state, { conversationId }) => {
- const conversation = state.getIn(['conversations', 'items']).find(x => x.get('id') === conversationId);
+const messages = defineMessages({
+ replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
+ replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
+});
- return {
- accounts: conversation.get('accounts').map(accountId => state.getIn(['accounts', accountId], null)),
- unread: conversation.get('unread'),
- lastStatusId: conversation.get('last_status', null),
+const mapStateToProps = () => {
+ const getStatus = makeGetStatus();
+
+ return (state, { conversationId }) => {
+ const conversation = state.getIn(['conversations', 'items']).find(x => x.get('id') === conversationId);
+ const lastStatusId = conversation.get('last_status', null);
+
+ return {
+ accounts: conversation.get('accounts').map(accountId => state.getIn(['accounts', accountId], null)),
+ unread: conversation.get('unread'),
+ lastStatus: lastStatusId && getStatus(state, { id: lastStatusId }),
+ };
};
};
-const mapDispatchToProps = (dispatch, { conversationId }) => ({
- markRead: () => dispatch(markConversationRead(conversationId)),
+const mapDispatchToProps = (dispatch, { intl, conversationId }) => ({
+
+ markRead () {
+ dispatch(markConversationRead(conversationId));
+ },
+
+ reply (status, router) {
+ dispatch((_, getState) => {
+ let state = getState();
+
+ if (state.getIn(['compose', 'text']).trim().length !== 0) {
+ dispatch(openModal('CONFIRM', {
+ message: intl.formatMessage(messages.replyMessage),
+ confirm: intl.formatMessage(messages.replyConfirm),
+ onConfirm: () => dispatch(replyCompose(status, router)),
+ }));
+ } else {
+ dispatch(replyCompose(status, router));
+ }
+ });
+ },
+
+ delete () {
+ dispatch(deleteConversation(conversationId));
+ },
+
+ onMute (status) {
+ if (status.get('muted')) {
+ dispatch(unmuteStatus(status.get('id')));
+ } else {
+ dispatch(muteStatus(status.get('id')));
+ }
+ },
+
+ onToggleHidden (status) {
+ if (status.get('hidden')) {
+ dispatch(revealStatus(status.get('id')));
+ } else {
+ dispatch(hideStatus(status.get('id')));
+ }
+ },
+
});
-export default connect(mapStateToProps, mapDispatchToProps)(Conversation);
+export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Conversation));
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 17c94e23cde..f4f26203e5c 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -1276,14 +1276,28 @@
&-composite {
@include avatar-radius;
+ border-radius: 50%;
overflow: hidden;
+ position: relative;
+ cursor: default;
& > div {
- @include avatar-radius;
float: left;
position: relative;
box-sizing: border-box;
}
+
+ &__label {
+ display: block;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ color: $primary-text-color;
+ text-shadow: 1px 1px 2px $base-shadow-color;
+ font-weight: 700;
+ font-size: 15px;
+ }
}
}
@@ -6383,48 +6397,57 @@ noscript {
}
}
-.layout-toggle {
+.conversation {
display: flex;
+ border-bottom: 1px solid lighten($ui-base-color, 8%);
padding: 5px;
+ padding-bottom: 0;
- button {
- box-sizing: border-box;
- flex: 0 0 50%;
- background: transparent;
- padding: 5px;
- border: 0;
- position: relative;
+ &:focus {
+ background: lighten($ui-base-color, 2%);
+ outline: 0;
+ }
- &:hover,
- &:focus,
- &:active {
- svg path:first-child {
- fill: lighten($ui-base-color, 16%);
+ &__avatar {
+ flex: 0 0 auto;
+ padding: 10px;
+ padding-top: 12px;
+ }
+
+ &__content {
+ flex: 1 1 auto;
+ padding: 10px 5px;
+ padding-right: 15px;
+
+ &__info {
+ overflow: hidden;
+ }
+
+ &__relative-time {
+ float: right;
+ font-size: 15px;
+ color: $darker-text-color;
+ padding-left: 15px;
+ }
+
+ &__names {
+ color: $darker-text-color;
+ font-size: 15px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin-bottom: 4px;
+
+ a {
+ color: $primary-text-color;
+ text-decoration: none;
+
+ &:hover,
+ &:focus,
+ &:active {
+ text-decoration: underline;
+ }
}
}
}
-
- svg {
- width: 100%;
- height: auto;
-
- path:first-child {
- fill: lighten($ui-base-color, 12%);
- }
-
- path:last-child {
- fill: darken($ui-base-color, 14%);
- }
- }
-
- &__active {
- color: $ui-highlight-color;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- background: lighten($ui-base-color, 12%);
- border-radius: 50%;
- padding: 0.35rem;
- }
}
From e87bcaa10761b73d22a6b826e8aa7eebf316bad3 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sat, 21 Sep 2019 20:02:14 +0200
Subject: [PATCH 22/81] Bump version to 3.0.0rc1 (#11900)
---
CHANGELOG.md | 4 ++++
lib/mastodon/version.rb | 18 +++++++++---------
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a17fbf8f063..d8f7c77d372 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,10 @@ Changelog
All notable changes to this project will be documented in this file.
+## Unreleased
+
+TODO
+
## [2.9.3] - 2019-08-10
### Added
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 99d709c980d..bd49f0a173d 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -5,19 +5,19 @@ module Mastodon
module_function
def major
- 2
- end
-
- def minor
- 9
- end
-
- def patch
3
end
+ def minor
+ 0
+ end
+
+ def patch
+ 0
+ end
+
def flags
- ''
+ 'rc1'
end
def suffix
From b240f7873f1ffbaf77bda715848005fadbec1701 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sat, 21 Sep 2019 20:04:43 +0200
Subject: [PATCH 23/81] New Crowdin translations (#11901)
* New translations en.json (Armenian)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations en.json (Kazakh)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.json (Ido)
[ci skip]
* New translations en.yml (Ido)
[ci skip]
* New translations doorkeeper.en.yml (Ido)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations en.json (Latvian)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.json (Lithuanian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.json (Malay)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations devise.en.yml (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations devise.en.yml (Spanish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations devise.en.yml (Korean)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations devise.en.yml (Korean)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations devise.en.yml (Persian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
---
app/javascript/mastodon/locales/cs.json | 8 +-
app/javascript/mastodon/locales/cy.json | 10 +-
app/javascript/mastodon/locales/de.json | 8 +-
app/javascript/mastodon/locales/eo.json | 68 +++++------
app/javascript/mastodon/locales/es.json | 18 +--
app/javascript/mastodon/locales/fa.json | 40 +++----
app/javascript/mastodon/locales/fr.json | 8 +-
app/javascript/mastodon/locales/ja.json | 24 ++--
app/javascript/mastodon/locales/ko.json | 8 +-
app/javascript/mastodon/locales/oc.json | 10 +-
app/javascript/mastodon/locales/pt-BR.json | 22 ++--
config/locales/cy.yml | 25 +++++
config/locales/devise.cy.yml | 12 ++
config/locales/devise.es.yml | 12 ++
config/locales/devise.fa.yml | 12 ++
config/locales/devise.fr.yml | 12 ++
config/locales/devise.ko.yml | 12 ++
config/locales/eo.yml | 14 ++-
config/locales/es.yml | 19 ++++
config/locales/fa.yml | 89 ++++++++++++++-
config/locales/fr.yml | 69 +++++++++++-
config/locales/ja.yml | 33 ++++++
config/locales/ko.yml | 21 ++++
config/locales/nl.yml | 26 ++++-
config/locales/oc.yml | 20 ++++
config/locales/pt-BR.yml | 124 +++++++++++++++++++++
config/locales/simple_form.cy.yml | 21 ++++
config/locales/simple_form.es.yml | 14 +++
config/locales/simple_form.fa.yml | 8 ++
config/locales/simple_form.fr.yml | 12 ++
config/locales/simple_form.ko.yml | 4 +
config/locales/simple_form.oc.yml | 7 ++
32 files changed, 667 insertions(+), 123 deletions(-)
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index 586ca5fd59f..e566d46cafe 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "OdpovÄzenĂm nynĂ pĹepĂĹĄete zprĂĄvu, kterou aktuĂĄlnÄ pĂĹĄete. Jste si jistĂ˝/ĂĄ, Ĺže chcete pokraÄovat?",
"confirmations.unfollow.confirm": "PĹestat sledovat",
"confirmations.unfollow.message": "jste si jistĂ˝/ĂĄ, Ĺže chcete pĹestat sledovat uĹživatele {name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Smazat konverzaci",
+ "conversation.mark_as_read": "OznaÄit jako pĹeÄtenou",
+ "conversation.open": "Zobrazit konverzaci",
+ "conversation.with": "S {names}",
"directory.federated": "Ze znĂĄmĂŠho fedivesmĂru",
"directory.local": "Pouze z {domain}",
"directory.new_arrivals": "NovÄ pĹĂchozĂ",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index c06f0fd6657..eecb43b593d 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -25,7 +25,7 @@
"account.mute": "Tawelu @{name}",
"account.mute_notifications": "Cuddio hysbysiadau o @{name}",
"account.muted": "Distewyd",
- "account.never_active": "Never",
+ "account.never_active": "Byth",
"account.posts": "TĹľtiau",
"account.posts_with_replies": "TĹľtiau ac atebion",
"account.report": "Adrodd @{name}",
@@ -63,7 +63,7 @@
"column.notifications": "Hysbysiadau",
"column.pins": "TĹľtiau wedi eu pinio",
"column.public": "Ffrwd y ffederasiwn",
- "column.status": "Toot",
+ "column.status": "TĹľt",
"column_back_button.label": "NĂ´l",
"column_header.hide_settings": "Cuddio dewisiadau",
"column_header.moveLeft_settings": "Symud y golofn i'r chwith",
@@ -101,7 +101,7 @@
"confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
"confirmations.domain_block.confirm": "Cuddio parth cyfan",
"confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
- "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.confirm": "Allgofnodi",
"confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Tawelu",
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
@@ -112,7 +112,7 @@
"confirmations.unfollow.confirm": "Dad-ddilynwch",
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
"conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
+ "conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
"conversation.open": "View conversation",
"conversation.with": "With {names}",
"directory.federated": "From known fediverse",
@@ -396,7 +396,7 @@
"upload_error.limit": "Wedi mynd heibio'r uchafswm terfyn uwchlwytho.",
"upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.",
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
- "upload_form.edit": "Edit",
+ "upload_form.edit": "Golygu",
"upload_form.undo": "Dileu",
"upload_modal.analyzing_picture": "Analyzing pictureâŚ",
"upload_modal.apply": "Apply",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 566332293b6..58392eecab0 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "Wenn du jetzt antwortest wird es die gesamte Nachricht verwerfen, die du gerade schreibst. MĂśchtest du wirklich fortfahren?",
"confirmations.unfollow.confirm": "Entfolgen",
"confirmations.unfollow.message": "Bist du dir sicher, dass du {name} entfolgen mĂśchtest?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Unterhaltung lĂśschen",
+ "conversation.mark_as_read": "Als gelesen markieren",
+ "conversation.open": "Unterhaltung anzeigen",
+ "conversation.with": "Mit {names}",
"directory.federated": "Aus dem Fediverse",
"directory.local": "Nur von {domain}",
"directory.new_arrivals": "Neue Benutzer",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 2d7fcd19bc4..ee224e9fb12 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -4,7 +4,7 @@
"account.block": "Bloki @{name}",
"account.block_domain": "KaĹi Äion de {domain}",
"account.blocked": "Blokita",
- "account.cancel_follow_request": "Nuligi peto de sekvado",
+ "account.cancel_follow_request": "Nuligi peton de sekvado",
"account.direct": "Rekte mesaÄi @{name}",
"account.domain_blocked": "Domajno kaĹita",
"account.edit_profile": "Redakti profilon",
@@ -16,14 +16,14 @@
"account.follows.empty": "Tiu uzanto ankoraĹ ne sekvas iun.",
"account.follows_you": "Sekvas vin",
"account.hide_reblogs": "KaĹi diskonigojn de @{name}",
- "account.last_status": "Lasta aktiva",
+ "account.last_status": "Laste aktiva",
"account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}",
"account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.",
"account.media": "AĹdovidaÄľoj",
"account.mention": "Mencii @{name}",
"account.moved_to": "{name} moviÄis al:",
"account.mute": "Silentigi @{name}",
- "account.mute_notifications": "Silentigi sciigojn el @{name}",
+ "account.mute_notifications": "Silentigi sciigojn de @{name}",
"account.muted": "Silentigita",
"account.never_active": "Neniam",
"account.posts": "MesaÄoj",
@@ -38,8 +38,8 @@
"account.unfollow": "Ne plu sekvi",
"account.unmute": "Malsilentigi @{name}",
"account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
- "alert.rate_limited.message": "Bonvolu reprovi poste {retry_time, time, medium}.",
- "alert.rate_limited.title": "Rate limited",
+ "alert.rate_limited.message": "Bonvolu reprovi post {retry_time, time, medium}.",
+ "alert.rate_limited.title": "MesaÄkvante limigita",
"alert.unexpected.message": "Neatendita eraro okazis.",
"alert.unexpected.title": "Ups!",
"autosuggest_hashtag.per_week": "{count} semajne",
@@ -53,7 +53,7 @@
"column.blocks": "Blokitaj uzantoj",
"column.community": "Loka tempolinio",
"column.direct": "Rektaj mesaÄoj",
- "column.directory": "Browse profiles",
+ "column.directory": "Trarigardi profilojn",
"column.domain_blocks": "KaĹitaj domajnoj",
"column.favourites": "Stelumoj",
"column.follow_requests": "Petoj de sekvado",
@@ -63,7 +63,7 @@
"column.notifications": "Sciigoj",
"column.pins": "Alpinglitaj mesaÄoj",
"column.public": "Fratara tempolinio",
- "column.status": "Toot",
+ "column.status": "MesaÄo",
"column_back_button.label": "Reveni",
"column_header.hide_settings": "KaĹi agordojn",
"column_header.moveLeft_settings": "Movi kolumnon maldekstren",
@@ -79,10 +79,10 @@
"compose_form.lock_disclaimer": "Via konta ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaÄojn, kiuj estas nur por sekvantoj.",
"compose_form.lock_disclaimer.lock": "Ĺlosita",
"compose_form.placeholder": "Pri kio vi pensas?",
- "compose_form.poll.add_option": "Aldoni elekto",
+ "compose_form.poll.add_option": "Aldoni elekteblon",
"compose_form.poll.duration": "Balotenketa daĹro",
- "compose_form.poll.option_placeholder": "elekto {number}",
- "compose_form.poll.remove_option": "Forigi Äi tiu elekton",
+ "compose_form.poll.option_placeholder": "Elekteblo {number}",
+ "compose_form.poll.remove_option": "Forigi Äi tiu elekteblon",
"compose_form.publish": "Hup",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Marki la aĹdovidaÄľojn kiel tiklaj",
@@ -92,7 +92,7 @@
"compose_form.spoiler.unmarked": "Teksto ne kaĹita",
"compose_form.spoiler_placeholder": "Skribu vian averton Äi tie",
"confirmation_modal.cancel": "Nuligi",
- "confirmations.block.block_and_report": "Bloki & Signali",
+ "confirmations.block.block_and_report": "Bloki kaj signali",
"confirmations.block.confirm": "Bloki",
"confirmations.block.message": "Äu vi certas, ke vi volas bloki {name}?",
"confirmations.delete.confirm": "Forigi",
@@ -111,14 +111,14 @@
"confirmations.reply.message": "Respondi nun anstataĹigos la mesaÄon, kiun vi nun skribas. Äu vi certas, ke vi volas daĹrigi?",
"confirmations.unfollow.confirm": "Ne plu sekvi",
"confirmations.unfollow.message": "Äu vi certas, ke vi volas Äesi sekvi {name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Forigi konversacion",
+ "conversation.mark_as_read": "Marki legita",
+ "conversation.open": "Vidi konversacion",
+ "conversation.with": "Kun {names}",
"directory.federated": "El konata fediverso",
"directory.local": "Nur de {domain}",
- "directory.new_arrivals": "Novaj veniÄoj",
- "directory.recently_active": "Recently active",
+ "directory.new_arrivals": "Novaj alvenoj",
+ "directory.recently_active": "Lastatempe aktiva",
"embed.instructions": "Enkorpigu Äi tiun mesaÄon en vian retejon per kopio de la suba kodo.",
"embed.preview": "Äi aperos tiel:",
"emoji_button.activity": "Agadoj",
@@ -170,18 +170,18 @@
"hashtag.column_settings.tag_mode.all": "Äiuj",
"hashtag.column_settings.tag_mode.any": "Iu ajn",
"hashtag.column_settings.tag_mode.none": "Neniu",
- "hashtag.column_settings.tag_toggle": "Inkluzivi pluajn etikedojn por Äi tiu kolumno",
+ "hashtag.column_settings.tag_toggle": "Aldoni pliajn etikedojn por Äi tiu kolumno",
"home.column_settings.basic": "Bazaj agordoj",
"home.column_settings.show_reblogs": "Montri diskonigojn",
"home.column_settings.show_replies": "Montri respondojn",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Tuje Äisdatigi",
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
"introduction.federation.action": "Sekva",
- "introduction.federation.federated.headline": "Federacio",
+ "introduction.federation.federated.headline": "Fratara",
"introduction.federation.federated.text": "Publikaj mesaÄoj el aliaj serviloj de la Fediverse aperos en la fratara tempolinio.",
- "introduction.federation.home.headline": "Heimo",
+ "introduction.federation.home.headline": "Hejmo",
"introduction.federation.home.text": "MesaÄoj de homoj, kiujn vi sekvas, aperos en via hejma fluo. Vi povas sekvi iun ajn de ajna servilo!",
"introduction.federation.local.headline": "Loka",
"introduction.federation.local.text": "Publikaj mesaÄoj de homoj de via servilo aperos en la loka tempolinio.",
@@ -230,7 +230,7 @@
"lightbox.close": "Fermi",
"lightbox.next": "Sekva",
"lightbox.previous": "AntaĹa",
- "lightbox.view_context": "Vidi kontekston",
+ "lightbox.view_context": "Vidi kuntekston",
"lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston",
@@ -240,12 +240,12 @@
"lists.new.title_placeholder": "Titolo de la nova listo",
"lists.search": "SerÄi inter la homoj, kiujn vi sekvas",
"lists.subheading": "Viaj listoj",
- "load_pending": "{count,plural, one {# nova ero} other {# novaj eroj}}",
+ "load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}",
"loading_indicator.label": "ĹargadoâŚ",
"media_gallery.toggle_visible": "Baskuligi videblecon",
"missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "Äi tiu elemento ne estis trovita",
- "mute_modal.hide_notifications": "Äu vi volas kaĹi la sciigojn el Äi tiu uzanto?",
+ "mute_modal.hide_notifications": "Äu vi volas kaĹi la sciigojn de Äi tiu uzanto?",
"navigation_bar.apps": "Telefonaj aplikaÄľoj",
"navigation_bar.blocks": "Blokitaj uzantoj",
"navigation_bar.community_timeline": "Loka tempolinio",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "Preferoj",
"navigation_bar.public_timeline": "Fratara tempolinio",
"navigation_bar.security": "Sekureco",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "kaj {count, plural, one {# alia} other {# aliaj}}",
"notification.favourite": "{name} stelumis vian mesaÄon",
"notification.follow": "{name} eksekvis vin",
"notification.mention": "{name} menciis vin",
@@ -339,7 +339,7 @@
"status.admin_account": "Malfermi la kontrolan interfacon por @{name}",
"status.admin_status": "Malfermi Äi tiun mesaÄon en la kontrola interfaco",
"status.block": "Bloki @{name}",
- "status.cancel_reblog_private": "Eksdiskonigi",
+ "status.cancel_reblog_private": "Ne plu diskonigi",
"status.cannot_reblog": "Äi tiu mesaÄo ne diskonigeblas",
"status.copy": "Kopii la ligilon al la mesaÄo",
"status.delete": "Forigi",
@@ -398,19 +398,19 @@
"upload_form.description": "Priskribi por misvidantaj homoj",
"upload_form.edit": "Redakti",
"upload_form.undo": "Forigi",
- "upload_modal.analyzing_picture": "Analyzing pictureâŚ",
+ "upload_modal.analyzing_picture": "Bilda analizadoâŚ",
"upload_modal.apply": "Apliki",
- "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
- "upload_modal.detect_text": "Detect text from picture",
- "upload_modal.edit_media": "Redakti aĹdvidaÄľo",
- "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.description_placeholder": "LaĹ Ludoviko Zamenhof bongustas freĹa ÄeÄĽa manÄaÄľo kun spicoj",
+ "upload_modal.detect_text": "Detekti tekston de la bildo",
+ "upload_modal.edit_media": "Redakti aĹdovidaÄľon",
+ "upload_modal.hint": "Klaku aĹ trenu la cirklon en la antaĹvidilo por elekti la fokuspunkton kiu Äiam videblos en Äiuj etigitaj bildoj.",
"upload_modal.preview_label": "AntaĹvido ({ratio})",
"upload_progress.label": "AlĹutadoâŚ",
- "video.close": "Fermi videon",
+ "video.close": "Fermi la videon",
"video.exit_fullscreen": "Eksigi plenekrana",
- "video.expand": "Grandigi videon",
+ "video.expand": "Grandigi la videon",
"video.fullscreen": "Igi plenekrana",
- "video.hide": "KaĹi videon",
+ "video.hide": "KaĹi la videon",
"video.mute": "Silentigi",
"video.pause": "PaĹzi",
"video.play": "Ekigi",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 33ee263371f..54466f1ac3c 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -38,11 +38,11 @@
"account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
- "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.message": "Por favor reintente despuĂŠs de {retry_time, time, medium}.",
"alert.rate_limited.title": "Tarifa limitada",
"alert.unexpected.message": "Hubo un error inesperado.",
"alert.unexpected.title": "ÂĄUps!",
- "autosuggest_hashtag.per_week": "{count} per week",
+ "autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la prĂłxima vez",
"bundle_column_error.body": "Algo saliĂł mal al cargar este componente.",
"bundle_column_error.retry": "IntĂŠntalo de nuevo",
@@ -111,10 +111,10 @@
"confirmations.reply.message": "Responder sobrescribirĂĄ el mensaje que estĂĄs escribiendo. ÂżEstĂĄs seguro de que deseas continuar?",
"confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "ÂżEstĂĄs seguro de que quieres dejar de seguir a {name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Borrar conversaciĂłn",
+ "conversation.mark_as_read": "Marcar como leĂdo",
+ "conversation.open": "Ver conversaciĂłn",
+ "conversation.with": "Con {names}",
"directory.federated": "Desde el fediverso conocido",
"directory.local": "SĂłlo de {domain}",
"directory.new_arrivals": "ReciĂŠn llegados",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "BĂĄsico",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Actualizar en tiempo real",
"intervals.full.days": "{number, plural, one {# dĂa} other {# dĂas}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "Preferencias",
"navigation_bar.public_timeline": "Historia federada",
"navigation_bar.security": "Seguridad",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "y {count, plural, one {# otro} other {# otros}}",
"notification.favourite": "{name} marcĂł tu estado como favorito",
"notification.follow": "{name} te empezĂł a seguir",
"notification.mention": "{name} te ha mencionado",
@@ -404,7 +404,7 @@
"upload_modal.detect_text": "Detectar texto de la imagen",
"upload_modal.edit_media": "Editar multimedia",
"upload_modal.hint": "Haga clic o arrastre el cĂrculo en la vista previa para elegir el punto focal que siempre estarĂĄ a la vista en todas las miniaturas.",
- "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_modal.preview_label": "Vista previa ({ratio})",
"upload_progress.label": "SubiendoâŚ",
"video.close": "Cerrar video",
"video.exit_fullscreen": "Salir de pantalla completa",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index c4bcf21ef16..54ab420090c 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -3,7 +3,7 @@
"account.badges.bot": "عبات",
"account.block": "٠سدŮŘŻŘłŘ§Ř˛Ű @{name}",
"account.block_domain": "ŮžŮŮاŮâŘłŘ§Ř˛Ű ŮŮ Ů ÚŰز از سعŮŘą {domain}",
- "account.blocked": "٠سدŮŘŻŘ´ŘŻŮ",
+ "account.blocked": "٠سدŮŘŻ Ř´ŘŻŮ",
"account.cancel_follow_request": "Ůغ٠دع؎Ůاست ŮžŰÚŻŰŘąŰ",
"account.direct": "ŮžŰغا٠؎ؾŮŘľŰ Ř¨Ů @{name}",
"account.domain_blocked": "دا٠ŰŮ ŮžŮŮاŮâŘ´ŘŻŮ",
@@ -16,7 +16,7 @@
"account.follows.empty": "اŰ٠ڊاعبع ŮŮŮز ŮŰÚ ÚŠŘłŰ ŘąŘ§ ŮžŰ ŮŮ ŰâÚŻŰعد.",
"account.follows_you": "ŮžŰÚŻŰŘą ش٠است",
"account.hide_reblogs": "ŮžŮŮا٠ڊعد٠بازبŮŮâŮŘ§Ű @{name}",
- "account.last_status": "Last active",
+ "account.last_status": "آ؎عŰŮ ŮؚاŮŰŘŞ",
"account.link_verified_on": "٠اŮÚŠŰŘŞ اŰŮ ŮشاŮŰ ŘŻŘą تاعŰŘŽ {date} Ř¨ŘąŘąŘłŰ Ř´ŘŻ",
"account.locked_info": "اŰŮ Řساب ŘŽŘľŮŘľŰ Ř§ŘłŘŞ. ؾاŘب اŰŮ Řساب تؾ٠ŰŮ Ů ŰâÚŻŰعد ÚŠŮ ÚŮ ÚŠŘłŰ Ů ŰâŘŞŮاŮŘŻ ŮžŰÚŻŰعش باشد.",
"account.media": "ŘšÚŠŘł Ů ŮŰŘŻŰŮ",
@@ -25,7 +25,7 @@
"account.mute": "بŰâؾدا ڊعد٠@{name}",
"account.mute_notifications": "بŰâؾداڊعد٠اؚŮاŮâŮا از ءع٠@{name}",
"account.muted": "بŰâؾداشدŮ",
- "account.never_active": "Never",
+ "account.never_active": "Ůعگز",
"account.posts": "ŮŮŘ´ŘŞŮâŮا",
"account.posts_with_replies": "ŮŮŘ´ŘŞŮâŮا ٠ٞاس؎âŮا",
"account.report": "گزاعش @{name}",
@@ -38,8 +38,8 @@
"account.unfollow": "ٞاŰا٠ٞŰÚŻŰŘąŰ",
"account.unmute": "باؾدا ڊعد٠@{name}",
"account.unmute_notifications": "باؾداڊعد٠اؚŮاŮâŮا از ءع٠@{name}",
- "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
- "alert.rate_limited.title": "Rate limited",
+ "alert.rate_limited.message": "ŮءŮا٠ٞس از {retry_time, time, medium} ŘŻŮباع٠تŮاش ÚŠŮŰŘŻ.",
+ "alert.rate_limited.title": "Ů ŘŘŻŮŘŻŰŘŞ تؚداد",
"alert.unexpected.message": "ŘŽŘˇŘ§Ű ŮžŰŘ´âبŰŮŰâŮŘ´ŘŻŮâŘ§Ű ŘąŘŽ داد.",
"alert.unexpected.title": "Ř§Ű ŮاŰ!",
"autosuggest_hashtag.per_week": "{count} ŘŻŘą ŮŮŘŞŮ",
@@ -53,7 +53,7 @@
"column.blocks": "ڊاعبعا٠٠سدŮŘŻŘ´ŘŻŮ",
"column.community": "ŮŮŘ´ŘŞŮâŮŘ§Ű Ů ŘŮŰ",
"column.direct": "ŮžŰغا٠âŮŘ§Ű ŘŽŘľŮŘľŰ",
- "column.directory": "Browse profiles",
+ "column.directory": "Ů ŘąŮŘą Ů٠اŰŮâŮا",
"column.domain_blocks": "دا٠ŰŮâŮŘ§Ű ŮžŮŮاŮâŘ´ŘŻŮ",
"column.favourites": "ٞسŮŘŻŰŘŻŮâŮا",
"column.follow_requests": "دع؎ŮاستâŮŘ§Ű ŮžŰÚŻŰŘąŰ",
@@ -63,7 +63,7 @@
"column.notifications": "اؚŮاŮâŮا",
"column.pins": "ŮŮŘ´ŘŞŮâŮŘ§Ű ŘŤŘ§Ř¨ŘŞ",
"column.public": "ŮŮŘ´ŘŞŮâŮŘ§Ű ŮŮ Ůâ؏ا",
- "column.status": "Toot",
+ "column.status": "بŮŮ",
"column_back_button.label": "بازگشت",
"column_header.hide_settings": "ŮŮŮŘŞŮ ŘŞŮظŰ٠ات",
"column_header.moveLeft_settings": "اŮŘŞŮا٠ستŮ٠ب٠عاست",
@@ -101,8 +101,8 @@
"confirmations.delete_list.message": "آŰا ŮاŮؚا٠٠ŰâŘŽŮاŮŰŘŻ اŰŮ ŮŮعست عا Ř¨ŘąŘ§Ű ŮŮ Űش٠ٞاڊ ÚŠŮŰŘŻŘ",
"confirmations.domain_block.confirm": "ŮžŮŮاŮâŘłŘ§Ř˛Ű ÚŠŮ ŘŻŘ§Ů ŰŮ",
"confirmations.domain_block.message": "آŰا ŘŹŘŻŰ ŘŹŘŻŰ Ů ŰâŘŽŮاŮŰŘŻ ڊ٠دا٠ŰŮ {domain} عا ٠سدŮŘŻ ÚŠŮŰŘŻŘ Ř¨ŰŘ´ŘŞŘą ŮŮŘŞâŮا ٠سدŮدڊعد٠Űا بŰâؾداڊعد٠ÚŮŘŻ Řساب ÚŠŘ§ŘąŘ¨ŘąŰ ŘŽŘ§Řľ ڊاŮŰ Ř§ŘłŘŞ Ů ŘŞŮŘľŰŮ Ů ŰâŘ´ŮŘŻ. ٞس از اŰ٠ڊاع ش٠ا ŮŰÚ ŮŮŘ´ŘŞŮâŘ§Ű ŘąŘ§ از اŰ٠دا٠ŰŮ ŘŻŘą ŮŮعست ŮŮŘ´ŘŞŮâŮŘ§Ű ŘšŮ ŮŮ Ű Űا اؚŮاŮâŮاŰتا٠ŮŘŽŮاŮŰŘŻ ŘŻŰŘŻ. ŮžŰÚŻŰعا٠ش٠ا از اŰ٠دا٠ŰŮ ŮŮ ŘŘ°Ů ŘŽŮاŮŘŻ Ř´ŘŻ.",
- "confirmations.logout.confirm": "Log out",
- "confirmations.logout.message": "Are you sure you want to log out?",
+ "confirmations.logout.confirm": "ŘŽŘąŮŘŹ",
+ "confirmations.logout.message": "آŰا ٠ء٠،ŮŰŘŻ ÚŠŮ Ů ŰâŘŽŮاŮŰŘŻ ؎اع؏ Ř´ŮŰŘŻŘ",
"confirmations.mute.confirm": "بŰâؾدا ÚŠŮ",
"confirmations.mute.message": "آŰا ŮاŮؚا٠٠ŰâŘŽŮاŮŰŘŻ {name} عا بŰâؾدا ÚŠŮŰŘŻŘ",
"confirmations.redraft.confirm": "ٞاڊâڊعد٠٠بازŮŮŰŘłŰ",
@@ -111,14 +111,14 @@
"confirmations.reply.message": "اگع اŮا٠ٞاس؎ ŘŻŮŰŘŻŘ ÚŰŘ˛Ű ÚŠŮ ŘŻŘą Řا٠ŮŮŘ´ŘŞŮŘ´ بŮŘŻŰŘŻ ٞاڊ ŘŽŮاŮŘŻ Ř´ŘŻ. آŰا ŮŮ Ű٠عا Ů ŰâŘŽŮاŮŰŘŻŘ",
"confirmations.unfollow.confirm": "Ůغ٠ٞŰÚŻŰŘąŰ",
"confirmations.unfollow.message": "آŰا ŮاŮؚا٠٠ŰâŘŽŮاŮŰŘŻ ب٠ٞŰÚŻŰŘąŰ Ř§Ř˛ {name} ٞاŰا٠دŮŰŘŻŘ",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
- "directory.federated": "From known fediverse",
- "directory.local": "From {domain} only",
- "directory.new_arrivals": "New arrivals",
- "directory.recently_active": "Recently active",
+ "conversation.delete": "ŘŘ°Ů ÚŻŮŘŞÚŻŮ",
+ "conversation.mark_as_read": "ŘšŮا٠تâÚŻŘ°Ř§ŘąŰ Ř¨Ů ŘšŮŮا٠؎ŮاŮŘŻŮ Ř´ŘŻŮ",
+ "conversation.open": "ŘŻŰŘŻŮ ÚŻŮŘŞÚŻŮ",
+ "conversation.with": "با {names}",
+ "directory.federated": "از سعŮŘąŮŘ§Ű Ů٠ساŰŮ",
+ "directory.local": "ŘŞŮŮا از {domain}",
+ "directory.new_arrivals": "تازŮâŮاعداŮ",
+ "directory.recently_active": "ڊاعبعا٠Ůؚا٠ا؎ŰŘą",
"embed.instructions": "Ř¨ŘąŘ§Ű ŘŹŘ§ÚŻŘ°Ř§ŘąŰ Ř§ŰŮ ŮŮŘ´ŘŞŮ ŘŻŘą ساŰŘŞ ŘŽŮدتاŮŘ ÚŠŘŻ زŰŘą عا ÚŠŮžŰ ÚŠŮŰŘŻ.",
"embed.preview": "ŮŮŘ´ŘŞŮ٠؏اگذاعŰâشد٠اŰŮ ÚŻŮŮ٠ب٠Ůظع ŘŽŮاŮŘŻ عسŰŘŻ:",
"emoji_button.activity": "ŮؚاŮŰŘŞ",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "اؾŮŰ",
"home.column_settings.show_reblogs": "Ů٠اŰŘ´ بازبŮŮâŮا",
"home.column_settings.show_replies": "Ů٠اŰŘ´ ٞاس؎âŮا",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "بŮâŘąŮزعساŮŰ ŮŘظŮâاŰ",
"intervals.full.days": "{number, plural, one {# ŘąŮز} other {# ŘąŮز}}",
"intervals.full.hours": "{number, plural, one {# ساؚت} other {# ساؚت}}",
"intervals.full.minutes": "{number, plural, one {# ŘŻŮŰŮŮ} other {# ŘŻŮŰŮŮ}}",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "تع؏ŰŘات",
"navigation_bar.public_timeline": "ŮŮŘ´ŘŞŮâŮŘ§Ű ŮŮ Ůâ؏ا",
"navigation_bar.security": "ا٠ŮŰŘŞ",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "Ů {count, plural, one {# اؚŮا٠دŰÚŻŘą} other {# اؚŮا٠دŰÚŻŘą}}",
"notification.favourite": "âŤ{name}⏠ŮŮŘ´ŘŞŮ٠ش٠ا عا ٞسŮŘŻŰŘŻ",
"notification.follow": "âŤ{name}⏠ٞŰÚŻŰŘą ش٠ا Ř´ŘŻ",
"notification.mention": "âŤ{name}⏠از ش٠ا Ůا٠بعد",
@@ -373,7 +373,7 @@
"status.show_more": "Ů٠اŰŘ´",
"status.show_more_all": "Ů٠اŰŘ´ بŰŘ´ŘŞŘą ŮŮ Ů",
"status.show_thread": "Ů٠اŰŘ´ ÚŻŮŘŞÚŻŮ",
- "status.uncached_media_warning": "Not available",
+ "status.uncached_media_warning": "Ůا٠ŮŘŹŮŘŻ",
"status.unmute_conversation": "باؾداڊعد٠گŮŘŞÚŻŮ",
"status.unpin": "بعداشت٠ŮŮŘ´ŘŞŮ٠؍ابت Ů٠اŰŮ",
"suggestions.dismiss": "ŮžŰŘ´ŮŮاد عا ŮادŰد٠بگŰŘą",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 59c9ce80031..a3b0bb3f599 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "RĂŠpondre maintenant ĂŠcrasera le message que vous ĂŞtes en train de composer. Voulez-vous vraiment continuer ?",
"confirmations.unfollow.confirm": "Ne plus suivre",
"confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name}�",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Supprimer la conversation",
+ "conversation.mark_as_read": "Marquer comme lu",
+ "conversation.open": "Afficher la conversation",
+ "conversation.with": "Avec {names}",
"directory.federated": "De la fĂŠdiverse connue",
"directory.local": "De {domain} seulement",
"directory.new_arrivals": "Nouveaux arrivants",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index e665a9f18d0..27fa7e93f5f 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -38,7 +38,7 @@
"account.unfollow": "ăăŠăăźč§Łé¤",
"account.unmute": "@{name}ăăăŽăăĽăźăă解é¤",
"account.unmute_notifications": "@{name}ăăăăăŽéçĽăĺăĺăăăăŤăă",
- "alert.rate_limited.message": "{retry_time, time, medium} ĺžăŤĺ芌čĄăăŚăă ăăă",
+ "alert.rate_limited.message": "{retry_time, time, medium} 䝼éăŤĺ芌čĄăăŚăă ăăă",
"alert.rate_limited.title": "ĺśéăŤéăăžăă",
"alert.unexpected.message": "ä¸ćăŞă¨ăŠăźăçşçăăžăăă",
"alert.unexpected.title": "ă¨ăŠăźďź",
@@ -53,7 +53,7 @@
"column.blocks": "ăăăăŻăăăŚăźăśăź",
"column.community": "ăăźăŤăŤăżă¤ă ăŠă¤ăł",
"column.direct": "ăă¤ăŹăŻăăĄăăťăźă¸",
- "column.directory": "Browse profiles",
+ "column.directory": "ăăăăŁăźăŤăčŚă",
"column.domain_blocks": "é襨示ăŤăăăăĄă¤ăł",
"column.favourites": "ăć°ăŤĺ Ľă",
"column.follow_requests": "ăăŠăăźăŞăŻă¨ăšă",
@@ -63,7 +63,7 @@
"column.notifications": "éçĽ",
"column.pins": "ĺşĺŽăăăăăĽăźă",
"column.public": "éŁĺăżă¤ă ăŠă¤ăł",
- "column.status": "Toot",
+ "column.status": "ăăĽăźă",
"column_back_button.label": "ćťă",
"column_header.hide_settings": "č¨ĺŽăé ă",
"column_header.moveLeft_settings": "ăŤăŠă ă塌ăŤç§ťĺăă",
@@ -111,11 +111,11 @@
"confirmations.reply.message": "äťčżäżĄăăă¨çžĺ¨ä˝ćä¸ăŽăĄăăťăźă¸ăä¸ć¸ăăăăžăăćŹĺ˝ăŤĺŽčĄăăžăăďź",
"confirmations.unfollow.confirm": "ăăŠăăźč§Łé¤",
"confirmations.unfollow.message": "ćŹĺ˝ăŤ{name}ăăăŽăăŠăăźă解é¤ăăžăăďź",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
- "directory.federated": "ć˘çĽăŽéŁĺĺ ¨ä˝",
+ "conversation.delete": "ăăŽăăă¨ăăĺé¤",
+ "conversation.mark_as_read": "ć˘čŞăŤăă",
+ "conversation.open": "äźčŠąă襨示ăă",
+ "conversation.with": "{names} ăäťăă",
+ "directory.federated": "ć˘çĽăŽéŁĺăă",
"directory.local": "{domain} ăŽăż",
"directory.new_arrivals": "ć°çé ",
"directory.recently_active": "ćčżăŽć´ťĺé ",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "ĺşćŹč¨ĺŽ",
"home.column_settings.show_reblogs": "ăăźăšă襨示",
"home.column_settings.show_replies": "čżäżĄčĄ¨ç¤ş",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "ăŞă˘ăŤăżă¤ă ă§ć´ć°",
"intervals.full.days": "{number}ćĽ",
"intervals.full.hours": "{number}ćé",
"intervals.full.minutes": "{number}ĺ",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "ăŚăźăśăźč¨ĺŽ",
"navigation_bar.public_timeline": "éŁĺăżă¤ă ăŠă¤ăł",
"navigation_bar.security": "ăťăăĽăŞăăŁ",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "ă¨ăăăŽäť {count, plural, one {#} other {#}}",
"notification.favourite": "{name}ăăăăăŞăăŽăăĽăźăăăć°ăŤĺ ĽăăŤçťé˛ăăžăă",
"notification.follow": "{name}ăăăŤăăŠăăźăăăžăă",
"notification.mention": "{name}ăăăăăŞăăŤčżäżĄăăžăă",
@@ -389,7 +389,7 @@
"time_remaining.moments": "ăžăăŞăçľäş",
"time_remaining.seconds": "ćŽă{number}ç§",
"trends.count_by_accounts": "{count}äşşăăăĽăźă",
- "trends.trending_now": "ăăŹăłăăżă°",
+ "trends.trending_now": "ăăŹăłă",
"ui.beforeunload": "Mastodonăăé˘ăăă¨é俥ĺăŽć稿ăŻĺ¤ąăăăžăă",
"upload_area.title": "ăăŠăă°ďźăăăăă§ă˘ăăăăźă",
"upload_button.label": "ăĄăăŁă˘ăčż˝ĺ ({formats})",
@@ -403,7 +403,7 @@
"upload_modal.description_placeholder": "ç´ ćŠăčśč˛ăŽçăŻăŽăăžăŞçŹăéŁăłčśăă",
"upload_modal.detect_text": "çťĺăăăăăšăăć¤ĺş",
"upload_modal.edit_media": "ăĄăăŁă˘ă硨é",
- "upload_modal.hint": "çťĺăăŻăŞăăŻăăăĺăăăŠăă°ăăă¨ĺ ¨ăŚăŽăľă ăă¤ăŤă§ćł¨çŽăăĺ ´ćăé¸ăśăă¨ăă§ăăžă",
+ "upload_modal.hint": "çťĺăăŻăŞăăŻăăăĺăăăŠăă°ăăă¨ĺ ¨ăŚăŽăľă ăă¤ăŤăŽä¸ĺżçšăćąşăăăă¨ăă§ăăžă",
"upload_modal.preview_label": "ăăŹăăĽăź ({ratio})",
"upload_progress.label": "ă˘ăăăăźăä¸...",
"video.close": "ĺçťăéăă",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 6f059692781..def02860bb7 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "ëľę¸ě ëŹę¸° ěí´ íěŹ ěěą ě¤ě¸ ëŠěě§ę° ëŽě´ ěěě§ëë¤. ě§ííěę˛ ěľëęš?",
"confirmations.unfollow.confirm": "ě¸íëĄě°",
"confirmations.unfollow.message": "ě ë§ëĄ {name}뼟 ě¸íëĄě°íěę˛ ěľëęš?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "ëí ěě ",
+ "conversation.mark_as_read": "ě˝ě ěíëĄ íě",
+ "conversation.open": "ëí 보기",
+ "conversation.with": "{names} ě í¨ęť",
"directory.federated": "ěë ¤ě§ ě°íŠě°ěŁźëĄëśí°",
"directory.local": "{domain}ěěë§",
"directory.new_arrivals": "ěëĄě´ ěŹëë¤",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 38f3f82c149..e3322baf4b9 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "Respondre remplaçarà lo messatge que sètz a escriure. Volètz vertadièrament contunhar�",
"confirmations.unfollow.confirm": "Quitar de sègre",
"confirmations.unfollow.message": "Volètz vertadièrament quitar de sègre {name}�",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Suprimir la conversacion",
+ "conversation.mark_as_read": "Marcar coma legida",
+ "conversation.open": "Veire la conversacion",
+ "conversation.with": "Amb {names}",
"directory.federated": "Del fediverse conegut",
"directory.local": "Solament de {domain}",
"directory.new_arrivals": "Nòus-venguts",
@@ -403,7 +403,7 @@
"upload_modal.description_placeholder": "Lo dròlle bilingße manja un yaourt de ròcs exagonals e kiwis verds farà un an mai",
"upload_modal.detect_text": "Detectar lo tèxt de lâimatge",
"upload_modal.edit_media": "Modificar lo mèdia",
- "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.hint": "Clicatz o lissatz lo cercle de lâapercebut per causir lo ponch que serĂ totjorn visible dins las vinhetas.",
"upload_modal.preview_label": "Apercebut ({ratio})",
"upload_progress.label": "MandadĂsâŚ",
"video.close": "Tampar la vidèo",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 1ee44c283c3..e1e7e2cd122 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -4,7 +4,7 @@
"account.block": "Bloquear @{name}",
"account.block_domain": "Esconder tudo de {domain}",
"account.blocked": "Bloqueado",
- "account.cancel_follow_request": "Cancel follow request",
+ "account.cancel_follow_request": "Cancelar solicitação para seguir",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "DomĂnio escondido",
"account.edit_profile": "Editar perfil",
@@ -25,7 +25,7 @@
"account.mute": "Silenciar @{name}",
"account.mute_notifications": "Silenciar notificaçþes de @{name}",
"account.muted": "Silenciado",
- "account.never_active": "Never",
+ "account.never_active": "Nunca",
"account.posts": "Toots",
"account.posts_with_replies": "Toots e respostas",
"account.report": "Denunciar @{name}",
@@ -38,11 +38,11 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "NĂŁo silenciar @{name}",
"account.unmute_notifications": "Retirar silêncio das notificaçþes vindas de @{name}",
- "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.message": "Por favor tente novamente apĂłs {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Um erro inesperado ocorreu.",
"alert.unexpected.title": "Eita!",
- "autosuggest_hashtag.per_week": "{count} per week",
+ "autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "VocĂŞ pode pressionar {combo} para ignorar este diĂĄlogo na prĂłxima vez",
"bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
"bundle_column_error.retry": "Tente novamente",
@@ -111,14 +111,14 @@
"confirmations.reply.message": "Responder agora vai sobrescrever a mensagem que vocĂŞ estĂĄ compondo. VocĂŞ tem certeza que quer continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "VocĂŞ tem certeza de que quer deixar de seguir {name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
+ "conversation.delete": "Excluir conversa",
+ "conversation.mark_as_read": "Marcar como lida",
"conversation.open": "View conversation",
"conversation.with": "With {names}",
- "directory.federated": "From known fediverse",
+ "directory.federated": "De fediverso conhecido",
"directory.local": "From {domain} only",
"directory.new_arrivals": "New arrivals",
- "directory.recently_active": "Recently active",
+ "directory.recently_active": "Reverta esta propriedade para seu valor padrĂŁo",
"embed.instructions": "Incorpore esta postagem em seu site copiando o cĂłdigo abaixo.",
"embed.preview": "Aqui estĂĄ uma previsĂŁo de como ficarĂĄ:",
"emoji_button.activity": "Atividades",
@@ -338,7 +338,7 @@
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir interface de moderação para @{name}",
"status.admin_status": "Abrir esse status na interface de moderação",
- "status.block": "Block @{name}",
+ "status.block": "Bloquear @{name}",
"status.cancel_reblog_private": "Desfazer compartilhamento",
"status.cannot_reblog": "Esta postagem nĂŁo pode ser compartilhada",
"status.copy": "Copiar o link para o status",
@@ -398,10 +398,10 @@
"upload_form.description": "Descreva a imagem para deficientes visuais",
"upload_form.edit": "Edit",
"upload_form.undo": "Remover",
- "upload_modal.analyzing_picture": "Analyzing pictureâŚ",
+ "upload_modal.analyzing_picture": "Analisando imagemâŚ",
"upload_modal.apply": "Apply",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
- "upload_modal.detect_text": "Detect text from picture",
+ "upload_modal.detect_text": "Detectar texto da imagem",
"upload_modal.edit_media": "Edit media",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preview_label": "Preview ({ratio})",
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index ece0a34a3f7..2027a7316b8 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -36,6 +36,12 @@ cy:
status_count_before: Ysgriffennwyd gan
tagline: Dilyn ffrindiau a darganfod rhai newydd
terms: Telerau gwasanaeth
+ unavailable_content: Cynnwys nad yw ar gael
+ unavailable_content_description:
+ reason: 'Rheswm:'
+ rejecting_media: Ni fydd ffeiliau cyfryngau o'r gweinydd hwn yn cael eu prosesu ac ni fydd unrhyw fawd yn cael eu harddangos, sy'n gofyn am glicio â llaw i'r gweinydd arall.
+ silenced: Ni fydd swyddi o'r gweinydd hwn yn ymddangos yn unman heblaw eich porthiant cartref os dilynwch yr awdur.
+ unavailable_content_html: Yn gyffredinol, mae Mastodon yn caniatåu ichi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.
user_count_after:
few: defnyddwyr
many: defnyddwyr
@@ -62,6 +68,7 @@ cy:
media: Cyfryngau
moved_html: 'Mae %{name} wedi symud i %{new_profile_link}:'
network_hidden: Nid yw'r wybodaeth hyn ar gael
+ never_active: Peidiwch byth
nothing_here: Does dim byd yma!
people_followed_by: Pobl y mae %{name} yn ei ddilyn
people_who_follow: Pobl sy'n dilyn %{name}
@@ -235,6 +242,7 @@ cy:
copied_msg: Llwyddwyd i greu copi lleol o'r emoji
copy: CopĂŻo
copy_failed_msg: Methwyd i greu copi lleol o'r emoji hwnnw
+ create_new_category: Create new category
created_msg: Llwyddwyd i greu emoji!
delete: Dileu
destroyed_msg: Llwyddwyd i ddinistrio emojo!
@@ -251,6 +259,7 @@ cy:
shortcode: Byrgod
shortcode_hint: O leiaf 2 nodyn, dim ond nodau alffaniwmerig a tanlinellau
title: Emoji unigryw
+ uncategorized: Heb gategori
unlisted: Heb eu rhestru
update_failed_msg: Methwyd a diweddaru'r emoji hwnnw
updated_msg: Llwyddwyd i ddiweddaru'r emoji!
@@ -263,10 +272,13 @@ cy:
feature_profile_directory: Cyfeiriadur proffil
feature_registrations: Cofrestriadau
feature_relay: RelĂĄi ffederasiwn
+ feature_spam_check: Gwrth-sbam
feature_timeline_preview: Rhagolwg o'r ffrwd
features: Nodweddion
hidden_service: Ffederasiwn a gwasanaethau cudd
open_reports: adroddiadau agored
+ pending_tags: hashnodau yn aros am adolygiad
+ pending_users: defnyddwyr yn aros am adolygiad
recent_users: Defnyddwyr diweddar
search: Chwilio testun llawn
single_user_mode: Modd un defnyddiwr
@@ -293,6 +305,8 @@ cy:
silence: Tawelwch
suspend: Atal
title: Blocio parth newydd
+ private_comment: Sylw preifat
+ public_comment: Sylw cyhoeddus
reject_media: Gwrthod dogfennau cyfryngau
reject_media_hint: Dileu dogfennau cyfryngau wedi eu cadw yn lleol ac yn gwrthod i lawrlwytho unrhyw rai yn y dyfodol. Amherthnasol i ataliadau
reject_reports: Gwrthod adroddiadau
@@ -343,6 +357,8 @@ cy:
all: Pob
limited: Gyfyngedig
title: Goruwchwyliad
+ private_comment: Sylw preifat
+ public_comment: Sylw cyhoeddus
title: Ffederasiwn
total_blocked_by_us: Wedi'i bloc gan ni
total_followed_by_them: Yn dilyn ganynt
@@ -420,6 +436,8 @@ cy:
custom_css:
desc_html: Addasu gwedd gyda CSS wedi lwytho ar bob tudalen
title: CSS wedi'i addasu
+ domain_blocks:
+ all: I bawb
hero:
desc_html: Yn cael ei arddangos ar y dudadlen flaen. Awgrymir 600x100px oleia. Pan nad yw wedi ei osod, mae'n ymddangos fel mân-lun yr achos
title: Delwedd arwr
@@ -491,7 +509,12 @@ cy:
title: Statysau cyfrif
with_media: A chyfryngau
tags:
+ context: Cyd-destun
+ last_active: Yn weithredol ddiwethaf
+ name: Hashnod
+ reviewed: Wedi'i adolygu
title: Hashnodau
+ unreviewed: Heb ei adolygu
title: Gweinyddiaeth
warning_presets:
add_new: Ychwanegu newydd
@@ -725,6 +748,8 @@ cy:
too_many: Ni ellir ychwanegu mwy na 4 dogfen
migrations:
acct: enwdefnyddiwr@parth y cyfrif newydd
+ errors:
+ not_found: ni ellid dod o hyd iddo
moderation:
title: Goruwchwyliad
notification_mailer:
diff --git a/config/locales/devise.cy.yml b/config/locales/devise.cy.yml
index 727c7146449..e5366f8cdf0 100644
--- a/config/locales/devise.cy.yml
+++ b/config/locales/devise.cy.yml
@@ -46,6 +46,18 @@ cy:
extra: Os na wnaethoch gais am hyn, anwybyddwch yr e-bost hwn os gwelwch yn dda. Ni fydd eich cyfrinair yn newid nes i chi fynd at y ddolen uchod a chreu un newydd.
subject: 'Mastodon: Ailosod cyfarwyddiadau cyfrinair'
title: Ailosod cyfrinair
+ two_factor_disabled:
+ explanation: Mae dilysu dau ffactor ar gyfer eich cyfrif wedi'i anablu. Mae mewngofnodi bellach yn bosibl gan ddefnyddio cyfeiriad e-bost a chyfrinair yn unig.
+ subject: 'Mastodon: Dilysu dau ffactor yn anabl'
+ title: Dilysu dau ffactor yn anabl
+ two_factor_enabled:
+ explanation: Mae dilysu dau ffactor wedi'i alluogi ar gyfer eich cyfrif. Bydd angen tocyn a gynhyrchir gan yr ap TOTP pâr i fewngofnodi.
+ subject: 'Mastodon: mae dilysu dau ffactor wedi''i alluogi'
+ title: Mae dilysu dau ffactor wedi'i alluogi
+ two_factor_recovery_codes_changed:
+ explanation: Mae'r codau adfer blaenorol wedi'u hannilysu a chynhyrchwyd rhai newydd.
+ subject: 'Mastodon: Mae codau adfer dau ffactor wedi''u hadfywio'
+ title: Newidiodd codau adfer 2FA
unlock_instructions:
subject: 'Mastodon: Cyfarwyddiadau datgloi'
omniauth_callbacks:
diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml
index 8210415f21b..80d43809233 100644
--- a/config/locales/devise.es.yml
+++ b/config/locales/devise.es.yml
@@ -46,6 +46,18 @@ es:
extra: Si no solicitaste esto, por favor ignora este correo. Tu contraseĂąa no cambiarĂĄ hasta que tu accedas al vinculo arriba y crees una nueva.
subject: 'Mastodon: Instrucciones para reiniciar contraseĂąa'
title: Reiniciar contraseĂąa
+ two_factor_disabled:
+ explanation: La autenticaciĂłn de dos factores para tu cuenta ha sido deshabilitada. Ahora puedes conectarte solamente usando la direcciĂłn de correo electrĂłnico y la contraseĂąa.
+ subject: 'Mastodon: La autenticaciĂłn de dos factores estĂĄ deshabilitada'
+ title: 2FA desactivada
+ two_factor_enabled:
+ explanation: La autenticaciĂłn de dos factores para tu cuenta ha sido habilitada. Se requiere un token generado por la aplicaciĂłn TOTP emparejada para ingresar.
+ subject: 'Mastodon: La autenticaciĂłn de dos factores estĂĄ habilitada'
+ title: 2FA activada
+ two_factor_recovery_codes_changed:
+ explanation: Los cĂłdigos de recuperaciĂłn previos han sido invalidados y se generaron cĂłdigos nuevos.
+ subject: 'Mastodon: Los cĂłdigos de recuperaciĂłn de dos factores fueron regenerados'
+ title: CĂłdigos de recuperaciĂłn 2FA cambiados
unlock_instructions:
subject: 'Mastodon: Instrucciones para desbloquear'
omniauth_callbacks:
diff --git a/config/locales/devise.fa.yml b/config/locales/devise.fa.yml
index 963572e6b47..0954c8484b9 100644
--- a/config/locales/devise.fa.yml
+++ b/config/locales/devise.fa.yml
@@ -46,6 +46,18 @@ fa:
extra: اگع ش٠ا ÚŮŰ٠دع؎ŮŘ§ŘłŘŞŰ ŮڊعدŰŘŻŘ ŮءŮا٠اŰ٠اŰŮ Ű٠عا ŮادŰد٠بگŰŘąŰŘŻ. تا ز٠اŮŰ ÚŠŮ Ř´Ů Ř§ ŮžŰŮŮŘŻ باŮا عا باز ŮÚŠŮŰŘŻ ٠ع٠ز تازŮâŘ§Ű ŮسازŰŘŻŘ ŘąŮ Ř˛ ش٠ا ŘšŮŘś ŮŘŽŮاŮŘŻ Ř´ŘŻ.
subject: '٠استدŮŮ: عاŮŮ٠اŰŰ Ř¨ŘąŘ§Ű Ř¨Ř§Ř˛ŮشاŮŰ ŘąŮ Ř˛'
title: بازŮشاŮŰ ŘąŮ Ř˛
+ two_factor_disabled:
+ explanation: ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű Ř¨ŘąŘ§Ű Řساب ش٠ا ŘşŰŘąŮؚا٠شد٠است. از اŮا٠٠ŰâŘŞŮاŮŰŘŻ ŘŞŮŮا با ŮشاŮŰ Ř§ŰŮ Ű٠٠ع٠ز Ůاعد Řساب ŘŽŮŘŻ Ř´ŮŰŘŻ.
+ subject: '٠استدŮŮ: ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű Ůؚا٠ŮŰست'
+ title: ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű ŘşŰŘąŮؚاŮ
+ two_factor_enabled:
+ explanation: ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű Ř¨ŘąŘ§Ű Řساب ش٠ا Ůؚا٠شد٠است. Ř¨ŘąŘ§Ű ŮŘąŮŘŻ Ř¨Ů ÚŠŘŻŰ ŮŰاز ŘŽŮاŮŰŘŻ داشت ÚŠŮ Ůع٠âاŮزاع TOTP از ŮžŰŘ´ ŘŞŮظŰ٠شد٠بعاŰتا٠٠Űâسازد.
+ subject: '٠استدŮŮ: ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű Ůؚا٠است'
+ title: ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű ŮؚاŮ
+ two_factor_recovery_codes_changed:
+ explanation: ÚŠŘŻŮŘ§Ű Ř¨Ř§Ř˛ŰŘ§Ř¨Ű ŮبŮŰ Ůا٠ؚتبع Ř´ŘŻŮâاŮŘŻ Ů ÚŠŘŻŮŘ§Ű ŘŞŘ§Ř˛ŮâŘ§Ű ŘłŘ§ŘŽŘŞŮ Ř´ŘŻŮâاŮŘŻ.
+ subject: '٠استدŮŮ: ÚŠŘŻŮŘ§Ű Ř¨Ř§Ř˛ŰŘ§Ř¨Ű Ř¨ŘąŘ§Ű ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű ŘŻŮباع٠سا؎ت٠شدŮŘŻ'
+ title: ÚŠŘŻŮŘ§Ű ŮŘąŮŘŻ ŘŻŮŮ ŘąŘŮŮâŘ§Ű ŘŞŘşŰŰŘą ڊعد
unlock_instructions:
subject: '٠استدŮŮ: عاŮŮ٠اŰŰ Ř¨ŘąŘ§Ű Ř¨Ř§Ř˛ÚŠŘąŘŻŮ ŮŮŮ'
omniauth_callbacks:
diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml
index 321e72f4ad0..dc89b478b1a 100644
--- a/config/locales/devise.fr.yml
+++ b/config/locales/devise.fr.yml
@@ -46,6 +46,18 @@ fr:
extra: Si vous ne lâavez pas demandĂŠ, veuillez ignorer ce courriel. Votre mot de passe ne changera pas tant que vous nâaurez pas cliquĂŠ sur le lien ci-dessus et que vous nâen aurez pas crĂŠĂŠ un nouveau.
subject: 'Mastodon : Instructions pour changer votre mot de passe'
title: RĂŠinitialisation du mot de passe
+ two_factor_disabled:
+ explanation: L'authentification Ă deux facteurs pour votre compte a ĂŠtĂŠ dĂŠsactivĂŠe. La connexion est maintenant possible en utilisant uniquement l'adresse courriel et le mot de passe.
+ subject: 'Mastodon : authentification Ă deux facteurs dĂŠsactivĂŠe'
+ title: 2FA dĂŠsactivĂŠe
+ two_factor_enabled:
+ explanation: L'authentification Ă deux facteurs a ĂŠtĂŠ activĂŠe pour votre compte. Un jeton gĂŠnĂŠrĂŠ par l'application appariĂŠe TOTP sera nĂŠcessaire pour vous connecter.
+ subject: 'Mastodon : authentification Ă deux facteurs activĂŠe'
+ title: A2F activĂŠe
+ two_factor_recovery_codes_changed:
+ explanation: Les codes de rĂŠcupĂŠration prĂŠcĂŠdents ont ĂŠtĂŠ invalidĂŠs et de nouveaux sont gĂŠnĂŠrĂŠs.
+ subject: 'Mastodon : codes de rĂŠcupĂŠration Ă deux facteurs rĂŠ-gĂŠnĂŠrĂŠs'
+ title: Codes de rĂŠcupĂŠration 2FA modifiĂŠs
unlock_instructions:
subject: 'Mastodon : Instructions pour dÊverrouiller votre compte'
omniauth_callbacks:
diff --git a/config/locales/devise.ko.yml b/config/locales/devise.ko.yml
index f48531246e1..63072340cf9 100644
--- a/config/locales/devise.ko.yml
+++ b/config/locales/devise.ko.yml
@@ -46,6 +46,18 @@ ko:
extra: ë§ě˝ ëšě ě´ ěëí ę˛ě´ ěëëźëŠ´ ě´ ëŠěźě 돴ěí´ ěŁźě¸ě. ě ë§íŹëĽź í´ëŚí´ í¨ě¤ěë뼟 ěëĄ ě¤ě í기 ě ęšě§ë í¨ě¤ěëę° ë°ëě§ ěěľëë¤.
subject: 'ë§ě¤í ë: í¨ě¤ěë ěŹě¤ě ë°Šë˛'
title: í¨ě¤ěë ěŹě¤ě
+ two_factor_disabled:
+ explanation: ëšě ě ęłě ě ě¤ě ë ě´ě¤ ě¸ěŚě´ ëšíěąí ëěěľëë¤. ě´ě ě´ëŠěźęłź ëšë°ë˛í¸ë§ěźëĄ ëĄęˇ¸ě¸ě´ ę°ëĽíŠëë¤.
+ subject: 'ë§ě¤í ë: ě´ě¤ ě¸ěŚ ëšíěąí'
+ title: 2FA ëšíěąí
+ two_factor_enabled:
+ explanation: ëšě ě ęłě ě ě´ě¤ ě¸ěŚě´ íěąíëěěľëë¤. ëĄęˇ¸ě¸ě ěí´ íě´ë§ë T-OTP ěąěě ěěąë í í°ě´ íěíŠëë¤.
+ subject: 'ë§ě¤í ë: ě´ě¤ ě¸ěŚ íěąí'
+ title: 2FA íěąí
+ two_factor_recovery_codes_changed:
+ explanation: ě´ě 볾꾏 ě˝ëę° ëŹ´í¨íëě´ ě ě˝ëę° ěěąëěěľëë¤
+ subject: 'ë§ě¤í ë: ě´ě¤ ě¸ěŚ 볾꾏 ě˝ë ěŹěěąë¨'
+ title: 2FA 볾꾏 ě˝ë ëłę˛˝ë¨
unlock_instructions:
subject: 'ë§ě¤í ë: ě ę¸ í´ě ë°Šë˛'
omniauth_callbacks:
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 62001683034..ae8ea325657 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -1,7 +1,7 @@
---
eo:
about:
- about_hashtag_html: Äi tiuj estas la publikaj fajfoj markitaj per #%{hashtag}. Vi povas interagi kun ili se vi havas konton ie ajn en la fediverse.
+ about_hashtag_html: Äi tiuj estas la publikaj mesaÄoj markitaj per #%{hashtag}. Vi povas interagi kun ili se vi havas konton ie ajn en la fediverse.
about_mastodon_html: Mastodon estas socia reto bazita sur malfermitaj retaj protokoloj kaj sur libera malfermitkoda programo. Äi estas sencentra kiel retmesaÄoj.
about_this: Pri
active_count_after: aktiva
@@ -21,6 +21,9 @@ eo:
generic_description: "%{domain} estas unu servilo en la reto"
get_apps: Provu telefonan aplikaÄľon
hosted_on: "%{domain} estas nodo de Mastodon"
+ instance_actor_flash: |
+ Äi tiu konto estas virtuala ulo uzata por reprezenti la servilon mem kaj ne iun apartan uzanton.
+ Äi estas uzata por frataraj celoj kaj Äi ne devus esti blokita krom se vi volas bloki la tutan servilon, tiuokaze vi devus uzi domajnan blokadon.
learn_more: Lerni pli
privacy_policy: Privateca politiko
see_whats_happening: Vidi kio okazas
@@ -32,6 +35,9 @@ eo:
status_count_before: Kie skribiÄis
tagline: Sekvi amikojn kaj trovi novan onin
terms: UzkondiÄoj
+ unavailable_content: Nedisponebla enhavo
+ unavailable_content_description:
+ reason: 'Kialo:'
user_count_after:
one: uzanto
other: uzantoj
@@ -482,7 +488,7 @@ eo:
back_to_account: Reveni al konta paÄo
batch:
delete: Forigi
- nsfw_off: Marki ne tikla
+ nsfw_off: Marki netikla
nsfw_on: Marki tikla
deleted: Forigita
failed_to_execute: Ekigo malsukcesa
@@ -521,6 +527,7 @@ eo:
subject: Nova kradvorto kontrolebla en %{instance} (#%{name})
appearance:
advanced_web_interface: Altnivela retpaÄa interfaco
+ advanced_web_interface_hint: 'Se vi volas uzi la tutan larÄecon de via ekrano, la kompleksa reta interfaco permesas al vi agordi multajn malsamajn kolumnojn por vidi tiom da informoj kiom vi volas samtempe: Hejmo, sciigoj, fratara tempolinio, kaj ajna kvanto de listoj kaj kradvortoj.'
animations_and_accessibility: Animacioj kaj alirebleco
confirmation_dialogs: Konfirmaj fenestroj
sensitive_content: Tikla enhavo
@@ -642,6 +649,7 @@ eo:
add_new: Aldoni novan
errors:
limit: Vi jam elstarigis la maksimuman kvanton da kradvortoj
+ hint_html: "Kio estas la trajtaj kradvortoj? Ili bone videblas en via publika profilo kaj permesas al homoj trarigardi viajn publikajn mesaÄojn specife laĹ tiuj kradvortoj. Ili estas bonaj iloj por sekvi la evoluon de kreadaj laboroj aĹ longdaĹraj projektoj."
filters:
contexts:
home: Hejma templinio
@@ -673,7 +681,7 @@ eo:
one: Io mise okazis! Bonvolu konsulti la suban erar-raporton
other: Io mise okazis! Bonvolu konsulti la subajn %{count} erar-raportojn
html_validator:
- invalid_markup: 'havas malvalida HTML markado: %{error}'
+ invalid_markup: 'havas nevalidan HTML-markadon: %{error}'
identity_proofs:
active: Aktiva
authorize: Jes, permesi
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 3703f92ff54..ef22c7b8278 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -35,6 +35,13 @@ es:
status_count_before: QuĂŠ han escrito
tagline: Seguir a amigos existentes y descubre nuevos
terms: Condiciones de servicio
+ unavailable_content: Contenido no disponible
+ unavailable_content_description:
+ reason: 'Motivo:'
+ rejecting_media: Los archivos multimedia de este servidor no serĂĄn procesados y no se mostrarĂĄn miniaturas, lo que requiere un clic manual en el otro servidor.
+ silenced: Las publicaciones de este servidor no se mostrarĂĄn en ningĂşn lugar salvo en el Inicio si sigues al autor.
+ suspended: No podrĂĄs seguir a nadie de este servidor, y ningĂşn dato de este serĂĄ procesado o almacenado, y no se intercambiarĂĄn datos.
+ unavailable_content_html: Mastodon generalmente le permite ver contenido e interactuar con usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.
user_count_after:
one: usuario
other: usuarios
@@ -42,6 +49,8 @@ es:
what_is_mastodon: "ÂżQuĂŠ es Mastodon?"
accounts:
choices_html: 'Elecciones de %{name}:'
+ endorsements_hint: Puedes recomendar a gente que sigues desde la interfaz web, y aparecerĂĄn allĂ.
+ featured_tags_hint: Puede presentar hashtags especĂficos que se mostrarĂĄn aquĂ.
follow: Seguir
followers:
one: Seguidor
@@ -225,6 +234,7 @@ es:
copied_msg: Copia local del emoji creada con ĂŠxito
copy: Copiar
copy_failed_msg: No se pudo realizar una copia local de ese emoji
+ create_new_category: Crear una nueva categorĂa
created_msg: "ÂĄEmoji creado con ĂŠxito!"
delete: Borrar
destroyed_msg: "ÂĄEmojo destruido con ĂŠxito!"
@@ -420,6 +430,9 @@ es:
custom_css:
desc_html: Modificar el aspecto con CSS cargado en cada pĂĄgina
title: CSS personalizado
+ domain_blocks:
+ all: A todos
+ disabled: A nadie
hero:
desc_html: Mostrado en la pĂĄgina principal. Recomendable al menos 600x100px. Por defecto se establece a la miniatura de la instancia
title: Imagen de portada
@@ -503,6 +516,10 @@ es:
context: Contexto
directory: En el directorio
in_directory: "%{count} en el directorio"
+ last_active: Ăltima actividad
+ most_popular: MĂĄs popular
+ most_recent: MĂĄs reciente
+ name: Hashtag
review: Estado de revisiĂłn
reviewed: Revisado
title: Etiquetas
@@ -595,6 +612,8 @@ es:
return: Regresar al perfil del usuario
web: Ir al sitio web
title: Seguir a %{acct}
+ challenge:
+ confirm: Continuar
datetime:
distance_in_words:
about_x_hours: "%{count}h"
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 73933416479..b19cd4c96cd 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -35,6 +35,13 @@ fa:
status_count_before: ÚŠŮ ŘŻŘą ÚŠŮاع ŮŮ
tagline: با ŘŻŮستا٠؎ŮŘŻ ŘŻŘą اعتباء باشŰŘŻ Ů ŘŻŮستا٠تاز٠ٞŰدا ÚŠŮŰŘŻ
terms: شعاŰء ڊاعبعŰ
+ unavailable_content: Ů ŘŘŞŮŘ§Ű Ůا٠ŮŘŹŮŘŻ
+ unavailable_content_description:
+ reason: 'ŘŻŮŰŮ:'
+ rejecting_media: تؾاŮŰŘą Ůعستاد٠شد٠از س٠ت اŰ٠سعŮŘą ٞعدازش ŮŘŽŮاŮŘŻ Ř´ŘŻ Ů ŮŰÚ ŘŞŘľŮŰŘą ÚŠŮÚÚŠŰ Ř§Ř˛ آŮâŮا ŘŻŘą اŰŮâ؏ا Ů٠اŰŘ´ ŮŘŽŮاŮŘŻ ŰاŮŘŞŘ Ů Ř˘ŮâŮا عا باŰŘŻ ٠ستŮŰ٠ا٠دع آ٠سعŮŘą ببŰŮŰŘŻ.
+ silenced: ŮŰÚ ÚŠŘŻŘ§Ů Ř§Ř˛ ŮŮŘ´ŘŞŮâŮا از ءع٠اŰ٠سعŮŘą اŰŮâ؏ا Ů٠اŰŘ´ ŮŘŽŮاŮŮŘŻ ŰاŮŘŞ Ů ÚŻŘą ŘŻŘą ŮŮعست ŮžŰÚŻŰŘąŰâŮا Ř´Ů Ř§Ř Ř§ÚŻŘą ŮŮŰŘłŮŘŻŮâاش عا ŮžŰ Ř¨ÚŻŰŘąŰŘŻ.
+ suspended: ش٠ا ŮŮ ŰâŘŞŮاŮŰŘŻ ŮŰÚ ÚŠŘŻŘ§Ů Ř§Ř˛ ڊاعبعŮŘ§Ű Ř§Ű٠سعŮŘą عا ŮžŰ Ř¨ÚŻŰŘąŰŘŻŘ Ů ŮŰÚ ŘŻŘ§ŘŻŮâŘ§Ű Ř§Ř˛ ءع٠اŰ٠سعŮŘą ٞعدازش Űا Ř°ŘŽŰع٠Űا ٠بادŮŮ ŮŘŽŮاŮŘŻ Ř´ŘŻ.
+ unavailable_content_html: ٠استدŮŮ ŘŻŘą ŘاŮŘŞ ÚŠŮŰ Ř§ŘŹŘ§Ř˛Ů Ů ŰâŘŻŮŘŻ ڊ٠ش٠ا ŮŮ Ů٠٠ءاŮب ٠ڊاعبعا٠دع سعŮŘąŮŘ§Ű ŘŻŰÚŻŘą عا ŮŰز ببŰŮŰŘŻ ٠با آŮâŮا بعŮŮ âÚŠŮŘ´ داشت٠باشŰŘŻ. ŮŮعست زŰŘą ŮŮŰ Ř§ŘłŘŞŘŤŮاŮŘ§Ű Ř§Ű٠اعتباء است ڊ٠ب٠ءŮŘą ؎اؾ ŘąŮŰ Ř§Ű٠سعŮŘą اؚ٠ا٠شدŮâاŮŘŻ.
user_count_after:
one: ڊاعبع
other: ڊاعبع
@@ -55,6 +62,7 @@ fa:
media: ŘšÚŠŘł Ů ŮŰŘŻŰŮ
moved_html: "%{name} Řساب ŘŽŮŘŻ عا ب٠%{new_profile_link} Ů ŮŘŞŮ٠ڊعد٠است:"
network_hidden: اŰ٠اءŮاؚات ŘŻŘą دستعس ŮŰست
+ never_active: Ůعگز
nothing_here: اŰŮâ؏ا ÚŰŘ˛Ű ŮŰست!
people_followed_by: ڊساŮŰ ÚŠŮ %{name} ŮžŰ Ů ŰâÚŻŰعد
people_who_follow: ڊساŮŰ ÚŠŮ %{name} عا ŮžŰ Ů ŰâÚŻŰŘąŮŘŻ
@@ -221,10 +229,12 @@ fa:
deleted_status: "(بŮ٠ٞاڊâŘ´ŘŻŮ)"
title: ŘłŰاŮŮ٠بازعسŰ
custom_emojis:
+ assign_category: ŘŞŘšŰŰ٠دستŮ
by_domain: دا٠ŰŮ
copied_msg: Ůس؎ŮŮ Ů ŘŮŰ Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ سا؎ت٠شد
copy: Ůس؎ŮâبعداعŰ
copy_failed_msg: ŮŘ´ŘŻ ÚŠŮ Ůس؎ŮŮ Ů ŘŮŰ Ř§ŰŮ Ř´ÚŠŮÚŠ سا؎ت٠شŮŘŻ
+ create_new_category: سا؎ت٠دستŮ٠تازŮ
created_msg: اŰŮ Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ سا؎ت٠شد!
delete: ٞاڊ ڊعدŮ
destroyed_msg: اŰŮ Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ ٞاڊ Ř´ŘŻ!
@@ -241,11 +251,13 @@ fa:
shortcode: ÚŠŘŻ ÚŠŮتاŮ
shortcode_hint: دستâڊ٠۲ ŮŮŰس٠٠تŮŮا شا٠٠ŘŘąŮŮŘ Ř§ŘšŘŻŘ§ŘŻ ٠زŰع؎ء
title: Ř´ÚŠŮÚŠâŮŘ§Ű ŘłŮاعشŰ
+ uncategorized: دستŮâبŮŘŻŰ ŮŘ´ŘŻŮ
unlisted: ŮŮعستâŮŘ´ŘŻŮ
update_failed_msg: اŰŮ Ř´ÚŠŮÚŠ ŮŘŞŮاŮست بŮâŘąŮز Ř´ŮŘŻ
updated_msg: Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ بŮâŘąŮز Ř´ŘŻ!
upload: باعگذاعŰ
dashboard:
+ authorized_fetch_mode: ŘاŮŘŞ ŘŻŘąŰاŮŘŞ ٠؏ازشدŮ
backlog: ڊاعŮŘ§Ű Ř¨Ř§ŮŰ٠اŮŘŻŮ
config: ŮžŰڊعبŮŘŻŰ
feature_deletions: ŘسابâŮŘ§Ű ŘŘ°ŮâŘ´ŘŻŮ
@@ -419,6 +431,9 @@ fa:
custom_css:
desc_html: ظاŮŘą ٠استدŮ٠عا با CSS-Ř§Ű ÚŠŮ ŘŻŘą ŮŮ ŮŮ ŘľŮŘŮâŮا ŘŹŘ§ŘłŘ§Ř˛Ű Ů ŰâŘ´ŮŘŻ ŘŞŘşŰŰŘą ŘŻŮŰŘŻ
title: سبڊ CSS ŘłŮاعشŰ
+ default_noindex:
+ desc_html: ŘąŮŰ ŮŮ Ů٠ڊاعبعاŮŰ ÚŠŮ Ř§ŰŮ ŘŞŮظŰ٠عا ŘŽŮدشا٠تغŰŰŘą ŮدادŮâاŮŘŻ ŘŞŘŁŘŤŰŘą Ů Űâگذاعد
+ title: دع؎Ůاست ŮžŰŘ´âŮع؜ از ŘˇŘąŮ ÚŠŘ§ŘąŘ¨ŘąŘ§Ů Ř¨ŘąŘ§Ű Ř¸Ř§ŮŘą ŮŘ´ŘŻŮ ŘŻŘą ŮتاŰŘŹ Ů ŮŘŞŮŘąŮŘ§Ű ŘŹŘłŘŞŘŹŮÚŻŘą
domain_blocks:
all: Ř¨ŘąŘ§Ű ŮŮ Ů
disabled: Ř¨ŘąŘ§Ű ŮŰÚâڊداŮ
@@ -510,6 +525,10 @@ fa:
context: ز٠ŰŮŮ
directory: ŘŻŘą ŮŮعست
in_directory: "%{count} ŘŻŘą ŮŮعست"
+ last_active: آ؎عŰŮ ŮؚاŮŰŘŞ
+ most_popular: Ů ŘبŮبâŘŞŘąŰŮ
+ most_recent: تازŮâŘŞŘąŰŮ
+ name: بعÚسب
review: Ů؜ؚŰŘŞ بازبŰŮŰ
reviewed: بازبŰŮŰ Ř´ŘŻŮ
title: بعÚسبâŮا
@@ -535,6 +554,12 @@ fa:
new_trending_tag:
body: 'بعÚسب #%{name} ا٠عŮز ٞعءعŮداع Ř§ŘłŘŞŘ ŮŮŰ ŘŞŘ§ ŘاŮا بازبŰŮŰ ŮŘ´ŘŻŮ. تا ŮŮŘŞŰ ÚŠŮ Ř´Ů Ř§ ا؏از٠ŮدادŮâاŰŘŻŘ Ř§Ű٠بعÚسب ب٠ءŮŘą ؚ٠ŮŮ Ű Ů٠اŰŘ´ داد٠ŮŘŽŮاŮŘŻ Ř´ŘŻ. اگع Ůع٠عا ب٠شڊ٠ŮŘšŮŰ Ř°ŘŽŰع٠ڊŮŰŘŻŘ ŮŰÚ ŮŮŘŞ ÚŰŘ˛Ű ŘŻŘąŘ¨Ř§ŘąŮ٠اŰ٠بعÚسب ŮŘŽŮاŮŰŘŻ ŘŻŰŘŻ.'
subject: بعÚسب تازŮâŘ§Ű ŘŻŘą %{instance} ŮŰاز٠ŮŘŻ Ř¨ŘąŘąŘłŰ Ř§ŘłŘŞ (#%{name})
+ aliases:
+ add_new: سا؎ت٠Ůا٠٠ستؚاع
+ created_msg: Ůا٠٠ستؚاع تاز٠با Ů ŮŮŮŰŘŞ سا؎ت٠شد. اŮا٠٠ŰâŘŞŮاŮŰŘŻ اŮŘŞŮا٠از Řساب ŮŘŻŰŮ Ű ŘąŘ§ آغاز ÚŠŮŰŘŻ.
+ deleted_msg: Ůا٠٠ستؚاع با Ů ŮŮŮŰŘŞ ŘŘ°Ů Ř´ŘŻ. اŮŘŞŮا٠از آ٠Řساب ب٠Řساب ŮŘšŮŰ ŘŻŰÚŻŘą Ů Ů ÚŠŮ ŮŰست.
+ hint_html: اگع Ů ŰâŘŽŮاŮŰŘŻ از Řساب ŘŻŰÚŻŘąŰ Ř¨Ů Ř§ŰŮ Řساب Ů ŮŘŞŮŮ Ř´ŮŰŘŻŘ Ř§ŰŮâ؏ا Ů ŰâŘŞŮاŮŰŘŻ ŰÚŠ Ůا٠٠ستؚاع بسازŰŘŻ ÚŠŮ Ř¨ŘąŘ§Ű Ř§ŮŘŞŮا٠از Řساب ŮŘŻŰŮ Ű Ř¨Ů Ř§ŰŮ Řساب Ůاز٠است. اŰ٠ڊاع ب٠تŮŮاŰŰ Ř¨Űâ؜عع Ů Ůاب٠بازگشت است. ŮعاŰŮŘŻ اŮŘŞŮا٠Řساب از Řساب ŮŘŻŰŮ Ű Ř˘ŘşŘ§Ř˛ ŘŽŮاŮŘŻ Ř´ŘŻ.
+ remove: Řذ٠اعتباء Ůا٠٠ستؚاع
appearance:
advanced_web_interface: عابء ÚŠŘ§ŘąŘ¨ŘąŰ ŮžŰŘ´ŘąŮŘŞŮ
advanced_web_interface_hint: 'اگع Ů ŰâŘŽŮاŮŰŘŻ ŮŮ ŮŮ ŮŘśŘ§Ű Ů٠اŰŘ´ÚŻŘą ŘŽŮŘŻ عا ب٠ڊاع ببعŰŘŻŘ Ů ŰâŘŞŮاŮŰŘŻ ب٠ڊ٠ڊ عابء ÚŠŘ§ŘąŘ¨ŘąŰ ŮžŰŘ´ŘąŮت٠ستŮŮâŮŘ§Ű ÚŻŮŮاگŮŮŰ ŘŻŘ§Ř´ŘŞŮ Ř¨Ř§Ř´ŰŘŻ تا ŘŻŘą ŰÚŠ Ůگا٠ŮŮ Ů٠اءŮŘ§ŘšŘ§ŘŞŰ ŘąŘ§ ÚŠŮ Ů ŰâŘŽŮاŮŰŘŻ ببŰŮŰŘŻ: ŮŮŘ´ŘŞŮâŮŘ§Ű ŘŻŰگعاŮŘ Ř§ŘšŮاŮâŮŘ§Ř ŮŮعست ŮŮŘ´ŘŞŮâŮŘ§Ű ŮŮ ŮâŘŹŘ§Ř Ů ŮŘą تؚداد ŮŮعست ٠بعÚسب ڊ٠ب؎ŮاŮŰŘŻ.'
@@ -564,6 +589,10 @@ fa:
checkbox_agreement_without_rules_html: ٠٠با شعاŰء استŮاد٠٠ŮاŮŮŮ
delete_account: ٞاڊâڊعد٠Řساب
delete_account_html: اگع Ů ŰâŘŽŮاŮŰŘŻ Řساب ŘŽŮŘŻ عا ٞاڊ ÚŠŮŰŘŻŘ Ř§Ř˛ اŰŮâ؏ا ŮžŰŘ´ بعŮŰŘŻ. از ش٠ا دع؎Ůاست ŘŞŘŁŰŰŘŻ ŘŽŮاŮŘŻ Ř´ŘŻ.
+ description:
+ prefix_invited_by_user: "@%{name} ش٠ا عا ب٠ؚ؜ŮŰŘŞ ŘŻŘą اŰ٠سعŮŘą ٠استدŮŮ ŘŻŘšŮŘŞ ڊعد٠است!"
+ prefix_sign_up: ŮŮ Ű٠ا٠عŮز ؚ؜٠٠استدŮŮ Ř´ŮŰŘŻ!
+ suffix: با داشت٠Řساب Ů ŰâŘŞŮاŮŰŘŻ ŘŻŰگعا٠عا ŮžŰ Ř¨ÚŻŰŘąŰŘŻŘ ŮŮŘ´ŘŞŮâŮŘ§Ű ŘŞŘ§Ř˛Ů Ů ŮŘŞŘ´Řą ÚŠŮŰŘŻŘ Ů Ř¨Ř§ ڊاعبعا٠دŰÚŻŘą از ŮŘą سعŮŘą ٠استدŮŮ ŘŻŰÚŻŘąŰ Ů ŘŘŞŰ ŘłŘąŮŘąŮŘ§Ű ŘŻŰÚŻŘą ŘŻŘą اعتباء باشŰŘŻ!
didnt_get_confirmation: عاŮŮ٠اŰŰ Ř¨ŘąŘ§Ű ŘŞŘŁŰŰŘŻ عا ŘŻŘąŰاŮŘŞ ŮڊعدŰŘŻŘ
forgot_password: ع٠زتا٠عا گ٠ڊعدŮâاŰŘŻŘ
invalid_reset_password_token: ÚŠŘŻ بازŮشاŮŰ ŘąŮ Ř˛ Ůا٠ؚتبع Űا Ů ŮŮŘśŰ Ř´ŘŻŮ Ř§ŘłŘŞ. ŮءŮا٠ڊد ŘŻŰÚŻŘąŰ ŘŻŘąŘŽŮاست ÚŠŮŰŘŻ.
@@ -590,6 +619,7 @@ fa:
confirming: ŘŻŘą Řا٠اŮتظاع Ř¨ŘąŘ§Ű ÚŠŘ§Ů Ů Ř´ŘŻŮ ŘŞŘŁŰŰŘŻ اŰŮ ŰŮ.
functional: Řساب ش٠ا Ůاب٠استŮاد٠است.
pending: دع؎Ůاست ش٠ا Ů Ůتظع ŘŞŘŁŰŰŘŻ ٠س،ŮŮا٠ساŰŘŞ است ٠اŰŮ ŮعاŰŮŘŻ ٠٠ڊ٠است ÚŠŮ Ű ŘˇŮ٠بڊشد. اگع دع؎Ůاست ش٠ا ٞذŰŘąŮŘŞŮ Ř´ŮŘŻ ب٠ش٠ا اŰŮ ŰŮŰ Ůعستاد٠؎ŮاŮŘŻ Ř´ŘŻ.
+ redirecting_to: Řساب ش٠ا ŘşŰŘąŮؚا٠است زŰعا ŮŮ âاڊŮŮ٠ب٠%{acct} Ů ŮŘŞŮ٠شد٠است.
trouble_logging_in: Ř¨ŘąŘ§Ű ŮŘąŮŘŻ Ů Ř´ÚŠŮŰ ŘŻŘ§ŘąŰŘŻŘ
authorize_follow:
already_following: ش٠ا ŮŮ Ű٠اŮا٠Ů٠اŰŮ Řساب عا ŮžŰâŮ ŰâÚŻŰŘąŰŘŻ
@@ -602,6 +632,11 @@ fa:
return: Ů٠اŰŮ٠اŰ٠ڊاعبع عا Ůشا٠بدŮ
web: ŘąŮت٠ب٠Ůب
title: ŮžŰÚŻŰŘąŰ %{acct}
+ challenge:
+ confirm: ادا٠Ů
+ hint_html: "ŮÚŠŘŞŮ: ٠ا ŘŻŘą ŰÚŠ ساؚت آŰŮد٠ع٠زتا٠عا از ش٠ا ŮŘŽŮاŮŰ٠ٞعسŰŘŻ."
+ invalid_password: ع٠ز Ůا٠ؚتبع
+ prompt: Ř¨ŘąŘ§Ű Ř§ŘŻŘ§Ů Ů ŘąŮ Ř˛ŘŞŘ§Ů ŘąŘ§ ŘŞŘŁŰŰŘŻ ÚŠŮŰŘŻ
datetime:
distance_in_words:
about_x_hours: "%{count} ساؚت"
@@ -617,18 +652,33 @@ fa:
x_months: "%{count} ٠اŮ"
x_seconds: "%{count} ؍اŮŰŮ"
deletes:
+ challenge_not_passed: اءŮŘ§ŘšŘ§ŘŞŰ ÚŠŮ Ůاعد ڊعدŰŘŻ اشتبا٠بŮŘŻ
confirm_password: ع٠ز ŮŘšŮŰ ŘŽŮŘŻ عا Ůاعد ÚŠŮŰŘŻ تا Ů ŘšŮŮŮ Ř´ŮŘŻ ÚŠŮ ŘŽŮŘŻ ش٠اŰŰŘŻ
+ confirm_username: Ř¨ŘąŘ§Ű ŘŞŘŁŰŰŘŻ اŰŮ ŮعاŰŮŘŻ ŮŘ§Ů ÚŠŘ§ŘąŘ¨ŘąŰ ŘŽŮŘŻ عا Ůاعد ÚŠŮŰŘŻ
proceed: ٞاڊâڊعد٠Řساب
success_msg: Řساب ش٠ا با Ů ŮŮŮŰŘŞ ٞاڊ Ř´ŘŻ
+ warning:
+ before: 'ŮžŰŘ´ از ادا٠ŮŘâ ŮءŮا٠ŮÚŠŘŞŮâŮŘ§Ű Ř˛ŰŘą عا ب٠دŮŘŞ ب؎ŮاŮŰŘŻ:'
+ caches: Ů ŘŘŞŮاŮاŰŰ ÚŠŮ ŘłŘąŮŘąŮŘ§Ű ŘŻŰÚŻŘą Ř°ŘŽŰع٠ڊعدŮâاŮŘŻ شاŰŘŻ ŮŮ ÚŮا٠باŮŰ Ř¨Ů Ř§ŮŮŘŻ
+ data_removal: ŮŮŘ´ŘŞŮâŮا ٠دادŮâŮŘ§Ű Ř´Ů Ř§ Ř¨ŘąŘ§Ű ŮŮ Űش٠ٞاڊ ŘŽŮاŮŮŘŻ Ř´ŘŻ
+ email_change_html: ش٠ا Ů ŰâŘŞŮاŮŰŘŻ بدŮ٠ٞاڊ ڊعد٠Řساب ŮشاŮŰ Ř§ŰŮ ŰŮ ŘŽŮŘŻ عا ŘŞŘşŰŰŘą ŘŻŮŰŘŻ
+ email_contact_html: اگع اŰŮ ŰŮ ŮŮ ÚŮا٠ŮعسŰŘŻŮŘ Ř¨ŘąŘ§Ű ŘŻŘąŘŽŮاست ÚŠŮ ÚŠ ب٠%{email} ŮžŰغا٠دŮŰŘŻ
+ email_reconfirmation_html: اگع اŰŮ ŰŮ ŘŞŘŁŰŰŘŻ ب٠دستتا٠ŮعسŰŘŻŮŘ Ů ŰâŘŞŮاŮŰŘŻ ŰÚŠ باع ŘŻŰÚŻŘą بعاŰŘ´ دع؎Ůاست بدŮŰŘŻ
+ irreversible: ش٠ا ŮŘŽŮاŮŰŘŻ ŘŞŮاŮست Řساب ŘŽŮŘŻ عا بازŰŘ§Ř¨Ű Űا ŮؚاŮâŘłŘ§Ř˛Ű ÚŠŮŰŘŻ
+ more_details_html: Ř¨ŘąŘ§Ű Ř§ŘˇŮاؚات بŰŘ´ŘŞŘą ŘłŰاست ŘąŘ§Ř˛ŘŻŘ§ŘąŰ ŘąŘ§ ببŰŮŰŘŻ.
+ username_available: ŮŘ§Ů ÚŠŘ§ŘąŘ¨ŘąŰ Ř´Ů Ř§ ŘŻŮباع٠دع دستعس ŘŽŮاŮŘŻ بŮŘŻ
+ username_unavailable: ŮŘ§Ů ÚŠŘ§ŘąŘ¨ŘąŰ Ř´Ů Ř§ Ř¨ŘąŘ§Ű ŘŻŰگعا٠غŰŘąŮاب٠دستعس ŘŽŮاŮŘŻ ٠اŮŘŻ
directories:
directory: ŮŮعست گزŰŘŻŮ٠ڊاعبعاŮ
explanation: ڊاعبعا٠اŰ٠سعŮŘą عا بع اساس ŘšŮاŮŮâŮ ŮŘŻŰâŮاŰشا٠ٞŰدا ÚŠŮŰŘŻ
explore_mastodon: گشت ٠گذاع دع %{title}
+ domain_validator:
+ invalid_domain: Ůا٠دا٠Ű٠٠ؚتبع ŮŰست
errors:
- '400': The request you submitted was invalid or malformed.
+ '400': دع؎ŮŘ§ŘłŘŞŰ ÚŠŮ ŮعستادŰŘŻ Ůا٠ؚتبع Űا اشتبا٠بŮŘŻ.
'403': ش٠ا ا؏ازŮŮ ŘŻŰد٠اŰŮ ŘľŮŘ٠عا ŮداعŰŘŻ.
'404': ŘľŮŘŮâŘ§Ű ÚŠŮ Ř¨Ů ŘŻŮباŮŘ´ ŮستŰŘŻ اŰŮâ؏ا ŮŰست.
- '406': This page is not available in the requested format.
+ '406': اŰŮ ŘľŮŘŮ ŘŻŘą ŮاŮŘ¨Ű ÚŠŮ ŘŻŘąŘŽŮاست ڊعدŮâاŰŘŻ Ů ŮŘŹŮŘŻ ŮŰست.
'410': ŘľŮŘŮâŘ§Ű ÚŠŮ Ř¨Ů ŘŻŮباŮŘ´ بŮŘŻŰŘŻ ŘŻŰÚŻŘą اŰŮâ؏ا ŮŘŹŮŘŻ Ůداعد.
'422':
content: ŘŞŘŁŰŰŘŻ ا٠ŮŰŘŞŰ Ř§Ů؏ا٠ŮŘ´ŘŻ. آŰا Ů ŘąŮŘąÚŻŘą ش٠ا ÚŠŮÚŠŰâŮا عا ٠سدŮŘŻ Ů ŰâÚŠŮŘŻŘ
@@ -637,7 +687,7 @@ fa:
'500':
content: شع٠ŮŘŻŮŘ ŰÚŠ ÚŰŘ˛Ű Ř§Ř˛ س٠ت ٠ا اشتبا٠شدŮ.
title: اŰŮ ŘľŮŘ٠دعست ŮŰست
- '503': The page could not be served due to a temporary server failure.
+ '503': اŰŮ ŘľŮŘ٠ب٠؎اءع Ů Ř´ÚŠŮ Ů ŮŮŘŞ سعŮŘą ŘŻŘą دستعس ŮŰست.
noscript_html: Ř¨ŘąŘ§Ű Ř§ŘłŘŞŮاد٠از Ůس؎ŮŮ ŘŞŘŘŞ Ůب ٠استدŮŮŘ ŮءŮا٠؏اŮااسڊعŰٞت عا Ůؚا٠ڊŮŰŘŻ. Űا ب٠؏اŰŘ´ Ů ŰâŘŞŮاŮŰŘŻ ŰÚŠ اٞ ٠استدŮ٠عا بŮâڊاع ببعŰŘŻ.
existing_username_validator:
not_found: ÚŠŘ§ŘąŘ¨ŘąŰ ŘŻŘą اŰ٠سعŮŘą با اŰŮ ŮŘ§Ů ÚŠŘ§ŘąŘ¨ŘąŰ ŮžŰدا ŮŘ´ŘŻ
@@ -661,6 +711,7 @@ fa:
add_new: اŮزŮد٠تازŮ
errors:
limit: ش٠ا بŰŘ´ŘŞŘąŰ٠تؚداد ٠؏از بعÚسبâŮا عا داعŰŘŻ
+ hint_html: "بعÚسبâŮŘ§Ű Ř¨ŘąÚŻŘ˛ŰŘŻŮ ÚŰستŮŘŻŘ Ř§Ű٠بعÚسبâŮا (ŮŘ´ŘŞÚŻâŮا) ب٠ءŮŘą Ůا؜ŘŰ ŘąŮŰ Ů٠اŰŮ٠ؚ٠ŮŮ Ű Ř´Ů Ř§ Ů٠اŰŘ´ Ů ŰâŰابŮŘŻ Ů ŘŻŰگعا٠٠ŰâŘŞŮاŮŮŘŻ ŮŮŘ´ŘŞŮâŮŘ§Ű Ř´Ů Ř§ عا ŘŞŘŘŞ ŮŘą ڊدا٠از اŰ٠بعÚسبâŮا Ů ŘąŮŘą ÚŠŮŮŘŻ. اŰŮ ŰÚŠ ŘąŮŘ´ بسŰاع ŘŽŮب Ř¨ŘąŘ§Ű ŘŻŘłŘŞŮâبŮŘŻŰ Ř˘ŘŤŘ§Řą ŘŽŮاŮاŮŮ Űا ٞعŮÚŮâŮŘ§Ű Ř¨ŮŮŘŻŮ ŘŻŘŞ ش٠است."
filters:
contexts:
home: ؎اŮŮ
@@ -681,10 +732,12 @@ fa:
developers: بعŮا٠ŮâŮŮŰساŮ
more: بŰŘ´ŘŞŘąâŚ
resources: Ů Ůابؚ
+ trending_now: ٞعءعŮداع
generic:
all: ŮŮ Ů
changes_saved_msg: ŘŞŘşŰŰعات با Ů ŮŮŮŰŘŞ Ř°ŘŽŰع٠شدŮŘŻ!
copy: ŘąŮŮŮŘ´ŘŞ
+ no_batch_actions_available: ŮŰÚ ÚŠŘ§Řą ÚŻŘąŮŮŰâŘ§Ű ŘŻŘą اŰŮ ŘľŮŘŮ Ů ŮŘŹŮŘŻ ŮŰست
order_by: ٠عتبâسازŰ
save_changes: Ř°ŘŽŰŘąŮŮ ŘŞŘşŰŰعات
validation_errors:
@@ -756,6 +809,31 @@ fa:
too_many: ŮŮ ŰâŘŞŮا٠بŰŘ´ŘŞŘą از Ű´ ŘŞŘľŮŰŘą Ř¨Ř§ŘąÚŻŘ°Ř§ŘąŰ ÚŠŘąŘŻ
migrations:
acct: username@domain Řساب تازŮ
+ cancel: Ůغ٠اŮŘŞŮاŮ
+ cancel_explanation: با Ůغ٠اŮŘŞŮاŮŘ Řساب ش٠ا ŘŻŮباع٠Ůؚا٠٠ŰâŘ´ŮŘŻŘ ŮŮŰ Ř§Ű٠ڊاع ŮžŰÚŻŰعا٠ش٠ا عا ڊ٠ب٠Řساب ŘŻŰÚŻŘą Ů ŮŘŞŮŮ Ř´ŘŻŮâاŮŘŻ بعŮŮ ŰâگعداŮŘŻ.
+ cancelled_msg: اŮŘŞŮا٠Řساب با Ů ŮŮŮŰŘŞ Ůغ٠شد.
+ errors:
+ already_moved: اŰŮ Ů٠ا٠ŘŘłŘ§Ř¨Ű Ř§ŘłŘŞ ڊ٠ب٠آ٠٠ŮŘŞŮŮ Ř´ŘŻŮâاŰŘŻ
+ missing_also_known_as: ب٠Řساب ش٠ا اشاع٠ŮŮ ŰâÚŠŮŘŻ
+ move_to_self: ŮŮ ŰâŘŞŮاŮŘŻ Řساب ŮŘšŮŰ Ř´Ů Ř§ باشد
+ not_found: ÚŮŰŮ ŘŘłŘ§Ř¨Ű ŮžŰدا ŮŘ´ŘŻ
+ on_cooldown: ش٠ا باŰŘŻ ؾبع ÚŠŮŰŘŻ
+ followers_count: ش٠اع ŮžŰÚŻŰعا٠دع ز٠ا٠اŮŘŞŮاŮ
+ incoming_migrations: اŮŘŞŮا٠از ŰÚŠ Řساب ŘŻŰÚŻŘą
+ incoming_migrations_html: Ř¨ŘąŘ§Ű Ř§ŮŘŞŮا٠از ŰÚŠ Řساب ŘŻŰÚŻŘą ب٠اŰŮ ŘŘłŘ§Ř¨Ř Ř´Ů Ř§ باŰŘŻ Ů؎ست ŰÚŠ Ůا٠٠ستؚاع بسازŰŘŻ.
+ moved_msg: Řساب ش٠ا ŮŮ âاŰŮÚŠ ب٠%{acct} Ů ŮŘŞŮ٠شد٠است Ů ŮžŰÚŻŰعا٠ش٠ا ŘŻŘą Řا٠اŮŘŞŮا٠ب٠آŮâ؏ا ŮستŮŘŻ.
+ not_redirecting: Řساب ش٠ا ŮŮ âاŰŮÚŠ ب٠ŮŰÚ Řساب ŘŻŰÚŻŘąŰ Ů ŮŘŞŮŮ Ůشد٠است Űا اشاع٠ŮŮ ŰâÚŠŮŘŻ.
+ on_cooldown: ش٠ا Ř¨Ů ŘŞŘ§Ř˛ÚŻŰ Řساب ŘŽŮŘŻ عا Ů ŮŘŞŮ٠ڊعدŮâاŰŘŻ. اŰŮ ŮŰÚÚŻŰ Ř¨ŘąŘ§Ű Ř´Ů Ř§ ŘŻŮباع٠دع %{count} ŘąŮز Ůؚا٠؎ŮاŮŘŻ Ř´ŘŻ.
+ past_migrations: اŮŘŞŮاŮâŮŘ§Ű ŮžŰŘ´ŰŮ
+ proceed_with_move: اŮŘŞŮا٠ٞŰÚŻŰعاŮ
+ redirecting_to: Řساب ش٠ا ŮŮ âاŰŮÚŠ ب٠%{acct} Ů ŮŘŞŮ٠شد٠است.
+ warning:
+ backreference_required: Řساب تازŮ٠ش٠ا Ů؎ست باŰŘŻ ŘŞŮظŰŮ Ř´ŮŘŻ تا ب٠اŰŮ Řساب اشاع٠ڊŮŘŻ
+ before: 'ŮžŰŘ´ از ادا٠ŮŘâ ŮءŮا٠ŮÚŠŘŞŮâŮŘ§Ű Ř˛ŰŘą عا ب٠دŮŘŞ ب؎ŮاŮŰŘŻ:'
+ cooldown: ٞس از اŮŘŞŮا٠ŘŘłŘ§Ř¨Ř ŰÚŠ ŘŻŮŘąŮ٠اŮتظاع ŮŘŹŮŘŻ داعد ÚŠŮ ŘŻŘą اŰŮ Ů ŘŻŘŞ ŮŘŽŮاŮŰŘŻ ŘŞŮاŮست ŘŻŮباع٠Řسابتا٠عا Ů ŮŘŞŮŮ ÚŠŮŰŘŻ
+ disabled_account: Řساب ŮŘšŮŰ Ř´Ů Ř§ ٞس از اŰ٠ڊاع ŘŻŰÚŻŘą Ůاب٠استŮاد٠ŮŘŽŮاŮŘŻ بŮŘŻ. ش٠ا ŮŮء ŘŽŮاŮŰŘŻ ŘŞŮاŮست دادŮâŮŘ§Ű ŘŽŮŘŻ عا بŰŘąŮ٠ببعŰŘŻ Űا Řساب عا ŘŻŮباع٠Ůؚا٠ڊŮŰŘŻ.
+ followers: اŰ٠ڊاع ŮŮ ŮŮ ŮžŰÚŻŰعا٠ش٠ا عا از Řساب ŮŘšŮŰ Ř¨Ů Řساب تاز٠٠ŮŘŞŮŮ ŘŽŮاŮŘŻ ڊعد
+ other_data: ŮŰÚ ŘŻŘ§ŘŻŮŮ ŘŻŰÚŻŘąŰ ŘŽŮدبŮâŘŽŮŘŻ Ů ŮŘŞŮŮ ŮŘŽŮاŮŘŻ Ř´ŘŻ
moderation:
title: Ů ŘŻŰŘąŰŘŞ ڊاعبعاŮ
notification_mailer:
@@ -900,6 +978,7 @@ fa:
settings:
account: Řساب
account_settings: ŘŞŮظŰ٠ات Řساب
+ aliases: Ůا٠âŮŘ§Ű Ů ŘłŘŞŘšŘ§Řą
appearance: Ů٠ا
authorized_apps: بعŮا٠ŮâŮŘ§Ű Ů ŘŹŘ§Ř˛
back: بازگشت ب٠٠استدŮŮ
@@ -960,6 +1039,8 @@ fa:
pinned: ŮŮŘ´ŘŞŮâŮŘ§Ű ŘŤŘ§Ř¨ŘŞ
reblogged: بازبŮŮŰŘŻ
sensitive_content: Ů ŘŘŞŮŘ§Ű Řساس
+ tags:
+ does_not_match_previous_name: با Ůا٠ٞŰŘ´Ű٠٠ءاب٠ŮŰست
terms:
body_html: |
ŘłŰاست عازداعŰ
@@ -1077,7 +1158,9 @@ fa:
disable: تا ŮŮŘŞŰ Řساب ش٠ا Ů ŘŞŮŮŮ Ř¨Ř§Ř´ŘŻŘ ŘŻŘ§ŘŻŮâŮŘ§Ű Ř´Ů Ř§ دستâŮŘŽŮعد٠باŮŰ Ů Űâ٠اŮŮŘŻŘ ŮŮŰ ŘŞŘ§ ŮŮŘŞŰ ÚŠŮ Řسابتا٠باز ŮŘ´ŘŻŮŘ ŮŮ ŰâŘŞŮاŮŰŘŻ ŮŰÚ ÚŠŘ§ŘąŰ Ř¨Ř§ آ٠بڊŮŰŘŻ.
silence: تا ŮŮŘŞŰ Řساب ش٠ا Ů ŘŘŻŮŘŻ Ř¨Ř§Ř´ŘŻŘ ŘŞŮŮا ڊساŮŰ ÚŠŮ Ř§Ř˛ Ůب٠ٞŰÚŻŰŘą ش٠ا بŮŘŻŮŘŻ ŮŮŘ´ŘŞŮâŮŘ§Ű Ř´Ů Ř§ ŘŻŘą اŰ٠سعŮŘą عا Ů ŰâبŰŮŮŘŻ ٠ش٠ا ŘŻŘą ŮŮعستâŮŘ§Ű ŘšŮ ŮŮ Ű ŘŻŰŘŻŮ ŮŮ ŰâŘ´ŮŰŘŻ. ŮŮŰ ŘŻŰگعا٠ŮŮ ÚŮا٠٠ŰâŘŞŮاŮŮŘŻ ب٠دŮŘŽŮا٠؎Ůدشا٠ٞŰÚŻŰŘą ش٠ا Ř´ŮŮŘŻ.
suspend: Řساب ش٠ا Ů ŘšŮŮ Ř´ŘŻŮ Ř§ŘłŘŞŘ Ů ŮŮ ŮŮ ŮŮŘ´ŘŞŮâŮا ٠عساŮŮâŮŘ§Ű ŘŞŘľŮŰŘąŰ Ř´Ů Ř§ ب٠ءŮŘą بازگشتâŮاٞذŰŘąŰ ŮžŘ§ÚŠ Ř´ŘŻŮâاŮŘŻŘ Ú٠از اŰ٠سعŮŘą Ů Ú٠از سعŮŘąŮŘ§Ű ŘŻŰÚŻŘąŰ ÚŠŮ Ř§Ř˛ آŮâŮا ŮžŰÚŻŰŘą داشتŰŘŻ.
+ get_in_touch: با ٞاس؎ ب٠اŰ٠اŰŮ ŰŮ Ů ŰâŘŞŮاŮŰŘŻ با دستâاŮدعڊاعا٠%{instance} ŘŻŘą ت٠اس باشŰŘŻ.
review_server_policies: Ů ŘąŮŘą ŘłŰاستâŮŘ§Ű Ř§Ű٠سعŮŘą
+ statuses: 'ب٠ءŮŘą ؎اؾ بعاŰ:'
subject:
disable: Řساب %{acct} ش٠ا Ů ŘŞŮŮ٠شد٠است
none: Ůشداع Ř¨ŘąŘ§Ű %{acct}
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index be146d997d4..faffc5e7549 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -35,6 +35,13 @@ fr:
status_count_before: Ayant publiĂŠ
tagline: Suivez vos ami¡e¡s et dÊcouvrez en de nouveaux¡elles
terms: Conditions dâutilisation
+ unavailable_content: Contenu non disponible
+ unavailable_content_description:
+ reason: 'Motif :'
+ rejecting_media: Les fichiers mĂŠdia de ce serveur ne seront pas traitĂŠs et aucune miniature ne sera affichĂŠe, nĂŠcessitant un clic manuel vers l'autre serveur.
+ silenced: Les messages de ce serveur ne s'afficheront nulle part sauf votre flux personnel si vous suivez l'auteur.
+ suspended: Vous ne pourrez suivre personne de ce serveur, aucune donnĂŠe ne sera traitĂŠe ou stockĂŠe et aucune donnĂŠe ne sera ĂŠchangĂŠe.
+ unavailable_content_html: Mastodon vous permet gĂŠnĂŠralement de visualiser le contenu et d'interagir avec les utilisateurs de n'importe quel autre serveur dans le fĂŠdiverse. Voici les exceptions qui ont ĂŠtĂŠ faites sur ce serveur en particulier.
user_count_after:
one: utilisateur
other: utilisateurs
@@ -222,10 +229,12 @@ fr:
deleted_status: "(statut supprimĂŠ)"
title: Journal dâaudit
custom_emojis:
+ assign_category: Attribuer une catĂŠgorie
by_domain: Domaine
copied_msg: Copie locale de lâĂŠmoji crĂŠĂŠe avec succèsâŻ!
copy: Copier
copy_failed_msg: Impossible de faire une copie locale de cet ĂŠmoji
+ create_new_category: CrĂŠer une nouvelle catĂŠgorie
created_msg: Ămoji crĂŠĂŠ avec succèsâŻ!
delete: Supprimer
destroyed_msg: Ămoji supprimĂŠ avec succèsâŻ!
@@ -242,6 +251,7 @@ fr:
shortcode: Raccourci
shortcode_hint: Au moins deux caractères, seulement des caractères alphanumÊriques ou des tirets bas
title: Ămojis personnalisĂŠs
+ uncategorized: Non catĂŠgorisĂŠ
unlisted: DĂŠlistĂŠ
update_failed_msg: Nâa pas pu mettre Ă jour cet ĂŠmoji
updated_msg: Ămoji mis Ă jour avec succèsâŻ!
@@ -421,6 +431,9 @@ fr:
custom_css:
desc_html: Modifier lâapparence avec une CSS chargĂŠe sur chaque page
title: CSS personnalisĂŠ
+ default_noindex:
+ desc_html: Affecte tous les utilisateurs qui n'ont pas changÊ eux-mêmes ce paramètre
+ title: Opter pour le retrait de l'indexation des moteurs de recherche par dĂŠfaut
domain_blocks:
all: Ă tout le monde
disabled: Ă personne
@@ -512,6 +525,10 @@ fr:
context: ContexteÂ
directory: Dans le rĂŠpertoire
in_directory: "%{count} dans le rĂŠpertoire"
+ last_active: Dernière activitÊ
+ most_popular: Plus populaire
+ most_recent: Plus rĂŠcent
+ name: Mot-clĂŠ
review: Ătat de traitement
reviewed: TraitĂŠ
title: Hashtags
@@ -537,6 +554,12 @@ fr:
new_trending_tag:
body: 'Le hashtag #%{name} est populaire aujourdâhui, mais il nâa pas ĂŠtĂŠ approuvĂŠ. Il ne sera pas affichĂŠ publiquement Ă moins que lâautorisiez, ou sauvegardez simplement ce formulaire tel quel pour ne plus jamais en entendre parler.'
subject: Nouveau hashtag en attente de traitement sur %{instance} (#%{name})
+ aliases:
+ add_new: CrĂŠer un alias
+ created_msg: Un nouvel alias a ÊtÊ crÊÊ avec succès. Vous pouvez maintenant lancer le dÊplacement depuis l'ancien compte.
+ deleted_msg: Suppression rĂŠussie de l'alias. DĂŠplacer de ce compte vers celui-ci ne sera plus possible.
+ hint_html: Si vous voulez passer d'un autre compte à celui-ci, vous pouvez crÊer ici un alias, qui est nÊcessaire avant de pouvoir dÊplacer les abonnÊ¡e¡s de l'ancien compte à celui-ci. Cette action en soi est inoffensive et rÊversible. La migration du compte est initiÊe à partir de l'ancien compte.
+ remove: DĂŠtacher l'alias
appearance:
advanced_web_interface: Interface web avancĂŠe
advanced_web_interface_hint: 'Si vous voulez utiliser toute la largeur de votre ĂŠcran, lâinterface web avancĂŠe vous permet de configurer plusieurs colonnes diffĂŠrentes pour voir autant dâinformations que vous le souhaitez en mĂŞme temps : Accueil, notifications, fil public fĂŠdĂŠrĂŠ, un nombre illimitĂŠ de listes et hashtags.'
@@ -596,6 +619,7 @@ fr:
confirming: En attente de la confirmation par e-mail Ă complĂŠter.
functional: Votre compte est entièrement opÊrationnel.
pending: Votre demande est en attente d'examen par notre personnel. Cela peut prendre un certain temps. Vous recevrez un courriel si votre demande est approuvĂŠe.
+ redirecting_to: Votre compte est inactif car il est actuellement redirigĂŠ vers %{acct}.
trouble_logging_in: Vous avez un problème pour vous connecter ?
authorize_follow:
already_following: Vous suivez dĂŠjĂ ce compte
@@ -608,6 +632,11 @@ fr:
return: Afficher le profil de lâutilisateurâ ice
web: Retour Ă lâinterface web
title: Suivre %{acct}
+ challenge:
+ confirm: Continuer
+ hint_html: "Astuce : Nous ne vous demanderons plus votre mot de passe pour la prochaine heure."
+ invalid_password: Mot de passe invalide
+ prompt: Confirmez votre mot de passe pour continuer
datetime:
distance_in_words:
about_x_hours: "%{count}âŻh"
@@ -623,10 +652,19 @@ fr:
x_months: "%{count}âŻmois"
x_seconds: "%{count}âŻs"
deletes:
+ challenge_not_passed: Les renseignements que vous avez entrĂŠs n'ĂŠtaient pas exacts
confirm_password: Entrez votre mot de passe pour vĂŠrifier votre identitĂŠ
+ confirm_username: Entrez votre nom d'utilisateur pour confirmer la procĂŠdure
proceed: Supprimer compte
success_msg: Votre compte a ÊtÊ supprimÊ avec succès
warning:
+ before: 'Avant de procĂŠder, veuillez lire attentivement ces notes :'
+ caches: Le contenu mis en cache par d'autres serveurs peut persister
+ data_removal: Vos messages et autres donnĂŠes seront dĂŠfinitivement supprimĂŠs
+ email_change_html: Vous pouvez modifier votre adresse courriel sans supprimer votre compte
+ email_contact_html: S'il n'arrive toujours pas, vous pouvez envoyer un courriel Ă %{email} pour de l'aide
+ email_reconfirmation_html: Si vous ne recevez pas le courriel de confirmation, vous pouvez le demander Ă nouveau
+ irreversible: Vous ne pourrez pas restaurer ou rĂŠactiver votre compte
more_details_html: Pour plus de dĂŠtails, voir la politique de confidentialitĂŠ.
username_available: Votre nom dâutilisateur sera Ă nouveau disponible
username_unavailable: Votre nom dâutilisateur restera indisponible
@@ -637,7 +675,7 @@ fr:
domain_validator:
invalid_domain: nâest pas un nom de domaine valide
errors:
- '400': The request you submitted was invalid or malformed.
+ '400': La demande que vous avez soumise est invalide ou mal formĂŠe.
'403': Vous nâavez pas accès Ă cette page.
'404': La page que vous recherchez nâexiste pas.
'406': Cette page n'est pas disponible au format demandĂŠ.
@@ -649,7 +687,7 @@ fr:
'500':
content: Nous sommes dĂŠsolÊ¡e¡s, mais quelque chose sâest mal passĂŠ de notre cĂ´tĂŠ.
title: Cette page nâest pas correcte
- '503': The page could not be served due to a temporary server failure.
+ '503': La page n'a pas pu ĂŞtre servie en raison d'une dĂŠfaillance temporaire du serveur.
noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez lâune des applications natives pour Mastodon pour votre plate-forme.
existing_username_validator:
not_found: nâa pas trouvĂŠ dâutilisateur¡rice local¡e avec ce nom
@@ -699,6 +737,7 @@ fr:
all: Tous
changes_saved_msg: Les modifications ont ĂŠtĂŠ enregistrĂŠes avec succèsâŻ!
copy: Copier
+ no_batch_actions_available: Aucune action par lots disponible sur cette page
order_by: Classer par
save_changes: Enregistrer les modifications
validation_errors:
@@ -770,6 +809,31 @@ fr:
too_many: Impossible de joindre plus de 4 fichiers
migrations:
acct: profil@domaine du nouveau compte
+ cancel: Annuler la redirection
+ cancel_explanation: Annuler la redirection rĂŠactivera votre compte courant, mais ne rapportera pas les abonnĂŠs qui ont ĂŠtĂŠ dĂŠplacĂŠs sur ce compte.
+ cancelled_msg: Suppression de la redirection rĂŠussie.
+ errors:
+ already_moved: est le mĂŞme compte que vous avez dĂŠjĂ dĂŠplacĂŠ vers
+ missing_also_known_as: ne rĂŠfĂŠrence pas rĂŠtroactivement ce compte
+ move_to_self: ne peut pas ĂŞtre un compte courant
+ not_found: n'a pas ĂŠtĂŠ trouvĂŠ
+ on_cooldown: Vous ĂŞtes en refroidissement
+ followers_count: AbonnĂŠs au moment du dĂŠplacement
+ incoming_migrations: DĂŠplacement d'un compte diffĂŠrent
+ incoming_migrations_html: Pour passer d'un autre compte Ă celui-ci, vous devez d'abord crĂŠer un alias de compte.
+ moved_msg: Votre compte est maintenant redirigĂŠ vers %{acct} et vos abonnĂŠs sont dĂŠplacĂŠs.
+ not_redirecting: Votre compte n'est pas redirigĂŠ vers un autre compte actuellement.
+ on_cooldown: Vous avez rĂŠcemment migrĂŠ votre compte. Cette fonction sera Ă nouveau disponible dans %{count} jours.
+ past_migrations: Migrations passĂŠes
+ proceed_with_move: DĂŠplacer les abonnĂŠs
+ redirecting_to: Votre compte est redirigĂŠ vers %{acct}.
+ warning:
+ backreference_required: Le nouveau compte doit d'abord ĂŞtre configurĂŠ pour faire rĂŠfĂŠrence Ă celui-ci
+ before: 'Avant de procĂŠder, veuillez lire attentivement ces notes :'
+ cooldown: Après le dÊmÊnagement, il y a une pÊriode de refroidissement pendant laquelle vous ne pourrez plus bouger
+ disabled_account: Votre compte actuel ne sera pas entièrement utilisable par la suite. Cependant, vous aurez accès à l'exportation de donnÊes et à la rÊ-activation.
+ followers: Cette action va dĂŠplacer tous les abonnĂŠs du compte courant vers le nouveau compte
+ other_data: Aucune autre donnĂŠe ne sera dĂŠplacĂŠe automatiquement
moderation:
title: ModĂŠration
notification_mailer:
@@ -914,6 +978,7 @@ fr:
settings:
account: Compte
account_settings: Paramètres du compte
+ aliases: Alias du compte
appearance: Apparence
authorized_apps: Applications autorisĂŠes
back: Retour vers Mastodon
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 1c63a706fe0..2649fb2a344 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -34,6 +34,13 @@ ja:
status_count_before: ăăĽăźăć°
tagline: Follow friends and discover new ones
terms: ĺŠç¨čŚç´
+ unavailable_content: ĺśéä¸ăŽăľăźăăź
+ unavailable_content_description:
+ reason: 'ĺśéççą:'
+ rejecting_media: ăăŽăľăźăăźăăăŽăĄăăŁă˘ăăĄă¤ăŤăŻĺ俥ăăăăăľă ăă¤ăŤă襨示ăăăžăăă襨示ăăăŤăŻăŻăŞăăŻăăŚăăŽăľăźăăźăŤç´ćĽă˘ăŻăťăšăăĺż čŚăăăăžăă
+ silenced: ăăŽăľăźăăźăăăŽć稿ăŻç¸ćăăăŠăăźăăŚăăăŞăăŽăăźă ăżă¤ă ăŠă¤ăłäťĽĺ¤ăŤăŻčĄ¨ç¤şăăăžăăă
+ suspended: ăăŽăľăźăăźăăăŻčŞ°ăăăŠăăźă§ăăžăăăăăŽăľăźăăźăăăŽăăźăżăŻĺ俥ăăăăăăă¨ăăăăăžăăă
+ unavailable_content_html: é常 Mastodon ă§ăŻéŁĺĺ ăŽăŠăăŞăľăźăăźăŽăŚăźăśăźă¨ă§ăăăă¨ăă§ăăžăăăă ă揥ăŽăľăźăăźăŤăŻäžĺ¤ăč¨ĺŽăăăŚăăžăă
user_count_after:
other: äşş
user_count_before: ăŚăźăśăźć°
@@ -218,10 +225,12 @@ ja:
deleted_status: "(ĺé¤ć¸)"
title: ćä˝ĺąĽć´
custom_emojis:
+ assign_category: ăŤăă´ăŞăźăĺ˛ăĺ˝ăŚ
by_domain: ăăĄă¤ăł
copied_msg: çľľćĺăŽăłăăźăăăźăŤăŤăŤä˝ćăăžăă
copy: ăłăăź
copy_failed_msg: çľľćĺăŽăłăăźăăăźăŤăŤăŤä˝ćă§ăăžăăă§ăă
+ create_new_category: ăŤăă´ăŞăźăä˝ć
created_msg: çľľćĺăŽčż˝ĺ ăŤćĺăăžăăďź
delete: ĺé¤
destroyed_msg: çľľćĺăŽĺé¤ăŤćĺăăžăăďź
@@ -238,6 +247,7 @@ ja:
shortcode: ăˇă§ăźăăłăźă
shortcode_hint: 2ćĺ䝼ä¸ăŽĺč§čąć°ĺă¨ă˘ăłăăźăăźăŽăżĺŠç¨ă§ăăžă
title: ăŤăšăżă çľľćĺ
+ uncategorized: ćŞĺéĄ
unlisted: ćŞĺčź
update_failed_msg: çľľćĺăć´ć°ă§ăăžăăă§ăă
updated_msg: çľľćĺăŽć´ć°ăŤćĺăăžăăďź
@@ -415,6 +425,9 @@ ja:
custom_css:
desc_html: ĺ ¨ăăźă¸ăŤéŠç¨ăăăCSSăŽçˇ¨é
title: ăŤăšăżă CSS
+ default_noindex:
+ desc_html: ăăŽč¨ĺŽăĺ¤ć´ăăŚăăŞăĺ ¨ăŚăźăśăźăŤĺ˝ąéżăăžă
+ title: ăăăŠăŤăă§ć¤ç´˘ă¨ăłă¸ăłăŤăăă¤ăłăăăŻăšăćĺŚăă
domain_blocks:
all: 誰ă§ă訹ĺŻ
disabled: 誰ă訹ĺŻăăŞă
@@ -506,6 +519,10 @@ ja:
context: 襨示ĺ
directory: ăăŁăŹăŻăăŞăŤä˝żç¨
in_directory: "%{count} äşşăăăŁăŹăŻăăŞăŤä˝żç¨"
+ last_active: ćčżä˝żăăăé
+ most_popular: 使ç¨é ťĺşŚé
+ most_recent: ć°çé
+ name: ăăăˇăĽăżă°
review: 寊ćťçśćł
reviewed: 寊ćťć¸ăż
title: ăăăˇăĽăżă°
@@ -531,6 +548,12 @@ ja:
new_trending_tag:
body: 'ăăăˇăĽăżă° #%{name} ăćŹćĽăŽăăŹăłăăŤăŞăŁăŚăăžăăă寊ćťăăžă čĄăăăŚăăŞăăăăăŹăłăăżă°ăŤăŻčĄ¨ç¤şăăăŚăăžăăăä¸ĺşŚč¨ąĺŻăăă°ćŹĄĺăăăăŽćä˝ăŻä¸čŚă§ăă'
subject: "%{instance} ă§ć°ăăăăăˇăĽăżă° (#%{name}) ă寊ćťĺž ăĄă§ă"
+ aliases:
+ add_new: ă¨ă¤ăŞă˘ăšăä˝ć
+ created_msg: ă¨ă¤ăŞă˘ăšăä˝ćăăžăăăăăă§äťĽĺăŽă˘ăŤăŚăłăăăĺźăŁčśăăéĺ§ă§ăăžăă
+ deleted_msg: ă¨ă¤ăŞă˘ăšă解é¤ăăžăăăăăŽă˘ăŤăŚăłăăăăŻĺźăŁčśăă§ăăŞăăŞăăžăă
+ hint_html: äťăŽă˘ăŤăŚăłăăăăăŽă˘ăŤăŚăłăăŤăăŠăăŻăźăĺźăçśăă§ĺźăŁčśăăăĺ ´ĺăăăă§ă¨ă¤ăŞă˘ăšăä˝ćăăŚăăĺż čŚăăăăžăăă¨ă¤ăŞă˘ăščŞä˝ăŻçĄĺŽłă§ăĺăćśăăă¨ăă§ăăžăăĺźăŁčśăăŻäťĽĺăŽă˘ăŤăŚăłăĺ´ăăéĺ§ăăĺż čŚăăăăžăă
+ remove: ă¨ă¤ăŞă˘ăšă解é¤
appearance:
advanced_web_interface: ä¸ç´č ĺă UI
advanced_web_interface_hint: ăăŁăšăăŹă¤ăĺš ăăŁăąăăžă§ć´ťç¨ăăăĺ ´ĺăä¸ç´č ĺă UI ăăăăăăăžăăăăźă ăéçĽăéŁĺăżă¤ă ăŠă¤ăłăć´ăŤăŻăŞăšăăăăăˇăĽăżă°ăŞăŠăć§ă ăŞç°ăŞăăŤăŠă ăăćăéăăŽć ĺ ąăä¸ĺşŚăŤĺăĺăăăăăŞč¨ĺŽăĺŻč˝ăŤăŞăăžăă
@@ -560,6 +583,10 @@ ja:
checkbox_agreement_without_rules_html: ĺŠç¨čŚç´ ăŤĺćăăžă
delete_account: ă˘ăŤăŚăłăăŽĺé¤
delete_account_html: ă˘ăŤăŚăłăăĺé¤ăăăĺ ´ĺăăăĄă ăăćçśăăčĄăăžăăĺé¤ăăĺăŤă確čŞçťé˘ăăăăžăă
+ description:
+ prefix_invited_by_user: "@%{name} ăăăŞăăă㎠Mastodon ăľăźăăźăŤćĺž ăăžăă"
+ prefix_sign_up: äťăă Mastodon ăŤçťé˛ăăžăăăďź
+ suffix: ă˘ăŤăŚăłăăăăă°ăăŠă㪠Mastodon äşćăľăźăăźăŽăŚăźăśăźă§ăăăŠăăźăăăăĄăăťăźă¸ăăăĺăă§ăăăăăŤăŞăăžăďź
didnt_get_confirmation: 確čŞăĄăźăŤăĺ俥ă§ăăžăăăďź
forgot_password: ăăšăŻăźăăăĺżăă§ăăďź
invalid_reset_password_token: ăăšăŻăźăăŞăťăăăăźăŻăłăćŁăăăŞăăćéĺăă§ăăăăä¸ĺşŚăŞăŻă¨ăšăăăŚăă ăăă
@@ -586,6 +613,7 @@ ja:
confirming: ăĄăźăŤă˘ăăŹăšăŽç˘şčŞăĺŽäşăăăŽăĺž ăŁăŚăăžăă
functional: ă˘ăŤăŚăłăăŻĺŽĺ ¨ăŤćŠč˝ăăŚăăžăă
pending: ăăŞăăŽçłčŤăŻçžĺ¨ăľăźăăźçŽĄçč ăŤăă寊ćťĺž ăĄă§ăăăăăŤăŻăă°ăăăăăăžăăçłčŤăćżčŞăăăă¨ăĄăźăŤăĺąăăžăă
+ redirecting_to: ă˘ăŤăŚăłă㯠%{acct} ăŤĺźăŁčśăč¨ĺŽăăăŚăăăăéă˘ăŻăăŁăăŤăŞăŁăŚăăžăă
trouble_logging_in: ăă°ă¤ăłă§ăăžăăăďź
authorize_follow:
already_following: ăăŞăăŻć˘ăŤăăŽă˘ăŤăŚăłăăăăŠăăźăăŚăăžă
@@ -598,6 +626,11 @@ ja:
return: ăŚăźăśăźăŽăăăăŁăźăŤăčŚă
web: Web ăéă
title: "%{acct} ăăăŠăăź"
+ challenge:
+ confirm: çśčĄăă
+ hint_html: äťĽĺž 1 ćéăŻăăšăŻăźăăŽĺĺ Ľĺăćąăăžăă
+ invalid_password: ăăšăŻăźăăééăŁăŚăăžă
+ prompt: çśčĄăăăŤăŻăăšăŻăźăăĺ ĽĺăăŚăă ăă
datetime:
distance_in_words:
about_x_hours: "%{count}ćé"
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index c95189dc5f6..fb32552da01 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -34,6 +34,9 @@ ko:
status_count_before: íż ě
tagline: ěšęľŹë¤ě íëĄě° íęł ěëĄě´ ěŹëë¤ë ë§ë기
terms: ě´ěŠě˝ę´
+ unavailable_content: ě´ěŠ ëśę°ëĽí 읨í ě¸
+ unavailable_content_description:
+ reason: 'ě´ě :'
user_count_after:
other: ëŞ
user_count_before: ěŹěŠě ě
@@ -614,6 +617,11 @@ ko:
return: ě ě íëĄí 보기
web: ěšěźëĄ ę°ę¸°
title: "%{acct} 뼟 íëĄě°"
+ challenge:
+ confirm: ęłě
+ hint_html: "í:í ěę°ëě ë¤ě ëšë°ë˛í¸ëĽź ëŹťě§ ěě ę˛ëë¤."
+ invalid_password: ě몝ë ëšë°ë˛í¸
+ prompt: ęłěíë ¤ëŠ´ ěí¸ íě¸
datetime:
distance_in_words:
about_x_hours: "%{count}ěę°"
@@ -784,6 +792,18 @@ ko:
too_many: ěľë 4ę°ęšě§ 첨ëśí ě ěěľëë¤
migrations:
acct: ě ęłě ě username@domain
+ cancel: 댏ëë ě 졨ě
+ errors:
+ not_found: ě°žě ě ěěľëë¤
+ incoming_migrations: ë¤ëĽ¸ ęłě ěźëĄëśí° ěŽę¸°ę¸°
+ on_cooldown: ëšě ě ěľęˇźě ě´ëŻ¸ ęłě ě ě´ëíěľëë¤. ě´ ę¸°ëĽě %{count} ěź íě ë¤ě ě´ěŠ ę°ëĽíŠëë¤.
+ past_migrations: ě´ě ë§ě´ęˇ¸ë ě´ě
+ proceed_with_move: íëĄě ě´ë
+ redirecting_to: ëšě ě ęłě ě %{acct} ëĄ ëŚŹë¤ě´ë í¸ëŠëë¤.
+ warning:
+ before: 'ě§íí기 ě , 죟ěěŹíě ęźźęźźí ě˝ě´ëł´ě¸ě:'
+ followers: ě´ íëě íěŹ ęłě ě 모ë íëĄě뼟 ě ęłě ěźëĄ ě´ëěíľëë¤
+ other_data: ë¤ëĽ¸ ě´ë¤ ë°ě´í°ë ěëě ěźëĄ ěŽę˛¨ě§ě§ ěě ę˛ě ëë¤
moderation:
title: 모ëë ě´ě
notification_mailer:
@@ -926,6 +946,7 @@ ko:
settings:
account: ęłě
account_settings: ęłě ě¤ě
+ aliases: ęłě ëłëŞ
appearance: ě¸ę´
authorized_apps: ě¸ěŚë ě í댏ěźě´ě
back: ëěę°ę¸°
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 1878a95a250..213d213c346 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -40,6 +40,7 @@ nl:
reason: 'Reden:'
rejecting_media: Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken.
silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
+ suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld.
user_count_after:
one: gebruiker
other: gebruikers
@@ -510,8 +511,8 @@ nl:
title: Toots van account
with_media: Met media
tags:
- accounts_today: Aantal unieke keren vandaag gebruikt
- accounts_week: Aantal unieke keren deze week gebruikt
+ accounts_today: Aantal verschillende keren vandaag gebruikt
+ accounts_week: Aantal verschillende keren deze week gebruikt
breakdown: Uitsplitsing van het gebruik van vandaag naar bron
context: Context
directory: In de gebruikersgids
@@ -524,8 +525,9 @@ nl:
reviewed: Beoordeeld
title: Hashtags
trending_right_now: Op dit moment trending
- unique_uses_today: "%{count} toots vandaag"
+ unique_uses_today: "%{count} keer vandaag gebruikt"
unreviewed: Niet beoordeeld
+ updated_msg: Instellingen hashtag succesvol bijgewerkt
title: Beheer
warning_presets:
add_new: Nieuwe toevoegen
@@ -541,6 +543,11 @@ nl:
body: "%{reporter} heeft %{target} gerapporteerd"
body_remote: Iemand van %{domain} heeft %{target} gerapporteerd
subject: Nieuwe rapportage op %{instance} (#%{id})
+ aliases:
+ add_new: Alias aanmaken
+ created_msg: Succesvol een nieuwe alias aangemaakt. Je kunt nu met de verhuizing vanaf het oude account beginnen.
+ deleted_msg: De alias is succesvol verwijderd. Verhuizen vanaf dat account naar dit account is niet meer mogelijk.
+ remove: Alias ontkoppelen
appearance:
advanced_web_interface: Geavanceerde webomgeving
advanced_web_interface_hint: 'Wanneer je van de hele schermbreedte gebruik wilt maken, stelt de geavanceerde webomgeving je in staat om meerdere verschillende kolommen te configureren. Hiermee kun je zoveel mogelijk informatie op hetzelfde moment bekijken, zoals: Start, meldingen, de globale tijdlijn, meerdere lijsten en hashtags.'
@@ -569,6 +576,8 @@ nl:
checkbox_agreement_html: Ik ga akkoord met de regels van deze server en de gebruiksvoorwaarden
delete_account: Account verwijderen
delete_account_html: Wanneer je jouw account graag wilt verwijderen, kun je dat hier doen. We vragen jou daar om een bevestiging.
+ description:
+ prefix_sign_up: Registreer je vandaag nog op Mastodon!
didnt_get_confirmation: Geen bevestigingsinstructies ontvangen?
forgot_password: Wachtwoord vergeten?
invalid_reset_password_token: De code om jouw wachtwoord opnieuw in te stellen is verlopen. Vraag een nieuwe aan.
@@ -590,6 +599,7 @@ nl:
title: Instellen
status:
account_status: Accountstatus
+ functional: Jouw account is volledig operationeel.
trouble_logging_in: Problemen met inloggen?
authorize_follow:
already_following: Je volgt dit account al
@@ -626,10 +636,15 @@ nl:
confirm_username: Voer uw gebruikersnaam in om de procedure te bevestigen
proceed: Account verwijderen
success_msg: Jouw account is succesvol verwijderd
+ warning:
+ username_available: Jouw gebruikersnaam zal weer beschikbaar komen
+ username_unavailable: Jouw gebruikersnaam zal onbeschikbaar blijven
directories:
directory: Gebruikersgids
explanation: Ontdek gebruikers aan de hand van hun interesses
explore_mastodon: "%{title} verkennen"
+ domain_validator:
+ invalid_domain: is een ongeldige domeinnaam
errors:
'400': The request you submitted was invalid or malformed.
'403': Jij hebt geen toestemming om deze pagina te bekijken.
@@ -763,6 +778,7 @@ nl:
too_many: Er kunnen niet meer dan 4 afbeeldingen toegevoegd worden
migrations:
acct: Verhuisd naar
+ cancel: Doorverwijzing annuleren
cancelled_msg: De doorverwijzing is succesvol geannuleerd.
errors:
already_moved: is hetzelfde account waarnaar je al naar toe bent verhuisd
@@ -989,6 +1005,8 @@ nl:
pinned: Vastgemaakte toot
reblogged: boostte
sensitive_content: Gevoelige inhoud
+ tags:
+ does_not_match_previous_name: komt niet overeen met de vorige naam
terms:
body_html: |
Privacy Policy
@@ -1106,7 +1124,9 @@ nl:
disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven.
silence: Zolang jouw account wordt beperkt, kunnen alleen mensen die jou al volgen jouw toots op deze server zien. Tevens ben je niet zichtbaar in meldingen, gesprekken en op openbare tijdlijnen. Anderen kunnen je echter wel handmatig volgen.
suspend: Jouw account is opgeschort. Jouw toots en geĂźploade media zijn onomkeerbaar van deze server verwijderd, en ook o.a. van de servers waar jij volgers had.
+ get_in_touch: Je kunt deze e-mail beantwoorden om in contact te komen met de medewerkers van %{instance}.
review_server_policies: Serverbeleid bekijken
+ statuses: 'Met name voor:'
subject:
disable: Jouw account %{acct} is bevroren
none: Waarschuwing voor %{acct}
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 2d11d3399fc..101483c3eab 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -32,6 +32,9 @@ oc:
status_count_before: quâan escrich
tagline: Seguètz dâamics e trobatz-ne de nòus
terms: Condicions dâutilizacion
+ unavailable_content: Contengut pas disponible
+ unavailable_content_description:
+ reason: 'Motiu :'
user_count_after:
one: utilizaire
other: utilizaires
@@ -486,6 +489,10 @@ oc:
context: Contèxt
directory: A lâannuari
in_directory: "%{count} a lâannuari"
+ last_active: Darrièra activitat
+ most_popular: Mai popularas
+ most_recent: Mai recentas
+ name: Etiqueta
title: Etiquetas
title: Administracion
warning_presets:
@@ -507,6 +514,7 @@ oc:
advanced_web_interface_hint: 'Se volètz utilizar la nautor complèta de lâecran, lâinterfĂ cia web avançada vos permet de configurar diferentas colomnas per mostrar tan dâinformacions que volètz : Acuèlh, notificacions, flux dâactualitat, e dâautras listas e etiquetas.'
animations_and_accessibility: Animacion e accessibilitat
confirmation_dialogs: Fenèstras de confirmacion
+ discovery: Descobèrta
sensitive_content: Contengut sensible
application_mailer:
notification_preferences: Cambiar las preferÊncias de corrièl
@@ -562,6 +570,10 @@ oc:
return: Veire lo perfil a la persona
web: Tornar a lâinterfĂ cia Web
title: Sègre %{acct}
+ challenge:
+ confirm: Contunhar
+ invalid_password: Senhal invalid
+ prompt: Confirmatz lo senhal per dire de contunhar
datetime:
distance_in_words:
about_x_hours: "%{count} h"
@@ -584,6 +596,8 @@ oc:
directory: Annuari de perfils
explanation: Trobar dâutilizaires segon lor interèsses
explore_mastodon: Explorar %{title}
+ domain_validator:
+ invalid_domain: es pas un nom de domeni valid
errors:
'400': The request you submitted was invalid or malformed.
'403': Avètz pas lâautorizacion de veire aquesta pagina.
@@ -641,6 +655,7 @@ oc:
developers: Desvolopaires
more: MaiâŚ
resources: Ressorsas
+ trending_now: TendĂŠncia del moment
generic:
all: Tot
changes_saved_msg: Cambiaments ben realizatsâŻ!
@@ -716,6 +731,10 @@ oc:
too_many: Se pòt pas ajustar mai de 4 fichièrs
migrations:
acct: nomutilizaire@domeni del nòu compte
+ errors:
+ move_to_self: pòt pas èsser lo compte actual
+ not_found: impossible de trobar
+ proceed_with_move: Desplaçar los seguidors
moderation:
title: Moderacion
notification_mailer:
@@ -1038,6 +1057,7 @@ oc:
silence: Del temps que vòstre compte es limitat, solament lo monde que vos sègon veirĂ n vòstres tuts sus aqueste servidor, e poiriatz èsser tirat de mantunas listas publicas. Pasmens, dâautres vos pòdon sègre manualament.
suspend: Vòstre compte es suspendut e totes vòstres tuts e fichièrs enviats son estats suprimits sens retorn possible dâaqueste servidor e los de vòstres seguidors.
review_server_policies: Repassar las politicas del servidor
+ statuses: 'Especificament per :'
subject:
disable: Vòstre compte %{acct} es gelat
none: Avertiment per %{acct}
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index ac7e709084b..32ea8caf650 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -7,6 +7,7 @@ pt-BR:
active_count_after: Ativo
active_footnote: UsuĂĄrios ativos mensais (UAM)
administered_by: 'Administrado por:'
+ api: API
apps: Apps
apps_platforms: Use o Mastodon a partir de iOS, Android e outras plataformas
browse_directory: Navegue pelo diretĂłrio de perfis e filtre por interesses
@@ -28,6 +29,11 @@ pt-BR:
status_count_before: Autores de
tagline: Siga amigos e encontre novos
terms: Termos de serviço
+ unavailable_content: ConteĂşdo indisponĂvel
+ unavailable_content_description:
+ reason: 'Motivo:'
+ suspended: VocĂŞ nĂŁo serĂĄ capaz de seguir ninguĂŠm deste servidor, e nenhum dado dele serĂĄ processado ou armazenado, e nenhum dado trocado.
+ unavailable_content_html: Mastodon geralmente permite que vocĂŞ veja o conteĂşdo e interaja com usuĂĄrios de qualquer outro servidor no fediverso. Estas sĂŁo as exceçþes deste servidor especĂfico.
user_count_after:
one: usuĂĄrio
other: usuĂĄrios
@@ -35,6 +41,7 @@ pt-BR:
what_is_mastodon: O que ĂŠ Mastodon?
accounts:
choices_html: 'Escolhas de %{name}:'
+ featured_tags_hint: VocĂŞ pode destacar hashtags especĂficas que serĂŁo exibidas aqui.
follow: Seguir
followers:
one: Seguidor
@@ -46,11 +53,16 @@ pt-BR:
media: MĂdia
moved_html: "%{name} se mudou para %{new_profile_link}:"
network_hidden: Esta informação nĂŁo estĂĄ disponĂvel
+ never_active: Nunca
nothing_here: NĂŁo hĂĄ nada aqui!
people_followed_by: Pessoas que %{name} segue
people_who_follow: Pessoas que seguem %{name}
pin_errors:
following: VocĂŞ tem que estar seguindo a pessoa que vocĂŞ quer sugerir
+ posts:
+ one: Toot
+ other: Toots
+ posts_tab_heading: Toots
posts_with_replies: Toots e respostas
reserved_username: Este usuĂĄrio estĂĄ reservado
roles:
@@ -72,6 +84,7 @@ pt-BR:
approve: Aprovar
approve_all: Aprovar tudo
are_you_sure: VocĂŞ tem certeza?
+ avatar: Imagem de Perfil
by_domain: DomĂnio
change_email:
changed_msg: E-mail da conta modificado com sucesso!
@@ -102,9 +115,11 @@ pt-BR:
header: Cabeçalho
inbox_url: URL da caixa de entrada
invited_by: Convidado por
+ ip: IP
joined: Se cadastrou
location:
all: Todos
+ local: Local
remote: Remoto
title: Localização
login_status: Situação de login
@@ -160,6 +175,7 @@ pt-BR:
statuses: Postagens
subscribe: Inscrever-se
suspended: Suspenso
+ time_in_queue: Esperando na fila por %{time}
title: Contas
unconfirmed_email: E-mail nĂŁo confirmado
undo_silenced: Retirar silenciamento
@@ -167,6 +183,7 @@ pt-BR:
unsubscribe: Desinscrever-se
username: Nome de usuĂĄrio
warn: Notificar
+ web: Web
action_logs:
actions:
assigned_to_self_report: "%{name} designou a denĂşncia %{target} para si"
@@ -202,15 +219,18 @@ pt-BR:
deleted_status: "(status deletado)"
title: Auditar relatĂłrio
custom_emojis:
+ assign_category: Designar Categoria
by_domain: DomĂnio
copied_msg: CĂłpia local do emoji criada com sucesso
copy: Copiar
copy_failed_msg: NĂŁo foi possĂvel criar uma cĂłpia local deste emoji
+ create_new_category: Criar nova categoria
created_msg: Emoji criado com sucesso!
delete: Excluir
destroyed_msg: Emoji deletado com sucesso!
disable: Desabilitar
disabled_msg: Emoji desabilitado com sucesso
+ emoji: Emoji
enable: Habilitar
enabled_msg: Emoji habilitado com sucesso
image_hint: PNG de atĂŠ 50KB
@@ -221,6 +241,7 @@ pt-BR:
shortcode: Atalho
shortcode_hint: Pelo menos 2 caracteres, apenas caracteres alfanumĂŠricos e underscores
title: Emojis customizados
+ uncategorized: NĂŁo categorizado
unlisted: NĂŁo listado
update_failed_msg: NĂŁo foi possĂvel atualizar esse emoji
updated_msg: Emoji atualizado com sucesso!
@@ -233,13 +254,17 @@ pt-BR:
feature_profile_directory: DiretĂłrio de perfis
feature_registrations: Cadastros
feature_relay: Repetidor da federação
+ feature_spam_check: Anti-spam
feature_timeline_preview: prÊ-visualização da timeline
features: Funcionalidades
hidden_service: Federação com serviços onion
open_reports: DenĂşncias em aberto
+ pending_tags: hashtags aguardando revisĂŁo
+ pending_users: usuĂĄrios aguardando revisĂŁo
recent_users: UsuĂĄrios recentes
search: Pesquisa em texto
single_user_mode: Modo de usuĂĄrio Ăşnico
+ software: Software
space: Uso de espaço em disco
title: Painel de controle
total_users: usuĂĄrios no total
@@ -252,6 +277,8 @@ pt-BR:
created_msg: Bloqueio de domĂnio estĂĄ sendo processado
destroyed_msg: Bloqueio de domĂnio desfeito
domain: DomĂnio
+ edit: Editar bloqueio de domĂnio
+ existing_domain_block_html: VocĂŞ jĂĄ impĂ´s limites mais restritivos a %{name}, ĂŠ necessĂĄrio primeiro desbloqueĂĄ-lo.
new:
create: Criar bloqueio
hint: O bloqueio de domĂnio nĂŁo prevenirĂĄ a criação de entradas de contas na base de dados, mas vai reatroativa e automaticamente aplicar mĂŠtodos especĂficos de moderação nestas contas.
@@ -261,6 +288,8 @@ pt-BR:
silence: SilĂŞncio
suspend: SuspensĂŁo
title: Novo bloqueio de domĂnio
+ private_comment: ComentĂĄrio privado
+ public_comment: ComentĂĄrio pĂşblico
reject_media: Rejeitar arquivos de mĂdia
reject_media_hint: Remove arquivos de mĂdia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensĂľes
reject_reports: Rejeitar denĂşncias
@@ -280,6 +309,7 @@ pt-BR:
title: Retirar bloqueio de domĂnio de %{domain}
undo: Retirar
undo: Retirar bloqueio de domĂnio
+ view: Ver domĂnios bloqueados
email_domain_blocks:
add_new: Adicionar novo
created_msg: Bloqueio de domĂnio de e-mail criado com sucesso
@@ -303,6 +333,8 @@ pt-BR:
all: Todas
limited: Limitado
title: Moderação
+ private_comment: ComentĂĄrio privado
+ public_comment: ComentĂĄrio pĂşblico
title: Federação
total_blocked_by_us: Bloqueado por nĂłs
total_followed_by_them: Seguidos por eles
@@ -378,6 +410,15 @@ pt-BR:
custom_css:
desc_html: Modificar o visual com CSS que ĂŠ carregado em todas as pĂĄginas
title: CSS customizado
+ default_noindex:
+ desc_html: Afeta qualquer usuårio que não tenha modificado esta configuração manualmente
+ domain_blocks:
+ all: Para todo mundo
+ disabled: Para ninguĂŠm
+ title: Mostrar domĂnios bloqueados
+ users: Para usuĂĄrios locais logados
+ domain_blocks_rationale:
+ title: Visualizar justificativa
hero:
desc_html: Aparece na pågina inicial. Ao menos 600x100px Ê recomendado. Se não estiver definido, o thumbnail da instância Ê usado no lugar
title: Imagem de capa
@@ -428,6 +469,8 @@ pt-BR:
desc_html: VocĂŞ pode escrever a sua prĂłpria polĂtica de privacidade, termos de serviço, entre outras coisas. VocĂŞ pode usar tags HTML
title: Termos de serviço customizados
site_title: Nome da instância
+ spam_check_enabled:
+ title: Automação anti-spam
thumbnail:
desc_html: Usada para prĂŠvias via OpenGraph e API. Recomenda-se 1200x630px
title: Miniatura da instância
@@ -435,12 +478,15 @@ pt-BR:
desc_html: Exibir a timeline pĂşblica na pĂĄgina inicial
title: PrĂŠvia da timeline
title: Configuraçþes do site
+ trends:
+ title: Hashtags em alta
statuses:
back_to_account: Voltar para pĂĄgina da conta
batch:
delete: Deletar
nsfw_off: Marcar como nĂŁo-sensĂvel
nsfw_on: Marcar como sensĂvel
+ deleted: ExcluĂdos
failed_to_execute: Falha em executar
media:
title: MĂdia
@@ -448,6 +494,16 @@ pt-BR:
no_status_selected: Nenhum status foi modificado porque nenhum estava selecionado
title: Postagens da conta
with_media: Com mĂdia
+ tags:
+ context: Contexto
+ directory: No diretĂłrio
+ most_popular: Mais populares
+ most_recent: Mais recentes
+ name: Hashtag
+ title: Hashtags
+ trending_right_now: Em alta no momento
+ unreviewed: NĂŁo revisadas
+ updated_msg: Configuraçþes de hashtag atualizadas com sucesso
title: Administração
warning_presets:
add_new: Adicionar um novo
@@ -463,8 +519,14 @@ pt-BR:
body: "%{reporter} denunciou %{target}"
body_remote: AlguÊm da instância %{domain} reportou %{target}
subject: Nova denĂşncia sobre %{instance} (#%{id})
+ appearance:
+ animations_and_accessibility: Animaçþes e acessibilidade
+ confirmation_dialogs: Popups de confirmação
+ discovery: Descobrir
+ sensitive_content: ConteĂşdo sensĂvel
application_mailer:
notification_preferences: Mudar preferĂŞncias de e-mail
+ salutation: "%{name},"
settings: 'Mudar e-mail de preferĂŞncia: %{link}'
view: 'Visualizar:'
view_profile: Ver perfil
@@ -481,8 +543,13 @@ pt-BR:
apply_for_account: Pedir um convite
change_password: Senha
checkbox_agreement_html: Eu concordo com as regras do servidor e com os termos de serviço
+ checkbox_agreement_without_rules_html: Concordo com os termos do serviço
delete_account: Excluir conta
delete_account_html: Se você deseja excluir a sua conta, você pode prosseguir para cå. Uma confirmação serå requisitada.
+ description:
+ prefix_invited_by_user: "@%{name} convidou vocĂŞ para entrar neste servidor do Mastodon!"
+ prefix_sign_up: Cadastre-se no Mastodon hoje!
+ suffix: Com uma conta, você poderå seguir pessoas, postar atualizaçþes, trocar mensagens com usuårios de qualquer servidor Mastodon e muito mais!
didnt_get_confirmation: Não recebeu instruçþes de confirmação?
forgot_password: Esqueceu a sua senha?
invalid_reset_password_token: Token de modificação de senha Ê invålido ou expirou. Por favor, requisite um novo.
@@ -491,6 +558,9 @@ pt-BR:
migrate_account: Mudar para uma conta diferente
migrate_account_html: Se vocĂŞ quer redirecionar essa conta para uma outra vocĂŞ pode configurar isso aqui.
or_log_in_with: Ou faça login com
+ providers:
+ cas: CAS
+ saml: SAML
register: Cadastrar-se
registration_closed: "%{instance} nĂŁo estĂĄ aceitando novos membros"
resend_confirmation: Reenviar instruçþes de confirmação
@@ -509,8 +579,12 @@ pt-BR:
return: Exibir o perfil do usuĂĄrio
web: Voltar para a pĂĄgina inicial
title: Seguir %{acct}
+ challenge:
+ invalid_password: Senha invĂĄlida
+ prompt: Confirme sua senha para continuar
datetime:
distance_in_words:
+ about_x_hours: "%{count}h"
about_x_months: "%{count} meses"
about_x_years: "%{count} anos"
almost_x_years: "%{count} anos"
@@ -523,9 +597,16 @@ pt-BR:
x_months: "%{count} meses"
x_seconds: "%{count} segundos"
deletes:
+ challenge_not_passed: As informaçþes que você inseriu não estão corretas
confirm_password: Insira a sua senha atual para verificar a sua identidade
+ confirm_username: Digite seu nome de usuĂĄrio para confirmar o procedimento
proceed: Excluir conta
success_msg: A sua conta foi excluĂda com sucesso
+ warning:
+ before: 'Antes de prosseguir, por favor leia com cuidado:'
+ data_removal: Suas postagens e outros dados serĂŁo removidos permanentemente
+ username_available: Seu nome de usuĂĄrio ficarĂĄ disponĂvel novamente
+ username_unavailable: Seu nome de usuĂĄrio permanecerĂĄ indisponĂvel
directories:
directory: DiretĂłrio de perfis
explanation: Descobrir usuĂĄrios baseado em seus interesses
@@ -557,6 +638,7 @@ pt-BR:
request: Solicitar o seu arquivo
size: Tamanho
blocks: VocĂŞ bloqueou
+ csv: CSV
domain_blocks: Bloqueios de domĂnio
follows: VocĂŞ segue
lists: Listas
@@ -661,6 +743,15 @@ pt-BR:
too_many: NĂŁo ĂŠ possĂvel anexar mais de 4 imagens
migrations:
acct: username@domain da nova conta
+ incoming_migrations: Migrando de outra conta
+ moved_msg: Agora sua conta estĂĄ redirecionando para %{acct} e seus seguidores estĂŁo sendo movidos.
+ not_redirecting: Sua conta nĂŁo estĂĄ redirecionando para nenhuma outra conta atualmente.
+ on_cooldown: VocĂŞ migrou recentemente sua conta. Esta função ficarĂĄ disponĂvel novamente em %{count} dias.
+ past_migrations: Migraçþes passadas
+ proceed_with_move: Migrar seguidores
+ redirecting_to: Sua conta estĂĄ redirecionando para %{acct}.
+ warning:
+ before: 'Antes de prosseguir, por favor leia com cuidado:'
moderation:
title: Moderação
notification_mailer:
@@ -752,13 +843,40 @@ pt-BR:
activity: Ăltima atividade
browser: Navegador
browsers:
+ alipay: Alipay
+ blackberry: BlackBerry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
generic: Navegador desconhecido
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
+ uc_browser: UCBrowser
+ weibo: Weibo
current_session: SessĂŁo atual
description: "%{browser} em %{platform}"
explanation: Estes sĂŁo os navegadores que estĂŁo conectados com a sua conta do Mastodon.
+ ip: IP
platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ linux: Linux
+ mac: Mac
other: Plataforma desconhecida
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: Revogar
revoke_success: SessĂŁo revogada com sucesso
title: SessĂľes
@@ -782,6 +900,8 @@ pt-BR:
profile: Perfil
relationships: Seguindo e seguidores
two_factor_authentication: Autenticação em dois passos
+ spam_check:
+ spam_detected_and_silenced: Este Ê um relatório automatizado. Spam foi detectado e o remetente foi silenciado automaticamente. Se isto for um erro, por favor, desfaça esta ação.
statuses:
attached:
description: 'Anexado: %{attached}'
@@ -811,6 +931,7 @@ pt-BR:
vote: Votar
show_more: Mostrar mais
sign_in_to_participate: Entre para participar dessa conversa
+ title: '%{name}: "%{quote}"'
visibilities:
private: Apenas seguidores
private_long: Mostrar apenas para seguidores
@@ -822,6 +943,8 @@ pt-BR:
pinned: Toot fixado
reblogged: compartilhou
sensitive_content: ConteĂşdo sensĂvel
+ tags:
+ does_not_match_previous_name: nĂŁo corresponde ao nome anterior
terms:
body_html: |
PolĂtica de privacidade
@@ -938,6 +1061,7 @@ pt-BR:
disable: Enquanto sua conta estå congelada, seus dados estão intactos, mas você não pode realizar nenhuma ação atÊ que sua conta seja desbloqueada.
silence: Enquanto sua conta estĂĄ limitada, somente pessoas que jĂĄ estĂŁo seguindo vocĂŞ poderĂŁo ver seus toots nesse servidor, e vocĂŞ pode ser excluĂdo de diversas listagens pĂşblicas. No entanto, outros ainda podem seguir vocĂŞ manualmente.
suspend: Sua conta estĂĄ suspensa e todos os seus toots e mĂdias foram irreversivelmente removidas desse servidor e de servidores onde vocĂŞ tinha seguidores.
+ get_in_touch: VocĂŞ pode responder a este e-mail para entrar em contato com a equipe de %{instance}.
review_server_policies: Revisar as polĂticas do servidor
subject:
disable: Sua conta %{acct} foi congelada
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 1d5ecae9592..93e052f2719 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -2,9 +2,14 @@
cy:
simple_form:
hints:
+ account_alias:
+ acct: Rhowch enwdefnyddiwr@parth y cyfrif rydych chi am symud ohono
+ account_migration:
+ acct: Rhowch enwdefnyddiwr@parth y cyfrif rydych chi am symud iddo
account_warning_preset:
text: Gallwch defnyddio cystrawen tĹľt, fel URLs, hashnodau a sĂ´niadau
admin_account_action:
+ include_statuses: Bydd y defnyddiwr yn gweld pa tĹľtiau sydd wedi achosi'r weithred gymedroli neu'r rhybudd
send_email_notification: Bydd y defnyddiwr yn derbyn esboniad o beth digwyddodd gyda'i cyfrif
text_html: Yn ddewisol. Gallwch defnyddio cystrawen tĹľt. Gallwch ychwanegu rhagosodiadau rhybydd i arbed amser
type_html: Dewis beth i wneud gyda %{acct}
@@ -14,7 +19,10 @@ cy:
avatar: PNG, GIF neu JPG. %{size} ar y mwyaf. Caiff ei israddio 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
+ discoverable: Mae'r cyfeirlyfr proffil yn ffordd arall y gall eich cyfrif gyrraedd cynulleidfa ehangach
email: Byddwch yn derbyn e-bost i gadarnhau
fields: Mae modd i chi arddangos hyd at 4 eitem fel tabl ar eich proffil
header: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px
@@ -34,10 +42,15 @@ cy:
setting_noindex: Mae hyn yn effeithio ar eich proffil cyhoeddus a'ch tudalennau statws
setting_show_application: Bydd y offer frydych yn defnyddio i dĹľtio yn cael ei arddangos yn golwg manwl eich tĹľtiau
setting_use_blurhash: Mae graddiannau wedi'u seilio ar liwiau'r delweddau cudd ond maent yn cuddio unrhyw fanylion
+ setting_use_pending_items: Cuddio diweddariadau llinell amser y tu Ă´l i glic yn lle sgrolio yn awtomatig
username: Bydd eich enw defnyddiwr yn unigryw ar %{domain}
whole_word: Os yw'r allweddair neu'r ymadrodd yn alffaniwmerig yn unig, mi fydd ond yn cael ei osod os yw'n cyfateb a'r gair cyfan
+ domain_allow:
+ domain: Bydd y parth hwn yn gallu nĂ´l data o'r gweinydd hwn a bydd data sy'n dod i mewn ohono yn cael ei brosesu a'i storio
featured_tag:
name: 'Efallai hoffech defnyddio un o''r rhain:'
+ form_challenge:
+ current_password: Rydych chi'n mynd i mewn i ardal sicr
imports:
data: Allforiwyd dogfen CSV o achos Mastodon arall
invite_request:
@@ -110,6 +123,7 @@ cy:
setting_theme: Thema'r wefan
setting_unfollow_modal: Dangos deialog cadarnhau cyn dad-ddilyn rhywun
setting_use_blurhash: Dangoswch raddiannau lliwgar ar gyfer cyfryngau cudd
+ setting_use_pending_items: Modd araf
severity: Difrifoldeb
type: Modd mewnforio
username: Enw defnyddiwr
@@ -121,6 +135,8 @@ cy:
must_be_follower: Blocio hysbysiadau o bobl nad ydynt yn eich dilyn
must_be_following: Blocio hysbysiadau o bobl nad ydych yn eu dilyn
must_be_following_dm: Blocio negeseuon uniongyrchol o bobl nad ydych yn eu dilyn
+ invite:
+ comment: Sylw
invite_request:
text: Pam hoffech ymuno?
notification_emails:
@@ -132,6 +148,11 @@ cy:
pending_account: Anfon ebost pan mae cyfrif newydd angen adolygiad
reblog: Anfon e-bost pan mae rhywun yn bĹľstio eich statws
report: Anfon e-bost pan y cyflwynir adroddiad newydd
+ tag:
+ listable: Gadewch i'r hashnod hwn ymddangos mewn chwiliadau ac ar y cyfeiriadur proffil
+ name: Hashnod
+ trendable: Gadewch i'r hashnod hwn ymddangos o dan dueddiadau
+ usable: CaniatĂĄu i tĹľtiau ddefnyddio'r hashnod hwn
'no': Na
recommended: Argymhellwyd
required:
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 898d200d292..2fb33dbc3ca 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -2,6 +2,10 @@
es:
simple_form:
hints:
+ account_alias:
+ acct: Especifique el nombre de usuario@dominio de la cuenta desde la cual se desea migrar
+ account_migration:
+ acct: Especifique el nombre de usuario@dominio de la cuenta a la cual se desea migrar
account_warning_preset:
text: Puede usar sintaxis de toots, como URLs, hashtags y menciones
admin_account_action:
@@ -15,6 +19,8 @@ es:
avatar: 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
discoverable: El directorio del perfil es otra forma en la que su cuenta puede llegar a un pĂşblico mĂĄs amplio
email: Se le enviarĂĄ un correo de confirmaciĂłn
@@ -43,6 +49,8 @@ es:
domain: Este dominio podrĂĄ obtener datos de este servidor y los datos entrantes serĂĄn procesados y archivados
featured_tag:
name: 'Puede que quieras usar uno de estos:'
+ form_challenge:
+ current_password: EstĂĄs entrando en un ĂĄrea segura
imports:
data: Archivo CSV exportado desde otra instancia de Mastodon
invite_request:
@@ -58,6 +66,10 @@ es:
fields:
name: Etiqueta
value: Contenido
+ account_alias:
+ acct: Maneja la cuenta antigua
+ account_migration:
+ acct: Maneja la cuenta nueva
account_warning_preset:
text: Texto predefinido
admin_account_action:
@@ -131,6 +143,8 @@ es:
must_be_follower: Bloquear notificaciones de personas que no te siguen
must_be_following: Bloquear notificaciones de personas que no sigues
must_be_following_dm: Bloquear mensajes directos de la gente que no sigues
+ invite:
+ comment: Comentar
invite_request:
text: "ÂżPor quĂŠ quiere unirse usted?"
notification_emails:
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index 90e644e556f..b9f0e937279 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -2,9 +2,14 @@
fa:
simple_form:
hints:
+ account_alias:
+ acct: ŮشاŮŰ username@domain عا Ř¨ŘąŘ§Ű ŘŘłŘ§Ř¨Ű ÚŠŮ Ů ŰâŘŽŮاŮŰŘŻ از آ٠٠ŮŘŞŮŮ Ř´ŮŰŘŻ بŮŮŰŘłŰŘŻ
+ account_migration:
+ acct: ŮشاŮŰ username@domain عا Ř¨ŘąŘ§Ű ŘŘłŘ§Ř¨Ű ÚŠŮ Ů ŰâŘŽŮاŮŰŘŻ ب٠آ٠٠ŮŘŞŮŮ Ř´ŮŰŘŻ بŮŮŰŘłŰŘŻ
account_warning_preset:
text: Ů ŰâŘŞŮاŮŰŘŻ ٠اŮŮŘŻ بŮŮâŮŘ§Ű Ů ŘšŮ ŮŮŰ ÚŠŘ§ŘąŘ¨ŘąŘ§Ů ŘŻŰÚŻŘą عا Ůا٠ببعŰŘŻ Űا ŮžŰŮŮŘŻ ٠بعÚسب بگذاعŰŘŻ
admin_account_action:
+ include_statuses: اŰ٠ڊاعبع ŘŽŮاŮŘŻ ŘŻŰŘŻ ڊ٠ڊدا٠بŮ٠ا٠٠Ů؏ب اŮدا٠٠دŰŘąŰŘŞŰ Űا Ůشداع شد٠است
send_email_notification: ŘŞŮŘśŰŘŰ ÚŠŮ ÚŠŘ§ŘąŘ¨Řą Ů ŰâبŰŮŰŘŻ ÚŠŮ Ř¨ŘąŘ§Ű Řسابش Ú٠ع؎ داد٠است
text_html: ا؎تŰاعŰ. Ů ŰâŘŞŮاŮŰŘŻ ٠؍٠بŮŮâŮŘ§Ű Ů ŘšŮ ŮŮŰ Ř¨ŮŮŰŘłŰŘŻ. Ů ŰâŘŞŮاŮŰŘŻ Ř¨ŘąŘ§Ű ŘľŘąŮŮâŘŹŮŰŰ ŘŻŘą ز٠ا٠ŮشداعŮŘ§Ű Ř§Ř˛ŮžŰŘ´âآ٠اد٠بŰŮزاŰŰŘŻ
type_html: با Řساب %{acct} Ů ŰâŘŽŮاŮŰŘŻ Ú٠ڊاع ÚŠŮŰŘŻŘâ
@@ -14,7 +19,10 @@ fa:
avatar: ŰÚŠŰ Ř§Ř˛ ŮاŮبâŮŘ§Ű PNG Űا GIF Űا JPG. بŰŘ´ŘŞŘąŰ٠اŮداز٠%{size}. ŘŞŘľŮŰŘą ب٠اŮدازŮŮ %{dimensions} ŮžŰڊس٠تبدŰŮ ŘŽŮاŮŘŻ Ř´ŘŻ
bot: اŰŮ Řساب بŰŘ´ŘŞŘą ب٠ءŮŘą ŘŽŮدڊاع ŮؚاŮŰŘŞ Ů ŰâÚŠŮŘŻ Ů Ůظاعت ŮžŰŮستŮâŘ§Ű ŘąŮŰ Ř˘Ů ŮŘŹŮŘŻ Ůداعد
context: ŰÚŠ Űا ÚŮŘŻ ز٠ŰŮŮ ÚŠŮ ŮŰŮŘŞŘą باŰŘŻ ŘŻŘą آŮâŮا اؚ٠ا٠شŮŘŻ
+ current_password: ب٠دŮاŰ٠ا٠ŮŰŘŞŰ ŮءŮا٠ع٠ز اŰŮ Řساب عا Ůاعد ÚŠŮŰŘŻ
+ current_username: Ř¨ŘąŘ§Ű ŘŞŘŁŰŰŘŻŘ ŮءŮا٠ŮŘ§Ů ÚŠŘ§ŘąŘ¨ŘąŰ Řساب ŮŘšŮŰ ŘąŘ§ Ůاعد ÚŠŮŰŘŻ
digest: ŘŞŮŮا ŮŮŘŞŰ Ůعستاد٠٠ŰâŘ´ŮŘŻ ÚŠŮ Ů ŘŻŘŞŰ ŘˇŮŮاŮŰ ŮؚاŮŰŘŞŰ Ůداشت٠باشŰŘŻ Ů ŘŻŘą اŰŮ Ů ŘŻŘŞ Ř¨ŘąŘ§Ű Ř´Ů Ř§ ŮžŰغا٠؎ؾŮŘľŰâŘ§Ű ŮŮشت٠شد٠باشد
+ discoverable: ŮŮعست گزŰŘŻŮ٠ڊاعبعا٠اŰ٠سعŮŘą عا٠دŰÚŻŘąŰ Ř§ŘłŘŞ ڊ٠با آ٠Řساب ش٠ا Ů ŰâŘŞŮاŮŘŻ ٠؎اءبا٠بŰŘ´ŘŞŘąŰ ŮžŰدا ÚŠŮŘŻ
email: ب٠ش٠ا اŰŮ ŰŮ ŘŞŘŁŰŰŘŻŰ Ůعستاد٠؎ŮاŮŘŻ Ř´ŘŻ
fields: ش٠ا Ů ŰâŘŞŮاŮŰŘŻ تا ÚŮاع Ů Ůعد عا ŘŻŘą ŰÚŠ ŘŹŘŻŮŮ ŘŻŘą Ů٠اŰŮŮ ŘŽŮŘŻ Ů٠اŰŘ´ ŘŻŮŰŘŻ
header: ŰÚŠŰ Ř§Ř˛ ŮاŮبâŮŘ§Ű PNG Űا GIF Űا JPG. بŰŘ´ŘŞŘąŰ٠اŮداز٠%{size}. ŘŞŘľŮŰŘą ب٠اŮدازŮŮ %{dimensions} ŮžŰڊس٠تبدŰŮ ŘŽŮاŮŘŻ Ř´ŘŻ
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 9f2f15b07c2..c41292abf39 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -2,6 +2,10 @@
fr:
simple_form:
hints:
+ account_alias:
+ acct: SpĂŠcifiez le nom d'utilisateur@domaine du compte que vous souhaitez dĂŠplacer
+ account_migration:
+ acct: SpĂŠcifiez le nom d'utilisateur@domaine du compte vers lequel vous souhaitez dĂŠplacer
account_warning_preset:
text: Vous pouvez utiliser la syntaxe des pouets, comme les URLs, les hashtags et les mentions
admin_account_action:
@@ -15,6 +19,8 @@ fr:
avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera rĂŠduit Ă %{dimensions}px
bot: 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: Pour des raisons de sĂŠcuritĂŠ, veuillez saisir le mot de passe du compte courant
+ current_username: Pour confirmer, veuillez saisir le nom d'utilisateur du compte courant
digest: Uniquement envoyĂŠ après une longue pĂŠriode dâinactivitĂŠ et uniquement si vous avez reçu des messages personnels pendant votre absence
discoverable: Lâannuaire des profils est une autre façon pour votre compte dâatteindre une plus grand audience
email: Vous recevrez un courriel de confirmation
@@ -43,6 +49,8 @@ fr:
domain: Ce domaine pourra rĂŠcupĂŠrer des donnĂŠes de ce serveur et les donnĂŠes entrantes seront traitĂŠes et stockĂŠes
featured_tag:
name: 'Vous pourriez vouloir utiliser lâun dâentre eux :'
+ form_challenge:
+ current_password: Vous entrez une zone sĂŠcurisĂŠe
imports:
data: Un fichier CSV gĂŠnĂŠrĂŠ par un autre serveur de Mastodon
invite_request:
@@ -58,6 +66,10 @@ fr:
fields:
name: Ătiquette
value: Contenu
+ account_alias:
+ acct: Gestion de l'ancien compte
+ account_migration:
+ acct: Gestion du nouveau compte
account_warning_preset:
text: Texte de prĂŠsĂŠlection
admin_account_action:
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index a6db9e00651..7c0a81558b4 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -15,6 +15,8 @@ ko:
avatar: PNG, GIF íšě JPG. ěľë %{size}. %{dimensions}pxëĄ ë¤ě´ě¤ěźěź ë ę˛ě
bot: ěŹëë¤ěę˛ ęłě ě´ ěŹëě´ ěëě ě댽ëë¤
context: íí°ëĽź ě ěŠ í í ę° ě´ěě 읨í ě¤í¸
+ current_password: ëł´ěě ěí´ íěŹ ęłě ě ëšë°ë˛í¸ëĽź ě ë Ľí´ěŁźě¸ě
+ current_username: íě¸ě ěí´, íěŹ ęłě ě ě ě ëŞ ě ě ë Ľí´ěŁźě¸ě
digest: ě¤ëŤëě íëíě§ ěěě ë ë°ě ëŠě ë¤ě ëí ěě˝ ë°ę¸°
discoverable: íëĄí ëë í°ëŚŹë ë´ ęłě ě´ ë ë§ě ę´ěŹě ę°ę˛ í ě ěë ë¤ëĽ¸ ë°Šë˛ě ëë¤
email: ëšě ě íě¸ ëŠěźě ë°ę˛ ëŠëë¤
@@ -43,6 +45,8 @@ ko:
domain: ě´ ëëŠě¸ě ě´ ěë˛ěě ë°ě´í°ëĽź ę°ě ¸ę° ě ěęł ě´ ëëŠě¸ěě ëł´ë´ě§ ë°ě´í°ë ě˛ëŚŹëęł ě ěĽ ëŠëë¤
featured_tag:
name: 'ě´ę˛ë¤ě ěŹěŠí늴 ě˘ě ę˛ ę°ěľëë¤:'
+ form_challenge:
+ current_password: ëšě ě ëł´ě 꾏ěě ě§ě íęł ěěľëë¤
imports:
data: ë¤ëĽ¸ ë§ě¤í ë ěë˛ěě ěśěśë CSV íěź
invite_request:
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 9336a98466e..50a8efab168 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -124,6 +124,8 @@ oc:
must_be_follower: Blocar las notificacions del mond que vos sègon pas
must_be_following: Blocar las notificacions del mond que seguètz pas
must_be_following_dm: Blocar los messatges del monde que seguètz pas
+ invite:
+ comment: Comentari
invite_request:
text: PerquÊ volètz vos marcar�
notification_emails:
@@ -135,6 +137,11 @@ oc:
pending_account: Enviar un corrièl quand cal validar un compte novèl
reblog: Enviar un corrièl quand qualquâun tòrna partejar vòstre estatut
report: Enviar un corrièl pels nòus senhalaments
+ tag:
+ listable: Permetre a aquesta etiqueta dâaparĂŠisser a las recèrcas e a lâannuari de perfils
+ name: Etiqueta
+ trendable: Permetre a aquesta etiqueta dâaparĂŠisser a las tendĂŠncias
+ usable: Permetre als tuts dâutilizar aquesta etiqueta
'no': Non
recommended: Recomandat
required:
From 4fe5f8f3c7db8842fc58b8116bd1ae219ab068a9 Mon Sep 17 00:00:00 2001
From: Takeshi Umeda
Date: Sun, 22 Sep 2019 09:37:15 +0900
Subject: [PATCH 24/81] Add full numeric notation to the dashboard title
attribute (#11911)
---
app/views/admin/dashboard/index.html.haml | 24 +++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml
index 514637c4f05..2849f07aab8 100644
--- a/app/views/admin/dashboard/index.html.haml
+++ b/app/views/admin/dashboard/index.html.haml
@@ -4,35 +4,43 @@
.dashboard__counters
%div
= link_to admin_accounts_url(local: 1, recent: 1) do
- .dashboard__counters__num= number_to_human @users_count, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@users_count, strip_insignificant_zeros: true) }
+ = number_to_human @users_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.total_users'
%div
%div
- .dashboard__counters__num= number_to_human @registrations_week, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@registrations_week, strip_insignificant_zeros: true) }
+ = number_to_human @registrations_week, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.week_users_new'
%div
%div
- .dashboard__counters__num= number_to_human @logins_week, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@logins_week, strip_insignificant_zeros: true) }
+ = number_to_human @logins_week, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.week_users_active'
%div
= link_to admin_pending_accounts_path do
- .dashboard__counters__num= number_to_human @pending_users_count, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@pending_users_count, strip_insignificant_zeros: true) }
+ = number_to_human @pending_users_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.pending_users'
%div
= link_to admin_reports_url do
- .dashboard__counters__num= number_to_human @reports_count, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@reports_count, strip_insignificant_zeros: true) }
+ = number_to_human @reports_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.open_reports'
%div
= link_to admin_tags_path(pending_review: '1') do
- .dashboard__counters__num= number_to_human @pending_tags_count, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@pending_tags_count, strip_insignificant_zeros: true) }
+ = number_to_human @pending_tags_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.pending_tags'
%div
%div
- .dashboard__counters__num= number_to_human @interactions_week, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@interactions_week, strip_insignificant_zeros: true) }
+ = number_to_human @interactions_week, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.week_interactions'
%div
= link_to sidekiq_url do
- .dashboard__counters__num= number_to_human @queue_backlog, strip_insignificant_zeros: true
+ .dashboard__counters__num{ title: number_with_delimiter(@queue_backlog, strip_insignificant_zeros: true) }
+ = number_to_human @queue_backlog, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.backlog'
.dashboard__widgets
From 26b810561a5b7cfd1766699358d998b5882a5876 Mon Sep 17 00:00:00 2001
From: Jeong Arm
Date: Sun, 22 Sep 2019 19:58:29 +0900
Subject: [PATCH 25/81] Fix ugly TOC when title is too long (#11916)
* Fix ugly TOC when title is too long
* Fix TOC using grid, minmax
---
app/javascript/styles/mastodon/containers.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss
index 24bbf821199..2d1bf1abd45 100644
--- a/app/javascript/styles/mastodon/containers.scss
+++ b/app/javascript/styles/mastodon/containers.scss
@@ -169,7 +169,7 @@
.grid-4 {
display: grid;
grid-gap: 10px;
- grid-template-columns: 1fr 1fr 1fr 1fr;
+ grid-template-columns: repeat(4, minmax(0, 1fr));
grid-auto-columns: 25%;
grid-auto-rows: max-content;
From b359974d9b356bb723fe046466b178328cf9bbaf Mon Sep 17 00:00:00 2001
From: ThibG
Date: Sun, 22 Sep 2019 14:15:18 +0200
Subject: [PATCH 26/81] Show user what options they have voted (#11195)
* Add own_votes field to poll results in REST API
Fixes #10679
* Display user votes in WebUI
* Update styling
* Add vote checkmark to public pages
---
app/javascript/mastodon/actions/importer/normalizer.js | 3 ++-
app/javascript/mastodon/components/poll.js | 7 ++++++-
app/javascript/styles/mastodon/polls.scss | 10 ++++++++--
app/models/poll.rb | 4 ++++
app/serializers/rest/poll_serializer.rb | 5 +++++
app/views/statuses/_poll.html.haml | 8 ++++++--
6 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/app/javascript/mastodon/actions/importer/normalizer.js b/app/javascript/mastodon/actions/importer/normalizer.js
index 5e7e78e6984..f7108fdb901 100644
--- a/app/javascript/mastodon/actions/importer/normalizer.js
+++ b/app/javascript/mastodon/actions/importer/normalizer.js
@@ -73,8 +73,9 @@ export function normalizePoll(poll) {
const emojiMap = makeEmojiMap(normalPoll);
- normalPoll.options = poll.options.map(option => ({
+ normalPoll.options = poll.options.map((option, index) => ({
...option,
+ voted: poll.own_votes && poll.own_votes.includes(index),
title_emojified: emojify(escapeTextContentForBrowser(option.title), emojiMap),
}));
diff --git a/app/javascript/mastodon/components/poll.js b/app/javascript/mastodon/components/poll.js
index 373f710d3cf..4c9b23b7704 100644
--- a/app/javascript/mastodon/components/poll.js
+++ b/app/javascript/mastodon/components/poll.js
@@ -10,6 +10,7 @@ import spring from 'react-motion/lib/spring';
import escapeTextContentForBrowser from 'escape-html';
import emojify from 'mastodon/features/emoji/emoji';
import RelativeTimestamp from './relative_timestamp';
+import Icon from 'mastodon/components/icon';
const messages = defineMessages({
closed: { id: 'poll.closed', defaultMessage: 'Closed' },
@@ -103,6 +104,7 @@ class Poll extends ImmutablePureComponent {
const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100;
const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count'));
const active = !!this.state.selected[`${optionIndex}`];
+ const voted = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex));
let titleEmojified = option.get('title_emojified');
if (!titleEmojified) {
@@ -131,7 +133,10 @@ class Poll extends ImmutablePureComponent {
/>
{!showResults && }
- {showResults && {Math.round(percent)}%}
+ {showResults &&
+ {!!voted && }
+ {Math.round(percent)}%
+ }
diff --git a/app/javascript/styles/mastodon/polls.scss b/app/javascript/styles/mastodon/polls.scss
index e80220f2789..85ba138b411 100644
--- a/app/javascript/styles/mastodon/polls.scss
+++ b/app/javascript/styles/mastodon/polls.scss
@@ -95,13 +95,19 @@
&__number {
display: inline-block;
- width: 36px;
+ width: 48px;
font-weight: 700;
padding: 0 10px;
text-align: right;
margin-top: auto;
margin-bottom: auto;
- flex: 0 0 36px;
+ flex: 0 0 48px;
+ }
+
+ &__vote__mark {
+ float: left;
+ color: $valid-value-color;
+ line-height: 18px;
}
&__footer {
diff --git a/app/models/poll.rb b/app/models/poll.rb
index 8f72c7b1124..55a8f13a651 100644
--- a/app/models/poll.rb
+++ b/app/models/poll.rb
@@ -54,6 +54,10 @@ class Poll < ApplicationRecord
account.id == account_id || votes.where(account: account).exists?
end
+ def own_votes(account)
+ votes.where(account: account).pluck(:choice)
+ end
+
delegate :local?, to: :account
def remote?
diff --git a/app/serializers/rest/poll_serializer.rb b/app/serializers/rest/poll_serializer.rb
index 356c45b8386..eb98bb2d23e 100644
--- a/app/serializers/rest/poll_serializer.rb
+++ b/app/serializers/rest/poll_serializer.rb
@@ -8,6 +8,7 @@ class REST::PollSerializer < ActiveModel::Serializer
has_many :emojis, serializer: REST::CustomEmojiSerializer
attribute :voted, if: :current_user?
+ attribute :own_votes, if: :current_user?
def id
object.id.to_s
@@ -21,6 +22,10 @@ class REST::PollSerializer < ActiveModel::Serializer
object.voted?(current_user.account)
end
+ def own_votes
+ object.own_votes(current_user.account)
+ end
+
def current_user?
!current_user.nil?
end
diff --git a/app/views/statuses/_poll.html.haml b/app/views/statuses/_poll.html.haml
index ba34890dfee..d6b36a5d122 100644
--- a/app/views/statuses/_poll.html.haml
+++ b/app/views/statuses/_poll.html.haml
@@ -1,15 +1,19 @@
- show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
+- own_votes = user_signed_in? ? poll.own_votes(current_account) : []
.poll
%ul
- - poll.loaded_options.each do |option|
+ - poll.loaded_options.each_with_index do |option, index|
%li
- if show_results
- percent = poll.votes_count > 0 ? 100 * option.votes_count / poll.votes_count : 0
%span.poll__chart{ style: "width: #{percent}%" }
%label.poll__text><
- %span.poll__number= percent.round
+ %span.poll__number><
+ - if own_votes.include?(index)
+ %i.poll__vote__mark.fa.fa-check
+ = percent.round
= Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
- else
%label.poll__text><
From 8c4b5f7cef60700af7ae64c7b524d899a1d033c5 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Mon, 23 Sep 2019 00:48:31 +0200
Subject: [PATCH 27/81] Revert "Change timelines to add new items to pending
items when scrolled down #11867" (#11921)
Fix #11912
---
app/javascript/mastodon/reducers/notifications.js | 7 +++----
app/javascript/mastodon/reducers/timelines.js | 5 +++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/javascript/mastodon/reducers/notifications.js b/app/javascript/mastodon/reducers/notifications.js
index aac644950f1..6ba80bd6a57 100644
--- a/app/javascript/mastodon/reducers/notifications.js
+++ b/app/javascript/mastodon/reducers/notifications.js
@@ -38,10 +38,9 @@ const notificationToMap = notification => ImmutableMap({
});
const normalizeNotification = (state, notification, usePendingItems) => {
- const top = state.get('top');
- const mounted = state.get('mounted');
+ const top = state.get('top');
- if (usePendingItems || (!top && mounted) || !state.get('pendingItems').isEmpty()) {
+ if (usePendingItems || !state.get('pendingItems').isEmpty()) {
return state.update('pendingItems', list => list.unshift(notificationToMap(notification))).update('unread', unread => unread + 1);
}
@@ -67,7 +66,7 @@ const expandNormalizedNotifications = (state, notifications, next, isLoadingRece
return state.withMutations(mutable => {
if (!items.isEmpty()) {
- usePendingItems = isLoadingRecent && (usePendingItems || (!mutable.get('top') && mutable.get('mounted')) || !mutable.get('pendingItems').isEmpty());
+ usePendingItems = isLoadingRecent && (usePendingItems || !mutable.get('pendingItems').isEmpty());
mutable.update(usePendingItems ? 'pendingItems' : 'items', list => {
const lastIndex = 1 + list.findLastIndex(
diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js
index f3ed2fc59a8..0d7222e10a8 100644
--- a/app/javascript/mastodon/reducers/timelines.js
+++ b/app/javascript/mastodon/reducers/timelines.js
@@ -40,7 +40,8 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
if (timeline.endsWith(':pinned')) {
mMap.set('items', statuses.map(status => status.get('id')));
} else if (!statuses.isEmpty()) {
- usePendingItems = isLoadingRecent && (usePendingItems || !mMap.get('top') || !mMap.get('pendingItems').isEmpty());
+ usePendingItems = isLoadingRecent && (usePendingItems || !mMap.get('pendingItems').isEmpty());
+
mMap.update(usePendingItems ? 'pendingItems' : 'items', ImmutableList(), oldIds => {
const newIds = statuses.map(status => status.get('id'));
@@ -63,7 +64,7 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
const updateTimeline = (state, timeline, status, usePendingItems) => {
const top = state.getIn([timeline, 'top']);
- if (usePendingItems || !top || !state.getIn([timeline, 'pendingItems']).isEmpty()) {
+ if (usePendingItems || !state.getIn([timeline, 'pendingItems']).isEmpty()) {
if (state.getIn([timeline, 'pendingItems'], ImmutableList()).includes(status.get('id')) || state.getIn([timeline, 'items'], ImmutableList()).includes(status.get('id'))) {
return state;
}
From 0d2b60ab8b13a28e99a83e1104e7208de2025304 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Mon, 23 Sep 2019 00:48:43 +0200
Subject: [PATCH 28/81] Fix emoji search not showing custom emoji when none are
uncategorized (#11920)
Fix #11903
---
app/javascript/mastodon/features/emoji/emoji.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/javascript/mastodon/features/emoji/emoji.js b/app/javascript/mastodon/features/emoji/emoji.js
index 359bb7ffd44..cd10e20b7ea 100644
--- a/app/javascript/mastodon/features/emoji/emoji.js
+++ b/app/javascript/mastodon/features/emoji/emoji.js
@@ -99,4 +99,4 @@ export const buildCustomEmojis = (customEmojis) => {
return emojis;
};
-export const categoriesFromEmojis = customEmojis => customEmojis.reduce((set, emoji) => set.add(emoji.get('category') ? `custom-${emoji.get('category')}` : 'custom'), new Set());
+export const categoriesFromEmojis = customEmojis => customEmojis.reduce((set, emoji) => set.add(emoji.get('category') ? `custom-${emoji.get('category')}` : 'custom'), new Set(['custom']));
From 50b9276330e38657d3a4f596db29f78ac242eaf7 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Mon, 23 Sep 2019 02:19:08 +0200
Subject: [PATCH 29/81] Fix unread indicator not updating for notifications
(#11923)
Regression from #11898
---
app/javascript/mastodon/components/scrollable_list.js | 4 ----
1 file changed, 4 deletions(-)
diff --git a/app/javascript/mastodon/components/scrollable_list.js b/app/javascript/mastodon/components/scrollable_list.js
index b8fa0c2d9a9..421756803c9 100644
--- a/app/javascript/mastodon/components/scrollable_list.js
+++ b/app/javascript/mastodon/components/scrollable_list.js
@@ -201,10 +201,6 @@ export default class ScrollableList extends PureComponent {
this.detachIntersectionObserver();
detachFullscreenListener(this.onFullScreenChange);
-
- if (this.props.onScrollToTop) {
- this.props.onScrollToTop();
- }
}
onFullScreenChange = () => {
From 9707e6471504634818e5aae6495583cd62336ef1 Mon Sep 17 00:00:00 2001
From: Yamagishi Kazutoshi
Date: Mon, 23 Sep 2019 19:11:59 +0900
Subject: [PATCH 30/81] Remove deprecated config from Heroku and Scalingo
(#11925)
---
app.json | 9 ---------
scalingo.json | 9 ---------
2 files changed, 18 deletions(-)
diff --git a/app.json b/app.json
index 09adaac2c9f..211f17d812e 100644
--- a/app.json
+++ b/app.json
@@ -13,15 +13,6 @@
"description": "The domain that your Mastodon instance will run on (this can be appname.herokuapp.com or a custom domain)",
"required": true
},
- "LOCAL_HTTPS": {
- "description": "Will your domain support HTTPS? (Automatic for herokuapp, requires manual configuration for custom domains)",
- "value": "false",
- "required": true
- },
- "PAPERCLIP_SECRET": {
- "description": "The secret key for storing media files",
- "generator": "secret"
- },
"SECRET_KEY_BASE": {
"description": "The secret key base",
"generator": "secret"
diff --git a/scalingo.json b/scalingo.json
index dd8fb5530cf..324356df0c2 100644
--- a/scalingo.json
+++ b/scalingo.json
@@ -8,15 +8,6 @@
"description": "The domain that your Mastodon instance will run on (this can be appname.scalingo.io or a custom domain)",
"required": true
},
- "LOCAL_HTTPS": {
- "description": "Will your domain support HTTPS? (Automatic for *.scalingo.io, requires manual configuration for custom domains)",
- "value": "true",
- "required": true
- },
- "PAPERCLIP_SECRET": {
- "description": "The secret key for storing media files",
- "generator": "secret"
- },
"SECRET_KEY_BASE": {
"description": "The secret key base",
"generator": "secret"
From 695cbef0e3421e5e9198906c116cca47070080a6 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:19:13 +0900
Subject: [PATCH 31/81] Bump babel-jest from 24.8.0 to 24.9.0 (#11926)
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v24.9.0/packages/babel-jest)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 144 ---------------------------------------------------
2 files changed, 1 insertion(+), 145 deletions(-)
diff --git a/package.json b/package.json
index 7c378eb39b3..46811404fdf 100644
--- a/package.json
+++ b/package.json
@@ -171,7 +171,7 @@
},
"devDependencies": {
"babel-eslint": "^10.0.3",
- "babel-jest": "^24.8.0",
+ "babel-jest": "^24.9.0",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.14.0",
"eslint": "^6.1.0",
diff --git a/yarn.lock b/yarn.lock
index 9c85ea741f1..72386cda1fa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -953,15 +953,6 @@
"@jest/types" "^24.9.0"
jest-mock "^24.9.0"
-"@jest/fake-timers@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1"
- integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw==
- dependencies:
- "@jest/types" "^24.8.0"
- jest-message-util "^24.8.0"
- jest-mock "^24.8.0"
-
"@jest/fake-timers@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93"
@@ -1016,15 +1007,6 @@
graceful-fs "^4.1.15"
source-map "^0.6.0"
-"@jest/test-result@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3"
- integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng==
- dependencies:
- "@jest/console" "^24.7.1"
- "@jest/types" "^24.8.0"
- "@types/istanbul-lib-coverage" "^2.0.0"
-
"@jest/test-result@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca"
@@ -1044,27 +1026,6 @@
jest-runner "^24.9.0"
jest-runtime "^24.9.0"
-"@jest/transform@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5"
- integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA==
- dependencies:
- "@babel/core" "^7.1.0"
- "@jest/types" "^24.8.0"
- babel-plugin-istanbul "^5.1.0"
- chalk "^2.0.1"
- convert-source-map "^1.4.0"
- fast-json-stable-stringify "^2.0.0"
- graceful-fs "^4.1.15"
- jest-haste-map "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-util "^24.8.0"
- micromatch "^3.1.10"
- realpath-native "^1.1.0"
- slash "^2.0.0"
- source-map "^0.6.1"
- write-file-atomic "2.4.1"
-
"@jest/transform@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56"
@@ -1087,15 +1048,6 @@
source-map "^0.6.1"
write-file-atomic "2.4.1"
-"@jest/types@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad"
- integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg==
- dependencies:
- "@types/istanbul-lib-coverage" "^2.0.0"
- "@types/istanbul-reports" "^1.1.1"
- "@types/yargs" "^12.0.9"
-
"@jest/types@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59"
@@ -1204,11 +1156,6 @@
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228"
integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==
-"@types/yargs@^12.0.9":
- version "12.0.9"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.9.tgz#693e76a52f61a2f1e7fb48c0eef167b95ea4ffd0"
- integrity sha512-sCZy4SxP9rN2w30Hlmg5dtdRwgYQfYRiLo9usw8X9cxlf+H4FqM1xX7+sNH7NNKVdbXMJWqva7iyy+fxh/V7fA==
-
"@types/yargs@^13.0.0":
version "13.0.2"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653"
@@ -1798,19 +1745,6 @@ babel-eslint@^10.0.3:
eslint-visitor-keys "^1.0.0"
resolve "^1.12.0"
-babel-jest@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589"
- integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw==
- dependencies:
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/babel__core" "^7.1.0"
- babel-plugin-istanbul "^5.1.0"
- babel-preset-jest "^24.6.0"
- chalk "^2.4.2"
- slash "^2.0.0"
-
babel-jest@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54"
@@ -1868,13 +1802,6 @@ babel-plugin-istanbul@^5.1.0:
istanbul-lib-instrument "^3.0.0"
test-exclude "^5.0.0"
-babel-plugin-jest-hoist@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019"
- integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w==
- dependencies:
- "@types/babel__traverse" "^7.0.6"
-
babel-plugin-jest-hoist@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756"
@@ -1936,14 +1863,6 @@ babel-plugin-transform-react-remove-prop-types@^0.4.24:
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
-babel-preset-jest@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984"
- integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw==
- dependencies:
- "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
- babel-plugin-jest-hoist "^24.6.0"
-
babel-preset-jest@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc"
@@ -5902,25 +5821,6 @@ jest-get-type@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
-jest-haste-map@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800"
- integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ==
- dependencies:
- "@jest/types" "^24.8.0"
- anymatch "^2.0.0"
- fb-watchman "^2.0.0"
- graceful-fs "^4.1.15"
- invariant "^2.2.4"
- jest-serializer "^24.4.0"
- jest-util "^24.8.0"
- jest-worker "^24.6.0"
- micromatch "^3.1.10"
- sane "^4.0.3"
- walker "^1.0.7"
- optionalDependencies:
- fsevents "^1.2.7"
-
jest-haste-map@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d"
@@ -5980,20 +5880,6 @@ jest-matcher-utils@^24.9.0:
jest-get-type "^24.9.0"
pretty-format "^24.9.0"
-jest-message-util@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b"
- integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/stack-utils" "^1.0.1"
- chalk "^2.0.1"
- micromatch "^3.1.10"
- slash "^2.0.0"
- stack-utils "^1.0.1"
-
jest-message-util@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3"
@@ -6008,13 +5894,6 @@ jest-message-util@^24.9.0:
slash "^2.0.0"
stack-utils "^1.0.1"
-jest-mock@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56"
- integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A==
- dependencies:
- "@jest/types" "^24.8.0"
-
jest-mock@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6"
@@ -6111,11 +5990,6 @@ jest-runtime@^24.9.0:
strip-bom "^3.0.0"
yargs "^13.3.0"
-jest-serializer@^24.4.0:
- version "24.4.0"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3"
- integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==
-
jest-serializer@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73"
@@ -6140,24 +6014,6 @@ jest-snapshot@^24.9.0:
pretty-format "^24.9.0"
semver "^6.2.0"
-jest-util@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1"
- integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA==
- dependencies:
- "@jest/console" "^24.7.1"
- "@jest/fake-timers" "^24.8.0"
- "@jest/source-map" "^24.3.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- callsites "^3.0.0"
- chalk "^2.0.1"
- graceful-fs "^4.1.15"
- is-ci "^2.0.0"
- mkdirp "^0.5.1"
- slash "^2.0.0"
- source-map "^0.6.0"
-
jest-util@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162"
From 93659569716e308b6d894f1e6f19de268926819f Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:19:52 +0900
Subject: [PATCH 32/81] Bump mini-css-extract-plugin from 0.7.0 to 0.8.0
(#11927)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.7.0...v0.8.0)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 46811404fdf..184251576a8 100644
--- a/package.json
+++ b/package.json
@@ -111,7 +111,7 @@
"lodash": "^4.17.14",
"mark-loader": "^0.1.6",
"marky": "^1.2.1",
- "mini-css-extract-plugin": "^0.7.0",
+ "mini-css-extract-plugin": "^0.8.0",
"mkdirp": "^0.5.1",
"npmlog": "^4.1.2",
"object-assign": "^4.1.1",
diff --git a/yarn.lock b/yarn.lock
index 72386cda1fa..9d9214ffbe1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6686,10 +6686,10 @@ mimic-fn@^1.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-mini-css-extract-plugin@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0"
- integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==
+mini-css-extract-plugin@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1"
+ integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==
dependencies:
loader-utils "^1.1.0"
normalize-url "1.9.1"
From 3708132631c8fc9af690ed58885797f8c513829c Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:22:51 +0900
Subject: [PATCH 33/81] Bump sass from 1.22.9 to 1.22.12 (#11928)
Bumps [sass](https://github.com/sass/dart-sass) from 1.22.9 to 1.22.12.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.9...1.22.12)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 184251576a8..72265326cb0 100644
--- a/package.json
+++ b/package.json
@@ -152,7 +152,7 @@
"requestidlecallback": "^0.3.0",
"reselect": "^4.0.0",
"rimraf": "^3.0.0",
- "sass": "^1.22.9",
+ "sass": "^1.22.12",
"sass-loader": "^7.0.3",
"stringz": "^2.0.0",
"substring-trie": "^1.0.2",
diff --git a/yarn.lock b/yarn.lock
index 9d9214ffbe1..fed0bc13e57 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9224,10 +9224,10 @@ sass-loader@^7.0.3:
pify "^3.0.0"
semver "^5.5.0"
-sass@^1.22.9:
- version "1.22.9"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.22.9.tgz#41a2ed6038027f58be2bd5041293452a29c2cb84"
- integrity sha512-FzU1X2V8DlnqabrL4u7OBwD2vcOzNMongEJEx3xMEhWY/v26FFR3aG0hyeu2T965sfR0E9ufJwmG+Qjz78vFPQ==
+sass@^1.22.12:
+ version "1.22.12"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.22.12.tgz#5cbdd38720ffd1857da695331faee9f634bcb5d7"
+ integrity sha512-u5Rxn+dKTPCW5/11kMNxtmqKsxCjcpnqj9CaJoru1NqeJ0DOa9rOM00e0HqmseTAatGkKoLY+jaNecMYevu1gg==
dependencies:
chokidar ">=2.0.0 <4.0.0"
From 3ff74cea72fa5e0b0859201e2efae371d3afeca3 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:25:59 +0900
Subject: [PATCH 34/81] Bump faker from 2.3.0 to 2.4.0 (#11933)
Bumps [faker](https://github.com/faker-ruby/faker) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/faker-ruby/faker/releases)
- [Changelog](https://github.com/faker-ruby/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faker-ruby/faker/compare/v2.3.0...v2.4.0)
Signed-off-by: dependabot-preview[bot]
---
Gemfile | 2 +-
Gemfile.lock | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Gemfile b/Gemfile
index 081cdd04ecd..d9965e7da01 100644
--- a/Gemfile
+++ b/Gemfile
@@ -115,7 +115,7 @@ end
group :test do
gem 'capybara', '~> 3.29'
gem 'climate_control', '~> 0.2'
- gem 'faker', '~> 2.3'
+ gem 'faker', '~> 2.4'
gem 'microformats', '~> 4.1'
gem 'rails-controller-testing', '~> 1.0'
gem 'rspec-sidekiq', '~> 3.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 4545872f06e..088f01920de 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -231,7 +231,7 @@ GEM
tzinfo
excon (0.62.0)
fabrication (2.20.2)
- faker (2.3.0)
+ faker (2.4.0)
i18n (~> 1.6.0)
faraday (0.15.0)
multipart-post (>= 1.2, < 3)
@@ -700,7 +700,7 @@ DEPENDENCIES
doorkeeper (~> 5.2)
dotenv-rails (~> 2.7)
fabrication (~> 2.20)
- faker (~> 2.3)
+ faker (~> 2.4)
fast_blank (~> 1.0)
fastimage
fog-core (<= 2.1.0)
From bdad34adf4e0a644fce33d2393767216cc292c30 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:48:03 +0900
Subject: [PATCH 35/81] Bump redis from 4.1.2 to 4.1.3 (#11938)
Bumps [redis](https://github.com/redis/redis-rb) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/redis/redis-rb/releases)
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v4.1.2...v4.1.3)
Signed-off-by: dependabot-preview[bot]
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 088f01920de..65b8451462e 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -500,7 +500,7 @@ GEM
link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.3.3)
rdf (>= 2.2, < 4.0)
- redis (4.1.2)
+ redis (4.1.3)
redis-actionpack (5.0.2)
actionpack (>= 4.0, < 6)
redis-rack (>= 1, < 3)
From a60c78f6b2c07840c3d516663f87d4f5be58390c Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:52:29 +0900
Subject: [PATCH 36/81] Bump chewy from 5.0.0 to 5.0.1 (#11935)
Bumps [chewy](https://github.com/toptal/chewy) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/toptal/chewy/releases)
- [Changelog](https://github.com/toptal/chewy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/toptal/chewy/compare/v5.0.0...v5.0.1)
Signed-off-by: dependabot-preview[bot]
---
Gemfile.lock | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 65b8451462e..42163e62114 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -161,7 +161,7 @@ GEM
case_transform (0.2)
activesupport
charlock_holmes (0.7.6)
- chewy (5.0.0)
+ chewy (5.0.1)
activesupport (>= 4.0)
elasticsearch (>= 2.0.0)
elasticsearch-dsl
@@ -215,13 +215,13 @@ GEM
dotenv-rails (2.7.5)
dotenv (= 2.7.5)
railties (>= 3.2, < 6.1)
- elasticsearch (6.0.2)
- elasticsearch-api (= 6.0.2)
- elasticsearch-transport (= 6.0.2)
- elasticsearch-api (6.0.2)
+ elasticsearch (7.3.0)
+ elasticsearch-api (= 7.3.0)
+ elasticsearch-transport (= 7.3.0)
+ elasticsearch-api (7.3.0)
multi_json
- elasticsearch-dsl (0.1.5)
- elasticsearch-transport (6.0.2)
+ elasticsearch-dsl (0.1.8)
+ elasticsearch-transport (7.3.0)
faraday
multi_json
encryptor (3.0.0)
@@ -233,7 +233,7 @@ GEM
fabrication (2.20.2)
faker (2.4.0)
i18n (~> 1.6.0)
- faraday (0.15.0)
+ faraday (0.15.4)
multipart-post (>= 1.2, < 3)
fast_blank (1.0.0)
fastimage (2.1.7)
@@ -370,10 +370,10 @@ GEM
mimemagic (0.3.3)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
- minitest (5.11.3)
+ minitest (5.12.0)
msgpack (1.3.1)
multi_json (1.13.1)
- multipart-post (2.0.0)
+ multipart-post (2.1.1)
necromancer (0.5.0)
net-ldap (0.16.1)
net-scp (2.0.0)
From 36bdfce1bd40d3ba7e940c534dc3592c6cd5fb98 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:53:09 +0900
Subject: [PATCH 37/81] Bump simplecov from 0.17.0 to 0.17.1 (#11932)
Bumps [simplecov](https://github.com/colszowka/simplecov) from 0.17.0 to 0.17.1.
- [Release notes](https://github.com/colszowka/simplecov/releases)
- [Changelog](https://github.com/colszowka/simplecov/blob/master/CHANGELOG.md)
- [Commits](https://github.com/colszowka/simplecov/compare/v0.17.0...v0.17.1)
Signed-off-by: dependabot-preview[bot]
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 42163e62114..dfc00642be9 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -590,7 +590,7 @@ GEM
simple_form (4.1.0)
actionpack (>= 5.0)
activemodel (>= 5.0)
- simplecov (0.17.0)
+ simplecov (0.17.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
From ce8ea58bde1c69ca53e77ca61d5add98de7b5fd8 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:53:30 +0900
Subject: [PATCH 38/81] Bump eslint from 6.1.0 to 6.4.0 (#11929)
Bumps [eslint](https://github.com/eslint/eslint) from 6.1.0 to 6.4.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.1.0...v6.4.0)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 45 +++++++++++++++++++++++++--------------------
2 files changed, 26 insertions(+), 21 deletions(-)
diff --git a/package.json b/package.json
index 72265326cb0..382e0b8d36f 100644
--- a/package.json
+++ b/package.json
@@ -174,7 +174,7 @@
"babel-jest": "^24.9.0",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.14.0",
- "eslint": "^6.1.0",
+ "eslint": "^6.4.0",
"eslint-plugin-import": "~2.18.2",
"eslint-plugin-jsx-a11y": "~6.2.3",
"eslint-plugin-promise": "~4.2.1",
diff --git a/yarn.lock b/yarn.lock
index fed0bc13e57..f8314e4d951 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1352,10 +1352,10 @@ acorn-jsx@^3.0.0:
dependencies:
acorn "^3.0.4"
-acorn-jsx@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
- integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
+acorn-jsx@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f"
+ integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==
acorn-walk@^6.0.1, acorn-walk@^6.1.1:
version "6.1.1"
@@ -1377,6 +1377,11 @@ acorn@^6.0.1, acorn@^6.0.7, acorn@^6.2.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3"
integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==
+acorn@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a"
+ integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==
+
airbnb-prop-types@^2.13.2:
version "2.13.2"
resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.13.2.tgz#43147a5062dd2a4a5600e748a47b64004cc5f7fc"
@@ -3828,14 +3833,14 @@ eslint-scope@^5.0.0:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-utils@^1.3.1:
+eslint-utils@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
dependencies:
eslint-visitor-keys "^1.0.0"
-eslint-visitor-keys@^1.0.0:
+eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
@@ -3879,10 +3884,10 @@ eslint@^2.7.0:
text-table "~0.2.0"
user-home "^2.0.0"
-eslint@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646"
- integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==
+eslint@^6.4.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.4.0.tgz#5aa9227c3fbe921982b2eda94ba0d7fae858611a"
+ integrity sha512-WTVEzK3lSFoXUovDHEbkJqCVPEPwbhCq4trDktNI6ygs7aO41d4cDT0JFAT5MivzZeVLWlg7vHL+bgrQv/t3vA==
dependencies:
"@babel/code-frame" "^7.0.0"
ajv "^6.10.0"
@@ -3891,9 +3896,9 @@ eslint@^6.1.0:
debug "^4.0.1"
doctrine "^3.0.0"
eslint-scope "^5.0.0"
- eslint-utils "^1.3.1"
- eslint-visitor-keys "^1.0.0"
- espree "^6.0.0"
+ eslint-utils "^1.4.2"
+ eslint-visitor-keys "^1.1.0"
+ espree "^6.1.1"
esquery "^1.0.1"
esutils "^2.0.2"
file-entry-cache "^5.0.1"
@@ -3930,14 +3935,14 @@ espree@^3.1.6:
acorn "^5.5.0"
acorn-jsx "^3.0.0"
-espree@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6"
- integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q==
+espree@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de"
+ integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==
dependencies:
- acorn "^6.0.7"
- acorn-jsx "^5.0.0"
- eslint-visitor-keys "^1.0.0"
+ acorn "^7.0.0"
+ acorn-jsx "^5.0.2"
+ eslint-visitor-keys "^1.1.0"
esprima@^3.1.3:
version "3.1.3"
From 85a619a428a7d978f9bfc5e8c2822293d2b91fee Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:54:25 +0900
Subject: [PATCH 39/81] Bump webmock from 3.7.3 to 3.7.5 (#11936)
Bumps [webmock](https://github.com/bblimke/webmock) from 3.7.3 to 3.7.5.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.7.3...v3.7.5)
Signed-off-by: dependabot-preview[bot]
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index dfc00642be9..b85879dec7b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -646,7 +646,7 @@ GEM
uniform_notifier (1.12.1)
warden (1.2.8)
rack (>= 2.0.6)
- webmock (3.7.3)
+ webmock (3.7.5)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
From 637cc7bf78d054c8e8cb5ab9fa6e63bac0dfd555 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 20:05:40 +0900
Subject: [PATCH 40/81] Bump doorkeeper from 5.2.0 to 5.2.1 (#11934)
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases)
- [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.2.0...v5.2.1)
Signed-off-by: dependabot-preview[bot]
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index b85879dec7b..3af98a43d1c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -209,7 +209,7 @@ GEM
docile (1.3.2)
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
- doorkeeper (5.2.0)
+ doorkeeper (5.2.1)
railties (>= 5)
dotenv (2.7.5)
dotenv-rails (2.7.5)
From 172eaeba3fd217228dead279712aecce8c3ac080 Mon Sep 17 00:00:00 2001
From: Yamagishi Kazutoshi
Date: Mon, 23 Sep 2019 22:37:45 +0900
Subject: [PATCH 41/81] Add config of multipart threshold for S3 (#11924)
---
.env.production.sample | 14 ++++++++++++++
config/initializers/paperclip.rb | 1 +
lib/tasks/mastodon.rake | 30 +++++++++++++++++++++++++++++-
3 files changed, 44 insertions(+), 1 deletion(-)
diff --git a/.env.production.sample b/.env.production.sample
index b322aee1d75..e4ea861e70e 100644
--- a/.env.production.sample
+++ b/.env.production.sample
@@ -115,6 +115,20 @@ SMTP_FROM_ADDRESS=notifications@example.com
# S3_ENDPOINT=
# S3_SIGNATURE_VERSION=
+# Google Cloud Storage (optional)
+# Use S3 compatible API. Since GCS does not support Multipart Upload,
+# increase the value of S3_MULTIPART_THRESHOLD to disable Multipart Upload.
+# The attachment host must allow cross origin request - see the description
+# above.
+# S3_ENABLED=true
+# AWS_ACCESS_KEY_ID=
+# AWS_SECRET_ACCESS_KEY=
+# S3_REGION=
+# S3_PROTOCOL=https
+# S3_HOSTNAME=storage.googleapis.com
+# S3_ENDPOINT=https://storage.googleapis.com
+# S3_MULTIPART_THRESHOLD=52428801 # 50.megabytes
+
# Swift (optional)
# The attachment host must allow cross origin request - see the description
# above.
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index ce4185e024d..cfc95330cc7 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -25,6 +25,7 @@ if ENV['S3_ENABLED'] == 'true'
s3_protocol: s3_protocol,
s3_host_name: s3_hostname,
s3_headers: {
+ 'X-Amz-Multipart-Threshold' => ENV.fetch('S3_MULTIPART_THRESHOLD') { 15.megabytes },
'Cache-Control' => 'public, max-age=315576000, immutable',
},
s3_permissions: ENV.fetch('S3_PERMISSION') { 'public-read' },
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index ee9657b0eff..2e92e8dedbe 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -135,7 +135,7 @@ namespace :mastodon do
prompt.say "\n"
if prompt.yes?('Do you want to store uploaded files on the cloud?', default: false)
- case prompt.select('Provider', ['Amazon S3', 'Wasabi', 'Minio'])
+ case prompt.select('Provider', ['Amazon S3', 'Wasabi', 'Minio', 'Google Cloud Storage'])
when 'Amazon S3'
env['S3_ENABLED'] = 'true'
env['S3_PROTOCOL'] = 'https'
@@ -217,6 +217,34 @@ namespace :mastodon do
q.required true
q.modify :strip
end
+ when 'Google Cloud Storage'
+ env['S3_ENABLED'] = 'true'
+ env['S3_PROTOCOL'] = 'https'
+ env['S3_HOSTNAME'] = 'storage.googleapis.com'
+ env['S3_ENDPOINT'] = 'https://storage.googleapis.com'
+ env['S3_MULTIPART_THRESHOLD'] = 50.megabytes
+
+ env['S3_BUCKET'] = prompt.ask('GCS bucket name:') do |q|
+ q.required true
+ q.default "files.#{env['LOCAL_DOMAIN']}"
+ q.modify :strip
+ end
+
+ env['S3_REGION'] = prompt.ask('GCS region:') do |q|
+ q.required true
+ q.default 'us-west1'
+ q.modify :strip
+ end
+
+ env['AWS_ACCESS_KEY_ID'] = prompt.ask('GCS access key:') do |q|
+ q.required true
+ q.modify :strip
+ end
+
+ env['AWS_SECRET_ACCESS_KEY'] = prompt.ask('GCS secret key:') do |q|
+ q.required true
+ q.modify :strip
+ end
end
if prompt.yes?('Do you want to access the uploaded files from your own domain?')
From 1051c5cffadeee8d37bffcd0b3de90ef65d7d9d9 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 23 Sep 2019 15:39:11 +0200
Subject: [PATCH 42/81] Bump puma from 4.1.1 to 4.2.0 (#11939)
Bumps [puma](https://github.com/puma/puma) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v4.1.1...v4.2.0)
Signed-off-by: dependabot-preview[bot]
---
Gemfile | 2 +-
Gemfile.lock | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Gemfile b/Gemfile
index d9965e7da01..2ab3137547a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,7 +5,7 @@ ruby '>= 2.4.0', '< 2.7.0'
gem 'pkg-config', '~> 1.3'
-gem 'puma', '~> 4.1'
+gem 'puma', '~> 4.2'
gem 'rails', '~> 5.2.3'
gem 'thor', '~> 0.20'
diff --git a/Gemfile.lock b/Gemfile.lock
index 3af98a43d1c..a796d1aaebe 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -445,7 +445,7 @@ GEM
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (4.0.1)
- puma (4.1.1)
+ puma (4.2.0)
nio4r (~> 2.0)
pundit (2.1.0)
activesupport (>= 3.0.0)
@@ -752,7 +752,7 @@ DEPENDENCIES
private_address_check (~> 0.5)
pry-byebug (~> 3.7)
pry-rails (~> 0.3)
- puma (~> 4.1)
+ puma (~> 4.2)
pundit (~> 2.1)
rack-attack (~> 6.1)
rack-cors (~> 1.0)
From 67bef15e53a77b6f1557fdd0efa65f3e916c20df Mon Sep 17 00:00:00 2001
From: Yamagishi Kazutoshi
Date: Tue, 24 Sep 2019 00:25:10 +0900
Subject: [PATCH 43/81] Add fallback section ID with ToC (#11941)
---
app/lib/toc_generator.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/lib/toc_generator.rb b/app/lib/toc_generator.rb
index 351675a5cd0..0c8f766ca42 100644
--- a/app/lib/toc_generator.rb
+++ b/app/lib/toc_generator.rb
@@ -45,7 +45,7 @@ class TOCGenerator
parsed_html.traverse do |node|
next unless TARGET_ELEMENTS.include?(node.name)
- anchor = node['id'] || node.text.parameterize
+ anchor = node['id'] || node.text.parameterize.presence || 'sec'
@slugs[anchor] += 1
anchor = "#{anchor}-#{@slugs[anchor]}" if @slugs[anchor] > 1
From a1f04c1e3497e9dff5970038461d9f454f2650df Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Tue, 24 Sep 2019 04:35:36 +0200
Subject: [PATCH 44/81] Fix authentication before 2FA challenge (#11943)
Regression from #11831
---
app/controllers/auth/sessions_controller.rb | 61 +++++++++++--------
app/models/concerns/ldap_authenticable.rb | 46 +++++++++++---
config/application.rb | 3 +-
config/initializers/devise.rb | 11 ++--
lib/devise/ldap_authenticatable.rb | 55 -----------------
lib/devise/two_factor_ldap_authenticatable.rb | 32 ++++++++++
lib/devise/two_factor_pam_authenticatable.rb | 31 ++++++++++
7 files changed, 140 insertions(+), 99 deletions(-)
delete mode 100644 lib/devise/ldap_authenticatable.rb
create mode 100644 lib/devise/two_factor_ldap_authenticatable.rb
create mode 100644 lib/devise/two_factor_pam_authenticatable.rb
diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb
index b3113bbefc5..f48b17c7993 100644
--- a/app/controllers/auth/sessions_controller.rb
+++ b/app/controllers/auth/sessions_controller.rb
@@ -8,6 +8,8 @@ class Auth::SessionsController < Devise::SessionsController
skip_before_action :require_no_authentication, only: [:create]
skip_before_action :require_functional!
+ prepend_before_action :authenticate_with_two_factor, if: :two_factor_enabled?, only: [:create]
+
before_action :set_instance_presenter, only: [:new]
before_action :set_body_classes
@@ -20,22 +22,9 @@ class Auth::SessionsController < Devise::SessionsController
end
def create
- self.resource = begin
- if user_params[:email].blank? && session[:otp_user_id].present?
- User.find(session[:otp_user_id])
- else
- warden.authenticate!(auth_options)
- end
- end
-
- if resource.otp_required_for_login?
- if user_params[:otp_attempt].present? && session[:otp_user_id].present?
- authenticate_with_two_factor_via_otp(resource)
- else
- prompt_for_two_factor(resource)
- end
- else
- authenticate_and_respond(resource)
+ super do |resource|
+ remember_me(resource)
+ flash.delete(:notice)
end
end
@@ -49,6 +38,16 @@ class Auth::SessionsController < Devise::SessionsController
protected
+ def find_user
+ if session[:otp_user_id]
+ User.find(session[:otp_user_id])
+ else
+ user = User.authenticate_with_ldap(user_params) if Devise.ldap_authentication
+ user ||= User.authenticate_with_pam(user_params) if Devise.pam_authentication
+ user ||= User.find_for_authentication(email: user_params[:email])
+ end
+ end
+
def user_params
params.require(:user).permit(:email, :password, :otp_attempt)
end
@@ -71,6 +70,10 @@ class Auth::SessionsController < Devise::SessionsController
super
end
+ def two_factor_enabled?
+ find_user&.otp_required_for_login?
+ end
+
def valid_otp_attempt?(user)
user.validate_and_consume_otp!(user_params[:otp_attempt]) ||
user.invalidate_otp_backup_code!(user_params[:otp_attempt])
@@ -78,10 +81,24 @@ class Auth::SessionsController < Devise::SessionsController
false
end
+ def authenticate_with_two_factor
+ user = self.resource = find_user
+
+ if user_params[:otp_attempt].present? && session[:otp_user_id]
+ authenticate_with_two_factor_via_otp(user)
+ elsif user.present? && (user.encrypted_password.blank? || user.valid_password?(user_params[:password]))
+ # If encrypted_password is blank, we got the user from LDAP or PAM,
+ # so credentials are already valid
+
+ prompt_for_two_factor(user)
+ end
+ end
+
def authenticate_with_two_factor_via_otp(user)
if valid_otp_attempt?(user)
session.delete(:otp_user_id)
- authenticate_and_respond(user)
+ remember_me(user)
+ sign_in(user)
else
flash.now[:alert] = I18n.t('users.invalid_otp_token')
prompt_for_two_factor(user)
@@ -90,16 +107,10 @@ class Auth::SessionsController < Devise::SessionsController
def prompt_for_two_factor(user)
session[:otp_user_id] = user.id
+ @body_classes = 'lighter'
render :two_factor
end
- def authenticate_and_respond(user)
- sign_in(user)
- remember_me(user)
-
- respond_with user, location: after_sign_in_path_for(user)
- end
-
private
def set_instance_presenter
@@ -112,11 +123,9 @@ class Auth::SessionsController < Devise::SessionsController
def home_paths(resource)
paths = [about_path]
-
if single_user_mode? && resource.is_a?(User)
paths << short_account_path(username: resource.account)
end
-
paths
end
diff --git a/app/models/concerns/ldap_authenticable.rb b/app/models/concerns/ldap_authenticable.rb
index 84ff84c4b05..11799394784 100644
--- a/app/models/concerns/ldap_authenticable.rb
+++ b/app/models/concerns/ldap_authenticable.rb
@@ -3,24 +3,50 @@
module LdapAuthenticable
extend ActiveSupport::Concern
- def ldap_setup(_attributes)
- self.confirmed_at = Time.now.utc
- self.admin = false
- self.external = true
-
- save!
- end
-
class_methods do
+ def authenticate_with_ldap(params = {})
+ ldap = Net::LDAP.new(ldap_options)
+ filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, email: params[:email])
+
+ if (user_info = ldap.bind_as(base: Devise.ldap_base, filter: filter, password: params[:password]))
+ ldap_get_user(user_info.first)
+ end
+ end
+
def ldap_get_user(attributes = {})
resource = joins(:account).find_by(accounts: { username: attributes[Devise.ldap_uid.to_sym].first })
if resource.blank?
- resource = new(email: attributes[:mail].first, agreement: true, account_attributes: { username: attributes[Devise.ldap_uid.to_sym].first })
- resource.ldap_setup(attributes)
+ resource = new(email: attributes[:mail].first, agreement: true, account_attributes: { username: attributes[Devise.ldap_uid.to_sym].first }, admin: false, external: true, confirmed_at: Time.now.utc)
+ resource.save!
end
resource
end
+
+ def ldap_options
+ opts = {
+ host: Devise.ldap_host,
+ port: Devise.ldap_port,
+ base: Devise.ldap_base,
+
+ auth: {
+ method: :simple,
+ username: Devise.ldap_bind_dn,
+ password: Devise.ldap_password,
+ },
+
+ connect_timeout: 10,
+ }
+
+ if [:simple_tls, :start_tls].include?(Devise.ldap_method)
+ opts[:encryption] = {
+ method: Devise.ldap_method,
+ tls_options: OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.tap { |options| options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE if Devise.ldap_tls_no_verify },
+ }
+ end
+
+ opts
+ end
end
end
diff --git a/config/application.rb b/config/application.rb
index 5fd37120d01..3ced81b8f34 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -13,7 +13,8 @@ require_relative '../lib/paperclip/video_transcoder'
require_relative '../lib/paperclip/type_corrector'
require_relative '../lib/mastodon/snowflake'
require_relative '../lib/mastodon/version'
-require_relative '../lib/devise/ldap_authenticatable'
+require_relative '../lib/devise/two_factor_ldap_authenticatable'
+require_relative '../lib/devise/two_factor_pam_authenticatable'
Dotenv::Railtie.load
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 311583820ac..fd9a5a8b9b9 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -71,13 +71,10 @@ end
Devise.setup do |config|
config.warden do |manager|
- manager.default_strategies(scope: :user).unshift :database_authenticatable
- manager.default_strategies(scope: :user).unshift :ldap_authenticatable if Devise.ldap_authentication
- manager.default_strategies(scope: :user).unshift :pam_authenticatable if Devise.pam_authentication
-
- # We handle 2FA in our own sessions controller so this gets in the way
- manager.default_strategies(scope: :user).delete :two_factor_backupable
- manager.default_strategies(scope: :user).delete :two_factor_authenticatable
+ manager.default_strategies(scope: :user).unshift :two_factor_ldap_authenticatable if Devise.ldap_authentication
+ manager.default_strategies(scope: :user).unshift :two_factor_pam_authenticatable if Devise.pam_authentication
+ manager.default_strategies(scope: :user).unshift :two_factor_authenticatable
+ manager.default_strategies(scope: :user).unshift :two_factor_backupable
end
# The secret key used by Devise. Devise uses this key to generate
diff --git a/lib/devise/ldap_authenticatable.rb b/lib/devise/ldap_authenticatable.rb
deleted file mode 100644
index 6903d468dc4..00000000000
--- a/lib/devise/ldap_authenticatable.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-# frozen_string_literal: true
-
-require 'net/ldap'
-require 'devise/strategies/authenticatable'
-
-module Devise
- module Strategies
- class LdapAuthenticatable < Authenticatable
- def authenticate!
- if params[:user]
- ldap = Net::LDAP.new(
- host: Devise.ldap_host,
- port: Devise.ldap_port,
- base: Devise.ldap_base,
- encryption: {
- method: Devise.ldap_method,
- tls_options: tls_options,
- },
- auth: {
- method: :simple,
- username: Devise.ldap_bind_dn,
- password: Devise.ldap_password,
- },
- connect_timeout: 10
- )
-
- filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, email: email)
-
- if (user_info = ldap.bind_as(base: Devise.ldap_base, filter: filter, password: password))
- user = User.ldap_get_user(user_info.first)
- success!(user)
- else
- return fail(:invalid)
- end
- end
- end
-
- def email
- params[:user][:email]
- end
-
- def password
- params[:user][:password]
- end
-
- def tls_options
- OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.tap do |options|
- options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE if Devise.ldap_tls_no_verify
- end
- end
- end
- end
-end
-
-Warden::Strategies.add(:ldap_authenticatable, Devise::Strategies::LdapAuthenticatable)
diff --git a/lib/devise/two_factor_ldap_authenticatable.rb b/lib/devise/two_factor_ldap_authenticatable.rb
new file mode 100644
index 00000000000..065aa2de88a
--- /dev/null
+++ b/lib/devise/two_factor_ldap_authenticatable.rb
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+require 'net/ldap'
+require 'devise/strategies/base'
+
+module Devise
+ module Strategies
+ class TwoFactorLdapAuthenticatable < Base
+ def valid?
+ valid_params? && mapping.to.respond_to?(:authenticate_with_ldap)
+ end
+
+ def authenticate!
+ resource = mapping.to.authenticate_with_ldap(params[scope])
+
+ if resource && !resource.otp_required_for_login?
+ success!(resource)
+ else
+ fail(:invalid)
+ end
+ end
+
+ protected
+
+ def valid_params?
+ params[scope] && params[scope][:password].present?
+ end
+ end
+ end
+end
+
+Warden::Strategies.add(:two_factor_ldap_authenticatable, Devise::Strategies::TwoFactorLdapAuthenticatable)
diff --git a/lib/devise/two_factor_pam_authenticatable.rb b/lib/devise/two_factor_pam_authenticatable.rb
new file mode 100644
index 00000000000..5ce723b331d
--- /dev/null
+++ b/lib/devise/two_factor_pam_authenticatable.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'devise/strategies/base'
+
+module Devise
+ module Strategies
+ class TwoFactorPamAuthenticatable < Base
+ def valid?
+ valid_params? && mapping.to.respond_to?(:authenticate_with_pam)
+ end
+
+ def authenticate!
+ resource = mapping.to.authenticate_with_pam(params[scope])
+
+ if resource && !resource.otp_required_for_login?
+ success!(resource)
+ else
+ fail(:invalid)
+ end
+ end
+
+ protected
+
+ def valid_params?
+ params[scope] && params[scope][:password].present?
+ end
+ end
+ end
+end
+
+Warden::Strategies.add(:two_factor_pam_authenticatable, Devise::Strategies::TwoFactorPamAuthenticatable)
From b02169f124b8efefa33c10a14a5b45d5f9806e3d Mon Sep 17 00:00:00 2001
From: Yamagishi Kazutoshi
Date: Wed, 25 Sep 2019 00:32:12 +0900
Subject: [PATCH 45/81] Cast multipart threshold to integer (#11944)
---
config/initializers/paperclip.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index cfc95330cc7..f308c284115 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -25,7 +25,7 @@ if ENV['S3_ENABLED'] == 'true'
s3_protocol: s3_protocol,
s3_host_name: s3_hostname,
s3_headers: {
- 'X-Amz-Multipart-Threshold' => ENV.fetch('S3_MULTIPART_THRESHOLD') { 15.megabytes },
+ 'X-Amz-Multipart-Threshold' => ENV.fetch('S3_MULTIPART_THRESHOLD') { 15.megabytes }.to_i,
'Cache-Control' => 'public, max-age=315576000, immutable',
},
s3_permissions: ENV.fetch('S3_PERMISSION') { 'public-read' },
From a5c558f0525a6ddcdddf6b7e61b554c3446fe2d5 Mon Sep 17 00:00:00 2001
From: Yamagishi Kazutoshi
Date: Wed, 25 Sep 2019 03:28:25 +0900
Subject: [PATCH 46/81] Hide error message on /heath (#11947)
* Hide error message on /heath
* update health_check
---
Gemfile | 4 ++--
Gemfile.lock | 16 +++++++++++-----
config/initializers/health_check.rb | 2 ++
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/Gemfile b/Gemfile
index 2ab3137547a..7ed1a4e6bb7 100644
--- a/Gemfile
+++ b/Gemfile
@@ -29,7 +29,7 @@ gem 'bootsnap', '~> 1.4', require: false
gem 'browser'
gem 'charlock_holmes', '~> 0.7.6'
gem 'iso-639'
-gem 'chewy', '~> 5.0'
+gem 'chewy', '~> 5.1'
gem 'cld3', '~> 3.2.4'
gem 'devise', '~> 4.7'
gem 'devise-two-factor', '~> 3.1'
@@ -50,7 +50,7 @@ gem 'fastimage'
gem 'goldfinger', '~> 2.1'
gem 'hiredis', '~> 0.6'
gem 'redis-namespace', '~> 1.5'
-gem 'health_check', '~> 3.0'
+gem 'health_check', git: 'https://github.com/ianheggie/health_check', ref: '0b799ead604f900ed50685e9b2d469cd2befba5b'
gem 'htmlentities', '~> 4.3'
gem 'http', '~> 3.3'
gem 'http_accept_language', '~> 2.1'
diff --git a/Gemfile.lock b/Gemfile.lock
index a796d1aaebe..900f05ab3e6 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,3 +1,11 @@
+GIT
+ remote: https://github.com/ianheggie/health_check
+ revision: 0b799ead604f900ed50685e9b2d469cd2befba5b
+ ref: 0b799ead604f900ed50685e9b2d469cd2befba5b
+ specs:
+ health_check (4.0.0.pre)
+ rails (>= 4.0)
+
GIT
remote: https://github.com/rtomayko/posix-spawn
revision: 58465d2e213991f8afb13b984854a49fcdcc980c
@@ -161,7 +169,7 @@ GEM
case_transform (0.2)
activesupport
charlock_holmes (0.7.6)
- chewy (5.0.1)
+ chewy (5.1.0)
activesupport (>= 4.0)
elasticsearch (>= 2.0.0)
elasticsearch-dsl
@@ -278,8 +286,6 @@ GEM
concurrent-ruby (~> 1.0)
hashdiff (1.0.0)
hashie (3.6.0)
- health_check (3.0.0)
- railties (>= 5.0)
heapy (0.1.4)
highline (2.0.1)
hiredis (0.6.3)
@@ -687,7 +693,7 @@ DEPENDENCIES
capistrano-yarn (~> 2.0)
capybara (~> 3.29)
charlock_holmes (~> 0.7.6)
- chewy (~> 5.0)
+ chewy (~> 5.1)
cld3 (~> 3.2.4)
climate_control (~> 0.2)
concurrent-ruby
@@ -708,7 +714,7 @@ DEPENDENCIES
fuubar (~> 2.4)
goldfinger (~> 2.1)
hamlit-rails (~> 0.2)
- health_check (~> 3.0)
+ health_check!
hiredis (~> 0.6)
htmlentities (~> 4.3)
http (~> 3.3)
diff --git a/config/initializers/health_check.rb b/config/initializers/health_check.rb
index eece67b107d..6f1e78fed99 100644
--- a/config/initializers/health_check.rb
+++ b/config/initializers/health_check.rb
@@ -3,4 +3,6 @@ HealthCheck.setup do |config|
config.standard_checks = %w(database migrations cache)
config.full_checks = %w(database migrations cache)
+
+ config.include_error_in_response_body = false
end
From 541b9cd15b3dc9d59ee71f20ec05b53f80f08ec9 Mon Sep 17 00:00:00 2001
From: Daigo 3 Dango
Date: Tue, 24 Sep 2019 14:07:11 -1000
Subject: [PATCH 47/81] Use Ruby-2.6.4 (#11942)
---
.ruby-version | 2 +-
Gemfile.lock | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.ruby-version b/.ruby-version
index 6a6a3d8e35c..2714f5313ae 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.6.1
+2.6.4
diff --git a/Gemfile.lock b/Gemfile.lock
index 900f05ab3e6..fdf28bd10d7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -799,7 +799,7 @@ DEPENDENCIES
webpush
RUBY VERSION
- ruby 2.6.1p33
+ ruby 2.6.4p104
BUNDLED WITH
1.17.3
From 5034418e2c41fbd51fc85458dd3fdba72a672625 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Wed, 25 Sep 2019 02:19:48 +0200
Subject: [PATCH 48/81] Update changelog for 3.0.0rc1 (#11950)
---
CHANGELOG.md | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 167 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8f7c77d372..a170c3ecd57 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,173 @@ All notable changes to this project will be documented in this file.
## Unreleased
-TODO
+### Added
+
+- Add "not available" label to unloaded media attachments in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11715), [Gargron](https://github.com/tootsuite/mastodon/pull/11745))
+- **Add profile directory to web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11688), [mayaeh](https://github.com/tootsuite/mastodon/pull/11872))
+ - Add profile directory opt-in federation
+ - Add profile directory REST API
+- Add special alert for throttled requests in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11677))
+- Add confirmation modal when logging out from the web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11671))
+- **Add audio player in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11644), [Gargron](https://github.com/tootsuite/mastodon/pull/11652), [Gargron](https://github.com/tootsuite/mastodon/pull/11654), [ThibG](https://github.com/tootsuite/mastodon/pull/11629))
+- **Add autosuggestions for hashtags in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11422), [ThibG](https://github.com/tootsuite/mastodon/pull/11632), [Gargron](https://github.com/tootsuite/mastodon/pull/11764), [Gargron](https://github.com/tootsuite/mastodon/pull/11588), [Gargron](https://github.com/tootsuite/mastodon/pull/11442))
+- **Add media editing modal with OCR tool in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11563), [Gargron](https://github.com/tootsuite/mastodon/pull/11566), [ThibG](https://github.com/tootsuite/mastodon/pull/11575), [ThibG](https://github.com/tootsuite/mastodon/pull/11576), [Gargron](https://github.com/tootsuite/mastodon/pull/11577), [Gargron](https://github.com/tootsuite/mastodon/pull/11573), [Gargron](https://github.com/tootsuite/mastodon/pull/11571))
+- Add indicator of unread notifications to window title when web UI is out of focus ([Gargron](https://github.com/tootsuite/mastodon/pull/11560), [Gargron](https://github.com/tootsuite/mastodon/pull/11572))
+- Add indicator for which options you voted for in a poll in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11195))
+- **Add search results pagination to web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11409), [ThibG](https://github.com/tootsuite/mastodon/pull/11447))
+- **Add option to disable real-time updates in web UI ("slow mode")** ([Gargron](https://github.com/tootsuite/mastodon/pull/9984), [ykzts](https://github.com/tootsuite/mastodon/pull/11880), [ThibG](https://github.com/tootsuite/mastodon/pull/11883), [Gargron](https://github.com/tootsuite/mastodon/pull/11898), [ThibG](https://github.com/tootsuite/mastodon/pull/11859))
+- Add option to disable blurhash previews in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11188))
+- Add native smooth scrolling when supported in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11207))
+- Add search and sort functions to hashtag admin UI ([mayaeh](https://github.com/tootsuite/mastodon/pull/11829), [Gargron](https://github.com/tootsuite/mastodon/pull/11897), [mayaeh](https://github.com/tootsuite/mastodon/pull/11875))
+- Add setting for default search engine indexing in admin UI ([brortao](https://github.com/tootsuite/mastodon/pull/11804))
+- Add account bio to account view in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11473))
+- **Add option to include reported statuses in warning e-mail from admin UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11639), [Gargron](https://github.com/tootsuite/mastodon/pull/11812), [Gargron](https://github.com/tootsuite/mastodon/pull/11741), [Gargron](https://github.com/tootsuite/mastodon/pull/11698), [mayaeh](https://github.com/tootsuite/mastodon/pull/11765))
+- Add number of pending accounts and pending hashtags to dashboard in admin UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11514))
+- **Add account migration UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11846), [noellabo](https://github.com/tootsuite/mastodon/pull/11905), [noellabo](https://github.com/tootsuite/mastodon/pull/11907), [noellabo](https://github.com/tootsuite/mastodon/pull/11906), [noellabo](https://github.com/tootsuite/mastodon/pull/11902))
+- **Add table of contents to about page** ([Gargron](https://github.com/tootsuite/mastodon/pull/11885), [ykzts](https://github.com/tootsuite/mastodon/pull/11941), [ykzts](https://github.com/tootsuite/mastodon/pull/11895), [Kjwon15](https://github.com/tootsuite/mastodon/pull/11916))
+- **Add password challenge to 2FA settings, e-mail notifications** ([Gargron](https://github.com/tootsuite/mastodon/pull/11878))
+- Add optional invite comments ([ThibG](https://github.com/tootsuite/mastodon/pull/10465))
+- **Add optional public list of domain blocks with comments** ([ThibG](https://github.com/tootsuite/mastodon/pull/11298), [ThibG](https://github.com/tootsuite/mastodon/pull/11515), [Gargron](https://github.com/tootsuite/mastodon/pull/11908))
+- Add an RSS feed for featured hashtags ([noellabo](https://github.com/tootsuite/mastodon/pull/10502))
+- Add explanations to featured hashtags UI and profile ([Gargron](https://github.com/tootsuite/mastodon/pull/11586))
+- **Add hashtag trends with admin and user settings** ([Gargron](https://github.com/tootsuite/mastodon/pull/11490), [Gargron](https://github.com/tootsuite/mastodon/pull/11502), [Gargron](https://github.com/tootsuite/mastodon/pull/11641), [Gargron](https://github.com/tootsuite/mastodon/pull/11594), [Gargron](https://github.com/tootsuite/mastodon/pull/11517), [mayaeh](https://github.com/tootsuite/mastodon/pull/11845), [Gargron](https://github.com/tootsuite/mastodon/pull/11774), [Gargron](https://github.com/tootsuite/mastodon/pull/11712), [Gargron](https://github.com/tootsuite/mastodon/pull/11791), [Gargron](https://github.com/tootsuite/mastodon/pull/11743), [Gargron](https://github.com/tootsuite/mastodon/pull/11740), [Gargron](https://github.com/tootsuite/mastodon/pull/11714), [ThibG](https://github.com/tootsuite/mastodon/pull/11631), [Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/11569), [Gargron](https://github.com/tootsuite/mastodon/pull/11524), [Gargron](https://github.com/tootsuite/mastodon/pull/11513))
+ - Add hashtag usage breakdown to admin UI
+ - Add batch actions for hashtags to admin UI
+ - Add trends to web UI
+ - Add trends to public pages
+ - Add user preference to hide trends
+ - Add admin setting to disable trends
+- **Add categories for custom emojis** ([Gargron](https://github.com/tootsuite/mastodon/pull/11196), [Gargron](https://github.com/tootsuite/mastodon/pull/11793), [Gargron](https://github.com/tootsuite/mastodon/pull/11920), [highemerly](https://github.com/tootsuite/mastodon/pull/11876))
+ - Add custom emoji categories to emoji picker in web UI
+ - Add `category` to custom emojis in REST API
+ - Add batch actions for custom emojis in admin UI
+- Add max image dimensions to error message ([raboof](https://github.com/tootsuite/mastodon/pull/11552))
+- Add aac, m4a, 3gp, amr, wma to allowed audio formats ([Gargron](https://github.com/tootsuite/mastodon/pull/11342), [umonaca](https://github.com/tootsuite/mastodon/pull/11687))
+- **Add search syntax for operators and phrases** ([Gargron](https://github.com/tootsuite/mastodon/pull/11411))
+- **Add REST API for managing featured hashtags** ([noellabo](https://github.com/tootsuite/mastodon/pull/11778))
+- **Add REST API for managing timeline read markers** ([Gargron](https://github.com/tootsuite/mastodon/pull/11762))
+- **Add ActivityPub secure mode** ([Gargron](https://github.com/tootsuite/mastodon/pull/11269), [ThibG](https://github.com/tootsuite/mastodon/pull/11332), [ThibG](https://github.com/tootsuite/mastodon/pull/11295))
+- Add HTTP signatures to all outgoing ActivityPub GET requests ([Gargron](https://github.com/tootsuite/mastodon/pull/11284), [ThibG](https://github.com/tootsuite/mastodon/pull/11300))
+- Add support for ActivityPub Audio activities ([ThibG](https://github.com/tootsuite/mastodon/pull/11189))
+- Add ActivityPub actor representing the entire server ([ThibG](https://github.com/tootsuite/mastodon/pull/11321), [rtucker](https://github.com/tootsuite/mastodon/pull/11400), [ThibG](https://github.com/tootsuite/mastodon/pull/11561), [Gargron](https://github.com/tootsuite/mastodon/pull/11798))
+- **Add whitelist mode** ([Gargron](https://github.com/tootsuite/mastodon/pull/11291), [mayaeh](https://github.com/tootsuite/mastodon/pull/11634))
+- Add config of multipart threshold for S3 ([ykzts](https://github.com/tootsuite/mastodon/pull/11924), [ykzts](https://github.com/tootsuite/mastodon/pull/11944))
+- Add health check endpoint for web ([ykzts](https://github.com/tootsuite/mastodon/pull/11770), [ykzts](https://github.com/tootsuite/mastodon/pull/11947))
+- Add HTTP signature keyId to request log ([Gargron](https://github.com/tootsuite/mastodon/pull/11591))
+- Add `SMTP_REPLY_TO` environment variable ([hugogameiro](https://github.com/tootsuite/mastodon/pull/11718))
+- Add `tootctl preview_cards remove` command ([mayaeh](https://github.com/tootsuite/mastodon/pull/11320))
+- Add `tootctl media refresh` command ([Gargron](https://github.com/tootsuite/mastodon/pull/11775))
+- Add `tootctl cache recount` command ([Gargron](https://github.com/tootsuite/mastodon/pull/11597))
+- Add option to exclude suspended domains from `tootctl domains crawl` ([dariusk](https://github.com/tootsuite/mastodon/pull/11454))
+- Add soft delete for statuses for instant deletes through API ([Gargron](https://github.com/tootsuite/mastodon/pull/11623), [Gargron](https://github.com/tootsuite/mastodon/pull/11648))
+- Add rails-level JSON caching ([Gargron](https://github.com/tootsuite/mastodon/pull/11333), [Gargron](https://github.com/tootsuite/mastodon/pull/11271))
+- **Add request pool to improve delivery performance** ([Gargron](https://github.com/tootsuite/mastodon/pull/10353), [ykzts](https://github.com/tootsuite/mastodon/pull/11756))
+- Add concurrent connection attempts to resolved IP addresses ([ThibG](https://github.com/tootsuite/mastodon/pull/11757))
+- Add index for remember_token to improve login performance ([abcang](https://github.com/tootsuite/mastodon/pull/11881))
+- **Add more accurate hashtag search** ([Gargron](https://github.com/tootsuite/mastodon/pull/11579), [Gargron](https://github.com/tootsuite/mastodon/pull/11427), [Gargron](https://github.com/tootsuite/mastodon/pull/11448))
+- **Add more accurate account search** ([Gargron](https://github.com/tootsuite/mastodon/pull/11537), [Gargron](https://github.com/tootsuite/mastodon/pull/11580))
+- **Add a spam check** ([Gargron](https://github.com/tootsuite/mastodon/pull/11217), [Gargron](https://github.com/tootsuite/mastodon/pull/11806), [ThibG](https://github.com/tootsuite/mastodon/pull/11296))
+
+### Changed
+
+- **Change conversations UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/11896))
+- Change dashboard to short number notation ([noellabo](https://github.com/tootsuite/mastodon/pull/11847), [noellabo](https://github.com/tootsuite/mastodon/pull/11911))
+- Change REST API `GET /api/v1/timelines/public` to require authentication when public preview is off ([ThibG](https://github.com/tootsuite/mastodon/pull/11802))
+- Change REST API `POST /api/v1/follow_requests/:id/(approve|reject)` to return relationship ([ThibG](https://github.com/tootsuite/mastodon/pull/11800))
+- Change rate limit for media proxy ([ykzts](https://github.com/tootsuite/mastodon/pull/11814))
+- Change unlisted custom emoji to not appear in autosuggestions ([Gargron](https://github.com/tootsuite/mastodon/pull/11818))
+- Change max length of media descriptions from 420 to 1500 characters ([Gargron](https://github.com/tootsuite/mastodon/pull/11819), [ThibG](https://github.com/tootsuite/mastodon/pull/11836))
+- **Change deletes to preserve soft-deleted statuses in unresolved reports** ([Gargron](https://github.com/tootsuite/mastodon/pull/11805))
+- **Change tootctl to use inline parallelization instead of Sidekiq** ([Gargron](https://github.com/tootsuite/mastodon/pull/11776))
+- **Change account deletion page to have better explanations** ([Gargron](https://github.com/tootsuite/mastodon/pull/11753), [Gargron](https://github.com/tootsuite/mastodon/pull/11763))
+- Change hashtag component in web UI to show numbers for 2 last days ([Gargron](https://github.com/tootsuite/mastodon/pull/11742), [Gargron](https://github.com/tootsuite/mastodon/pull/11755), [Gargron](https://github.com/tootsuite/mastodon/pull/11754))
+- Change OpenGraph description on sign-up page to reflect invite ([Gargron](https://github.com/tootsuite/mastodon/pull/11744))
+- Change layout of public profile directory to be the same as in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11705))
+- Change detailed status child ordering to sort self-replies on top ([ThibG](https://github.com/tootsuite/mastodon/pull/11686))
+- Change window resize handler to switch to/from mobile layout as soon as needed ([ThibG](https://github.com/tootsuite/mastodon/pull/11656))
+- Change icon button styles to make hover/focus states more obvious ([ThibG](https://github.com/tootsuite/mastodon/pull/11474))
+- Change contrast of status links that are not mentions or hashtags ([ThibG](https://github.com/tootsuite/mastodon/pull/11406))
+- **Change hashtags to preserve first-used casing** ([Gargron](https://github.com/tootsuite/mastodon/pull/11416), [Gargron](https://github.com/tootsuite/mastodon/pull/11508), [Gargron](https://github.com/tootsuite/mastodon/pull/11504), [Gargron](https://github.com/tootsuite/mastodon/pull/11507), [Gargron](https://github.com/tootsuite/mastodon/pull/11441))
+- **Change unconfirmed user login behaviour** ([Gargron](https://github.com/tootsuite/mastodon/pull/11375), [ThibG](https://github.com/tootsuite/mastodon/pull/11394), [Gargron](https://github.com/tootsuite/mastodon/pull/11860))
+- **Change single-column mode to scroll the whole page** ([Gargron](https://github.com/tootsuite/mastodon/pull/11359), [Gargron](https://github.com/tootsuite/mastodon/pull/11894), [Gargron](https://github.com/tootsuite/mastodon/pull/11891), [ThibG](https://github.com/tootsuite/mastodon/pull/11655), [Gargron](https://github.com/tootsuite/mastodon/pull/11463), [Gargron](https://github.com/tootsuite/mastodon/pull/11458), [ThibG](https://github.com/tootsuite/mastodon/pull/11395), [Gargron](https://github.com/tootsuite/mastodon/pull/11418))
+- Change `tootctl accounts follow` to only work with local accounts ([angristan](https://github.com/tootsuite/mastodon/pull/11592))
+- Change Dockerfile ([Shleeble](https://github.com/tootsuite/mastodon/pull/11710), [ykzts](https://github.com/tootsuite/mastodon/pull/11768), [Shleeble](https://github.com/tootsuite/mastodon/pull/11707))
+- Change supported Node versions to include v12 ([abcang](https://github.com/tootsuite/mastodon/pull/11706))
+- Change Portuguese language from `pt` to `pt-PT` ([Gargron](https://github.com/tootsuite/mastodon/pull/11820))
+
+### Removed
+
+- **Remove OStatus support** ([Gargron](https://github.com/tootsuite/mastodon/pull/11205), [Gargron](https://github.com/tootsuite/mastodon/pull/11303), [Gargron](https://github.com/tootsuite/mastodon/pull/11460), [ThibG](https://github.com/tootsuite/mastodon/pull/11280), [ThibG](https://github.com/tootsuite/mastodon/pull/11278))
+- Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` ([Gargron](https://github.com/tootsuite/mastodon/pull/11247))
+- Remove WebP support ([angristan](https://github.com/tootsuite/mastodon/pull/11589))
+- Remove deprecated config options from Heroku and Scalingo ([ykzts](https://github.com/tootsuite/mastodon/pull/11925))
+- Remove deprecated REST API `GET /api/v1/search` API ([Gargron](https://github.com/tootsuite/mastodon/pull/11823))
+- Remove deprecated REST API `GET /api/v1/statuses/:id/card` ([Gargron](https://github.com/tootsuite/mastodon/pull/11213))
+- Remove deprecated REST API `POST /api/v1/notifications/dismiss?id=:id` ([Gargron](https://github.com/tootsuite/mastodon/pull/11214))
+- Remove deprecated REST API `GET /api/v1/timelines/direct` ([Gargron](https://github.com/tootsuite/mastodon/pull/11212))
+
+### Fixed
+
+- Fix manifest warning ([ykzts](https://github.com/tootsuite/mastodon/pull/11767))
+- Fix admin UI for custom emoji not respecting GIF autoplay preference ([ThibG](https://github.com/tootsuite/mastodon/pull/11801))
+- Fix page body not being scrollable in admin/settings layout ([Gargron](https://github.com/tootsuite/mastodon/pull/11893))
+- Fix placeholder colors for inputs not being explicitly defined ([Gargron](https://github.com/tootsuite/mastodon/pull/11890))
+- Fix incorrect enclosure length in RSS ([tsia](https://github.com/tootsuite/mastodon/pull/11889))
+- Fix TOTP codes not being filtered from logs during enabling/disabling ([Gargron](https://github.com/tootsuite/mastodon/pull/11877))
+- Fix webfinger response not returning 410 when account is suspended ([Gargron](https://github.com/tootsuite/mastodon/pull/11869))
+- Fix ActivityPub Move handler queuing jobs that will fail if account is suspended ([Gargron](https://github.com/tootsuite/mastodon/pull/11864))
+- Fix SSO login not using existing account when e-mail is verified ([Gargron](https://github.com/tootsuite/mastodon/pull/11862))
+- Fix web UI allowing uploads past status limit via drag & drop ([Gargron](https://github.com/tootsuite/mastodon/pull/11863))
+- Fix expiring polls not being displayed as such in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11835))
+- Fix 2FA challenge and password challenge for non-database users ([Gargron](https://github.com/tootsuite/mastodon/pull/11831), [Gargron](https://github.com/tootsuite/mastodon/pull/11943))
+- Fix profile fields overflowing page width in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11828))
+- Fix web push subscriptions being deleted on rate limit or timeout ([Gargron](https://github.com/tootsuite/mastodon/pull/11826))
+- Fix display of long poll options in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11717), [ThibG](https://github.com/tootsuite/mastodon/pull/11833))
+- Fix search API not resolving URL when `type` is given ([Gargron](https://github.com/tootsuite/mastodon/pull/11822))
+- Fix hashtags being split by ZWNJ character ([Gargron](https://github.com/tootsuite/mastodon/pull/11821))
+- Fix scroll position resetting when opening media modals in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11815))
+- Fix duplicate HTML IDs on about page ([ThibG](https://github.com/tootsuite/mastodon/pull/11803))
+- Fix admin UI showing superfluous reject media/reports on suspended domain blocks ([ThibG](https://github.com/tootsuite/mastodon/pull/11749))
+- Fix ActivityPub context not being dynamically computed ([ThibG](https://github.com/tootsuite/mastodon/pull/11746))
+- Fix Mastodon logo style on hover on public pages' footer ([ThibG](https://github.com/tootsuite/mastodon/pull/11735))
+- Fix height of dashboard counters ([ThibG](https://github.com/tootsuite/mastodon/pull/11736))
+- Fix custom emoji animation on hover in web UI directory bios ([ThibG](https://github.com/tootsuite/mastodon/pull/11716))
+- Fix non-numbers being passed to Redis and causing an error ([Gargron](https://github.com/tootsuite/mastodon/pull/11697))
+- Fix error in REST API for an account's statuses ([Gargron](https://github.com/tootsuite/mastodon/pull/11700))
+- Fix uncaught error when resource param is missing in Webfinger request ([Gargron](https://github.com/tootsuite/mastodon/pull/11701))
+- Fix uncaught domain normalization error in remote follow ([Gargron](https://github.com/tootsuite/mastodon/pull/11703))
+- Fix uncaught 422 and 500 errors ([Gargron](https://github.com/tootsuite/mastodon/pull/11590), [Gargron](https://github.com/tootsuite/mastodon/pull/11811))
+- Fix uncaught parameter missing exceptions and missing error templates ([Gargron](https://github.com/tootsuite/mastodon/pull/11702))
+- Fix encoding error when checking e-mail MX records ([Gargron](https://github.com/tootsuite/mastodon/pull/11696))
+- Fix items in StatusContent render list not all having a key ([ThibG](https://github.com/tootsuite/mastodon/pull/11645))
+- Fix remote and staff-removed statuses leaving media behind for a day ([Gargron](https://github.com/tootsuite/mastodon/pull/11638))
+- Fix CSP needlessly allowing blob URLs in script-src ([ThibG](https://github.com/tootsuite/mastodon/pull/11620))
+- Fix ignoring whole status because of one invalid hashtag ([Gargron](https://github.com/tootsuite/mastodon/pull/11621))
+- Fix hidden statuses losing focus ([ThibG](https://github.com/tootsuite/mastodon/pull/11208))
+- Fix loading bar being obscured by other elements in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11598))
+- Fix multiple issues with replies collection for pages further than self-replies ([ThibG](https://github.com/tootsuite/mastodon/pull/11582))
+- Fix blurhash and autoplay not working on public pages ([Gargron](https://github.com/tootsuite/mastodon/pull/11585))
+- Fix 422 being returned instead of 404 when POSTing to unmatched routes ([Gargron](https://github.com/tootsuite/mastodon/pull/11574), [Gargron](https://github.com/tootsuite/mastodon/pull/11704))
+- Fix client-side resizing of image uploads ([ThibG](https://github.com/tootsuite/mastodon/pull/11570))
+- Fix short number formatting for numbers above million in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11559))
+- Fix ActivityPub and REST API queries setting cookies and preventing caching ([ThibG](https://github.com/tootsuite/mastodon/pull/11539), [ThibG](https://github.com/tootsuite/mastodon/pull/11557), [ThibG](https://github.com/tootsuite/mastodon/pull/11336), [ThibG](https://github.com/tootsuite/mastodon/pull/11331))
+- Fix some emojis in profile metadata labels are not emojified. ([kedamaDQ](https://github.com/tootsuite/mastodon/pull/11534))
+- Fix account search always returning exact match on paginated results ([Gargron](https://github.com/tootsuite/mastodon/pull/11525))
+- Fix acct URIs with IDN domains not being resolved ([Gargron](https://github.com/tootsuite/mastodon/pull/11520))
+- Fix admin dashboard missing latest features ([Gargron](https://github.com/tootsuite/mastodon/pull/11505))
+- Fix jumping of toot date when clicking spoiler button ([ariasuni](https://github.com/tootsuite/mastodon/pull/11449))
+- Fix boost to original audience not working on mobile in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11371))
+- Fix handling of webfinger redirects in ResolveAccountService ([ThibG](https://github.com/tootsuite/mastodon/pull/11279))
+- Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ([Gargron](https://github.com/tootsuite/mastodon/pull/11231))
+- Fix support for HTTP proxies ([ThibG](https://github.com/tootsuite/mastodon/pull/11245))
+- Fix HTTP requests to IPv6 hosts ([ThibG](https://github.com/tootsuite/mastodon/pull/11240))
+- Fix error in ElasticSearch index import ([mayaeh](https://github.com/tootsuite/mastodon/pull/11192))
+- Fix duplicate account error when seeding development database ([ysksn](https://github.com/tootsuite/mastodon/pull/11366))
+- Fix performance of session clean-up scheduler ([abcang](https://github.com/tootsuite/mastodon/pull/11871))
+- Fix older migrations not running ([zunda](https://github.com/tootsuite/mastodon/pull/11377))
+- Fix URLs counting towards RTL detection ([ahangarha](https://github.com/tootsuite/mastodon/pull/11759))
+- Fix unnecessary status re-rendering in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11211))
+- Fix http_parser.rb gem not being compiled when no network available ([petabyteboy](https://github.com/tootsuite/mastodon/pull/11444))
## [2.9.3] - 2019-08-10
### Added
From 00d7bdcc2adcc15fe1a95862478cb9b43065a4b0 Mon Sep 17 00:00:00 2001
From: Jeong Arm
Date: Fri, 27 Sep 2019 01:06:08 +0900
Subject: [PATCH 49/81] Fix search error when ElasticSearch is enabled but not
available (#11954)
* Fallback to Database search when ES not available
* Prevent double work if ES gives 0 result
* Apply suggestion from code review
---
app/services/account_search_service.rb | 10 +++++-----
app/services/tag_search_service.rb | 11 ++++++-----
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb
index 01caaefa94f..40c5f8590c9 100644
--- a/app/services/account_search_service.rb
+++ b/app/services/account_search_service.rb
@@ -42,11 +42,9 @@ class AccountSearchService < BaseService
return [] if limit_for_non_exact_results.zero?
@search_results ||= begin
- if Chewy.enabled?
- from_elasticsearch
- else
- from_database
- end
+ results = from_elasticsearch if Chewy.enabled?
+ results ||= from_database
+ results
end
end
@@ -92,6 +90,8 @@ class AccountSearchService < BaseService
ActiveRecord::Associations::Preloader.new.preload(records, :account_stat)
records
+ rescue Faraday::ConnectionFailed, Parslet::ParseFailed
+ nil
end
def reputation_score_function
diff --git a/app/services/tag_search_service.rb b/app/services/tag_search_service.rb
index 64dd76bb778..5cb0eea7a2f 100644
--- a/app/services/tag_search_service.rb
+++ b/app/services/tag_search_service.rb
@@ -6,11 +6,10 @@ class TagSearchService < BaseService
@offset = options[:offset].to_i
@limit = options[:limit].to_i
- if Chewy.enabled?
- from_elasticsearch
- else
- from_database
- end
+ results = from_elasticsearch if Chewy.enabled?
+ results ||= from_database
+
+ results
end
private
@@ -74,6 +73,8 @@ class TagSearchService < BaseService
}
TagsIndex.query(query).filter(filter).limit(@limit).offset(@offset).objects.compact
+ rescue Faraday::ConnectionFailed, Parslet::ParseFailed
+ nil
end
def from_database
From add4d4118c33562cf196f2045d6ce3aa309a40a0 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Fri, 27 Sep 2019 02:13:34 +0200
Subject: [PATCH 50/81] Fix relays UI being available in whitelist/secure mode
(#11963)
Fix relays UI referencing relay that is not functional
---
app/controllers/admin/relays_controller.rb | 7 ++++++-
app/models/relay.rb | 5 +----
config/locales/en.yml | 3 ++-
config/navigation.rb | 2 +-
4 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/app/controllers/admin/relays_controller.rb b/app/controllers/admin/relays_controller.rb
index 1b02d3c361a..6fbb6e06309 100644
--- a/app/controllers/admin/relays_controller.rb
+++ b/app/controllers/admin/relays_controller.rb
@@ -3,6 +3,7 @@
module Admin
class RelaysController < BaseController
before_action :set_relay, except: [:index, :new, :create]
+ before_action :require_signatures_enabled!, only: [:new, :create, :enable]
def index
authorize :relay, :update?
@@ -11,7 +12,7 @@ module Admin
def new
authorize :relay, :update?
- @relay = Relay.new(inbox_url: Relay::PRESET_RELAY)
+ @relay = Relay.new
end
def create
@@ -54,5 +55,9 @@ module Admin
def resource_params
params.require(:relay).permit(:inbox_url)
end
+
+ def require_signatures_enabled!
+ redirect_to admin_relays_path, alert: I18n.t('admin.relays.signatures_not_enabled') if authorized_fetch_mode?
+ end
end
end
diff --git a/app/models/relay.rb b/app/models/relay.rb
index 6934a5c6287..8c8a97db329 100644
--- a/app/models/relay.rb
+++ b/app/models/relay.rb
@@ -12,8 +12,6 @@
#
class Relay < ApplicationRecord
- PRESET_RELAY = 'https://relay.joinmastodon.org/inbox'
-
validates :inbox_url, presence: true, uniqueness: true, url: true, if: :will_save_change_to_inbox_url?
enum state: [:idle, :pending, :accepted, :rejected]
@@ -74,7 +72,6 @@ class Relay < ApplicationRecord
end
def ensure_disabled
- return unless enabled?
- disable!
+ disable! if enabled?
end
end
diff --git a/config/locales/en.yml b/config/locales/en.yml
index c29c7f87173..c580c5ed5ee 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -257,7 +257,7 @@ en:
updated_msg: Emoji successfully updated!
upload: Upload
dashboard:
- authorized_fetch_mode: Authorized fetch mode
+ authorized_fetch_mode: Secure mode
backlog: backlogged jobs
config: Configuration
feature_deletions: Account deletions
@@ -383,6 +383,7 @@ en:
pending: Waiting for relay's approval
save_and_enable: Save and enable
setup: Setup a relay connection
+ signatures_not_enabled: Relays will not work correctly while secure mode or whitelist mode is enabled
status: Status
title: Relays
report_notes:
diff --git a/config/navigation.rb b/config/navigation.rb
index 32c299143f2..eebd4f75e38 100644
--- a/config/navigation.rb
+++ b/config/navigation.rb
@@ -47,7 +47,7 @@ SimpleNavigation::Configuration.run do |navigation|
s.item :dashboard, safe_join([fa_icon('tachometer fw'), t('admin.dashboard.title')]), admin_dashboard_url
s.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), edit_admin_settings_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/settings}
s.item :custom_emojis, safe_join([fa_icon('smile-o fw'), t('admin.custom_emojis.title')]), admin_custom_emojis_url, highlights_on: %r{/admin/custom_emojis}
- s.item :relays, safe_join([fa_icon('exchange fw'), t('admin.relays.title')]), admin_relays_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/relays}
+ s.item :relays, safe_join([fa_icon('exchange fw'), t('admin.relays.title')]), admin_relays_url, if: -> { current_user.admin? && !whitelist_mode? }, highlights_on: %r{/admin/relays}
s.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url, link_html: { target: 'sidekiq' }, if: -> { current_user.admin? }
s.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url, link_html: { target: 'pghero' }, if: -> { current_user.admin? }
end
From 7a39671d4654917849f2f2eecffa12573f24f361 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Fri, 27 Sep 2019 02:13:51 +0200
Subject: [PATCH 51/81] Fix hashtag batch actions not redirecting back with
right filters (#11962)
Regression from #11829
---
app/views/admin/tags/index.html.haml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/views/admin/tags/index.html.haml b/app/views/admin/tags/index.html.haml
index 498b9308358..8b1182dbb11 100644
--- a/app/views/admin/tags/index.html.haml
+++ b/app/views/admin/tags/index.html.haml
@@ -43,8 +43,10 @@
= form_for(@form, url: batch_admin_tags_path) do |f|
= hidden_field_tag :page, params[:page] || 1
- = hidden_field_tag :context, params[:context]
- = hidden_field_tag :review, params[:review]
+ = hidden_field_tag :name, params[:name] if params[:name].present?
+
+ - Admin::FilterHelper::TAGS_FILTERS.each do |key|
+ = hidden_field_tag key, params[key] if params[key].present?
.batch-table
.batch-table__toolbar
From f31530b74d0f2ab77845db26babc25f5de337bd4 Mon Sep 17 00:00:00 2001
From: Cutls
Date: Fri, 27 Sep 2019 09:14:49 +0900
Subject: [PATCH 52/81] Fix overflow on conversations (#11965)
* Fix: overflow on conversations
* Fix: overflow on conversations
---
app/javascript/styles/mastodon/components.scss | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index f4f26203e5c..7562cc709c4 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -6418,13 +6418,17 @@ noscript {
flex: 1 1 auto;
padding: 10px 5px;
padding-right: 15px;
+ word-break: break-all;
+ overflow: hidden;
&__info {
overflow: hidden;
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: space-between;
}
&__relative-time {
- float: right;
font-size: 15px;
color: $darker-text-color;
padding-left: 15px;
@@ -6437,6 +6441,8 @@ noscript {
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 4px;
+ flex-basis: 170px;
+ flex-shrink: 1000;
a {
color: $primary-text-color;
From 7baedcb61e15200478f3ad6deb96d452cd63499a Mon Sep 17 00:00:00 2001
From: ThibG
Date: Fri, 27 Sep 2019 02:16:11 +0200
Subject: [PATCH 53/81] Use blob URL for Tesseract to avoid CORS issues
(#11964)
---
app/javascript/mastodon/actions/compose.js | 5 +++--
.../features/ui/components/focal_point_modal.js | 12 +++++++++++-
app/javascript/mastodon/reducers/compose.js | 6 +++---
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js
index 061a36bb8e7..79d64dc3e81 100644
--- a/app/javascript/mastodon/actions/compose.js
+++ b/app/javascript/mastodon/actions/compose.js
@@ -234,7 +234,7 @@ export function uploadCompose(files) {
progress[i] = loaded;
dispatch(uploadComposeProgress(progress.reduce((a, v) => a + v, 0), total));
},
- }).then(({ data }) => dispatch(uploadComposeSuccess(data)));
+ }).then(({ data }) => dispatch(uploadComposeSuccess(data, f)));
}).catch(error => dispatch(uploadComposeFail(error)));
};
};
@@ -289,10 +289,11 @@ export function uploadComposeProgress(loaded, total) {
};
};
-export function uploadComposeSuccess(media) {
+export function uploadComposeSuccess(media, file) {
return {
type: COMPOSE_UPLOAD_SUCCESS,
media: media,
+ file: file,
skipLoading: true,
};
};
diff --git a/app/javascript/mastodon/features/ui/components/focal_point_modal.js b/app/javascript/mastodon/features/ui/components/focal_point_modal.js
index 7891d6690fe..1ab79a21df2 100644
--- a/app/javascript/mastodon/features/ui/components/focal_point_modal.js
+++ b/app/javascript/mastodon/features/ui/components/focal_point_modal.js
@@ -173,7 +173,17 @@ class FocalPointModal extends ImmutablePureComponent {
langPath: `${assetHost}/ocr/lang-data`,
});
- worker.recognize(media.get('url'))
+ let media_url = media.get('file');
+
+ if (window.URL && URL.createObjectURL) {
+ try {
+ media_url = URL.createObjectURL(media.get('file'));
+ } catch (error) {
+ console.error(error);
+ }
+ }
+
+ worker.recognize(media_url)
.progress(({ progress }) => this.setState({ progress }))
.finally(() => worker.terminate())
.then(({ text }) => this.setState({ description: removeExtraLineBreaks(text), dirty: true, detecting: false }))
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index 268237846c6..5798f529dc3 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -103,11 +103,11 @@ function clearAll(state) {
});
};
-function appendMedia(state, media) {
+function appendMedia(state, media, file) {
const prevSize = state.get('media_attachments').size;
return state.withMutations(map => {
- map.update('media_attachments', list => list.push(media));
+ map.update('media_attachments', list => list.push(media.set('file', file)));
map.set('is_uploading', false);
map.set('resetFileKey', Math.floor((Math.random() * 0x10000)));
map.set('idempotencyKey', uuid());
@@ -321,7 +321,7 @@ export default function compose(state = initialState, action) {
case COMPOSE_UPLOAD_REQUEST:
return state.set('is_uploading', true);
case COMPOSE_UPLOAD_SUCCESS:
- return appendMedia(state, fromJS(action.media));
+ return appendMedia(state, fromJS(action.media), action.file);
case COMPOSE_UPLOAD_FAIL:
return state.set('is_uploading', false);
case COMPOSE_UPLOAD_UNDO:
From 05ad7d606ca46afaa723745abba063e5d934b507 Mon Sep 17 00:00:00 2001
From: mayaeh
Date: Fri, 27 Sep 2019 10:07:19 +0900
Subject: [PATCH 54/81] Add translation strings for AdminUI custom emojis
(#11970)
---
config/locales/en.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/config/locales/en.yml b/config/locales/en.yml
index c580c5ed5ee..ee798e87f13 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -242,8 +242,10 @@ en:
disabled_msg: Successfully disabled that emoji
emoji: Emoji
enable: Enable
+ enabled: Enabled
enabled_msg: Successfully enabled that emoji
image_hint: PNG up to 50KB
+ list: List
listed: Listed
new:
title: Add new custom emoji
@@ -252,6 +254,7 @@ en:
shortcode_hint: At least 2 characters, only alphanumeric characters and underscores
title: Custom emojis
uncategorized: Uncategorized
+ unlist: Unlist
unlisted: Unlisted
update_failed_msg: Could not update that emoji
updated_msg: Emoji successfully updated!
From 860a77d45ee9d17117364868f0932b4fcbe07d3d Mon Sep 17 00:00:00 2001
From: ThibG
Date: Fri, 27 Sep 2019 15:22:11 +0200
Subject: [PATCH 55/81] Avoid storing audio and video file data in memory
(#11974)
---
app/javascript/mastodon/reducers/compose.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index 5798f529dc3..b5dc81703d1 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -107,7 +107,10 @@ function appendMedia(state, media, file) {
const prevSize = state.get('media_attachments').size;
return state.withMutations(map => {
- map.update('media_attachments', list => list.push(media.set('file', file)));
+ if (media.get('type') === 'image') {
+ media = media.set('file', file);
+ }
+ map.update('media_attachments', list => list.push(media));
map.set('is_uploading', false);
map.set('resetFileKey', Math.floor((Math.random() * 0x10000)));
map.set('idempotencyKey', uuid());
From 059945c97cb9a9f3cbddda729f499b44800bdc68 Mon Sep 17 00:00:00 2001
From: abcang
Date: Fri, 27 Sep 2019 22:23:30 +0900
Subject: [PATCH 56/81] Improve status pin query (#11972)
---
app/controllers/activitypub/collections_controller.rb | 6 +++---
app/controllers/api/v1/accounts/statuses_controller.rb | 2 ++
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/controllers/activitypub/collections_controller.rb b/app/controllers/activitypub/collections_controller.rb
index 989fee385d1..910fefb1c7a 100644
--- a/app/controllers/activitypub/collections_controller.rb
+++ b/app/controllers/activitypub/collections_controller.rb
@@ -33,9 +33,9 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
def scope_for_collection
case params[:id]
when 'featured'
- @account.statuses.permitted_for(@account, signed_request_account).tap do |scope|
- scope.merge!(@account.pinned_statuses)
- end
+ return Status.none if @account.blocking?(signed_request_account)
+
+ @account.pinned_statuses
else
raise ActiveRecord::RecordNotFound
end
diff --git a/app/controllers/api/v1/accounts/statuses_controller.rb b/app/controllers/api/v1/accounts/statuses_controller.rb
index 0787cd636f7..333db96186c 100644
--- a/app/controllers/api/v1/accounts/statuses_controller.rb
+++ b/app/controllers/api/v1/accounts/statuses_controller.rb
@@ -57,6 +57,8 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
end
def pinned_scope
+ return Status.none if @account.blocking?(current_account)
+
@account.pinned_statuses
end
From 07b057eabb9cc923aa7fc6bb851084af048ed5d2 Mon Sep 17 00:00:00 2001
From: abcang
Date: Fri, 27 Sep 2019 22:24:13 +0900
Subject: [PATCH 57/81] Validate Web::PushSubscription (#11971)
---
app/models/web/push_subscription.rb | 4 ++++
...642_remove_invalid_web_push_subscription.rb | 18 ++++++++++++++++++
db/schema.rb | 2 +-
3 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 db/post_migrate/20190927124642_remove_invalid_web_push_subscription.rb
diff --git a/app/models/web/push_subscription.rb b/app/models/web/push_subscription.rb
index b57807d1c2b..c5dbb58baad 100644
--- a/app/models/web/push_subscription.rb
+++ b/app/models/web/push_subscription.rb
@@ -20,6 +20,10 @@ class Web::PushSubscription < ApplicationRecord
has_one :session_activation, foreign_key: 'web_push_subscription_id', inverse_of: :web_push_subscription
+ validates :endpoint, presence: true
+ validates :key_p256dh, presence: true
+ validates :key_auth, presence: true
+
def push(notification)
I18n.with_locale(associated_user&.locale || I18n.default_locale) do
push_payload(payload_for_notification(notification), 48.hours.seconds)
diff --git a/db/post_migrate/20190927124642_remove_invalid_web_push_subscription.rb b/db/post_migrate/20190927124642_remove_invalid_web_push_subscription.rb
new file mode 100644
index 00000000000..c2397476ad0
--- /dev/null
+++ b/db/post_migrate/20190927124642_remove_invalid_web_push_subscription.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class RemoveInvalidWebPushSubscription < ActiveRecord::Migration[5.2]
+ disable_ddl_transaction!
+
+ def up
+ invalid_web_push_subscriptions = Web::PushSubscription.where(endpoint: '')
+ .or(Web::PushSubscription.where(key_p256dh: ''))
+ .or(Web::PushSubscription.where(key_auth: ''))
+ .preload(:session_activation)
+ invalid_web_push_subscriptions.find_each do |web_push_subscription|
+ web_push_subscription.session_activation&.update!(web_push_subscription_id: nil)
+ web_push_subscription.destroy!
+ end
+ end
+
+ def down; end
+end
diff --git a/db/schema.rb b/db/schema.rb
index fabeb16f353..8eeaf48a08b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 2019_09_17_213523) do
+ActiveRecord::Schema.define(version: 2019_09_27_124642) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
From 2f90a38f44c9c414a2020b2a0031835f3335fea0 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Fri, 27 Sep 2019 19:40:26 +0200
Subject: [PATCH 58/81] Fix unreviewed hashtag not being found by exact
case-insensitive match (#11976)
---
app/services/tag_search_service.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/services/tag_search_service.rb b/app/services/tag_search_service.rb
index 5cb0eea7a2f..47b0e876e89 100644
--- a/app/services/tag_search_service.rb
+++ b/app/services/tag_search_service.rb
@@ -62,9 +62,9 @@ class TagSearchService < BaseService
},
{
- term: {
+ match: {
name: {
- value: @query,
+ query: @query,
},
},
},
From 18b451c0e6cf6a927a22084f94b423982de0ee8b Mon Sep 17 00:00:00 2001
From: ThibG
Date: Fri, 27 Sep 2019 21:13:51 +0200
Subject: [PATCH 59/81] Change silences to always require approval on follow
(#11975)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Change silenced accounts to require approval on follow
* Also require approval for follows by people explicitly muted by target accounts
* Do not auto-accept silenced or muted accounts when switching from locked to unlocked
* Add `follow_requests_count` to verify_credentials
* Show âFollow requestsâ menu item if needed even if account is locked
* Add tests
* Correctly reflect that follow requests weren't auto-accepted when local account is silenced
* Accept follow requests from user-muted accounts to avoid leaking mutes
---
app/controllers/api/v1/accounts_controller.rb | 2 +-
.../features/getting_started/index.js | 8 ++--
app/lib/activitypub/activity/follow.rb | 2 +-
.../rest/credential_account_serializer.rb | 1 +
app/services/follow_service.rb | 2 +-
app/services/update_account_service.rb | 4 +-
spec/lib/activitypub/activity/follow_spec.rb | 30 +++++++++++++++
spec/services/follow_service_spec.rb | 27 +++++++++++++
spec/services/update_account_service_spec.rb | 38 +++++++++++++++++++
9 files changed, 105 insertions(+), 9 deletions(-)
create mode 100644 spec/services/update_account_service_spec.rb
diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb
index b306e8e8cce..c12e1c12e11 100644
--- a/app/controllers/api/v1/accounts_controller.rb
+++ b/app/controllers/api/v1/accounts_controller.rb
@@ -33,7 +33,7 @@ class Api::V1::AccountsController < Api::BaseController
def follow
FollowService.new.call(current_user.account, @account, reblogs: truthy_param?(:reblogs))
- options = @account.locked? ? {} : { following_map: { @account.id => { reblogs: truthy_param?(:reblogs) } }, requested_map: { @account.id => false } }
+ options = @account.locked? || current_user.account.silenced? ? {} : { following_map: { @account.id => { reblogs: truthy_param?(:reblogs) } }, requested_map: { @account.id => false } }
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options)
end
diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js
index f6d90580b6c..67ec7665b67 100644
--- a/app/javascript/mastodon/features/getting_started/index.js
+++ b/app/javascript/mastodon/features/getting_started/index.js
@@ -77,16 +77,14 @@ class GettingStarted extends ImmutablePureComponent {
};
componentDidMount () {
- const { myAccount, fetchFollowRequests, multiColumn } = this.props;
+ const { fetchFollowRequests, multiColumn } = this.props;
if (!multiColumn && window.innerWidth >= NAVIGATION_PANEL_BREAKPOINT) {
this.context.router.history.replace('/timelines/home');
return;
}
- if (myAccount.get('locked')) {
- fetchFollowRequests();
- }
+ fetchFollowRequests();
}
render () {
@@ -134,7 +132,7 @@ class GettingStarted extends ImmutablePureComponent {
height += 48*3;
- if (myAccount.get('locked')) {
+ if (myAccount.get('locked') || unreadFollowRequests > 0) {
navItems.push();
height += 48;
}
diff --git a/app/lib/activitypub/activity/follow.rb b/app/lib/activitypub/activity/follow.rb
index 28f1da19f89..ec92f4255f6 100644
--- a/app/lib/activitypub/activity/follow.rb
+++ b/app/lib/activitypub/activity/follow.rb
@@ -21,7 +21,7 @@ class ActivityPub::Activity::Follow < ActivityPub::Activity
follow_request = FollowRequest.create!(account: @account, target_account: target_account, uri: @json['id'])
- if target_account.locked?
+ if target_account.locked? || @account.silenced?
NotifyService.new.call(target_account, follow_request)
else
AuthorizeFollowService.new.call(@account, target_account)
diff --git a/app/serializers/rest/credential_account_serializer.rb b/app/serializers/rest/credential_account_serializer.rb
index fb195eb07d8..be0d763dc12 100644
--- a/app/serializers/rest/credential_account_serializer.rb
+++ b/app/serializers/rest/credential_account_serializer.rb
@@ -12,6 +12,7 @@ class REST::CredentialAccountSerializer < REST::AccountSerializer
language: user.setting_default_language,
note: object.note,
fields: object.fields.map(&:to_h),
+ follow_requests_count: FollowRequest.where(target_account: object).limit(40).count,
}
end
end
diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb
index 101acdaf963..1941c2e2d88 100644
--- a/app/services/follow_service.rb
+++ b/app/services/follow_service.rb
@@ -30,7 +30,7 @@ class FollowService < BaseService
ActivityTracker.increment('activity:interactions')
- if target_account.locked? || target_account.activitypub?
+ if target_account.locked? || source_account.silenced? || target_account.activitypub?
request_follow(source_account, target_account, reblogs: reblogs)
elsif target_account.local?
direct_follow(source_account, target_account, reblogs: reblogs)
diff --git a/app/services/update_account_service.rb b/app/services/update_account_service.rb
index 01756a73d4b..ebf24be3769 100644
--- a/app/services/update_account_service.rb
+++ b/app/services/update_account_service.rb
@@ -20,7 +20,9 @@ class UpdateAccountService < BaseService
private
def authorize_all_follow_requests(account)
- AuthorizeFollowWorker.push_bulk(FollowRequest.where(target_account: account).select(:account_id, :target_account_id)) do |req|
+ follow_requests = FollowRequest.where(target_account: account)
+ follow_requests = follow_requests.select { |req| !req.account.silenced? }
+ AuthorizeFollowWorker.push_bulk(follow_requests) do |req|
[req.account_id, req.target_account_id]
end
end
diff --git a/spec/lib/activitypub/activity/follow_spec.rb b/spec/lib/activitypub/activity/follow_spec.rb
index 6bbacdbe644..05112cc184f 100644
--- a/spec/lib/activitypub/activity/follow_spec.rb
+++ b/spec/lib/activitypub/activity/follow_spec.rb
@@ -31,6 +31,36 @@ RSpec.describe ActivityPub::Activity::Follow do
end
end
+ context 'silenced account following an unlocked account' do
+ before do
+ sender.touch(:silenced_at)
+ subject.perform
+ end
+
+ it 'does not create a follow from sender to recipient' do
+ expect(sender.following?(recipient)).to be false
+ end
+
+ it 'creates a follow request' do
+ expect(sender.requested?(recipient)).to be true
+ end
+ end
+
+ context 'unlocked account muting the sender' do
+ before do
+ recipient.mute!(sender)
+ subject.perform
+ end
+
+ it 'creates a follow from sender to recipient' do
+ expect(sender.following?(recipient)).to be true
+ end
+
+ it 'does not create a follow request' do
+ expect(sender.requested?(recipient)).to be false
+ end
+ end
+
context 'locked account' do
before do
recipient.update(locked: true)
diff --git a/spec/services/follow_service_spec.rb b/spec/services/follow_service_spec.rb
index 86c85293e88..ae863a9f0e9 100644
--- a/spec/services/follow_service_spec.rb
+++ b/spec/services/follow_service_spec.rb
@@ -30,6 +30,33 @@ RSpec.describe FollowService, type: :service do
end
end
+ describe 'unlocked account, from silenced account' do
+ let(:bob) { Fabricate(:user, email: 'bob@example.com', account: Fabricate(:account, username: 'bob')).account }
+
+ before do
+ sender.touch(:silenced_at)
+ subject.call(sender, bob.acct)
+ end
+
+ it 'creates a follow request with reblogs' do
+ expect(FollowRequest.find_by(account: sender, target_account: bob, show_reblogs: true)).to_not be_nil
+ end
+ end
+
+ describe 'unlocked account, from a muted account' do
+ let(:bob) { Fabricate(:user, email: 'bob@example.com', account: Fabricate(:account, username: 'bob')).account }
+
+ before do
+ bob.mute!(sender)
+ subject.call(sender, bob.acct)
+ end
+
+ it 'creates a following relation with reblogs' do
+ expect(sender.following?(bob)).to be true
+ expect(sender.muting_reblogs?(bob)).to be false
+ end
+ end
+
describe 'unlocked account' do
let(:bob) { Fabricate(:user, email: 'bob@example.com', account: Fabricate(:account, username: 'bob')).account }
diff --git a/spec/services/update_account_service_spec.rb b/spec/services/update_account_service_spec.rb
new file mode 100644
index 00000000000..960b26891f7
--- /dev/null
+++ b/spec/services/update_account_service_spec.rb
@@ -0,0 +1,38 @@
+require 'rails_helper'
+
+RSpec.describe UpdateAccountService, type: :service do
+ subject { UpdateAccountService.new }
+
+ describe 'switching form locked to unlocked accounts' do
+ let(:account) { Fabricate(:account, locked: true) }
+ let(:alice) { Fabricate(:user, email: 'alice@example.com', account: Fabricate(:account, username: 'alice')).account }
+ let(:bob) { Fabricate(:user, email: 'bob@example.com', account: Fabricate(:account, username: 'bob')).account }
+ let(:eve) { Fabricate(:user, email: 'eve@example.com', account: Fabricate(:account, username: 'eve')).account }
+
+ before do
+ bob.touch(:silenced_at)
+ account.mute!(eve)
+
+ FollowService.new.call(alice, account)
+ FollowService.new.call(bob, account)
+ FollowService.new.call(eve, account)
+
+ subject.call(account, { locked: false })
+ end
+
+ it 'auto-accepts pending follow requests' do
+ expect(alice.following?(account)).to be true
+ expect(alice.requested?(account)).to be false
+ end
+
+ it 'does not auto-accept pending follow requests from silenced users' do
+ expect(bob.following?(account)).to be false
+ expect(bob.requested?(account)).to be true
+ end
+
+ it 'auto-accepts pending follow requests from muted users so as to not leak mute' do
+ expect(eve.following?(account)).to be true
+ expect(eve.requested?(account)).to be false
+ end
+ end
+end
From 234c729c5244160c89070960fd06de23ae31e13a Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sat, 28 Sep 2019 00:55:59 +0200
Subject: [PATCH 60/81] New Crowdin translations (#11909)
* New translations en.json (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations activerecord.en.yml (Spanish, Argentina)
[ci skip]
* New translations devise.en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations devise.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations devise.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations activerecord.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations devise.en.yml (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations en.json (Kazakh)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations en.json (Ido)
[ci skip]
* New translations en.yml (Ido)
[ci skip]
* New translations simple_form.en.yml (Ido)
[ci skip]
* New translations doorkeeper.en.yml (Ido)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations en.json (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.json (Lithuanian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.json (Malay)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations simple_form.en.yml (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations simple_form.en.yml (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
---
app/javascript/mastodon/locales/ar.json | 36 +-
app/javascript/mastodon/locales/co.json | 8 +-
app/javascript/mastodon/locales/cy.json | 54 +-
app/javascript/mastodon/locales/el.json | 14 +-
app/javascript/mastodon/locales/es.json | 650 +++++------
app/javascript/mastodon/locales/fr.json | 22 +-
app/javascript/mastodon/locales/hu.json | 60 +-
app/javascript/mastodon/locales/ja.json | 6 +-
app/javascript/mastodon/locales/nl.json | 8 +-
app/javascript/mastodon/locales/pt-BR.json | 32 +-
app/javascript/mastodon/locales/sk.json | 8 +-
app/javascript/mastodon/locales/th.json | 16 +-
config/locales/activerecord.es.yml | 18 +-
config/locales/ar.yml | 62 +-
config/locales/co.yml | 40 +
config/locales/cs.yml | 4 +
config/locales/cy.yml | 51 +
config/locales/devise.ar.yml | 4 +
config/locales/devise.es.yml | 99 +-
config/locales/devise.hu.yml | 12 +
config/locales/devise.ja.yml | 12 +
config/locales/doorkeeper.ar.yml | 2 +-
config/locales/doorkeeper.es.yml | 149 +--
config/locales/el.yml | 14 +-
config/locales/eo.yml | 10 +
config/locales/es.yml | 1135 +-------------------
config/locales/fa.yml | 2 +-
config/locales/fr.yml | 4 +
config/locales/hu.yml | 94 +-
config/locales/ja.yml | 46 +-
config/locales/ko.yml | 26 +-
config/locales/nl.yml | 27 +-
config/locales/oc.yml | 17 +
config/locales/simple_form.ar.yml | 15 +-
config/locales/simple_form.co.yml | 10 +
config/locales/simple_form.cy.yml | 9 +
config/locales/simple_form.es.yml | 171 +--
config/locales/simple_form.fa.yml | 20 +
config/locales/simple_form.hu.yml | 18 +
config/locales/simple_form.ja.yml | 14 +
config/locales/simple_form.ko.yml | 8 +
config/locales/simple_form.oc.yml | 18 +
config/locales/simple_form.pt-BR.yml | 27 +
config/locales/simple_form.pt-PT.yml | 6 +
config/locales/simple_form.th.yml | 2 +
config/locales/simple_form.uk.yml | 1 +
config/locales/sk.yml | 15 +
config/locales/th.yml | 14 +
48 files changed, 1037 insertions(+), 2053 deletions(-)
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 01c56b4a0c9..3b0adb20a8d 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -7,7 +7,7 @@
"account.cancel_follow_request": "ŘĽŮغاإ ءŮب اŮ٠تابŮؚ؊",
"account.direct": "عساŮŘŠ ؎اؾ؊ ŘĽŮŮ @{name}",
"account.domain_blocked": "اŮŮءا٠٠؎ŮŮ",
- "account.edit_profile": "تؚدŮ٠اŮŮ Ů٠اŮŘ´ŘŽŘľŮ",
+ "account.edit_profile": "تؚدŮ٠اŮŮ Ů٠اŮتؚعŮŮŮ",
"account.endorse": "ŘŁŮؾ٠ب٠ؚŮŮ ŘľŮŘŘŞŮ",
"account.follow": "تابŮŘš",
"account.followers": "٠تابؚŮŮ",
@@ -30,11 +30,11 @@
"account.posts_with_replies": "اŮتبŮŮŮات ٠اŮعدŮŘŻ",
"account.report": "ابŮŮŘş ؚ٠@{name}",
"account.requested": "Ů٠اŮتظاع اŮŮ ŮاŮŮŘŠ. ا؜ŮŘşŮءŮ/Ů ŮŘĽŮغاإ ءŮب اŮ٠تابؚ؊",
- "account.share": "٠شاعŮŘŠ Řساب @{name}",
+ "account.share": "شاع٠٠Ů٠تؚعŮŮ @{name}",
"account.show_reblogs": "اؚع؜ ŘŞŘąŮŮات @{name}",
"account.unblock": "ŘĽŮغاإ اŮŘظع ؚ٠@{name}",
"account.unblock_domain": "Ů٠اŮŘŽŮŮ٠ؚ٠{domain}",
- "account.unendorse": "أز٠تعŮŮŘŹŮ Ů Ů٠اŮŮ Ů٠اŮŘ´ŘŽŘľŮ",
+ "account.unendorse": "أز٠تعŮŮŘŹŮ Ů Ů٠اŮŮ Ů٠اŮتؚعŮŮŮ",
"account.unfollow": "ŘĽŮغاإ اŮ٠تابؚ؊",
"account.unmute": "ŘĽŮغاإ اŮŮت٠ؚ٠@{name}",
"account.unmute_notifications": "ŘĽŮغاإ Ůت٠ؼ؎ءاعات @{name}",
@@ -53,7 +53,7 @@
"column.blocks": "اŮŘسابات اŮŮ ŘŘŹŮب؊",
"column.community": "اŮŘŽŮء اŮؚا٠اŮŮ ŘŮŮ",
"column.direct": "اŮعسا،٠اŮ٠باشع؊",
- "column.directory": "Browse profiles",
+ "column.directory": "استؚع؜ اŮŮ ŮŮات اŮتؚعŮŮŮŘŠ",
"column.domain_blocks": "اŮŮءاŮات اŮŮ ŘŽŮŮŘŠ",
"column.favourites": "اŮŮ ŮŘśŮŘŠ",
"column.follow_requests": "ءŮبات اŮ٠تابؚ؊",
@@ -63,7 +63,7 @@
"column.notifications": "اŮؼ؎ءاعات",
"column.pins": "اŮتبŮŮŮات اŮ٠؍بت؊",
"column.public": "اŮŘŽŮء اŮؚا٠اŮŮ ŮŘŘŻ",
- "column.status": "Toot",
+ "column.status": "تبŮŮŮ",
"column_back_button.label": "اŮŘšŮŘŻŘŠ",
"column_header.hide_settings": "ŘĽŘŽŮاإ اŮؼؚدادات",
"column_header.moveLeft_settings": "ŮŮ٠اŮŮا،٠؊ ŘĽŮ٠اŮŮساع",
@@ -111,10 +111,10 @@
"confirmations.reply.message": "اŮعد Ů٠اŮŘŮŮ ŘłŮŮ ŮŮŘšŮŘŻ Ůتاب؊ اŮعساŮŘŠ اŮŘŞŮ ŘŁŮŘŞ بؾدد ŮتابتŮا. Ů ŘŞŘŁŮŘŻ Ů Ů ŘŁŮŮ ŘŞŘąŮŘŻ اŮŮ ŮاؾŮŘŠŘ",
"confirmations.unfollow.confirm": "ŘĽŮغاإ اŮ٠تابؚ؊",
"confirmations.unfollow.message": "Ů ŘŞŘŁŮŘŻ Ů Ů ŘŁŮŮ ŘŞŘąŮŘŻ ŘĽŮغاإ ٠تابؚ؊ {name} Ř",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "اŘذ٠اŮŮ Řاد؍؊",
+ "conversation.mark_as_read": "اؚتبعŮا ŮŮ ŮŘąŮŘĄŘŠ",
+ "conversation.open": "اؚع؜ اŮŮ Řاد؍؊",
+ "conversation.with": "ب٠{names}",
"directory.federated": "From known fediverse",
"directory.local": "From {domain} only",
"directory.new_arrivals": "اŮŮاŮŘŻŮ٠اŮŘŹŮŘŻŘŻ",
@@ -136,7 +136,7 @@
"emoji_button.symbols": "ع٠Ůز",
"emoji_button.travel": "اŮأ٠اŮŮ ŮاŮŘłŮŘą",
"empty_column.account_timeline": "ŮŮŘł ŮŮا٠تبŮŮŮات!",
- "empty_column.account_unavailable": "اŮŮ Ů٠اŮش؎ؾ٠غŮŘą Ů ŘŞŮŮŘą",
+ "empty_column.account_unavailable": "اŮŮ Ů٠اŮتؚعŮŮŮ ŘşŮŘą Ů ŘŞŮŮŘą",
"empty_column.blocks": "ŮŮ ŘŞŮ٠بŘظع أ٠٠ست؎دŮ٠بؚد.",
"empty_column.community": "اŮ؎ء اŮؚا٠اŮŮ ŘŮŮ Ůاعغ. ŘŁŮتب Ř´Ů،ا ٠ا ŮŮؚا٠؊ ŮبداŮŘŠ!",
"empty_column.direct": "ŮŮ ŘŞŘŞŮŮ ŘŁŮŘŠ عساŮŘŠ ؎اؾ؊ ٠باشŮع؊ بؚد. ŘłŮŮ Ůت٠ؚع؜ اŮعسا،٠اŮ٠باشع؊ ŮŮا ŘĽŮ ŮŮ ŘŞ بؼعسا٠ŮاŘŘŻŘŠ ŘŁŮ ŘŞŮŮŮŘŞ اŮبؚ؜ Ů ŮŮا.",
@@ -155,7 +155,7 @@
"follow_request.authorize": "تع؎ŮŘľ",
"follow_request.reject": "ŘąŮŘś",
"getting_started.developers": "اŮŮ ŮءŮŮŮŘąŮŮ",
- "getting_started.directory": "ŘŻŮŮ٠اŮ٠ست؎دŮŮ ŮŮ ŮاŮ٠ست؎دŮ٠ات",
+ "getting_started.directory": "ŘŻŮŮ٠اŮŘľŮŘات اŮتؚعŮŮŮŘŠ",
"getting_started.documentation": "اŮŘŻŮŮŮ",
"getting_started.heading": "استؚد٠ŮŮبدإ",
"getting_started.invite": "ŘŻŘšŮŘŠ أش؎اؾ",
@@ -194,7 +194,7 @@
"introduction.interactions.reply.text": "ŮŮ ŮŮŮ٠اŮعد ŘšŮ٠تبŮŮŮاتŮ٠٠تبŮŮŮات اŮآ؎عŮŮ ŘšŮŮ Ř´ŮŮ ŘłŮŘłŮŘŠ Ů Řاد؍؊.",
"introduction.welcome.action": "ŮŮا بŮا!",
"introduction.welcome.headline": "اŮ؎ءŮات اŮŘŁŮŮŮ",
- "introduction.welcome.text": "Ů ŘąŘبا بŮŮ ŘšŮ٠اŮŮŘŻŮŮعس! بؚد ŮŘظات ŮŮŮŮŘŠ Ř ŘłŮŮŮ٠ب٠ŮŘŻŮŘąŮ٠ب؍ عسا،٠ŮاŮŘŞŘŘŻŘŤ ŘĽŮ٠أؾدŮا،Ů٠ؚبع ŘŞŘ´ŮŮŮŘŠ Ůاسؚ؊ ٠٠اŮŘŽŮاد٠اŮŮ ŘŽŘŞŮŮŘŠ. Ůذا اŮŘŽŘ§ŘŻŮ Ř {domain} Ř Ůست؜ŮŮ Ů ŮŮŮ٠اŮŘ´ŘŽŘľŮ Ř Ůذا Ů؏ب ŘŞŘ°ŮŘą اس٠٠؏Ůدا.",
+ "introduction.welcome.text": "Ů ŘąŘبا بŮŮ ŘšŮ٠اŮŮŘŻŮŮعس! بؚد ŮŘظات ŮŮŮŮŘŠ Ř ŘłŮŮŮ٠ب٠ŮŘŻŮŘąŮ٠ب؍ عسا،٠ŮاŮŘŞŘŘŻŘŤ ŘĽŮ٠أؾدŮا،Ů٠ؚبع ŘŞŘ´ŮŮŮŘŠ Ůاسؚ؊ ٠٠اŮŘŽŮاد٠اŮŮ ŘŽŘŞŮŮŘŠ. Ůذا اŮŘŽŘ§ŘŻŮ Ř {domain} Ř Ůست؜ŮŮ ŘľŮŘŘŞŮ٠اŮتؚعŮŮŮŘŠ Ř Ůذا Ů؏ب ŘŞŘ°ŮŘą اس٠٠؏Ůدا.",
"keyboard_shortcuts.back": "ŮŮŘšŮŘŻŘŠ",
"keyboard_shortcuts.blocked": "ŮŮŘŞŘ Ůا،٠؊ اŮ٠ست؎د٠Ů٠اŮŮ ŘظŮŘąŮŮ",
"keyboard_shortcuts.boost": "ŮŮŘŞŘąŮŮŘŠ",
@@ -214,10 +214,10 @@
"keyboard_shortcuts.local": "ŮŮŘŞŘ Ř§ŮŘŽŮء اŮؚا٠اŮŮ ŘŮŮ",
"keyboard_shortcuts.mention": "ŮŘ°ŮŮŘą اŮŮاشع",
"keyboard_shortcuts.muted": "ŮŮŘŞŘ Ůا،٠؊ اŮ٠ست؎دŮŮ Ů٠اŮŮ ŮŘŞŮŮ ŮŮ",
- "keyboard_shortcuts.my_profile": "ŮŮŘŞŘ Ů ŮŮ٠اŮŘ´ŘŽŘľŮ",
+ "keyboard_shortcuts.my_profile": "ŮŮŘŞŘ Ů ŮŮ٠اŮتؚعŮŮŮ",
"keyboard_shortcuts.notifications": "ŮŮŘŞŘ ŘšŮ ŮŘŻ اŮؼشؚاعات",
"keyboard_shortcuts.pinned": "ŮŮŘŞŘ Ůا،٠؊ اŮتبŮŮŮات اŮ٠دبس؊",
- "keyboard_shortcuts.profile": "ŮŮŘŞŘ ŘąŘ§Ř¨Řˇ اŮŮاشع",
+ "keyboard_shortcuts.profile": "ŮŮŘŞŘ Ř§ŮŮ Ů٠اŮتؚعŮŮŮ ŮŮŮاشع",
"keyboard_shortcuts.reply": "ŮŮعدŮ",
"keyboard_shortcuts.requests": "ŮŮŘŞŘ Ůا،٠؊ ءŮبات اŮ٠تابؚ؊",
"keyboard_shortcuts.search": "ŮŮŘŞŘąŮŮز ŘšŮ٠اŮبŘŘŤ",
@@ -253,7 +253,7 @@
"navigation_bar.direct": "اŮعسا،٠اŮ٠باشŮع؊",
"navigation_bar.discover": "اŮŘŞŘ´Ů",
"navigation_bar.domain_blocks": "اŮŮءاŮات اŮŮ ŘŽŮŮŘŠ",
- "navigation_bar.edit_profile": "تؚدŮ٠اŮŮ Ů٠اŮŘ´ŘŽŘľŮ",
+ "navigation_bar.edit_profile": "ؚدŮ٠اŮŮ Ů٠اŮتؚعŮŮŮ",
"navigation_bar.favourites": "اŮŮ ŮŘśŮŘŠ",
"navigation_bar.filters": "اŮŮŮ٠ات اŮŮ ŮŘŞŮŮ ŘŠ",
"navigation_bar.follow_requests": "ءŮبات اŮ٠تابؚ؊",
@@ -355,7 +355,7 @@
"status.mute": "ŘŁŮŘŞŮ @{name}",
"status.mute_conversation": "Ůت٠اŮŮ Řاد؍؊",
"status.open": "Ůسؚ Ůذ٠اŮ٠شاعŮŘŠ",
- "status.pin": "تدبŮŘł ŘšŮ٠اŮŮ Ů٠اŮŘ´ŘŽŘľŮ",
+ "status.pin": "دبŮس٠ؚŮ٠اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ",
"status.pinned": "تبŮŮ٠٠؍بŮŮŘŞ",
"status.read_more": "اŮعأ اŮ٠زŮŘŻ",
"status.reblog": "ŘąŮŮŮŮŮ",
@@ -375,7 +375,7 @@
"status.show_thread": "اŮŮش٠ؚ٠اŮŮ Řاد؍؊",
"status.uncached_media_warning": "ŘşŮŘą Ů ŘŞŮŮŘą",
"status.unmute_conversation": "Ů٠اŮŮت٠ؚ٠اŮŮ Řاد؍؊",
- "status.unpin": "Ů٠اŮتدبŮŘł ٠٠اŮŮ Ů٠اŮŘ´ŘŽŘľŮ",
+ "status.unpin": "Ů٠اŮتدبŮŘł ٠٠اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ",
"suggestions.dismiss": "ŘĽŮغاإ اŮاŮتعاŘ",
"suggestions.header": "ŮŮ ŮŮ ŘŁŮ ŮŮŮ ŮâŚ",
"tabs_bar.federated_timeline": "اŮŮ ŮŘŮŮŘŻ",
@@ -404,7 +404,7 @@
"upload_modal.detect_text": "Detect text from picture",
"upload_modal.edit_media": "تؚدŮ٠اŮŮسا،ء",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
- "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_modal.preview_label": "٠ؚاŮŮŘŠ ({ratio})",
"upload_progress.label": "ŮŘąŮŘš...",
"video.close": "ŘĽŘşŮا٠اŮŮŮŘŻŮŮ",
"video.exit_fullscreen": "اŮŘŽŘąŮŘŹ Ů Ů Ů؜ؚ اŮشاش؊ اŮŮ ŮŮŘŚŘŠ",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 85685dccd80..aba3f59c754 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "Risponde avà sguasserà u missaghju chÏ scrivite. Site sicuru¡a chÏ vulete cuntinuà ?",
"confirmations.unfollow.confirm": "Disabbunassi",
"confirmations.unfollow.message": "Site sicuru¡a ch'Ún vulete piÚ siguità @{name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "SguassĂ a cunversazione",
+ "conversation.mark_as_read": "Marcà cum'è lettu",
+ "conversation.open": "Vede a cunversazione",
+ "conversation.with": "CĂš {names}",
"directory.federated": "Da u fediverse cunisciutu",
"directory.local": "Solu da {domain}",
"directory.new_arrivals": "Ultimi arrivi",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index eecb43b593d..69205d90e84 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -4,7 +4,7 @@
"account.block": "Blocio @{name}",
"account.block_domain": "Cuddio popeth rhag {domain}",
"account.blocked": "Blociwyd",
- "account.cancel_follow_request": "Cancel follow request",
+ "account.cancel_follow_request": "Canslo cais dilyn",
"account.direct": "Neges breifat @{name}",
"account.domain_blocked": "Parth wedi ei guddio",
"account.edit_profile": "Golygu proffil",
@@ -16,7 +16,7 @@
"account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
"account.follows_you": "Yn eich dilyn chi",
"account.hide_reblogs": "Cuddio bwstiau o @{name}",
- "account.last_status": "Last active",
+ "account.last_status": "Gweithredol olaf",
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
"account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
"account.media": "Cyfryngau",
@@ -38,11 +38,11 @@
"account.unfollow": "Dad-ddilyn",
"account.unmute": "Dad-dawelu @{name}",
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
- "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
- "alert.rate_limited.title": "Rate limited",
+ "alert.rate_limited.message": "Ceisiwch eto ar Ă´l {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Cyfradd gyfyngedig",
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
"alert.unexpected.title": "Wps!",
- "autosuggest_hashtag.per_week": "{count} per week",
+ "autosuggest_hashtag.per_week": "{count} yr wythnos",
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
"bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
"bundle_column_error.retry": "Ceisiwch eto",
@@ -53,7 +53,7 @@
"column.blocks": "Defnyddwyr a flociwyd",
"column.community": "Ffrwd lleol",
"column.direct": "Negeseuon preifat",
- "column.directory": "Browse profiles",
+ "column.directory": "Pori proffiliau",
"column.domain_blocks": "Parthau cuddiedig",
"column.favourites": "Ffefrynnau",
"column.follow_requests": "Ceisiadau dilyn",
@@ -102,7 +102,7 @@
"confirmations.domain_block.confirm": "Cuddio parth cyfan",
"confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
"confirmations.logout.confirm": "Allgofnodi",
- "confirmations.logout.message": "Are you sure you want to log out?",
+ "confirmations.logout.message": "Ydych chi'n siĹľr eich bod am allgofnodi?",
"confirmations.mute.confirm": "Tawelu",
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
"confirmations.redraft.confirm": "Dileu & ailddrafftio",
@@ -111,14 +111,14 @@
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
"confirmations.unfollow.confirm": "Dad-ddilynwch",
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
- "conversation.delete": "Delete conversation",
+ "conversation.delete": "Dileu sgwrs",
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
- "directory.federated": "From known fediverse",
- "directory.local": "From {domain} only",
- "directory.new_arrivals": "New arrivals",
- "directory.recently_active": "Recently active",
+ "conversation.open": "Gweld sgwrs",
+ "conversation.with": "Gyda {names}",
+ "directory.federated": "O ffedysawd hysbys",
+ "directory.local": "O {domain} yn unig",
+ "directory.new_arrivals": "Newydd-ddyfodiaid",
+ "directory.recently_active": "Yn weithredol yn ddiweddar",
"embed.instructions": "Mewnblannwch y tĹľt hwn ar eich gwefan drwy gopĂŻo'r cĂ´d isod.",
"embed.preview": "Dyma sut olwg fydd arno:",
"emoji_button.activity": "Gweithgarwch",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "Syml",
"home.column_settings.show_reblogs": "Dangos bĹľstiau",
"home.column_settings.show_replies": "Dangos ymatebion",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Diweddariad mewn amser real",
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
@@ -240,7 +240,7 @@
"lists.new.title_placeholder": "Teitl rhestr newydd",
"lists.search": "Chwilio ymysg pobl yr ydych yn ei ddilyn",
"lists.subheading": "Eich rhestrau",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# eitem newydd} other {# eitemau newydd}}",
"loading_indicator.label": "Llwytho...",
"media_gallery.toggle_visible": "Toglo gwelededd",
"missing_indicator.label": "Heb ei ganfod",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "Dewisiadau",
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
"navigation_bar.security": "Diogelwch",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "a {count, plural, one {# arall} other {# eraill}}",
"notification.favourite": "hoffodd {name} eich tĹľt",
"notification.follow": "dilynodd {name} chi",
"notification.mention": "Soniodd {name} amdanoch chi",
@@ -334,7 +334,7 @@
"search_results.accounts": "Pobl",
"search_results.hashtags": "Hanshnodau",
"search_results.statuses": "TĹľtiau",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Nid yw chwilio TĹľtiau yn Ă´l eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
"status.admin_status": "Agor y tĹľt yn y rhyngwyneb goruwchwylio",
@@ -373,7 +373,7 @@
"status.show_more": "Dangos mwy",
"status.show_more_all": "Dangos mwy i bawb",
"status.show_thread": "Dangos edefyn",
- "status.uncached_media_warning": "Not available",
+ "status.uncached_media_warning": "Dim ar gael",
"status.unmute_conversation": "Dad-dawelu sgwrs",
"status.unpin": "Dadbinio o'r proffil",
"suggestions.dismiss": "Diswyddo",
@@ -389,7 +389,7 @@
"time_remaining.moments": "Munudau ar Ă´l",
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} ar Ă´l",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} yn siarad",
- "trends.trending_now": "Trending now",
+ "trends.trending_now": "Yn tueddu nawr",
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
@@ -398,13 +398,13 @@
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
"upload_form.edit": "Golygu",
"upload_form.undo": "Dileu",
- "upload_modal.analyzing_picture": "Analyzing pictureâŚ",
- "upload_modal.apply": "Apply",
- "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
- "upload_modal.detect_text": "Detect text from picture",
- "upload_modal.edit_media": "Edit media",
- "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
- "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_modal.analyzing_picture": "Dadansoddi llunâŚ",
+ "upload_modal.apply": "Gweithredu",
+ "upload_modal.description_placeholder": "Mae ei phen bach llawn jocs, 'run peth a fy nghot golff, rhai dyddiau",
+ "upload_modal.detect_text": "Canfod testun o'r llun",
+ "upload_modal.edit_media": "Golygu cyfryngau",
+ "upload_modal.hint": "Cliciwch neu llusgwch y cylch ar y rhagolwg i ddewis y canolbwynt a fydd bob amser i'w weld ar bob mân-lunau.",
+ "upload_modal.preview_label": "Rhagolwg ({ratio})",
"upload_progress.label": "Uwchlwytho...",
"video.close": "Cau fideo",
"video.exit_fullscreen": "Gadael sgrĂŽn llawn",
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index ffbdefaebd3..d083dbdc808 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -1,7 +1,7 @@
{
"account.add_or_remove_from_list": "Î ĎÎżĎθΎκΡ ÎŽ ÎĎιίĎÎľĎΡ ÎąĎĎ ÎťÎŻĎĎÎľĎ",
"account.badges.bot": "ÎĎÎżĎ",
- "account.block": "ÎĎοκΝΚĎÎźĎĎ @{name}",
+ "account.block": "ÎĎοκΝξΚĎÎźĎĎ @{name}",
"account.block_domain": "ÎĎĎÎşĎĎ ĎÎľ ĎÎą ĎΏνĎÎą ÎąĎĎ ĎÎż {domain}",
"account.blocked": "ÎĎοκΝξΚĎÎźÎνοĎ/Ρ",
"account.cancel_follow_request": "ÎÎşĎĎĎĎΡ ιΚĎΎΟιĎÎżĎ ĎÎąĎικοΝοĎθΡĎΡĎ",
@@ -111,10 +111,10 @@
"confirmations.reply.message": "ÎĎινĎĎνĎÎąĎ ĎĎĎÎą θι ινĎΚκιĎÎąĎĎÎŽĎÎľÎšĎ ĎÎż κξίΟξνο ĎÎżĎ ÎŽÎ´Îˇ ÎłĎÎŹĎξΚĎ. ÎŁÎŻÎłÎżĎ ĎÎą θÎÎťÎľÎšĎ Î˝Îą ĎĎ Î˝ÎľĎÎŻĎξΚĎ;",
"confirmations.unfollow.confirm": "ÎΚικοĎÎŽ ĎÎąĎικοΝοĎθΡĎΡĎ",
"confirmations.unfollow.message": "ÎŁÎŻÎłÎżĎ ĎÎą Î¸ÎľĎ Î˝Îą ĎÎŹĎÎľÎšĎ Î˝Îą ÎąÎşÎżÎťÎżĎ Î¸ÎľÎŻĎ Ďον/ĎΡν {name};",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "ÎΚιγĎÎąĎÎŽ ĎĎ ÎśÎŽĎΡĎΡĎ",
+ "conversation.mark_as_read": "ΣΎΟινĎΡ ĎĎ ÎąÎ˝ÎąÎłÎ˝ĎĎÎźÎνο",
+ "conversation.open": "Î ĎοβοΝΎ ĎĎ Î˝ÎżÎźÎšÎťÎŻÎąĎ",
+ "conversation.with": "ÎÎľ {names}",
"directory.federated": "ÎĎĎ ĎÎż γνĎĎĎĎ fediverse",
"directory.local": "ÎĎνο ÎąĎĎ {domain}",
"directory.new_arrivals": "ÎÎÎľĎ ÎąĎίΞξΚĎ",
@@ -131,7 +131,7 @@
"emoji_button.objects": "ÎνĎΚκξίΟξνι",
"emoji_button.people": "ÎνθĎĎĎοΚ",
"emoji_button.recent": "ÎΡΟοĎΚΝΎ",
- "emoji_button.search": "ÎνιΜΎĎΡĎΡâŚ",
+ "emoji_button.search": "ÎνιΜΎĎΡĎΡ...",
"emoji_button.search_results": "ÎĎÎżĎξΝÎĎΟιĎÎą ινιΜΎĎΡĎΡĎ",
"emoji_button.symbols": "ÎŁĎΟβοΝι",
"emoji_button.travel": "ΤιΞίδΚι & ΤοĎοθξĎÎŻÎľĎ",
@@ -392,7 +392,7 @@
"trends.trending_now": "ÎΡΟοĎΚΝΎ ĎĎĎÎą",
"ui.beforeunload": "Το ĎĎÎżĎĎÎÎ´ÎšĎ ĎÎżĎ Î¸Îą Ďιθξί ιν ĎĎÎłÎľÎšĎ ÎąĎĎ ĎÎż Mastodon.",
"upload_area.title": "Drag & drop γΚι νι ινξβΏĎξΚĎ",
- "upload_button.label": "Î ĎĎĎθξĎÎľ ĎÎżÎťĎ ÎźÎĎÎą (JPEG, PNG, GIF, WebM, MP4, MOV)",
+ "upload_button.label": "Î ĎĎĎθξĎÎľ ĎÎżÎťĎ ÎźÎĎÎą ({formats})",
"upload_error.limit": "ÎĽĎÎĎβιĎΡ ÎżĎÎŻÎżĎ ÎźÎľÎłÎÎ¸ÎżĎ Ď ÎąÎ˝ÎľÎ˛ÎąĎÎźÎνĎν ÎąĎĎξίĎν.",
"upload_error.poll": "ÎŁĎÎšĎ Î´ÎˇÎźÎżĎκοĎÎŽĎÎľÎšĎ Î´ÎľÎ˝ ÎľĎΚĎĎÎĎÎľĎιΚ Ρ ΟξĎÎąĎĎĎĎĎĎΡ ÎąĎĎÎľÎŻÎżĎ .",
"upload_form.description": "Î ÎľĎΚÎÎłĎÎąĎÎľ γΚι ĎĎÎżĎ Ď & ĎĎÎľĎ ÎĎÎżĎ Î˝ ĎĎοβΝΎΟιĎÎą ĎĎÎąĎΡĎ",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 54466f1ac3c..101be4b1de6 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -1,5 +1,5 @@
{
- "account.add_or_remove_from_list": "Agregar o eliminar de listas",
+ "account.add_or_remove_from_list": "Agregar o quitar de las listas",
"account.badges.bot": "Bot",
"account.block": "Bloquear a @{name}",
"account.block_domain": "Ocultar todo de {domain}",
@@ -8,126 +8,126 @@
"account.direct": "Mensaje directo a @{name}",
"account.domain_blocked": "Dominio oculto",
"account.edit_profile": "Editar perfil",
- "account.endorse": "Mostrar en perfil",
+ "account.endorse": "Destacar en el perfil",
"account.follow": "Seguir",
"account.followers": "Seguidores",
"account.followers.empty": "TodavĂa nadie sigue a este usuario.",
"account.follows": "Sigue",
- "account.follows.empty": "Este usuario todavĂa no sigue a nadie.",
+ "account.follows.empty": "TodavĂa este usuario no sigue a nadie.",
"account.follows_you": "Te sigue",
"account.hide_reblogs": "Ocultar retoots de @{name}",
"account.last_status": "Ăltima actividad",
- "account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
- "account.locked_info": "El estado de privacidad de esta cuenta estĂ configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
- "account.media": "Multimedia",
+ "account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
+ "account.locked_info": "El estado de privacidad de esta cuenta estĂĄ establecido como bloqueado. El propietario manualmente revisa quiĂŠn puede seguirle.",
+ "account.media": "Medios",
"account.mention": "Mencionar a @{name}",
- "account.moved_to": "{name} se ha mudado a:",
+ "account.moved_to": "{name} se ha muĂł a:",
"account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.muted": "Silenciado",
"account.never_active": "Nunca",
"account.posts": "Toots",
"account.posts_with_replies": "Toots con respuestas",
- "account.report": "Reportar a @{name}",
- "account.requested": "Esperando aprobaciĂłn",
+ "account.report": "Denunciar a @{name}",
+ "account.requested": "Esperando aprobaciĂłn. HacĂŠ clic para cancelar la solicitud de seguimiento.",
"account.share": "Compartir el perfil de @{name}",
"account.show_reblogs": "Mostrar retoots de @{name}",
"account.unblock": "Desbloquear a @{name}",
- "account.unblock_domain": "Mostrar a {domain}",
- "account.unendorse": "No mostrar en el perfil",
+ "account.unblock_domain": "Mostrar {domain}",
+ "account.unendorse": "No destacar en el perfil",
"account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
- "alert.rate_limited.message": "Por favor reintente despuĂŠs de {retry_time, time, medium}.",
+ "alert.rate_limited.message": "Por favor, reintentĂĄ despuĂŠs de las {retry_time, time, medium}.",
"alert.rate_limited.title": "Tarifa limitada",
- "alert.unexpected.message": "Hubo un error inesperado.",
- "alert.unexpected.title": "ÂĄUps!",
+ "alert.unexpected.message": "OcurriĂł un error inesperado.",
+ "alert.unexpected.title": "ÂĄEpa!",
"autosuggest_hashtag.per_week": "{count} por semana",
- "boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la prĂłxima vez",
+ "boost_modal.combo": "PodĂŠs hacer clic en {combo} para saltar esto la prĂłxima vez",
"bundle_column_error.body": "Algo saliĂł mal al cargar este componente.",
- "bundle_column_error.retry": "IntĂŠntalo de nuevo",
+ "bundle_column_error.retry": "IntentĂĄ de nuevo",
"bundle_column_error.title": "Error de red",
"bundle_modal_error.close": "Cerrar",
"bundle_modal_error.message": "Algo saliĂł mal al cargar este componente.",
- "bundle_modal_error.retry": "IntĂŠntalo de nuevo",
+ "bundle_modal_error.retry": "IntentĂĄ de nuevo",
"column.blocks": "Usuarios bloqueados",
- "column.community": "LĂnea de tiempo local",
+ "column.community": "LĂnea temporal local",
"column.direct": "Mensajes directos",
- "column.directory": "Buscar perfiles",
- "column.domain_blocks": "Dominios ocultados",
+ "column.directory": "Explorar perfiles",
+ "column.domain_blocks": "Dominios ocultos",
"column.favourites": "Favoritos",
"column.follow_requests": "Solicitudes de seguimiento",
- "column.home": "Inicio",
+ "column.home": "Principal",
"column.lists": "Listas",
"column.mutes": "Usuarios silenciados",
"column.notifications": "Notificaciones",
"column.pins": "Toots fijados",
- "column.public": "LĂnea de tiempo federada",
+ "column.public": "LĂnea temporal federada",
"column.status": "Toot",
- "column_back_button.label": "AtrĂĄs",
+ "column_back_button.label": "Volver",
"column_header.hide_settings": "Ocultar configuraciĂłn",
"column_header.moveLeft_settings": "Mover columna a la izquierda",
"column_header.moveRight_settings": "Mover columna a la derecha",
"column_header.pin": "Fijar",
- "column_header.show_settings": "Mostrar ajustes",
+ "column_header.show_settings": "Mostrar configuraciĂłn",
"column_header.unpin": "Dejar de fijar",
- "column_subheading.settings": "Ajustes",
- "community.column_settings.media_only": "Solo media",
- "compose_form.direct_message_warning": "Este toot solo serĂĄ enviado a los usuarios mencionados.",
- "compose_form.direct_message_warning_learn_more": "Aprender mas",
+ "column_subheading.settings": "ConfiguraciĂłn",
+ "community.column_settings.media_only": "SĂłlo medios",
+ "compose_form.direct_message_warning": "Este toot sĂłlo serĂĄ enviado a los usuarios mencionados.",
+ "compose_form.direct_message_warning_learn_more": "AprendĂŠ mĂĄs",
"compose_form.hashtag_warning": "Este toot no se mostrarĂĄ bajo hashtags porque no es pĂşblico. SĂłlo los toots pĂşblicos se pueden buscar por hashtag.",
- "compose_form.lock_disclaimer": "Tu cuenta no estĂĄ bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
- "compose_form.lock_disclaimer.lock": "bloqueado",
- "compose_form.placeholder": "ÂżEn quĂŠ estĂĄs pensando?",
- "compose_form.poll.add_option": "AĂąadir una opciĂłn",
+ "compose_form.lock_disclaimer": "Tu cuenta no estĂĄ {locked}. Todos pueden seguirte para ver tus toots marcados como \"sĂłlo para seguidores\".",
+ "compose_form.lock_disclaimer.lock": "bloqueada",
+ "compose_form.placeholder": "ÂżQuĂŠ onda?",
+ "compose_form.poll.add_option": "AgregĂĄ una opciĂłn",
"compose_form.poll.duration": "DuraciĂłn de la encuesta",
- "compose_form.poll.option_placeholder": "ElecciĂłn {number}",
- "compose_form.poll.remove_option": "Eliminar esta opciĂłn",
+ "compose_form.poll.option_placeholder": "OpciĂłn {number}",
+ "compose_form.poll.remove_option": "QuitĂĄ esta opciĂłn",
"compose_form.publish": "Tootear",
- "compose_form.publish_loud": "{publish}!",
- "compose_form.sensitive.hide": "Marcar multimedia como sensible",
- "compose_form.sensitive.marked": "Material marcado como sensible",
- "compose_form.sensitive.unmarked": "Material no marcado como sensible",
- "compose_form.spoiler.marked": "Texto oculto tras la advertencia",
- "compose_form.spoiler.unmarked": "Texto no oculto",
- "compose_form.spoiler_placeholder": "Advertencia de contenido",
+ "compose_form.publish_loud": "ÂĄ{publish}!",
+ "compose_form.sensitive.hide": "Marcar medio como sensible",
+ "compose_form.sensitive.marked": "El medio se marcĂł como sensible",
+ "compose_form.sensitive.unmarked": "El medio no estĂĄ marcado como sensible",
+ "compose_form.spoiler.marked": "El texto estĂĄ oculto detrĂĄs de la advertencia",
+ "compose_form.spoiler.unmarked": "El texto no estĂĄ oculto",
+ "compose_form.spoiler_placeholder": "EscribĂ tu advertencia acĂĄ",
"confirmation_modal.cancel": "Cancelar",
- "confirmations.block.block_and_report": "Bloquear y Reportar",
+ "confirmations.block.block_and_report": "Bloquear y denunciar",
"confirmations.block.confirm": "Bloquear",
- "confirmations.block.message": "ÂżEstĂĄs seguro de que quieres bloquear a {name}?",
+ "confirmations.block.message": "ÂżEstĂĄs seguro que querĂŠs bloquear a {name}?",
"confirmations.delete.confirm": "Eliminar",
- "confirmations.delete.message": "ÂżEstĂĄs seguro de que quieres borrar este toot?",
+ "confirmations.delete.message": "ÂżEstĂĄs seguro que querĂŠs eliminar este estado?",
"confirmations.delete_list.confirm": "Eliminar",
- "confirmations.delete_list.message": "ÂżSeguro que quieres borrar esta lista permanentemente?",
+ "confirmations.delete_list.message": "ÂżEstĂĄs seguro que querĂŠs eliminar permanentemente esta lista?",
"confirmations.domain_block.confirm": "Ocultar dominio entero",
- "confirmations.domain_block.message": "ÂżSeguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
+ "confirmations.domain_block.message": "ÂżEstĂĄs completamente seguro que querĂŠs bloquear el {domain} entero? En la mayorĂa de los casos, unos cuantos bloqueos y silenciados puntuales son suficientes y preferibles. No vas a ver contenido de ese dominio en ninguna de tus lĂneas temporales o en tus notificaciones. Tus seguidores de ese dominio serĂĄn quitados.",
"confirmations.logout.confirm": "Cerrar sesiĂłn",
- "confirmations.logout.message": "ÂżEstĂĄs seguro de querer cerrar la sesiĂłn?",
+ "confirmations.logout.message": "ÂżEstĂĄs seguro que querĂŠs cerrar la sesiĂłn?",
"confirmations.mute.confirm": "Silenciar",
- "confirmations.mute.message": "ÂżEstĂĄs seguro de que quieres silenciar a {name}?",
- "confirmations.redraft.confirm": "Borrar y volver a borrador",
- "confirmations.redraft.message": "EstĂĄs seguro de que quieres borrar este estado y volverlo a borrador? PerderĂĄs todas las respuestas, impulsos y favoritos asociados a ĂŠl, y las respuestas a la publicaciĂłn original quedarĂĄn huĂŠrfanos.",
+ "confirmations.mute.message": "ÂżEstĂĄs seguro que querĂŠs silenciar a {name}?",
+ "confirmations.redraft.confirm": "Eliminar toot original y editarlo",
+ "confirmations.redraft.message": "ÂżEstĂĄs seguro que querĂŠs eliminar este estado y volverlo a editarlo? Se perderĂĄn las veces marcadas como favoritos y los retoots, y las respuestas a la publicaciĂłn original quedarĂĄn huĂŠrfanas.",
"confirmations.reply.confirm": "Responder",
- "confirmations.reply.message": "Responder sobrescribirĂĄ el mensaje que estĂĄs escribiendo. ÂżEstĂĄs seguro de que deseas continuar?",
+ "confirmations.reply.message": "Responder ahora sobreescribirĂĄ el mensaje que estĂĄs redactando actualmente. ÂżEstĂĄs seguro que querĂŠs seguir?",
"confirmations.unfollow.confirm": "Dejar de seguir",
- "confirmations.unfollow.message": "ÂżEstĂĄs seguro de que quieres dejar de seguir a {name}?",
- "conversation.delete": "Borrar conversaciĂłn",
+ "confirmations.unfollow.message": "ÂżEstĂĄs seguro que querĂŠs dejar de seguir a {name}?",
+ "conversation.delete": "Eliminar conversaciĂłn",
"conversation.mark_as_read": "Marcar como leĂdo",
"conversation.open": "Ver conversaciĂłn",
"conversation.with": "Con {names}",
- "directory.federated": "Desde el fediverso conocido",
+ "directory.federated": "Desde fediverso conocido",
"directory.local": "SĂłlo de {domain}",
"directory.new_arrivals": "ReciĂŠn llegados",
"directory.recently_active": "Recientemente activo",
- "embed.instructions": "AĂąade este toot a tu sitio web con el siguiente cĂłdigo.",
- "embed.preview": "AsĂ es como se verĂĄ:",
+ "embed.instructions": "InsertĂĄ este toot a tu sitio web copiando el cĂłdigo de abajo.",
+ "embed.preview": "AsĂ es cĂłmo se verĂĄ:",
"emoji_button.activity": "Actividad",
"emoji_button.custom": "Personalizado",
- "emoji_button.flags": "Marcas",
+ "emoji_button.flags": "Banderas",
"emoji_button.food": "Comida y bebida",
"emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Naturaleza",
- "emoji_button.not_found": "No hay emojos!! (âŻÂ°âĄÂ°ďźâŻď¸ľ âťââť",
+ "emoji_button.not_found": "ÂĄÂĄNo emojos!! (âŻÂ°âĄÂ°ďźâŻď¸ľ âťââť",
"emoji_button.objects": "Objetos",
"emoji_button.people": "Gente",
"emoji_button.recent": "Usados frecuentemente",
@@ -137,282 +137,282 @@
"emoji_button.travel": "Viajes y lugares",
"empty_column.account_timeline": "ÂĄNo hay toots aquĂ!",
"empty_column.account_unavailable": "Perfil no disponible",
- "empty_column.blocks": "AĂşn no has bloqueado a ningĂşn usuario.",
- "empty_column.community": "La lĂnea de tiempo local estĂĄ vacĂa. ÂĄEscribe algo para empezar la fiesta!",
- "empty_column.direct": "AĂşn no tienes ningĂşn mensaje directo. Cuando envĂes o recibas uno, se mostrarĂĄ aquĂ.",
+ "empty_column.blocks": "TodavĂa no bloqueaste a ningĂşn usuario.",
+ "empty_column.community": "La lĂnea temporal local estĂĄ vacĂa. ÂĄEscribĂ algo en modo pĂşblico para que se empiece a correr la bola!",
+ "empty_column.direct": "TodavĂa no tenĂŠs ningĂşn mensaje directo. Cuando enviĂŠs o recibĂĄs uno, se mostrarĂĄ acĂĄ.",
"empty_column.domain_blocks": "TodavĂa no hay dominios ocultos.",
- "empty_column.favourited_statuses": "AĂşn no tienes toots preferidos. Cuando marques uno como favorito, aparecerĂĄ aquĂ.",
- "empty_column.favourites": "Nadie ha marcado este toot como preferido. Cuando alguien lo haga, aparecerĂĄ aquĂ.",
- "empty_column.follow_requests": "No tienes ninguna peticiĂłn de seguidor. Cuando recibas una, se mostrarĂĄ aquĂ.",
- "empty_column.hashtag": "No hay nada en este hashtag aĂşn.",
- "empty_column.home": "No estĂĄs siguiendo a nadie aĂşn. Visita {public} o haz bĂşsquedas para empezar y conocer gente nueva.",
- "empty_column.home.public_timeline": "la lĂnea de tiempo pĂşblica",
- "empty_column.list": "No hay nada en esta lista aĂşn. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerĂĄn qui.",
- "empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrarĂĄ aquĂ.",
- "empty_column.mutes": "AĂşn no has silenciado a ningĂşn usuario.",
- "empty_column.notifications": "No tienes ninguna notificaciĂłn aĂşn. InteractĂşa con otros para empezar una conversaciĂłn.",
- "empty_column.public": "ÂĄNo hay nada aquĂ! Escribe algo pĂşblicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
- "follow_request.authorize": "Autorizar",
- "follow_request.reject": "Rechazar",
- "getting_started.developers": "Desarrolladores",
- "getting_started.directory": "Directorio de perfil",
- "getting_started.documentation": "DocumentaciĂłn",
- "getting_started.heading": "Primeros pasos",
- "getting_started.invite": "Invitar usuarios",
- "getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.",
- "getting_started.security": "Seguridad",
- "getting_started.terms": "TĂŠrminos de servicio",
- "hashtag.column_header.tag_mode.all": "y {additional}",
- "hashtag.column_header.tag_mode.any": "o {additional}",
- "hashtag.column_header.tag_mode.none": "sin {additional}",
- "hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
- "hashtag.column_settings.select.placeholder": "Introduzca hashtagsâŚ",
- "hashtag.column_settings.tag_mode.all": "Cualquiera de estos",
- "hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
- "hashtag.column_settings.tag_mode.none": "Ninguno de estos",
+ "empty_column.favourited_statuses": "TodavĂa no tenĂŠs toots favoritos. Cuando marquĂŠs uno como favorito, se mostrarĂĄ acĂĄ.",
+ "empty_column.favourites": "TodavĂa nadie marcĂł este toot como favorito. Cuando alguien lo haga, se mostrarĂĄ acĂĄ.",
+ "empty_column.follow_requests": "TodavĂa no tenĂŠs ninguna solicitud de seguimiento. Cuando recibĂĄs una, se mostrarĂĄ acĂĄ.",
+ "empty_column.hashtag": "TodavĂa no hay nada con esta etiqueta.",
+ "empty_column.home": "ÂĄTu lĂnea temporal principal estĂĄ vacĂa! VisitĂĄ {public} o usĂĄ la bĂşsqueda para comenzar y encontrar a otros usuarios.",
+ "empty_column.home.public_timeline": "la lĂnea temporal pĂşblica",
+ "empty_column.list": "TodavĂa no hay nada en esta lista. Cuando miembros de esta lista envĂen nuevos toots, se mostrarĂĄn acĂĄ.",
+ "empty_column.lists": "TodavĂa no tienes ninguna lista. Cuando creĂŠs una, se mostrarĂĄ acĂĄ.",
+ "empty_column.mutes": "You haven't muted any users yet.",
+ "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
+ "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
+ "follow_request.authorize": "Authorize",
+ "follow_request.reject": "Reject",
+ "getting_started.developers": "Developers",
+ "getting_started.directory": "Profile directory",
+ "getting_started.documentation": "Documentation",
+ "getting_started.heading": "Getting started",
+ "getting_started.invite": "Invite people",
+ "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
+ "getting_started.security": "Security",
+ "getting_started.terms": "Terms of service",
+ "hashtag.column_header.tag_mode.all": "and {additional}",
+ "hashtag.column_header.tag_mode.any": "or {additional}",
+ "hashtag.column_header.tag_mode.none": "without {additional}",
+ "hashtag.column_settings.select.no_options_message": "No suggestions found",
+ "hashtag.column_settings.select.placeholder": "Enter hashtagsâŚ",
+ "hashtag.column_settings.tag_mode.all": "All of these",
+ "hashtag.column_settings.tag_mode.any": "Any of these",
+ "hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
- "home.column_settings.basic": "BĂĄsico",
- "home.column_settings.show_reblogs": "Mostrar retoots",
- "home.column_settings.show_replies": "Mostrar respuestas",
- "home.column_settings.update_live": "Actualizar en tiempo real",
- "intervals.full.days": "{number, plural, one {# dĂa} other {# dĂas}}",
- "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
- "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
- "introduction.federation.action": "Siguiente",
- "introduction.federation.federated.headline": "Federado",
- "introduction.federation.federated.text": "Los mensajes pĂşblicos de otros servidores del fediverso aparecerĂĄn en la cronologĂa federada.",
- "introduction.federation.home.headline": "Inicio",
- "introduction.federation.home.text": "Los posts de personas que sigues aparecerĂĄn en tu cronologĂa. ÂĄPuedes seguir a cualquiera en cualquier servidor!",
+ "home.column_settings.basic": "Basic",
+ "home.column_settings.show_reblogs": "Show boosts",
+ "home.column_settings.show_replies": "Show replies",
+ "home.column_settings.update_live": "Update in real-time",
+ "intervals.full.days": "{number, plural, one {# day} other {# days}}",
+ "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
+ "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "introduction.federation.action": "Next",
+ "introduction.federation.federated.headline": "Federated",
+ "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
+ "introduction.federation.home.headline": "Home",
+ "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local",
- "introduction.federation.local.text": "Los posts pĂşblicos de personas en el mismo servidor que aparecerĂĄn en la cronologĂa local.",
- "introduction.interactions.action": "ÂĄTerminar tutorial!",
- "introduction.interactions.favourite.headline": "Favorito",
- "introduction.interactions.favourite.text": "Puedes guardar un toot para mĂĄs tarde, y hacer saber al autor que te gustĂł, dĂĄndole a favorito.",
- "introduction.interactions.reblog.headline": "Retootear",
- "introduction.interactions.reblog.text": "Puedes compartir los toots de otras personas con tus seguidores retooteando los mismos.",
- "introduction.interactions.reply.headline": "Responder",
- "introduction.interactions.reply.text": "Puedes responder a tus propios toots y los de otras personas, que se encadenarĂĄn juntos en una conversaciĂłn.",
- "introduction.welcome.action": "ÂĄVamos!",
- "introduction.welcome.headline": "Primeros pasos",
- "introduction.welcome.text": "ÂĄBienvenido al fediverso! En unos momentos, podrĂĄs transmitir mensajes y hablar con tus amigos a travĂŠs de una amplia variedad de servidores. Pero este servidor, {domain}, es especial, alberga tu perfil, asĂ que recuerda su nombre.",
- "keyboard_shortcuts.back": "volver atrĂĄs",
- "keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
- "keyboard_shortcuts.boost": "retootear",
- "keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
- "keyboard_shortcuts.compose": "enfocar el ĂĄrea de texto de redacciĂłn",
- "keyboard_shortcuts.description": "DescripciĂłn",
- "keyboard_shortcuts.direct": "abrir la columna de mensajes directos",
- "keyboard_shortcuts.down": "mover hacia abajo en la lista",
- "keyboard_shortcuts.enter": "abrir estado",
- "keyboard_shortcuts.favourite": "aĂąadir a favoritos",
- "keyboard_shortcuts.favourites": "abrir la lista de favoritos",
- "keyboard_shortcuts.federated": "abrir el timeline federado",
+ "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
+ "introduction.interactions.action": "Finish toot-orial!",
+ "introduction.interactions.favourite.headline": "Favourite",
+ "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.reblog.headline": "Boost",
+ "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reply.headline": "Reply",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.welcome.action": "Let's go!",
+ "introduction.welcome.headline": "First steps",
+ "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is specialâit hosts your profile, so remember its name.",
+ "keyboard_shortcuts.back": "to navigate back",
+ "keyboard_shortcuts.blocked": "to open blocked users list",
+ "keyboard_shortcuts.boost": "to boost",
+ "keyboard_shortcuts.column": "to focus a status in one of the columns",
+ "keyboard_shortcuts.compose": "to focus the compose textarea",
+ "keyboard_shortcuts.description": "Description",
+ "keyboard_shortcuts.direct": "to open direct messages column",
+ "keyboard_shortcuts.down": "to move down in the list",
+ "keyboard_shortcuts.enter": "to open status",
+ "keyboard_shortcuts.favourite": "to favourite",
+ "keyboard_shortcuts.favourites": "to open favourites list",
+ "keyboard_shortcuts.federated": "to open federated timeline",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
- "keyboard_shortcuts.home": "abrir el timeline propio",
- "keyboard_shortcuts.hotkey": "Tecla caliente",
- "keyboard_shortcuts.legend": "para mostrar esta leyenda",
- "keyboard_shortcuts.local": "abrir el timeline local",
- "keyboard_shortcuts.mention": "para mencionar al autor",
- "keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
- "keyboard_shortcuts.my_profile": "abrir tu perfil",
- "keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
- "keyboard_shortcuts.pinned": "abrir la lista de toots destacados",
- "keyboard_shortcuts.profile": "abrir el perfil del autor",
- "keyboard_shortcuts.reply": "para responder",
- "keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
- "keyboard_shortcuts.search": "para poner el foco en la bĂşsqueda",
- "keyboard_shortcuts.start": "abrir la columna \"comenzar\"",
- "keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
- "keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
- "keyboard_shortcuts.toot": "para comenzar un nuevo toot",
- "keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacciĂłn/bĂşsqueda",
- "keyboard_shortcuts.up": "para ir hacia arriba en la lista",
- "lightbox.close": "Cerrar",
- "lightbox.next": "Siguiente",
- "lightbox.previous": "Anterior",
- "lightbox.view_context": "Ver contexto",
- "lists.account.add": "AĂąadir a lista",
- "lists.account.remove": "Quitar de lista",
- "lists.delete": "Borrar lista",
- "lists.edit": "Editar lista",
- "lists.edit.submit": "Cambiar tĂtulo",
- "lists.new.create": "AĂąadir lista",
- "lists.new.title_placeholder": "TĂtulo de la nueva lista",
- "lists.search": "Buscar entre la gente a la que sigues",
- "lists.subheading": "Tus listas",
- "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
- "loading_indicator.label": "CargandoâŚ",
- "media_gallery.toggle_visible": "Cambiar visibilidad",
- "missing_indicator.label": "No encontrado",
- "missing_indicator.sublabel": "No se encontrĂł este recurso",
- "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
- "navigation_bar.apps": "Aplicaciones mĂłviles",
- "navigation_bar.blocks": "Usuarios bloqueados",
- "navigation_bar.community_timeline": "Historia local",
- "navigation_bar.compose": "Escribir un nuevo toot",
- "navigation_bar.direct": "Mensajes directos",
- "navigation_bar.discover": "Descubrir",
- "navigation_bar.domain_blocks": "Dominios ocultos",
- "navigation_bar.edit_profile": "Editar perfil",
- "navigation_bar.favourites": "Favoritos",
- "navigation_bar.filters": "Palabras silenciadas",
- "navigation_bar.follow_requests": "Solicitudes para seguirte",
- "navigation_bar.follows_and_followers": "Siguiendo y seguidores",
- "navigation_bar.info": "InformaciĂłn adicional",
- "navigation_bar.keyboard_shortcuts": "Atajos",
- "navigation_bar.lists": "Listas",
- "navigation_bar.logout": "Cerrar sesiĂłn",
- "navigation_bar.mutes": "Usuarios silenciados",
+ "keyboard_shortcuts.home": "to open home timeline",
+ "keyboard_shortcuts.hotkey": "Hotkey",
+ "keyboard_shortcuts.legend": "to display this legend",
+ "keyboard_shortcuts.local": "to open local timeline",
+ "keyboard_shortcuts.mention": "to mention author",
+ "keyboard_shortcuts.muted": "to open muted users list",
+ "keyboard_shortcuts.my_profile": "to open your profile",
+ "keyboard_shortcuts.notifications": "to open notifications column",
+ "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.profile": "to open author's profile",
+ "keyboard_shortcuts.reply": "to reply",
+ "keyboard_shortcuts.requests": "to open follow requests list",
+ "keyboard_shortcuts.search": "to focus search",
+ "keyboard_shortcuts.start": "to open \"get started\" column",
+ "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
+ "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
+ "keyboard_shortcuts.toot": "to start a brand new toot",
+ "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
+ "keyboard_shortcuts.up": "to move up in the list",
+ "lightbox.close": "Close",
+ "lightbox.next": "Next",
+ "lightbox.previous": "Previous",
+ "lightbox.view_context": "View context",
+ "lists.account.add": "Add to list",
+ "lists.account.remove": "Remove from list",
+ "lists.delete": "Delete list",
+ "lists.edit": "Edit list",
+ "lists.edit.submit": "Change title",
+ "lists.new.create": "Add list",
+ "lists.new.title_placeholder": "New list title",
+ "lists.search": "Search among people you follow",
+ "lists.subheading": "Your lists",
+ "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "loading_indicator.label": "Loading...",
+ "media_gallery.toggle_visible": "Toggle visibility",
+ "missing_indicator.label": "Not found",
+ "missing_indicator.sublabel": "This resource could not be found",
+ "mute_modal.hide_notifications": "Hide notifications from this user?",
+ "navigation_bar.apps": "Mobile apps",
+ "navigation_bar.blocks": "Blocked users",
+ "navigation_bar.community_timeline": "Local timeline",
+ "navigation_bar.compose": "Compose new toot",
+ "navigation_bar.direct": "Direct messages",
+ "navigation_bar.discover": "Discover",
+ "navigation_bar.domain_blocks": "Hidden domains",
+ "navigation_bar.edit_profile": "Edit profile",
+ "navigation_bar.favourites": "Favourites",
+ "navigation_bar.filters": "Muted words",
+ "navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.follows_and_followers": "Follows and followers",
+ "navigation_bar.info": "About this server",
+ "navigation_bar.keyboard_shortcuts": "Hotkeys",
+ "navigation_bar.lists": "Lists",
+ "navigation_bar.logout": "Logout",
+ "navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal",
- "navigation_bar.pins": "Toots fijados",
- "navigation_bar.preferences": "Preferencias",
- "navigation_bar.public_timeline": "Historia federada",
- "navigation_bar.security": "Seguridad",
- "notification.and_n_others": "y {count, plural, one {# otro} other {# otros}}",
- "notification.favourite": "{name} marcĂł tu estado como favorito",
- "notification.follow": "{name} te empezĂł a seguir",
- "notification.mention": "{name} te ha mencionado",
- "notification.poll": "Una encuesta en la que has votado ha terminado",
- "notification.reblog": "{name} ha retooteado tu estado",
- "notifications.clear": "Limpiar notificaciones",
- "notifications.clear_confirmation": "ÂżSeguro que quieres limpiar permanentemente todas tus notificaciones?",
- "notifications.column_settings.alert": "Notificaciones de escritorio",
- "notifications.column_settings.favourite": "Favoritos:",
- "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorĂas",
- "notifications.column_settings.filter_bar.category": "Barra de filtrado rĂĄpido",
- "notifications.column_settings.filter_bar.show": "Mostrar",
- "notifications.column_settings.follow": "Nuevos seguidores:",
- "notifications.column_settings.mention": "Menciones:",
- "notifications.column_settings.poll": "Resultados de la votaciĂłn:",
- "notifications.column_settings.push": "Notificaciones push",
- "notifications.column_settings.reblog": "Retoots:",
- "notifications.column_settings.show": "Mostrar en columna",
- "notifications.column_settings.sound": "Reproducir sonido",
- "notifications.filter.all": "Todos",
- "notifications.filter.boosts": "Retoots",
- "notifications.filter.favourites": "Favoritos",
- "notifications.filter.follows": "Seguidores",
- "notifications.filter.mentions": "Menciones",
- "notifications.filter.polls": "Resultados de la votaciĂłn",
- "notifications.group": "{count} notificaciones",
- "poll.closed": "Cerrada",
- "poll.refresh": "Actualizar",
- "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
- "poll.vote": "Votar",
- "poll_button.add_poll": "AĂąadir una encuesta",
- "poll_button.remove_poll": "Eliminar encuesta",
- "privacy.change": "Ajustar privacidad",
- "privacy.direct.long": "SĂłlo mostrar a los usuarios mencionados",
- "privacy.direct.short": "Directo",
- "privacy.private.long": "SĂłlo mostrar a seguidores",
- "privacy.private.short": "Privado",
- "privacy.public.long": "Mostrar en la historia federada",
- "privacy.public.short": "PĂşblico",
- "privacy.unlisted.long": "No mostrar en la historia federada",
- "privacy.unlisted.short": "No listado",
- "regeneration_indicator.label": "CargandoâŚ",
- "regeneration_indicator.sublabel": "ÂĄTu historia de inicio se estĂĄ preparando!",
+ "navigation_bar.pins": "Pinned toots",
+ "navigation_bar.preferences": "Preferences",
+ "navigation_bar.public_timeline": "Federated timeline",
+ "navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.favourite": "{name} favourited your status",
+ "notification.follow": "{name} followed you",
+ "notification.mention": "{name} mentioned you",
+ "notification.poll": "A poll you have voted in has ended",
+ "notification.reblog": "{name} boosted your status",
+ "notifications.clear": "Clear notifications",
+ "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
+ "notifications.column_settings.alert": "Desktop notifications",
+ "notifications.column_settings.favourite": "Favourites:",
+ "notifications.column_settings.filter_bar.advanced": "Display all categories",
+ "notifications.column_settings.filter_bar.category": "Quick filter bar",
+ "notifications.column_settings.filter_bar.show": "Show",
+ "notifications.column_settings.follow": "New followers:",
+ "notifications.column_settings.mention": "Mentions:",
+ "notifications.column_settings.poll": "Poll results:",
+ "notifications.column_settings.push": "Push notifications",
+ "notifications.column_settings.reblog": "Boosts:",
+ "notifications.column_settings.show": "Show in column",
+ "notifications.column_settings.sound": "Play sound",
+ "notifications.filter.all": "All",
+ "notifications.filter.boosts": "Boosts",
+ "notifications.filter.favourites": "Favourites",
+ "notifications.filter.follows": "Follows",
+ "notifications.filter.mentions": "Mentions",
+ "notifications.filter.polls": "Poll results",
+ "notifications.group": "{count} notifications",
+ "poll.closed": "Closed",
+ "poll.refresh": "Refresh",
+ "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
+ "poll.vote": "Vote",
+ "poll_button.add_poll": "Add a poll",
+ "poll_button.remove_poll": "Remove poll",
+ "privacy.change": "Adjust status privacy",
+ "privacy.direct.long": "Post to mentioned users only",
+ "privacy.direct.short": "Direct",
+ "privacy.private.long": "Post to followers only",
+ "privacy.private.short": "Followers-only",
+ "privacy.public.long": "Post to public timelines",
+ "privacy.public.short": "Public",
+ "privacy.unlisted.long": "Do not show in public timelines",
+ "privacy.unlisted.short": "Unlisted",
+ "regeneration_indicator.label": "LoadingâŚ",
+ "regeneration_indicator.sublabel": "Your home feed is being prepared!",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
- "relative_time.just_now": "ahora",
+ "relative_time.just_now": "now",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
- "reply_indicator.cancel": "Cancelar",
- "report.forward": "Reenviar a {target}",
- "report.forward_hint": "Esta cuenta es de otro servidor. ÂżEnviar una copia anonimizada del informe allĂ tambiĂŠn?",
- "report.hint": "El informe se enviarĂĄ a los moderadores de tu instancia. Puedes proporcionar una explicaciĂłn de por quĂŠ informas sobre esta cuenta a continuaciĂłn:",
- "report.placeholder": "Comentarios adicionales",
- "report.submit": "Publicar",
- "report.target": "Reportando",
- "search.placeholder": "Buscar",
- "search_popout.search_format": "Formato de bĂşsqueda avanzada",
- "search_popout.tips.full_text": "BĂşsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, asĂ como usuarios, nombres y hashtags.",
- "search_popout.tips.hashtag": "etiqueta",
- "search_popout.tips.status": "estado",
- "search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag",
- "search_popout.tips.user": "usuario",
- "search_results.accounts": "Gente",
- "search_results.hashtags": "Etiquetas",
+ "reply_indicator.cancel": "Cancel",
+ "report.forward": "Forward to {target}",
+ "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
+ "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
+ "report.placeholder": "Additional comments",
+ "report.submit": "Submit",
+ "report.target": "Report {target}",
+ "search.placeholder": "Search",
+ "search_popout.search_format": "Advanced search format",
+ "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
+ "search_popout.tips.hashtag": "hashtag",
+ "search_popout.tips.status": "status",
+ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
+ "search_popout.tips.user": "user",
+ "search_results.accounts": "People",
+ "search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Buscar toots por su contenido no estĂĄ disponible en este servidor de Mastodon.",
- "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
- "status.admin_account": "Abrir interfaz de moderaciĂłn para @{name}",
- "status.admin_status": "Abrir este estado en la interfaz de moderaciĂłn",
- "status.block": "Bloquear a @{name}",
- "status.cancel_reblog_private": "Des-impulsar",
- "status.cannot_reblog": "Este toot no puede retootearse",
- "status.copy": "Copiar enlace al estado",
- "status.delete": "Borrar",
- "status.detailed_status": "Vista de conversaciĂłn detallada",
- "status.direct": "Mensaje directo a @{name}",
- "status.embed": "Incrustado",
- "status.favourite": "Favorito",
- "status.filtered": "Filtrado",
- "status.load_more": "Cargar mĂĄs",
- "status.media_hidden": "Contenido multimedia oculto",
- "status.mention": "Mencionar",
- "status.more": "MĂĄs",
- "status.mute": "Silenciar @{name}",
- "status.mute_conversation": "Silenciar conversaciĂłn",
- "status.open": "Expandir estado",
- "status.pin": "Fijar",
- "status.pinned": "Toot fijado",
- "status.read_more": "Leer mĂĄs",
- "status.reblog": "Retootear",
- "status.reblog_private": "Implusar a la audiencia original",
- "status.reblogged_by": "Retooteado por {name}",
- "status.reblogs.empty": "Nadie impulsĂł este toot todavĂa. Cuando alguien lo haga, aparecerĂĄ aqui.",
- "status.redraft": "Borrar y volver a borrador",
- "status.reply": "Responder",
- "status.replyAll": "Responder al hilo",
- "status.report": "Reportar",
- "status.sensitive_warning": "Contenido sensible",
- "status.share": "Compartir",
- "status.show_less": "Mostrar menos",
- "status.show_less_all": "Mostrar menos para todo",
- "status.show_more": "Mostrar mĂĄs",
- "status.show_more_all": "Mostrar mĂĄs para todo",
- "status.show_thread": "Ver hilo",
- "status.uncached_media_warning": "No disponible",
- "status.unmute_conversation": "Dejar de silenciar conversaciĂłn",
- "status.unpin": "Dejar de fijar",
- "suggestions.dismiss": "Descartar sugerencia",
- "suggestions.header": "Es posible que te intereseâŚ",
- "tabs_bar.federated_timeline": "Federado",
- "tabs_bar.home": "Inicio",
+ "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
+ "status.admin_account": "Open moderation interface for @{name}",
+ "status.admin_status": "Open this status in the moderation interface",
+ "status.block": "Block @{name}",
+ "status.cancel_reblog_private": "Unboost",
+ "status.cannot_reblog": "This post cannot be boosted",
+ "status.copy": "Copy link to status",
+ "status.delete": "Delete",
+ "status.detailed_status": "Detailed conversation view",
+ "status.direct": "Direct message @{name}",
+ "status.embed": "Embed",
+ "status.favourite": "Favourite",
+ "status.filtered": "Filtered",
+ "status.load_more": "Load more",
+ "status.media_hidden": "Media hidden",
+ "status.mention": "Mention @{name}",
+ "status.more": "More",
+ "status.mute": "Mute @{name}",
+ "status.mute_conversation": "Mute conversation",
+ "status.open": "Expand this status",
+ "status.pin": "Pin on profile",
+ "status.pinned": "Pinned toot",
+ "status.read_more": "Read more",
+ "status.reblog": "Boost",
+ "status.reblog_private": "Boost to original audience",
+ "status.reblogged_by": "{name} boosted",
+ "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+ "status.redraft": "Delete & re-draft",
+ "status.reply": "Reply",
+ "status.replyAll": "Reply to thread",
+ "status.report": "Report @{name}",
+ "status.sensitive_warning": "Sensitive content",
+ "status.share": "Share",
+ "status.show_less": "Show less",
+ "status.show_less_all": "Show less for all",
+ "status.show_more": "Show more",
+ "status.show_more_all": "Show more for all",
+ "status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
+ "status.unmute_conversation": "Unmute conversation",
+ "status.unpin": "Unpin from profile",
+ "suggestions.dismiss": "Dismiss suggestion",
+ "suggestions.header": "You might be interested inâŚ",
+ "tabs_bar.federated_timeline": "Federated",
+ "tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Local",
- "tabs_bar.notifications": "Notificaciones",
- "tabs_bar.search": "Buscar",
- "time_remaining.days": "{number, plural, one {# dĂa restante} other {# dĂas restantes}}",
- "time_remaining.hours": "{number, plural, one {# hora restante} other {# horas restantes}}",
- "time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
- "time_remaining.moments": "Momentos restantes",
- "time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
- "trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} hablando",
- "trends.trending_now": "Tendencia ahora",
- "ui.beforeunload": "Tu borrador se perderĂĄ si sales de Mastodon.",
- "upload_area.title": "Arrastra y suelta para subir",
- "upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
- "upload_error.limit": "LĂmite de subida de archivos excedido.",
- "upload_error.poll": "Subida de archivos no permitida con encuestas.",
- "upload_form.description": "Describir para los usuarios con dificultad visual",
- "upload_form.edit": "Editar",
- "upload_form.undo": "Borrar",
- "upload_modal.analyzing_picture": "Analizando imagenâŚ",
- "upload_modal.apply": "Aplicar",
- "upload_modal.description_placeholder": "Un rĂĄpido zorro marrĂłn salta sobre el perro perezoso",
- "upload_modal.detect_text": "Detectar texto de la imagen",
- "upload_modal.edit_media": "Editar multimedia",
- "upload_modal.hint": "Haga clic o arrastre el cĂrculo en la vista previa para elegir el punto focal que siempre estarĂĄ a la vista en todas las miniaturas.",
- "upload_modal.preview_label": "Vista previa ({ratio})",
- "upload_progress.label": "SubiendoâŚ",
- "video.close": "Cerrar video",
- "video.exit_fullscreen": "Salir de pantalla completa",
- "video.expand": "Expandir vĂdeo",
- "video.fullscreen": "Pantalla completa",
- "video.hide": "Ocultar vĂdeo",
- "video.mute": "Silenciar sonido",
- "video.pause": "Pausar",
- "video.play": "Reproducir",
- "video.unmute": "Dejar de silenciar sonido"
+ "tabs_bar.notifications": "Notifications",
+ "tabs_bar.search": "Search",
+ "time_remaining.days": "{number, plural, one {# day} other {# days}} left",
+ "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
+ "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
+ "time_remaining.moments": "Moments remaining",
+ "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
+ "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+ "upload_area.title": "Drag & drop to upload",
+ "upload_button.label": "Add media ({formats})",
+ "upload_error.limit": "File upload limit exceeded.",
+ "upload_error.poll": "File upload not allowed with polls.",
+ "upload_form.description": "Describe for the visually impaired",
+ "upload_form.edit": "Edit",
+ "upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing pictureâŚ",
+ "upload_modal.apply": "Apply",
+ "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
+ "upload_modal.detect_text": "Detect text from picture",
+ "upload_modal.edit_media": "Edit media",
+ "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_progress.label": "Uploading...",
+ "video.close": "Close video",
+ "video.exit_fullscreen": "Exit full screen",
+ "video.expand": "Expand video",
+ "video.fullscreen": "Full screen",
+ "video.hide": "Hide video",
+ "video.mute": "Mute sound",
+ "video.pause": "Pause",
+ "video.play": "Play",
+ "video.unmute": "Unmute sound"
}
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index a3b0bb3f599..9a516859cf5 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -39,7 +39,7 @@
"account.unmute": "Ne plus masquer @{name}",
"account.unmute_notifications": "RĂŠactiver les notifications de @{name}",
"alert.rate_limited.message": "Veuillez rÊessayer après {retry_time, time, medium}.",
- "alert.rate_limited.title": "Taux limitĂŠ",
+ "alert.rate_limited.title": "DĂŠbit limitĂŠ",
"alert.unexpected.message": "Une erreur inattendue sâest produite.",
"alert.unexpected.title": "OupsâŻ!",
"autosuggest_hashtag.per_week": "{count} par semaine",
@@ -70,12 +70,12 @@
"column_header.moveRight_settings": "DĂŠplacer la colonne vers la droite",
"column_header.pin": "Ăpingler",
"column_header.show_settings": "Afficher les paramètres",
- "column_header.unpin": "Retirer",
+ "column_header.unpin": "DĂŠsĂŠpingler",
"column_subheading.settings": "Paramètres",
"community.column_settings.media_only": "MĂŠdia uniquement",
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyĂŠ aux personnes mentionnĂŠes. Cependant, lâadministration de votre instance et des instances rĂŠceptrices pourront inspecter ce message.",
- "compose_form.direct_message_warning_learn_more": "En savoir plus",
- "compose_form.hashtag_warning": "Ce pouet ne sera pas listĂŠ dans les recherches par hashtag car sa visibilitĂŠ est rĂŠglĂŠe sur \"non listĂŠ\". Seuls les pouets avec une visibilitĂŠ \"publique\" peuvent ĂŞtre recherchĂŠs par hashtag.",
+ "compose_form.direct_message_warning_learn_more": "Plus d'informations",
+ "compose_form.hashtag_warning": "Ce pouet ne sera pas listĂŠ dans les recherches par mot-clĂŠ car sa visibilitĂŠ est rĂŠglĂŠe sur \"non listĂŠ\". Seuls les pouets avec une visibilitĂŠ \"publique\" peuvent ĂŞtre recherchĂŠs par mot-clĂŠ.",
"compose_form.lock_disclaimer": "Votre compte nâest pas {locked}. Tout le monde peut vous suivre et voir vos pouets privĂŠs.",
"compose_form.lock_disclaimer.lock": "verrouillĂŠ",
"compose_form.placeholder": "Quâavez-vous en tĂŞteâŻ?",
@@ -87,7 +87,7 @@
"compose_form.publish_loud": "{publish}âŻ!",
"compose_form.sensitive.hide": "Marquer le mĂŠdia comme sensible",
"compose_form.sensitive.marked": "MĂŠdia marquĂŠ comme sensible",
- "compose_form.sensitive.unmarked": "MĂŠdia non marquĂŠ comme sensible",
+ "compose_form.sensitive.unmarked": "Le mĂŠdia n'est pas marquĂŠ comme sensible",
"compose_form.spoiler.marked": "Le texte est cachÊ derrière un avertissement",
"compose_form.spoiler.unmarked": "Le texte nâest pas cachĂŠ",
"compose_form.spoiler_placeholder": "Ăcrivez ici votre avertissement",
@@ -104,7 +104,7 @@
"confirmations.logout.confirm": "DĂŠconnexion",
"confirmations.logout.message": "Ătes-vous sĂťr de vouloir vous dĂŠconnecter ?",
"confirmations.mute.confirm": "Masquer",
- "confirmations.mute.message": "Confirmez-vous le masquage de {name}�",
+ "confirmations.mute.message": "Ătes-vous sĂťr¡e de vouloir masquer {name} ?",
"confirmations.redraft.confirm": "Effacer et rĂŠ-ĂŠcrire",
"confirmations.redraft.message": "Ătes-vous sĂťr¡e de vouloir effacer ce statut pour le rĂŠ-ĂŠcrireâŻ? Ses partages ainsi que ses mises en favori seront perdu¡e¡s et ses rĂŠponses seront orphelines.",
"confirmations.reply.confirm": "RĂŠpondre",
@@ -151,7 +151,7 @@
"empty_column.lists": "Vous nâavez pas encore de liste. Lorsque vous en crĂŠerez une, elle apparaĂŽtra ici.",
"empty_column.mutes": "Vous nâavez pas encore mis d'utilisateur¡rice¡s en silence.",
"empty_column.notifications": "Vous nâavez pas encore de notification. Interagissez avec dâautres personnes pour dĂŠbuter la conversation.",
- "empty_column.public": "Il nây a rien iciâŻ! Ăcrivez quelque chose publiquement, ou bien suivez manuellement des personnes dâautres instances pour remplir le fil public",
+ "empty_column.public": "Il nây a rien iciâŻ! Ăcrivez quelque chose publiquement, ou bien suivez manuellement des personnes dâautres instances pour le remplir",
"follow_request.authorize": "Accepter",
"follow_request.reject": "Rejeter",
"getting_started.developers": "DÊveloppeur¡euse¡s",
@@ -166,12 +166,12 @@
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sans {additional}",
"hashtag.column_settings.select.no_options_message": "Aucune suggestion trouvĂŠe",
- "hashtag.column_settings.select.placeholder": "Ajouter des hashtagsâŚ",
+ "hashtag.column_settings.select.placeholder": "Ajouter des mots-clĂŠsâŚ",
"hashtag.column_settings.tag_mode.all": "Tous ces ĂŠlĂŠments",
"hashtag.column_settings.tag_mode.any": "Au moins un de ces ĂŠlĂŠments",
"hashtag.column_settings.tag_mode.none": "Aucun de ces ĂŠlĂŠments",
- "hashtag.column_settings.tag_toggle": "Inclure des tags additionnels dans cette colonne",
- "home.column_settings.basic": "Basique",
+ "hashtag.column_settings.tag_toggle": "Inclure des mots-clĂŠs additionnels dans cette colonne",
+ "home.column_settings.basic": "Base",
"home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les rĂŠponses",
"home.column_settings.update_live": "Mettre Ă jour en temps rĂŠel",
@@ -199,7 +199,7 @@
"keyboard_shortcuts.blocked": "pour ouvrir une liste dâutilisateur¡rice¡s bloquÊ¡e¡s",
"keyboard_shortcuts.boost": "pour partager",
"keyboard_shortcuts.column": "pour focaliser un statut dans lâune des colonnes",
- "keyboard_shortcuts.compose": "pour centrer la zone de rĂŠdaction",
+ "keyboard_shortcuts.compose": "pour focaliser la zone de rĂŠdaction",
"keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.direct": "pour ouvrir une colonne des messages directs",
"keyboard_shortcuts.down": "pour descendre dans la liste",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 2ab06c6e724..9069597a5b9 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -4,7 +4,7 @@
"account.block": "@{name} letiltĂĄsa",
"account.block_domain": "Minden elrejtĂŠse innen: {domain}",
"account.blocked": "Letiltva",
- "account.cancel_follow_request": "Cancel follow request",
+ "account.cancel_follow_request": "KĂśvetĂŠsi kĂŠrelem tĂśrlĂŠse",
"account.direct": "KĂśzvetlen Ăźzenet @{name} szĂĄmĂĄra",
"account.domain_blocked": "Rejtett domain",
"account.edit_profile": "Profil szerkesztĂŠse",
@@ -16,7 +16,7 @@
"account.follows.empty": "Ez a felhasznĂĄlĂł mĂŠg senkit sem kĂśvet.",
"account.follows_you": "KĂśvet tĂŠged",
"account.hide_reblogs": "@{name} megtolĂĄsainak nĂŠmĂtĂĄsa",
- "account.last_status": "Last active",
+ "account.last_status": "UtoljĂĄra aktĂv",
"account.link_verified_on": "A linket ellenĹriztĂźk: {date}",
"account.locked_info": "Ez a fiĂłk zĂĄrt. A tulaj engedĂŠlyezi, ki kĂśvetheti Ĺt.",
"account.media": "MĂŠdia",
@@ -25,7 +25,7 @@
"account.mute": "@{name} nĂŠmĂtĂĄsa",
"account.mute_notifications": "@{name} ĂŠrtesĂtĂŠseinek nĂŠmĂtĂĄsa",
"account.muted": "NĂŠmĂtva",
- "account.never_active": "Never",
+ "account.never_active": "Soha",
"account.posts": "TĂźlkĂślĂŠs",
"account.posts_with_replies": "TĂźlkĂślĂŠs vĂĄlaszokkal",
"account.report": "@{name} jelentĂŠse",
@@ -38,11 +38,11 @@
"account.unfollow": "KĂśvetĂŠs vĂŠge",
"account.unmute": "@{name} nĂŠmĂtĂĄs feloldĂĄsa",
"account.unmute_notifications": "@{name} nĂŠmĂtott ĂŠrtesĂtĂŠseinek feloldĂĄsa",
- "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
- "alert.rate_limited.title": "Rate limited",
+ "alert.rate_limited.message": "KĂŠrlek, prĂłbĂĄld Ăşjra {retry_time, time, medium}.",
+ "alert.rate_limited.title": "ForgalomkorlĂĄtozĂĄs",
"alert.unexpected.message": "VĂĄratlan hiba tĂśrtĂŠnt.",
"alert.unexpected.title": "HoppĂĄ!",
- "autosuggest_hashtag.per_week": "{count} per week",
+ "autosuggest_hashtag.per_week": "{count}/hĂŠt",
"boost_modal.combo": "Hogy ĂĄtugord ezt kĂśvetkezĹ alkalommal, hasznĂĄld {combo}",
"bundle_column_error.body": "Hiba tĂśrtĂŠnt a komponens betĂśltĂŠse kĂśzben.",
"bundle_column_error.retry": "PrĂłbĂĄld Ăşjra",
@@ -53,7 +53,7 @@
"column.blocks": "Letiltott felhasznĂĄlĂłk",
"column.community": "Helyi idĹvonal",
"column.direct": "KĂśzvetlen Ăźzenetek",
- "column.directory": "Browse profiles",
+ "column.directory": "Profilok bĂśngĂŠszĂŠse",
"column.domain_blocks": "Rejtett domainek",
"column.favourites": "Kedvencek",
"column.follow_requests": "KĂśvetĂŠsi kĂŠrelmek",
@@ -63,7 +63,7 @@
"column.notifications": "ĂrtesĂtĂŠsek",
"column.pins": "KitĹązĂśtt tĂźlkĂśk",
"column.public": "NyilvĂĄnos idĹvonal",
- "column.status": "Toot",
+ "column.status": "TĂźlk",
"column_back_button.label": "Vissza",
"column_header.hide_settings": "BeĂĄllĂtĂĄsok elrejtĂŠse",
"column_header.moveLeft_settings": "Oszlop elmozdĂtĂĄsa balra",
@@ -101,8 +101,8 @@
"confirmations.delete_list.message": "Biztos, hogy vĂŠglegesen tĂśrĂślni szeretnĂŠd ezt a listĂĄt?",
"confirmations.domain_block.confirm": "Teljes domain elrejtĂŠse",
"confirmations.domain_block.message": "EgĂŠszen biztos, hogy le szeretnĂŠd tiltani a teljes {domain}-t? A legtĂśbb esetben nĂŠhĂĄny cĂŠlzott tiltĂĄs vagy nĂŠmĂtĂĄs elegendĹ ĂŠs kĂvĂĄnatosabb megoldĂĄs. Semmilyen tartalmat nem fogsz lĂĄtni ebbĹl a domainbĹl se idĹvonalakon, se ĂŠrtesĂtĂŠsekben. Az ebben a domainben lĂŠvĹ kĂśvetĹidet is eltĂĄvolĂtjuk.",
- "confirmations.logout.confirm": "Log out",
- "confirmations.logout.message": "Are you sure you want to log out?",
+ "confirmations.logout.confirm": "KijelentkezĂŠs",
+ "confirmations.logout.message": "Biztosan ki akar jelentkezni?",
"confirmations.mute.confirm": "NĂŠmĂtĂĄs",
"confirmations.mute.message": "Biztos, hogy nĂŠmĂtani szeretnĂŠd {name}?",
"confirmations.redraft.confirm": "TĂśrlĂŠs ĂŠs ĂşjraĂrĂĄs",
@@ -111,14 +111,14 @@
"confirmations.reply.message": "Ha most vĂĄlaszolsz, ez felĂźlĂrja a most szerkesztĂŠs alatt ĂĄllĂł Ăźzenetet. MĂŠgis ezt szeretnĂŠd?",
"confirmations.unfollow.confirm": "KĂśvetĂŠs visszavonĂĄsa",
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnĂŠd vonni {name} kĂśvetĂŠsĂŠt?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
- "directory.federated": "From known fediverse",
- "directory.local": "From {domain} only",
- "directory.new_arrivals": "New arrivals",
- "directory.recently_active": "Recently active",
+ "conversation.delete": "BeszĂŠlgetĂŠs tĂśrlĂŠse",
+ "conversation.mark_as_read": "MegjelĂślĂŠs olvasottkĂŠnt",
+ "conversation.open": "BeszĂŠlgetĂŠs megtekintĂŠse",
+ "conversation.with": "{names}-el/al",
+ "directory.federated": "Az ismert fediverzumbĂłl",
+ "directory.local": "Csak {domain}-bĂłl/bĹl",
+ "directory.new_arrivals": "Ăj csatlakozĂłk",
+ "directory.recently_active": "NemrĂŠg aktĂv",
"embed.instructions": "Ăgyazd be ezt a tĂźlkĂśt a weboldaladba az alĂĄbbi kĂłd kimĂĄsolĂĄsĂĄval.",
"embed.preview": "Ăgy fog kinĂŠzni:",
"emoji_button.activity": "AktivitĂĄs",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "AlapĂŠrtelmezĂŠsek",
"home.column_settings.show_reblogs": "MegtolĂĄsok mutatĂĄsa",
"home.column_settings.show_replies": "VĂĄlaszok mutatĂĄsa",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "FrissĂtĂŠs valĂłs idĹben",
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
"intervals.full.hours": "{number, plural, one {# Ăłra} other {# Ăłra}}",
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "BeĂĄllĂtĂĄsok",
"navigation_bar.public_timeline": "FĂśderĂĄciĂłs idĹvonal",
"navigation_bar.security": "BiztonsĂĄg",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "ĂŠs {count, plural, one {# mĂĄsik} other {# mĂĄsik}}",
"notification.favourite": "{name} kedvencnek jelĂślte egy tĂźlkĂśdet",
"notification.follow": "{name} kĂśvet tĂŠged",
"notification.mention": "{name} megemlĂtett",
@@ -373,7 +373,7 @@
"status.show_more": "TĂśbbet",
"status.show_more_all": "TĂśbbet mindenhol",
"status.show_thread": "SzĂĄl mutatĂĄsa",
- "status.uncached_media_warning": "Not available",
+ "status.uncached_media_warning": "Nem elĂŠrhetĹ",
"status.unmute_conversation": "BeszĂŠlgetĂŠs nĂŠmĂtĂĄsĂĄnak kikapcsolĂĄsa",
"status.unpin": "KitĹązĂŠs eltĂĄvolĂtĂĄsa a profilodrĂłl",
"suggestions.dismiss": "Javaslat elvetĂŠse",
@@ -389,22 +389,22 @@
"time_remaining.moments": "Pillanatok vannak hĂĄtra",
"time_remaining.seconds": "{number, plural, one {# mĂĄsodperc} other {# mĂĄsodperc}} van hĂĄtra",
"trends.count_by_accounts": "{count} {rawCount, plural, one {rĂŠsztvevĹ} other {rĂŠsztvevĹ}} beszĂŠlget",
- "trends.trending_now": "Trending now",
+ "trends.trending_now": "Most trendi",
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodon-t.",
"upload_area.title": "HĂşzd ide a feltĂśltĂŠshez",
"upload_button.label": "MĂŠdia hozzĂĄadĂĄsa (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "TĂşllĂŠpted a fĂĄjl feltĂśltĂŠsi limitet.",
"upload_error.poll": "SzavazĂĄsnĂĄl nem lehet fĂĄjlt feltĂślteni.",
"upload_form.description": "LeĂrĂĄs lĂĄtĂĄskorlĂĄtozottak szĂĄmĂĄra",
- "upload_form.edit": "Edit",
+ "upload_form.edit": "SzerkesztĂŠs",
"upload_form.undo": "MĂŠgsem",
- "upload_modal.analyzing_picture": "Analyzing pictureâŚ",
- "upload_modal.apply": "Apply",
- "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
- "upload_modal.detect_text": "Detect text from picture",
- "upload_modal.edit_media": "Edit media",
- "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
- "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_modal.analyzing_picture": "KĂŠp elemzĂŠseâŚ",
+ "upload_modal.apply": "AlkalmazĂĄs",
+ "upload_modal.description_placeholder": "A gyors, barna rĂłka ĂĄtugrik a lusta kutya fĂślĂśtt",
+ "upload_modal.detect_text": "SzĂśveg felismerĂŠse a kĂŠprĹl",
+ "upload_modal.edit_media": "MĂŠdia szerkesztĂŠse",
+ "upload_modal.hint": "Kattints vagy hĂşzd a kĂśrt az elĹnĂŠzetben arra a fĂłkuszpontra, mely minden megjelenĂtett bĂŠlyegkĂŠpen lĂĄthatĂł kell, legyen.",
+ "upload_modal.preview_label": "ElĹnĂŠzet ({ratio})",
"upload_progress.label": "FeltĂśltĂŠs...",
"video.close": "VideĂł bezĂĄrĂĄsa",
"video.exit_fullscreen": "KilĂŠpĂŠs teljes kĂŠpernyĹbĹl",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 27fa7e93f5f..40c88d69419 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -53,7 +53,7 @@
"column.blocks": "ăăăăŻăăăŚăźăśăź",
"column.community": "ăăźăŤăŤăżă¤ă ăŠă¤ăł",
"column.direct": "ăă¤ăŹăŻăăĄăăťăźă¸",
- "column.directory": "ăăăăŁăźăŤăčŚă",
+ "column.directory": "ăăŁăŹăŻăăŞ",
"column.domain_blocks": "é襨示ăŤăăăăĄă¤ăł",
"column.favourites": "ăć°ăŤĺ Ľă",
"column.follow_requests": "ăăŠăăźăŞăŻă¨ăšă",
@@ -114,7 +114,7 @@
"conversation.delete": "ăăŽăăă¨ăăĺé¤",
"conversation.mark_as_read": "ć˘čŞăŤăă",
"conversation.open": "äźčŠąă襨示ăă",
- "conversation.with": "{names} ăäťăă",
+ "conversation.with": "{names}",
"directory.federated": "ć˘çĽăŽéŁĺăă",
"directory.local": "{domain} ăŽăż",
"directory.new_arrivals": "ć°çé ",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "ăŚăźăśăźč¨ĺŽ",
"navigation_bar.public_timeline": "éŁĺăżă¤ă ăŠă¤ăł",
"navigation_bar.security": "ăťăăĽăŞăăŁ",
- "notification.and_n_others": "ă¨ăăăŽäť {count, plural, one {#} other {#}}",
+ "notification.and_n_others": "ă¨ăäť {count} äťś",
"notification.favourite": "{name}ăăăăăŞăăŽăăĽăźăăăć°ăŤĺ ĽăăŤçťé˛ăăžăă",
"notification.follow": "{name}ăăăŤăăŠăăźăăăžăă",
"notification.mention": "{name}ăăăăăŞăăŤčżäżĄăăžăă",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index cd09acfb459..83dba6bd3a2 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "Door nu te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?",
"confirmations.unfollow.confirm": "Ontvolgen",
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "Gesprek verwijderen",
+ "conversation.mark_as_read": "Als gelezen markeren",
+ "conversation.open": "Gesprek tonen",
+ "conversation.with": "Met {names}",
"directory.federated": "Fediverse (wat bekend is)",
"directory.local": "Alleen {domain}",
"directory.new_arrivals": "Nieuwe accounts",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index e1e7e2cd122..b35d19deeaf 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -16,7 +16,7 @@
"account.follows.empty": "Esse usuĂĄrio nĂŁo segue ninguĂŠm no momento.",
"account.follows_you": "Segue vocĂŞ",
"account.hide_reblogs": "Esconder compartilhamentos de @{name}",
- "account.last_status": "Last active",
+ "account.last_status": "Ăltima atividade",
"account.link_verified_on": "A posse desse link foi verificada em {date}",
"account.locked_info": "Essa conta estå trancada. Se você a seguir sua solicitação serå revisada manualmente.",
"account.media": "MĂdia",
@@ -53,7 +53,7 @@
"column.blocks": "UsuĂĄrios bloqueados",
"column.community": "Local",
"column.direct": "Mensagens diretas",
- "column.directory": "Browse profiles",
+ "column.directory": "Explorar perfis",
"column.domain_blocks": "DomĂnios escondidos",
"column.favourites": "Favoritos",
"column.follow_requests": "Seguidores pendentes",
@@ -63,7 +63,7 @@
"column.notifications": "Notificaçþes",
"column.pins": "Postagens fixadas",
"column.public": "Global",
- "column.status": "Toot",
+ "column.status": "Publicar",
"column_back_button.label": "Voltar",
"column_header.hide_settings": "Esconder configuraçþes",
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
@@ -101,8 +101,8 @@
"confirmations.delete_list.message": "VocĂŞ tem certeza que quer deletar permanentemente a lista?",
"confirmations.domain_block.confirm": "Esconder o domĂnio inteiro",
"confirmations.domain_block.message": "VocĂŞ quer mesmo bloquear {domain} inteiro? Na maioria dos casos, silenciar ou bloquear alguns usuĂĄrios ĂŠ o suficiente e o recomendado. VocĂŞ nĂŁo vai ver conteĂşdo desse domĂnio em nenhuma das timelines pĂşblicas ou nas suas notificaçþes. Seus seguidores desse domĂnio serĂŁo removidos.",
- "confirmations.logout.confirm": "Log out",
- "confirmations.logout.message": "Are you sure you want to log out?",
+ "confirmations.logout.confirm": "Sair",
+ "confirmations.logout.message": "Tem certeza que deseja encerrar a sessĂŁo?",
"confirmations.mute.confirm": "Silenciar",
"confirmations.mute.message": "VocĂŞ tem certeza de que quer silenciar {name}?",
"confirmations.redraft.confirm": "Apagar & usar como rascunho",
@@ -113,11 +113,11 @@
"confirmations.unfollow.message": "VocĂŞ tem certeza de que quer deixar de seguir {name}?",
"conversation.delete": "Excluir conversa",
"conversation.mark_as_read": "Marcar como lida",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.open": "Ver conversa",
+ "conversation.with": "Com {names}",
"directory.federated": "De fediverso conhecido",
"directory.local": "From {domain} only",
- "directory.new_arrivals": "New arrivals",
+ "directory.new_arrivals": "Acabaram de chegar",
"directory.recently_active": "Reverta esta propriedade para seu valor padrĂŁo",
"embed.instructions": "Incorpore esta postagem em seu site copiando o cĂłdigo abaixo.",
"embed.preview": "Aqui estĂĄ uma previsĂŁo de como ficarĂĄ:",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "BĂĄsico",
"home.column_settings.show_reblogs": "Mostrar compartilhamentos",
"home.column_settings.show_replies": "Mostrar as respostas",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Atualizar em tempo real",
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -240,7 +240,7 @@
"lists.new.title_placeholder": "Novo tĂtulo da lista",
"lists.search": "Procurar entre as pessoas que vocĂŞ segue",
"lists.subheading": "Suas listas",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# novo item} other {# novos items}}",
"loading_indicator.label": "Carregando...",
"media_gallery.toggle_visible": "Esconder/Mostrar",
"missing_indicator.label": "NĂŁo encontrado",
@@ -268,7 +268,7 @@
"navigation_bar.preferences": "PreferĂŞncias",
"navigation_bar.public_timeline": "Global",
"navigation_bar.security": "Segurança",
- "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.and_n_others": "and {count, plural, one {# outro} other {# outros}}",
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
"notification.follow": "{name} te seguiu",
"notification.mention": "{name} te mencionou",
@@ -334,7 +334,7 @@
"search_results.accounts": "Pessoas",
"search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Pesquisar toots por seu conteĂşdo nĂŁo estĂĄ habilitado neste servidor Mastodon.",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir interface de moderação para @{name}",
"status.admin_status": "Abrir esse status na interface de moderação",
@@ -389,18 +389,18 @@
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
- "trends.trending_now": "Trending now",
+ "trends.trending_now": "Em alta no momento",
"ui.beforeunload": "Seu rascunho serĂĄ perdido se vocĂŞ sair do Mastodon.",
"upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar mĂdia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Limite de envio de arquivos excedido.",
"upload_error.poll": "Envio de arquivos nĂŁo ĂŠ permitido com enquetes.",
"upload_form.description": "Descreva a imagem para deficientes visuais",
- "upload_form.edit": "Edit",
+ "upload_form.edit": "Editar",
"upload_form.undo": "Remover",
"upload_modal.analyzing_picture": "Analisando imagemâŚ",
- "upload_modal.apply": "Apply",
- "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
+ "upload_modal.apply": "Aplicar",
+ "upload_modal.description_placeholder": "Grave e cabisbaixo, o filho justo zelava pela querida mĂŁe doente",
"upload_modal.detect_text": "Detectar texto da imagem",
"upload_modal.edit_media": "Edit media",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 1e944768f70..04968e59a96 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -111,10 +111,10 @@
"confirmations.reply.message": "OdpovedanĂm akurĂĄt teraz prepĂĹĄeĹĄ sprĂĄvu, ktorĂş mĂĄĹĄ prĂĄve rozpĂsanĂş. Si si istĂ˝/ĂĄ, Ĺže chceĹĄ pokraÄovaĹĽ?",
"confirmations.unfollow.confirm": "Nesleduj",
"confirmations.unfollow.message": "Naozaj chceĹĄ prestaĹĽ sledovaĹĽ {name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
+ "conversation.delete": "VymaĹž konverzĂĄciu",
+ "conversation.mark_as_read": "OznaÄ za preÄĂtanĂŠ",
+ "conversation.open": "UkĂĄĹž konverzĂĄciu",
+ "conversation.with": "S {names}",
"directory.federated": "Zo znĂĄmĂŠho fedivesmĂru",
"directory.local": "Iba z {domain}",
"directory.new_arrivals": "NovĂŠ prĂchody",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index d7a4da197a2..fcd2d30168d 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -63,7 +63,7 @@
"column.notifications": "ŕ¸ŕ¸˛ŕ¸Łŕšŕ¸ŕšŕ¸ŕšŕ¸ŕ¸ˇŕ¸ŕ¸",
"column.pins": "ŕšŕ¸ŕ¸Şŕ¸ŕšŕ¸ŕ¸ľŕšŕ¸ŕ¸ąŕ¸ŕ¸Ťŕ¸Ąŕ¸¸ŕ¸",
"column.public": "ŕšŕ¸Şŕšŕ¸ŕšŕ¸§ŕ¸Ľŕ¸˛ŕ¸ŕ¸ľŕšŕ¸ŕ¸´ŕ¸ŕ¸ŕšŕ¸ŕ¸ŕ¸ąŕ¸ŕ¸ ายŕ¸ŕ¸ŕ¸",
- "column.status": "Toot",
+ "column.status": "ŕšŕ¸ŕ¸Şŕ¸ŕš",
"column_back_button.label": "ยŕšŕ¸ŕ¸ŕ¸ŕ¸Ľŕ¸ąŕ¸",
"column_header.hide_settings": "ŕ¸ŕšŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸ąŕšŕ¸ŕ¸ŕšŕ¸˛",
"column_header.moveLeft_settings": "ยŕšŕ¸˛ŕ¸˘ŕ¸ŕ¸ŕ¸Ľŕ¸ąŕ¸Ąŕ¸ŕšŕšŕ¸ŕ¸ŕ¸˛ŕ¸ŕ¸ŕšŕ¸˛ŕ¸˘",
@@ -111,12 +111,12 @@
"confirmations.reply.message": "ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸ŕ¸ŕ¸ŕ¸Ľŕ¸ąŕ¸ŕ¸ŕ¸ŕ¸ŕ¸ŕ¸ľŕšŕ¸ŕ¸°ŕšŕ¸ŕ¸ľŕ¸˘ŕ¸ŕ¸ŕ¸ąŕ¸ŕ¸ŕšŕ¸ŕ¸ŕ¸§ŕ¸˛ŕ¸Ąŕ¸ŕ¸ľŕšŕ¸ŕ¸¸ŕ¸ŕ¸ŕ¸łŕ¸Ľŕ¸ąŕ¸ŕšŕ¸ŕ¸ľŕ¸˘ŕ¸ ŕ¸ŕ¸¸ŕ¸ŕšŕ¸ŕšŕšŕ¸ŕ¸Ťŕ¸Łŕ¸ˇŕ¸ŕšŕ¸Ąŕšŕ¸§ŕšŕ¸˛ŕ¸ŕšŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸łŕšŕ¸ŕ¸´ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕšŕ¸?",
"confirmations.unfollow.confirm": "ŕšŕ¸Ľŕ¸´ŕ¸ŕ¸ŕ¸´ŕ¸ŕ¸ŕ¸˛ŕ¸Ą",
"confirmations.unfollow.message": "ŕ¸ŕ¸¸ŕ¸ŕšŕ¸ŕšŕšŕ¸ŕ¸Ťŕ¸Łŕ¸ˇŕ¸ŕšŕ¸Ąŕšŕ¸§ŕšŕ¸˛ŕ¸ŕšŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕšŕ¸Ľŕ¸´ŕ¸ŕ¸ŕ¸´ŕ¸ŕ¸ŕ¸˛ŕ¸Ą {name}?",
- "conversation.delete": "Delete conversation",
- "conversation.mark_as_read": "Mark as read",
- "conversation.open": "View conversation",
- "conversation.with": "With {names}",
- "directory.federated": "From known fediverse",
- "directory.local": "From {domain} only",
+ "conversation.delete": "฼ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸Şŕ¸ŕ¸ŕ¸ŕ¸˛",
+ "conversation.mark_as_read": "ŕ¸ŕ¸łŕšŕ¸ŕ¸Łŕ¸ˇŕšŕ¸ŕ¸ŕ¸Ťŕ¸Ąŕ¸˛ŕ¸˘ŕ¸§ŕšŕ¸˛ŕ¸ŕšŕ¸˛ŕ¸ŕšŕ¸Ľŕšŕ¸§",
+ "conversation.open": "ŕ¸ŕ¸šŕ¸ŕ¸˛ŕ¸Łŕ¸Şŕ¸ŕ¸ŕ¸ŕ¸˛",
+ "conversation.with": "ŕ¸ŕ¸ąŕ¸ {names}",
+ "directory.federated": "ŕ¸ŕ¸˛ŕ¸ŕšŕ¸ŕ¸ŕ¸´ŕšŕ¸§ŕ¸´ŕ¸Łŕšŕ¸Şŕ¸ŕ¸ľŕšŕ¸Łŕ¸šŕšŕ¸ŕ¸ąŕ¸",
+ "directory.local": "ŕ¸ŕ¸˛ŕ¸ {domain} ŕšŕ¸ŕšŕ¸˛ŕ¸ŕ¸ąŕšŕ¸",
"directory.new_arrivals": "New arrivals",
"directory.recently_active": "Recently active",
"embed.instructions": "ŕ¸ŕ¸ąŕ¸ŕ¸Şŕ¸ŕ¸˛ŕ¸ŕ¸°ŕ¸ŕ¸ľŕšŕšŕ¸ŕšŕ¸§ŕšŕ¸ŕšŕ¸ŕ¸ŕšŕ¸ŕ¸ŕ¸ŕ¸ŕ¸¸ŕ¸ŕšŕ¸ŕ¸˘ŕ¸ŕ¸ąŕ¸ŕ¸Ľŕ¸ŕ¸ŕšŕ¸ŕšŕ¸ŕ¸ŕšŕ¸˛ŕ¸ŕ¸Ľŕšŕ¸˛ŕ¸",
@@ -174,7 +174,7 @@
"home.column_settings.basic": "ŕ¸ŕ¸ˇŕšŕ¸ŕ¸ŕ¸˛ŕ¸",
"home.column_settings.show_reblogs": "ŕšŕ¸Şŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸ąŕ¸",
"home.column_settings.show_replies": "ŕšŕ¸Şŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸ŕ¸ŕ¸ŕ¸Ľŕ¸ąŕ¸",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "ŕ¸ŕ¸ąŕ¸ŕšŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸Ąŕšŕ¸§ŕ¸Ľŕ¸˛ŕ¸ŕ¸Łŕ¸´ŕ¸",
"intervals.full.days": "{number, plural, other {# วูŕ¸}}",
"intervals.full.hours": "{number, plural, other {# ŕ¸ŕ¸ąŕšŕ¸§ŕšŕ¸Ąŕ¸}}",
"intervals.full.minutes": "{number, plural, other {# ŕ¸ŕ¸˛ŕ¸ŕ¸ľ}}",
diff --git a/config/locales/activerecord.es.yml b/config/locales/activerecord.es.yml
index f40e6c36132..2fbf0ffd710 100644
--- a/config/locales/activerecord.es.yml
+++ b/config/locales/activerecord.es.yml
@@ -1,17 +1 @@
----
-es:
- activerecord:
- attributes:
- poll:
- expires_at: Vencimiento
- options: Opciones
- errors:
- models:
- account:
- attributes:
- username:
- invalid: sĂłlo letras, nĂşmeros y guiones bajos
- status:
- attributes:
- reblog:
- taken: del estado ya existe
+--- {}
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index e47bc6871f1..a725fa3497e 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -10,7 +10,7 @@ ar:
api: Ůا؏ŮŘŠ بع٠؏؊ اŮتءبŮŮات
apps: تءبŮŮات اŮŘŁŘŹŮز؊ اŮŮ ŘŮ ŮŮŘŠ
apps_platforms: ؼست؎د٠٠استŮŘŻŮŮ ŮŮ iOSŘ ŘŁŮŘŻŘąŮŮŘŻ ŮŘŁŮظ٠؊ ŘŁŘŽŘąŮ
- browse_directory: ŘŞŘľŮŘ ŘŻŮŮ٠اŮ٠ست؎د٠ŮŮ ŮاŮعز باŮ٠ؾاŮŘ
+ browse_directory: ŘŞŘľŮŘ ŘŻŮŮ٠اŮŘľŮŘات اŮتؚعŮŮŮŘŠ ŮŘľŮŮ٠بŘسب اŮŘĽŮت٠اŮ
browse_public_posts: ŘŞŘľŮŘ ŘŞŮاعŮا ٠باشعŮا Ů ŮŮ Ů ŮŘ´Ůعات ؚا٠؊ ŘšŮ٠٠استدŮŮ
contact: ŮŮŘŞŮاؾ٠٠ؚŮا
contact_missing: ŮŮ ŮŘŞŮ ŘŞŘšŮŮŮŮ
@@ -36,6 +36,9 @@ ar:
status_count_before: ŮŘ´ŘąŮا
tagline: اتبؚ أؾدŮا،٠ŮؾدŮŮات٠ŮاŮتش٠آ؎عŮŮ ŮŘŁŘŽŘąŮات
terms: Ř´ŘąŮء اŮŘŽŘŻŮ ŘŠ
+ unavailable_content: Ů ŘŘŞŮŮ ŘşŮŘą Ů ŘŞŮŮŘą
+ unavailable_content_description:
+ reason: 'اŮسبب:'
user_count_after:
few: ٠ست؎د٠ŮŮ
many: ٠ست؎د٠ŮŮ
@@ -82,7 +85,7 @@ ar:
admin: اŮŮ ŘŻŮŘą
bot: ŘąŮبŮŘŞ
moderator: Ů ŮŘ´ŘąŮŮ
- unavailable: اŮŘساب ŘşŮŘą Ů ŘŞŮŮŘą
+ unavailable: اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ ŘşŮŘą Ů ŘŞŮŮع؊
unfollow: ŘĽŮغاإ اŮ٠تابؚ؊
admin:
account_actions:
@@ -154,12 +157,12 @@ ar:
outbox_url: عابء ŘľŮŘŻŮ٠اŮؾادع
pending: Ů٠اŮتظاع اŮ٠عا؏ؚ؊
perform_full_suspension: ŘŞŘšŮŮ٠اŮŘساب
- profile_url: عابء اŮŮ Ů٠اŮŘ´ŘŽŘľŮ
+ profile_url: عابء اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ
promote: ŘŞŘąŮŮŘŠ
protocol: اŮبعŮŘŞŮŮŮŮ
public: ؚ٠ŮŮ Ů
push_subscription_expires: اŮŘŞŮاإ اŮاشتعا٠âPuSHâ
- redownload: ŘŞŘŘŻŮŘŤ اŮŘľŮŘŘŠ اŮŘ´ŘŽŘľŮŘŠ
+ redownload: اŮؚش اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ
reject: اعŮŘś
reject_all: اعŮŘś اŮŮŮ
remove_avatar: Řذ٠اŮŘľŮع؊ اŮع٠زŮŘŠ
@@ -264,7 +267,7 @@ ar:
config: اŮؼؚداد
feature_deletions: اŮŘسابات اŮŮ ŘŘ°ŮŮŘŠ
feature_invites: ŘąŮابء اŮŘŻŘšŮات
- feature_profile_directory: ŘŻŮŮ٠اŮŘسابات
+ feature_profile_directory: ŘŻŮŮ٠اŮŮ ŮŮات اŮتؚعŮŮŮŘŠ
feature_registrations: اŮتس؏ŮŮات
feature_relay: اŮŮ ŮŘąŘŮ٠اŮŮŘŻŮعاŮŮ
feature_spam_check: Ů ŮاŮŘ Ř§ŮبعŮŘŻ اŮ٠زؚ؏
@@ -294,7 +297,7 @@ ar:
create: ŘĽŮشاإ Řظع
hint: ŮŮ ŘŞŮ ŮŘš ŮŘŞŮŘŠ اŮ٠؏ا٠ؼŮشاإ ؼد؎اŮات Řساب ŮŮ Ůاؚد؊ اŮبŮاŮات Ř ŮŮŮŮŮا ستءب٠ءع٠اŮؼشعا٠اŮŮ ŘŘŻŘŻŘŠ بأ؍ع ع؏ؚ٠ŮŘŞŮŮا،٠ؚŮŮ Ůذ٠اŮŘسابات.
severity:
- desc_html: "Silence ŘłŮ؏ؚ٠٠شاعŮات اŮŘساب ŘşŮŘą ٠ع،ŮŘŠ ŮŘŁŮ Ř´ŘŽŘľ Ůا ŮتبؚŮا. Suspend ŘłŮزŮŮ ŮŮ Ů ŘŘŞŮ٠اŮŘساب ŮŮسا،ء٠ŮبŮاŮات Ů ŮŮ٠اŮŘ´ŘŽŘľŮ. Use None ؼذا ŮŮŘŞ ŘŞŘąŮŘŻ ŮŮء ŘąŮŘś Ů ŮŮات اŮŮسا،ء."
+ desc_html: "Silence ŘłŮ؏ؚ٠٠شاعŮات اŮŘساب ŘşŮŘą ٠ع،ŮŘŠ ŮŘŁŮ Ř´ŘŽŘľ Ůا ŮتبؚŮا. Suspend ŘłŮزŮŮ ŮŮ Ů ŘŘŞŮ٠اŮŘساب ŮŮسا،ء٠ŮبŮاŮات Ů ŮŮ٠اŮتؚعŮŮŮ. Use None ؼذا ŮŮŘŞ ŘŞŘąŮŘŻ ŮŮء ŘąŮŘś Ů ŮŮات اŮŮسا،ء."
noop: Ůا Ř´ŮŘĄ
silence: ŮŘŞŮ
suspend: ŘŞŘšŮŮŮ
@@ -437,7 +440,7 @@ ar:
title: ؼظŮاع اŮŘľŮŘą اŮŘساس؊ ŮŮ Ů ŮؚاŮŮات ŘŁŮب٠غعاŮ
profile_directory:
desc_html: اŮŘłŮ Ř§Ř ŮŮ٠ست؎د٠Ů٠اŮŮش٠ؚ٠ŘساباتŮŮ
- title: ŘŞŮŘšŮ٠س؏٠اŮŮ ŮŮات اŮŘ´ŘŽŘľŮŘŠ
+ title: ŘŞŮŘšŮŮ ŘŻŮŮ٠اŮŘľŮŘات اŮتؚعŮŮŮŘŠ
registrations:
closed_message:
desc_html: Ůت٠ؚع؜٠ؚŮ٠اŮŘľŮŘŘŠ اŮع،ŮŘłŮŘŠ ŘšŮد٠ا ŮŘŞŮ ŘşŮ٠تس؏Ů٠اŮŘسابات اŮŘŹŘŻŮŘŻŘŠ. ŮŮ ŮŮŮ٠ؼست؎دا٠ؚŮا٠ات اŮŘŁŮŘŞŘ´ ŘŞŮ ŘŁŮ ŘŁŮ HTML
@@ -497,7 +500,14 @@ ar:
with_media: ŘŞŘŘŞŮŮ ŘšŮŮ Ůسا،ء
tags:
context: اŮŘłŮاŮ
+ directory: ŮŮ ŘŻŮŮŮ Řسابات اŮ٠ست؎د٠ŮŮ
in_directory: "%{count} Ů٠س؏٠Řسابات اŮ٠ست؎د٠ŮŮ"
+ last_active: آ؎ع Ůشاء
+ most_popular: اŮŘŁŮŘŤŘą شؚبŮŘŠ
+ most_recent: اŮŘŁŘŘŻŘŤ
+ name: اŮŮŘłŮ
+ review: ŘاŮŘŠ اŮ٠عا؏ؚ؊
+ reviewed: Ů Ůعا؏ŮŘš
title: اŮŮŘłŮŮ
trending_right_now: ٠تداŮ٠اŮŮŘظ؊
unique_uses_today: "%{count} Ů ŮŘ´Ůعات اŮŮŮŮ "
@@ -527,7 +537,7 @@ ar:
notification_preferences: تؚدŮŮ ŘŽŮاعات اŮبعŮŘŻ اŮŘĽŮŮŘŞŘąŮŮŮ
salutation: "%{name}Ř"
settings: 'ŘŞŘşŮŮŘą ŘŞŮŘśŮŮات اŮبعŮŘŻ اŮŘĽŮŮŘŞŘąŮŮŮ: %{link}'
- view_profile: ؚع؜ اŮŮ Ů٠اŮŘ´ŘŽŘľŮ
+ view_profile: اؚع؜ اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ
view_status: ؚع؜ اŮŮ ŮŘ´ŮŘą
applications:
created: ŘŞŮ ŘĽŮشاإ اŮتءبŮ٠بŮ؏اŘ
@@ -577,9 +587,13 @@ ar:
following: 'Ů ŘąŘŮ! ŘŁŮŘŞ اŮآ٠تتبؚ:'
post_follow:
close: ŘŁŮ ŮŮ ŮŮŮ ŘĽŘşŮا٠Ůذ٠اŮŮاŮŘ°ŘŠ.
- return: ؚع؜ اŮŮ Ů٠اŮش؎ؾ٠ŮŮ٠ست؎دŮ
+ return: اظŮŘą اŮŮ Ů٠اŮتؚعŮŮŮ ŮŮ٠ست؎دŮ
web: Ůاؾ٠ؼŮ٠اŮŮŮب
title: ؼتباؚ %{acct}
+ challenge:
+ confirm: ŮاؾŮ
+ invalid_password: اŮŮŮŮ ŘŠ اŮسعŮŘŠ ؎اء،؊
+ prompt: ŘŁŮŮŮŘŻ اŮŮŮŮ ŘŠ اŮسعŮŘŠ ŮŮŮ ŮاؾŮŘŠ
datetime:
distance_in_words:
about_x_hours: "%{count}سا"
@@ -598,8 +612,10 @@ ar:
confirm_password: Ů٠بؼد؎ا٠ŮŮ٠ت٠اŮسعŮŘŠ اŮŘاŮŮŘŠ ŮŮŘŞŘŮŮ Ů Ů ŮŮŮŘŞŮ
proceed: ŘŘ°Ů Řساب
success_msg: ŘŞŮ ŘŘ°Ů Řساب٠بŮ؏اŘ
+ warning:
+ username_unavailable: ŘłŮبŮ٠اس٠اŮ٠ست؎د٠اŮ؎اؾ ب٠غŮŘą Ů ŘŞŮŮŘą
directories:
- directory: ŘłŮŘŹŮ٠اŮŘسابات
+ directory: ŘłŮŘŹŮ٠اŮŘľŮŘات اŮتؚعŮŮŮŘŠ
explanation: استŮش٠٠ست؎دŮŮ Ů٠آ؎عŮŮ Řسب اŮŮ Ůا؜ŮŘš اŮŘŞŮ ŘŞŮŮ ŮŮ
explore_mastodon: استŮŘ´Ů %{title}
domain_validator:
@@ -637,7 +653,7 @@ ar:
mutes: ŮŮ٠ت٠بŮŘŞŮ
storage: ذاŮع؊ اŮت؎زŮŮ
featured_tags:
- add_new: ؼ؜اŮŘŠ ŮاŘŘŻ
+ add_new: أ؜٠ŮاŘŘŻŮا ŘŹŘŻŮدا
filters:
contexts:
home: اŮŘŽŮء اŮز٠Ů٠اŮع،ŮŘłŮ
@@ -733,6 +749,15 @@ ar:
too_many: Ůا ŮŮ ŮŮ ŘĽŘąŮا٠أŮŘŤŘą Ů Ů 4 Ů ŮŮات
migrations:
acct: username@domain ŮŮŘساب اŮŘŹŘŻŮŘŻ
+ cancel: ŘŁŮغ٠اŮŘŞŮŘŹŮŮ
+ cancelled_msg: ŘŞŮ ŘĽŮغاإ اŮŘŞŮŘŹŮ٠بŮ؏اŘ.
+ errors:
+ not_found: تؚذع اŮؚ؍ŮŘą ŘšŮŮŮ
+ followers_count: اŮ٠تابŮŘšŮŮ ŘšŮŘŻ اŮŘĽŮŘŞŮاŮ
+ incoming_migrations: اŮاŮŘŞŮا٠٠ŮŮ Řساب آ؎ع
+ past_migrations: اŮŘŞŮŘŹŮعات اŮسابŮŘŠ
+ proceed_with_move: اŮŮ٠٠شاعŮŮŮŮ
+ redirecting_to: Řساب٠٠ŮŘŹŮŮŮ ŘĽŮŮ %{acct}.
moderation:
title: اŮؼشعاŮ
notification_mailer:
@@ -882,7 +907,7 @@ ar:
back: ŘšŮŘŻŘŠ ŘĽŮ٠٠استدŮŮ
delete: Řذ٠اŮŘسابات
development: اŮتءŮŮŘą
- edit_profile: تؚدŮ٠اŮŮ Ů٠اŮŘ´ŘŽŘľŮ
+ edit_profile: ؚدŮ٠اŮŘľŮŘŘŠ اŮتؚعŮŮŮŘŠ
export: تؾدŮŘą اŮبŮاŮات
featured_tags: اŮŮŘłŮ٠اŮشا،ؚ؊
identity_proofs: ŘŻŮا،٠اŮŮŮŮŘŠ
@@ -891,7 +916,7 @@ ar:
migrate: ŘŞŮŘŹŮŘą اŮŘساب
notifications: اŮؼ؎ءاعات
preferences: اŮŘŞŮŘśŮŮات
- profile: اŮŮ Ů٠اŮŘ´ŘŽŘľŮ
+ profile: اŮŮ Ů٠اŮتؚعŮŮŮ
relationships: اŮ٠تابŮŘšŮŮ ŮاŮ٠تابŮŘšŮŮ
two_factor_authentication: اŮŮ ŮؾادŮŘŠ ب؎ŮءŮŮŘŞŮŮŮŮ
statuses:
@@ -929,6 +954,13 @@ ar:
private: Ůا ŮŮ Ů٠تدبŮŘł تبŮŮŮ ŮŮ ŮŮŮŘ´Řą ŮŮؚا٠؊
reblog: Ůا ŮŮ Ů٠ت؍بŮŘŞ ŘŞŘąŮŮŘŠ
poll:
+ total_votes:
+ few: "%{count} ŘŁŘľŮات"
+ many: "%{count} ŘŁŘľŮات"
+ one: ŘľŮŘŞ ŮاŘŘŻ %{count}
+ other: "%{count} ŘľŮتا"
+ two: ŘľŮŘŞŮŮ %{count}
+ zero: بدŮŮ ŘľŮŘŞ %{count}
vote: ŘľŮŮŘŞ
show_more: أظŮŘą اŮ٠زŮŘŻ
sign_in_to_participate: Ů٠بتس؏Ů٠اŮŘŻŘŽŮŮ ŮŮ٠شاعŮŘŠ ŮŮ Ůذ٠اŮŮ Řاد؍؊
@@ -983,8 +1015,8 @@ ar:
silence: اŮŘساب Ů ŘŘŻŮŘŻ
suspend: اŮŘساب Ů ŮŘšŮŮŮŮ
welcome:
- edit_profile_action: ŘŞŮŮŘŚŘŠ اŮŮ Ů٠اŮŘ´ŘŽŘľŮ
- edit_profile_step: ŮŮŮ ŮŮŮ¡ŮŮ ŘŞŘŽŘľŮŘľ Ů ŮŮ٠اŮش؎ؾ٠ؚ٠ءعŮŮ ŘŞŘŮ ŮŮ ŘľŮع؊ ع٠زŮŘŠ ŮعأسŮŘŠ ٠بتؚدŮ٠اس٠Ů¡Ů٠اŮŘšŮŮŮ ŮŘŁŮŘŤŘą. ٠ؼ٠أعدت¡ت٠٠ؚاŮŮŘŠ اŮ٠تابŮŘšŮ٠٠اŮ٠تابؚات اŮŘŹŮŘŻŘŻ ŮبŮ٠اŮŘłŮ Ř§Ř ŮŮ٠¡٠ب٠تابŮؚت٠ŮŮŮ ŮŮŮ¡ŮŮ ŘŞŘŁŮ ŮŮ ŘسابŮ¡ŮŮ.
+ edit_profile_action: ŘŞŮŮŘŚŘŠ اŮŮ Ů٠اŮتؚعŮŮŮ
+ edit_profile_step: ŮŮŮ ŮŮŮ¡ŮŮ ŘŞŘŽŘľŮŘľ ŘľŮŘت٠اŮتؚعŮŮŮŘŠ ؚ٠ءعŮŮ ŘŞŘŮ ŮŮ ŘľŮع؊ ع٠زŮŘŠ ŮعأسŮŘŠ ٠بتؚدŮ٠اس٠Ů¡Ů٠اŮŘšŮŮŮ ŮŘŁŮŘŤŘą. ٠ؼ٠أعدت¡ت٠٠ؚاŮŮŘŠ اŮ٠تابŮŘšŮ٠٠اŮ٠تابؚات اŮŘŹŮŘŻŘŻ ŮبŮ٠اŮŘłŮ Ř§Ř ŮŮ٠¡٠ب٠تابŮؚت٠ŮŮŮ ŮŮŮ¡ŮŮ ŘŞŘŁŮ ŮŮ ŘسابŮ¡ŮŮ.
explanation: Ůا Ů٠بؚ؜ اŮŮŘľŘ§ŘŚŘ Ůب٠بداŮŘŠ اŮاست؎داŮ
final_action: اشعŮŘš Ů٠اŮŮŘ´Řą
final_step: |-
diff --git a/config/locales/co.yml b/config/locales/co.yml
index ac558e64ed1..f1733ad2ba5 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -35,6 +35,13 @@ co:
status_count_before: chĂŹ anu pubblicatu
tagline: Siguità amichi è scopre ancu di piÚ altri
terms: Cundizione di u serviziu
+ unavailable_content: Cuntinutu micca dispunibule
+ unavailable_content_description:
+ reason: 'Ragione:'
+ rejecting_media: I fugliali media da stu servore Ún saranu micca arregistrati è e vignette Ún saranu micca affissate, duverete cliccà manualmente per accede à l'altru servore è vedeli.
+ silenced: I statuti da stu servore Ăšn saranu mai visti tranne nant'a vostra pagina d'accolta s'e voi siguitate l'autore.
+ suspended: Ăn puderete micca siguitĂ qualsiasi nant'Ă stu servore, i dati versu o da quallĂ Ăšn saranu mai accessi, scambiati o arregistrati.
+ unavailable_content_html: Mastodon vi parmette in generale di vede u cuntinutu è interagisce cÚ l'utilizatori di tutti l'altri servori di u fediversu. Quessi sò l'eccezzione fatte nant'à stu servore in particulare.
user_count_after:
one: utilizatore
other: utilizatori
@@ -547,6 +554,12 @@ co:
new_trending_tag:
body: 'U hashtag #%{name} hè in e tendenze oghji, mĂ Ăšn hè micca verificatu. Ăn sarĂ micca mustratu Ă u pubblicu eccettu s''ellu hè auturizatu, o pudete ancu salvĂ u furmulariu cusĂŹ per Ăšn mai piĂš avè Ă ne sente parlĂ .'
subject: Novu hashtag in attesa di rivista nant'Ă %{instance} (#%{name})
+ aliases:
+ add_new: CreĂ un pseudonimu
+ created_msg: Novu pseudonimu creatu. Pudete avĂ iniziĂ u trasferimentu da u vechju contu.
+ deleted_msg: U pseudonimu hè statu sguassatu. Ăn si puderĂ piĂš migrĂ da questu contu Ă quellu.
+ hint_html: Per traslucà da un altru contu à questu, quÏ pudete creà un pseudonimu o "alias", riquisitu per trasferÏ l'abbunati da u vechju contu à u novu. St'azzione sola Ún face nunda è pò esse annullata senza prublemi. A migrazione hè principiata dapoi u vechju contu.
+ remove: SguassĂ u pseudonimu
appearance:
advanced_web_interface: Interfaccia web avanzata
advanced_web_interface_hint: 'S''è voi vulete fà usu di a larghezza sana di u vostru screnu, l''interfaccia web avanzata vi permette di cunfigurà parechje culonne sfarente per vede tutta l''infurmazione chÏ vulete vede in listessu tempu: Accolta, nutificazione, linea pubblica, è tutti l''hashtag è liste chÏ vulete.'
@@ -606,6 +619,7 @@ co:
confirming: In attesa di a cumplezzione di a cunfirmazione di l'e-mail.
functional: U vostru contu hè uperaziunale.
pending: A vostra dumanda hè in attesa di rivista da a squadra di muderazione. Quessa pò piglià un certu tempu. Avete da riceve un'e-mail s'ella hè appruvata.
+ redirecting_to: U vostru contu hè inattivu perchè riindirizza versu %{acct}.
trouble_logging_in: DifficultĂ per cunnettavi?
authorize_follow:
already_following: Site digià abbunatu¡a à stu contu
@@ -795,6 +809,31 @@ co:
too_many: Ăn si pò micca aghjunghje piĂš di 4 fugliali
migrations:
acct: cugnome@duminiu di u novu contu
+ cancel: AnnullĂ ridirezzione
+ cancel_explanation: L'annullazione di a ridirezzione hà da riattivà stu contu, mà Ún si puderà micca ricuperà l'abbunati chÏ sò digià stati trasferriti à l'altru contu.
+ cancelled_msg: Ridirezzione annullata.
+ errors:
+ already_moved: hè digià u contu induve avede traslucatu
+ missing_also_known_as: Ăšn fĂ micca riferenza Ă stu contu
+ move_to_self: Ún pò micca esse u contu attuale
+ not_found: Ún hè micca statu trovu
+ on_cooldown: Perioda di ricuperazione
+ followers_count: Abbunati Ă u mumentu di trasferimentu
+ incoming_migrations: TraslucĂ da un'altru contu
+ incoming_migrations_html: Per spustĂ da stu contu Ă un'altru, primu duvete creĂ un pseudonimu di contu.
+ moved_msg: Avà u vostru contu riindirizza versu %{acct} è i vostri abbunati sò in corsu di trasferimentu.
+ not_redirecting: U vostru contu Ăšn riindirizza micca ancu versu un'altru contu.
+ on_cooldown: Avede digiĂ migratu u vostru contu. Sta funzionne sarĂ torna dispunibule in %{count} ghjorni.
+ past_migrations: Anziane migrazione
+ proceed_with_move: TrasferĂŹ l'abbunati
+ redirecting_to: U vostru contu riindirizza versu Ă %{acct}.
+ warning:
+ backreference_required: U novu contu deve prima esse cunfiguratu per fĂ rifirenza cĂš un pseudonimu Ă quessu contu
+ before: 'Nanz''Ă cuntinuĂ , leghjete ste note attentamente:'
+ cooldown: Dopu à a traslucazione, c'hè una perioda di ricuperazione in quella Ún puderete micca cambià torna di contu
+ disabled_account: U contu attuale Ún puderà piÚ esse utilizatu dop'à st'azzione. Però, puderete accede à a spurtazione di dati o riattivà u contu.
+ followers: St'azzione hĂ da spiazzĂ tutti l'abbunati di u contu attuale nant'Ă u novu contu
+ other_data: L'altri dati Ăšn saranu micca autumaticamente trasferiti
moderation:
title: Muderazione
notification_mailer:
@@ -939,6 +978,7 @@ co:
settings:
account: Contu
account_settings: Parametri di u contu
+ aliases: Pseudonimi di contu
appearance: Apparenza
authorized_apps: Applicazione auturizate
back: Ritornu nantâĂ Mastodon
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index add1c78d508..21b34979967 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -250,8 +250,10 @@ cs:
disabled_msg: Emoji bylo ĂşspÄĹĄnÄ zakĂĄzĂĄno
emoji: Emoji
enable: Povolit
+ enabled: Povoleno
enabled_msg: Emoji bylo ĂşspÄĹĄnÄ povoleno
image_hint: PNG aĹž do 50 KB
+ list: UvĂŠst
listed: Uvedeno
new:
title: PĹidat novĂŠ vlastnĂ emoji
@@ -260,6 +262,7 @@ cs:
shortcode_hint: AlespoĹ 2 znaky, pouze alfanumerickĂŠ znaky a podtrĹžĂtka
title: VlastnĂ emoji
uncategorized: NezaĹazenĂĄ
+ unlist: NeuvĂŠst
unlisted: Neuvedeno
update_failed_msg: Nebylo moĹžnĂŠ aktualizovat toto emoji
updated_msg: Emoji ĂşspÄĹĄnÄ aktualizovĂĄno!
@@ -395,6 +398,7 @@ cs:
pending: ÄekĂĄm na souhlas mostu
save_and_enable: UloĹžit a povolit
setup: Nastavit pĹipojenĂ k mostu
+ signatures_not_enabled: Mosty nebudou fungovat sprĂĄvnÄ, dokud je povolen bezpeÄnĂ˝ reĹžim nebo reĹžim bĂlĂŠ listiny
status: Stav
title: Mosty
report_notes:
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 2027a7316b8..24bed1060ea 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -21,6 +21,9 @@ cy:
generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith
get_apps: Rhowch gynnig ar ap dyfeis symudol
hosted_on: Mastodon wedi ei weinyddu ar %{domain}
+ instance_actor_flash: |
+ Mae'r cyfrif hwn yn actor rhithwir a ddefnyddir i gynrychioli'r gweinydd ei hun ac nid unrhyw ddefnyddiwr unigol.
+ Fe'i defnyddir at ddibenion ffederasiwn ac ni ddylid ei rwystro oni bai eich bod am rwystro'r achos cyfan, ac os felly dylech ddefnyddio bloc parth.
learn_more: Dysu mwy
privacy_policy: Polisi preifatrwydd
see_whats_happening: Gweld beth sy'n digwydd
@@ -41,6 +44,7 @@ cy:
reason: 'Rheswm:'
rejecting_media: Ni fydd ffeiliau cyfryngau o'r gweinydd hwn yn cael eu prosesu ac ni fydd unrhyw fawd yn cael eu harddangos, sy'n gofyn am glicio â llaw i'r gweinydd arall.
silenced: Ni fydd swyddi o'r gweinydd hwn yn ymddangos yn unman heblaw eich porthiant cartref os dilynwch yr awdur.
+ suspended: Ni fyddwch yn gallu dilyn unrhyw un o'r gweinydd hwn, ac ni fydd unrhyw ddata ohono'n cael ei brosesu na'i storio, ac ni chyfnewidir unrhyw ddata.
unavailable_content_html: Yn gyffredinol, mae Mastodon yn caniatåu ichi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.
user_count_after:
few: defnyddwyr
@@ -53,6 +57,8 @@ cy:
what_is_mastodon: Beth yw Mastodon?
accounts:
choices_html: 'Dewisiadau %{name}:'
+ endorsements_hint: Gallwch gymeradwyo pobl rydych chi'n eu dilyn o'r rhyngwyneb gwe, a byddan nhw'n ymddangos yma.
+ featured_tags_hint: Gallwch ychwanegu hashnodau penodol a fydd yn cael eu harddangos yma.
follow: Dilynwch
followers:
few: Dilynwyr
@@ -203,6 +209,7 @@ cy:
username: Enw defnyddiwr
warn: Rhybuddio
web: Gwe
+ whitelisted: Rhestredig wen
action_logs:
actions:
assigned_to_self_report: Aseiniodd %{name} adroddiad %{target} i'w hunan
@@ -238,6 +245,7 @@ cy:
deleted_status: "(statws wedi ei ddileu)"
title: Log archwilio
custom_emojis:
+ assign_category: Neilltuo categori
by_domain: Parth
copied_msg: Llwyddwyd i greu copi lleol o'r emoji
copy: CopĂŻo
@@ -265,6 +273,7 @@ cy:
updated_msg: Llwyddwyd i ddiweddaru'r emoji!
upload: Uwchlwytho
dashboard:
+ authorized_fetch_mode: Modd nĂ´l awdurdodedig
backlog: tasgau heb eu cwblhau
config: Cyfluniad
feature_deletions: Dileadau cyfrif
@@ -290,11 +299,18 @@ cy:
week_interactions: ymadweithiau yr wythnos hon
week_users_active: gweithredol yr wythnos hon
week_users_new: defnyddwyr yr wythnos hon
+ whitelist_mode: Modd rhestr wen
+ domain_allows:
+ add_new: Rhestrwch parth
+ created_msg: Rhestrwyd wen parth yn llwyddiannus
+ destroyed_msg: Mae parth wedi'i dynnu o'r rhestr wen
+ undo: Tynnwch o'r rhestr wen
domain_blocks:
add_new: Ychwanegu bloc parth newydd
created_msg: Mae'r bloc parth nawr yn cael ei brosesu
destroyed_msg: Mae'r bloc parth wedi ei ddadwneud
domain: Parth
+ edit: Golygu bloc parth
existing_domain_block_html: Rydych yn barod wedi gosod cyfyngau fwy llym ar %{name}, mae rhaid i chi ei ddadblocio yn gyntaf.
new:
create: Creu bloc
@@ -330,6 +346,7 @@ cy:
title: Dadwneud blocio parth ar gyfer %{domain}
undo: Dadwneud
undo: Dadwneud bloc parth
+ view: Gweld bloc parth
email_domain_blocks:
add_new: Ychwanegu
created_msg: Llwyddwyd i ychwanegu parth e-bost i'r gosbrestr
@@ -501,6 +518,7 @@ cy:
delete: Dileu
nsfw_off: Marcio fel nad yw'n sensitif
nsfw_on: Marcio'n sensitif
+ deleted: DilĂŤwyd
failed_to_execute: Methwyd a gweithredu
media:
title: Cyfryngau
@@ -514,6 +532,7 @@ cy:
name: Hashnod
reviewed: Wedi'i adolygu
title: Hashnodau
+ trending_right_now: Yn tueddu nawr
unreviewed: Heb ei adolygu
title: Gweinyddiaeth
warning_presets:
@@ -574,6 +593,14 @@ cy:
reset_password: Ailosod cyfrinair
security: Diogelwch
set_new_password: Gosod cyfrinair newydd
+ setup:
+ title: Gosodiad
+ status:
+ account_status: Statws cyfrif
+ confirming: Aros i gadarnhad e-bost gael ei gwblhau.
+ functional: Mae eich cyfrif yn gwbl weithredol.
+ pending: Mae'ch cais yn aros i gael ei adolygu gan ein staff. Gall hyn gymryd cryn amser. Byddwch yn derbyn e-bost os caiff eich cais ei gymeradwyo.
+ redirecting_to: Mae eich cyfrif yn anactif oherwydd ei fod ar hyn o bryd yn ailgyfeirio i %{acct}.
trouble_logging_in: Trafferdd mewngofnodi?
authorize_follow:
already_following: Yr ydych yn dilyn y cyfrif hwn yn barod
@@ -586,6 +613,11 @@ cy:
return: Dangos proffil y defnyddiwr
web: I'r wĂŞ
title: Dilyn %{acct}
+ challenge:
+ confirm: Parhau
+ hint_html: "Awgrym: Ni fyddwn yn gofyn i chi am eich cyfrinair eto am yr awr nesaf."
+ invalid_password: Cyfrinair annilys
+ prompt: Cadarnhewch gyfrinair i barhau
datetime:
distance_in_words:
about_x_hours: "%{count}awr"
@@ -601,13 +633,22 @@ cy:
x_months: "%{count}mis"
x_seconds: "%{count}eiliad"
deletes:
+ challenge_not_passed: Nid oedd y wybodaeth a nodoch yn gywir
confirm_password: Mewnbynnwch eich cyfrinair presennol i gadarnhau mai chi sydd yno
+ confirm_username: Rhowch eich enw defnyddiwr i gadarnhau'r weithdrefn
proceed: Dileu cyfrif
success_msg: Llwyddwyd i ddileu eich cyfrif
+ warning:
+ before: 'Cyn bwrw ymlaen, darllenwch y nodiadau hyn yn ofalus:'
+ irreversible: Ni fyddwch yn gallu adfer nac ail-greu eich cyfrif
+ username_available: Bydd eich enw defnyddiwr ar gael eto
+ username_unavailable: Ni fydd eich enw defnyddiwr ar gael
directories:
directory: Cyfeiriadur proffil
explanation: Darganfod defnyddwyr yn seiliedig ar eu diddordebau
explore_mastodon: Archwilio %{title}
+ domain_validator:
+ invalid_domain: ddim yn enw parth dilys
errors:
'400': The request you submitted was invalid or malformed.
'403': Nid oes gennych ganiatad i weld y dudalen hon.
@@ -665,6 +706,7 @@ cy:
developers: Datblygwyr
more: MwyâŚ
resources: Adnoddau
+ trending_now: Yn tueddu nawr
generic:
all: Popeth
changes_saved_msg: Llwyddwyd i gadw y newidiadau!
@@ -748,8 +790,12 @@ cy:
too_many: Ni ellir ychwanegu mwy na 4 dogfen
migrations:
acct: enwdefnyddiwr@parth y cyfrif newydd
+ cancel: Canslo ailgyfeirio
errors:
not_found: ni ellid dod o hyd iddo
+ past_migrations: Ymfudiadau yn y gorffennol
+ warning:
+ before: 'Cyn bwrw ymlaen, darllenwch y nodiadau hyn yn ofalus:'
moderation:
title: Goruwchwyliad
notification_mailer:
@@ -904,6 +950,7 @@ cy:
settings:
account: Cyfrif
account_settings: Gosodiadau'r cyfrif
+ aliases: Aliasau cyfrif
appearance: Arddangosiad
authorized_apps: Apiau awdurdodedig
back: Yn Ă´l i Mastodon
@@ -978,6 +1025,8 @@ cy:
pinned: TĹľt wedi'i binio
reblogged: hybwyd
sensitive_content: Cynnwys sensitif
+ tags:
+ does_not_match_previous_name: ddim yn cyfateb i'r enw blaenorol
terms:
body_html: |
Polisi Preifatrwydd
@@ -1095,7 +1144,9 @@ cy:
disable: Er bod eich cyfrif wedi'i rewi, mae eich data cyfrif yn parhau i fod yn gyfan, ond ni allwch chi berfformio unrhyw gamau nes ei ddatgloi.
silence: Pan mae eich cyfrif yn gyfyngiedig, dim ond pobl sydd yn barod yn eich dilyn yn gweld eich tĹľtiau ar y gweinydd hon, a efallai byddwch yn cael eich tynnu o restrau cyhoeddus. Er hyn, gall eraill eich dilyn chi wrth law.
suspend: Mae eich cyfrif wedi cael ei wahardd, a mae gyd o'ch tĹľtiau a'ch ffeiliau cyfrwng uwchlwythadwy wedi cael eu tynnu or gweinydd yn barhaol, ac o weinyddau ble yr oedd eich dilynwyr.
+ get_in_touch: Gallwch ymateb i'r e-bost hwn i gysylltu â staff %{instance}.
review_server_policies: Adolygu polisĂŻau'r gweinydd
+ statuses: 'Yn benodol, ar gyfer:'
subject:
disable: Mae'ch cyfrif %{acct} wedi'i rewi
none: Rhybudd am %{acct}
diff --git a/config/locales/devise.ar.yml b/config/locales/devise.ar.yml
index 366bd81b94b..90f026e100a 100644
--- a/config/locales/devise.ar.yml
+++ b/config/locales/devise.ar.yml
@@ -45,6 +45,10 @@ ar:
extra: ŘĽŮ ŮŮ ŘŞŮ٠ؾاŘب Ůذا اŮءŮب Ř ŮŮع؏٠ؚد٠ؼؚاع؊ اŮاŮت٠ا٠ŮŮذ٠اŮعساŮŘŠ. ŮŮŮŮŮ ŮŘŞŮ٠اŮسعŮŘŠ تبŮŮ ŮŮ Ů ŮŮ ŘşŮŘą أ٠تؚدŮŮ ŘĽŮŮا Ů ŮŮء ŘĽŮ ŮŮ ŘŞ باŮŮŮŘą ŘšŮ٠اŮعابء ŘŁŘšŮا٠Ůؾد ŘĽŮشاإ ŮŮŮ ŘŠ سعŮŘŠ ŘŹŘŻŮŘŻŘŠ.
subject: '٠استدŮŮ: ŘŞŘšŮŮ٠ات استؚاد؊ ŮŮŮ ŘŠ اŮŮ ŘąŮŘą'
title: ؼؚاد؊ ŘŞŘšŮŮŮ ŮŮŮ ŘŠ اŮسع
+ two_factor_disabled:
+ title: ŘĽŮŮ 2FA ٠ؚءŮŮ
+ two_factor_enabled:
+ title: ŘĽŮŮ 2FA ŮŘ´Ůء
unlock_instructions:
subject: '٠استدŮŮ: ŘŞŘšŮŮ٠ات Ů٠اŮŮŮŮ'
omniauth_callbacks:
diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml
index 80d43809233..515d5c1ed90 100644
--- a/config/locales/devise.es.yml
+++ b/config/locales/devise.es.yml
@@ -1,98 +1 @@
----
-es:
- devise:
- confirmations:
- confirmed: Su direccion de email ha sido confirmada con exito.
- send_instructions: RecibirĂĄ un correo electrĂłnico con instrucciones sobre cĂłmo confirmar su direcciĂłn de correo en pocos minutos.
- send_paranoid_instructions: Si su direcciĂłn de correo electrĂłnico existe en nuestra base de datos, recibirĂĄ un correo electrĂłnico con instrucciones sobre cĂłmo confirmar su direcciĂłn de correo en pocos minutos.
- failure:
- already_authenticated: Usted ya estĂĄ registrado.
- inactive: Su cuenta todavĂa no estĂĄ activa.
- invalid: InvĂĄlido %{authentication_keys} o contraseĂąa.
- last_attempt: Tiene un intento mĂĄs antes de que su cuenta sea bloqueada.
- locked: Su cuenta estĂĄ bloqueada.
- not_found_in_database: InvĂĄlido %{authentication_keys} o contraseĂąa.
- 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.
- unconfirmed: Tiene que confirmar su direcciĂłn de correo electrĂłnico antes de continuar.
- mailer:
- confirmation_instructions:
- action: Verificar direcciĂłn de correo electrĂłnico
- action_with_app: Confirmar y regresar a %{app}
- explanation: Has creado una cuenta en %{host} con esta direcciĂłn de correo electrĂłnico. Estas a un clic de activarla. Si no fue usted, por favor ignore este correo electrĂłnico.
- explanation_when_pending: Usted ha solicitado una invitaciĂłn a %{host} con esta direcciĂłn de correo electrĂłnico. Una vez que confirme su direcciĂłn de correo electrĂłnico, revisaremos su aplicaciĂłn. No puede iniciar sesiĂłn hasta que su aplicaciĂłn sea revisada. Si su solicitud estĂĄ rechazada, sus datos serĂĄn eliminados, asĂ que no serĂĄ necesaria ninguna acciĂłn adicional por ti. Si no fuera usted, por favor ignore este correo electrĂłnico.
- extra_html: Por favor revise las reglas de la instancia y nuestros tĂŠrminos de servicio.
- subject: 'Mastodon: Instrucciones de confirmaciĂłn para %{instance}'
- title: Verificar direcciĂłn de correo electrĂłnico
- email_changed:
- explanation: 'El correo electrĂłnico para su cuenta esta siendo cambiada a:'
- extra: Si usted no ha cambiado su correo electrĂłnico, es probable que alguien haya conseguido acceso a su cuenta. Por favor cambie su contraseĂąa inmediatamente o contacte al administrador de la instancia si usted no puede iniciar sesiĂłn.
- subject: 'Mastodon: Correo electrĂłnico cambiado'
- title: Nueva direcciĂłn de correo electrĂłnico
- password_change:
- explanation: La contraseĂąa de su cuenta a sido cambiada.
- extra: Si usted no a cambiado su contraseĂąa. es probable que alguien a conseguido acceso a su cuenta. Por favor cambie su contraseĂąa inmediatamente o contacte a el administrador de la instancia si usted esta bloqueado de su cuenta.
- subject: 'Mastodon: ContraseĂąa cambiada'
- title: ContraseĂąa cambiada
- reconfirmation_instructions:
- explanation: Confirme la nueva direcciĂłn para cambiar su coreo electrĂłnico.
- extra: Si no iniciaste este cambio, por favor ignora este correo. Esta direcciĂłn de correo para la cuenta de Mastodon no cambiarĂĄ hasta que accedas al vinculo arriba.
- subject: 'Mastodon: Confirme correo electrĂłnico para %{instance}'
- title: Verifique direcciĂłn de correo electrĂłnico
- reset_password_instructions:
- action: Cambiar contraseĂąa
- explanation: Solicitaste una nueva contraseĂąa para tu cuenta.
- extra: Si no solicitaste esto, por favor ignora este correo. Tu contraseĂąa no cambiarĂĄ hasta que tu accedas al vinculo arriba y crees una nueva.
- subject: 'Mastodon: Instrucciones para reiniciar contraseĂąa'
- title: Reiniciar contraseĂąa
- two_factor_disabled:
- explanation: La autenticaciĂłn de dos factores para tu cuenta ha sido deshabilitada. Ahora puedes conectarte solamente usando la direcciĂłn de correo electrĂłnico y la contraseĂąa.
- subject: 'Mastodon: La autenticaciĂłn de dos factores estĂĄ deshabilitada'
- title: 2FA desactivada
- two_factor_enabled:
- explanation: La autenticaciĂłn de dos factores para tu cuenta ha sido habilitada. Se requiere un token generado por la aplicaciĂłn TOTP emparejada para ingresar.
- subject: 'Mastodon: La autenticaciĂłn de dos factores estĂĄ habilitada'
- title: 2FA activada
- two_factor_recovery_codes_changed:
- explanation: Los cĂłdigos de recuperaciĂłn previos han sido invalidados y se generaron cĂłdigos nuevos.
- subject: 'Mastodon: Los cĂłdigos de recuperaciĂłn de dos factores fueron regenerados'
- title: CĂłdigos de recuperaciĂłn 2FA cambiados
- unlock_instructions:
- subject: 'Mastodon: Instrucciones para desbloquear'
- omniauth_callbacks:
- failure: No podemos autentificarle desde %{kind} debido a "%{reason}".
- success: Autentificado con ĂŠxito desde la cuenta %{kind} .
- passwords:
- no_token: No puede acceder a esta pĂĄgina sin provenir desde el correo de reinicio de contraseĂąa. Si viene desde el correo de reinicio de contraseĂąa, por favor asegĂşrese que estĂĄ utilizando la direcciĂłn completa proporcionada.
- send_instructions: RecibirĂĄ un correo electrĂłnico con instrucciones sobre cĂłmo reiniciar su contraseĂąa en pocos minutos.
- send_paranoid_instructions: Si su correo electrĂłnico existe en nuestra base de datos, recibirĂĄ un enlace de recuperaciĂłn de contraseĂąa en su direcciĂłn de correo en pocos minutos.
- updated: Su contraseĂąa ha sido cambiada con ĂŠxito. Ahora ya estĂĄ registrado.
- updated_not_active: Su contraseĂąa ha sido cambiada con ĂŠxito.
- registrations:
- destroyed: "ÂĄAdios! Su cuenta ha sido cancelada con ĂŠxito. Esperamos verle pronto de nuevo."
- signed_up: "ÂĄBienvenido! Se ha registrado con ĂŠxito."
- signed_up_but_inactive: Se ha registrado con ĂŠxito. Sin embargo, no podemos identificarle porque su cuenta no ha sido activada todavĂa.
- signed_up_but_locked: Se ha registrado con ĂŠxito. Sin embargo, no podemos identificarle porque su cuenta estĂĄ bloqueada.
- signed_up_but_pending: Un mensaje con un enlace de confirmacion ha sido enviado a su direccion de email. Luego de clickear el link revisaremos su aplicacion. Seras notificado si es aprovada.
- signed_up_but_unconfirmed: Un mensaje con un enlace de confirmaciĂłn ha sido enviado a su correo electrĂłnico. Por favor siga el enlace para activar su cuenta.
- update_needs_confirmation: Ha actualizado su cuenta con ĂŠxito, pero necesitamos verificar su nueva direcciĂłn de correo. Por favor compruebe su correo y siga el enlace para confirmar su nueva direcciĂłn de correo.
- updated: su cuenta ha sido actualizada con ĂŠxito.
- sessions:
- already_signed_out: CerrĂł sesiĂłn con ĂŠxito.
- signed_in: Se registrĂł con ĂŠxito.
- signed_out: CerrĂł sesiĂłn con ĂŠxito.
- unlocks:
- send_instructions: RecibirĂĄ un correo electrĂłnico con instrucciones sobre cĂłmo desbloquear su cuenta en pocos minutos.
- send_paranoid_instructions: Si su cuenta existe, recibirĂĄ un correo electrĂłnico con instrucciones sobre cĂłmo desbloquearla en pocos minutos.
- unlocked: Su cuenta ha sido desbloqueada con ĂŠxito. Por favor inicie sesiĂłn para continuar.
- errors:
- messages:
- already_confirmed: ya fue confirmado, por favor intente iniciar sesiĂłn
- confirmation_period_expired: necesita ser confirmado dentro de %{period}, por favor pida una nueva
- expired: ha expirado, por favor pida una nueva
- not_found: no encontrado
- not_locked: no fue bloqueada
- not_saved:
- one: '1 error prohibiĂł este %{resource} de ser guardado:'
- other: "%{count} errores prohibieron este %{resource} de ser guardado:"
+es-AR:
diff --git a/config/locales/devise.hu.yml b/config/locales/devise.hu.yml
index e495cb5f0e7..62888be74e5 100644
--- a/config/locales/devise.hu.yml
+++ b/config/locales/devise.hu.yml
@@ -46,6 +46,18 @@ hu:
extra: Amennyiben nem te kezdemĂŠnyezted a mĂłdosĂtĂĄst, kĂŠrjĂźk tekintsd ezt az e-mailt tĂĄrgytalannak. A Mastodon fiĂłkodhoz tartozĂł jelszavad vĂĄltozatlan marad mindaddig, amĂg Ăşjat nem hozol lĂŠtre a fenti linkre kattintva.
subject: 'Mastodon: JelszĂł visszaĂĄllĂtĂĄsi lĂŠpĂŠsek'
title: JelszĂł visszaĂĄllĂtĂĄsa
+ two_factor_disabled:
+ explanation: A fiĂłkod kĂŠtlĂŠpcsĹs hitelesĂtĂŠsĂŠt letiltottuk. A bejelentkezĂŠs most mĂĄr csak e-mail cĂmmel ĂŠs jelszĂłval lehetsĂŠges.
+ subject: KĂŠtlĂŠpcsĹs azonosĂtĂĄs letiltva
+ title: KĂŠtlĂŠpcsĹs hitelesĂtĂŠs engedĂŠlyezve
+ two_factor_enabled:
+ explanation: KĂŠtlĂŠpcsĹs hitelesĂtĂŠs engedĂŠlyezve van a fiĂłkodban. BejelentkezĂŠshez a pĂĄrosĂtott TOTP alkalmazĂĄs ĂĄltal lĂŠtrehozott tokenre lesz szĂźksĂŠg.
+ subject: KĂŠtlĂŠpcsĹs azonosĂtĂĄs engedĂŠlyezve
+ title: KĂŠtlĂŠpcsĹs hitelesĂtĂŠs engedĂŠlyezve
+ two_factor_recovery_codes_changed:
+ explanation: A korĂĄbbi helyreĂĄllĂtĂĄsi kĂłdokat letiltottuk, ĂŠs Ăşjakat generĂĄltunk.
+ subject: KĂŠtlĂŠpcsĹs helyreĂĄllĂtĂĄsi kĂłdok Ăşjra lĂŠtrejĂśttek
+ title: A kĂŠtlĂŠpcsĹs kĂłdok megvĂĄltozott
unlock_instructions:
subject: 'Mastodon: FeloldĂĄsi lĂŠpĂŠsek'
omniauth_callbacks:
diff --git a/config/locales/devise.ja.yml b/config/locales/devise.ja.yml
index dc147be624e..ffdbd1b60f0 100644
--- a/config/locales/devise.ja.yml
+++ b/config/locales/devise.ja.yml
@@ -46,6 +46,18 @@ ja:
extra: ăăŽčŚćąăŤĺżĺ˝ăăăăŞăĺ ´ĺăăăŽăĄăźăŤăçĄčŚăăŚăă ăăăä¸č¨ăŞăłăŻĺ ăŤă˘ăŻăťăšăć°ăăăăŽăä˝ćăăăžă§ăăšăŻăźăăŻĺ¤ć´ăăăžăăă
subject: 'Mastodon: ăăšăŻăźăĺçşčĄ'
title: ăăšăŻăźăĺçşčĄ
+ two_factor_disabled:
+ explanation: ăăŞăăŽă˘ăŤăŚăłăăŽäşćŽľéčŞč¨źăçĄĺšĺăăăžăăăăĄăźăŤă¨ăăšăŻăźăăŽăżă§ăă°ă¤ăłă§ăăžăă
+ subject: 'Mastodon: äşćŽľéčŞč¨źăçĄĺšăŤăŞăăžăă'
+ title: äşćŽľéčŞč¨źăçĄĺšĺăăăžăă
+ two_factor_enabled:
+ explanation: ăăŞăăŽă˘ăŤăŚăłăăŽäşćŽľéčŞč¨źăćĺšĺăăăžăăăăă°ă¤ăłăăăŤăŻ TOTP ă˘ăăŞă§çćăăăăłăźăăĺż čŚă§ăă
+ subject: 'Mastodon: äşćŽľéčŞč¨źăćĺšăŤăŞăăžăă'
+ title: äşćŽľéčŞč¨źăćĺšĺăăăžăă
+ two_factor_recovery_codes_changed:
+ explanation: 䝼ĺăŽăŞăŤăăŞăźăłăźăăçĄĺšĺăăăć°ăăăłăźăăçćăăăžăăă
+ subject: 'Mastodon: äşćŽľéčŞč¨źăŽăŞăŤăăŞăźăłăźăăĺçćăăăžăă'
+ title: äşćŽľéčŞč¨źăŽăŞăŤăăŞăźăłăźăăĺ¤ć´ăăăžăă
unlock_instructions:
subject: 'Mastodon: ă˘ăŤăŚăłăăŽăăăŻăŽč§Łé¤'
omniauth_callbacks:
diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml
index f443d0dd3ac..51d8b76b434 100644
--- a/config/locales/doorkeeper.ar.yml
+++ b/config/locales/doorkeeper.ar.yml
@@ -133,7 +133,7 @@ ar:
read:search: اŮبŘŘŤ Ů ŮاŮŮ
read:statuses: عؤŮŘŠ ŮاŮŘŠ اŮŮ ŮŘ´Ůعات
write: ŘŞŘşŮŮŘą ŮاŮŘŠ بŮاŮات ŘسابŮ
- write:accounts: تؚدŮŮ Ů ŮŮ٠اŮŘ´ŘŽŘľŮ
+ write:accounts: تؚدŮŮ ŘľŮŘت٠اŮتؚعŮŮŮŘŠ
write:blocks: Ř؏ب اŮŘسابات ٠اŮŮءاŮات
write:favourites: اŮؼؚ؏اب ب٠ŮŘ´Ůعات
write:filters: ŘĽŮشاإ ŘšŮا٠٠تؾŮŮŘŠ
diff --git a/config/locales/doorkeeper.es.yml b/config/locales/doorkeeper.es.yml
index 1b03e33f2f0..515d5c1ed90 100644
--- a/config/locales/doorkeeper.es.yml
+++ b/config/locales/doorkeeper.es.yml
@@ -1,148 +1 @@
----
-es:
- activerecord:
- attributes:
- doorkeeper/application:
- name: Nombre de aplicaciĂłn
- redirect_uri: URI para redirecciĂłn
- scopes: Ămbitos
- website: Sitio web
- errors:
- models:
- doorkeeper/application:
- attributes:
- redirect_uri:
- fragment_present: no puede contener un fragmento.
- invalid_uri: debe ser un URI vĂĄlido.
- relative_uri: debe ser una URI absoluta.
- secured_uri: debe ser un URI HTTPS/SSL.
- doorkeeper:
- applications:
- buttons:
- authorize: Autorizar
- cancel: Cancelar
- destroy: Destruir
- edit: Editar
- submit: Enviar
- confirmations:
- destroy: "ÂżEstĂĄ seguro?"
- edit:
- title: Editar aplicaciĂłn
- form:
- error: "ÂĄUuups! Compruebe su formulario"
- help:
- native_redirect_uri: Utilice %{native_redirect_uri} para pruebas locales
- redirect_uri: Utilice una lĂnea por URI
- scopes: Separe los ĂĄmbitos con espacios. DĂŠjelo en blanco para utilizar los ĂĄmbitos por defecto.
- index:
- application: AplicaciĂłn
- callback_url: URL de callback
- delete: Eliminar
- name: Nombre
- new: Nueva aplicaciĂłn
- scopes: Ămbitos
- show: Mostrar
- title: Sus aplicaciones
- new:
- title: Nueva aplicaciĂłn
- show:
- actions: Acciones
- application_id: Id de la aplicaciĂłn
- callback_urls: URLs de callback
- scopes: Ămbitos
- secret: Secreto
- title: 'AplicaciĂłn: %{name}'
- authorizations:
- buttons:
- authorize: Autorizar
- deny: Desautorizar
- error:
- title: Ha ocurrido un error
- new:
- able_to: SerĂĄ capaz de
- prompt: La aplicaciĂłn %{client_name} solicita tener acceso a su cuenta
- title: Se requiere autorizaciĂłn
- show:
- title: Copia este cĂłdigo de autorizaciĂłn y pĂŠgalo en la aplicaciĂłn.
- authorized_applications:
- buttons:
- revoke: Revocar
- confirmations:
- revoke: "ÂżEstĂĄ seguro?"
- index:
- application: AplicaciĂłn
- created_at: Creado el
- date_format: "%A-%m-%d %H:%M:%S"
- scopes: Ămbitos
- title: Sus aplicaciones autorizadas
- errors:
- messages:
- access_denied: El propietario del recurso o servidor de autorizaciĂłn denegĂł la peticiĂłn.
- credential_flow_not_configured: Las credenciales de contraseĂąa del propietario del recurso fallĂł debido a que Doorkeeper.configure.resource_owner_from_credentials estĂĄ sin configurar.
- invalid_client: La autentificaciĂłn del cliente fallĂł debido o a que es un cliente desconocido o no estĂĄ incluĂda la autentificaciĂłn del cliente o el mĂŠtodo de autentificaciĂłn no estĂĄ confirmado.
- invalid_grant: La concesiĂłn de autorizaciĂłn ofrecida es invĂĄlida, venciĂł, se revocĂł, no coincide con la URI de redirecciĂłn utilizada en la peticiĂłn de autorizaciĂłn, o fue emitida para otro cliente.
- invalid_redirect_uri: La URI de redirecciĂłn incluida no es vĂĄlida.
- invalid_request: En la peticiĂłn falta un parĂĄmetro necesario o incluye un valor de parĂĄmetro no soportado o tiene otro tipo de formato incorrecto.
- invalid_resource_owner: Las credenciales proporcionadas del propietario del recurso no son vĂĄlidas, o el propietario del recurso no puede ser encontrado
- invalid_scope: El ĂĄmbito pedido es invĂĄlido, desconocido o errĂłneo.
- invalid_token:
- expired: El autentificador de acceso expirĂł
- revoked: El autentificador de acceso fue revocado
- unknown: El autentificador de acceso es invĂĄlido
- resource_owner_authenticator_not_configured: El propietario del recurso fallĂł debido a que Doorkeeper.configure.resource_owner_authenticator estĂĄ sin configurar.
- server_error: El servidor de la autorizaciĂłn entontrĂł una condiciĂłn inesperada que le impidiĂł cumplir con la solicitud.
- temporarily_unavailable: El servidor de la autorizaciĂłn es actualmente incapaz de manejar la peticiĂłn debido a una sobrecarga temporal o un trabajo de mantenimiento del servidor.
- unauthorized_client: El cliente no estĂĄ autorizado a realizar esta peticiĂłn utilizando este mĂŠtodo.
- unsupported_grant_type: El tipo de concesiĂłn de autorizaciĂłn no estĂĄ soportado por el servidor de autorizaciĂłn.
- unsupported_response_type: El servidor de autorizaciĂłn no soporta este tipo de respuesta.
- flash:
- applications:
- create:
- notice: AplicaciĂłn creada.
- destroy:
- notice: AplicaciĂłn eliminada.
- update:
- notice: AplicaciĂłn actualizada.
- authorized_applications:
- destroy:
- notice: AplicaciĂłn revocada.
- layouts:
- admin:
- nav:
- applications: Aplicaciones
- oauth2_provider: Proveedor OAuth2
- application:
- title: OAuth autorizaciĂłn requerida
- scopes:
- admin:read: leer todos los datos en el servidor
- admin:read:accounts: leer informaciĂłn sensible de todas las cuentas
- admin:read:reports: leer informaciĂłn sensible de todos los informes y cuentas reportadas
- admin:write: modificar todos los datos en el servidor
- admin:write:accounts: realizar acciones de moderaciĂłn en cuentas
- admin:write:reports: realizar acciones de moderaciĂłn en informes
- follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
- push: recibir tus notificaciones push
- read: leer los datos de tu cuenta
- read:accounts: ver informaciĂłn de cuentas
- read:blocks: ver a quiĂŠn has bloqueado
- read:favourites: ver tus favoritos
- read:filters: ver tus filtros
- read:follows: ver a quiĂŠn sigues
- read:lists: ver tus listas
- read:mutes: ver a quiĂŠn has silenciado
- read:notifications: ver tus notificaciones
- read:reports: ver tus informes
- read:search: buscar en su nombre
- read:statuses: ver todos los estados
- write: publicar en tu nombre
- write:accounts: modifica tu perfil
- write:blocks: bloquear cuentas y dominios
- write:favourites: toots favoritos
- write:filters: crear filtros
- write:follows: seguir usuarios
- write:lists: crear listas
- write:media: subir archivos multimedia
- write:mutes: silenciar usuarios y conversaciones
- write:notifications: limpia tus notificaciones
- write:reports: reportar a otras personas
- write:statuses: publicar estados
+es-AR:
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 03974fa1740..5975e1b53a6 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -35,6 +35,9 @@ el:
status_count_before: Î ÎżĎ ÎÎłĎÎąĎιν
tagline: ÎκοΝοĎθΡĎÎľ ĎÎżĎ Ď ÎłÎ˝ĎĎĎÎżĎĎ ĎÎżĎ ÎşÎąÎš ÎąÎ˝ÎąÎşÎŹÎťĎ ĎÎľ νÎÎżĎ Ď ÎąÎ˝Î¸ĎĎĎÎżĎ Ď
terms: ÎĎοΚ ĎĎÎŽĎΡĎ
+ unavailable_content: ÎΡ δΚιθÎĎΚΟο
+ unavailable_content_description:
+ reason: 'ÎΚĎÎŻÎą:'
user_count_after:
one: ĎĎÎŽĎĎΡĎ
other: ĎĎÎŽĎĎÎľĎ
@@ -235,6 +238,7 @@ el:
disabled_msg: ÎĎΚĎĎ ĎÎŽĎ ÎąĎξνξĎγοĎοίΡĎΡ ÎąĎ ĎÎżĎ ĎÎżĎ emoji
emoji: Emoji
enable: ÎνξĎγοĎοίΡĎΡ
+ enabled: ÎνξĎγοĎοΚΡΟÎνι
enabled_msg: ÎĎΚĎĎ ĎÎŽĎ ÎľÎ˝ÎľĎγοĎοίΡĎΡ ÎąĎ ĎÎżĎ ĎÎżĎ emoji
image_hint: PNG ÎĎĎ 50KB
listed: ÎνιĎÎľĎθÎνĎÎą
@@ -618,6 +622,10 @@ el:
return: ÎξίΞξ ĎÎż ĎĎÎżĎÎŻÎť ĎÎżĎ ĎĎÎŽĎĎΡ
web: ΠΎγιΚνξ ĎĎÎż δίκĎĎ Îż
title: ÎκοΝοĎθΡĎÎľ %{acct}
+ challenge:
+ confirm: ÎŁĎ Î˝ÎĎξΚι
+ invalid_password: ÎΡ ÎÎłÎşĎ ĎÎż ĎĎ Î˝Î¸ÎˇÎźÎąĎΚκĎ
+ prompt: ÎĎΚβξβιίĎĎΡ ĎĎ Î˝Î¸ÎˇÎźÎąĎÎšÎşÎżĎ ÎłÎšÎą ĎĎ Î˝ÎĎξΚι
datetime:
distance_in_words:
about_x_hours: "%{count}Ď"
@@ -686,7 +694,7 @@ el:
domain_blocks: ÎĎΝοκιĎÎŻĎΟιĎÎą ÎşĎΟβĎν
follows: ÎÎşÎżÎťÎżĎ Î¸ÎľÎŻĎ
lists: ÎÎŻĎĎÎľĎ
- mutes: ÎĎÎżĎΚĎĎÎŹĎ
+ mutes: ÎĎÎżĎΚĎĎÎŽĎξΚĎ
storage: ÎĎÎżÎ¸ÎŽÎşÎľĎ ĎΡ ĎÎżÎťĎ ÎźÎĎĎν
featured_tags:
add_new: Î ĎÎżĎθΎκΡ νÎÎąĎ
@@ -790,6 +798,10 @@ el:
too_many: Îξν γίνξĎιΚ νι ĎĎÎżĎθÎĎÎľÎšĎ ĎÎľĎΚĎĎĎĎÎľĎÎą ÎąĎĎ 4 ÎąĎĎξίι
migrations:
acct: ÎνοΟιΧĎÎŽĎĎΡ@ΤοΟÎÎąĎ ĎÎżĎ Î˝ÎÎżĎ ÎťÎżÎłÎąĎΚιĎΟοĎ
+ cancel: ÎÎşĎĎĎĎΡ ινικιĎÎľĎÎ¸Ď Î˝ĎΡĎ
+ errors:
+ not_found: δξν βĎÎθΡκξ
+ proceed_with_move: ÎÎľĎικίνΡĎΡ ικοΝοĎθĎν
moderation:
title: ÎŁĎ Î˝ĎονΚĎÎźĎĎ
notification_mailer:
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index ae8ea325657..6a9dff66b67 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -502,6 +502,9 @@ eo:
context: Kunteksto
directory: En la adresaro
in_directory: "%{count} en adresaro"
+ last_active: Lasta aktiva
+ most_recent: Plej lasta
+ name: Kradvorto
review: La statuso de la recenzo
reviewed: Recenzis
title: Kradvortoj
@@ -530,6 +533,7 @@ eo:
advanced_web_interface_hint: 'Se vi volas uzi la tutan larÄecon de via ekrano, la kompleksa reta interfaco permesas al vi agordi multajn malsamajn kolumnojn por vidi tiom da informoj kiom vi volas samtempe: Hejmo, sciigoj, fratara tempolinio, kaj ajna kvanto de listoj kaj kradvortoj.'
animations_and_accessibility: Animacioj kaj alirebleco
confirmation_dialogs: Konfirmaj fenestroj
+ discovery: Eltrovo
sensitive_content: Tikla enhavo
application_mailer:
notification_preferences: ĹanÄi retmesaÄajn preferojn
@@ -552,6 +556,8 @@ eo:
checkbox_agreement_html: Mi samopinii al la Servo reguloj kaj kondiÄo al servadon
delete_account: Forigi konton
delete_account_html: Se vi deziras forigi vian konton, vi povas fari tion Äi tie. Vi bezonos konfirmi vian peton.
+ description:
+ prefix_sign_up: RegistriÄi Äe Mastodon hodiaĹ!
didnt_get_confirmation: Äu vi ne ricevis la instrukciojn por konfirmi?
forgot_password: Pasvorto forgesita?
invalid_reset_password_token: Ä´etono por restarigi pasvorton nevalida aĹ eksvalida. Bonvolu peti novan.
@@ -586,6 +592,10 @@ eo:
return: Montri la profilon de la uzanto
web: Iri al reto
title: Sekvi %{acct}
+ challenge:
+ confirm: DaĹrigi
+ invalid_password: Nevalida pasvorto
+ prompt: Konfirmi pasvorton por daĹrigi
datetime:
distance_in_words:
about_x_hours: "%{count}h"
diff --git a/config/locales/es.yml b/config/locales/es.yml
index ef22c7b8278..2fbf0ffd710 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1,1134 +1 @@
----
-es:
- about:
- about_hashtag_html: Estos son toots pĂşblicos etiquetados con #%{hashtag}. Puedes interactuar con ellos si tienes una cuenta en el fediverso.
- about_mastodon_html: Mastodon es una red social basada en protocolos web abiertos y software libre y de cĂłdigo abierto. EstĂĄ descentralizado como correo electrĂłnico.
- about_this: InformaciĂłn
- active_count_after: activo
- active_footnote: Usuarios Activos Mensuales (UAM)
- administered_by: 'Administrado por:'
- api: API
- apps: Aplicaciones mĂłviles
- apps_platforms: Utiliza Mastodon desde iOS, Android y otras plataformas
- browse_directory: Navega por el directorio de perfiles y filtra por intereses
- browse_public_posts: Navega por un transmisiĂłn en vivo de publicaciones pĂşblicas en Mastodon
- contact: Contacto
- contact_missing: No especificado
- contact_unavailable: N/A
- discover_users: Descubrir usuarios
- documentation: DocumentaciĂłn
- federation_hint_html: Con una cuenta en %{instance} usted podrĂĄ seguir a las personas en cualquier servidor de Mastodon y mĂĄs allĂĄ.
- generic_description: "%{domain} es un servidor en la red"
- get_apps: Probar una aplicaciĂłn mĂłvil
- hosted_on: Mastodon hosteado en %{domain}
- instance_actor_flash: |
- Esta cuenta es un actor virtual usado para representar al servidor y no a ningĂşn usuario individual.
- Se usa para fines federativos y no debe ser bloqueado a menos que usted quiera bloquear toda la instancia, en cuyo caso se debe utilizar un bloque de dominio.
- learn_more: Aprende mĂĄs
- privacy_policy: PolĂtica de privacidad
- see_whats_happening: Ver lo que estĂĄ pasando
- server_stats: 'Datos del servidor:'
- source_code: CĂłdigo fuente
- status_count_after:
- one: estado
- other: estados
- status_count_before: QuĂŠ han escrito
- tagline: Seguir a amigos existentes y descubre nuevos
- terms: Condiciones de servicio
- unavailable_content: Contenido no disponible
- unavailable_content_description:
- reason: 'Motivo:'
- rejecting_media: Los archivos multimedia de este servidor no serĂĄn procesados y no se mostrarĂĄn miniaturas, lo que requiere un clic manual en el otro servidor.
- silenced: Las publicaciones de este servidor no se mostrarĂĄn en ningĂşn lugar salvo en el Inicio si sigues al autor.
- suspended: No podrĂĄs seguir a nadie de este servidor, y ningĂşn dato de este serĂĄ procesado o almacenado, y no se intercambiarĂĄn datos.
- unavailable_content_html: Mastodon generalmente le permite ver contenido e interactuar con usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.
- user_count_after:
- one: usuario
- other: usuarios
- user_count_before: Tenemos
- what_is_mastodon: "ÂżQuĂŠ es Mastodon?"
- accounts:
- choices_html: 'Elecciones de %{name}:'
- endorsements_hint: Puedes recomendar a gente que sigues desde la interfaz web, y aparecerĂĄn allĂ.
- featured_tags_hint: Puede presentar hashtags especĂficos que se mostrarĂĄn aquĂ.
- follow: Seguir
- followers:
- one: Seguidor
- other: Seguidores
- following: Siguiendo
- joined: Se uniĂł el %{date}
- last_active: Ăşltima conexiĂłn
- link_verified_on: La propiedad de este vĂnculo fue verificada el %{date}
- media: Multimedia
- moved_html: "%{name} se ha trasladado a %{new_profile_link}:"
- network_hidden: Esta informaciĂłn no estĂĄ disponible
- never_active: Nunca
- nothing_here: "ÂĄNo hay nada aquĂ!"
- people_followed_by: Usuarios a quien %{name} sigue
- people_who_follow: Usuarios que siguen a %{name}
- pin_errors:
- following: Debes estar siguiendo a la persona a la que quieres aprobar
- posts:
- one: Toot
- other: Toots
- posts_tab_heading: Toots
- posts_with_replies: Toots con respuestas
- reserved_username: El nombre de usuario estĂĄ reservado
- roles:
- admin: Administrador
- bot: Bot
- moderator: Moderador
- unavailable: Perfil no disponible
- unfollow: Dejar de seguir
- admin:
- account_actions:
- action: Realizar acciĂłn
- title: Moderar %{acct}
- account_moderation_notes:
- create: Crear
- created_msg: "ÂĄNota de moderaciĂłn creada con ĂŠxito!"
- delete: Borrar
- destroyed_msg: "ÂĄNota de moderaciĂłn destruida con ĂŠxito!"
- accounts:
- approve: Aprobar
- approve_all: Aprobar todos
- are_you_sure: "ÂżEstĂĄs seguro?"
- avatar: Avatar
- by_domain: Dominio
- change_email:
- changed_msg: "ÂĄEl correo electrĂłnico se ha actualizado correctamente!"
- current_email: Correo electrĂłnico actual
- label: Cambiar el correo electrĂłnico
- new_email: Nuevo correo electrĂłnico
- submit: Cambiar el correo electrĂłnico
- title: Cambiar el correo electrĂłnico de %{username}
- confirm: Confirmar
- confirmed: Confirmado
- confirming: Confirmando
- deleted: Borrado
- demote: Degradar
- disable: Deshabilitar
- disable_two_factor_authentication: Desactivar autenticaciĂłn de dos factores
- disabled: Deshabilitada
- display_name: Nombre
- domain: Dominio
- edit: Editar
- email: E-mail
- email_status: E-mail Status
- enable: Habilitar
- enabled: Habilitada
- feed_url: URL de notificaciones
- followers: Seguidores
- followers_url: URL de los seguidores
- follows: Sigue
- header: Cabecera
- inbox_url: URL de la bandeja de entrada
- invited_by: Invitado por
- ip: IP
- joined: Unido
- location:
- all: Todos
- local: Local
- remote: Remoto
- title: LocalizaciĂłn
- login_status: Estado del login
- media_attachments: Multimedia
- memorialize: Convertir en memorial
- moderation:
- active: Activo
- all: Todos
- pending: Pendiente
- silenced: Silenciados
- suspended: Suspendidos
- title: ModeraciĂłn
- moderation_notes: Notas de moderaciĂłn
- most_recent_activity: Actividad mĂĄs reciente
- most_recent_ip: IP mĂĄs reciente
- no_account_selected: Ninguna cuenta se cambiĂł como ninguna fue seleccionada
- no_limits_imposed: Sin lĂmites impuestos
- not_subscribed: No se estĂĄ suscrito
- outbox_url: URL de bandeja de salida
- pending: RevisiĂłn pendiente
- perform_full_suspension: Suspender
- profile_url: URL del perfil
- promote: Promocionar
- protocol: Protocolo
- public: PĂşblico
- push_subscription_expires: ExpiraciĂłn de la suscripciĂłn PuSH
- redownload: Refrescar avatar
- reject: Rechazar
- reject_all: Rechazar todos
- remove_avatar: Eliminar el avatar
- remove_header: Eliminar cabecera
- resend_confirmation:
- already_confirmed: Este usuario ya estĂĄ confirmado
- send: Reenviar el correo electrĂłnico de confirmaciĂłn
- success: "ÂĄCorreo electrĂłnico de confirmaciĂłn enviado con ĂŠxito!"
- reset: Reiniciar
- reset_password: Reiniciar contraseĂąa
- resubscribe: Re-suscribir
- role: Permisos
- roles:
- admin: Administrador
- moderator: Moderador
- staff: Personal
- user: Usuario
- salmon_url: URL de salmĂłn
- search: Buscar
- shared_inbox_url: URL de bandeja compartida
- show:
- created_reports: Reportes hechos por esta cuenta
- targeted_reports: Reportes hechos sobre esta cuenta
- silence: Silenciar
- silenced: Silenciado
- statuses: Estados
- subscribe: Suscribir
- suspended: Susependido
- time_in_queue: Esperando en cola %{time}
- title: Cuentas
- unconfirmed_email: Correo electrĂłnico sin confirmar
- undo_silenced: Des-silenciar
- undo_suspension: Des-suspender
- unsubscribe: Desuscribir
- username: Nombre de usuario
- warn: Adevertir
- web: Web
- whitelisted: AĂąadido a la lista blanca
- action_logs:
- actions:
- assigned_to_self_report: "%{name} se ha asignado la denuncia %{target} a sĂ mismo"
- change_email_user: "%{name} ha cambiado la direcciĂłn de correo del usuario %{target}"
- confirm_user: "%{name} confirmĂł la direcciĂłn de correo del usuario %{target}"
- create_account_warning: "%{name} enviĂł una advertencia a %{target}"
- create_custom_emoji: "%{name} subiĂł un nuevo emoji %{target}"
- create_domain_block: "%{name} bloqueĂł el dominio %{target}"
- create_email_domain_block: "%{name} puso en lista negra el dominio de correos %{target}"
- demote_user: "%{name} degradĂł al usuario %{target}"
- destroy_custom_emoji: "%{name} destruyĂł el emoji %{target}"
- destroy_domain_block: "%{name} desbloqueĂł el dominio %{target}"
- destroy_email_domain_block: "%{name} puso en lista blanca el dominio de correos %{target}"
- destroy_status: "%{name} eliminĂł el estado de %{target}"
- disable_2fa_user: "%{name} deshabilitĂł el requerimiento de dos factores para el usuario %{target}"
- disable_custom_emoji: "%{name} deshabilitĂł el emoji %{target}"
- disable_user: "%{name} deshabilitĂł el acceso del usuario %{target}"
- enable_custom_emoji: "%{name} habilitĂł el emoji %{target}"
- enable_user: "%{name} habilitĂł el acceso del usuario %{target}"
- memorialize_account: "%{name} convirtiĂł la cuenta de %{target} en una pĂĄgina de memorial"
- promote_user: "%{name} promociĂłn al usuario %{target}"
- remove_avatar_user: "%{name} ha eliminado el avatar de %{target}"
- reopen_report: "%{name} ha reabierto la denuncia %{target}"
- reset_password_user: "%{name} restaurĂł la contraseĂąa del usuario %{target}"
- resolve_report: "%{name} ha resuelto la denuncia %{target}"
- silence_account: "%{name} silenciĂł la cuenta de %{target}"
- suspend_account: "%{name} suspendiĂł la cuenta de %{target}"
- unassigned_report: "%{name} ha desasignado la denuncia %{target}"
- unsilence_account: "%{name} desactivĂł el silenciado de la cuenta de %{target}"
- unsuspend_account: "%{name} desactivĂł la suspensiĂłn de la cuenta de %{target}"
- update_custom_emoji: "%{name} actualizĂł el emoji %{target}"
- update_status: "%{name} actualizĂł el estado de %{target}"
- deleted_status: "(estado borrado)"
- title: Log de auditorĂa
- custom_emojis:
- assign_category: Asignar categorĂa
- by_domain: Dominio
- copied_msg: Copia local del emoji creada con ĂŠxito
- copy: Copiar
- copy_failed_msg: No se pudo realizar una copia local de ese emoji
- create_new_category: Crear una nueva categorĂa
- created_msg: "ÂĄEmoji creado con ĂŠxito!"
- delete: Borrar
- destroyed_msg: "ÂĄEmojo destruido con ĂŠxito!"
- disable: Deshabilitar
- disabled_msg: Se deshabilitĂł con ĂŠxito ese emoji
- emoji: Emoji
- enable: Habilitar
- enabled_msg: Se habilitĂł con ĂŠxito ese emoji
- image_hint: PNG de hasta 50KB
- listed: Listados
- new:
- title: AĂąadir nuevo emoji personalizado
- overwrite: Sobrescribir
- shortcode: CĂłdigo de atajo
- shortcode_hint: Al menos 2 caracteres, solo caracteres alfanumĂŠricos y guiones bajos
- title: Emojis personalizados
- uncategorized: Sin clasificar
- unlisted: Sin listar
- update_failed_msg: No se pudo actualizar ese emoji
- updated_msg: "ÂĄEmoji actualizado con ĂŠxito!"
- upload: Subir
- dashboard:
- backlog: trabajos de backlog
- config: ConfiguraciĂłn
- feature_deletions: Borrados de cuenta
- feature_invites: Enlaces de invitaciĂłn
- feature_profile_directory: Directorio de perfil
- feature_registrations: Registros
- feature_relay: RelĂŠs de federaciĂłn
- feature_spam_check: Contra-spam
- feature_timeline_preview: Vista previa de la lĂnea de tiempo
- features: CaracterĂsticas
- hidden_service: FederaciĂłn con servicios ocultos
- open_reports: informes abiertos
- pending_tags: hashtags esperando revisiĂłn
- pending_users: usuarios esperando por revisiĂłn
- recent_users: Usuarios recientes
- search: BĂşsqueda por texto completo
- single_user_mode: Modo Ăşnico usuario
- software: Software
- space: Uso de almacenamiento
- title: Tablero
- total_users: usuarios en total
- trends: Tendencias
- week_interactions: interacciones esta semana
- week_users_active: activo esta semana
- week_users_new: usuarios esta semana
- whitelist_mode: En la lista blanca
- domain_allows:
- add_new: AĂąadir dominio a la lista blanca
- created_msg: Dominio aĂąadido a la lista blanca con ĂŠxito
- destroyed_msg: Dominio quitado de la lista blanca con ĂŠxito
- undo: Quitar de la lista blanca
- domain_blocks:
- add_new: AĂąadir nuevo
- created_msg: El bloque de dominio estĂĄ siendo procesado
- destroyed_msg: El bloque de dominio se deshizo
- domain: Dominio
- edit: Editar nuevo dominio bloqueado
- existing_domain_block_html: Ya ha impuesto lĂmites mĂĄs estrictos a %{name}, necesita desbloquearlo primero.
- new:
- create: Crear bloque
- hint: El bloque de dominio no prevendrĂĄ la creaciĂłn de entradas de cuenta en la base de datos, pero aplicarĂĄ retroactiva y automĂĄticamente mĂŠtodos de moderaciĂłn especĂfica en dichas cuentas.
- severity:
- desc_html: "Silenciar harĂĄ los posts de la cuenta invisibles a cualquiera que no lo estĂŠ siguiendo. Suspender eliminarĂĄ todo el contenido, media, y datos del perfil. Usa Ninguno si solo quieres rechazar archivos multimedia."
- noop: Ninguno
- silence: Silenciar
- suspend: Suspender
- title: Nuevo bloque de dominio
- private_comment: Comentario privado
- private_comment_hint: Comentario sobre esta limitaciĂłn de dominio para el uso interno por parte de los moderadores.
- public_comment: Comentario pĂşblico
- public_comment_hint: Comentario sobre esta limitaciĂłn de dominio para el pĂşblico en general, si la publicidad de la lista de limitaciones de dominio estĂĄ habilitada.
- reject_media: Rechazar archivos multimedia
- reject_media_hint: Remueve localmente archivos multimedia almacenados para descargar cualquiera en el futuro. Irrelevante para suspensiones
- reject_reports: Rechazar informes
- reject_reports_hint: Ignore todos los reportes de este dominio. Irrelevante para suspensiones
- rejecting_media: rechazar archivos multimedia
- rejecting_reports: rechazando informes
- severity:
- silence: silenciado
- suspend: susependido
- show:
- affected_accounts:
- one: Una cuenta en la base de datos afectada
- other: "%{count} cuentas en la base de datos afectadas"
- retroactive:
- silence: Des-silenciar todas las cuentas existentes de este dominio
- suspend: Des-suspender todas las cuentas existentes de este dominio
- title: Deshacer bloque de dominio para %{domain}
- undo: Deshacer
- undo: Deshacer
- view: Ver dominio bloqueado
- email_domain_blocks:
- add_new: AĂąadir nuevo
- created_msg: Dominio de correo aĂąadido a la lista negra con ĂŠxito
- delete: Borrar
- destroyed_msg: Dominio de correo borrado de la lista negra con ĂŠxito
- domain: Dominio
- new:
- create: AĂąadir dominio
- title: Nueva entrada en la lista negra de correo
- title: Lista negra de correo
- followers:
- back_to_account: Volver a la cuenta
- title: Seguidores de %{acct}
- instances:
- by_domain: Dominio
- delivery_available: Entrega disponible
- known_accounts:
- one: "%{count} cuenta conocida"
- other: "%{count} cuentas conocidas"
- moderation:
- all: Todos
- limited: Limitado
- title: ModeraciĂłn
- private_comment: Comentario privado
- public_comment: Comentario pĂşblico
- title: Instancias conocidas
- total_blocked_by_us: Bloqueado por nosotros
- total_followed_by_them: Seguidos por ellos
- total_followed_by_us: Seguido por nosotros
- total_reported: Informes sobre ellas
- total_storage: Archivos multimedia
- invites:
- deactivate_all: Desactivar todos
- filter:
- all: Todas
- available: Disponibles
- expired: Expiradas
- title: Filtrar
- title: Invitaciones
- pending_accounts:
- title: Cuentas pendientes (%{count})
- relays:
- add_new: AĂąadir un nuevo relĂŠs
- delete: Borrar
- description_html: Un relĂŠs de federation es un servidor intermedio que intercambia grandes volĂşmenes de toots pĂşblicos entre servidores que se suscriben y publican en ĂŠl. Puede ayudar a servidores pequeĂąos y medianos a descubir contenido del fediverso, que de otra manera requerirĂa que los usuarios locales siguiesen manialmente a personas de servidores remotos.
- disable: Deshabilitar
- disabled: Deshabilitado
- enable: Hablitar
- enable_hint: Una vez conectado, tu servidor se suscribirĂĄ a todos los toots pĂşblicos de este relĂŠs, y comenzarĂĄ a enviar los toots pĂşblicos de este servidor hacia ĂŠl.
- enabled: Habilitado
- inbox_url: URL del relĂŠs
- pending: Esperando la aprobaciĂłn del relĂŠs
- save_and_enable: Guardar y conectar
- setup: Preparar una conexiĂłn de relĂŠs
- status: Estado
- title: Releses
- report_notes:
- created_msg: "ÂĄEl registro de la denuncia se ha creado correctamente!"
- destroyed_msg: "ÂĄEl registro de la denuncia se ha borrado correctamente!"
- reports:
- account:
- note: nota
- report: denuncia
- action_taken_by: AcciĂłn tomada por
- are_you_sure: "ÂżEstĂĄs seguro?"
- assign_to_self: AsignĂĄrmela a mĂ
- assigned: Moderador asignado
- comment:
- none: Ninguno
- created_at: Denunciado
- mark_as_resolved: Marcar como resuelto
- mark_as_unresolved: Marcar como no resuelto
- notes:
- create: AĂąadir una nota
- create_and_resolve: Resolver con una nota
- create_and_unresolve: Reabrir con una nota
- delete: Eliminar
- placeholder: Especificar quĂŠ acciones se han tomado o cualquier otra novedad respecto a esta denunciaâŚ
- reopen: Reabrir denuncia
- report: 'Reportar #%{id}'
- reported_account: Cuenta reportada
- reported_by: Reportado por
- resolved: Resuelto
- resolved_msg: "ÂĄLa denuncia se ha resuelto correctamente!"
- status: Estado
- title: Reportes
- unassign: Desasignar
- unresolved: No resuelto
- updated_at: Actualizado
- settings:
- activity_api_enabled:
- desc_html: Conteo de estados publicados localmente, usuarios activos, y nuevos registros en periodos semanales
- title: Publicar estadĂsticas locales acerca de actividad de usuario
- bootstrap_timeline_accounts:
- desc_html: Separa con comas los nombres de usuario. Solo funcionarĂĄ para cuentas locales desbloqueadas. Si se deja vacĂo, se tomarĂĄ como valor por defecto a todos los administradores locales.
- title: Seguimientos predeterminados para usuarios nuevos
- contact_information:
- email: Correo de trabajo
- username: Nombre de usuario
- custom_css:
- desc_html: Modificar el aspecto con CSS cargado en cada pĂĄgina
- title: CSS personalizado
- domain_blocks:
- all: A todos
- disabled: A nadie
- hero:
- desc_html: Mostrado en la pĂĄgina principal. Recomendable al menos 600x100px. Por defecto se establece a la miniatura de la instancia
- title: Imagen de portada
- mascot:
- desc_html: Mostrado en mĂşltiples pĂĄginas. Se recomienda un tamaĂąo mĂnimo de 293x205px. Cuando no se especifica, se muestra la mascota por defecto
- title: Imagen de la mascota
- peers_api_enabled:
- desc_html: Nombres de dominio que esta instancia ha encontrado en el fediverso
- title: Publicar lista de instancias descubiertas
- preview_sensitive_media:
- desc_html: Los enlaces de vistas previas en otras web mostrarĂĄn una miniatura incluso si el medio estĂĄ marcado como contenido sensible
- title: Mostrar contenido sensible en previews de OpenGraph
- profile_directory:
- desc_html: Permitir que los usuarios puedan ser descubiertos
- title: Habilitar directorio de perfiles
- registrations:
- closed_message:
- desc_html: Se muestra en la portada cuando los registros estĂĄn cerrados. Puedes usar tags HTML
- title: Mensaje de registro cerrado
- deletion:
- desc_html: Permite a cualquiera a eliminar su cuenta
- title: EliminaciĂłn de cuenta abierta
- min_invite_role:
- disabled: Nadie
- title: Permitir invitaciones de
- registrations_mode:
- modes:
- approved: Se requiere aprobaciĂłn para registrarse
- none: Nadie puede registrarse
- open: Cualquiera puede registrarse
- title: Modo de registros
- show_known_fediverse_at_about_page:
- desc_html: Cuando estĂŠ activado, se mostrarĂĄn toots de todo el fediverso conocido en la vista previa. En otro caso, se mostrarĂĄn solamente toots locales.
- title: Mostrar fediverso conocido en la vista previa de la historia
- show_staff_badge:
- desc_html: Mostrar un parche de staff en la pĂĄgina de un usuario
- title: Mostrar parche de staff
- site_description:
- desc_html: PĂĄrrafo introductorio en la portada y en meta tags. Puedes usar tags HTML, en particular <a> y <em>.
- title: DescripciĂłn de instancia
- site_description_extended:
- desc_html: Un buen lugar para tu cĂłdigo de conducta, reglas, guĂas y otras cosas que estĂŠn impuestas aparte en tu instancia. Puedes usar tags HTML
- title: InformaciĂłn extendida personalizada
- site_short_description:
- desc_html: Mostrado en la barra lateral y las etiquetas de metadatos. Describe lo que es Mastodon y quĂŠ hace especial a este servidor en un solo pĂĄrrafo. si estĂĄ vacĂo, pone por defecto la descripciĂłn de la instancia.
- title: DescripciĂłn corta de la instancia
- site_terms:
- desc_html: Puedes escribir tus propias polĂticas de privacidad, tĂŠrminos de servicio u otras legalidades. Puedes usar tags HTML
- title: TĂŠrminos de servicio personalizados
- site_title: Nombre de instancia
- spam_check_enabled:
- desc_html: Mastodon puede silenciar y reportar cuentas automĂĄticamente usando medidas como detectar cuentas que envĂan mensajes no solicitados repetidos. Puede que haya falsos positivos.
- title: Contra-spam
- thumbnail:
- desc_html: Se usa para muestras con OpenGraph y APIs. Se recomienda 1200x630px
- title: Portada de instancia
- timeline_preview:
- desc_html: Mostrar lĂnea de tiempo pĂşblica en la portada
- title: PrevisualizaciĂłn
- title: Ajustes del sitio
- trends:
- desc_html: Mostrar pĂşblicamente hashtags previamente revisados que son tendencia
- title: Hashtags de tendencia
- statuses:
- back_to_account: Volver a la cuenta
- batch:
- delete: Eliminar
- nsfw_off: Marcar contenido como no sensible
- nsfw_on: Marcar contenido como sensible
- deleted: Eliminado
- failed_to_execute: FallĂł al ejecutar
- media:
- title: Multimedia
- no_media: No hay multimedia
- no_status_selected: No se cambiĂł ningĂşn estado al no seleccionar ninguno
- title: Estado de las cuentas
- with_media: Con multimedia
- tags:
- accounts_today: Usos Ăşnicos de hoy
- accounts_week: Usos Ăşnicos esta semana
- context: Contexto
- directory: En el directorio
- in_directory: "%{count} en el directorio"
- last_active: Ăltima actividad
- most_popular: MĂĄs popular
- most_recent: MĂĄs reciente
- name: Hashtag
- review: Estado de revisiĂłn
- reviewed: Revisado
- title: Etiquetas
- trending_right_now: En tendencia ahora mismo
- unique_uses_today: "%{count} publicando hoy"
- unreviewed: No revisado
- updated_msg: Hashtags actualizados exitosamente
- title: AdministraciĂłn
- warning_presets:
- add_new: AĂąadir nuevo
- delete: Borrar
- edit: Editar
- edit_preset: Editar aviso predeterminado
- title: Editar configuraciĂłn predeterminada de avisos
- admin_mailer:
- new_pending_account:
- body: Los detalles de la nueva cuenta estĂĄn abajos. Puedes aprobar o rechazar esta aplicaciĂłn.
- subject: Nueva cuenta para revisiĂłn en %{instance} (%{username})
- new_report:
- body: "%{reporter} ha reportado a %{target}"
- body_remote: Alguien de %{domain} a reportado a %{target}
- subject: Nuevo reporte para la %{instance} (#%{id})
- new_trending_tag:
- body: 'El hashtag #%{name} estĂĄ en tendencia hoy, pero no ha sido revisado previamente. No se mostrarĂĄ pĂşblicamente a menos que lo permita, o simplemente guarde el formulario como para no volver a ver esto.'
- subject: Nuevo hashtag para revisiĂłn en %{instance} (#%{name})
- appearance:
- advanced_web_interface: Interfaz web avanzada
- advanced_web_interface_hint: 'Si desea utilizar todo el ancho de pantalla, la interfaz web avanzada le permite configurar varias columnas diferentes para ver tanta informaciĂłn al mismo tiempo como quiera: Inicio, notificaciones, lĂnea de tiempo federada, cualquier nĂşmero de listas y etiquetas.'
- animations_and_accessibility: Animaciones y accesibilidad
- confirmation_dialogs: DiĂĄlogos de confirmaciĂłn
- discovery: Descubrir
- sensitive_content: Contenido sensible
- application_mailer:
- notification_preferences: Cambiar preferencias de correo electrĂłnico
- salutation: "%{name},"
- settings: 'Cambiar preferencias de correo: %{link}'
- view: 'Vista:'
- view_profile: Ver perfil
- view_status: Ver estado
- applications:
- created: AplicaciĂłn creada exitosamente
- destroyed: ApicaciĂłn eliminada exitosamente
- invalid_url: La URL proporcionada es incorrecta
- regenerate_token: Regenerar token de acceso
- token_regenerated: Token de acceso regenerado exitosamente
- warning: Ten mucho cuidado con estos datos. ÂĄNo los compartas con nadie!
- your_token: Tu token de acceso
- auth:
- apply_for_account: Solicitar una invitaciĂłn
- change_password: ContraseĂąa
- checkbox_agreement_html: Acepto las reglas del servidor y tĂŠrminos de servicio
- checkbox_agreement_without_rules_html: Acepto los tĂŠrminos de servicio
- delete_account: Borrar cuenta
- delete_account_html: Si desea eliminar su cuenta, puede proceder aquĂ. SerĂĄ pedido de una confirmaciĂłn.
- didnt_get_confirmation: "ÂżNo recibiĂł el correo de confirmaciĂłn?"
- forgot_password: "ÂżOlvidaste tu contraseĂąa?"
- invalid_reset_password_token: El token de reinicio de contraseĂąa es invĂĄlido o expirĂł. Por favor pide uno nuevo.
- login: Iniciar sesiĂłn
- logout: Cerrar sesiĂłn
- migrate_account: Mudarse a otra cuenta
- migrate_account_html: Si deseas redireccionar esta cuenta a otra distinta, puedes configurarlo aquĂ.
- or_log_in_with: O inicia sesiĂłn con
- providers:
- cas: CAS
- saml: SAML
- register: Registrarse
- registration_closed: "%{instance} no estĂĄ aceptando nuevos miembros"
- resend_confirmation: Volver a enviar el correo de confirmaciĂłn
- reset_password: Restablecer contraseĂąa
- security: Cambiar contraseĂąa
- set_new_password: Establecer nueva contraseĂąa
- setup:
- email_below_hint_html: Si la direcciĂłn de correo electrĂłnico que aparece a continuaciĂłn es incorrecta, se puede cambiarla aquĂ y recibir un nuevo correo electrĂłnico de confirmaciĂłn.
- email_settings_hint_html: El correo electrĂłnico de confirmaciĂłn fue enviado a %{email}. Si esa direcciĂłn de correo electrĂłnico no sea correcta, se puede cambiarla en la configuraciĂłn de la cuenta.
- title: ConfiguraciĂłn
- status:
- account_status: Estado de la cuenta
- confirming: Esperando confirmaciĂłn de correo electrĂłnico.
- functional: Su cuenta estĂĄ totalmente operativa.
- pending: Su solicitud estĂĄ pendiente de revisiĂłn por nuestros administradores. Eso puede tardar algĂşn tiempo. Usted recibirĂĄ un correo electrĂłnico si el solicitud sea aprobada.
- trouble_logging_in: "ÂżProblemas para iniciar sesiĂłn?"
- authorize_follow:
- already_following: Ya estĂĄs siguiendo a esta cuenta
- error: Desafortunadamente, ha ocurrido un error buscando la cuenta remota
- follow: Seguir
- follow_request: 'Tienes una solicitud de seguimiento de:'
- following: "ÂĄĂxito! Ahora estĂĄs siguiendo a:"
- post_follow:
- close: O, puedes simplemente cerrar esta ventana.
- return: Regresar al perfil del usuario
- web: Ir al sitio web
- title: Seguir a %{acct}
- challenge:
- confirm: Continuar
- datetime:
- distance_in_words:
- about_x_hours: "%{count}h"
- about_x_months: "%{count}m"
- about_x_years: "%{count}a"
- almost_x_years: "%{count}a"
- half_a_minute: Justo ahora
- less_than_x_minutes: "%{count}m"
- less_than_x_seconds: Justo ahora
- over_x_years: "%{count}a"
- x_days: "%{count}d"
- x_minutes: "%{count}m"
- x_months: "%{count}m"
- x_seconds: "%{count}s"
- deletes:
- confirm_password: Ingresa tu contraseĂąa actual para demostrar tu identidad
- proceed: Eliminar cuenta
- success_msg: Tu cuenta se eliminĂł con ĂŠxito
- directories:
- directory: Directorio de perfiles
- explanation: Descubre usuarios segĂşn sus intereses
- explore_mastodon: Explorar %{title}
- domain_validator:
- invalid_domain: no es un nombre de dominio vĂĄlido
- errors:
- '400': The request you submitted was invalid or malformed.
- '403': No tienes permiso para acceder a esta pĂĄgina.
- '404': La pĂĄgina que estabas buscando no existe.
- '406': This page is not available in the requested format.
- '410': La pĂĄgina que estabas buscando no existe mĂĄs.
- '422':
- content: VerificaciĂłn de seguridad fallida. ÂżEstĂĄs bloqueando algunas cookies?
- title: VerificaciĂłn de seguridad fallida
- '429': Asfixiado
- '500':
- content: Lo sentimos, algo ha funcionado mal por nuestra parte.
- title: Esta pĂĄgina no es correcta
- '503': The page could not be served due to a temporary server failure.
- noscript_html: Para usar la aplicaciĂłn web de Mastodon, por favor activa Javascript. Alternativamente, prueba alguna de las aplicaciones nativas para Mastodon para tu plataforma.
- existing_username_validator:
- not_found: no pudo encontrar un usuario local con ese nombre de usuario
- not_found_multiple: no pudo encontrar %{usernames}
- exports:
- archive_takeout:
- date: Fecha
- download: Descargar tu archivo
- hint_html: Puedes solicitar un archivo de tus toots y materiales subidos. Los datos exportados estarĂĄn en formato ActivityPub, legibles por cualquier software compatible.
- in_progress: Recopilando tu archivo...
- request: Solicitar tu archivo
- size: TamaĂąo
- blocks: Personas que has bloqueado
- csv: CSV
- domain_blocks: Bloqueos de dominios
- follows: Personas que sigues
- lists: Listas
- mutes: Tienes en silencio
- storage: Almacenamiento
- featured_tags:
- add_new: AĂąadir nuevo
- errors:
- limit: Ya has alcanzado la cantidad mĂĄxima de hashtags
- filters:
- contexts:
- home: Timeline propio
- notifications: Notificaciones
- public: Timeline pĂşblico
- thread: Conversaciones
- edit:
- title: Editar filtro
- errors:
- invalid_context: Se suminstrĂł un contexto invĂĄlido o vacĂo
- invalid_irreversible: El filtrado irreversible solo funciona con los contextos propios o de notificaciones
- index:
- delete: Borrar
- title: Filtros
- new:
- title: AĂąadir un nuevo filtro
- footer:
- developers: Desarrolladores
- more: MasâŚ
- resources: Recursos
- trending_now: Tendencia ahora
- generic:
- all: Todos
- changes_saved_msg: "ÂĄCambios guardados con ĂŠxito!"
- copy: Copiar
- order_by: Ordenar por
- save_changes: Guardar cambios
- validation_errors:
- one: "ÂĄAlgo no estĂĄ bien! Por favor, revisa el error"
- other: "ÂĄAlgo no estĂĄ bien! Por favor, revise %{count} errores mĂĄs abajo"
- html_validator:
- invalid_markup: 'contiene cĂłdigo HTML no vĂĄlido: %{error}'
- identity_proofs:
- active: Activo
- authorize: SĂ, autorizar
- authorize_connection_prompt: "ÂżAutorizar esta conexiĂłn criptogrĂĄfica?"
- errors:
- failed: La conexiĂłn criptogrĂĄfica fallĂł. Por favor, intĂŠntalo de nuevo desde %{provider}.
- keybase:
- invalid_token: Los tokens de Keybase son hashes de firmas y deben tener 66 caracteres hex
- verification_failed: Keybase no reconoce este token como una firma del usuario de Keybase %{kb_username}. Por favor, intĂŠntelo de nuevo desde Keybase.
- wrong_user: No se puede crear una prueba para %{proving} mientras se inicia sesiĂłn como %{current}. Inicia sesiĂłn como %{proving} e intĂŠntalo de nuevo.
- explanation_html: AquĂ puedes conectar criptogrĂĄficamente sus otras identidades, como un perfil de Keybase. Esto permite a otras personas enviarle mensajes encriptados y confiar en el contenido que les envĂas.
- i_am_html: Soy %{username} en %{service}.
- identity: Identidad
- inactive: Inactivo
- publicize_checkbox: 'Y tootee esto:'
- publicize_toot: "ÂĄComprobado! Soy %{username} en %{service}: %{url}"
- status: Estado de la verificaciĂłn
- view_proof: Ver prueba
- imports:
- modes:
- merge: Unir
- merge_long: Mantener registros existentes y aĂąadir nuevos
- overwrite: Sobrescribir
- overwrite_long: Reemplazar registros actuales con los nuevos
- preface: Puedes importar ciertos datos, como todas las personas que estĂĄs siguiendo o bloqueando en tu cuenta en esta instancia, desde archivos exportados de otra instancia.
- success: Sus datos se han cargado correctamente y serĂĄn procesados en brevedad
- types:
- blocking: Lista de bloqueados
- domain_blocking: Lista de dominios bloqueados
- following: Lista de seguidos
- muting: Lista de silenciados
- upload: Cargar
- in_memoriam_html: En memoria.
- invites:
- delete: Desactivar
- expired: Expiradas
- expires_in:
- '1800': 30 minutos
- '21600': 6 horas
- '3600': 1 hora
- '43200': 12 horas
- '604800': 1 semana
- '86400': 1 dĂa
- expires_in_prompt: Nunca
- generate: Generar
- invited_by: 'Fuiste invitado por:'
- max_uses:
- one: 1 uso
- other: "%{count} usos"
- max_uses_prompt: Sin lĂmite
- prompt: Generar y compartir enlaces con otros para conceder acceso a este nodo
- table:
- expires_at: Expira
- uses: Usos
- title: Invitar a gente
- lists:
- errors:
- limit: Has alcanzado la cantidad mĂĄxima de listas
- media_attachments:
- validations:
- images_and_video: No se puede adjuntar un video a un estado que ya contenga imĂĄgenes
- too_many: No se pueden adjuntar mĂĄs de 4 archivos
- migrations:
- acct: username@domain de la nueva cuenta
- moderation:
- title: ModeraciĂłn
- notification_mailer:
- digest:
- action: Ver todas las notificaciones
- body: Un resumen de los mensajes que perdiste en desde tu Ăşltima visita, el %{since}
- mention: "%{name} te ha mencionado en:"
- new_followers_summary:
- one: "ÂĄAdemas, has adquirido un nuevo seguidor mientras no estabas! ÂĄHurra!"
- other: "ÂĄAdemas, has adquirido %{count} nuevos seguidores mientras no estabas! ÂĄGenial!"
- subject:
- one: "1 nueva notificaciĂłn desde tu Ăşltima visita \U0001F418"
- other: "%{count} nuevas notificaciones desde tu Ăşltima visita \U0001F418"
- title: En tu ausenciaâŚ
- favourite:
- body: 'Tu estado fue marcado como favorito por %{name}:'
- subject: "%{name} marcĂł como favorito tu estado"
- title: Nuevo favorito
- follow:
- body: "ÂĄ%{name} te estĂĄ siguiendo!"
- subject: "%{name} te estĂĄ siguiendo"
- title: Nuevo seguidor
- follow_request:
- action: Administrar solicitudes para seguir
- body: "%{name} ha solicitado seguirte"
- subject: 'Seguidor pendiente: %{name}'
- title: Nueva solicitud para seguir
- mention:
- action: Responder
- body: 'Fuiste mencionado por %{name} en:'
- subject: Fuiste mencionado por %{name}
- title: Nueva menciĂłn
- reblog:
- body: "%{name} ha retooteado tu estado:"
- subject: "%{name} ha retooteado tu estado"
- title: Nueva difusiĂłn
- number:
- human:
- decimal_units:
- format: "%n%u"
- units:
- billion: B
- million: M
- quadrillion: Q
- thousand: m
- trillion: T
- pagination:
- newer: MĂĄs nuevo
- next: PrĂłximo
- older: MĂĄs antiguo
- prev: Anterior
- truncate: "…"
- polls:
- errors:
- already_voted: Ya has votado en esta encuesta
- duplicate_options: contiene elementos duplicados
- duration_too_long: estĂĄ demasiado lejos en el futuro
- duration_too_short: es demasiado pronto
- expired: La encuesta ya ha terminado
- over_character_limit: no puede exceder %{max} caracteres cada uno
- too_few_options: debe tener mĂĄs de un elemento
- too_many_options: no puede contener mĂĄs de %{max} elementos
- preferences:
- other: Otros
- posting_defaults: ConfiguraciĂłn por defecto de publicaciones
- public_timelines: LĂneas de tiempo pĂşblicas
- relationships:
- activity: Actividad de la cuenta
- dormant: Inactivo
- last_active: Ăltima actividad
- most_recent: MĂĄs reciente
- moved: Movido
- mutual: Mutuo
- primary: Principal
- relationship: RelaciĂłn
- remove_selected_domains: Eliminar todos los seguidores de los dominios seleccionados
- remove_selected_followers: Eliminar los seguidores seleccionados
- remove_selected_follows: Dejar de seguir a los usuarios seleccionados
- status: Estado de la cuenta
- remote_follow:
- acct: Ingesa tu usuario@dominio desde el que quieres seguir
- missing_resource: No se pudo encontrar la URL de redirecciĂłn requerida para tu cuenta
- no_account_html: "ÂżNo tienes una cuenta? Puedes registrarte aqui"
- proceed: Proceder a seguir
- prompt: 'Vas a seguir a:'
- reason_html: "¿¿Por quÊ es necesario este paso?%{instance} puede que no sea el servidor donde estås registrado, asà que necesitamos redirigirte primero a tu servidor de origen."
- remote_interaction:
- favourite:
- proceed: Proceder a marcar como favorito
- prompt: 'Quieres marcar como favorito este toot:'
- reblog:
- proceed: Proceder a retootear
- prompt: 'Quieres retootear este toot:'
- reply:
- proceed: Proceder a responder
- prompt: 'Quieres responder a este toot:'
- scheduled_statuses:
- over_daily_limit: Ha superado el lĂmite de %{limit} toots programados para ese dĂa
- over_total_limit: Ha superado el lĂmite de %{limit} toots programados
- too_soon: La fecha programada debe estar en el futuro
- sessions:
- activity: Ăltima actividad
- browser: Navegador
- browsers:
- alipay: Alipay
- blackberry: Blackberry
- chrome: Chrome
- edge: Microsoft Edge
- electron: Electron
- firefox: Firefox
- generic: Desconocido
- ie: Internet Explorer
- micro_messenger: MicroMessenger
- nokia: Navegador de Nokia S40 Ovi
- opera: Opera
- otter: Otter
- phantom_js: PhantomJS
- qq: Navegador QQ
- safari: Safari
- uc_browser: UCBrowser
- weibo: Weibo
- current_session: SesiĂłn actual
- description: "%{browser} en %{platform}"
- explanation: Estos son los navegadores web conectados actualmente en tu cuenta de Mastodon.
- ip: IP
- platforms:
- adobe_air: Adobe Air
- android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
- firefox_os: Firefox OS
- ios: iOS
- linux: Linux
- mac: Mac
- other: Desconocido
- windows: Windows
- windows_mobile: Windows Mobile
- windows_phone: Windows Phone
- revoke: Revocar
- revoke_success: SesiĂłn revocada exitosamente
- title: Sesiones
- settings:
- account: Cuenta
- account_settings: Ajustes de la cuenta
- appearance: Apariencia
- authorized_apps: Aplicaciones autorizadas
- back: Volver al inicio
- delete: Borrar cuenta
- development: Desarrollo
- edit_profile: Editar perfil
- export: Exportar informaciĂłn
- featured_tags: Hashtags destacados
- identity_proofs: Pruebas de identidad
- import: Importar
- import_and_export: Importar y exportar
- migrate: MigraciĂłn de cuenta
- notifications: Notificaciones
- preferences: Preferencias
- profile: Perfil
- relationships: Siguiendo y seguidores
- two_factor_authentication: AutenticaciĂłn de dos factores
- spam_check:
- spam_detected_and_silenced: Este es un informe automatizado. Se ha detectado spam y el remitente ha sido silenciado automĂĄticamente. Si esto es un error, por favor, deja de silenciar la cuenta.
- statuses:
- attached:
- description: 'Adjunto: %{attached}'
- image:
- one: "%{count} imagen"
- other: "%{count} imĂĄgenes"
- video:
- one: "%{count} vĂdeo"
- other: "%{count} vĂdeos"
- boosted_from_html: Impulsado desde %{acct_link}
- content_warning: 'Alerta de contenido: %{warning}'
- disallowed_hashtags:
- one: 'contenĂa un hashtag no permitido: %{tags}'
- other: 'contenĂa los hashtags no permitidos: %{tags}'
- language_detection: DetecciĂłn automĂĄtica de idioma
- open_in_web: Abrir en web
- over_character_limit: LĂmite de caracteres de %{max} superado
- pin_errors:
- limit: Ya has fijado el nĂşmero mĂĄximo de publicaciones
- ownership: El toot de alguien mĂĄs no puede fijarse
- private: Los toots no-pĂşblicos no pueden fijarse
- reblog: Un boost no puede fijarse
- poll:
- total_votes:
- one: "%{count} voto"
- other: "%{count} votos"
- vote: Vota
- show_more: Mostrar mĂĄs
- sign_in_to_participate: RegĂstrate para participar en la conversaciĂłn
- title: '%{name}: "%{quote}"'
- visibilities:
- private: SĂłlo mostrar a seguidores
- private_long: Solo mostrar a tus seguidores
- public: PĂşblico
- public_long: Todos pueden ver
- unlisted: PĂşblico, pero no mostrar en la historia federada
- unlisted_long: Todos pueden ver, pero no estĂĄ listado en las lĂneas de tiempo pĂşblicas
- stream_entries:
- pinned: Toot fijado
- reblogged: retooteado
- sensitive_content: Contenido sensible
- tags:
- does_not_match_previous_name: no coincide con el nombre anterior
- terms:
- body_html: |
-
PolĂtica de Privacidad
-
ÂżQuĂŠ informaciĂłn recogemos?
-
-
-
InformaciĂłn bĂĄsica sobre su cuenta: Si se registra en este servidor, se le requerirĂĄ un nombre de usuario, una direcciĂłn de correo electrĂłnico y una contraseĂąa. AdemĂĄs puede incluir informaciĂłn adicional en el perfil como un nombre de perfil y una biografĂa, y subir una foto de perfil y una imagen de cabecera. El nombre de usuario, nombre de perfil, biografĂa, foto de perfil e imagen de cabecera siempre son visibles pĂşblicamente
-
Publicaciones, seguimiento y otra informaciĂłn pĂşblica: La lista de gente a la que sigue es mostrada pĂşblicamente, al igual que sus seguidores. Cuando publica un mensaje, la fecha y hora es almacenada, asĂ como la aplicaciĂłn desde la cual publicĂł el mensaje. Los mensajes pueden contener archivos adjuntos multimedia, como imĂĄgenes y vĂdeos. Las publicaciones pĂşblicas y no listadas estĂĄn disponibles pĂşblicamente. Cuando destaca una entrada en su perfil, tambiĂŠn es informaciĂłn disponible pĂşblicamente. Sus publicaciones son entregadas a sus seguidores, en algunos casos significa que son entregadas a diferentes servidores y las copias son almacenadas allĂ. Cuando elimina publicaciones, esto tambiĂŠn se transfiere a sus seguidores. La acciĂłn de rebloguear o marcar como favorito otra publicaciĂłn es siempre pĂşblica.
-
Publicaciones directas y sĂłlo para seguidores: Todos los mensajes se almacenan y procesan en el servidor. Los mensajes sĂłlo para seguidores se entregan a los seguidores y usuarios que se mencionan en ellos, y los mensajes directos se entregan sĂłlo a los usuarios que se mencionan en ellos. En algunos casos significa que se entregan a diferentes servidores y que las copias se almacenan allĂ. Hacemos un esfuerzo de buena fe para limitar el acceso a esas publicaciones sĂłlo a las personas autorizadas, pero otros servidores pueden no hacerlo. Por lo tanto, es importante revisar los servidores a los que pertenecen sus seguidores. Puede cambiar una opciĂłn para aprobar y rechazar nuevos seguidores manualmente en la configuraciĂłn Por favor, tenga en cuenta que los operadores del servidor y de cualquier servidor receptor pueden ver dichos mensajes, y que los destinatarios pueden capturarlos, copiarlos o volver a compartirlos de alguna otra manera. No comparta ninguna informaciĂłn peligrosa en Mastodon.
-
Direcciones IP y otros metadatos: Al iniciar sesiĂłn, registramos la direcciĂłn IP desde la que se ha iniciado sesiĂłn, asĂ como el nombre de la aplicaciĂłn de su navegador. Todas las sesiones iniciadas estĂĄn disponibles para su revisiĂłn y revocaciĂłn en los ajustes. La Ăşltima direcciĂłn IP utilizada se almacena hasta 12 meses. TambiĂŠn podemos conservar los registros del servidor que incluyen la direcciĂłn IP de cada solicitud a nuestro servidor.
-
-
-
-
-
ÂżPara quĂŠ utilizamos su informaciĂłn?
-
-
Toda la informaciĂłn que obtenemos de usted puede ser utilizada de las siguientes maneras:
-
-
-
Para proporcionar la funcionalidad principal de Mastodon. SĂłlo puedes interactuar con el contenido de otras personas y publicar tu propio contenido cuando estĂŠs conectado. Por ejemplo, puedes seguir a otras personas para ver sus mensajes combinados en tu propia lĂnea de tiempo personalizada.
-
Para ayudar a la moderaciĂłn de la comunidad, por ejemplo, comparando su direcciĂłn IP con otras conocidas para determinar la evasiĂłn de prohibiciones u otras violaciones.
-
La direcciĂłn de correo electrĂłnico que nos proporcione podrĂĄ utilizarse para enviarle informaciĂłn, notificaciones sobre otras personas que interactĂşen con su contenido o para enviarle mensajes, asĂ como para responder a consultas y/u otras solicitudes o preguntas.
-
-
-
-
-
ÂżCĂłmo protegemos su informaciĂłn?
-
-
Implementamos una variedad de medidas de seguridad para mantener la seguridad de su informaciĂłn personal cuando usted ingresa, envĂa o accede a su informaciĂłn personal. Entre otras cosas, la sesiĂłn de su navegador, asĂ como el trĂĄfico entre sus aplicaciones y la API, estĂĄn protegidos con SSL, y su contraseĂąa estĂĄ protegida mediante un algoritmo unidireccional fuerte. Puede habilitar la autenticaciĂłn de dos factores para un acceso mĂĄs seguro a su cuenta.
-
-
-
-
ÂżCuĂĄl es nuestra polĂtica de retenciĂłn de datos?
-
-
Haremos un esfuerzo de buena fe para:
-
-
-
Conservar los registros del servidor que contengan la direcciĂłn IP de todas las peticiones a este servidor, en la medida en que se mantengan dichos registros, no mĂĄs de 90 dĂas.
-
Conservar las direcciones IP asociadas a los usuarios registrados no mĂĄs de 12 meses.
-
-
-
Puede solicitar y descargar un archivo de su contenido, incluidos sus mensajes, archivos adjuntos multimedia, foto de perfil e imagen de cabecera.
-
-
Usted puede borrar su cuenta de forma irreversible en cualquier momento.
-
-
-
-
ÂżUtilizamos cookies?
-
-
SĂ. Las cookies son pequeĂąos archivos que un sitio o su proveedor de servicios transfiere al disco duro de su ordenador a travĂŠs de su navegador web (si usted lo permite). Estas cookies permiten al sitio reconocer su navegador y, si tiene una cuenta registrada, asociarla con su cuenta registrada.
-
-
Utilizamos cookies para entender y guardar sus preferencias para futuras visitas.
-
-
-
-
ÂżRevelamos alguna informaciĂłn a terceros?
-
-
No vendemos, comerciamos ni transferimos a terceros su informaciĂłn personal identificable. Esto no incluye a los terceros de confianza que nos asisten en la operaciĂłn de nuestro sitio, en la realizaciĂłn de nuestros negocios o en la prestaciĂłn de servicios, siempre y cuando dichas partes acuerden mantener la confidencialidad de esta informaciĂłn. TambiĂŠn podemos divulgar su informaciĂłn cuando creamos que es apropiado para cumplir con la ley, hacer cumplir las polĂticas de nuestro sitio, o proteger nuestros u otros derechos, propiedad o seguridad.
-
-
Su contenido pĂşblico puede ser descargado por otros servidores de la red. Tus mensajes pĂşblicos y sĂłlo para seguidores se envĂan a los servidores donde residen tus seguidores, y los mensajes directos se envĂan a los servidores de los destinatarios, en la medida en que dichos seguidores o destinatarios residan en un servidor diferente.
-
-
Cuando usted autoriza a una aplicaciĂłn a usar su cuenta, dependiendo del alcance de los permisos que usted apruebe, puede acceder a la informaciĂłn de su perfil pĂşblico, su lista de seguimiento, sus seguidores, sus listas, todos sus mensajes y sus favoritos. Las aplicaciones nunca podrĂĄn acceder a su direcciĂłn de correo electrĂłnico o contraseĂąa.
-
-
-
-
Uso del sitio por parte de los niĂąos
-
-
Si este servidor estĂĄ en la UE o en el EEE: Nuestro sitio, productos y servicios estĂĄn dirigidos a personas mayores de 16 aĂąos. Si es menor de 16 aĂąos, segĂşn los requisitos de la GDPR (General Data Protection Regulation) no utilice este sitio.
-
-
Si este servidor estĂĄ en los EE.UU.: Nuestro sitio, productos y servicios estĂĄn todos dirigidos a personas que tienen al menos 13 aĂąos de edad. Si usted es menor de 13 aĂąos, segĂşn los requisitos de COPPA (Children's Online Privacy Protection Act) no utilice este sitio.
-
-
Los requisitos legales pueden ser diferentes si este servidor estĂĄ en otra jurisdicciĂłn.
-
-
-
-
Cambios en nuestra PolĂtica de Privacidad
-
-
Si decidimos cambiar nuestra polĂtica de privacidad, publicaremos esos cambios en esta pĂĄgina.
-
-
Este documento es CC-BY-SA. Fue actualizado por Ăşltima vez el 7 de marzo de 2018.
InformaciĂłn bĂĄsica sobre su cuenta: Si se registra en este servidor, se le requerirĂĄ un nombre de usuario, una direcciĂłn de correo electrĂłnico y una contraseĂąa. AdemĂĄs puede incluir informaciĂłn adicional en el perfil como un nombre de perfil y una biografĂa, y subir una foto de perfil y una imagen de cabecera. El nombre de usuario, nombre de perfil, biografĂa, foto de perfil e imagen de cabecera siempre son visibles pĂşblicamente
+
Publicaciones, seguimiento y otra informaciĂłn pĂşblica: La lista de gente a la que sigue es mostrada pĂşblicamente, al igual que sus seguidores. Cuando publica un mensaje, la fecha y hora es almacenada, asĂ como la aplicaciĂłn desde la cual publicĂł el mensaje. Los mensajes pueden contener archivos adjuntos multimedia, como imĂĄgenes y vĂdeos. Las publicaciones pĂşblicas y no listadas estĂĄn disponibles pĂşblicamente. Cuando destaca una entrada en su perfil, tambiĂŠn es informaciĂłn disponible pĂşblicamente. Sus publicaciones son entregadas a sus seguidores, en algunos casos significa que son entregadas a diferentes servidores y las copias son almacenadas allĂ. Cuando elimina publicaciones, esto tambiĂŠn se transfiere a sus seguidores. La acciĂłn de rebloguear o marcar como favorito otra publicaciĂłn es siempre pĂşblica.
+
Publicaciones directas y sĂłlo para seguidores: Todos los mensajes se almacenan y procesan en el servidor. Los mensajes sĂłlo para seguidores se entregan a los seguidores y usuarios que se mencionan en ellos, y los mensajes directos se entregan sĂłlo a los usuarios que se mencionan en ellos. En algunos casos significa que se entregan a diferentes servidores y que las copias se almacenan allĂ. Hacemos un esfuerzo de buena fe para limitar el acceso a esas publicaciones sĂłlo a las personas autorizadas, pero otros servidores pueden no hacerlo. Por lo tanto, es importante revisar los servidores a los que pertenecen sus seguidores. Puede cambiar una opciĂłn para aprobar y rechazar nuevos seguidores manualmente en la configuraciĂłn Por favor, tenga en cuenta que los operadores del servidor y de cualquier servidor receptor pueden ver dichos mensajes, y que los destinatarios pueden capturarlos, copiarlos o volver a compartirlos de alguna otra manera. No comparta ninguna informaciĂłn peligrosa en Mastodon.
+
Direcciones IP y otros metadatos: Al iniciar sesiĂłn, registramos la direcciĂłn IP desde la que se ha iniciado sesiĂłn, asĂ como el nombre de la aplicaciĂłn de su navegador. Todas las sesiones iniciadas estĂĄn disponibles para su revisiĂłn y revocaciĂłn en los ajustes. La Ăşltima direcciĂłn IP utilizada se almacena hasta 12 meses. TambiĂŠn podemos conservar los registros del servidor que incluyen la direcciĂłn IP de cada solicitud a nuestro servidor.
+
+
+
+
+
ÂżPara quĂŠ utilizamos su informaciĂłn?
+
+
Toda la informaciĂłn que obtenemos de usted puede ser utilizada de las siguientes maneras:
+
+
+
Para proporcionar la funcionalidad principal de Mastodon. SĂłlo puedes interactuar con el contenido de otras personas y publicar tu propio contenido cuando estĂŠs conectado. Por ejemplo, puedes seguir a otras personas para ver sus mensajes combinados en tu propia lĂnea de tiempo personalizada.
+
Para ayudar a la moderaciĂłn de la comunidad, por ejemplo, comparando su direcciĂłn IP con otras conocidas para determinar la evasiĂłn de prohibiciones u otras violaciones.
+
La direcciĂłn de correo electrĂłnico que nos proporcione podrĂĄ utilizarse para enviarle informaciĂłn, notificaciones sobre otras personas que interactĂşen con su contenido o para enviarle mensajes, asĂ como para responder a consultas y/u otras solicitudes o preguntas.
+
+
+
+
+
ÂżCĂłmo protegemos su informaciĂłn?
+
+
Implementamos una variedad de medidas de seguridad para mantener la seguridad de su informaciĂłn personal cuando usted ingresa, envĂa o accede a su informaciĂłn personal. Entre otras cosas, la sesiĂłn de su navegador, asĂ como el trĂĄfico entre sus aplicaciones y la API, estĂĄn protegidos con SSL, y su contraseĂąa estĂĄ protegida mediante un algoritmo unidireccional fuerte. Puede habilitar la autenticaciĂłn de dos factores para un acceso mĂĄs seguro a su cuenta.
+
+
+
+
ÂżCuĂĄl es nuestra polĂtica de retenciĂłn de datos?
+
+
Haremos un esfuerzo de buena fe para:
+
+
+
Conservar los registros del servidor que contengan la direcciĂłn IP de todas las peticiones a este servidor, en la medida en que se mantengan dichos registros, no mĂĄs de 90 dĂas.
+
Conservar las direcciones IP asociadas a los usuarios registrados no mĂĄs de 12 meses.
+
+
+
Puede solicitar y descargar un archivo de su contenido, incluidos sus mensajes, archivos adjuntos multimedia, foto de perfil e imagen de cabecera.
+
+
Usted puede borrar su cuenta de forma irreversible en cualquier momento.
+
+
+
+
ÂżUtilizamos cookies?
+
+
SĂ. Las cookies son pequeĂąos archivos que un sitio o su proveedor de servicios transfiere al disco duro de su ordenador a travĂŠs de su navegador web (si usted lo permite). Estas cookies permiten al sitio reconocer su navegador y, si tiene una cuenta registrada, asociarla con su cuenta registrada.
+
+
Utilizamos cookies para entender y guardar sus preferencias para futuras visitas.
+
+
+
+
ÂżRevelamos alguna informaciĂłn a terceros?
+
+
No vendemos, comerciamos ni transferimos a terceros su informaciĂłn personal identificable. Esto no incluye a los terceros de confianza que nos asisten en la operaciĂłn de nuestro sitio, en la realizaciĂłn de nuestros negocios o en la prestaciĂłn de servicios, siempre y cuando dichas partes acuerden mantener la confidencialidad de esta informaciĂłn. TambiĂŠn podemos divulgar su informaciĂłn cuando creamos que es apropiado para cumplir con la ley, hacer cumplir las polĂticas de nuestro sitio, o proteger nuestros u otros derechos, propiedad o seguridad.
+
+
Su contenido pĂşblico puede ser descargado por otros servidores de la red. Tus mensajes pĂşblicos y sĂłlo para seguidores se envĂan a los servidores donde residen tus seguidores, y los mensajes directos se envĂan a los servidores de los destinatarios, en la medida en que dichos seguidores o destinatarios residan en un servidor diferente.
+
+
Cuando usted autoriza a una aplicaciĂłn a usar su cuenta, dependiendo del alcance de los permisos que usted apruebe, puede acceder a la informaciĂłn de su perfil pĂşblico, su lista de seguimiento, sus seguidores, sus listas, todos sus mensajes y sus favoritos. Las aplicaciones nunca podrĂĄn acceder a su direcciĂłn de correo electrĂłnico o contraseĂąa.
+
+
+
+
Uso del sitio por parte de los niĂąos
+
+
Si este servidor estĂĄ en la UE o en el EEE: Nuestro sitio, productos y servicios estĂĄn dirigidos a personas mayores de 16 aĂąos. Si es menor de 16 aĂąos, segĂşn los requisitos de la GDPR (General Data Protection Regulation) no utilice este sitio.
+
+
Si este servidor estĂĄ en los EE.UU.: Nuestro sitio, productos y servicios estĂĄn todos dirigidos a personas que tienen al menos 13 aĂąos de edad. Si usted es menor de 13 aĂąos, segĂşn los requisitos de COPPA (Children's Online Privacy Protection Act) no utilice este sitio.
+
+
Los requisitos legales pueden ser diferentes si este servidor estĂĄ en otra jurisdicciĂłn.
+
+
+
+
Cambios en nuestra PolĂtica de Privacidad
+
+
Si decidimos cambiar nuestra polĂtica de privacidad, publicaremos esos cambios en esta pĂĄgina.
+
+
Este documento es CC-BY-SA. Fue actualizado por Ăşltima vez el 7 de marzo de 2018.
+ title: TĂŠrminos del Servicio y PolĂticas de Privacidad de %{instance}
+ themes:
+ contrast: Alto contraste
+ default: Mastodon
+ mastodon-light: Mastodon (claro)
+ time:
+ formats:
+ default: "%d de %b del %Y, %H:%M"
+ month: "%b %Y"
+ two_factor_authentication:
+ code_hint: Ingresa el cĂłdigo generado por tu aplicaciĂłn de autenticaciĂłn para confirmar
+ description_html: Si habilitas la autenticaciĂłn de dos factores, se requerirĂĄ estar en posesiĂłn de su telĂŠfono, lo que generarĂĄ tokens para que usted pueda iniciar sesiĂłn.
+ disable: Deshabilitar
+ enable: Habilitar
+ enabled: La autenticaciĂłn de dos factores estĂĄ activada
+ enabled_success: VerificaciĂłn de dos factores activada exitosamente
+ generate_recovery_codes: generar cĂłdigos de recuperaciĂłn
+ instructions_html: "Escanea este cĂłdigo QR desde Google Authenticator o una aplicaciĂłn similar en su telĂŠfono. Desde ahora, esta aplicaciĂłn va a generar tokens que tienes que ingresar cuando quieras iniciar sesiĂłn."
+ lost_recovery_codes: Los cĂłdigos de recuperaciĂłn te permiten obtener acceso a tu cuenta si pierdes tu telĂŠfono. Si has perdido tus cĂłdigos de recuperaciĂłn, puedes regenerarlos aquĂ. Tus viejos cĂłdigos de recuperaciĂłn se harĂĄn invĂĄlidos.
+ manual_instructions: 'Si no puedes escanear el cĂłdigo QR y necesitas introducirlo manualmente, este es el secreto en texto plano:'
+ recovery_codes: Hacer copias de seguridad de tus cĂłdigos de recuperaciĂłn
+ recovery_codes_regenerated: CĂłdigos de recuperaciĂłn regenerados con ĂŠxito
+ recovery_instructions_html: Si pierdes acceso a tu telĂŠfono, puedes usar uno de los siguientes cĂłdigos de recuperaciĂłn para obtener acceso a tu cuenta. Mantenlos a salvo. Por ejemplo, puedes imprimirlos y guardarlos con otros documentos importantes.
+ setup: Configurar
+ wrong_code: "ÂĄEl cĂłdigo ingresado es invĂĄlido! ÂżEl dispositivo y tiempo del servidor estĂĄn correctos?"
+ user_mailer:
+ backup_ready:
+ explanation: Has solicitado una copia completa de tu cuenta de Mastodon. ÂĄYa estĂĄ preparada para descargar!
+ subject: Tu archivo estĂĄ preparado para descargar
+ title: Descargar archivo
+ warning:
+ explanation:
+ disable: Mientras su cuenta estĂŠ congelada, la informaciĂłn de su cuenta permanecerĂĄ intacta, pero no puede realizar ninguna acciĂłn hasta que se desbloquee.
+ silence: Mientras su cuenta estĂĄ limitada, sĂłlo las personas que ya le estĂĄn siguiendo verĂĄn sus toots en este servidor, y puede que se le excluya de varios listados pĂşblicos. Sin embargo, otros pueden seguirle manualmente.
+ suspend: Su cuenta ha sido suspendida, y todos tus toots y tus archivos multimedia subidos han sido irreversiblemente eliminados de este servidor, y de los servidores donde tenĂas seguidores.
+ review_server_policies: Revisar las polĂticas del servidor
+ subject:
+ disable: Su cuenta %{acct} ha sido congelada
+ none: Advertencia para %{acct}
+ silence: Su cuenta %{acct} ha sido limitada
+ suspend: Su cuenta %{acct} ha sido suspendida
+ title:
+ disable: Cuenta congelada
+ none: Advertencia
+ silence: Cuenta limitada
+ suspend: Cuenta suspendida
+ welcome:
+ edit_profile_action: Configurar el perfil
+ edit_profile_step: Puedes personalizar tu perfil subiendo un avatar, una cabecera, cambiando tu nombre de usuario y mĂĄs cosas. Si quieres revisar a tus nuevos seguidores antes de que se les permita seguirte, puedes bloquear tu cuenta.
+ explanation: AquĂ hay algunos consejos para empezar
+ final_action: Empezar a publicar
+ final_step: 'ÂĄEmpieza a publicar! Incluso sin seguidores, tus mensajes pĂşblicos pueden ser vistos por otros, por ejemplo en la linea de tiempo local y con "hashtags". PodrĂas querer introducirte con el "hashtag" #introductions.'
+ 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.
+ review_preferences_action: Cambiar preferencias
+ review_preferences_step: AsegĂşrate de poner tus preferencias, como que correos te gustarĂa recibir, o que nivel de privacidad te gustarĂa que tus publicaciones tengan por defecto. Si no tienes mareos, podrĂas elegir habilitar la reproducciĂłn automĂĄtica de "GIFs".
+ subject: Bienvenido a Mastodon
+ tip_federated_timeline: La lĂnea de tiempo federada es una vista de la red de Mastodon. Pero solo incluye gente que tus vecinos estĂĄn siguiendo, asĂ que no estĂĄ completa.
+ tip_following: Sigues a tus administradores de servidor por defecto. Para encontrar mĂĄs gente interesante, revisa las lineas de tiempo local y federada.
+ tip_local_timeline: La linea de tiempo local is una vista de la gente en %{instance}. Estos son tus vecinos inmediatos!
+ tip_mobile_webapp: Si el navegador de tu dispositivo mĂłvil ofrece agregar Mastodon a tu pĂĄgina de inicio, puedes recibir notificaciones. ActĂşa como una aplicaciĂłn nativa en muchas formas!
+ tips: Consejos
+ title: Te damos la bienvenida a bordo, %{name}!
+ users:
+ follow_limit_reached: No puedes seguir a mĂĄs de %{limit} personas
+ invalid_email: La direcciĂłn de correo es incorrecta
+ invalid_otp_token: CĂłdigo de dos factores incorrecto
+ otp_lost_help_html: Si perdiste al acceso a ambos, puedes ponerte en contancto con %{email}
+ seamless_external_login: Has iniciado sesiĂłn desde un servicio externo, asĂ que los ajustes de contraseĂąa y correo no estĂĄn disponibles.
+ signed_in_as: 'SesiĂłn iniciada como:'
+ verification:
+ explanation_html: 'Puedes verificarte a ti mismo como el dueĂąo de los links en los metadatos de tu perfil . Para eso, el sitio vinculado debe contener un vĂnculo a tu perfil de Mastodon. El vĂnculo en tu sitio debe tener un atributo rel="me". El texto del vĂnculo no importa. AquĂ un ejemplo:'
+ verification: VerificaciĂłn
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 8dbeb3ade27..0aa8b7a5130 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -242,8 +242,10 @@ fa:
disabled_msg: اŰŮ Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ ŘşŰŘąŮؚا٠شد
emoji: Ř´ÚŠŮÚŠ
enable: ŮؚاŮâسازŰ
+ enabled: ŮؚاŮ
enabled_msg: اŰŮ Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ Ůؚا٠شد
image_hint: ٞعŮŮŘŻŮŮ PNG Řداڊ؍ع 50KB
+ list: ŮŮعست
listed: ŮŮعستâŘ´ŘŻŮ
new:
title: اŮزŮŘŻŮ Ř´ÚŠŮÚŠ ŘłŮاعشŰ
@@ -252,6 +254,7 @@ fa:
shortcode_hint: دستâڊ٠۲ ŮŮŰس٠٠تŮŮا شا٠٠ŘŘąŮŮŘ Ř§ŘšŘŻŘ§ŘŻ ٠زŰع؎ء
title: Ř´ÚŠŮÚŠâŮŘ§Ű ŘłŮاعشŰ
uncategorized: دستŮâبŮŘŻŰ ŮŘ´ŘŻŮ
+ unlist: ŮاŮŮعست
unlisted: ŮŮعستâŮŘ´ŘŻŮ
update_failed_msg: اŰŮ Ř´ÚŠŮÚŠ ŮŘŞŮاŮست بŮâŘąŮز Ř´ŮŘŻ
updated_msg: Ř´ÚŠŮÚŠ با Ů ŮŮŮŰŘŞ بŮâŘąŮز Ř´ŘŻ!
@@ -383,6 +386,7 @@ fa:
pending: ŘŻŘą اŮتظاع ٞذŰعش ŘąŮŮ
save_and_enable: Ř°ŘŽŰع٠٠ŮؚاŮâسازŰ
setup: ŮžŰŮست٠ب٠عŮŮâŮا
+ signatures_not_enabled: ŮŮŘŞŰ ŘاŮŘŞ ا٠٠Űا ŘاŮŘŞ ŮŮعست ŘłŮŰŘŻ Ůؚا٠باشد ŘąŮŮâŮا Ř¨Ů ŘŻŘąŘłŘŞŰ ÚŠŘ§Řą ŮŘŽŮاŮŮŘŻ ڊعد
status: Ů؜ؚŰŘŞ
title: ŘąŮŮâŮا
report_notes:
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 96816091039..447ac4a1eff 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -35,6 +35,10 @@ it:
status_count_before: Che hanno pubblicato
tagline: Segui amici e trovane di nuovi
terms: Termini di Servizio
+ unavailable_content: Contenuto non disponibile
+ unavailable_content_description:
+ reason: 'Motivo:'
+ rejecting_media: I file multimediali di questo server non saranno elaborati e non verranno visualizzate miniature, che richiedono clic manuale sull'altro server.
user_count_after:
one: utente
other: utenti
@@ -54,6 +58,7 @@ it:
media: Media
moved_html: "%{name} si è spostato su %{new_profile_link}:"
network_hidden: Questa informazione non e' disponibile
+ never_active: Mai
nothing_here: Qui non c'è nulla!
people_followed_by: Persone seguite da %{name}
people_who_follow: Persone che seguono %{name}
@@ -220,10 +225,12 @@ it:
deleted_status: "(stato cancellato)"
title: Registro di controllo
custom_emojis:
+ assign_category: Assegna categoria
by_domain: Dominio
copied_msg: Creata con successo una copia locale dell'emoji
copy: Copia
copy_failed_msg: Impossibile creare una copia locale di questo emoji
+ create_new_category: Crea nuova categoria
created_msg: Emoji creato con successo!
delete: Elimina
destroyed_msg: Emoji distrutto con successo!
@@ -231,6 +238,7 @@ it:
disabled_msg: Questa emoji è stata disabilitata con successo
emoji: Emoji
enable: Abilita
+ enabled: Abilitato
enabled_msg: Questa emoji è stata abilitata con successo
image_hint: PNG fino a 50 KB
listed: Elencato
@@ -240,11 +248,13 @@ it:
shortcode: Scorciatoia
shortcode_hint: Almeno due caratteri, solo caratteri alfanumerici e trattino basso
title: Emoji personalizzate
+ uncategorized: Nessuna categoria
unlisted: Non elencato
update_failed_msg: Impossibile aggiornare questa emojii
updated_msg: Emoji aggiornata con successo!
upload: Carica
dashboard:
+ authorized_fetch_mode: ModalitĂ sicura
backlog: lavori arretrati
config: Configurazione
feature_deletions: Cancellazioni di account
@@ -509,6 +519,10 @@ it:
context: Contesto
directory: Nella directory
in_directory: "%{count} nella directory"
+ last_active: Ultima attivitĂ
+ most_popular: PiĂš popolari
+ most_recent: PiĂš recenti
+ name: Hashtag
reviewed: Controllato
title: Hashtag
trending_right_now: Di tendenza ora
@@ -532,6 +546,8 @@ it:
new_trending_tag:
body: 'L''hashtag #%{name} oggi è di tendenza, ma non è stato mai controllato. Non sarà visualizzato pubblicamente se non lo permetti; se salvi il form senza modifiche non lo vedrai mai piÚ.'
subject: Nuovo hashtag pronto per essere controllato su %{instance} (%{name})
+ aliases:
+ add_new: Crea alias
appearance:
advanced_web_interface: Interfaccia web avanzata
advanced_web_interface_hint: |-
@@ -599,6 +615,11 @@ it:
return: Mostra il profilo dell'utente
web: Vai al web
title: Segui %{acct}
+ challenge:
+ confirm: Continua
+ hint_html: "Suggerimento: Non ti chiederemo di nuovo la tua password per la prossima ora."
+ invalid_password: Password non valida
+ prompt: Conferma la tua password per continuare
datetime:
distance_in_words:
about_x_hours: "%{count} ore"
@@ -614,9 +635,13 @@ it:
x_months: "%{count} mesi"
x_seconds: "%{count} secondi"
deletes:
+ challenge_not_passed: Le informazioni che hai inserito non sono corrette
confirm_password: Inserisci la tua password attuale per verificare la tua identitĂ
+ confirm_username: Inserisci il tuo nome utente per confermare la procedura
proceed: Cancella l'account
success_msg: Il tuo account è stato cancellato
+ warning:
+ before: 'Prima di procedere, per favore leggi attentamente queste note:'
directories:
directory: Directory dei profili
explanation: Scopri utenti in base ai loro interessi
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 303c462fdf6..5e6d878695e 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -238,8 +238,10 @@ ko:
disabled_msg: ěąęłľě ěźëĄ ëšíěąííěěľëë¤
emoji: ě모ě§
enable: íěąí
+ enabled: íěąë¨
enabled_msg: ěąęłľě ěźëĄ íěąííěěľëë¤
image_hint: 50KB ě´íě PNG
+ list: 몊ëĄ
listed: 몊ëĄě ě¤ëŚź
new:
title: ě 읤ě¤í ěëŞ¨ě§ ěśę°
@@ -248,6 +250,7 @@ ko:
shortcode_hint: ěľě 2ę¸ě, ě돸ě, ěŤě, _ë§ ěŹěŠ ę°ëĽ
title: 읤ě¤í ě모ě§
uncategorized: ëśëĽëě§ ěě
+ unlist: 몊ëĄěě ě ęą°
unlisted: 몊ëĄě ěě
update_failed_msg: ě모ě§ëĽź ě ë°ě´í¸ í ě ěěľëë¤
updated_msg: ě모ě§ę° ěąęłľě ěźëĄ ě ë°ě´í¸ ëěěľëë¤!
@@ -379,6 +382,7 @@ ko:
pending: 댴ë ě´ě ěšě¸ ë기ě¤
save_and_enable: ě ěĽíęł íěąí
setup: 댴ë ě´ ě°ę˛° ě¤ě
+ signatures_not_enabled: ěíě´ëިëë íě´í¸ëŚŹě¤í¸ëިë뼟 ěŹěŠíęł ěë¤ëŠ´ 댴ë ě´ë ě ëëĄ ëěíě§ ěě ę˛ě ëë¤
status: ěí
title: 댴ë ě´
report_notes:
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index bbffde053b9..f4501a8651b 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -242,8 +242,10 @@ nl:
disabled_msg: Uitschakelen van deze emoji geslaagd
emoji: Emoji
enable: Inschakelen
+ enabled: Ingeschakeld
enabled_msg: Inschakelen van deze emoji geslaagd
image_hint: PNG van max. 50KB
+ list: In lijst
listed: Weergegeven
new:
title: Lokale emoji toevoegen
@@ -252,12 +254,13 @@ nl:
shortcode_hint: Tenminste 2 tekens (alleen alfanumeriek en underscores)
title: Lokale emojiâs
uncategorized: Niet gecategoriseerd
+ unlist: Niet in lijst
unlisted: Niet weergegeven
update_failed_msg: Deze emoji kon niet worden bijgewerkt
updated_msg: Bijwerken van emoji is geslaagd!
upload: Uploaden
dashboard:
- authorized_fetch_mode: Geautoriseerde ophaalmodus
+ authorized_fetch_mode: Veilige modus
backlog: achterstallige taken
config: Configuratie
feature_deletions: Verwijderen van account
@@ -383,6 +386,7 @@ nl:
pending: Aan het wachten op toestemming van de relayserver
save_and_enable: Opslaan en inschakelen
setup: Een verbinding met een relayserver maken
+ signatures_not_enabled: Federatierelays werken niet goed wanneer de veilige modus of de witte lijstmodus is ingeschakeld
status: Status
title: Relayservers
report_notes:
@@ -662,6 +666,10 @@ nl:
caches: Toots en media die op andere servers zijn opgeslagen kunnen daar achterblijven
data_removal: Jouw toots en andere gegevens worden permanent verwijderd
email_change_html: Je kunt je e-mailadres wijzigen zonder dat je jouw account hoeft te verwijderen
+ email_contact_html: Wanneer het nog steeds niet aankomt, kun je voor hulp e-mailen naar %{email}
+ email_reconfirmation_html: Wanneer je de bevestigingsmail niet hebt ontvangen, kun je deze opnieuw aanvragen
+ irreversible: Je zult niet in staat zijn om jouw account te herstellen of te deactiveren
+ more_details_html: Zie het privacybeleid voor meer informatie.
username_available: Jouw gebruikersnaam zal weer beschikbaar komen
username_unavailable: Jouw gebruikersnaam zal onbeschikbaar blijven
directories:
@@ -671,10 +679,10 @@ nl:
domain_validator:
invalid_domain: is een ongeldige domeinnaam
errors:
- '400': The request you submitted was invalid or malformed.
+ '400': De aanvraag die je hebt ingediend was ongeldig of foutief.
'403': Jij hebt geen toestemming om deze pagina te bekijken.
'404': De pagina waarnaar jij op zoek bent bestaat niet.
- '406': This page is not available in the requested format.
+ '406': Deze pagina is niet beschikbaar in het opgevraagde formaat.
'410': De pagina waarnaar jij op zoek bent bestaat niet meer.
'422':
content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies?
@@ -683,7 +691,7 @@ nl:
'500':
content: Het spijt ons, er is aan onze kant iets fout gegaan.
title: Er is iets mis
- '503': The page could not be served due to a temporary server failure.
+ '503': De pagina kon door een tijdelijke serverstoring niet worden geladen.
noscript_html: Schakel JavaScript in om de webapp van Mastodon te kunnen gebruiken. Als alternatief kan je een Mastodon-app zoeken voor jouw platform.
existing_username_validator:
not_found: Kon geen lokale gebruiker met die gebruikersnaam vinden
@@ -707,6 +715,7 @@ nl:
add_new: Nieuwe toevoegen
errors:
limit: Je hebt al het maximaal aantal hashtags uitgelicht
+ hint_html: "Wat zijn uitgelichte hashtags? Deze worden prominent op jouw openbare profiel getoond en stelt mensen in staat om jouw openbare toots per hashtag te bekijken. Het zijn een goed hulpmiddel om creatieve werkzaamheden of langetermijnprojecten bij te houden."
filters:
contexts:
home: Starttijdlijn
@@ -732,6 +741,7 @@ nl:
all: Alles
changes_saved_msg: Wijzigingen succesvol opgeslagen!
copy: KopiĂŤren
+ no_batch_actions_available: Geen batchacties op deze pagina beschikbaar
order_by: Sorteer op
save_changes: Wijzigingen opslaan
validation_errors:
@@ -804,6 +814,7 @@ nl:
migrations:
acct: Verhuisd naar
cancel: Doorverwijzing annuleren
+ cancel_explanation: Het annuleren van de doorverwijzing zal jouw huidige account opnieuw activeren, maar brengt geen volgers terug die naar het andere account zijn verhuisd.
cancelled_msg: De doorverwijzing is succesvol geannuleerd.
errors:
already_moved: is hetzelfde account waarnaar je al naar toe bent verhuisd
@@ -989,6 +1000,8 @@ nl:
profile: Profiel
relationships: Volgers en gevolgden
two_factor_authentication: Tweestapsverificatie
+ spam_check:
+ spam_detected_and_silenced: Dit is een automatisch gegenereerde rapportage. Er is spam gedetecteerd en de verzender hiervan werd automatisch genegeerd. Wanneer dit een vergissing is, kun je het negeren van dit account beter weer ongedaan maken.
statuses:
attached:
description: 'Bijlagen: %{attached}'
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 793b755319e..819ea3ef678 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -233,8 +233,10 @@ oc:
disabled_msg: Aqueste emoji es ben desactivat
emoji: Emoji
enable: Activar
+ enabled: Activat
enabled_msg: Aqueste emoji es ben activat
image_hint: PNG cap a 50Ko
+ list: Listar
listed: Listat
new:
title: Ajustar un nòu emoji personal
@@ -242,6 +244,8 @@ oc:
shortcode: Acorchi
shortcode_hint: Almens 2 caractèrs, solament alfanumerics e jonhent bas
title: Emojis personals
+ uncategorized: Sens categoria
+ unlist: Listar pas
unlisted: Pas listat
update_failed_msg: Mesa a jorn de lâemoji fracasada
updated_msg: Emoji ben mes a jornâŻ!
@@ -260,6 +264,8 @@ oc:
features: Foncionalitats
hidden_service: Federacion amb servicis amagats
open_reports: Senhalaments dobèrts
+ pending_tags: etiquetas en espèra de validacion
+ pending_users: utilizaires en espèra de validacion
recent_users: Utilizaires recents
search: Recèrca tèxte complèt
single_user_mode: Mòde sol utilizaire
@@ -294,6 +300,7 @@ oc:
suspend: Suspendre
title: Nòu blocatge domeni
private_comment: Comentari privat
+ private_comment_hint: Comentari tocant la limitacion dâaqueste domeni per un usatge intèrn pels moderators.
public_comment: Comentari public
reject_media: Regetar los fichièrs mèdias
reject_media_hint: Lèva los fichièrs gardats localament e regèta las demandas de telecargament dins lo futur. ServĂs pas a res per las suspensions
@@ -369,6 +376,7 @@ oc:
pending: En espèra dâaprovacion del relai
save_and_enable: Salvar e activar
setup: Configurar una connexion relai
+ signatures_not_enabled: Los relais foncionarà n pas coma cal se lo mòde segur o lista blanca es activat
status: Estatut
title: Relais
report_notes:
@@ -417,6 +425,15 @@ oc:
custom_css:
desc_html: Modificar lâestil amb una fuèlha CSS cargada sus cada pagina
title: CSS personalizada
+ default_noindex:
+ desc_html: Tòca totes los utilizaires quâan pas cambiat lo paramètre
+ domain_blocks:
+ all: A tot lo monde
+ disabled: A degun
+ title: Mostrar los blocatges de domeni
+ users: Als utilizaires locals connectats
+ domain_blocks_rationale:
+ title: Mostrar lo rasonament
hero:
desc_html: Mostrat en primièra pagina. Almens 600x100px recomandat. Sâes pas configurat lâimatge del servidor serĂ mostrat
title: Imatge de lâeròi
@@ -493,6 +510,8 @@ oc:
title: Estatuts del compte
with_media: Amb mèdia
tags:
+ accounts_today: Utilizacions unicas uèi
+ accounts_week: Utilizacions unicas aquesta setmana
context: Contèxt
directory: A lâannuari
in_directory: "%{count} a lâannuari"
@@ -500,7 +519,13 @@ oc:
most_popular: Mai popularas
most_recent: Mai recentas
name: Etiqueta
+ review: Repassar lâestatut
+ reviewed: Repassadas
title: Etiquetas
+ trending_right_now: Actualament en tendĂŠncia
+ unique_uses_today: "%{count} publicacions uèi"
+ unreviewed: Pas repassadas
+ updated_msg: Paramètres dâetiquetas corrèctament actualizats
title: Administracion
warning_presets:
add_new: Nâajustar un nòu
@@ -542,8 +567,12 @@ oc:
apply_for_account: Demandar una invitacion
change_password: Senhal
checkbox_agreement_html: Accepti las règlas del servidor e los tèrmes del servici
+ checkbox_agreement_without_rules_html: Soi dâacòrdi amb las condicions dâutilizacion
delete_account: Suprimir lo compte
delete_account_html: Se volètz suprimir vòstre compte, podètz o far aquĂ. Vos demandarem que confirmetz.
+ description:
+ prefix_invited_by_user: "@%{name} vos convida a rejĂłnher aqueste servidor Mastodon !"
+ prefix_sign_up: Marcatz-vos a Mostodon uèi !
didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion�
forgot_password: Senhal oblidat�
invalid_reset_password_token: Lo geton de reĂŻnicializacion es invalid o acabat. Tornatz demandar un geton se vos plai.
@@ -565,6 +594,7 @@ oc:
title: Configuracion
status:
account_status: Estat del compte
+ functional: Vòstre compte es complètament foncional.
trouble_logging_in: Problèmas de connexion�
authorize_follow:
already_following: Seguètz ja aqueste compte
@@ -605,6 +635,9 @@ oc:
warning:
caches: Lo contengut en cache suls autres servidors pòt demorar
email_change_html: Podètz cambiar vòstra adreça electroniasens suprimir vòstre compte
+ irreversible: Poiretz pas restaurar o reactivar vòstre compte
+ more_details_html: Per mai dâinformacion, vejatz la politica de confidencialitat.
+ username_available: Vòstre nom dâutilizaire serĂ disponible de nòu
username_unavailable: Vòstre nom dâutilizaire demorarĂ pas disponible
directories:
directory: Annuari de perfils
@@ -616,7 +649,7 @@ oc:
'400': The request you submitted was invalid or malformed.
'403': Avètz pas lâautorizacion de veire aquesta pagina.
'404': La pagina que cercatz existĂs pas aquĂ.
- '406': This page is not available in the requested format.
+ '406': La pagina es pas disponibla dins lo format demandat.
'410': La pagina que cercatz existĂs pas mai aquĂ.
'422':
content: Verificacion de seguretat fracassada. Blocatz los cookies�
@@ -674,6 +707,7 @@ oc:
all: Tot
changes_saved_msg: Cambiaments ben realizatsâŻ!
copy: Copiar
+ no_batch_actions_available: Cap dâaccion de massa pas disponibla sus aquesta pagina
order_by: Triar per
save_changes: Salvar los cambiaments
validation_errors:
@@ -750,7 +784,15 @@ oc:
errors:
move_to_self: pòt pas èsser lo compte actual
not_found: impossible de trobar
+ incoming_migrations: Mudar dâun compte diferent
+ moved_msg: Vòstre compte manda ara a %{acct} e vòstres seguidors son desplaçats.
+ not_redirecting: Vòstre compte manda pas enlòc pel moment.
+ past_migrations: Migracions passadas
proceed_with_move: Desplaçar los seguidors
+ redirecting_to: Vòstre compte manda a %{acct}.
+ warning:
+ before: 'Abans de contunhar, volgatz legir aquestas nòtas amb atencion :'
+ other_data: Cap dâautra donada serĂ desplaçada automaticament
moderation:
title: Moderacion
notification_mailer:
@@ -953,6 +995,8 @@ oc:
pinned: Tut penjat
reblogged: a partejat
sensitive_content: Contengut sensible
+ tags:
+ does_not_match_previous_name: correspond pas al nom precedent
terms:
body_html: |
Politica de confidencialitat
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index 7ff5fbf77f9..53ff05de1f8 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -137,12 +137,12 @@ el:
text: ÎΚιĎÎŻ θÎÎťÎľÎšĎ Î˝Îą ĎĎ ÎźÎźÎľĎÎŹĎĎξΚĎ;
notification_emails:
digest: ÎŁĎÎΝνξ ĎĎ Î˝ÎżĎĎΚκΏ email
- favourite: ÎŁĎξΝνξ email ĎĎιν κΏĎÎżÎšÎżĎ ĎΡΟξΚĎνξΚ ĎĎ ÎąÎłÎąĎΡΟÎνΡ ĎΡ δΡΟοĎÎŻÎľĎ ĎÎŽ ĎÎżĎ
- follow: ÎŁĎξΝνξ email ĎĎιν κΏĎÎżÎšÎżĎ ĎÎľ ÎąÎşÎżÎťÎżĎ Î¸ÎľÎŻ
- follow_request: ÎŁĎÎΝνξ email ĎĎιν κΏĎÎżÎšÎżĎ ÎśÎˇĎΏξΚ νι ĎÎľ ÎąÎşÎżÎťÎżĎ Î¸ÎŽĎξΚ
- mention: ÎŁĎÎΝνξ email ĎĎιν κΏĎÎżÎšÎżĎ ĎÎľ ινιĎÎĎξΚ
+ favourite: ÎĎÎżĎĎοΝΎ email ĎĎιν κΏĎÎżÎšÎżĎ ĎΡΟξΚĎνξΚ ĎĎ ÎąÎłÎąĎΡΟÎνΡ ĎΡ δΡΟοĎÎŻÎľĎ ĎÎŽ ĎÎżĎ
+ follow: ÎĎÎżĎĎοΝΎ email ĎĎιν κΏĎÎżÎšÎżĎ ĎÎľ ÎąÎşÎżÎťÎżĎ Î¸ÎľÎŻ
+ follow_request: ÎĎÎżĎĎοΝΎ email ĎĎιν κΏĎÎżÎšÎżĎ ÎśÎˇĎΏξΚ νι ĎÎľ ÎąÎşÎżÎťÎżĎ Î¸ÎŽĎξΚ
+ mention: ÎĎÎżĎĎοΝΎ email ĎĎιν κΏĎÎżÎšÎżĎ ĎÎľ ινιĎÎĎξΚ
pending_account: ÎĎÎżĎĎοΝΎ email ĎĎιν Ď ĎÎŹĎĎξΚ νÎÎżĎ ÎťÎżÎłÎąĎΚιĎÎźĎĎ ÎłÎšÎą ÎľĎΚθξĎĎΡĎΡ
- reblog: ÎŁĎÎΝνξ email ĎĎιν κΏĎÎżÎšÎżĎ ĎĎÎżĎθξί ĎΡ δΡΟοĎÎŻÎľĎ ĎΡ ĎÎżĎ
+ reblog: ÎĎÎżĎĎοΝΎ email ĎĎιν κΏĎÎżÎšÎżĎ ĎĎÎżĎθξί ĎΡ δΡΟοĎÎŻÎľĎ ĎΡ ĎÎżĎ
report: ÎĎÎżĎĎοΝΎ email ĎĎιν Ď ĎοβΏΝΝξĎιΚ νÎÎą κιĎιγγξΝίι
trending_tag: ÎĎÎżĎĎοΝΎ email ĎĎιν ΟΚι ΟΡ-ξγκξκĎΚΟÎνΡ ĎιΟĎÎΝι γίνξĎιΚ δΡΟοĎΚΝΎĎ
tag:
diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml
new file mode 100644
index 00000000000..515d5c1ed90
--- /dev/null
+++ b/config/locales/simple_form.es-AR.yml
@@ -0,0 +1 @@
+es-AR:
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 515d5c1ed90..2fb33dbc3ca 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -1 +1,170 @@
-es-AR:
+---
+es:
+ simple_form:
+ hints:
+ account_alias:
+ acct: Especifique el nombre de usuario@dominio de la cuenta desde la cual se desea migrar
+ account_migration:
+ acct: Especifique el nombre de usuario@dominio de la cuenta a la cual se desea migrar
+ account_warning_preset:
+ text: Puede usar sintaxis de toots, como URLs, hashtags y menciones
+ admin_account_action:
+ include_statuses: El usuario verĂĄ quĂŠ toots han causado la acciĂłn de moderaciĂłn o advertencia
+ send_email_notification: El usuario recibirĂĄ una explicaciĂłn de lo que sucediĂł con respecto a su cuenta
+ text_html: Opcional. Puede usar sintaxis de toots. Puede aĂąadir configuraciones predefinidas de advertencia para ahorrar tiempo
+ type_html: Elige quĂŠ hacer con %{acct}
+ warning_preset_id: Opcional. AĂşn puede aĂąadir texto personalizado al final de la configuraciĂłn predefinida
+ 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
+ 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
+ discoverable: El directorio del perfil es otra forma en la que su cuenta puede llegar a un pĂşblico mĂĄs amplio
+ email: Se le enviarĂĄ un correo de confirmaciĂłn
+ fields: Puedes tener hasta 4 elementos mostrĂĄndose como una tabla en tu perfil
+ header: 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
+ locked: Requiere que manualmente apruebes seguidores y las publicaciones serĂĄn mostradas solamente a tus seguidores
+ password: Utilice al menos 8 caracteres
+ phrase: Se aplicarĂĄ sin importar las mayĂşsculas o los avisos de contenido de un toot
+ scopes: QuĂŠ APIs de la aplicaciĂłn tendrĂĄn acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales.
+ setting_aggregate_reblogs: No mostrar nuevos retoots para los toots que han sido recientemente retooteados (sĂłlo afecta a los retoots recibidos recientemente)
+ setting_default_sensitive: El contenido multimedia sensible estĂĄ oculto por defecto y puede ser mostrado con un click
+ setting_display_media_default: Ocultar contenido multimedia marcado como sensible
+ setting_display_media_hide_all: Siempre ocultar todo el contenido multimedia
+ setting_display_media_show_all: Mostrar siempre contenido multimedia marcado como sensible
+ setting_hide_network: A quiĂŠn sigues y quiĂŠn te sigue no serĂĄ mostrado en tu perfil
+ setting_noindex: Afecta a tu perfil pĂşblico y pĂĄginas de estado
+ setting_show_application: La aplicaciĂłn que utiliza usted para publicar toots se mostrarĂĄ en la vista detallada de sus toots
+ setting_use_blurhash: Los gradientes se basan en los colores de las imĂĄgenes ocultas pero haciendo borrosos los detalles
+ setting_use_pending_items: Ocultar nuevos estados detrĂĄs de un clic en lugar de desplazar automĂĄticamente el feed
+ username: Tu nombre de usuario serĂĄ Ăşnico en %{domain}
+ whole_word: Cuando la palabra clave o frase es solo alfanumĂŠrica, solo serĂĄ aplicado si concuerda con toda la palabra
+ domain_allow:
+ domain: Este dominio podrĂĄ obtener datos de este servidor y los datos entrantes serĂĄn procesados y archivados
+ featured_tag:
+ name: 'Puede que quieras usar uno de estos:'
+ form_challenge:
+ current_password: EstĂĄs entrando en un ĂĄrea segura
+ imports:
+ data: Archivo CSV exportado desde otra instancia de Mastodon
+ invite_request:
+ text: Esto nos ayudarĂĄ a revisar su aplicaciĂłn
+ sessions:
+ otp: 'Introduce el cĂłdigo de autenticaciĂłn de dos factores geberado por tu aplicaciĂłn de telĂŠfono o usa uno de tus cĂłdigos de recuperaciĂłn:'
+ tag:
+ name: SĂłlo se puede cambiar el cajĂłn de las letras, por ejemplo, para que sea mĂĄs legible
+ user:
+ chosen_languages: Cuando se marca, solo se mostrarĂĄn los toots en los idiomas seleccionados en los timelines pĂşblicos
+ labels:
+ account:
+ fields:
+ name: Etiqueta
+ value: Contenido
+ account_alias:
+ acct: Maneja la cuenta antigua
+ account_migration:
+ acct: Maneja la cuenta nueva
+ account_warning_preset:
+ text: Texto predefinido
+ admin_account_action:
+ include_statuses: Incluir en el correo electrĂłnico a los toots denunciados
+ send_email_notification: Notificar al usuario por correo electrĂłnico
+ text: Aviso personalizado
+ type: AcciĂłn
+ types:
+ disable: Deshabilitar
+ none: No hacer nada
+ silence: Silenciar
+ suspend: Suspender y eliminar de forma irreversible la informaciĂłn de la cuenta
+ warning_preset_id: Usar un aviso predeterminado
+ defaults:
+ autofollow: Invitar a seguir tu cuenta
+ avatar: Avatar
+ bot: Esta es una cuenta bot
+ chosen_languages: Filtrar idiomas
+ confirm_new_password: Confirmar nueva contraseĂąa
+ confirm_password: Confirmar contraseĂąa
+ context: Filtrar contextos
+ current_password: ContraseĂąa actual
+ data: InformaciĂłn
+ discoverable: Listar esta cuenta en el directorio
+ display_name: Nombre para mostrar
+ email: DirecciĂłn de correo electrĂłnico
+ expires_in: Expirar tras
+ fields: Metadatos de perfil
+ header: Img. cabecera
+ inbox_url: URL de la entrada de relĂŠs
+ irreversible: Dejar en lugar de ocultar
+ locale: Idioma
+ locked: Hacer privada esta cuenta
+ max_uses: MĂĄx. nĂşmero de usos
+ new_password: Nueva contraseĂąa
+ note: BiografĂa
+ otp_attempt: CĂłdigo de dos factores
+ password: ContraseĂąa
+ phrase: Palabra clave o frase
+ setting_advanced_layout: Habilitar interfaz web avanzada
+ setting_aggregate_reblogs: Agrupar retoots en las lĂneas de tiempo
+ setting_auto_play_gif: Reproducir automĂĄticamente los GIFs animados
+ setting_boost_modal: Mostrar ventana de confirmaciĂłn antes de un Retoot
+ setting_default_language: Idioma de publicaciĂłn
+ setting_default_privacy: Privacidad de publicaciones
+ setting_default_sensitive: Marcar siempre imĂĄgenes como sensibles
+ setting_delete_modal: Mostrar diĂĄlogo de confirmaciĂłn antes de borrar un toot
+ setting_display_media: VisualizaciĂłn multimedia
+ setting_display_media_default: Por defecto
+ setting_display_media_hide_all: Ocultar todo
+ setting_display_media_show_all: Mostrar todo
+ setting_expand_spoilers: Siempre expandir los toots marcados con advertencias de contenido
+ setting_hide_network: Ocultar tu red
+ setting_noindex: Excluirse del indexado de motores de bĂşsqueda
+ setting_reduce_motion: Reducir el movimiento de las animaciones
+ setting_show_application: Mostrar aplicaciĂłn usada para publicar toots
+ setting_system_font_ui: Utilizar la tipografĂa por defecto del sistema
+ setting_theme: Tema del sitio
+ setting_trends: Mostrar las tendencias de hoy
+ setting_unfollow_modal: Mostrar diĂĄlogo de confirmaciĂłn antes de dejar de seguir a alguien
+ setting_use_blurhash: Mostrar gradientes coloridos para contenido multimedia oculto
+ setting_use_pending_items: Modo lento
+ severity: Severidad
+ type: Importar tipo
+ username: Nombre de usuario
+ username_or_email: Usuario o Email
+ whole_word: Toda la palabra
+ featured_tag:
+ name: Etiqueta
+ interactions:
+ must_be_follower: Bloquear notificaciones de personas que no te siguen
+ must_be_following: Bloquear notificaciones de personas que no sigues
+ must_be_following_dm: Bloquear mensajes directos de la gente que no sigues
+ invite:
+ comment: Comentar
+ invite_request:
+ text: "ÂżPor quĂŠ quiere unirse usted?"
+ notification_emails:
+ digest: Enviar resumen de correos electrĂłnicos
+ favourite: Enviar correo electrĂłnico cuando alguien de a favorito en su publicaciĂłn
+ follow: Enviar correo electrĂłnico cuando alguien te siga
+ follow_request: Enviar correo electrĂłnico cuando alguien solicita seguirte
+ mention: Enviar correo electrĂłnico cuando alguien te mencione
+ pending_account: Enviar correo electrĂłnico cuando una nueva cuenta necesita revisiĂłn
+ reblog: Enviar correo electrĂłnico cuando alguien comparta su publicaciĂłn
+ report: Enviar un correo cuando se envĂa un nuevo informe
+ trending_tag: Enviar correo electrĂłnico cuando una etiqueta no revisada estĂĄ de tendencia
+ tag:
+ listable: Permitir que esta etiqueta aparezca en las bĂşsquedas y en el directorio del perfil
+ name: Etiqueta
+ trendable: Permitir que esta etiqueta aparezca bajo tendencias
+ usable: Permitir a los toots usar esta etiqueta
+ 'no': 'No'
+ recommended: Recomendado
+ required:
+ mark: "*"
+ text: necesario
+ 'yes': SĂ
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index d96eafb8b86..e89f9be002b 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -16,7 +16,7 @@ ko:
warning_preset_id: ě íěŹí. íě ë§ě§ë§ě ěěě í ě¤í¸ëĽź ěśę° í ě ěěľëë¤
defaults:
autofollow: ě´ ě´ë뼟 íľí´ ę°ě íë ěŹëě ëšě ě ěëěźëĄ íëĄě° íę˛ ëŠëë¤
- avatar: PNG, GIF íšě JPG. ěľë %{size}. %{dimensions}pxëĄ ë¤ě´ě¤ěźěź ë ę˛ě
+ avatar: PNG, GIF íšě JPG. ěľë %{size}. %{dimensions}pxëĄ ěśě ë¨
bot: ěŹëë¤ěę˛ ęłě ě´ ěŹëě´ ěëě ě댽ëë¤
context: íí°ëĽź ě ěŠ í í ę° ě´ěě 읨í ě¤í¸
current_password: ëł´ěě ěí´ íěŹ ęłě ě ëšë°ë˛í¸ëĽź ě ë Ľí´ěŁźě¸ě
@@ -25,7 +25,7 @@ ko:
discoverable: íëĄí ëë í°ëŚŹë ë´ ęłě ě´ ë ë§ě ę´ěŹě ę°ę˛ í ě ěë ë¤ëĽ¸ ë°Šë˛ě ëë¤
email: ëšě ě íě¸ ëŠěźě ë°ę˛ ëŠëë¤
fields: ëšě ě íëĄíěźě ěľë 4ę°ęšě§ í íěěźëĄ ëíëź ě ěěľëë¤
- header: PNG, GIF íšě JPG. ěľë %{size}. %{dimensions}pxëĄ ë¤ě´ě¤ěźěź ë¨
+ header: PNG, GIF íšě JPG. ěľë %{size}. %{dimensions}pxëĄ ěśě ë¨
inbox_url: ěŹěŠ í 댴ë ě´ ěë˛ě íëĄ í¸íě´ě§ěě URLě ëłľěŹíŠëë¤
irreversible: íí°ë§ ë íżě ëě¤ě íí°ę° ěŹëźě§ëëźë ëěě¤ě§ ěę˛ ëŠëë¤
locale: ě ě ě¸í°íě´ě¤, ě´ëŠěź, í¸ě ě댟 ě¸ě´
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index cda4e9ead08..77445b0cbca 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -2,9 +2,14 @@
nl:
simple_form:
hints:
+ account_alias:
+ acct: Vul de gebruikersnaam@domein van het account in, die je wilt verhuizen
+ account_migration:
+ acct: Vul de gebruikersnaam@domein van het account in, waarnaartoe je wilt verhuizen
account_warning_preset:
text: Je kunt voor toots specifieke tekst gebruiken, zoals URL's, hashtags en vermeldingen
admin_account_action:
+ include_statuses: De gebruiker ziet welke toots verantwoordelijk zijn voor de moderatieactie of waarschuwing
send_email_notification: De gebruiker ontvangt een uitleg over wat er met hun account is gebeurd
text_html: Optioneel. Je kunt voor toots specifieke tekst gebruiken. Om tijd te besparen kun je voorinstellingen van waarschuwingen toevoegen
type_html: Kies wat er met %{acct} moet gebeuren
@@ -14,7 +19,10 @@ nl:
avatar: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
bot: Dit is een geautomatiseerd account en wordt mogelijk niet gemonitord
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
+ discoverable: De gebruikersgids is een andere manier waarmee jouw account een groter publiek kan bereiken
email: Je krijgt een bevestigingsmail
fields: Je kan maximaal 4 items als een tabel op je profiel weergeven
header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
@@ -33,16 +41,24 @@ nl:
setting_hide_network: Wie jij volgt en wie jou volgen wordt niet op jouw profiel getoond
setting_noindex: Heeft invloed op jouw openbare profiel en toots
setting_show_application: De toepassing de je gebruikt om te tooten wordt in de gedetailleerde weergave van de toot getoond
+ setting_use_blurhash: Wazige kleurovergangen zijn gebaseerd op de kleuren van de verborgen media, waarmee elk detail verdwijnt
+ setting_use_pending_items: De tijdlijn wordt bijgewerkt door op het aantal nieuwe items te klikken, in plaats van dat deze automatisch wordt bijgewerkt
username: Jouw gebruikersnaam is uniek op %{domain}
whole_word: Wanneer het trefwoord of zinsdeel alfanumeriek is, wordt het alleen gefilterd wanneer het hele woord overeenkomt
+ domain_allow:
+ domain: Dit domein is in staat om gegevens van deze server op te halen, en binnenkomende gegevens worden verwerkt en opgeslagen
featured_tag:
name: 'Je wilt misschien een van deze gebruiken:'
+ form_challenge:
+ current_password: Je betreedt een veilige omgeving
imports:
data: CSV-bestand dat op een andere Mastodonserver werd geĂŤxporteerd
invite_request:
text: Dit helpt ons om jouw aanvraag te beoordelen
sessions:
otp: 'Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcodes:'
+ tag:
+ name: Je kunt elk woord met een hoofdletter beginnen, om zo bijvoorbeeld de tekst leesbaarder te maken
user:
chosen_languages: Alleen toots in de aangevinkte talen worden op de openbare tijdlijnen getoond
labels:
@@ -50,9 +66,14 @@ nl:
fields:
name: Label
value: Inhoud
+ account_alias:
+ acct: Mastodonadres van het oude account
+ account_migration:
+ acct: Mastodonadres van het nieuwe account
account_warning_preset:
text: Tekst van voorinstelling
admin_account_action:
+ include_statuses: Gerapporteerde toots aan de e-mail toevoegen
send_email_notification: Meld dit per e-mail aan de gebruiker
text: Aangepaste waarschuwing
type: Actie
@@ -107,7 +128,9 @@ nl:
setting_show_application: Toepassing onthullen die je voor het verzenden van toots gebruikt
setting_system_font_ui: Standaardlettertype van jouw systeem gebruiken
setting_theme: Thema website
+ setting_trends: Trends van vandaag tonen
setting_unfollow_modal: Vraag voor het ontvolgen van iemand een bevestiging
+ setting_use_blurhash: Wazige kleurovergangen voor verborgen media tonen
setting_use_pending_items: Langzame modus
severity: Zwaarte
type: Importtype
@@ -120,6 +143,8 @@ nl:
must_be_follower: Meldingen van mensen die jou niet volgen blokkeren
must_be_following: Meldingen van mensen die jij niet volgt blokkeren
must_be_following_dm: Directe berichten van mensen die jij niet volgt blokkeren
+ invite:
+ comment: Opmerking
invite_request:
text: Waarom wil jij je aanmelden?
notification_emails:
@@ -131,8 +156,12 @@ nl:
pending_account: Een e-mail verzenden wanneer een nieuw account moet worden beoordeeld
reblog: Een e-mail versturen wanneer iemand jouw toot heeft geboost
report: Verstuur een e-mail wanneer een nieuw rapportage is ingediend
+ trending_tag: Een e-mail versturen wanneer een nog niet beoordeelde hashtag trending is
tag:
+ listable: Toestaan dat deze hashtag in zoekopdrachten en in de gebruikersgids te zien valt
name: Hashtag
+ trendable: Toestaan dat deze hashtag onder trends te zien valt
+ usable: Toestaan dat deze hashtag in toots gebruikt mag worden
'no': Nee
recommended: Aanbevolen
required:
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 220f944ce9f..59651d9de35 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -45,6 +45,8 @@ oc:
setting_use_pending_items: Rescondre las actualizacions del flux dâactualitat aprèp un clic allòc de desfilar lo flux automaticament
username: Vòstre nom dâutilizaire serĂ unic sus %{domain}
whole_word: Quand lo mot-clau o frasa es solament alfranumeric, serĂ pas quâaplicat se correspond al mot complèt
+ domain_allow:
+ domain: Aqueste domeni poirĂ recuperar las donadas dâaqueste servidor estant e las donadas venent dâaqueste domeni serĂ n tractadas e gardadas
featured_tag:
name: 'Benlèu que volètz utilizar una dâaquestas causasâŻ:'
form_challenge:
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 729573d927b..08f144c253f 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -440,6 +440,8 @@ sk:
custom_css:
desc_html: Uprav vzhÄžad pomocou CSS, ktorĂŠ je naÄĂtanĂŠ na kaĹždej strĂĄnke
title: VlastnĂŠ CSS
+ default_noindex:
+ desc_html: OvplyvĹuje vĹĄetkĂ˝ch uĹžĂvateÄžov, ktorĂ si toto nasavenie nezmenili sami
domain_blocks:
all: Vťetkým
disabled: Nikomu
From 13b06d4b3b705deb90d063f4903737b5609dfbc7 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 29 Sep 2019 18:50:16 +0200
Subject: [PATCH 76/81] Bump version to 3.0.0rc2 (#11999)
---
CHANGELOG.md | 4 ++++
lib/mastodon/version.rb | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a170c3ecd57..4e9ccdc8c0d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -50,6 +50,7 @@ All notable changes to this project will be documented in this file.
- **Add search syntax for operators and phrases** ([Gargron](https://github.com/tootsuite/mastodon/pull/11411))
- **Add REST API for managing featured hashtags** ([noellabo](https://github.com/tootsuite/mastodon/pull/11778))
- **Add REST API for managing timeline read markers** ([Gargron](https://github.com/tootsuite/mastodon/pull/11762))
+- Add `exclude_unreviewed` param to `GET /api/v2/search` REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/11977))
- **Add ActivityPub secure mode** ([Gargron](https://github.com/tootsuite/mastodon/pull/11269), [ThibG](https://github.com/tootsuite/mastodon/pull/11332), [ThibG](https://github.com/tootsuite/mastodon/pull/11295))
- Add HTTP signatures to all outgoing ActivityPub GET requests ([Gargron](https://github.com/tootsuite/mastodon/pull/11284), [ThibG](https://github.com/tootsuite/mastodon/pull/11300))
- Add support for ActivityPub Audio activities ([ThibG](https://github.com/tootsuite/mastodon/pull/11189))
@@ -98,6 +99,7 @@ All notable changes to this project will be documented in this file.
- Change Dockerfile ([Shleeble](https://github.com/tootsuite/mastodon/pull/11710), [ykzts](https://github.com/tootsuite/mastodon/pull/11768), [Shleeble](https://github.com/tootsuite/mastodon/pull/11707))
- Change supported Node versions to include v12 ([abcang](https://github.com/tootsuite/mastodon/pull/11706))
- Change Portuguese language from `pt` to `pt-PT` ([Gargron](https://github.com/tootsuite/mastodon/pull/11820))
+- Change domain block silence to always require approval on follow ([ThibG](https://github.com/tootsuite/mastodon/pull/11975))
### Removed
@@ -172,6 +174,8 @@ All notable changes to this project will be documented in this file.
- Fix URLs counting towards RTL detection ([ahangarha](https://github.com/tootsuite/mastodon/pull/11759))
- Fix unnecessary status re-rendering in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11211))
- Fix http_parser.rb gem not being compiled when no network available ([petabyteboy](https://github.com/tootsuite/mastodon/pull/11444))
+- Fix muted text color not applying to all text ([trwnh](https://github.com/tootsuite/mastodon/pull/11996))
+- Fix follower/following lists resetting on back-navigation in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11986))
## [2.9.3] - 2019-08-10
### Added
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index bd49f0a173d..9c5686ed20b 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -17,7 +17,7 @@ module Mastodon
end
def flags
- 'rc1'
+ 'rc2'
end
def suffix
From 15b3eeb326d7e6a026235ece25c3be75250de92f Mon Sep 17 00:00:00 2001
From: ThibG
Date: Sun, 29 Sep 2019 21:23:40 +0200
Subject: [PATCH 77/81] Change vote results to display ex-aequo leading options
as leading (#12001)
---
app/javascript/mastodon/components/poll.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/javascript/mastodon/components/poll.js b/app/javascript/mastodon/components/poll.js
index dd7e2fcd3f8..f88d260f246 100644
--- a/app/javascript/mastodon/components/poll.js
+++ b/app/javascript/mastodon/components/poll.js
@@ -103,7 +103,7 @@ class Poll extends ImmutablePureComponent {
renderOption (option, optionIndex, showResults) {
const { poll, disabled, intl } = this.props;
const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100;
- const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count'));
+ const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') >= other.get('votes_count'));
const active = !!this.state.selected[`${optionIndex}`];
const voted = option.get('voted') || (poll.get('own_votes') && poll.get('own_votes').includes(optionIndex));
From 5f69eb89e215fe7dc02cd0dc3f39b13f1945e88b Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 29 Sep 2019 21:31:51 +0200
Subject: [PATCH 78/81] Add a nodeinfo endpoint (#12002)
* Add nodeinfo endpoint
* dont commit stuff from my local dev
* consistant naming since we implimented 2.1 schema
* Add some additional node info stuff
* Add nodeinfo endpoint
* dont commit stuff from my local dev
* consistant naming since we implimented 2.1 schema
* expanding this to include federation info
* codeclimate feedback
* CC feedback
* using activeserializers seems like a good idea...
* get rid of draft 2.1 version
* Reimplement 2.1, also fix metaData -> metadata
* Fix metaData -> metadata here too
* Fix nodeinfo 2.1 tests
* Implement cache for monthly user aggregate
* Useless
* Remove ostatus from the list of supported protocols
* Fix nodeinfo's open_registration reading obsolete setting variable
* Only serialize domain blocks with user-facing limitations
* Do not needlessly list noop severity in nodeinfo
* Only serialize domain blocks info in nodeinfo when they are set to be displayed to everyone
* Enable caching for nodeinfo endpoints
* Fix rendering nodeinfo
* CodeClimate fixes
* Please CodeClimate
* Change InstancePresenter#active_user_count_months for clarity
* Refactor NodeInfoSerializer#metadata
* Remove nodeinfo 2.1 support as the schema doesn't exist
* Clean-up
---
.../well_known/nodeinfo_controller.rb | 19 +++++++++
app/lib/activity_tracker.rb | 2 +-
app/lib/nodeinfo/adapter.rb | 7 ++++
app/presenters/instance_presenter.rb | 4 +-
.../nodeinfo/discovery_serializer.rb | 11 +++++
app/serializers/nodeinfo/serializer.rb | 41 +++++++++++++++++++
config/initializers/inflections.rb | 1 +
config/routes.rb | 3 ++
.../well_known/nodeinfo_controller_spec.rb | 36 ++++++++++++++++
9 files changed, 121 insertions(+), 3 deletions(-)
create mode 100644 app/controllers/well_known/nodeinfo_controller.rb
create mode 100644 app/lib/nodeinfo/adapter.rb
create mode 100644 app/serializers/nodeinfo/discovery_serializer.rb
create mode 100644 app/serializers/nodeinfo/serializer.rb
create mode 100644 spec/controllers/well_known/nodeinfo_controller_spec.rb
diff --git a/app/controllers/well_known/nodeinfo_controller.rb b/app/controllers/well_known/nodeinfo_controller.rb
new file mode 100644
index 00000000000..11a699ebc82
--- /dev/null
+++ b/app/controllers/well_known/nodeinfo_controller.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+module WellKnown
+ class NodeInfoController < ActionController::Base
+ include CacheConcern
+
+ before_action { response.headers['Vary'] = 'Accept' }
+
+ def index
+ expires_in 3.days, public: true
+ render_with_cache json: {}, serializer: NodeInfo::DiscoverySerializer, adapter: NodeInfo::Adapter, expires_in: 3.days, root: 'nodeinfo'
+ end
+
+ def show
+ expires_in 30.minutes, public: true
+ render_with_cache json: {}, serializer: NodeInfo::Serializer, adapter: NodeInfo::Adapter, expires_in: 30.minutes, root: 'nodeinfo'
+ end
+ end
+end
diff --git a/app/lib/activity_tracker.rb b/app/lib/activity_tracker.rb
index ae3c11b6af5..81303b71584 100644
--- a/app/lib/activity_tracker.rb
+++ b/app/lib/activity_tracker.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class ActivityTracker
- EXPIRE_AFTER = 90.days.seconds
+ EXPIRE_AFTER = 6.months.seconds
class << self
include Redisable
diff --git a/app/lib/nodeinfo/adapter.rb b/app/lib/nodeinfo/adapter.rb
new file mode 100644
index 00000000000..1b48dcb98fa
--- /dev/null
+++ b/app/lib/nodeinfo/adapter.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class NodeInfo::Adapter < ActiveModelSerializers::Adapter::Attributes
+ def self.default_key_transform
+ :camel_lower
+ end
+end
diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb
index becc92c2d19..c4caeaa8c10 100644
--- a/app/presenters/instance_presenter.rb
+++ b/app/presenters/instance_presenter.rb
@@ -20,8 +20,8 @@ class InstancePresenter
Rails.cache.fetch('user_count') { User.confirmed.joins(:account).merge(Account.without_suspended).count }
end
- def active_user_count
- Rails.cache.fetch('active_user_count') { Redis.current.pfcount(*(0..3).map { |i| "activity:logins:#{i.weeks.ago.utc.to_date.cweek}" }) }
+ def active_user_count(weeks = 4)
+ Rails.cache.fetch('active_user_count') { Redis.current.pfcount(*(0...weeks).map { |i| "activity:logins:#{i.weeks.ago.utc.to_date.cweek}" }) }
end
def status_count
diff --git a/app/serializers/nodeinfo/discovery_serializer.rb b/app/serializers/nodeinfo/discovery_serializer.rb
new file mode 100644
index 00000000000..07ab2a6eee3
--- /dev/null
+++ b/app/serializers/nodeinfo/discovery_serializer.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class NodeInfo::DiscoverySerializer < ActiveModel::Serializer
+ include RoutingHelper
+
+ attribute :links
+
+ def links
+ [{ rel: 'http://nodeinfo.diaspora.software/ns/schema/2.0', href: nodeinfo_schema_url }]
+ end
+end
diff --git a/app/serializers/nodeinfo/serializer.rb b/app/serializers/nodeinfo/serializer.rb
new file mode 100644
index 00000000000..1a7d7a91139
--- /dev/null
+++ b/app/serializers/nodeinfo/serializer.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+class NodeInfo::Serializer < ActiveModel::Serializer
+ include RoutingHelper
+
+ attributes :version, :software, :protocols, :usage
+
+ def version
+ '2.0'
+ end
+
+ def software
+ { name: 'mastodon', version: Mastodon::Version.to_s }
+ end
+
+ def services
+ { outbound: [], inbound: [] }
+ end
+
+ def protocols
+ %w(activitypub)
+ end
+
+ def usage
+ {
+ users: {
+ total: instance_presenter.user_count,
+ active_month: instance_presenter.active_user_count(4),
+ active_halfyear: instance_presenter.active_user_count(24),
+ },
+
+ local_posts: instance_presenter.status_count,
+ }
+ end
+
+ private
+
+ def instance_presenter
+ @instance_presenter ||= InstancePresenter.new
+ end
+end
diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb
index bf0cb52a30a..c65153b0a7a 100644
--- a/config/initializers/inflections.rb
+++ b/config/initializers/inflections.rb
@@ -18,4 +18,5 @@ ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'PubSubHubbub'
inflect.acronym 'ActivityStreams'
inflect.acronym 'JsonLd'
+ inflect.acronym 'NodeInfo'
end
diff --git a/config/routes.rb b/config/routes.rb
index f1a69cf5c53..e43e201a5d7 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -24,10 +24,13 @@ Rails.application.routes.draw do
end
get '.well-known/host-meta', to: 'well_known/host_meta#show', as: :host_meta, defaults: { format: 'xml' }
+ get '.well-known/nodeinfo', to: 'well_known/nodeinfo#index', as: :nodeinfo, defaults: { format: 'json' }
get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger
get '.well-known/change-password', to: redirect('/auth/edit')
get '.well-known/keybase-proof-config', to: 'well_known/keybase_proof_config#show'
+ get '/nodeinfo/2.0', to: 'well_known/nodeinfo#show', as: :nodeinfo_schema
+
get 'manifest', to: 'manifests#show', defaults: { format: 'json' }
get 'intent', to: 'intents#show'
get 'custom.css', to: 'custom_css#show', as: :custom_css
diff --git a/spec/controllers/well_known/nodeinfo_controller_spec.rb b/spec/controllers/well_known/nodeinfo_controller_spec.rb
new file mode 100644
index 00000000000..12e1fa4159c
--- /dev/null
+++ b/spec/controllers/well_known/nodeinfo_controller_spec.rb
@@ -0,0 +1,36 @@
+require 'rails_helper'
+
+describe WellKnown::NodeInfoController, type: :controller do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns json document pointing to node info' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ expect(response.content_type).to eq 'application/json'
+
+ json = body_as_json
+
+ expect(json[:links]).to be_an Array
+ expect(json[:links][0][:rel]).to eq 'http://nodeinfo.diaspora.software/ns/schema/2.0'
+ expect(json[:links][0][:href]).to include 'nodeinfo/2.0'
+ end
+ end
+
+ describe 'GET #show' do
+ it 'returns json document with node info properties' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ expect(response.content_type).to eq 'application/json'
+
+ json = body_as_json
+
+ expect(json[:version]).to eq '2.0'
+ expect(json[:usage]).to be_a Hash
+ expect(json[:software]).to be_a Hash
+ expect(json[:protocols]).to be_an Array
+ end
+ end
+end
From 9027bfff0c25a6da1bcef7ce880e5d8211062d1d Mon Sep 17 00:00:00 2001
From: ThibG
Date: Sun, 29 Sep 2019 21:46:05 +0200
Subject: [PATCH 79/81] Add explanation to mute dialog, refactor and clean up
mute/block UI (#11992)
* Add some explanation to the mute modal dialog
* Remove `isSubmitting` from mute modal code, this wasn't used
* Refactor block modal
Signed-off-by: Thibaut Girka
* Refactor SCSS a bit
* Put mute modal toggle to the same side as in the report dialog for consistency
* Reword mute explanation
* Fix mute explanation styling
* Left-align all text in mute confirmation modal
---
app/javascript/mastodon/actions/blocks.js | 14 +++
.../mastodon/containers/status_container.js | 18 +--
.../containers/header_container.js | 15 +--
.../containers/detailed_status_container.js | 18 +--
.../mastodon/features/status/index.js | 20 +---
.../features/ui/components/block_modal.js | 103 ++++++++++++++++++
.../features/ui/components/modal_root.js | 2 +
.../features/ui/components/mute_modal.js | 15 ++-
.../features/ui/util/async-components.js | 4 +
app/javascript/mastodon/reducers/blocks.js | 22 ++++
app/javascript/mastodon/reducers/index.js | 2 +
app/javascript/mastodon/reducers/mutes.js | 2 -
.../styles/mastodon-light/diff.scss | 2 +
.../styles/mastodon/components.scss | 73 +++++++++----
14 files changed, 222 insertions(+), 88 deletions(-)
create mode 100644 app/javascript/mastodon/features/ui/components/block_modal.js
create mode 100644 app/javascript/mastodon/reducers/blocks.js
diff --git a/app/javascript/mastodon/actions/blocks.js b/app/javascript/mastodon/actions/blocks.js
index 7000f5a71cb..fd9881302a6 100644
--- a/app/javascript/mastodon/actions/blocks.js
+++ b/app/javascript/mastodon/actions/blocks.js
@@ -1,6 +1,7 @@
import api, { getLinks } from '../api';
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
+import { openModal } from './modal';
export const BLOCKS_FETCH_REQUEST = 'BLOCKS_FETCH_REQUEST';
export const BLOCKS_FETCH_SUCCESS = 'BLOCKS_FETCH_SUCCESS';
@@ -10,6 +11,8 @@ export const BLOCKS_EXPAND_REQUEST = 'BLOCKS_EXPAND_REQUEST';
export const BLOCKS_EXPAND_SUCCESS = 'BLOCKS_EXPAND_SUCCESS';
export const BLOCKS_EXPAND_FAIL = 'BLOCKS_EXPAND_FAIL';
+export const BLOCKS_INIT_MODAL = 'BLOCKS_INIT_MODAL';
+
export function fetchBlocks() {
return (dispatch, getState) => {
dispatch(fetchBlocksRequest());
@@ -83,3 +86,14 @@ export function expandBlocksFail(error) {
error,
};
};
+
+export function initBlockModal(account) {
+ return dispatch => {
+ dispatch({
+ type: BLOCKS_INIT_MODAL,
+ account,
+ });
+
+ dispatch(openModal('BLOCK'));
+ };
+}
diff --git a/app/javascript/mastodon/containers/status_container.js b/app/javascript/mastodon/containers/status_container.js
index 7b0906b3960..fb22676e045 100644
--- a/app/javascript/mastodon/containers/status_container.js
+++ b/app/javascript/mastodon/containers/status_container.js
@@ -1,4 +1,3 @@
-import React from 'react';
import { connect } from 'react-redux';
import Status from '../components/status';
import { makeGetStatus } from '../selectors';
@@ -15,7 +14,6 @@ import {
pin,
unpin,
} from '../actions/interactions';
-import { blockAccount } from '../actions/accounts';
import {
muteStatus,
unmuteStatus,
@@ -24,9 +22,10 @@ import {
revealStatus,
} from '../actions/statuses';
import { initMuteModal } from '../actions/mutes';
+import { initBlockModal } from '../actions/blocks';
import { initReport } from '../actions/reports';
import { openModal } from '../actions/modal';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import { defineMessages, injectIntl } from 'react-intl';
import { boostModal, deleteModal } from '../initial_state';
import { showAlertForError } from '../actions/alerts';
@@ -35,10 +34,8 @@ const messages = defineMessages({
deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },
redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
- blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
- blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' },
});
const makeMapStateToProps = () => {
@@ -138,16 +135,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
onBlock (status) {
const account = status.get('account');
- dispatch(openModal('CONFIRM', {
- message: @{account.get('acct')} }} />,
- confirm: intl.formatMessage(messages.blockConfirm),
- onConfirm: () => dispatch(blockAccount(account.get('id'))),
- secondary: intl.formatMessage(messages.blockAndReport),
- onSecondary: () => {
- dispatch(blockAccount(account.get('id')));
- dispatch(initReport(account, status));
- },
- }));
+ dispatch(initBlockModal(account));
},
onReport (status) {
diff --git a/app/javascript/mastodon/features/account_timeline/containers/header_container.js b/app/javascript/mastodon/features/account_timeline/containers/header_container.js
index 4d4ae6e8243..8728b48068a 100644
--- a/app/javascript/mastodon/features/account_timeline/containers/header_container.js
+++ b/app/javascript/mastodon/features/account_timeline/containers/header_container.js
@@ -5,7 +5,6 @@ import Header from '../components/header';
import {
followAccount,
unfollowAccount,
- blockAccount,
unblockAccount,
unmuteAccount,
pinAccount,
@@ -16,6 +15,7 @@ import {
directCompose,
} from '../../../actions/compose';
import { initMuteModal } from '../../../actions/mutes';
+import { initBlockModal } from '../../../actions/blocks';
import { initReport } from '../../../actions/reports';
import { openModal } from '../../../actions/modal';
import { blockDomain, unblockDomain } from '../../../actions/domain_blocks';
@@ -25,9 +25,7 @@ import { List as ImmutableList } from 'immutable';
const messages = defineMessages({
unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },
- blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' },
- blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' },
});
const makeMapStateToProps = () => {
@@ -64,16 +62,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
if (account.getIn(['relationship', 'blocking'])) {
dispatch(unblockAccount(account.get('id')));
} else {
- dispatch(openModal('CONFIRM', {
- message: @{account.get('acct')} }} />,
- confirm: intl.formatMessage(messages.blockConfirm),
- onConfirm: () => dispatch(blockAccount(account.get('id'))),
- secondary: intl.formatMessage(messages.blockAndReport),
- onSecondary: () => {
- dispatch(blockAccount(account.get('id')));
- dispatch(initReport(account));
- },
- }));
+ dispatch(initBlockModal(account));
}
},
diff --git a/app/javascript/mastodon/features/status/containers/detailed_status_container.js b/app/javascript/mastodon/features/status/containers/detailed_status_container.js
index 61e0c428a10..333c295dc6c 100644
--- a/app/javascript/mastodon/features/status/containers/detailed_status_container.js
+++ b/app/javascript/mastodon/features/status/containers/detailed_status_container.js
@@ -1,4 +1,3 @@
-import React from 'react';
import { connect } from 'react-redux';
import DetailedStatus from '../components/detailed_status';
import { makeGetStatus } from '../../../selectors';
@@ -15,7 +14,6 @@ import {
pin,
unpin,
} from '../../../actions/interactions';
-import { blockAccount } from '../../../actions/accounts';
import {
muteStatus,
unmuteStatus,
@@ -24,9 +22,10 @@ import {
revealStatus,
} from '../../../actions/statuses';
import { initMuteModal } from '../../../actions/mutes';
+import { initBlockModal } from '../../../actions/blocks';
import { initReport } from '../../../actions/reports';
import { openModal } from '../../../actions/modal';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import { defineMessages, injectIntl } from 'react-intl';
import { boostModal, deleteModal } from '../../../initial_state';
import { showAlertForError } from '../../../actions/alerts';
@@ -35,10 +34,8 @@ const messages = defineMessages({
deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },
redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
- blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
- blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' },
});
const makeMapStateToProps = () => {
@@ -138,16 +135,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
onBlock (status) {
const account = status.get('account');
- dispatch(openModal('CONFIRM', {
- message: @{account.get('acct')} }} />,
- confirm: intl.formatMessage(messages.blockConfirm),
- onConfirm: () => dispatch(blockAccount(account.get('id'))),
- secondary: intl.formatMessage(messages.blockAndReport),
- onSecondary: () => {
- dispatch(blockAccount(account.get('id')));
- dispatch(initReport(account, status));
- },
- }));
+ dispatch(initBlockModal(account));
},
onReport (status) {
diff --git a/app/javascript/mastodon/features/status/index.js b/app/javascript/mastodon/features/status/index.js
index f78a9489ab2..029057d4076 100644
--- a/app/javascript/mastodon/features/status/index.js
+++ b/app/javascript/mastodon/features/status/index.js
@@ -23,7 +23,6 @@ import {
mentionCompose,
directCompose,
} from '../../actions/compose';
-import { blockAccount } from '../../actions/accounts';
import {
muteStatus,
unmuteStatus,
@@ -32,6 +31,7 @@ import {
revealStatus,
} from '../../actions/statuses';
import { initMuteModal } from '../../actions/mutes';
+import { initBlockModal } from '../../actions/blocks';
import { initReport } from '../../actions/reports';
import { makeGetStatus } from '../../selectors';
import { ScrollContainer } from 'react-router-scroll-4';
@@ -39,7 +39,7 @@ import ColumnBackButton from '../../components/column_back_button';
import ColumnHeader from '../../components/column_header';
import StatusContainer from '../../containers/status_container';
import { openModal } from '../../actions/modal';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { HotKeys } from 'react-hotkeys';
import { boostModal, deleteModal } from '../../initial_state';
@@ -52,13 +52,11 @@ const messages = defineMessages({
deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },
redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
- blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },
hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },
detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
- blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' },
});
const makeMapStateToProps = () => {
@@ -296,19 +294,9 @@ class Status extends ImmutablePureComponent {
}
handleBlockClick = (status) => {
- const { dispatch, intl } = this.props;
+ const { dispatch } = this.props;
const account = status.get('account');
-
- dispatch(openModal('CONFIRM', {
- message: @{account.get('acct')} }} />,
- confirm: intl.formatMessage(messages.blockConfirm),
- onConfirm: () => dispatch(blockAccount(account.get('id'))),
- secondary: intl.formatMessage(messages.blockAndReport),
- onSecondary: () => {
- dispatch(blockAccount(account.get('id')));
- dispatch(initReport(account, status));
- },
- }));
+ dispatch(initBlockModal(account));
}
handleReport = (status) => {
diff --git a/app/javascript/mastodon/features/ui/components/block_modal.js b/app/javascript/mastodon/features/ui/components/block_modal.js
new file mode 100644
index 00000000000..a07baeaa64a
--- /dev/null
+++ b/app/javascript/mastodon/features/ui/components/block_modal.js
@@ -0,0 +1,103 @@
+import React from 'react';
+import { connect } from 'react-redux';
+import PropTypes from 'prop-types';
+import { injectIntl, FormattedMessage } from 'react-intl';
+import { makeGetAccount } from '../../../selectors';
+import Button from '../../../components/button';
+import { closeModal } from '../../../actions/modal';
+import { blockAccount } from '../../../actions/accounts';
+import { initReport } from '../../../actions/reports';
+
+
+const makeMapStateToProps = () => {
+ const getAccount = makeGetAccount();
+
+ const mapStateToProps = state => ({
+ account: getAccount(state, state.getIn(['blocks', 'new', 'account_id'])),
+ });
+
+ return mapStateToProps;
+};
+
+const mapDispatchToProps = dispatch => {
+ return {
+ onConfirm(account) {
+ dispatch(blockAccount(account.get('id')));
+ },
+
+ onBlockAndReport(account) {
+ dispatch(blockAccount(account.get('id')));
+ dispatch(initReport(account));
+ },
+
+ onClose() {
+ dispatch(closeModal());
+ },
+ };
+};
+
+export default @connect(makeMapStateToProps, mapDispatchToProps)
+@injectIntl
+class BlockModal extends React.PureComponent {
+
+ static propTypes = {
+ account: PropTypes.object.isRequired,
+ onClose: PropTypes.func.isRequired,
+ onBlockAndReport: PropTypes.func.isRequired,
+ onConfirm: PropTypes.func.isRequired,
+ intl: PropTypes.object.isRequired,
+ };
+
+ componentDidMount() {
+ this.button.focus();
+ }
+
+ handleClick = () => {
+ this.props.onClose();
+ this.props.onConfirm(this.props.account);
+ }
+
+ handleSecondary = () => {
+ this.props.onClose();
+ this.props.onBlockAndReport(this.props.account);
+ }
+
+ handleCancel = () => {
+ this.props.onClose();
+ }
+
+ setRef = (c) => {
+ this.button = c;
+ }
+
+ render () {
+ const { account } = this.props;
+
+ return (
+