diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 0d49d9a19d..98f622c293 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -13,27 +13,38 @@
"about.rules": "Normes del sirvidor",
"account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Amestar o quitar de les llistes",
+ "account.badges.bot": "Automatizáu",
"account.badges.group": "Grupu",
"account.block": "Bloquiar a @{name}",
"account.block_domain": "Bloquiar el dominiu {domain}",
+ "account.block_short": "Bloquiar",
"account.blocked": "Perfil bloquiáu",
"account.browse_more_on_origin_server": "Restolar más nel perfil orixinal",
+ "account.cancel_follow_request": "Atayar siguimientu",
+ "account.copy": "Copiar I'enllaz al perfil",
"account.direct": "Mentar a @{name} per privao",
"account.disable_notifications": "Dexar d'avisame cuando @{name} espublice artículos",
"account.domain_blocked": "Dominiu bloquiáu",
"account.edit_profile": "Editar el perfil",
"account.enable_notifications": "Avisame cuando @{name} espublice artículos",
"account.endorse": "Destacar nel perfil",
+ "account.featured_tags.last_status_at": "Últimu estáu en {date}",
+ "account.featured_tags.last_status_never": "Sin estaos",
"account.featured_tags.title": "Etiquetes destacaes de: {name}",
"account.follow": "Siguir",
"account.followers": "Siguidores",
"account.followers.empty": "Naide sigue a esti perfil.",
+ "account.followers_counter": "{count, plural, one {{counter} Siguíu} other {{counter} Siguíos}}",
+ "account.following": "Siguiendo",
"account.following_counter": "{count, plural,one {Sigue a {counter}} other {Sigue a {counter}}}",
"account.follows.empty": "Esti perfil nun sigue a naide.",
"account.follows_you": "Síguete",
+ "account.go_to_profile": "Dir al perfil",
"account.hide_reblogs": "Anubrir los artículos compartíos de @{name}",
"account.in_memoriam": "N'alcordanza.",
"account.joined_short": "Data de xunión",
+ "account.languages": "Camudar llingües suscrites",
+ "account.link_verified_on": "La propiedá d'esti enllaz foi comprobada'l {date}",
"account.media": "Multimedia",
"account.mention": "Mentar a @{name}",
"account.moved_to": "{name} indicó qu'agora la so cuenta nueva ye:",
diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json
index 4f5b247b64..06a329a8b2 100644
--- a/app/javascript/mastodon/locales/be.json
+++ b/app/javascript/mastodon/locales/be.json
@@ -21,6 +21,7 @@
"account.blocked": "Заблакіраваны",
"account.browse_more_on_origin_server": "Глядзіце больш у арыгінальным профілі",
"account.cancel_follow_request": "Скасаваць запыт на падпіску",
+ "account.copy": "Скапіраваць спасылку на профіль",
"account.direct": "Згадаць асабіста @{name}",
"account.disable_notifications": "Не паведамляць мне пра публікацыі @{name}",
"account.domain_blocked": "Дамен заблакаваны",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Адзначыць прачытаным",
"conversation.open": "Прагледзець размову",
"conversation.with": "З {names}",
+ "copy_icon_button.copied": "Скапіявана ў буфер абмену",
"copypaste.copied": "Скапіравана",
"copypaste.copy_to_clipboard": "Капіраваць у буфер абмену",
"directory.federated": "З вядомага федэсвету",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "На жаль, зараз немагчыма паказаць вынікі. Вы можаце паспрабаваць выкарыстоўваць пошук і праглядзець старонку агляду, каб знайсці людзей, на якіх можна падпісацца, або паўтарыце спробу пазней.",
"onboarding.follows.lead": "Вы самі ствараеце свой хатні канал. Чым больш людзей вы падпішаце, тым больш актыўна і цікавей гэта будзе. Гэтыя профілі могуць стаць добрай адпраўной кропкай — вы заўсёды можаце адмяніць падпіску на іх пазней!",
"onboarding.follows.title": "Папулярна на Mastodon",
- "onboarding.profile.discoverable": "Уключыць профіль і допісы ў алгарытмы рэкамендацый",
+ "onboarding.profile.discoverable": "Зрабіць мой профіль бачным",
+ "onboarding.profile.discoverable_hint": "Калі вы звяртаецеся да адкрытасці на Mastodon, вашы паведамленні могуць з'яўляцца ў выніках пошуку і тэндэнцый, а ваш профіль можа быць прапанаваны людзям з такімі ж інтарэсамі.",
"onboarding.profile.display_name": "Бачнае імя",
"onboarding.profile.display_name_hint": "Ваша поўнае імя або ваш псеўданім…",
- "onboarding.profile.indexable": "Індэксаваць публічныя допісы ў пошукавых сістэмах",
"onboarding.profile.lead": "Вы заўсёды можаце выканаць гэта пазней у Наладах, дзе даступна яшчэ больш параметраў.",
"onboarding.profile.note": "Біяграфія",
"onboarding.profile.note_hint": "Вы можаце @згадаць іншых людзей або выкарыстоўваць #хэштэгі…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Не ў стужках",
"privacy_policy.last_updated": "Адноўлена {date}",
"privacy_policy.title": "Палітыка канфідэнцыйнасці",
+ "recommended": "Рэкамендуем",
"refresh": "Абнавiць",
"regeneration_indicator.label": "Загрузка…",
"regeneration_indicator.sublabel": "Пачакайце, рыхтуем вашу стужку!",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index b30dfecaa6..339ba60119 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -479,10 +479,8 @@
"onboarding.follows.empty": "За съжаление, в момента не могат да се показват резултати. Може да опитате да употребявате търсене или да прегледате страницата за изследване, за да намерите страница за последване, или да опитате пак по-късно.",
"onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!",
"onboarding.follows.title": "Популярно в Mastodon",
- "onboarding.profile.discoverable": "Включване на профила и публикации в алгоритмите за откриване",
"onboarding.profile.display_name": "Името на показ",
"onboarding.profile.display_name_hint": "Вашето пълно име или псевдоним…",
- "onboarding.profile.indexable": "Включване на обществени публикации в резултатите от търсене",
"onboarding.profile.lead": "Винаги може да завършите това по-късно в настройките, където дори има повече възможности за настройване.",
"onboarding.profile.note": "Биогр.",
"onboarding.profile.note_hint": "Може да @споменавате други хора или #хаштагове…",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index 20ef437337..16bf5020c5 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokovaný",
"account.browse_more_on_origin_server": "Více na původním profilu",
"account.cancel_follow_request": "Zrušit žádost o sledování",
+ "account.copy": "Kopírovat odkaz na profil",
"account.direct": "Soukromě zmínit @{name}",
"account.disable_notifications": "Přestat mě upozorňovat, když @{name} zveřejní příspěvek",
"account.domain_blocked": "Doména blokována",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označit jako přečtené",
"conversation.open": "Zobrazit konverzaci",
"conversation.with": "S {names}",
+ "copy_icon_button.copied": "Zkopírováno do schránky",
"copypaste.copied": "Zkopírováno",
"copypaste.copy_to_clipboard": "Zkopírovat do schránky",
"directory.federated": "Ze známého fedivesmíru",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index dcd5406d05..6b7fb1b864 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -191,6 +191,7 @@
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
"conversation.open": "Gweld sgwrs",
"conversation.with": "Gyda {names}",
+ "copy_icon_button.copied": "Copïwyd i'r clipfwrdd",
"copypaste.copied": "Wedi ei gopïo",
"copypaste.copy_to_clipboard": "Copïo i'r clipfwrdd",
"directory.federated": "O'r ffedysawd cyfan",
@@ -390,6 +391,7 @@
"lists.search": "Chwilio ymysg pobl rydych yn eu dilyn",
"lists.subheading": "Eich rhestrau",
"load_pending": "{count, plural, one {# eitem newydd} other {# eitem newydd}}",
+ "loading_indicator.label": "Yn llwytho…",
"media_gallery.toggle_visible": "{number, plural, one {Cuddio delwedd} other {Cuddio delwedd}}",
"moved_to_account_banner.text": "Ar hyn y bryd, mae eich cyfrif {disabledAccount} wedi ei analluogi am i chi symud i {movedToAccount}.",
"mute_modal.duration": "Hyd",
@@ -478,6 +480,12 @@
"onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.",
"onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:",
"onboarding.follows.title": "Yn boblogaidd ar Mastodon",
+ "onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…",
+ "onboarding.profile.note": "Bywgraffiad",
+ "onboarding.profile.note_hint": "Gallwch @grybwyll pobl eraill neu #hashnodau…",
+ "onboarding.profile.save_and_continue": "Cadw a pharhau",
+ "onboarding.profile.title": "Gosodiad proffil",
+ "onboarding.profile.upload_avatar": "Llwytho llun proffil",
"onboarding.share.lead": "Cofiwch ddweud wrth bobl sut y gallan nhw ddod o hyd i chi ar Mastodon!",
"onboarding.share.message": "Fi yw {username} ar #Mastodon! Dewch i'm dilyn i yn {url}",
"onboarding.share.next_steps": "Camau nesaf posib:",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 33eda6f436..577d77782a 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokeret",
"account.browse_more_on_origin_server": "Se mere på den oprindelige profil",
"account.cancel_follow_request": "Annullér anmodning om at følge",
+ "account.copy": "Kopiér link til profil",
"account.direct": "Privat omtale @{name}",
"account.disable_notifications": "Advisér mig ikke længere, når @{name} poster",
"account.domain_blocked": "Domæne blokeret",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Markér som læst",
"conversation.open": "Vis samtale",
"conversation.with": "Med {names}",
+ "copy_icon_button.copied": "Kopieret til udklipsholderen",
"copypaste.copied": "Kopieret",
"copypaste.copy_to_clipboard": "Kopiér til udklipsholder",
"directory.federated": "Fra kendt fedivers",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Ingen resultater tilgængelige pt. Prøv at bruge søgning eller gennemse siden for at finde personer at følge, eller forsøg igen senere.",
"onboarding.follows.lead": "Man kurerer sin eget hjemme-feed. Jo flere personer man følger, des mere aktiv og interessant vil det være. Disse profiler kan være et godt udgangspunkt – de kan altid fjernes senere!",
"onboarding.follows.title": "Populært på Mastodon",
- "onboarding.profile.discoverable": "Fremhæv profil og indlæg i detekteringsalgoritmer",
+ "onboarding.profile.discoverable": "Gør min profil synlig",
+ "onboarding.profile.discoverable_hint": "Når man vælger at være synlig på Mastodon, kan ens indlæg fremgå i søgeresultater og tendenser, og profilen kan blive foreslået til andre med tilsvarende interesse.",
"onboarding.profile.display_name": "Visningsnavn",
"onboarding.profile.display_name_hint": "Fulde navn eller dit sjove navn…",
- "onboarding.profile.indexable": "Medtag offentlige indlæg i søgeresultater",
"onboarding.profile.lead": "Dette kan altid færdiggøres senere i indstillingerne, hvor endnu flere tilpasningsmuligheder forefindes.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "Man kan @omtale andre personer eller #hashtags…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Diskret",
"privacy_policy.last_updated": "Senest opdateret {date}",
"privacy_policy.title": "Privatlivspolitik",
+ "recommended": "Anbefalet",
"refresh": "Genindlæs",
"regeneration_indicator.label": "Indlæser…",
"regeneration_indicator.sublabel": "Din hjemmetidslinje klargøres!",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 5c1ccf46d9..7c0710efcf 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -21,6 +21,7 @@
"account.blocked": "Blockiert",
"account.browse_more_on_origin_server": "Mehr auf dem Originalprofil durchsuchen",
"account.cancel_follow_request": "Folgeanfrage zurückziehen",
+ "account.copy": "Link zum Profil kopieren",
"account.direct": "@{name} privat erwähnen",
"account.disable_notifications": "Höre auf mich zu benachrichtigen wenn @{name} etwas postet",
"account.domain_blocked": "Domain versteckt",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Als gelesen markieren",
"conversation.open": "Unterhaltung anzeigen",
"conversation.with": "Mit {names}",
+ "copy_icon_button.copied": "In die Zwischenablage kopiert",
"copypaste.copied": "Kopiert",
"copypaste.copy_to_clipboard": "In die Zwischenablage kopieren",
"directory.federated": "Aus bekanntem Fediverse",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Bedauerlicherweise können aktuell keine Ergebnisse angezeigt werden. Du kannst die Suche verwenden oder den Reiter „Entdecken“ auswählen, um neue Leute zum Folgen zu finden – oder du versuchst es später erneut.",
"onboarding.follows.lead": "Deine Startseite ist der primäre Anlaufpunkt, um Mastodon zu erleben. Je mehr Profilen du folgst, umso aktiver und interessanter wird sie. Damit du direkt loslegen kannst, gibt es hier ein paar Vorschläge:",
"onboarding.follows.title": "Personalisiere deine Startseite",
- "onboarding.profile.discoverable": "Profil und Beiträge in Suchalgorithmen berücksichtigen",
+ "onboarding.profile.discoverable": "Mein Profil auffindbar machen",
+ "onboarding.profile.discoverable_hint": "Wenn du entdeckt werden möchtest, dann können deine Beiträge in Suchergebnissen und Trends erscheinen. Dein Profil kann ebenfalls anderen mit ähnlichen Interessen vorgeschlagen werden.",
"onboarding.profile.display_name": "Anzeigename",
"onboarding.profile.display_name_hint": "Dein richtiger Name oder dein Fantasiename …",
- "onboarding.profile.indexable": "Öffentliche Beiträge in die Suchergebnisse einbeziehen",
"onboarding.profile.lead": "Du kannst das später in den Einstellungen vervollständigen, wo noch mehr Anpassungsmöglichkeiten zur Verfügung stehen.",
"onboarding.profile.note": "Über mich",
"onboarding.profile.note_hint": "Du kannst andere @Profile erwähnen oder #Hashtags verwenden …",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Nicht gelistet",
"privacy_policy.last_updated": "Stand: {date}",
"privacy_policy.title": "Datenschutzerklärung",
+ "recommended": "Empfohlen",
"refresh": "Aktualisieren",
"regeneration_indicator.label": "Wird geladen …",
"regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!",
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index 31806bcfb9..02ce7120a3 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -168,6 +168,7 @@
"confirmations.mute.explanation": "Αυτό θα κρύψει τις δημοσιεύσεις τους και τις δημοσιεύσεις που τους αναφέρουν, αλλά θα συνεχίσουν να μπορούν να βλέπουν τις δημοσιεύσεις σου και να σε ακολουθούν.",
"confirmations.mute.message": "Σίγουρα θες να αποσιωπήσεις {name};",
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
+ "confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την ανάρτηση και να την ξαναγράψεις; Οι προτιμήσεις και προωθήσεις θα χαθούν και οι απαντήσεις στην αρχική ανάρτηση θα μείνουν ορφανές.",
"confirmations.reply.confirm": "Απάντησε",
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
"confirmations.unfollow.confirm": "Άρση ακολούθησης",
@@ -187,6 +188,7 @@
"dismissable_banner.community_timeline": "Αυτές είναι οι πιο πρόσφατες δημόσιες αναρτήσεις ατόμων των οποίων οι λογαριασμοί φιλοξενούνται στο {domain}.",
"dismissable_banner.dismiss": "Παράβλεψη",
"dismissable_banner.explore_links": "Αυτές οι ειδήσεις συζητούνται σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
+ "dismissable_banner.explore_statuses": "Αυτές είναι οι αναρτήσεις που έχουν απήχηση στο κοινωνικό δίκτυο σήμερα. Οι νεώτερες αναρτήσεις με περισσότερες προωθήσεις και προτιμήσεις κατατάσσονται ψηλότερα.",
"dismissable_banner.explore_tags": "Αυτές οι ετικέτες αποκτούν απήχηση σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
"embed.instructions": "Ενσωμάτωσε αυτή την ανάρτηση στην ιστοσελίδα σου αντιγράφοντας τον παρακάτω κώδικα.",
"embed.preview": "Ορίστε πως θα φαίνεται:",
@@ -279,13 +281,17 @@
"home.column_settings.basic": "Βασικές ρυθμίσεις",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
+ "home.explore_prompt.body": "Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:\nΗ τροφοδοσία της αρχικής σελίδας σας είναι ένα μίγμα από αναρτήσεις με τις ετικέτες και τα άτομα που επιλέξατε να ακολουθείτε, και τις αναρτήσεις που προωθούν. Εάν αυτό σας φαίνεται πολύ ήσυχο, μπορεί να θέλετε:",
"home.hide_announcements": "Απόκρυψη ανακοινώσεων",
"home.show_announcements": "Εμφάνιση ανακοινώσεων",
"interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.",
"interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.",
"interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σε αυτή την ανάρτηση.",
+ "interaction_modal.login.action": "Take me home\nΠήγαινέ με στην αρχική σελίδα",
+ "interaction_modal.no_account_yet": "Not on Mastodon?\nΔεν είστε στο Mastodon;",
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
+ "interaction_modal.title.favourite": "Favorite {name}'s post\nΠροτίμησε την ανάρτηση της/του {name}",
"interaction_modal.title.follow": "Ακολούθησε {name}",
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
@@ -376,6 +382,7 @@
"not_signed_in_indicator.not_signed_in": "Πρέπει να συνδεθείς για να αποκτήσεις πρόσβαση σε αυτόν τον πόρο.",
"notification.admin.report": "Ο/Η {name} ανέφερε τον {target}",
"notification.admin.sign_up": "{name} έχει εγγραφεί",
+ "notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
"notification.follow": "Ο/Η {name} σε ακολούθησε",
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
"notification.mention": "Ο/Η {name} σε επισήμανε",
@@ -405,7 +412,7 @@
"notifications.column_settings.unread_notifications.highlight": "Επισήμανση μη αναγνωσμένων ειδοποιήσεων",
"notifications.column_settings.update": "Επεξεργασίες:",
"notifications.filter.all": "Όλες",
- "notifications.filter.boosts": "Ενισχύσεις",
+ "notifications.filter.boosts": "Προωθήσεις",
"notifications.filter.follows": "Ακολουθείς",
"notifications.filter.mentions": "Επισημάνσεις",
"notifications.filter.polls": "Αποτελέσματα δημοσκόπησης",
@@ -425,9 +432,11 @@
"onboarding.actions.go_to_home": "Πηγαίνετε στην αρχική σας ροή",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Δημοφιλή στο Mastodon",
+ "onboarding.share.lead": "Let people know how they can find you on Mastodon!\nΕνημερώστε άλλα άτομα πώς μπορούν να σας βρουν στο Mastodon!",
"onboarding.share.next_steps": "Πιθανά επόμενα βήματα:",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
+ "onboarding.start.title": "You've made it!\nΤα καταφέρατε!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.",
@@ -572,7 +581,7 @@
"status.read_more": "Διάβασε περισότερα",
"status.reblog": "Ενίσχυση",
"status.reblog_private": "Ενίσχυση με αρχική ορατότητα",
- "status.reblogged_by": "{name} ενισχύθηκε",
+ "status.reblogged_by": "{name} προώθησε",
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
"status.redraft": "Σβήσε & ξαναγράψε",
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json
index d00782592e..7745311be5 100644
--- a/app/javascript/mastodon/locales/en-GB.json
+++ b/app/javascript/mastodon/locales/en-GB.json
@@ -478,10 +478,8 @@
"onboarding.follows.empty": "Unfortunately, no results can be shown right now. You can try using search or browsing the explore page to find people to follow, or try again later.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Personalize your home feed",
- "onboarding.profile.discoverable": "Feature profile and posts in discovery algorithms",
"onboarding.profile.display_name": "Display name",
"onboarding.profile.display_name_hint": "Your full name or your fun name…",
- "onboarding.profile.indexable": "Include public posts in search results",
"onboarding.profile.lead": "You can always complete this later in the settings, where even more customisation options are available.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "You can @mention other people or #hashtags…",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 16941e2ca4..ed8bfe1668 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -481,10 +481,10 @@
"onboarding.follows.empty": "Unfortunately, no results can be shown right now. You can try using search or browsing the explore page to find people to follow, or try again later.",
"onboarding.follows.lead": "Your home feed is the primary way to experience Mastodon. The more people you follow, the more active and interesting it will be. To get you started, here are some suggestions:",
"onboarding.follows.title": "Personalize your home feed",
- "onboarding.profile.discoverable": "Feature profile and posts in discovery algorithms",
+ "onboarding.profile.discoverable": "Make my profile discoverable",
+ "onboarding.profile.discoverable_hint": "When you opt in to discoverability on Mastodon, your posts may appear in search results and trending, and your profile may be suggested to people with similar interests to you.",
"onboarding.profile.display_name": "Display name",
"onboarding.profile.display_name_hint": "Your full name or your fun name…",
- "onboarding.profile.indexable": "Include public posts in search results",
"onboarding.profile.lead": "You can always complete this later in the settings, where even more customization options are available.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "You can @mention other people or #hashtags…",
@@ -535,6 +535,7 @@
"privacy.unlisted.short": "Unlisted",
"privacy_policy.last_updated": "Last updated {date}",
"privacy_policy.title": "Privacy Policy",
+ "recommended": "Recommended",
"refresh": "Refresh",
"regeneration_indicator.label": "Loading…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 5679d5e415..537b8d0af1 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -350,6 +350,7 @@
"lightbox.previous": "Malantaŭen",
"limited_account_hint.action": "Montru profilon ĉiukaze",
"limited_account_hint.title": "La profilo estas kaŝita de la moderigantoj de {domain}.",
+ "link_preview.author": "De {name}",
"lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston",
@@ -446,6 +447,7 @@
"onboarding.follows.empty": "Bedaŭrinde, neniu rezulto estas montrebla nuntempe. Vi povas provi serĉi aŭ foliumi la esploran paĝon por trovi kontojn por sekvi, aŭ retrovi baldaŭ.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.save_and_continue": "Konservi kaj daŭrigi",
"onboarding.share.message": "Mi estas {username} en #Mastodon! Sekvu min ĉe {url}",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index 6803363695..dfc00f1d85 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Explorar más en el perfil original",
"account.cancel_follow_request": "Dejar de seguir",
+ "account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada a @{name}",
"account.disable_notifications": "Dejar de notificarme cuando @{name} envíe mensajes",
"account.domain_blocked": "Dominio bloqueado",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como leída",
"conversation.open": "Ver conversación",
"conversation.with": "Con {names}",
+ "copy_icon_button.copied": "Copiado en el portapapeles",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde fediverso conocido",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Podés intentar usar la búsqueda o navegar por la página de exploración para encontrar cuentas a las que seguir, o intentarlo de nuevo más tarde.",
"onboarding.follows.lead": "Tu línea temporal de inicio es la forma principal de experimentar Mastodon. Cuanta más cuentas sigás, más activa e interesante será. Para empezar, acá tenés algunas sugerencias:",
"onboarding.follows.title": "Personalizá tu línea de tiempo principal",
- "onboarding.profile.discoverable": "Destacar perfil y mensajes en algoritmos de descubrimiento",
+ "onboarding.profile.discoverable": "Hacer que mi perfil sea detectable",
+ "onboarding.profile.discoverable_hint": "Cuando optás por ser detectable en Mastodon, tus mensajes pueden aparecer en los resultados de búsqueda y de tendencia, y tu perfil puede ser sugerido a personas con intereses similares a los tuyos.",
"onboarding.profile.display_name": "Nombre para mostrar",
"onboarding.profile.display_name_hint": "Tu nombre completo o tu pseudónimo…",
- "onboarding.profile.indexable": "Incluir mensajes públicos en resultados de búsqueda",
"onboarding.profile.lead": "Siempre podés completar esto más tarde en la configuración, donde hay disponibles más opciones de personalización.",
"onboarding.profile.note": "Biografía",
"onboarding.profile.note_hint": "Podés @mencionar otras cuentas o usar #etiquetas…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "No listado",
"privacy_policy.last_updated": "Última actualización: {date}",
"privacy_policy.title": "Política de privacidad",
+ "recommended": "Opción recomendada",
"refresh": "Refrescar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Se está preparando tu línea temporal principal!",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index aa8a21edb5..448a3ae919 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
+ "account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada @{name}",
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
"account.domain_blocked": "Dominio oculto",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación",
"conversation.with": "Con {names}",
+ "copy_icon_button.copied": "Copiado al portapapeles",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde el fediverso conocido",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Puedes intentar usar la búsqueda o navegar por la página de exploración para encontrar gente a la que seguir, o inténtalo de nuevo más tarde.",
"onboarding.follows.lead": "Tienes que personalizar tu inicio. Cuantas más personas sigas, más activo e interesante será. Estos perfiles pueden ser un buen punto de partida, ¡pero siempre puedes dejar de seguirlos más adelante!",
"onboarding.follows.title": "Popular en Mastodon",
- "onboarding.profile.discoverable": "Destacar el perfil y las publicaciones en el algoritmo de descubrimiento",
+ "onboarding.profile.discoverable": "Hacer que mi perfil aparezca en búsquedas",
+ "onboarding.profile.discoverable_hint": "Cuando permites que tu perfil aparezca en búsquedas en Mastodon, tus publicaciones podrán aparecer en los resultados de búsqueda y en tendencias, y tu perfil podrá recomendarse a gente con intereses similares a los tuyos.",
"onboarding.profile.display_name": "Nombre a mostrar",
"onboarding.profile.display_name_hint": "Tu nombre completo o tu apodo…",
- "onboarding.profile.indexable": "Incluir publicaciones públicas en los resultados de búsqueda",
"onboarding.profile.lead": "Siempre puedes completar esto más tarde en los ajustes, donde hay aún más opciones de personalización disponibles.",
"onboarding.profile.note": "Biografía",
"onboarding.profile.note_hint": "Puedes @mencionar a otras personas o #hashtags…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "No listado",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
+ "recommended": "Recomendado",
"refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 5d1aa004b3..9850bf0391 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
+ "account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada a @{name}",
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
"account.domain_blocked": "Dominio bloqueado",
@@ -65,7 +66,7 @@
"account.unblock": "Desbloquear a @{name}",
"account.unblock_domain": "Desbloquear dominio {domain}",
"account.unblock_short": "Desbloquear",
- "account.unendorse": "No destacar en el perfil",
+ "account.unendorse": "No mostrar en el perfil",
"account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications_short": "Dejar de silenciar notificaciones",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación",
"conversation.with": "Con {names}",
+ "copy_icon_button.copied": "Copiado al portapapeles",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde el fediverso conocido",
@@ -479,7 +481,17 @@
"onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Puedes intentar usar la búsqueda o navegar por la página de exploración para encontrar personas a las que seguir, o inténtalo de nuevo más tarde.",
"onboarding.follows.lead": "Tu línea de inicio es la forma principal de experimentar Mastodon. Cuanta más personas sigas, más activa e interesante será. Para empezar, aquí hay algunas sugerencias:",
"onboarding.follows.title": "Personaliza tu línea de inicio",
+ "onboarding.profile.discoverable": "Hacer que mi perfil aparezca en búsquedas",
+ "onboarding.profile.discoverable_hint": "Cuando permites que tu perfil aparezca en búsquedas en Mastodon, tus publicaciones podrán aparecer en los resultados de búsqueda y en tendencias, y tu perfil podrá recomendarse a gente con intereses similares a los tuyos.",
"onboarding.profile.display_name": "Nombre para mostrar",
+ "onboarding.profile.display_name_hint": "Tu nombre completo o tu apodo…",
+ "onboarding.profile.lead": "Siempre puedes completar esto más tarde en los ajustes, donde hay aún más opciones de personalización disponibles.",
+ "onboarding.profile.note": "Biografía",
+ "onboarding.profile.note_hint": "Puedes @mencionar a otras personas o #etiquetas…",
+ "onboarding.profile.save_and_continue": "Guardar y continuar",
+ "onboarding.profile.title": "Configuración del perfil",
+ "onboarding.profile.upload_avatar": "Subir foto de perfil",
+ "onboarding.profile.upload_header": "Subir encabezado de perfil",
"onboarding.share.lead": "¡Cuéntale a otras personas cómo te pueden encontrar en Mastodon!",
"onboarding.share.message": "¡Soy {username} en #Mastodon! Ven a seguirme en {url}",
"onboarding.share.next_steps": "Posibles siguientes pasos:",
@@ -523,6 +535,7 @@
"privacy.unlisted.short": "No listado",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
+ "recommended": "Recomendado",
"refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index 88f70cffb0..eb666a0eeb 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokeatuta",
"account.browse_more_on_origin_server": "Arakatu gehiago jatorrizko profilean",
"account.cancel_follow_request": "Baztertu jarraitzeko eskaera",
+ "account.copy": "Kopiatu profilerako esteka",
"account.direct": "Aipatu pribatuki @{name}",
"account.disable_notifications": "Utzi jakinarazteari @{name} erabiltzailearen bidalketetan",
"account.domain_blocked": "Ezkutatutako domeinua",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Markatu irakurrita bezala",
"conversation.open": "Ikusi elkarrizketa",
"conversation.with": "Hauekin: {names}",
+ "copy_icon_button.copied": "Arbelera kopiatu da",
"copypaste.copied": "Kopiatuta",
"copypaste.copy_to_clipboard": "Kopiatu arbelera",
"directory.federated": "Fedibertso ezagunekoak",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Zoritxarrez, ezin da emaitzik erakutsi orain. Bilaketa erabil dezakezu edo Arakatu orrian jendea bilatu jarraitzeko, edo saiatu geroago.",
"onboarding.follows.lead": "Hasierako orria zuk pertsonalizatzen duzu. Gero eta jende gehiagori jarraitu, orduan eta aktibo eta interesgarriago izango da. Profil hauek egokiak izan daitezke hasteko, beti ere, geroago jarraitzeari utz diezazkiekezu!",
"onboarding.follows.title": "Mastodonen pil-pilean",
- "onboarding.profile.discoverable": "Ezagutarazi profila eta bidalketak bilaketa algoritmoetan",
+ "onboarding.profile.discoverable": "Profila aurkitzeko moduan jarri",
+ "onboarding.profile.discoverable_hint": "Mastodon zure profila aurkitzeko moduan duzunean, zure mezuak bilaketa-emaitzetan eta jarraipenetan ager daitezke, eta zure profila antzeko interesa duen jendeari iradoki ahal zaio.",
"onboarding.profile.display_name": "Bistaratzeko izena",
"onboarding.profile.display_name_hint": "Zure izena edo ezizena…",
- "onboarding.profile.indexable": "Gehitu argitalpen publikoak bilaketa-emaitzetan",
"onboarding.profile.lead": "Geroagoago bete daiteke konfigurazioan, non pertsonalizatzeko aukera gehiago dauden.",
"onboarding.profile.note": "Biografia",
"onboarding.profile.note_hint": "Beste pertsona batzuk @aipa ditzakezu edo #traolak erabili…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Zerrendatu gabea",
"privacy_policy.last_updated": "Azkenengo eguneraketa {date}",
"privacy_policy.title": "Pribatutasun politika",
+ "recommended": "Gomendatua",
"refresh": "Berritu",
"regeneration_indicator.label": "Kargatzen…",
"regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 97dae30d43..6951d5cb0b 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -479,7 +479,7 @@
"onboarding.follows.empty": "متأسفانه هماکنون نتیجهای قابل نمایش نیست. میتوانید استفاده از جستوجو یا مرور صفحهٔ کاوش را برای یافتن افرادی برای پیگیری آزموده یا دوباره تلاش کنید.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
- "onboarding.profile.discoverable": "معرفی نمایه و فرستهها در الگوریتمهای کشف",
+ "onboarding.profile.discoverable": "نمایه خود را قابل نمایش کنید",
"onboarding.profile.display_name": "نام نمایشی",
"onboarding.profile.display_name_hint": "نام کامل یا نام باحالتان…",
"onboarding.profile.note": "درباره شما",
@@ -529,6 +529,7 @@
"privacy.unlisted.short": "فهرست نشده",
"privacy_policy.last_updated": "آخرین بهروز رسانی در {date}",
"privacy_policy.title": "سیاست محرمانگی",
+ "recommended": "پیشنهادشده",
"refresh": "نوسازی",
"regeneration_indicator.label": "در حال بار شدن…",
"regeneration_indicator.sublabel": "خوراک خانگیتان دارد آماده میشود!",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 849a7f463c..7a07913f8a 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -21,6 +21,7 @@
"account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
"account.cancel_follow_request": "Peruuta seurantapyyntö",
+ "account.copy": "Kopioi profiililinkki",
"account.direct": "Mainitse @{name} yksityisesti",
"account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} julkaisee",
"account.domain_blocked": "Verkkotunnus estetty",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Merkitse luetuksi",
"conversation.open": "Näytä keskustelu",
"conversation.with": "{names} kanssa",
+ "copy_icon_button.copied": "Kopioitiin leikepöydälle",
"copypaste.copied": "Kopioitu",
"copypaste.copy_to_clipboard": "Kopioi leikepöydälle",
"directory.federated": "Koko tunnettu fediversumi",
@@ -479,11 +481,11 @@
"onboarding.follows.empty": "Valitettavasti tuloksia ei voida näyttää juuri nyt. Voit kokeilla hakua tai selata tutustumissivua löytääksesi seurattavaa tai yrittää myöhemmin uudelleen.",
"onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!",
"onboarding.follows.title": "Mukauta kotisyötettäsi",
- "onboarding.profile.discoverable": "Pidä profiilia ja julkaisuja esillä löytämisalgoritmeissa",
+ "onboarding.profile.discoverable": "Aseta profiilini löydettäväksi",
+ "onboarding.profile.discoverable_hint": "Kun olet määrittänyt itsesi löydettäväksi Mastodonista, voivat julkaisusi näkyä hakutuloksissa ja suosituissa kohteissa, ja profiiliasi voidaan ehdottaa käyttäjille, jotka ovat kiinnostuneet samoista aiheista kuin sinä.",
"onboarding.profile.display_name": "Näyttönimi",
"onboarding.profile.display_name_hint": "Koko nimesi tai lempinimesi…",
- "onboarding.profile.indexable": "Sisällytä julkiset julkaisut hakutuloksiin",
- "onboarding.profile.lead": "Voit viimeistellä tämän milloin tahansa asetuksissa, jossa on saatavilla vielä enemmän mukautusvalintoja.",
+ "onboarding.profile.lead": "Voit viimeistellä tämän milloin tahansa asetuksista, jotka tarjoavat vielä enemmän mukautusvalintoja.",
"onboarding.profile.note": "Elämäkerta",
"onboarding.profile.note_hint": "Voit @mainita muita käyttäjiä tai #aihetunnisteita…",
"onboarding.profile.save_and_continue": "Tallenna ja jatka",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Listaamaton",
"privacy_policy.last_updated": "Viimeksi päivitetty {date}",
"privacy_policy.title": "Tietosuojakäytäntö",
+ "recommended": "Suositeltu",
"refresh": "Päivitä",
"regeneration_indicator.label": "Ladataan…",
"regeneration_indicator.sublabel": "Kotisyötettäsi valmistellaan!",
diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json
index 61c1287ea5..aa99a0c30c 100644
--- a/app/javascript/mastodon/locales/fo.json
+++ b/app/javascript/mastodon/locales/fo.json
@@ -21,6 +21,7 @@
"account.blocked": "Bannað/ur",
"account.browse_more_on_origin_server": "Kaga meira á upprunaligu vangamyndina",
"account.cancel_follow_request": "Strika fylgjaraumbøn",
+ "account.copy": "Avrita leinki til vangan",
"account.direct": "Umrøð @{name} privat",
"account.disable_notifications": "Ikki boða mær frá, tá @{name} skrivar",
"account.domain_blocked": "Økisnavn bannað",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Merk sum lisið",
"conversation.open": "Vís samrøðu",
"conversation.with": "Við {names}",
+ "copy_icon_button.copied": "Avritað til setiborðið",
"copypaste.copied": "Avritað",
"copypaste.copy_to_clipboard": "Avrita til setiborðið",
"directory.federated": "Frá tí kenda fediversinum",
@@ -478,6 +480,8 @@
"onboarding.follows.empty": "Tíverri kunnu eingi úrslit vísast beint nú. Tú kanst royna at brúka leiting ella at kaga gjøgnum Rannsaka síðuna fyri at finna fólk at fylgja - ella royna aftur seinni.",
"onboarding.follows.lead": "Tú snikkar sjálv/ur tína heimarás til. Jú fleiri fólk, tú fylgir, jú virknari og áhugaverdari verður tað. Hesir vangar kunnu vera ein góð byrjan — tú kanst altíð gevast at fylgja teimum seinni!",
"onboarding.follows.title": "Vælumtókt á Mastodon",
+ "onboarding.profile.discoverable": "Ger tað møguligt hjá øðrum at finna vangan hjá mær",
+ "onboarding.profile.discoverable_hint": "Tá tú játtar at onnur skulu kunna finna teg á Mastodon, so kann henda, at postar tínir síggjast í leitiúrslitum og rákum, og vangin hjá tær kann vera skotin upp fyri fólki við áhugamálum sum minna um tíni.",
"onboarding.share.lead": "Lat fólk vita, hvussu tey kunnu finna teg á Mastodon!",
"onboarding.share.message": "Eg eri {username} á #Mastodon! Kom og fylg mær á {url}",
"onboarding.share.next_steps": "Møgulig næstu stig:",
@@ -521,6 +525,7 @@
"privacy.unlisted.short": "Ikki listað",
"privacy_policy.last_updated": "Seinast dagført {date}",
"privacy_policy.title": "Privatlívspolitikkur",
+ "recommended": "Viðmælt",
"refresh": "Endurles",
"regeneration_indicator.label": "Innlesur…",
"regeneration_indicator.sublabel": "Tín heimarás verður gjørd klár!",
diff --git a/app/javascript/mastodon/locales/fr-QC.json b/app/javascript/mastodon/locales/fr-QC.json
index e858882f84..aeb1bf6b02 100644
--- a/app/javascript/mastodon/locales/fr-QC.json
+++ b/app/javascript/mastodon/locales/fr-QC.json
@@ -390,6 +390,7 @@
"lists.search": "Rechercher parmi les gens que vous suivez",
"lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
+ "loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "{number, plural, one {Cacher l’image} other {Cacher les images}}",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déménagé sur {movedToAccount}.",
"mute_modal.duration": "Durée",
@@ -478,6 +479,12 @@
"onboarding.follows.empty": "Malheureusement, aucun résultat ne peut être affiché pour le moment. Vous pouvez essayer de rechercher ou de parcourir la page \"Explorer\" pour trouver des personnes à suivre, ou réessayer plus tard.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.display_name": "Nom affiché",
+ "onboarding.profile.note": "Biographie",
+ "onboarding.profile.save_and_continue": "Enregistrer et continuer",
+ "onboarding.profile.title": "Configuration du profil",
+ "onboarding.profile.upload_avatar": "Importer une photo de profil",
+ "onboarding.profile.upload_header": "Envoyer une image de profil",
"onboarding.share.lead": "Faites savoir aux gens comment vous trouver sur Mastodon!",
"onboarding.share.message": "Je suis {username} sur #Mastodon! Suivez-moi sur {url}",
"onboarding.share.next_steps": "Étapes suivantes possibles:",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index a7bb4a12fe..95026531e6 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -107,7 +107,7 @@
"closed_registrations_modal.preamble": "Mastodon est décentralisé : peu importe où vous créez votre compte, vous serez en mesure de suivre et d'interagir avec quiconque sur ce serveur. Vous pouvez même l'héberger !",
"closed_registrations_modal.title": "Inscription sur Mastodon",
"column.about": "À propos",
- "column.blocks": "Comptes bloqués",
+ "column.blocks": "Utilisateurs bloqués",
"column.bookmarks": "Marque-pages",
"column.community": "Fil public local",
"column.direct": "Mentions privées",
@@ -390,6 +390,7 @@
"lists.search": "Rechercher parmi les gens que vous suivez",
"lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
+ "loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "{number, plural, one {Cacher l’image} other {Cacher les images}}",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous l'avez déplacé à {movedToAccount}.",
"mute_modal.duration": "Durée",
@@ -478,6 +479,12 @@
"onboarding.follows.empty": "Malheureusement, aucun résultat ne peut être affiché pour le moment. Vous pouvez essayer d'utiliser la recherche ou parcourir la page de découverte pour trouver des personnes à suivre, ou réessayez plus tard.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Personnaliser votre flux principal",
+ "onboarding.profile.display_name": "Nom affiché",
+ "onboarding.profile.note": "Biographie",
+ "onboarding.profile.save_and_continue": "Enregistrer et continuer",
+ "onboarding.profile.title": "Configuration du profil",
+ "onboarding.profile.upload_avatar": "Importer une photo de profil",
+ "onboarding.profile.upload_header": "Envoyer une image de profil",
"onboarding.share.lead": "Faites savoir aux gens comment ils peuvent vous trouver sur Mastodon!",
"onboarding.share.message": "Je suis {username} sur #Mastodon ! Suivez-moi sur {url}",
"onboarding.share.next_steps": "Étapes suivantes possibles :",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 7d2c6dab95..03f0318f37 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloqueada",
"account.browse_more_on_origin_server": "Busca máis no perfil orixinal",
"account.cancel_follow_request": "Cancelar a solicitude de seguimento",
+ "account.copy": "Copiar ligazón ao perfil",
"account.direct": "Mencionar de xeito privado a @{name}",
"account.disable_notifications": "Deixar de notificarme cando @{name} publica",
"account.domain_blocked": "Dominio agochado",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como lido",
"conversation.open": "Ver conversa",
"conversation.with": "Con {names}",
+ "copy_icon_button.copied": "Copiada ao portapapeis",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar ao portapapeis",
"directory.federated": "Do fediverso coñecido",
@@ -390,6 +392,7 @@
"lists.search": "Procurar entre as persoas que segues",
"lists.subheading": "As túas listaxes",
"load_pending": "{count, plural, one {# novo elemento} other {# novos elementos}}",
+ "loading_indicator.label": "Estase a cargar…",
"media_gallery.toggle_visible": "Agochar {number, plural, one {imaxe} other {imaxes}}",
"moved_to_account_banner.text": "A túa conta {disabledAccount} está actualmente desactivada porque movéchela a {movedToAccount}.",
"mute_modal.duration": "Duración",
@@ -478,6 +481,17 @@
"onboarding.follows.empty": "Desgraciadamente agora mesmo non hai nada que mostrar. Podes intentalo coa busca ou na páxina descubrir para atopar persoas ás que seguir, ou intentalo máis tarde.",
"onboarding.follows.lead": "Podes facer que a túa cronoloxía de inicio sexa como ti a queres. Canta máis xente sigas máis interesante será. Estes perfís poderían axudarche a comezar —sempre poderás deixar de seguilos despois!",
"onboarding.follows.title": "Popular en Mastodon",
+ "onboarding.profile.discoverable": "Que o meu perfil sexa atopable",
+ "onboarding.profile.discoverable_hint": "Cando elixes que poidan atoparte en Mastodon as túas publicacións aparecerán nos resultados das buscas e nos temas en voga, e o teu perfil podería ser suxerido para seguimento a persoas con intereses semellantes aos teus.",
+ "onboarding.profile.display_name": "Nome público",
+ "onboarding.profile.display_name_hint": "O teu nome completo ou un nome divertido…",
+ "onboarding.profile.lead": "Sempre poderás incluír esta información mais tarde nos axustes, onde terás máis opcións dispoñibles.",
+ "onboarding.profile.note": "Acerca de ti",
+ "onboarding.profile.note_hint": "Podes @mencionar a outras persoas ou usar #cancelos…",
+ "onboarding.profile.save_and_continue": "Gardar e continuar",
+ "onboarding.profile.title": "Configuración do perfil",
+ "onboarding.profile.upload_avatar": "Subir imaxe do perfil",
+ "onboarding.profile.upload_header": "Subir cabeceira para o perfil",
"onboarding.share.lead": "Fai que as persoas saiban como atoparte en Mastodon!",
"onboarding.share.message": "Son {username} en #Mastodon! Ségueme en {url}",
"onboarding.share.next_steps": "Seguintes pasos:",
@@ -521,6 +535,7 @@
"privacy.unlisted.short": "Sen listar",
"privacy_policy.last_updated": "Actualizado por última vez no {date}",
"privacy_policy.title": "Política de Privacidade",
+ "recommended": "Aconsellable",
"refresh": "Actualizar",
"regeneration_indicator.label": "Estase a cargar…",
"regeneration_indicator.sublabel": "Estase a preparar a túa cronoloxía de inicio!",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 2e00091709..4ab516fae5 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -21,6 +21,7 @@
"account.blocked": "לחסום",
"account.browse_more_on_origin_server": "ראה יותר בפרופיל המקורי",
"account.cancel_follow_request": "משיכת בקשת מעקב",
+ "account.copy": "להעתיק קישור לפרופיל",
"account.direct": "הודעה פרטית אל @{name}",
"account.disable_notifications": "הפסק לשלוח לי התראות כש@{name} מפרסמים",
"account.domain_blocked": "הדומיין חסום",
@@ -30,7 +31,7 @@
"account.featured_tags.last_status_at": "חצרוץ אחרון בתאריך {date}",
"account.featured_tags.last_status_never": "אין חצרוצים",
"account.featured_tags.title": "התגיות המועדפות של {name}",
- "account.follow": "עקוב",
+ "account.follow": "לעקוב",
"account.followers": "עוקבים",
"account.followers.empty": "אף אחד לא עוקב אחר המשתמש הזה עדיין.",
"account.followers_counter": "{count, plural,one {עוקב אחד} other {{counter} עוקבים}}",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "סמן כנקרא",
"conversation.open": "צפו בשיחה",
"conversation.with": "עם {names}",
+ "copy_icon_button.copied": "הועתק ללוח",
"copypaste.copied": "הועתק",
"copypaste.copy_to_clipboard": "העתקה ללוח הגזירים",
"directory.federated": "מהפדרציה הידועה",
@@ -300,15 +302,15 @@
"hashtag.counter_by_accounts": "{count, plural,one{{count} משתתף.ת}other{{count} משתתפיםות}}",
"hashtag.counter_by_uses": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{count} הודעות} other {{count} הודעות}}",
"hashtag.counter_by_uses_today": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{count} הודעות} other {{count} הודעות}} היום",
- "hashtag.follow": "מעקב אחר תגית",
- "hashtag.unfollow": "ביטול מעקב אחר תגית",
+ "hashtag.follow": "לעקוב אחרי תגית",
+ "hashtag.unfollow": "להפסיק לעקוב אחרי תגית",
"hashtags.and_other": "…{count, plural,other {ועוד #}}",
"home.actions.go_to_explore": "הצגת מגמות",
"home.actions.go_to_suggestions": "למצוא א.נשים לעקוב אחריהן.ם",
"home.column_settings.basic": "למתחילים",
"home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות",
- "home.explore_prompt.body": "זרם הבית שלך יכיל תערובת של הודעות מהתגיות והאנשים שבחרת לעקיבה, וההודעות שהנעקבים בוחרים להדהד. אם זה נראה שקט מדי כרגע אז מה לגבי:",
+ "home.explore_prompt.body": "פיד הבית שלך יכיל תערובת של הודעות מהתגיות והאנשים שבחרת למעקב, וההודעות שהנעקבים בוחרים להדהד. אם זה נראה שקט מדי כרגע אז מה לגבי:",
"home.explore_prompt.title": "זהו בסיס הבית שלך בתוך מסטודון.",
"home.hide_announcements": "הסתר הכרזות",
"home.pending_critical_update.body": "יש לעדכן את תוכנת מסטודון בהקדם האפשרי!",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "למצער, תוצאות לחיפושך אינן בנמצא. ניתן להשתמש בחיפוש או בדף החקירות לשם מציאת אנשים ולעקבם. אפשר גם לנסות שוב אחר כך.",
"onboarding.follows.lead": "אתם אוצרים את הזרם הבייתי שלכם. ככל שתעקבו אחרי יותר אנשים, הוא יהיה עשיר ופעיל יותר. הנה כמה פרופילים להתחיל בהם - תמיד ניתן להפסיק מעקב אחריהם בהמשך!",
"onboarding.follows.title": "פופולארי על מסטודון",
- "onboarding.profile.discoverable": "הצגת פרופיל והודעות במסך התגליות",
+ "onboarding.profile.discoverable": "כלול את הפרופיל שלי בעמודת התגליות",
+ "onboarding.profile.discoverable_hint": "כשתבחרו להכלל ב\"תגליות\" על מסטודון, ההודעות שלכם עשויות להופיע בתוצאות חיפוש ועמודות \"נושאים חמים\", והפרופיל יוצע לאחרים עם תחומי עניין משותפים לכם.",
"onboarding.profile.display_name": "שם להצגה",
"onboarding.profile.display_name_hint": "שמך המלא או כינוי הכיף שלך…",
- "onboarding.profile.indexable": "הכללת הודעות ציבוריות בתוצאות החיפוש",
"onboarding.profile.lead": "תמיד ניתן להשלים זאת אחר כך בהגדרות, שם יש אפילו עוד אפשרויות להתאמה אישית.",
"onboarding.profile.note": "אודות",
"onboarding.profile.note_hint": "ניתן @לאזכר משתמשים אחרים או #תגיות…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "לא רשום (לא לפיד הכללי)",
"privacy_policy.last_updated": "עודכן לאחרונה {date}",
"privacy_policy.title": "מדיניות פרטיות",
+ "recommended": "מומלץ",
"refresh": "רענון",
"regeneration_indicator.label": "טוען…",
"regeneration_indicator.sublabel": "פיד הבית שלך בהכנה!",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index f4473b7169..387941b5e4 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -415,6 +415,8 @@
"onboarding.compose.template": "नमस्कार #मस्टोडोन",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.discoverable": "अपना प्रोफाइल खोजने योग्य बनाएं",
+ "onboarding.profile.discoverable_hint": "जब आप मॅस्टोडॉन पर डिस्कवरेबिलिटी चुनते हैं तो आपके पोस्ट ट्रेंडिंग और सर्च में दिख सकते हैं और आपका प्रोफाइल आपके ही जैसे अकाउंट्स को सुझाया जा सकता है।",
"onboarding.share.message": "मैं {username} मॅस्टोडॉन पर हूं! मुझे यहां {url} फॉलो करें",
"onboarding.share.next_steps": "आगे कि संभवित विधि",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
@@ -441,6 +443,7 @@
"privacy.public.long": "सब को दिखाई देगा",
"privacy.public.short": "सार्वजनिक",
"privacy.unlisted.short": "अनलिस्टेड",
+ "recommended": "अनुशंसित",
"refresh": "रीफ्रेश करें",
"regeneration_indicator.label": "लोड हो रहा है...",
"relative_time.full.just_now": "अभी-अभी",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index 01524e553b..6da7d6cd8d 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -225,6 +225,7 @@
"follow_request.authorize": "Autoriziraj",
"follow_request.reject": "Odbij",
"footer.about": "O aplikaciji",
+ "footer.directory": "Direktorij profila",
"footer.get_app": "Preuzmi aplikaciju",
"footer.invite": "Pozovi ljude",
"footer.keyboard_shortcuts": "Tipkovni prečaci",
@@ -244,6 +245,7 @@
"hashtag.column_settings.tag_toggle": "Uključi dodatne oznake za ovaj stupac",
"hashtag.follow": "Prati hashtag",
"hashtag.unfollow": "Prestani pratiti hashtag",
+ "home.actions.go_to_explore": "Vidi trendove",
"home.column_settings.basic": "Osnovno",
"home.column_settings.show_reblogs": "Pokaži boostove",
"home.column_settings.show_replies": "Pokaži odgovore",
@@ -310,6 +312,7 @@
"mute_modal.duration": "Trajanje",
"mute_modal.hide_notifications": "Sakrij obavijesti ovog korisnika?",
"navigation_bar.about": "O aplikaciji",
+ "navigation_bar.advanced_interface": "Otvori u naprednom web sučelju",
"navigation_bar.blocks": "Blokirani korisnici",
"navigation_bar.community_timeline": "Lokalna vremenska crta",
"navigation_bar.compose": "Compose new toot",
@@ -364,6 +367,7 @@
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.upload_avatar": "Učitaj sliku profila",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
@@ -393,6 +397,7 @@
"privacy.unlisted.short": "Neprikazano",
"privacy_policy.last_updated": "Zadnje ažurirannje {date}",
"privacy_policy.title": "Pravila o zaštiti privatnosti",
+ "recommended": "Preporučeno",
"refresh": "Osvježi",
"regeneration_indicator.label": "Učitavanje…",
"regeneration_indicator.sublabel": "Priprema se Vaša početna stranica!",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 96fc720a41..9be5b57e4e 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -21,6 +21,7 @@
"account.blocked": "Letiltva",
"account.browse_more_on_origin_server": "További böngészés az eredeti profilon",
"account.cancel_follow_request": "Követési kérés visszavonása",
+ "account.copy": "Hivatkozás másolása a profilba",
"account.direct": "@{name} személyes említése",
"account.disable_notifications": "Ne figyelmeztessen, ha @{name} bejegyzést tesz közzé",
"account.domain_blocked": "Letiltott domain",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Megjelölés olvasottként",
"conversation.open": "Beszélgetés megtekintése",
"conversation.with": "Velük: {names}",
+ "copy_icon_button.copied": "A szöveg a vágólapra másolva",
"copypaste.copied": "Másolva",
"copypaste.copy_to_clipboard": "Másolás vágólapra",
"directory.federated": "Az ismert fediverzumból",
@@ -479,15 +481,15 @@
"onboarding.follows.empty": "Sajnos jelenleg nem jeleníthető meg eredmény. Kipróbálhatod a keresést vagy böngészheted a felfedező oldalon a követni kívánt személyeket, vagy próbáld meg később.",
"onboarding.follows.lead": "A saját hírfolyamod az elsődleges tapasztalás a Mastodonon. Minél több embert követsz, annál aktívabb és érdekesebb a dolog. Az induláshoz itt van néhány javaslat:",
"onboarding.follows.title": "Népszerű a Mastodonon",
- "onboarding.profile.discoverable": "Profil és bejegyzések szerepeltetése a felfedezési algoritmusokban",
+ "onboarding.profile.discoverable": "Saját profil beállítása felfedezhetőként",
+ "onboarding.profile.discoverable_hint": "A Mastodonon a felfedezhetőség választása esetén a saját bejegyzéseid megjelenhetnek a keresési eredmények és a felkapott tartalmak között, valamint a profilod a hozzád hasonló érdeklődési körrel rendelkező embereknél is ajánlásra kerülhet.",
"onboarding.profile.display_name": "Megjelenített név",
- "onboarding.profile.display_name_hint": "Teljes név vagy becenév…",
- "onboarding.profile.indexable": "Nyilvános bejegyzések is a keresési eredményekben",
- "onboarding.profile.lead": "Ezt később bármikor elvégezhető a beállításoknál, ahol még több testreszabási lehetőség áll rendelkezésre.",
- "onboarding.profile.note": "Biográfia",
- "onboarding.profile.note_hint": "@említhetünk másokat vagy #hashtag elemeket…",
+ "onboarding.profile.display_name_hint": "Teljes neved vagy vicces neved…",
+ "onboarding.profile.lead": "Ezt később bármikor befejezheted a beállításokban, ahol még több testreszabási lehetőség áll rendelkezésre.",
+ "onboarding.profile.note": "Bemutatkozás",
+ "onboarding.profile.note_hint": "Megemlíthetsz @másokat vagy #hashtag-eket…",
"onboarding.profile.save_and_continue": "Mentés és folytatás",
- "onboarding.profile.title": "Profil beüzemelés",
+ "onboarding.profile.title": "Profilbeállítás",
"onboarding.profile.upload_avatar": "Profilkép feltöltése",
"onboarding.profile.upload_header": "Profil fejléc feltöltése",
"onboarding.share.lead": "Tudassuk az emberekkel, hogyan találhatnak meg a Mastodonon!",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Listázatlan",
"privacy_policy.last_updated": "Utoljára frissítve: {date}",
"privacy_policy.title": "Adatvédelmi szabályzat",
+ "recommended": "Ajánlott",
"refresh": "Frissítés",
"regeneration_indicator.label": "Betöltés…",
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!",
diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json
index 54123ae4c7..4c9ca12d9a 100644
--- a/app/javascript/mastodon/locales/is.json
+++ b/app/javascript/mastodon/locales/is.json
@@ -21,6 +21,7 @@
"account.blocked": "Útilokaður",
"account.browse_more_on_origin_server": "Skoða nánari upplýsingar á notandasniðinu",
"account.cancel_follow_request": "Taka fylgjendabeiðni til baka",
+ "account.copy": "Afrita tengil í notandasnið",
"account.direct": "Einkaspjall við @{name}",
"account.disable_notifications": "Hætta að láta mig vita þegar @{name} sendir inn",
"account.domain_blocked": "Lén útilokað",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Merkja sem lesið",
"conversation.open": "Skoða samtal",
"conversation.with": "Við {names}",
+ "copy_icon_button.copied": "Afritað á klippispjald",
"copypaste.copied": "Afritað",
"copypaste.copy_to_clipboard": "Afrita á klippispjald",
"directory.federated": "Frá samtengdum vefþjónum",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Því miður er ekki hægt að birta neinar niðurstöður í augnablikinu. Þú getur reynt að nota leitina eða skoðað könnunarsíðuna til að finna fólk til að fylgjast með, nú eða prófað aftur síðar.",
"onboarding.follows.lead": "Þú ræktar heimastreymið þitt. Því fleira fólki sem þú fylgist með, því virkara og áhugaverðara verður það. Að fylgjast með þessum notendum gæti verið ágætt til að byrja með - þú getur alltaf hætt að fylgjast með þeim síðar!",
"onboarding.follows.title": "Vinsælt á Mastodon",
- "onboarding.profile.discoverable": "Hafa notandasnið og færslur með í reikniritum leitar",
+ "onboarding.profile.discoverable": "Gera notandasniðið mitt uppgötvanlegt",
+ "onboarding.profile.discoverable_hint": "Þegar þú velur að hægt sé að uppgötva þig á Mastodon, munu færslurnar þínar birtast í leitarniðurstöðum og vinsældalistum, auk þess sem stungið verður upp á notandasniðinu þínu við fólk sem er með svipuð áhugamál og þú.",
"onboarding.profile.display_name": "Birtingarnafn",
"onboarding.profile.display_name_hint": "Fullt nafn þitt eða eitthvað til gamans…",
- "onboarding.profile.indexable": "Hafa opinberar færslur með í leitarniðurstöðum",
"onboarding.profile.lead": "Þú getur alltaf klárað þetta seinna í stillingunum, þar sem enn fleiri möguleikar bjóðast á sérsníðingum.",
"onboarding.profile.note": "Æviágrip",
"onboarding.profile.note_hint": "Þú getur @minnst á annað fólk eða #myllumerki…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Óskráð",
"privacy_policy.last_updated": "Síðast uppfært {date}",
"privacy_policy.title": "Persónuverndarstefna",
+ "recommended": "Mælt með",
"refresh": "Endurlesa",
"regeneration_indicator.label": "Hleð inn…",
"regeneration_indicator.sublabel": "Verið er að útbúa heimastreymið þitt!",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 284d7739c0..2ecf1d8c19 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloccato",
"account.browse_more_on_origin_server": "Sfoglia di più sul profilo originale",
"account.cancel_follow_request": "Annulla la richiesta di seguire",
+ "account.copy": "Copia link del profilo",
"account.direct": "Menziona privatamente @{name}",
"account.disable_notifications": "Smetti di avvisarmi quando @{name} pubblica un post",
"account.domain_blocked": "Dominio bloccato",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Segna come letto",
"conversation.open": "Visualizza conversazione",
"conversation.with": "Con {names}",
+ "copy_icon_button.copied": "Copiato negli appunti",
"copypaste.copied": "Copiato",
"copypaste.copy_to_clipboard": "Copia negli Appunti",
"directory.federated": "Da un fediverse noto",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Sfortunatamente, nessun risultato può essere mostrato in questo momento. Puoi provare a utilizzare la ricerca o sfogliare la pagina di esplorazione per trovare persone da seguire, oppure riprova più tardi.",
"onboarding.follows.lead": "La cronologia della tua home è gestita da te. Più persone segui, più attiva e interessante sarà. Questi profili possono essere un buon punto di partenza; puoi sempre smettere di seguirli in seguito!",
"onboarding.follows.title": "Popolare su Mastodon",
- "onboarding.profile.discoverable": "Include il profilo e i post negli algoritmi di scoperta",
+ "onboarding.profile.discoverable": "Rendi il mio profilo rilevabile",
+ "onboarding.profile.discoverable_hint": "Quando attivi la rilevabilità su Mastodon, i tuoi post potrebbero apparire nei risultati di ricerca e nelle tendenze e il tuo profilo potrebbe essere suggerito a persone con interessi simili ai tuoi.",
"onboarding.profile.display_name": "Nome da visualizzare",
"onboarding.profile.display_name_hint": "Il tuo nome completo o il tuo nome divertente…",
- "onboarding.profile.indexable": "Includi i post pubblici nei risultati di ricerca",
"onboarding.profile.lead": "Puoi sempre completarlo in un secondo momento nelle impostazioni, dove sono disponibili ancora più opzioni di personalizzazione.",
"onboarding.profile.note": "Biografia",
"onboarding.profile.note_hint": "Puoi @menzionare altre persone o #hashtags…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Non elencato",
"privacy_policy.last_updated": "Ultimo aggiornamento {date}",
"privacy_policy.title": "Politica sulla Privacy",
+ "recommended": "Consigliato",
"refresh": "Ricarica",
"regeneration_indicator.label": "Caricamento…",
"regeneration_indicator.sublabel": "Il feed della tua home è in preparazione!",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index f8c85b774e..3cb0565d0e 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -21,6 +21,7 @@
"account.blocked": "ブロック済み",
"account.browse_more_on_origin_server": "リモートで表示",
"account.cancel_follow_request": "フォローリクエストの取り消し",
+ "account.copy": "プロフィールのリンクをコピーして下さい",
"account.direct": "@{name}さんに非公開でメンション",
"account.disable_notifications": "@{name}さんの投稿時の通知を停止",
"account.domain_blocked": "ドメインブロック中",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "既読にする",
"conversation.open": "会話を表示",
"conversation.with": "{names}",
+ "copy_icon_button.copied": "クリップボードにコピーされた",
"copypaste.copied": "コピーしました",
"copypaste.copy_to_clipboard": "クリップボードにコピー",
"directory.federated": "既知の連合より",
@@ -479,6 +481,17 @@
"onboarding.follows.empty": "表示できる結果はありません。検索やエクスプローラーを使ったり、ほかのアカウントをフォローしたり、後でもう一度試しください。",
"onboarding.follows.lead": "ホームタイムラインはMastodonの軸足となる場所です。たくさんのユーザーをフォローすることで、ホームタイムラインはよりにぎやかでおもしろいものになります。手はじめに、おすすめのアカウントから何人かフォローしてみましょう:",
"onboarding.follows.title": "ホームタイムラインを埋める",
+ "onboarding.profile.discoverable": "自分のプロフィールが発見できないようにする",
+ "onboarding.profile.discoverable_hint": "マストドンの見つけやすくする機能が個人情報を利用することに承諾すると、あなたの投稿が検索結果やトレンドに表示されることがあります。また、あなたのプロフィールがあなたと似た興味関心を持つ人に提案されることがあります。",
+ "onboarding.profile.display_name": "表示名",
+ "onboarding.profile.display_name_hint": "あなたのフルネーム、または楽しい名前…",
+ "onboarding.profile.lead": "このことは後でいつでも設定から完了させることが出来ますし、設定では更に多くのカスタマイズが利用可能になっています。",
+ "onboarding.profile.note": "自己紹介",
+ "onboarding.profile.note_hint": "@を使用して他の人々にメンションをすることができます。また#でハッシュタグが使用できます",
+ "onboarding.profile.save_and_continue": "保存してから続行して下さい",
+ "onboarding.profile.title": "プロフィールの設定",
+ "onboarding.profile.upload_avatar": "プロフィール画像をアップロードしてください",
+ "onboarding.profile.upload_header": "プロフィールのヘッダー画像をアップロードして下さい",
"onboarding.share.lead": "新しいMastodonのアカウントをみんなに紹介しましょう。",
"onboarding.share.message": "「{username}」で #Mastodon はじめました! {url}",
"onboarding.share.next_steps": "次のステップに進む:",
@@ -522,6 +535,7 @@
"privacy.unlisted.short": "非収載",
"privacy_policy.last_updated": "{date}に更新",
"privacy_policy.title": "プライバシーポリシー",
+ "recommended": "おすすめ",
"refresh": "更新",
"regeneration_indicator.label": "読み込み中…",
"regeneration_indicator.sublabel": "ホームタイムラインは準備中です!",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 1420be8e09..8d1c77fac7 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -21,6 +21,7 @@
"account.blocked": "차단함",
"account.browse_more_on_origin_server": "원본 프로필에서 더 탐색하기",
"account.cancel_follow_request": "팔로우 취소",
+ "account.copy": "프로필 링크 복사",
"account.direct": "@{name} 님에게 개인적으로 멘션",
"account.disable_notifications": "@{name} 의 게시물 알림 끄기",
"account.domain_blocked": "도메인 차단함",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "읽은 상태로 표시",
"conversation.open": "대화 보기",
"conversation.with": "{names} 님과",
+ "copy_icon_button.copied": "클립보드에 복사됨",
"copypaste.copied": "복사됨",
"copypaste.copy_to_clipboard": "클립보드에 복사",
"directory.federated": "알려진 연합우주로부터",
@@ -479,10 +481,9 @@
"onboarding.follows.empty": "안타깝지만 아직은 아무 것도 보여드릴 수 없습니다. 검색을 이용하거나 발견하기 페이지에서 팔로우 할 사람을 찾을 수 있습니다. 아니면 잠시 후에 다시 시도하세요.",
"onboarding.follows.lead": "홈 피드는 마스토돈을 경험하는 주된 경로입니다. 더 많은 사람들을 팔로우 할수록 더 활발하고 흥미로워질 것입니다. 여기 시작을 위한 몇몇 추천을 드립니다:",
"onboarding.follows.title": "내게 맞는 홈 피드 꾸미기",
- "onboarding.profile.discoverable": "발견하기 알고리즘에 프로필과 게시물을 추천하기",
+ "onboarding.profile.discoverable": "내 프로필을 발견 가능하도록 설정",
"onboarding.profile.display_name": "표시되는 이름",
"onboarding.profile.display_name_hint": "진짜 이름 또는 재미난 이름…",
- "onboarding.profile.indexable": "공개 게시물을 검색 결과에 포함시키기",
"onboarding.profile.lead": "언제든지 나중에 설정 메뉴에서 마저 할 수 있고, 그곳에서 더 많은 맞춤 옵션을 고를 수 있습니다.",
"onboarding.profile.note": "자기소개",
"onboarding.profile.note_hint": "남을 @mention 하거나 #hashtag 태그를 달 수 있습니다…",
@@ -533,6 +534,7 @@
"privacy.unlisted.short": "미등재",
"privacy_policy.last_updated": "{date}에 마지막으로 업데이트됨",
"privacy_policy.title": "개인정보처리방침",
+ "recommended": "추천함",
"refresh": "새로고침",
"regeneration_indicator.label": "불러오는 중…",
"regeneration_indicator.sublabel": "홈 피드를 준비하고 있습니다!",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 21aa797b47..4cb95426aa 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -21,6 +21,7 @@
"account.blocked": "Užblokuota",
"account.browse_more_on_origin_server": "Naršyti daugiau originaliame profilyje",
"account.cancel_follow_request": "Atšaukti sekimą",
+ "account.copy": "Kopijuoti nuorodą į profilį",
"account.direct": "Privačiai paminėti @{name}",
"account.disable_notifications": "Nustoti man pranešti, kai @{name} paskelbia",
"account.domain_blocked": "Užblokuotas domenas",
@@ -29,14 +30,17 @@
"account.endorse": "Savybė profilyje",
"account.featured_tags.last_status_at": "Paskutinį kartą paskelbta {date}",
"account.featured_tags.last_status_never": "Nėra įrašų",
+ "account.featured_tags.title": "{name} rekomenduojamos grotažymės",
"account.follow": "Sekti",
"account.followers": "Sekėjai",
"account.followers.empty": "Šio naudotojo dar niekas neseka.",
"account.followers_counter": "{count, plural, one {{counter} sekėjas (-a)} few {{counter} sekėjai} many {{counter} sekėjo} other {{counter} sekėjų}}",
"account.following": "Seka",
+ "account.following_counter": "{count, plural, one {{counter} Seka} few {{counter} Seka} many {{counter} Seka} other {{counter} Seka}}",
"account.follows.empty": "Šis (-i) naudotojas (-a) dar nieko neseka.",
"account.follows_you": "Seka tave",
"account.go_to_profile": "Eiti į profilį",
+ "account.hide_reblogs": "Slėpti \"boosts\" iš @{name}",
"account.in_memoriam": "Atminimui.",
"account.joined_short": "Prisijungė",
"account.languages": "Keisti prenumeruojamas kalbas",
@@ -57,14 +61,19 @@
"account.requested": "Laukiama patvirtinimo. Spausk, kad atšaukti sekimo užklausą.",
"account.requested_follow": "{name} paprašė tave sekti",
"account.share": "Bendrinti @{name} profilį",
- "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
- "account.unblock_domain": "Unhide {domain}",
+ "account.show_reblogs": "Rodyti \"boosts\" iš @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} įrašas} few {{counter} įrašai} many {{counter} įrašo} other {{counter} įrašų}}",
+ "account.unblock": "Atblokuoti @{name}",
+ "account.unblock_domain": "Atblokuoti domeną {domain}",
"account.unblock_short": "Atblokuoti",
+ "account.unendorse": "Nerodyti profilyje",
"account.unfollow": "Nebesekti",
"account.unmute": "Atitildyti @{name}",
"account.unmute_notifications_short": "Atitildyti pranešimus",
"account.unmute_short": "Atitildyti",
"account_note.placeholder": "Spausk norėdamas (-a) pridėti pastabą",
+ "admin.dashboard.daily_retention": "Vartotojų išbuvimo rodiklis pagal dieną po registracijos",
+ "admin.dashboard.monthly_retention": "Vartotojų išbuvimo rodiklis pagal mėnesį po registracijos",
"admin.dashboard.retention.average": "Vidurkis",
"admin.dashboard.retention.cohort": "Registravimo mėnuo",
"admin.dashboard.retention.cohort_size": "Nauji naudotojai",
@@ -91,55 +100,101 @@
"bundle_column_error.routing.body": "Prašyto puslapio nepavyko rasti. Ar esi tikras (-a), kad adreso juostoje nurodytas URL adresas yra teisingas?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Uždaryti",
+ "bundle_modal_error.message": "Kraunant šį komponentą kažkas nepavyko.",
+ "bundle_modal_error.retry": "Bandyti dar kartą",
+ "closed_registrations.other_server_instructions": "Kadangi Mastodon yra decentralizuotas, gali susikurti paskyrą kitame serveryje ir vis tiek bendrauti su šiuo serveriu.",
+ "closed_registrations_modal.description": "Sukurti paskyrą {domain} šiuo metu neįmanoma, tačiau nepamiršk, kad norint naudotis Mastodon nebūtina turėti paskyrą {domain}.",
"closed_registrations_modal.find_another_server": "Rasti kitą serverį",
- "column.domain_blocks": "Hidden domains",
+ "closed_registrations_modal.preamble": "Mastodon yra decentralizuotas, todėl nesvarbu, kur susikursi paskyrą, galėsi sekti ir bendrauti su bet kuriuo šiame serveryje esančiu asmeniu. Jį gali net savarankiškai talpinti!",
+ "closed_registrations_modal.title": "Užsiregistravimas į Mastodon",
+ "column.about": "Apie",
+ "column.blocks": "Užblokuoti naudotojai",
+ "column.bookmarks": "Žymės",
+ "column.community": "Vietinė laiko skalė",
+ "column.direct": "Privatūs paminėjimai",
+ "column.directory": "Naršyti profilius",
+ "column.domain_blocks": "Užblokuoti domenai",
+ "column.favourites": "Mėgstamiausi",
+ "column.firehose": "Tiesioginiai padavimai",
+ "column.follow_requests": "Sekti prašymus",
+ "column.home": "Pradžia",
"column.lists": "Sąrašai",
- "column.mutes": "Užtildyti vartotojai",
- "column.pins": "Pinned toot",
+ "column.mutes": "Užtildyti naudotojai",
+ "column.notifications": "Pranešimai",
+ "column.pins": "Prisegti įrašai",
+ "column.public": "Federacinė laiko skalė",
"column_back_button.label": "Atgal",
"column_header.hide_settings": "Slėpti nustatymus",
+ "column_header.moveLeft_settings": "Judinti stulpelį į kairę",
+ "column_header.moveRight_settings": "Judinti stulpelį į dešinę",
"column_header.pin": "Prisegti",
"column_header.show_settings": "Rodyti nustatymus",
"column_header.unpin": "Atsegti",
"column_subheading.settings": "Nustatymai",
+ "community.column_settings.local_only": "Tik vietinis",
"community.column_settings.media_only": "Tik medija",
+ "community.column_settings.remote_only": "Tik nuotolinis",
"compose.language.change": "Keisti kalbą",
"compose.language.search": "Ieškoti kalbų...",
"compose.published.body": "Įrašas paskelbtas.",
+ "compose.published.open": "Atidaryti",
+ "compose.saved.body": "Įrašas išsaugotas.",
+ "compose_form.direct_message_warning_learn_more": "Sužinoti daugiau",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
+ "compose_form.lock_disclaimer": "Jūsų paskyra nėra {locked}. Kiekvienas gali jus sekti ir peržiūrėti tik sekėjams skirtus įrašus.",
+ "compose_form.lock_disclaimer.lock": "užrakinta",
"compose_form.placeholder": "Kas tavo mintyse?",
"compose_form.poll.add_option": "Pridėti pasirinkimą",
"compose_form.poll.duration": "Apklausos trukmė",
"compose_form.poll.option_placeholder": "Pasirinkimas {number}",
"compose_form.poll.remove_option": "Pašalinti šį pasirinkimą",
"compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų galima pasirinkti kelis pasirinkimus",
- "compose_form.publish_form": "Publish",
- "compose_form.sensitive.hide": "{count, plural, one {Žymėti mediją kaip jautrią} few {Žymėti medijas kaip jautrias} many {Žymėti medijos kaip jautrios} other {Žymėti medijų kaip jautrių}}",
- "compose_form.sensitive.marked": "{count, plural, one {Medija pažymėta kaip jautri} few {Medijos pažymėtos kaip jautrios} many {Medijos pažymėta kaip jautrios} other {Medijų pažymėtos kaip jautrios}}",
- "compose_form.sensitive.unmarked": "{count, plural, one {Medija nepažymėta kaip jautri} few {Medijos nepažymėtos kaip jautrios} many {Medijos nepažymėta kaip jautri} other {Medijų nepažymėta kaip jautrios}}",
- "compose_form.spoiler.marked": "Text is hidden behind warning",
+ "compose_form.poll.switch_to_single": "Pakeisti apklausą, kad būtų galima pasirinkti vieną variantą",
+ "compose_form.publish": "Skelbti",
+ "compose_form.publish_form": "Naujas įrašas",
+ "compose_form.publish_loud": "{publish}!",
+ "compose_form.save_changes": "Išsaugoti pakeitimus",
+ "compose_form.sensitive.hide": "{count, plural, one {Žymėti mediją kaip jautrią} few {Žymėti medijas kaip jautrias} many {Žymėti medijo kaip jautrio} other {Žymėti medijų kaip jautrių}}",
+ "compose_form.sensitive.marked": "{count, plural, one {Medija pažymėta kaip jautri} few {Medijos pažymėtos kaip jautrios} many {Medijo pažymėta kaip jautrio} other {Medijų pažymėtų kaip jautrių}}",
+ "compose_form.sensitive.unmarked": "{count, plural, one {Medija nepažymėta kaip jautri} few {Medijos nepažymėtos kaip jautrios} many {Medijo nepažymėta kaip jautrio} other {Medijų nepažymėtų kaip jautrių}}",
+ "compose_form.spoiler.marked": "Pašalinti turinio įspėjimą",
"compose_form.spoiler.unmarked": "Pridėti turinio įspėjimą",
"compose_form.spoiler_placeholder": "Rašyk savo įspėjimą čia",
"confirmation_modal.cancel": "Atšaukti",
"confirmations.block.block_and_report": "Blokuoti ir pranešti",
"confirmations.block.confirm": "Blokuoti",
"confirmations.block.message": "Ar tikrai nori užblokuoti {name}?",
+ "confirmations.cancel_follow_request.confirm": "Atšaukti prašymą",
+ "confirmations.cancel_follow_request.message": "Ar tikrai nori atšaukti savo prašymą sekti {name}?",
"confirmations.delete.confirm": "Ištrinti",
"confirmations.delete.message": "Are you sure you want to delete this status?",
+ "confirmations.delete_list.confirm": "Ištrinti",
+ "confirmations.delete_list.message": "Ar tikrai nori visam laikui ištrinti šį sąrašą?",
"confirmations.discard_edit_media.confirm": "Atmesti",
"confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų, vis tiek juos atmesti?",
"confirmations.domain_block.confirm": "Hide entire domain",
+ "confirmations.edit.confirm": "Redaguoti",
+ "confirmations.edit.message": "Redaguojant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.logout.confirm": "Atsijungti",
"confirmations.logout.message": "Ar tikrai nori atsijungti?",
"confirmations.mute.confirm": "Nutildyti",
"confirmations.mute.explanation": "Tai paslėps jų įrašus ir įrašus, kuriuose jie menėmi, tačiau jie vis tiek galės matyti tavo įrašus ir sekti.",
"confirmations.reply.confirm": "Atsakyti",
- "confirmations.reply.message": "Atsakydamas (-a) dabar perrašysi šiuo metu rašomą žinutę. Ar tikrai nori tęsti?",
+ "confirmations.reply.message": "Atsakant dabar, bus perrašyta metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.unfollow.confirm": "Nebesekti",
+ "conversation.mark_as_read": "Žymėti kaip skaitytą",
+ "conversation.open": "Peržiūrėti pokalbį",
+ "conversation.with": "Su {names}",
+ "copy_icon_button.copied": "Nukopijuota į iškarpinę",
+ "copypaste.copied": "Nukopijuota",
+ "copypaste.copy_to_clipboard": "Kopijuoti į iškarpinę",
+ "disabled_account_banner.account_settings": "Paskyros nustatymai",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
"embed.instructions": "Embed this status on your website by copying the code below.",
+ "embed.preview": "Štai kaip tai atrodys:",
+ "emoji_button.objects": "Objektai",
"emoji_button.search": "Paieška...",
"empty_column.account_hides_collections": "Šis naudotojas (-a) pasirinko nepadaryti šią informaciją prieinamą",
"empty_column.account_timeline": "No toots here!",
@@ -148,12 +203,64 @@
"empty_column.hashtag": "Nėra nieko šiame saitažodyje kol kas.",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
+ "explore.title": "Naršyti",
+ "explore.trending_links": "Naujienos",
+ "explore.trending_statuses": "Įrašai",
+ "explore.trending_tags": "Saitažodžiai",
+ "filter_modal.added.context_mismatch_explanation": "Ši filtro kategorija netaikoma kontekste, kuriame peržiūrėjote šį pranešimą. Jei norite, kad pranešimas būtų filtruojamas ir šiame kontekste, turėsite redaguoti filtrą.",
+ "filter_modal.added.context_mismatch_title": "Konteksto neatitikimas!",
+ "filter_modal.added.expired_explanation": "Ši filtro kategorija nustojo galioti, kad ji būtų taikoma, turėsite pakeisti galiojimo datą.",
+ "filter_modal.added.expired_title": "Pasibaigė filtro galiojimo laikas!",
+ "filter_modal.added.review_and_configure": "Norėdami peržiūrėti ir toliau konfigūruoti šią filtro kategoriją, eikite į {settings_link}.",
+ "filter_modal.added.review_and_configure_title": "Filtro nuostatos",
+ "filter_modal.added.settings_link": "nustatymų puslapis",
+ "filter_modal.added.short_explanation": "Šis pranešimas buvo įtrauktas į šią filtro kategoriją: {title}.",
+ "filter_modal.added.title": "Pridėtas filtras!",
+ "filter_modal.select_filter.context_mismatch": "netaikoma šiame kontekste",
+ "filter_modal.select_filter.expired": "nebegalioja",
+ "filter_modal.select_filter.prompt_new": "Nauja kategorija: {name}",
+ "filter_modal.select_filter.search": "Ieškoti arba sukurti",
+ "filter_modal.select_filter.subtitle": "Naudoti esamą kategoriją arba sukurti naują",
+ "filter_modal.select_filter.title": "Filtruoti šį įrašą",
+ "filter_modal.title.status": "Filtruoti šį įrašą",
+ "firehose.all": "Visi",
"firehose.local": "Šis serveris",
+ "firehose.remote": "Kiti serveriai",
+ "follow_request.authorize": "Autorizuoti",
+ "follow_request.reject": "Atmesti",
"follow_requests.unlocked_explanation": "Nors tavo paskyra neužrakinta, {domain} personalas mano, kad galbūt norėsi rankiniu būdu patikrinti šių paskyrų sekimo užklausas.",
"followed_tags": "Sekamos saitažodžiai",
"footer.about": "Apie",
+ "footer.directory": "Profilių katalogas",
+ "footer.get_app": "Gauti programėlę",
"footer.invite": "Kviesti žmones",
+ "footer.keyboard_shortcuts": "Spartieji klavišai",
+ "footer.privacy_policy": "Privatumo politika",
+ "footer.source_code": "Peržiūrėti šaltinio kodą",
+ "footer.status": "Būsena",
+ "generic.saved": "Išsaugoti",
+ "getting_started.heading": "Pradedant",
+ "hashtag.column_header.tag_mode.all": "ir {additional}",
+ "hashtag.column_header.tag_mode.any": "ar {additional}",
+ "hashtag.column_header.tag_mode.none": "be {additional}",
+ "hashtag.column_settings.select.no_options_message": "Pasiūlymų nerasta",
+ "hashtag.column_settings.select.placeholder": "Įvesti grotažymes…",
+ "hashtag.column_settings.tag_mode.all": "Visi šie",
+ "hashtag.column_settings.tag_mode.any": "Bet kuris šių",
+ "hashtag.column_settings.tag_mode.none": "Nė vienas iš šių",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "hashtag.counter_by_accounts": "{count, plural,one {{counter} dalyvis}other {{counter} dalyviai}}",
+ "hashtag.counter_by_uses": "{count, plural, one {{counter} įrašas} other {{counter} įrašų}}",
+ "hashtag.counter_by_uses_today": "{count, plural, one {{counter} įrašas} other {{counter} įrašų}} šiandien",
+ "hashtag.follow": "Sekti grotažymę",
+ "hashtag.unfollow": "Nesekti grotažymės",
+ "hashtags.and_other": "…ir{count, plural,other {#daugiau}}",
+ "home.actions.go_to_explore": "Žiūrėti kas populiaru",
+ "home.actions.go_to_suggestions": "Rasti žmonių sekimui",
+ "home.column_settings.basic": "Pagrindinis",
+ "home.column_settings.show_reblogs": "Rodyti \"boosts\"",
+ "home.column_settings.show_replies": "Rodyti atsakymus",
+ "home.hide_announcements": "Slėpti skelbimus",
"interaction_modal.no_account_yet": "Nesi Mastodon?",
"interaction_modal.on_another_server": "Kitame serveryje",
"interaction_modal.on_this_server": "Šiame serveryje",
@@ -194,8 +301,18 @@
"lightbox.close": "Uždaryti",
"loading_indicator.label": "Kraunama…",
"media_gallery.toggle_visible": "{number, plural, one {Slėpti vaizdą} few {Slėpti vaizdus} many {Slėpti vaizdo} other {Slėpti vaizdų}}",
+ "moved_to_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu yra išjungta, nes persikėlei į {movedToAccount}.",
+ "mute_modal.duration": "Trukmė",
+ "mute_modal.hide_notifications": "Slėpti šio naudotojo pranešimus?",
"navigation_bar.compose": "Compose new toot",
+ "navigation_bar.discover": "Atrasti",
"navigation_bar.domain_blocks": "Hidden domains",
+ "navigation_bar.edit_profile": "Redaguoti profilį",
+ "navigation_bar.explore": "Naršyti",
+ "navigation_bar.favourites": "Mėgstamiausi",
+ "navigation_bar.filters": "Nutylėti žodžiai",
+ "navigation_bar.follow_requests": "Sekti prašymus",
+ "navigation_bar.followed_tags": "Sekti grotažymę",
"navigation_bar.follows_and_followers": "Sekimai ir sekėjai",
"navigation_bar.lists": "Sąrašai",
"navigation_bar.logout": "Atsijungti",
@@ -204,7 +321,16 @@
"navigation_bar.personal": "Asmeninis",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Nuostatos",
+ "navigation_bar.public_timeline": "Federuota laiko juosta",
+ "navigation_bar.search": "Ieškoti",
+ "navigation_bar.security": "Apsauga",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
+ "notification.admin.report": "{name} pranešė.{target}",
+ "notification.admin.sign_up": "{name} užsiregistravo",
+ "notification.favourite": "{name} pamėgo jūsų įrašą",
+ "notification.follow": "{name} pradėjo jus sekti",
+ "notification.follow_request": "{name} nori tapti jūsų sekėju",
+ "notification.mention": "{name} paminėjo jus",
"notification.own_poll": "Tavo apklausa baigėsi",
"notification.poll": "Apklausa, kurioje balsavai, pasibaigė",
"notification.reblog": "{name} boosted your status",
@@ -213,15 +339,51 @@
"notifications.clear": "Išvalyti pranešimus",
"notifications.clear_confirmation": "Ar tikrai nori visam laikui išvalyti visus pranešimus?",
"notifications.column_settings.admin.report": "Nauji ataskaitos:",
+ "notifications.column_settings.admin.sign_up": "Nauji prisiregistravimai:",
+ "notifications.column_settings.alert": "Darbalaukio pranešimai",
+ "notifications.column_settings.favourite": "Mėgstamiausi:",
+ "notifications.column_settings.filter_bar.advanced": "Rodyti visas kategorijas",
+ "notifications.column_settings.filter_bar.category": "Greito filtro juosta",
+ "notifications.column_settings.filter_bar.show_bar": "Rodyti filtro juostą",
+ "notifications.column_settings.follow": "Nauji sekėjai:",
+ "notifications.column_settings.follow_request": "Nauji prašymai sekti:",
+ "notifications.column_settings.mention": "Paminėjimai:",
+ "notifications.column_settings.poll": "Balsavimo rezultatai:",
+ "notifications.column_settings.push": "\"Push\" pranešimai",
+ "notifications.column_settings.reblog": "\"Boost\" kiekis:",
+ "notifications.column_settings.show": "Rodyti stulpelyje",
+ "notifications.column_settings.sound": "Paleisti garsą",
"notifications.column_settings.status": "New toots:",
+ "notifications.column_settings.unread_notifications.category": "Neperskaityti pranešimai",
+ "notifications.column_settings.unread_notifications.highlight": "Paryškinti neperskaitytus pranešimus",
+ "notifications.column_settings.update": "Redagavimai:",
+ "notifications.filter.all": "Visi",
+ "notifications.filter.boosts": "\"Boost\" kiekis",
+ "notifications.filter.favourites": "Mėgstamiausi",
+ "notifications.filter.follows": "Sekimai",
"notifications.filter.mentions": "Paminėjimai",
+ "notifications.filter.polls": "Balsavimo rezultatai",
+ "notifications.filter.statuses": "Atnaujinimai iš žmonių kuriuos sekate",
+ "notifications.grant_permission": "Suteikti leidimą.",
+ "notifications.group": "{count} pranešimai",
+ "notifications.mark_as_read": "Pažymėti kiekvieną pranešimą kaip perskaitytą",
+ "notifications.permission_denied": "Darbalaukio pranešimai nepasiekiami dėl anksčiau atmestos naršyklės leidimų užklausos",
+ "notifications.permission_denied_alert": "Negalima įjungti darbalaukio pranešimų, nes prieš tai naršyklės leidimas buvo atmestas",
+ "notifications.permission_required": "Darbalaukio pranešimai nepasiekiami, nes nesuteiktas reikiamas leidimas.",
+ "notifications_permission_banner.enable": "Įjungti darbalaukio pranešimus",
+ "notifications_permission_banner.how_to_control": "Jei norite gauti pranešimus, kai \"Mastodon\" nėra atidarytas, įjunkite darbalaukio pranešimus. Įjungę darbalaukio pranešimus, galite tiksliai valdyti, kokių tipų sąveikos generuoja darbalaukio pranešimus, naudodamiesi pirmiau esančiu mygtuku {icon}.",
+ "onboarding.action.back": "Gražinkite mane atgal",
+ "onboarding.actions.back": "Gražinkite mane atgal",
"onboarding.actions.go_to_explore": "See what's trending",
"onboarding.actions.go_to_home": "Go to your home feed",
+ "onboarding.compose.template": "Sveiki #Mastodon!",
+ "onboarding.follows.empty": "Deja, šiuo metu jokių rezultatų parodyti negalima. Galite pabandyti naudoti paiešką arba naršyti atradimo puslapyje, kad surastumėte žmonių, kuriuos norite sekti, arba pabandyti vėliau.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.discoverable": "Padaryti mano profilį atrandamą",
+ "onboarding.profile.discoverable_hint": "Kai pasirenki Mastodon atrandamumą, tavo įrašai gali būti rodomi paieškos rezultatuose ir trendose, o profilis gali būti siūlomas panašių interesų turintiems žmonėms.",
"onboarding.profile.display_name": "Rodomas vardas",
"onboarding.profile.display_name_hint": "Tavo pilnas vardas arba linksmas vardas…",
- "onboarding.profile.indexable": "Įtraukti viešus įrašus į paieškos rezultatus",
"onboarding.profile.lead": "Gali visada tai užbaigti vėliau nustatymuose, kur yra dar daugiau pritaikymo parinkčių.",
"onboarding.profile.note": "Biografija",
"onboarding.profile.note_hint": "Gali @paminėti kitus žmones arba #saitažodžius…",
@@ -229,12 +391,15 @@
"onboarding.profile.title": "Profilio konfigūravimas",
"onboarding.profile.upload_avatar": "Įkelti profilio nuotrauką",
"onboarding.profile.upload_header": "Įkelti profilio antraštę",
+ "onboarding.share.lead": "Praneškite žmonėms, kaip jus rasti \"Mastodon\"!",
"onboarding.share.message": "Aš {username} #Mastodon! Ateik sekti manęs adresu {url}",
+ "onboarding.share.next_steps": "Galimi kiti žingsniai:",
"onboarding.start.lead": "Dabar esi Mastodon dalis – unikalios decentralizuotos socialinės žiniasklaidos platformos, kurioje tu, o ne algoritmas, pats nustatai savo patirtį. Pradėkime tavo kelionę šioje naujoje socialinėje erdvėje:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.",
+ "onboarding.steps.publish_status.title": "Susikūrk savo pirmąjį įrašą",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
@@ -250,30 +415,108 @@
"privacy.unlisted.long": "Matomas visiems, bet atsisakyta atradimo funkcijų",
"privacy.unlisted.short": "Neįtrauktas į sąrašą",
"privacy_policy.last_updated": "Paskutinį kartą atnaujinta {date}",
- "report.placeholder": "Type or paste additional comments",
- "report.submit": "Submit report",
+ "recommended": "Rekomenduojama",
+ "relative_time.hours": "{number} val.",
+ "relative_time.just_now": "dabar",
+ "relative_time.minutes": "{number} min.",
+ "relative_time.seconds": "{number} sek.",
+ "relative_time.today": "šiandien",
+ "report.mute_explanation": "Jų įrašų nematysi. Jie vis tiek gali tave sekti ir matyti įrašus, bet nežinos, kad jie nutildyti.",
+ "report.next": "Tęsti",
+ "report.placeholder": "Papildomi komentarai",
+ "report.reasons.dislike": "Man tai nepatinka",
+ "report.reasons.dislike_description": "Tai nėra tai, ką nori matyti",
+ "report.reasons.legal": "Tai nelegalu",
+ "report.reasons.legal_description": "Manai, kad tai pažeidžia tavo arba serverio šalies įstatymus",
+ "report.reasons.other": "Tai kažkas kita",
+ "report.rules.subtitle": "Pasirink viską, kas tinka",
+ "report.rules.title": "Kokios taisyklės pažeidžiamos?",
+ "report.statuses.subtitle": "Pasirinkti viską, kas tinka",
+ "report.statuses.title": "Ar yra kokių nors įrašų, patvirtinančių šį pranešimą?",
+ "report.submit": "Pateikti",
"report.target": "Report {target}",
+ "report.thanks.take_action": "Čia pateikiamos galimybės kontroliuoti, ką matote \"Mastodon\":",
+ "report.thanks.take_action_actionable": "Kol tai peržiūrėsime, galite imtis veiksmų prieš @{name}:",
+ "report.thanks.title": "Nenorite to matyti?",
+ "report.thanks.title_actionable": "Ačiū, kad pranešėte, mes tai išnagrinėsime.",
+ "report.unfollow": "Nebesekti @{name}",
+ "report.unfollow_explanation": "Jūs sekate šią paskyrą. Norėdami nebematyti jų įrašų savo pagrindiniame kanale, panaikinkite jų sekimą.",
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
+ "search.placeholder": "Paieška",
+ "search.search_or_paste": "Ieškok arba įklijuok URL",
+ "search_popout.full_text_search_disabled_message": "Nepasiekima {domain}.",
+ "search_popout.language_code": "ISO kalbos kodas",
+ "search_popout.specific_date": "konkreti data",
+ "search_popout.user": "naudotojas",
+ "search_results.accounts": "Profiliai",
+ "search_results.all": "Visi",
+ "search_results.hashtags": "Saitažodžiai",
+ "search_results.nothing_found": "Nepavyko rasti nieko pagal šiuos paieškos terminus.",
"search_results.statuses": "Toots",
- "sign_in_banner.sign_in": "Sign in",
+ "sign_in_banner.sign_in": "Prisijungimas",
+ "sign_in_banner.text": "Prisijunk, kad galėtum sekti profilius arba saitažodžius, mėgsti, bendrinti ir atsakyti į įrašus. Taip pat gali bendrauti iš savo paskyros kitame serveryje.",
"status.admin_status": "Open this status in the moderation interface",
- "status.copy": "Copy link to status",
+ "status.copy": "Kopijuoti nuorodą į įrašą",
+ "status.delete": "Ištrinti",
+ "status.edit": "Redaguoti",
+ "status.edited": "Redaguota {date}",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
+ "status.hide": "Slėpti įrašą",
+ "status.load_more": "Pakrauti daugiau",
"status.media.open": "Spausk, kad atidaryti",
- "status.media.show": "Spausk, kad pamatyti",
+ "status.media.show": "Spausk, kad matyti",
"status.media_hidden": "Paslėpta medija",
+ "status.mention": "Paminėti @{name}",
+ "status.more": "Daugiau",
"status.open": "Expand this status",
- "status.pinned": "Pinned toot",
+ "status.pin": "Prisegti prie profilio",
+ "status.pinned": "Prisegtas įrašas",
+ "status.read_more": "Skaityti daugiau",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
- "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
+ "status.redraft": "Ištrinti ir iš naujo parengti juodraštį",
+ "status.reply": "Atsakyti",
+ "status.replyAll": "Atsakyti į giją",
+ "status.report": "Pranešti @{name}",
+ "status.sensitive_warning": "Jautrus turinys",
+ "status.share": "Bendrinti",
+ "status.show_filter_reason": "Rodyti vis tiek",
+ "status.show_less": "Rodyti mažiau",
+ "status.show_less_all": "Rodyti mažiau visiems",
+ "status.show_more": "Rodyti daugiau",
+ "status.show_more_all": "Rodyti daugiau visiems",
+ "status.show_original": "Rodyti originalą",
+ "status.title.with_attachments": "{user}{attachmentCount, plural, one {priedas} few {{attachmentCount} priedai} many {{attachmentCount} priedo} other {{attachmentCount} priedų}}",
+ "status.translate": "Versti",
+ "status.translated_from_with": "Išversta iš {lang} naudojant {provider}",
"status.uncached_media_warning": "Peržiūra nepasiekiama",
- "timeline_hint.resources.statuses": "Older toots",
+ "tabs_bar.home": "Pradžia",
+ "tabs_bar.notifications": "Pranešimai",
+ "time_remaining.days": "Liko {number, plural, one {# diena} few {# dienos} many {# dieno} other {# dienų}}",
+ "timeline_hint.remote_resource_not_displayed": "{resource} iš kitų serverių nerodomas.",
+ "timeline_hint.resources.followers": "Sekėjai",
+ "timeline_hint.resources.follows": "Seka",
+ "timeline_hint.resources.statuses": "Senesni įrašai",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
+ "ui.beforeunload": "Jei paliksi Mastodon, tavo juodraštis bus prarastas.",
+ "units.short.thousand": "{count} tūkst.",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
"upload_form.description_missing": "Nėra pridėto aprašymo",
"upload_form.edit": "Redaguoti",
+ "upload_form.undo": "Ištrinti",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
+ "upload_modal.choose_image": "Pasirinkti vaizdą",
+ "upload_modal.description_placeholder": "Greita rudoji lapė peršoka tinginį šunį",
"upload_modal.edit_media": "Redaguoti mediją",
- "upload_progress.label": "Uploading…"
+ "upload_progress.label": "Įkeliama...",
+ "upload_progress.processing": "Apdorojama…",
+ "username.taken": "Šis naudotojo vardas užimtas. Pabandyk kitą.",
+ "video.close": "Uždaryti vaizdo įrašą",
+ "video.download": "Atsisiųsti failą",
+ "video.exit_fullscreen": "Išeiti iš viso ekrano",
+ "video.fullscreen": "Visas ekranas",
+ "video.hide": "Slėpti vaizdo įrašą",
+ "video.mute": "Nutildyti garsą",
+ "video.play": "Leisti",
+ "video.unmute": "Atitildyti garsą"
}
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 6f941999f6..b39f1a5c8f 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -21,6 +21,7 @@
"account.blocked": "Geblokkeerd",
"account.browse_more_on_origin_server": "Zie meer op het originele profiel",
"account.cancel_follow_request": "Ontvolgen",
+ "account.copy": "Link naar profiel kopiëren",
"account.direct": "@{name} een privébericht sturen",
"account.disable_notifications": "Geen melding meer geven wanneer @{name} een bericht plaatst",
"account.domain_blocked": "Domein geblokkeerd",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Als gelezen markeren",
"conversation.open": "Gesprek tonen",
"conversation.with": "Met {names}",
+ "copy_icon_button.copied": "Gekopieerd naar klembord",
"copypaste.copied": "Gekopieerd",
"copypaste.copy_to_clipboard": "Naar klembord kopiëren",
"directory.federated": "Fediverse (wat bekend is)",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Helaas kunnen op dit moment geen resultaten worden getoond. Je kunt proberen te zoeken of op de verkenningspagina te bladeren om mensen te vinden die je kunt volgen, of probeer het later opnieuw.",
"onboarding.follows.lead": "Jouw starttijdlijn is de belangrijkste manier om Mastodon te ervaren. Hoe meer mensen je volgt, hoe actiever en interessanter het zal zijn. Om te beginnen, zijn hier enkele suggesties:",
"onboarding.follows.title": "Je starttijdlijn aan jouw wensen aanpassen",
- "onboarding.profile.discoverable": "Profiel en berichten laten uitlichten in ontdekkingsalgoritmes",
+ "onboarding.profile.discoverable": "Maak mij profiel ontdekbaar",
+ "onboarding.profile.discoverable_hint": "Wanneer je kiest voor Mastodon kun je berichten weergeven in zoekresultaten en trending, en je profiel kan worden voorgesteld aan mensen met vergelijkbare interesses.",
"onboarding.profile.display_name": "Weergavenaam",
"onboarding.profile.display_name_hint": "Jouw volledige naam of een leuke bijnaam…",
- "onboarding.profile.indexable": "Openbare berichten in zoekresultaten opnemen",
"onboarding.profile.lead": "Je kunt dit later altijd aanvullen in de instellingen, waar nog meer aanpassingsopties beschikbaar zijn.",
"onboarding.profile.note": "Biografie",
"onboarding.profile.note_hint": "Je kunt andere mensen @vermelden of #hashtags gebruiken…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Minder openbaar",
"privacy_policy.last_updated": "Laatst bijgewerkt op {date}",
"privacy_policy.title": "Privacybeleid",
+ "recommended": "Aanbevolen",
"refresh": "Vernieuwen",
"regeneration_indicator.label": "Aan het laden…",
"regeneration_indicator.sublabel": "Jouw starttijdlijn wordt aangemaakt!",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index a3402d6608..4750b1adc3 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokkert",
"account.browse_more_on_origin_server": "Sjå gjennom meir på den opphavlege profilen",
"account.cancel_follow_request": "Trekk attende fylgeførespurnad",
+ "account.copy": "Kopier lenka til profilen",
"account.direct": "Nevn @{name} privat",
"account.disable_notifications": "Slutt å varsle meg når @{name} skriv innlegg",
"account.domain_blocked": "Domenet er sperra",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marker som lesen",
"conversation.open": "Sjå samtale",
"conversation.with": "Med {names}",
+ "copy_icon_button.copied": "Kopiert til utklyppstavla",
"copypaste.copied": "Kopiert",
"copypaste.copy_to_clipboard": "Kopier til utklyppstavla",
"directory.federated": "Frå den kjende allheimen",
@@ -390,7 +392,7 @@
"lists.search": "Søk blant folk du fylgjer",
"lists.subheading": "Listene dine",
"load_pending": "{count, plural, one {# nytt element} other {# nye element}}",
- "loading_indicator.label": "Laster…",
+ "loading_indicator.label": "Lastar…",
"media_gallery.toggle_visible": "{number, plural, one {Skjul bilete} other {Skjul bilete}}",
"moved_to_account_banner.text": "Kontoen din, {disabledAccount} er for tida deaktivert fordi du har flytta til {movedToAccount}.",
"mute_modal.duration": "Varigheit",
@@ -479,17 +481,15 @@
"onboarding.follows.empty": "Me kan ikkje visa deg nokon resultat no. Du kan prøva å søkja eller bla gjennom utforsk-sida for å finna folk å fylgja, eller du kan prøva att seinare.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
- "onboarding.profile.discoverable": "Fremhevede profiler og innlegg i oppdagelsealgoritmer",
- "onboarding.profile.display_name": "Visningsnavn",
- "onboarding.profile.display_name_hint": "Ditt fulle navn eller ditt morsomme navn…",
- "onboarding.profile.indexable": "Inkluder offentlige innlegg i søkeresultatene",
- "onboarding.profile.lead": "Du kan alltid fullføre dette senere i innstillingene, der enda flere tilpasningsalternativer er tilgjengelige.",
+ "onboarding.profile.display_name": "Synleg namn",
+ "onboarding.profile.display_name_hint": "Det fulle namnet eller kallenamnet ditt…",
+ "onboarding.profile.lead": "Du kan alltid fullføra dette seinare i innstillingane, og der er det endå fleire tilpassingsalternativ.",
"onboarding.profile.note": "Om meg",
- "onboarding.profile.note_hint": "Du kan @nevne andre eller #emneknagger…",
- "onboarding.profile.save_and_continue": "Lagre og fortsett",
- "onboarding.profile.title": "Konfigurering av profil",
- "onboarding.profile.upload_avatar": "Last opp profilbilde",
- "onboarding.profile.upload_header": "Last opp profiltoppbilde",
+ "onboarding.profile.note_hint": "Du kan @nemna folk eller #emneknaggar…",
+ "onboarding.profile.save_and_continue": "Lagre og hald fram",
+ "onboarding.profile.title": "Profiloppsett",
+ "onboarding.profile.upload_avatar": "Last opp profilbilete",
+ "onboarding.profile.upload_header": "Last opp profiltoppbilete",
"onboarding.share.lead": "La folk vita korleis dei kan finna deg på Mastodon!",
"onboarding.share.message": "Eg er {username} på #Mastodon! Du kan fylgja meg på {url}",
"onboarding.share.next_steps": "Dette kan du gjera no:",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index fe3979f0fe..1739d4aa31 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokkert",
"account.browse_more_on_origin_server": "Bla mer på den opprinnelige profilen",
"account.cancel_follow_request": "Avbryt følgeforespørselen",
+ "account.copy": "Kopier lenke til profil",
"account.direct": "Nevn @{name} privat",
"account.disable_notifications": "Slutt å varsle meg når @{name} legger ut innlegg",
"account.domain_blocked": "Domene blokkert",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marker som lest",
"conversation.open": "Vis samtale",
"conversation.with": "Med {names}",
+ "copy_icon_button.copied": "Kopiert til utklippstavlen",
"copypaste.copied": "Kopiert",
"copypaste.copy_to_clipboard": "Kopier til utklippstavle",
"directory.federated": "Fra det kjente strømiverset",
@@ -479,10 +481,8 @@
"onboarding.follows.empty": "Dessverre kan ingen resultater vises akkurat nå. Du kan prøve å bruke søk eller bla gjennom utforske-siden for å finne folk å følge, eller prøve igjen senere.",
"onboarding.follows.lead": "Hjem-skjermen din er den viktigste måten å oppleve Mastodon på. Jo flere du følger, jo mer aktiv og interessant blir det. For å komme i gang, er her noen forslag:",
"onboarding.follows.title": "Populært på Mastodon",
- "onboarding.profile.discoverable": "Fremhevede profiler og innlegg i oppdagelsealgoritmer",
"onboarding.profile.display_name": "Visningsnavn",
"onboarding.profile.display_name_hint": "Ditt fulle navn eller ditt morsomme navn…",
- "onboarding.profile.indexable": "Inkluder offentlige innlegg i søkeresultatene",
"onboarding.profile.lead": "Du kan alltid fullføre dette senere i innstillingene, der enda flere tilpasningsalternativer er tilgjengelige.",
"onboarding.profile.note": "Om meg",
"onboarding.profile.note_hint": "Du kan @nevne andre eller #emneknagger…",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index a1cc0e26e6..1e6985df28 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -21,6 +21,7 @@
"account.blocked": "Zablokowany(-a)",
"account.browse_more_on_origin_server": "Zobacz więcej na oryginalnym profilu",
"account.cancel_follow_request": "Wycofaj żądanie obserwowania",
+ "account.copy": "Skopiuj odnośnik do profilu",
"account.direct": "Prywatna wzmianka @{name}",
"account.disable_notifications": "Przestań powiadamiać mnie o wpisach @{name}",
"account.domain_blocked": "Ukryto domenę",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Oznacz jako przeczytane",
"conversation.open": "Zobacz konwersację",
"conversation.with": "Z {names}",
+ "copy_icon_button.copied": "Skopiowano do schowka",
"copypaste.copied": "Skopiowano",
"copypaste.copy_to_clipboard": "Skopiuj do schowka",
"directory.federated": "Ze znanego fediwersum",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Niestety w tej chwili nie można przedstawić żadnych wyników. Możesz spróbować wyszukać lub przeglądać stronę, aby znaleźć osoby do śledzenia, lub spróbować ponownie później.",
"onboarding.follows.lead": "Zarządasz swoim własnym kanałem. Im więcej ludzi śledzisz, tym bardziej aktywny i ciekawy będzie Twój kanał. Te profile mogą być dobrym punktem wyjścia— możesz przestać je obserwować w dowolnej chwili!",
"onboarding.follows.title": "Popularne na Mastodonie",
- "onboarding.profile.discoverable": "Udostępniaj profil i wpisy funkcjom odkrywania",
+ "onboarding.profile.discoverable": "Spraw mój profil odkrywalnym",
+ "onboarding.profile.discoverable_hint": "Kiedy zapisujesz się do odkrywalności w Mastodonie, twoje wpisy mogą pokazywać się w wynikach wyszukiwania i trendach, a twój profil może być sugerowany użytkownikom o podobnych zainteresowaniach.",
"onboarding.profile.display_name": "Nazwa wyświetlana",
"onboarding.profile.display_name_hint": "Twoje imię lub pseudonim…",
- "onboarding.profile.indexable": "Pokaż publiczne wpisy w wynikach wyszukiwania",
"onboarding.profile.lead": "Możesz wypełnić te dane później w menu ustawień, gdzie dostępnych jest jeszcze więcej opcji.",
"onboarding.profile.note": "O mnie",
"onboarding.profile.note_hint": "Możesz @wspomnieć użytkowników albo #hasztagi…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Niewidoczny",
"privacy_policy.last_updated": "Data ostatniej aktualizacji: {date}",
"privacy_policy.title": "Polityka prywatności",
+ "recommended": "Zalecane",
"refresh": "Odśwież",
"regeneration_indicator.label": "Ładuję…",
"regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 7ce63e9b1a..68f367abc6 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Veja mais no perfil original",
"account.cancel_follow_request": "Cancelar solicitação para seguir",
+ "account.copy": "Copiar link do perfil",
"account.direct": "Mencione em privado @{name}",
"account.disable_notifications": "Cancelar notificações de @{name}",
"account.domain_blocked": "Domínio bloqueado",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
"conversation.with": "Com {names}",
+ "copy_icon_button.copied": "Copiado para a área de transferência",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar para a área de transferência",
"directory.federated": "Do fediverso conhecido",
@@ -390,6 +392,7 @@
"lists.search": "Procurar entre as pessoas que segue",
"lists.subheading": "Suas listas",
"load_pending": "{count, plural, one {# novo item} other {# novos items}}",
+ "loading_indicator.label": "Carregando…",
"media_gallery.toggle_visible": "{number, plural, one {Ocultar mídia} other {Ocultar mídias}}",
"moved_to_account_banner.text": "Sua conta {disabledAccount} está desativada porque você a moveu para {movedToAccount}.",
"mute_modal.duration": "Duração",
@@ -478,6 +481,17 @@
"onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados agora. Você pode tentar usar a busca ou navegar na página de exploração para encontrar pessoas para seguir, ou tentar novamente mais tarde.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular no Mastodon",
+ "onboarding.profile.discoverable": "Tornar meu perfil descobrível",
+ "onboarding.profile.discoverable_hint": "Quando você aceita a capacidade de descoberta no Mastodon, suas postagens podem aparecer nos resultados de pesquisa e nas tendências, e seu perfil pode ser sugerido a pessoas com interesses similares aos seus.",
+ "onboarding.profile.display_name": "Nome de exibição",
+ "onboarding.profile.display_name_hint": "Seu nome completo ou apelido…",
+ "onboarding.profile.lead": "Você sempre pode completar isso mais tarde nas configurações, onde ainda mais opções de personalização estão disponíveis.",
+ "onboarding.profile.note": "Biografia",
+ "onboarding.profile.note_hint": "Você pode @mencionar outras pessoas ou usar #hashtags…",
+ "onboarding.profile.save_and_continue": "Salvar e continuar",
+ "onboarding.profile.title": "Configuração do perfil",
+ "onboarding.profile.upload_avatar": "Enviar imagem de perfil",
+ "onboarding.profile.upload_header": "Carregar cabeçalho do perfil",
"onboarding.share.lead": "Deixe as pessoas saberem como elas podem te encontrar no Mastodon!",
"onboarding.share.message": "Eu sou {username} no #Mastodon! Venha me seguir em {url}",
"onboarding.share.next_steps": "Possíveis próximos passos:",
@@ -521,6 +535,7 @@
"privacy.unlisted.short": "Não-listado",
"privacy_policy.last_updated": "Atualizado {date}",
"privacy_policy.title": "Política de privacidade",
+ "recommended": "Recomendado",
"refresh": "Atualizar",
"regeneration_indicator.label": "Carregando…",
"regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index 69e804878b..36e09ac969 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -21,6 +21,7 @@
"account.blocked": "Bloqueado(a)",
"account.browse_more_on_origin_server": "Encontrar mais no perfil original",
"account.cancel_follow_request": "Retirar pedido para seguir",
+ "account.copy": "Copiar hiperligação para o perfil",
"account.direct": "Mencionar @{name} em privado",
"account.disable_notifications": "Parar de me notificar das publicações de @{name}",
"account.domain_blocked": "Domínio bloqueado",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
"conversation.with": "Com {names}",
+ "copy_icon_button.copied": "Copiado para a área de transferência",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar para a área de transferência",
"directory.federated": "Do fediverso conhecido",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados neste momento. Pode tentar utilizar a pesquisa ou navegar na página \"Explorar\" para encontrar pessoas para seguir ou tentar novamente mais tarde.",
"onboarding.follows.lead": "Você personaliza a sua própria página inicial. Quanto mais pessoas seguir, mais ativa e interessante ela será. Estes perfis podem ser um bom ponto de partida - pode sempre deixar de os seguir mais tarde!",
"onboarding.follows.title": "Popular no Mastodon",
- "onboarding.profile.discoverable": "Destacar perfil e publicações nos algoritmos de descoberta",
+ "onboarding.profile.discoverable": "Permitir que o meu perfil seja descoberto",
+ "onboarding.profile.discoverable_hint": "Quando opta pela possibilidade de ser descoberto no Mastodon, as suas mensagens podem aparecer nos resultados de pesquisa e nas tendências, e o seu perfil pode ser sugerido a pessoas com interesses semelhantes aos seus.",
"onboarding.profile.display_name": "Nome a apresentar",
"onboarding.profile.display_name_hint": "O seu nome completo ou o seu nome divertido…",
- "onboarding.profile.indexable": "Incluir publicações públicas nos resultados de pesquisa",
"onboarding.profile.lead": "Pode sempre completar isto mais tarde, nas configurações, onde ainda estão disponíveis mais opções de personalização.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "Pode @mencionar outras pessoas ou #hashtags…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Não listar",
"privacy_policy.last_updated": "Última atualização em {date}",
"privacy_policy.title": "Política de privacidade",
+ "recommended": "Recomendado",
"refresh": "Actualizar",
"regeneration_indicator.label": "A carregar…",
"regeneration_indicator.sublabel": "A tua página inicial está a ser preparada!",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 24186794bb..9115695d87 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokovaný/á",
"account.browse_more_on_origin_server": "Prehľadávaj viac na pôvodnom profile",
"account.cancel_follow_request": "Zruš žiadosť o sledovanie",
+ "account.copy": "Skopíruj odkaz pre profil",
"account.direct": "Spomeň @{name} súkromne",
"account.disable_notifications": "Prestaň mi oznamovať, keď má @{name} príspevky",
"account.domain_blocked": "Doména skrytá",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označ za prečítané",
"conversation.open": "Ukáž konverzáciu",
"conversation.with": "S {names}",
+ "copy_icon_button.copied": "Skopírovaný do schránky",
"copypaste.copied": "Skopírované",
"copypaste.copy_to_clipboard": "Skopíruj do schránky",
"directory.federated": "Zo známého fedivesmíru",
@@ -477,6 +479,7 @@
"onboarding.follows.empty": "Žiaľ, momentálne sa nedajú zobraziť žiadne výsledky. Môžete skúsiť použiť vyhľadávanie alebo navštíviť stránku objavovania a nájsť ľudí, ktorých chcete sledovať, alebo to skúste znova neskôr.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.discoverable": "Urob môj profil objaviteľný",
"onboarding.share.lead": "Daj ľudom vedieť, ako ťa môžu na Mastodone nájsť!",
"onboarding.share.message": "Na Mastodone som {username}. Príď ma nasledovať na {url}",
"onboarding.share.next_steps": "Ďalšie možné kroky:",
@@ -520,6 +523,7 @@
"privacy.unlisted.short": "Verejne, ale nezobraziť v osi",
"privacy_policy.last_updated": "Posledná úprava {date}",
"privacy_policy.title": "Zásady súkromia",
+ "recommended": "Odporúčané",
"refresh": "Obnoviť",
"regeneration_indicator.label": "Načítava sa…",
"regeneration_indicator.sublabel": "Tvoja domovská nástenka sa pripravuje!",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index d179a86562..21d1982840 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -21,6 +21,7 @@
"account.blocked": "Blokirano",
"account.browse_more_on_origin_server": "Brskaj več po izvirnem profilu",
"account.cancel_follow_request": "Umakni zahtevo za sledenje",
+ "account.copy": "Kopiraj povezavo do profila",
"account.direct": "Zasebno omeni @{name}",
"account.disable_notifications": "Ne obveščaj me več, ko ima @{name} novo objavo",
"account.domain_blocked": "Blokirana domena",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označi kot prebrano",
"conversation.open": "Pokaži pogovor",
"conversation.with": "Z {names}",
+ "copy_icon_button.copied": "Kopirano v odložišče",
"copypaste.copied": "Kopirano",
"copypaste.copy_to_clipboard": "Kopiraj na odložišče",
"directory.federated": "Iz znanega fediverzuma",
@@ -390,6 +392,7 @@
"lists.search": "Iščite med ljudmi, katerim sledite",
"lists.subheading": "Vaši seznami",
"load_pending": "{count, plural, one {# nov element} two {# nova elementa} few {# novi elementi} other {# novih elementov}}",
+ "loading_indicator.label": "Nalaganje …",
"media_gallery.toggle_visible": "{number, plural,one {Skrij sliko} two {Skrij sliki} other {Skrij slike}}",
"moved_to_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen, ker ste se prestavili na {movedToAccount}.",
"mute_modal.duration": "Trajanje",
@@ -478,6 +481,17 @@
"onboarding.follows.empty": "Žal trenutno ni mogoče prikazati nobenih rezultatov. Lahko poskusite z iskanjem ali brskanjem po strani za raziskovanje, da poiščete osebe, ki jim želite slediti, ali poskusite znova pozneje.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Priljubljeno na Mastodonu",
+ "onboarding.profile.discoverable": "Naj bo moj profil mogoče najti",
+ "onboarding.profile.discoverable_hint": "Ko se odločite za razkrivanje na Mastodonu, se lahko vaše objave pojavijo v rezultatih iskanja in trendih, vaš profil pa se lahko predlaga ljudem, ki imajo podobne interese kot vi.",
+ "onboarding.profile.display_name": "Pojavno ime",
+ "onboarding.profile.display_name_hint": "Vaše polno ime ali lažno ime ...",
+ "onboarding.profile.lead": "To lahko vedno dokončate med nastavitvami, kjer je na voljo še več možnosti prilagajanja.",
+ "onboarding.profile.note": "Biografija",
+ "onboarding.profile.note_hint": "Druge osebe lahko @omenite ali #ključite ...",
+ "onboarding.profile.save_and_continue": "Shrani in nadaljuj",
+ "onboarding.profile.title": "Nastavitev profila",
+ "onboarding.profile.upload_avatar": "Naloži sliko profila",
+ "onboarding.profile.upload_header": "Naloži glavo profila",
"onboarding.share.lead": "Povejte vsem, kako vas lahko najdejo na Mastodonu!",
"onboarding.share.message": "Sem {username} na #Mastodon! Sledite mi na {url}",
"onboarding.share.next_steps": "Možni naslednji koraki:",
@@ -521,6 +535,7 @@
"privacy.unlisted.short": "Ni prikazano",
"privacy_policy.last_updated": "Zadnja posodobitev {date}",
"privacy_policy.title": "Pravilnik o zasebnosti",
+ "recommended": "Priporočeno",
"refresh": "Osveži",
"regeneration_indicator.label": "Nalaganje …",
"regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 1417bed5fc..86042a91e5 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -21,6 +21,7 @@
"account.blocked": "E bllokuar",
"account.browse_more_on_origin_server": "Shfletoni më tepër rreth profilit origjinal",
"account.cancel_follow_request": "Tërhiq mbrapsht kërkesë për ndjekje",
+ "account.copy": "Kopjoje lidhjen te profili",
"account.direct": "Përmendje private për @{name}",
"account.disable_notifications": "Resht së njoftuari mua, kur poston @{name}",
"account.domain_blocked": "Përkatësia u bllokua",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Vëri shenjë si të lexuar",
"conversation.open": "Shfaq bisedën",
"conversation.with": "Me {names}",
+ "copy_icon_button.copied": "U kopjua në të papastër",
"copypaste.copied": "U kopjua",
"copypaste.copy_to_clipboard": "Kopjoje në të papastër",
"directory.federated": "Nga fedivers i njohur",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Mjerisht, s’mund të shfaqen përfundime tani. Mund të provoni të përdorni kërkimin, ose të shfletoni faqen e eksplorimit, që të gjeni persona për ndjekje, ose të riprovoni më vonë.",
"onboarding.follows.lead": "Ju kujdeseni për prurjen tuaj. Sa më tepër persona të tjerë të ndiqni, aq më aktive dhe interesante do të bëhet ajo. Këto profile mund të jenë një pikënisje e mirë—mundeni përherë të ndërpritni ndjekjen e tyre më vonë!",
"onboarding.follows.title": "Popullore në Mastodon",
- "onboarding.profile.discoverable": "Profilin dhe postimet bëji objekt të algoritmeve të zbulimit",
+ "onboarding.profile.discoverable": "Bëje profilin tim të zbulueshëm",
+ "onboarding.profile.discoverable_hint": "Kur zgjidhni të jeni i zbulueshëm në Mastodon, postimet tuaja mund të shfaqen në përfundime kërkimesh dhe gjëra në modë dhe profili juaj mund t’u sugjerohet njerëzve me interesa të ngjashme me ju.",
"onboarding.profile.display_name": "Emër në ekran",
"onboarding.profile.display_name_hint": "Emri juaj i plotë, ose ç’të doni…",
- "onboarding.profile.indexable": "Përfshi postime publike në përfundime kërkimi",
"onboarding.profile.lead": "Këtë mund ta plotësoni përherë më vonë, te rregullimet, ku ka edhe më tepër mundësi përshtatjeje.",
"onboarding.profile.note": "Jetëshkrim",
"onboarding.profile.note_hint": "Mund të @përmendni persona të tjerë, ose #hashtagë…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Jo në lista",
"privacy_policy.last_updated": "Përditësuar së fundi më {date}",
"privacy_policy.title": "Rregulla Privatësie",
+ "recommended": "E rekomanduar",
"refresh": "Rifreskoje",
"regeneration_indicator.label": "Po ngarkohet…",
"regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatitet!",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index b0a76b32ab..898f0c1240 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -21,6 +21,7 @@
"account.blocked": "Блокиран",
"account.browse_more_on_origin_server": "Прегледајте још на оригиналном профилу",
"account.cancel_follow_request": "Откажи праћење",
+ "account.copy": "Копирај везу у профил",
"account.direct": "Приватно помени @{name}",
"account.disable_notifications": "Заустави обавештавање за објаве корисника @{name}",
"account.domain_blocked": "Домен је блокиран",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Означи као прочитано",
"conversation.open": "Прикажи разговор",
"conversation.with": "Са {names}",
+ "copy_icon_button.copied": "Копирано",
"copypaste.copied": "Копирано",
"copypaste.copy_to_clipboard": "Копирај",
"directory.federated": "Са знаног федиверзума",
@@ -390,6 +392,7 @@
"lists.search": "Претражи међу људима које пратите",
"lists.subheading": "Ваше листе",
"load_pending": "{count, plural, one {# нова ставка} few {# нове ставке} other {# нових ставки}}",
+ "loading_indicator.label": "Учитавање…",
"media_gallery.toggle_visible": "{number, plural, one {Сакриј слику} few {Сакриј слике} other {Сакриј слике}}",
"moved_to_account_banner.text": "Ваш налог {disabledAccount} је тренутно онемогућен јер сте прешли на {movedToAccount}.",
"mute_modal.duration": "Трајање",
@@ -478,6 +481,17 @@
"onboarding.follows.empty": "Нажалост, тренутно се не могу приказати резултати. Можете покушати са коришћењем претраге или прегледањем странице за истраживање да бисте пронашли људе које ћете пратити или покушајте поново касније.",
"onboarding.follows.lead": "Ваша почетна страница је примарни начин да доживите Mastodon. Што више људи будете пратили, то ће бити активније и занимљивије. Да бисте започели, ево неколико предлога:",
"onboarding.follows.title": "Персонализујте своју почетну страницу",
+ "onboarding.profile.discoverable": "Нека се мој профил може открити другима",
+ "onboarding.profile.discoverable_hint": "Када омогућите могућност откривања на Mastodon-у, ваше објаве се могу појавити у резултатима претраге и у тренду, а ваш профил може бити предложен људима са сличним интересовањима.",
+ "onboarding.profile.display_name": "Име за приказ",
+ "onboarding.profile.display_name_hint": "Ваше пуно име или надимак…",
+ "onboarding.profile.lead": "Ово можете увек довршити касније у подешавањима, где је доступно још више опција прилагођавања.",
+ "onboarding.profile.note": "Биографија",
+ "onboarding.profile.note_hint": "Можете да @поменете друге људе или #хеш ознаке…",
+ "onboarding.profile.save_and_continue": "Сачувај и настави",
+ "onboarding.profile.title": "Подешавање профила",
+ "onboarding.profile.upload_avatar": "Отпреми слику профила",
+ "onboarding.profile.upload_header": "Отпреми заглавље профила",
"onboarding.share.lead": "Нека људи знају како могу да вас пронађу на Mastodon-у!",
"onboarding.share.message": "Ја сам {username} на #Mastodon-у! Пратите ме на {url}",
"onboarding.share.next_steps": "Могући следећи кораци:",
@@ -521,6 +535,7 @@
"privacy.unlisted.short": "Неизлистано",
"privacy_policy.last_updated": "Последње ажурирање {date}",
"privacy_policy.title": "Политика приватности",
+ "recommended": "Препоручено",
"refresh": "Освежи",
"regeneration_indicator.label": "Учитавање…",
"regeneration_indicator.sublabel": "Ваша почетна страница се припрема!",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 6f9f37ea12..6473a41d65 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -21,6 +21,7 @@
"account.blocked": "Blockerad",
"account.browse_more_on_origin_server": "Läs mer på den ursprungliga profilen",
"account.cancel_follow_request": "Återkalla din begäran om att få följa",
+ "account.copy": "Kopiera länk till profil",
"account.direct": "Nämn @{name} privat",
"account.disable_notifications": "Sluta notifiera mig när @{name} gör inlägg",
"account.domain_blocked": "Domän blockerad",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Markera som läst",
"conversation.open": "Visa konversation",
"conversation.with": "Med {names}",
+ "copy_icon_button.copied": "Kopierad till urklipp",
"copypaste.copied": "Kopierad",
"copypaste.copy_to_clipboard": "Kopiera till urklipp",
"directory.federated": "Från känt fediversum",
@@ -479,9 +481,10 @@
"onboarding.follows.empty": "Tyvärr kan inga resultat visas just nu. Du kan prova att använda sökfunktionen eller utforska sidan för att hitta personer att följa, eller försök igen senare.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.profile.discoverable": "Gör min profil upptäckbar",
+ "onboarding.profile.discoverable_hint": "När du väljer att vara upptäckbar på Mastodon kan dina inlägg visas i sök- och trendresultat, och din profil kan föreslås för personer med liknande intressen som du.",
"onboarding.profile.display_name": "Visningsnamn",
"onboarding.profile.display_name_hint": "Fullständigt namn eller ditt roliga namn…",
- "onboarding.profile.indexable": "Inkludera offentliga inlägg i sökresultaten",
"onboarding.profile.lead": "Du kan alltid slutföra detta senare i inställningarna, där ännu fler anpassningsalternativ finns tillgängliga.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "Du kan @nämna andra personer eller #hashtags…",
@@ -530,6 +533,7 @@
"privacy.unlisted.short": "Olistad",
"privacy_policy.last_updated": "Senast uppdaterad {date}",
"privacy_policy.title": "Integritetspolicy",
+ "recommended": "Rekommenderas",
"refresh": "Läs om",
"regeneration_indicator.label": "Laddar…",
"regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 2166cd2dda..d60509143d 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -21,6 +21,7 @@
"account.blocked": "ปิดกั้นอยู่",
"account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม",
"account.cancel_follow_request": "ยกเลิกการติดตาม",
+ "account.copy": "คัดลอกลิงก์ไปยังโปรไฟล์",
"account.direct": "กล่าวถึง @{name} แบบส่วนตัว",
"account.disable_notifications": "หยุดแจ้งเตือนฉันเมื่อ @{name} โพสต์",
"account.domain_blocked": "ปิดกั้นโดเมนอยู่",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว",
"conversation.open": "ดูการสนทนา",
"conversation.with": "กับ {names}",
+ "copy_icon_button.copied": "คัดลอกไปยังคลิปบอร์ดแล้ว",
"copypaste.copied": "คัดลอกแล้ว",
"copypaste.copy_to_clipboard": "คัดลอกไปยังคลิปบอร์ด",
"directory.federated": "จากจักรวาลสหพันธ์ที่รู้จัก",
@@ -479,22 +481,22 @@
"onboarding.follows.empty": "น่าเสียดาย ไม่สามารถแสดงผลลัพธ์ได้ในตอนนี้ คุณสามารถลองใช้การค้นหาหรือเรียกดูหน้าสำรวจเพื่อค้นหาผู้คนที่จะติดตาม หรือลองอีกครั้งในภายหลัง",
"onboarding.follows.lead": "ฟีดหน้าแรกของคุณเป็นวิธีหลักในการสัมผัส Mastodon ยิ่งคุณติดตามผู้คนมากเท่าไร ฟีดหน้าแรกก็จะยิ่งมีการใช้งานและน่าสนใจมากขึ้นเท่านั้น เพื่อช่วยให้คุณเริ่มต้นใช้งาน นี่คือข้อเสนอแนะบางส่วน:",
"onboarding.follows.title": "ปรับแต่งฟีดหน้าแรกของคุณ",
- "onboarding.profile.discoverable": "แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ",
+ "onboarding.profile.discoverable": "ทำให้โปรไฟล์ของฉันสามารถค้นพบได้",
+ "onboarding.profile.discoverable_hint": "เมื่อคุณเลือกรับความสามารถในการค้นพบใน Mastodon โพสต์ของคุณอาจปรากฏในผลลัพธ์การค้นหาและกำลังนิยม และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้คนที่มีความสนใจคล้ายกับคุณ",
"onboarding.profile.display_name": "ชื่อที่แสดง",
- "onboarding.profile.display_name_hint": "ชื่อเต็มหรือชื่อแบบสนุกสนานของคุณ",
- "onboarding.profile.indexable": "รวมโพสต์สาธารณะในผลลัพธ์การค้นหา",
- "onboarding.profile.lead": "คุณสามารถกลับมาทำต่อได้เสมอในการตั้งค่า ซึ่งจะมีตัวเลือกในการปรับแต่งมากกว่า",
+ "onboarding.profile.display_name_hint": "ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ…",
+ "onboarding.profile.lead": "คุณสามารถทำสิ่งนี้ให้เสร็จสมบูรณ์ในภายหลังได้เสมอในการตั้งค่า ที่ซึ่งตัวเลือกการปรับแต่งเพิ่มเติมพร้อมใช้งาน",
"onboarding.profile.note": "ชีวประวัติ",
- "onboarding.profile.note_hint": "คุณสามารถ @กล่าวถึง ผู้คนอื่น ๆ หรือ #แฮชแท็ก",
+ "onboarding.profile.note_hint": "คุณสามารถ @กล่าวถึง ผู้คนอื่น ๆ หรือ #แฮชแท็ก…",
"onboarding.profile.save_and_continue": "บันทึกและดำเนินการต่อ",
"onboarding.profile.title": "การตั้งค่าโปรไฟล์",
- "onboarding.profile.upload_avatar": "อัปโหลดรูปโปรไฟล์",
- "onboarding.profile.upload_header": "อัปโหลดรูปส่วนหัวโปรไฟล์",
+ "onboarding.profile.upload_avatar": "อัปโหลดรูปภาพโปรไฟล์",
+ "onboarding.profile.upload_header": "อัปโหลดส่วนหัวโปรไฟล์",
"onboarding.share.lead": "แจ้งให้ผู้คนทราบวิธีที่เขาสามารถค้นหาคุณใน Mastodon!",
"onboarding.share.message": "ฉันคือ {username} ใน #Mastodon! มาติดตามฉันที่ {url}",
"onboarding.share.next_steps": "ขั้นตอนถัดไปที่เป็นไปได้:",
"onboarding.share.title": "แบ่งปันโปรไฟล์ของคุณ",
- "onboarding.start.lead": "ตอนนี้คุณเป็นส่วนหนึ่งของ Mastodon แพลตฟอร์มสื่อสังคมที่มีเอกลักษณ์ กระจายศูนย์ ที่ซึ่งคุณ—ไม่ใช่อัลกอริทึม—เรียบเรียงประสบการณ์ของคุณเอง มาช่วยให้คุณเริ่มต้นใช้งานพรมแดนทางสังคมใหม่นี้กันเลย:",
+ "onboarding.start.lead": "ตอนนี้คุณเป็นส่วนหนึ่งของ Mastodon แพลตฟอร์มสื่อสังคมที่มีเอกลักษณ์เฉพาะตัว กระจายศูนย์ ที่ซึ่งคุณ—ไม่ใช่อัลกอริทึม—เรียบเรียงประสบการณ์ของคุณเอง มาช่วยให้คุณเริ่มต้นใช้งานพรมแดนทางสังคมใหม่นี้กันเลย:",
"onboarding.start.skip": "ไม่ต้องการความช่วยเหลือในการเริ่มต้นใช้งาน?",
"onboarding.start.title": "คุณทำสำเร็จแล้ว!",
"onboarding.steps.follow_people.body": "การติดตามผู้คนที่น่าสนใจคือสิ่งที่ Mastodon ให้ความสำคัญ",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "ไม่อยู่ในรายการ",
"privacy_policy.last_updated": "อัปเดตล่าสุดเมื่อ {date}",
"privacy_policy.title": "นโยบายความเป็นส่วนตัว",
+ "recommended": "แนะนำ",
"refresh": "รีเฟรช",
"regeneration_indicator.label": "กำลังโหลด…",
"regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 505b16f4b0..25b61f40e3 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -21,6 +21,7 @@
"account.blocked": "Engellendi",
"account.browse_more_on_origin_server": "Orijinal profilde daha fazlasına göz atın",
"account.cancel_follow_request": "Takip isteğini geri çek",
+ "account.copy": "Gönderi bağlantısını kopyala",
"account.direct": "@{name} kullanıcısına özelden değin",
"account.disable_notifications": "@{name} kişisinin gönderi bildirimlerini kapat",
"account.domain_blocked": "Alan adı engellendi",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Okundu olarak işaretle",
"conversation.open": "Sohbeti görüntüle",
"conversation.with": "{names} ile",
+ "copy_icon_button.copied": "Panoya kopyalandı",
"copypaste.copied": "Kopyalandı",
"copypaste.copy_to_clipboard": "Panoya kopyala",
"directory.federated": "Bilinen fediverse'lerden",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "Maalesef şu an bir sonuç gösterilemiyor. Takip edilecek kişileri bulmak için arama veya keşfet sayfasına gözatmayı kullanabilirsiniz veya daha sonra tekrar deneyin.",
"onboarding.follows.lead": "Kendi ana akışınızı siz düzenliyorsunuz. Siz daha fazla insanı takip ettikçe, daha etkin ve ilgi çekici olacaktır. Bu profiller iyi bir başlangıç olabilir, isterseniz izlemeyi daha sonra bırakabilirsiniz:",
"onboarding.follows.title": "Mastodon'da Popüler",
- "onboarding.profile.discoverable": "Profil ve gönderileri keşif algoritmalarında kullan",
+ "onboarding.profile.discoverable": "Profilimi keşfedilebilir yap",
+ "onboarding.profile.discoverable_hint": "Mastodon'da keşfedilebilirliği etkinleştirdiğinizde, gönderileriniz arama sonuçlarında ve trendlerde görünebilir aynı zamanda profiliniz sizinle benzer ilgi alanlarına sahip kişilere önerilebilir.",
"onboarding.profile.display_name": "Görünen isim",
"onboarding.profile.display_name_hint": "Tam adınız veya kullanıcı adınız…",
- "onboarding.profile.indexable": "Herkese açık gönderileri arama sonuçlarına ekle",
"onboarding.profile.lead": "Bunu her zaman daha sonra ayarlardan tamamlayabilirsiniz, hatta daha fazla özelleştirme seçeneğine de ulaşabilirsiniz.",
"onboarding.profile.note": "Kişisel bilgiler",
"onboarding.profile.note_hint": "Diğer insanlara @değinebilir veya #etiketler kullanabilirsiniz…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Listelenmemiş",
"privacy_policy.last_updated": "Son güncelleme {date}",
"privacy_policy.title": "Gizlilik Politikası",
+ "recommended": "Önerilen",
"refresh": "Yenile",
"regeneration_indicator.label": "Yükleniyor…",
"regeneration_indicator.sublabel": "Ana akışın hazırlanıyor!",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 8649d93103..585a4b3859 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -21,6 +21,7 @@
"account.blocked": "Заблоковані",
"account.browse_more_on_origin_server": "Переглянути більше в оригінальному профілі",
"account.cancel_follow_request": "Відкликати запит на стеження",
+ "account.copy": "Копіювати посилання на профіль",
"account.direct": "Особиста згадка @{name}",
"account.disable_notifications": "Не повідомляти мене про дописи @{name}",
"account.domain_blocked": "Домен заблоковано",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Позначити як прочитане",
"conversation.open": "Переглянути бесіду",
"conversation.with": "З {names}",
+ "copy_icon_button.copied": "Скопійовано до буфера обміну",
"copypaste.copied": "Скопійовано",
"copypaste.copy_to_clipboard": "Копіювати до буфера обміну",
"directory.federated": "З відомого федесвіту",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "На жаль, жоден результат не може бути показаний просто зараз. Ви можете спробувати скористатися пошуком або переглядом сторінки огляду, щоб знайти людей для слідкування або повторіть спробу пізніше.",
"onboarding.follows.lead": "Ваша домашня стрічка - основний спосіб роботи Mastodon. Чим більше людей, які ви підписані, тим активнішою і цікавою. Ось деякі пропозиції на початок:",
"onboarding.follows.title": "Персоналізуйте домашню стрічку",
- "onboarding.profile.discoverable": "Враховувати профіль та дописи в алгоритмах пошуку",
+ "onboarding.profile.discoverable": "Зробити мій профіль видимим",
+ "onboarding.profile.discoverable_hint": "Якщо ви погоджуєтеся на видимість у Mastodon, ваші дописи можуть з'являтися в результатах пошуку і трендах, і ваш профіль може бути запропоновано людям зі схожими з вашими інтересами.",
"onboarding.profile.display_name": "Видиме ім'я",
"onboarding.profile.display_name_hint": "Ваше повне ім'я або ваш псевдонім…",
- "onboarding.profile.indexable": "Включити загальнодоступні дописи в результати пошуку",
"onboarding.profile.lead": "Ви завжди можете завершити це пізніше в Налаштуваннях, де доступно ще більше опцій налаштування.",
"onboarding.profile.note": "Біографія",
"onboarding.profile.note_hint": "Ви можете @згадувати інших людей або #гештеґи…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "Прихований",
"privacy_policy.last_updated": "Оновлено {date}",
"privacy_policy.title": "Політика приватності",
+ "recommended": "Рекомендовано",
"refresh": "Оновити",
"regeneration_indicator.label": "Завантаження…",
"regeneration_indicator.sublabel": "Хвилинку, ми готуємо вашу стрічку!",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index c98be2b746..8fc6705575 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -21,6 +21,7 @@
"account.blocked": "Đã chặn",
"account.browse_more_on_origin_server": "Truy cập trang của người này",
"account.cancel_follow_request": "Thu hồi yêu cầu theo dõi",
+ "account.copy": "Sao chép địa chỉ",
"account.direct": "Nhắn riêng @{name}",
"account.disable_notifications": "Tắt thông báo khi @{name} đăng tút",
"account.domain_blocked": "Tên miền đã chặn",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "Đánh dấu là đã đọc",
"conversation.open": "Xem toàn bộ tin nhắn",
"conversation.with": "Với {names}",
+ "copy_icon_button.copied": "Đã sao chép vào bộ nhớ tạm",
"copypaste.copied": "Đã sao chép",
"copypaste.copy_to_clipboard": "Sao chép vào bộ nhớ tạm",
"directory.federated": "Từ mạng liên hợp",
@@ -390,6 +392,7 @@
"lists.search": "Tìm kiếm những người mà bạn quan tâm",
"lists.subheading": "Danh sách của bạn",
"load_pending": "{count, plural, one {# tút mới} other {# tút mới}}",
+ "loading_indicator.label": "Đang tải…",
"media_gallery.toggle_visible": "{number, plural, other {Ẩn hình ảnh}}",
"moved_to_account_banner.text": "Tài khoản {disabledAccount} của bạn hiện không khả dụng vì bạn đã chuyển sang {movedToAccount}.",
"mute_modal.duration": "Thời hạn",
@@ -478,6 +481,17 @@
"onboarding.follows.empty": "Không có kết quả có thể được hiển thị lúc này. Bạn có thể thử sử dụng tính năng tìm kiếm hoặc duyệt qua trang khám phá để tìm những người theo dõi hoặc thử lại sau.",
"onboarding.follows.lead": "Bạn quản lý bảng tin của riêng bạn. Bạn càng theo dõi nhiều người, nó sẽ càng sôi động và thú vị. Để bắt đầu, đây là vài gợi ý:",
"onboarding.follows.title": "Thịnh hành trên Mastodon",
+ "onboarding.profile.discoverable": "Bật khám phá cho hồ sơ của tôi",
+ "onboarding.profile.discoverable_hint": "Khi bạn bật khám phá trên Mastodon, các tút của bạn có thể xuất hiện trong kết quả tìm kiếm và xu hướng, đồng thời hồ sơ của bạn sẽ được đề xuất cho những người có cùng sở thích với bạn.",
+ "onboarding.profile.display_name": "Biệt danh",
+ "onboarding.profile.display_name_hint": "Tên đầy đủ hoặc biệt danh đều được…",
+ "onboarding.profile.lead": "Bạn có thể cài đặt lại trong phần cài đặt, nơi thậm chí còn có nhiều tùy chọn hơn.",
+ "onboarding.profile.note": "Giới thiệu",
+ "onboarding.profile.note_hint": "Bạn có thể @nhắnriêng ai đó hoặc #hashtags…",
+ "onboarding.profile.save_and_continue": "Lưu và tiếp tục",
+ "onboarding.profile.title": "Thiết lập hồ sơ",
+ "onboarding.profile.upload_avatar": "Tải lên ảnh đại diện",
+ "onboarding.profile.upload_header": "Tải lên ảnh bìa",
"onboarding.share.lead": "Hãy cho mọi người biết làm thế nào họ có thể tìm thấy bạn trên Mastodon!",
"onboarding.share.message": "Tôi là {username} trên #Mastodon! Hãy theo dõi tôi tại {url}",
"onboarding.share.next_steps": "Các bước kế tiếp:",
@@ -521,6 +535,7 @@
"privacy.unlisted.short": "Hạn chế",
"privacy_policy.last_updated": "Cập nhật lần cuối {date}",
"privacy_policy.title": "Chính sách bảo mật",
+ "recommended": "Đề xuất",
"refresh": "Làm mới",
"regeneration_indicator.label": "Đang tải…",
"regeneration_indicator.sublabel": "Trang chính của bạn đang được cập nhật!",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index cc6d8994d2..e58b504769 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -21,6 +21,7 @@
"account.blocked": "已屏蔽",
"account.browse_more_on_origin_server": "在原始个人资料页面上浏览详情",
"account.cancel_follow_request": "撤回关注请求",
+ "account.copy": "复制资料卡链接",
"account.direct": "私下提及 @{name}",
"account.disable_notifications": "当 @{name} 发布嘟文时不要通知我",
"account.domain_blocked": "域名已屏蔽",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "标记为已读",
"conversation.open": "查看对话",
"conversation.with": "与 {names}",
+ "copy_icon_button.copied": "已复制到剪贴板",
"copypaste.copied": "已复制",
"copypaste.copy_to_clipboard": "复制到剪贴板",
"directory.federated": "来自已知的联邦宇宙",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "很抱歉,现在无法显示任何结果。您可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。",
"onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!",
"onboarding.follows.title": "定制您的主页动态",
- "onboarding.profile.discoverable": "在发现算法中展示您的个人资料和嘟文",
+ "onboarding.profile.discoverable": "让我的资料卡可被他人发现",
+ "onboarding.profile.discoverable_hint": "当您选择在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果和热门中,你的账户可能会被推荐给与你兴趣相似的人。",
"onboarding.profile.display_name": "昵称",
"onboarding.profile.display_name_hint": "您的全名或昵称…",
- "onboarding.profile.indexable": "将您的公开嘟文纳入搜索范围",
"onboarding.profile.lead": "您可以稍后在设置中完成此操作,设置中有更多的自定义选项。",
"onboarding.profile.note": "简介",
"onboarding.profile.note_hint": "您可以提及 @其他人 或 #标签…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "不公开",
"privacy_policy.last_updated": "最近更新于 {date}",
"privacy_policy.title": "隐私政策",
+ "recommended": "推荐",
"refresh": "刷新",
"regeneration_indicator.label": "加载中…",
"regeneration_indicator.sublabel": "你的主页动态正在准备中!",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index ea932bc5a7..af4dad7f75 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -21,6 +21,7 @@
"account.blocked": "已封鎖",
"account.browse_more_on_origin_server": "前往原始的個人檔案頁瀏覽更多",
"account.cancel_follow_request": "撤回追蹤請求",
+ "account.copy": "複製個人檔案連結",
"account.direct": "私下提及 @{name}",
"account.disable_notifications": "當 @{name} 發文時不要再通知我",
"account.domain_blocked": "網域被封鎖",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "標為已讀",
"conversation.open": "檢視對話",
"conversation.with": "與 {names}",
+ "copy_icon_button.copied": "已複製到剪貼簿",
"copypaste.copied": "已複製",
"copypaste.copy_to_clipboard": "複製到剪貼簿",
"directory.federated": "來自已知的聯盟網絡",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "很遺憾,現在無法顯示任何結果。你可以嘗試搜尋或瀏覽探索頁面來找使用者來追蹤,或者稍後再試。",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
- "onboarding.profile.discoverable": "在探索的演算法中展示個人檔案和帖文",
+ "onboarding.profile.discoverable": "將個人檔案設為可被搜尋",
+ "onboarding.profile.discoverable_hint": "當你在 Mastodon 上選擇可被搜尋時,你的帖文可能會出現在搜尋結果和熱門,你的個人檔案也可能被推薦給與你興趣相似的人。",
"onboarding.profile.display_name": "顯示名稱",
"onboarding.profile.display_name_hint": "你的全名或暱稱…",
- "onboarding.profile.indexable": "將公開帖文納入搜尋結果中",
"onboarding.profile.lead": "你可以隨時在設定中完成此動作,那裏有更多自訂選項。",
"onboarding.profile.note": "簡介",
"onboarding.profile.note_hint": "你可以 @提及他人 或使用 #標籤…",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "公開",
"privacy_policy.last_updated": "最後更新 {date}",
"privacy_policy.title": "私隱政策",
+ "recommended": "推薦",
"refresh": "重新整理",
"regeneration_indicator.label": "載入中……",
"regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 4c52693cc3..783f95b304 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -21,6 +21,7 @@
"account.blocked": "已封鎖",
"account.browse_more_on_origin_server": "在該伺服器上的個人檔案頁面瀏覽更多",
"account.cancel_follow_request": "收回跟隨請求",
+ "account.copy": "複製個人檔案連結",
"account.direct": "私訊 @{name}",
"account.disable_notifications": "取消來自 @{name} 嘟文的通知",
"account.domain_blocked": "已封鎖網域",
@@ -191,6 +192,7 @@
"conversation.mark_as_read": "標記為已讀",
"conversation.open": "檢視對話",
"conversation.with": "與 {names}",
+ "copy_icon_button.copied": "已複製到剪貼簿",
"copypaste.copied": "已複製",
"copypaste.copy_to_clipboard": "複製到剪貼簿",
"directory.federated": "來自已知聯邦宇宙",
@@ -479,10 +481,10 @@
"onboarding.follows.empty": "很遺憾,目前未能顯示任何結果。您可以嘗試使用搜尋、瀏覽探索頁面以找尋人們跟隨、或稍候再試。",
"onboarding.follows.lead": "您的首頁時間軸是 Mastodon 的核心體驗。若您跟隨更多人的話,它將會變得更活躍有趣。這些個人檔案也許是個好起點,您可以隨時取消跟隨他們!",
"onboarding.follows.title": "客製化您的首頁時間軸",
- "onboarding.profile.discoverable": "於探索演算法中推薦個人檔案及嘟文",
+ "onboarding.profile.discoverable": "使我的個人檔案可以被找到",
+ "onboarding.profile.discoverable_hint": "當您於 Mastodon 上選擇加入可發現性時,您的嘟文可能會出現於搜尋結果與趨勢中。您的個人檔案可能會被推薦給與您志趣相投的人。",
"onboarding.profile.display_name": "顯示名稱",
"onboarding.profile.display_name_hint": "完整名稱或暱稱...",
- "onboarding.profile.indexable": "允許公開嘟文顯示於搜尋結果中",
"onboarding.profile.lead": "您隨時可以稍候於設定中完成此操作,將有更多自訂選項可使用。",
"onboarding.profile.note": "個人簡介",
"onboarding.profile.note_hint": "您可以 @mention 其他人或者使用 #主題標籤...",
@@ -533,6 +535,7 @@
"privacy.unlisted.short": "不公開",
"privacy_policy.last_updated": "最後更新:{date}",
"privacy_policy.title": "隱私權政策",
+ "recommended": "推薦設定",
"refresh": "重新整理",
"regeneration_indicator.label": "載入中…",
"regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!",
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index e72a01936c..555d43cc1c 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -1222,10 +1222,6 @@ code {
}
.app-form {
- & > * {
- margin-bottom: 16px;
- }
-
&__avatar-input,
&__header-input {
display: block;
@@ -1290,4 +1286,49 @@ code {
&__header-input {
aspect-ratio: 580/193;
}
+
+ &__toggle {
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ color: $darker-text-color;
+ font-size: 14px;
+ line-height: 20px;
+
+ .icon {
+ flex: 0 0 auto;
+ }
+
+ .icon {
+ width: 24px;
+ height: 24px;
+ }
+
+ &__label {
+ flex: 1 1 auto;
+
+ strong {
+ color: $primary-text-color;
+ font-weight: 600;
+ }
+
+ .recommended {
+ position: absolute;
+ margin: 0 4px;
+ margin-top: -2px;
+ }
+ }
+
+ &__toggle {
+ flex: 0 0 auto;
+ display: flex;
+ align-items: center;
+ }
+
+ &__toggle > div {
+ display: flex;
+ border-inline-start: 1px solid lighten($ui-base-color, 8%);
+ padding-inline-start: 16px;
+ }
+ }
}
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index dfff7058dc..4c2bf0fa35 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -611,6 +611,7 @@ bg:
created_at: Докладвано
delete_and_resolve: Изтриване на публикациите
forwarded: Препратено
+ forwarded_replies_explanation: Този доклад е от отдалечен потребител и за отдалечено съдържание. То е препратено до вас, защото докладваното съдържание е в отговор на един от потребителите ви.
forwarded_to: Препратено до %{domain}
mark_as_resolved: Маркиране като решено
mark_as_sensitive: Означаване като деликатно
diff --git a/config/locales/devise.lt.yml b/config/locales/devise.lt.yml
index 6c5cb837ac..aedba24981 100644
--- a/config/locales/devise.lt.yml
+++ b/config/locales/devise.lt.yml
@@ -1 +1,35 @@
+---
lt:
+ devise:
+ confirmations:
+ confirmed: Tavo el. pašto adresas buvo sėkmingai patvirtintas.
+ send_instructions: Po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto laiškų aplanką.
+ send_paranoid_instructions: Jei tavo el. pašto adresas yra mūsų duomenų bazėje, po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto laiškų aplanką.
+ failure:
+ already_authenticated: Tu jau prisijungęs (-usi).
+ inactive: Tavo paskyra dar nėra aktyvuota.
+ invalid: Netinkami %{authentication_keys} arba slaptažodis.
+ last_attempt: Turi dar vieną bandymą, kol tavo paskyra bus užrakinta.
+ locked: Tavo paskyra užrakinta.
+ not_found_in_database: Netinkami %{authentication_keys} arba slaptažodis.
+ pending: Tavo paskyra vis dar peržiūrima.
+ timeout: Tavo seansas baigėsi. Norėdamas (-a) tęsti, prisijunk dar kartą.
+ unauthenticated: Prieš tęsdamas (-a) turi prisijungti arba užsiregistruoti.
+ unconfirmed: Prieš tęsdamas (-a) turi patvirtinti savo el. pašto adresą.
+ mailer:
+ confirmation_instructions:
+ action: Patvirtinti el. pašto adresą
+ action_with_app: Patvirtinti ir grįžti į %{app}
+ explanation: Šiuo el. pašto adresu sukūrei paskyrą %{host}. Iki jos aktyvavimo liko vienas paspaudimas. Jei tai buvo ne tu, ignoruok šį el. laišką.
+ explanation_when_pending: Šiuo el. pašto adresu pateikei paraišką pakvietimui į %{host}. Kai patvirtinsi savo el. pašto adresą, mes peržiūrėsime tavo paraišką. Gali prisijungti ir pakeisti savo duomenis arba ištrinti paskyrą, tačiau negalėsi naudotis daugeliu funkcijų, kol tavo paskyra nebus patvirtinta. Jei tavo paraiška bus atmesta, duomenys bus pašalinti, todėl jokių papildomų veiksmų iš tavęs nereikės. Jei tai buvo ne tu, ignoruok šį el. laišką.
+ unlock_instructions:
+ subject: 'Mastodon: atrakinimo instrukcijos'
+ passwords:
+ no_token: Į šį puslapį gali patekti tik gavęs (-usi) slaptažodžio atstatymo el. laišką. Jei atėjai iš slaptažodžio atstatymo el. laiško, įsitikink, kad naudojai visą pateiktą URL adresą.
+ registrations:
+ destroyed: Iki pasimatymo! Tavo paskyra sėkmingai atšaukta. Tikimės, kad netrukus vėl pasimatysime.
+ errors:
+ messages:
+ expired: nustojo galioti, prašyk naujos.
+ not_found: nerasta.
+ not_locked: nebuvo užrakintas.
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 066899995f..12c6461456 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -1720,6 +1720,10 @@ eo:
seamless_external_login: Vi estas ensalutinta per ekstera servo, do pasvortaj kaj retadresaj agordoj ne estas disponeblaj.
signed_in_as: 'Salutinta kiel:'
verification:
+ extra_instructions_html: Konsilo: La ligilo en via retejo povas esti nevidebla. La grava parto estas rel="me", kiu evitas identoŝtelon en retejoj kun enhavo generita de uzantoj. Vi povas eĉ uzi link-etikedon en la header de la paĝo anstataŭ a, sed la HTML devas esti atingebla sen plenumado de JavaScript.
+ here_is_how: Jen gvidilo
+ hint_html: "Ĉiu ajn povas aŭtentigi sian identecon en Mastodon. Bazinte sur malfermitaj interretaj normoj, nun kaj ĉiame senkoste. Vi nur bezonas personan retejon, per kiu homoj rekonas vin. Kiam vi ligos tiun retejon de via profilo, ni kontrolos, ĉu la retejo responde ligiĝas kun via profilo, kaj montros videblan indikilon tie."
+ instructions_html: Kopiu kaj algluu la jenan kodon en la HTML de via retejo. Poste aldonu la adreson de via retejo en unu el la kromaj kampoj de via profilo en la langeto "Redakti profilon" kaj konservu la ŝanĝojn.
verification: Kontrolo
verified_links: Via kontrolitaj ligiloj
webauthn_credentials:
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 34d1c85dc0..72a36250ff 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -611,6 +611,7 @@ es:
created_at: Denunciado
delete_and_resolve: Eliminar publicaciones
forwarded: Reenviado
+ forwarded_replies_explanation: Este informe es de un usuario remoto y sobre contenido remoto. Se le ha enviado porque el contenido reportado es en respuesta a uno de sus usuarios.
forwarded_to: Reenviado a %{domain}
mark_as_resolved: Marcar como resuelto
mark_as_sensitive: Marcar como sensible
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index dd7575c57a..6aa92c2d1d 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -613,6 +613,7 @@ eu:
created_at: Salatua
delete_and_resolve: Ezabatu bidalketak
forwarded: Birbidalia
+ forwarded_replies_explanation: Salaketa hau beste instantzia bateko erabiltzaile baten edukiari buruzkoa da, eta zure instantziako erabiltzaile bati egidako erantzuna delako bidali dizugu mezu hau.
forwarded_to: 'Hona birbidalia: %{domain}'
mark_as_resolved: Markatu konpondutako gisa
mark_as_sensitive: Markatu hunkigarri gisa
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 0075c65920..c1e4b78a25 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -384,7 +384,7 @@ gl:
domain_blocks:
add_new: Engadir novo bloqueo de dominio
confirm_suspension:
- cancel: Cancelar
+ cancel: Desbotar
confirm: Suspender
permanent_action: Ao retirar a suspensión non restableces os datos ou a relación.
preamble_html: Vas suspender a %{domain} e os seus subdominios.
@@ -611,6 +611,7 @@ gl:
created_at: Denunciado
delete_and_resolve: Eliminar publicacións
forwarded: Reenviado
+ forwarded_replies_explanation: Esta denuncia procede dunha usuaria remota e acerca de contido remoto. Enviouseche unha copia porque o contido denunciado é unha resposta a unha das túas usuarias.
forwarded_to: Reenviado a %{domain}
mark_as_resolved: Marcar como resolto
mark_as_sensitive: Marcar como sensible
@@ -783,7 +784,7 @@ gl:
destroyed_msg: Eliminado correctamente o subido!
software_updates:
critical_update: Crítica - actualiza axiña
- description: Recomendamos manter actualizado o teu servidor Mastodon para beneficiarte dos últimos arranxos e características. A maiores, de cando en vez hai actualizacións para evitar problemas importantes de seguridade. Debido a isto, Mastodon comproba cada 30 minutos se hai actualizacións e avisarate seguindo as túas preferencias de notificación por correo electrónico.
+ description: Aconsellamos manter actualizado o teu servidor Mastodon para beneficiarte dos últimos arranxos e características. A maiores, de cando en vez hai actualizacións para evitar problemas importantes de seguridade. Debido a isto, Mastodon comproba cada 30 minutos se hai actualizacións e avisarate seguindo as túas preferencias de notificación por correo electrónico.
documentation_link: Saber máis
release_notes: Notas da versión
title: Actualizacións dispoñibles
@@ -1790,7 +1791,7 @@ gl:
change_password: cambia o teu contrasinal
details: 'Estos son os detalles do acceso:'
explanation: Detectamos que accedeches á conta desde un novo enderezo IP.
- further_actions_html: Se non foches ti, recomendámosche %{action} inmediatamente e activa o segundo factor de autenticación para manter conta segura.
+ further_actions_html: Se non foches ti, aconsellámosche %{action} inmediatamente e activar o segundo factor de autenticación para manter conta segura.
subject: Accedeuse á túa conta desde novos enderezos IP
title: Novo acceso
warning:
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 35dc99650c..1e04af93b5 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -76,7 +76,7 @@ he:
enabled_msg: ביטול השעית החשבון של %{username} בוצע בהצלחה
followers: עוקבים
follows: נעקבים
- header: כותרת
+ header: תמונת נושא
inbox_url: כתובת תיבת דואר נכנס
invite_request_text: סיבות להצטרפות
invited_by: הוזמן על ידי
@@ -128,7 +128,7 @@ he:
remove_avatar: הסרת תמונת פרופיל
remove_header: הסרת כותרת
removed_avatar_msg: תמונת הפרופיל של %{username} הוסרה בהצלחה
- removed_header_msg: תמונת הראשה של %{username} הוסרה בהצלחה
+ removed_header_msg: תמונת הנושא של %{username} הוסרה בהצלחה
resend_confirmation:
already_confirmed: משתמש זה כבר אושר
send: שלח מחדש קישור לאימות
@@ -1281,7 +1281,7 @@ he:
keywords: מילות מפתח
statuses: הודעות מסויימות
statuses_hint_html: הסנן פועל על בחירה ידנית של הודעות בין אם הן מתאימות למילות המפתח להלן ואם לאו. posts regardless of whether they match the keywords below. בחינה או הסרה של ההודעות מהסנן.
- title: ערוך מסנן
+ title: לערוך מסנן
errors:
deprecated_api_multiple_keywords: לא ניתן לשנות פרמטרים אלו מהיישומון הזה בגלל שהם חלים על יותר ממילת מפתח אחת. ניתן להשתמש ביישומון מעודכן יותר או בממשק הוובי.
invalid_context: לא סופק הקשר או הקשר לא תקין
@@ -1478,7 +1478,7 @@ he:
not_found: לא נמצאו
on_cooldown: את/ה בתקופת צינון
followers_count: עוקבים בזמן המעבר
- incoming_migrations: מעבר לחשבון אחר
+ incoming_migrations: מעבר מחשבון אחר
incoming_migrations_html: כדי לעבור מחשבון אחר לחשבון זה, עליך ראשית ליצור שם נרדף לחשבון.
moved_msg: חשבונך מופנה עתה ל-%{acct} וכל עוקביך מועברים לשם.
not_redirecting: חשבונכם לא מפנה לשום חשבון אחר כעת.
@@ -1516,8 +1516,8 @@ he:
subject: הודעתך חובבה על ידי %{name}
title: חיבוב חדש
follow:
- body: "%{name} עכשיו במעקב אחריך!"
- subject: "%{name} עכשיו במעקב אחריך"
+ body: "%{name} עכשיו עוקב.ת אחריך!"
+ subject: "%{name} עכשיו עוקב.ת אחריך"
title: עוקב/ת חדש/ה
follow_request:
action: ניהול בקשות מעקב
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index 28bd830158..4f6cdf480f 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -65,6 +65,25 @@ hr:
empty: Nema pronađenih izvješća.
filter_by_action: Filtriraj prema radnji
filter_by_user: Filtriraj prema korisniku
+ email_domain_blocks:
+ add_new: Dodaj novi
+ ip_blocks:
+ add_new: Stvori pravilo
+ roles:
+ privileges:
+ invite_users_description: Dopusti korisnicima da pozovu nove ljude na server
+ settings:
+ about:
+ title: O aplikaciji
+ warning_presets:
+ add_new: Dodaj novi
+ aliases:
+ add_new: Stvori alias
+ appearance:
+ advanced_web_interface: Napredno web sučelje
+ localization:
+ body: Mastodon prevode dobrovoljci.
+ guide_link_text: Svi mogu doprinjeti.
application_mailer:
settings: 'Promijeni postavke e-pošte: %{link}'
view: 'Vidi:'
@@ -85,14 +104,19 @@ hr:
less_than_x_seconds: Upravo sada
over_x_years: "%{count}god"
x_months: "%{count}mj"
+ edit_profile:
+ basic_information: Osnovne informacije
exports:
archive_takeout:
date: Datum
download: Preuzmite svoju arhivu
+ request: Zatraži svoju arhivu
size: Veličina
blocks: Blokirali ste
lists: Liste
storage: Pohrana medijskih sadržaja
+ featured_tags:
+ add_new: Dodaj novi
filters:
contexts:
notifications: Obavijesti
@@ -130,6 +154,7 @@ hr:
few: "%{count} korištenja"
one: 1 korištenje
other: "%{count} korištenja"
+ title: Pozovi ljude
notification_mailer:
favourite:
body: "%{name} je označio/la Vaš status favoritom:"
@@ -167,6 +192,8 @@ hr:
remote_follow:
missing_resource: Nije moguće pronaći traženi URL preusmjeravanja za Vaš račun
sessions:
+ browsers:
+ ie: Internet Explorer
revoke: Opozovi
revoke_success: Sesija je uspješno opozvana
title: Sesije
@@ -183,9 +210,11 @@ hr:
export: Izvoz podataka
featured_tags: Istaknuti hashtagovi
import: Uvezi
+ import_and_export: Uvezi i izvezi
notifications: Obavijesti
preferences: Postavke
profile: Profil
+ statuses_cleanup: Automatsko brisanje postova
two_factor_authentication: Dvofaktorska autentifikacija
statuses:
open_in_web: Otvori na webu
@@ -205,7 +234,11 @@ hr:
visibilities:
private: Samo pratitelji
public: Javno
+ public_long: Svi mogu vidjeti
unlisted: Neprikazano
+ unlisted_long: Svi mogu vidjeti, ali nije izlistano u javnim timelineovima
+ statuses_cleanup:
+ enabled: Automatski obriši strare postove
stream_entries:
sensitive_content: Osjetljivi sadržaj
two_factor_authentication:
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index a0ff3061fc..60016c9352 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -611,7 +611,7 @@ hu:
created_at: Jelentve
delete_and_resolve: Bejegyzések törlése
forwarded: Továbbítva
- forwarded_replies_explanation: Ez a jelentés egy távoli felhasználótól származik, és távoli tartalomról szól. Azért lett neked továbbítva, mert a jelentett tartalom az egyik felhasználódnak küldött válasz.
+ forwarded_replies_explanation: Ez a jelentés egy távoli flehasználótól származik, és távoli tartalomról szól. Azért lett neked továbbítva, mert a jelentett tartalom az egyik felhasználódnak küldött válasz.
forwarded_to: 'Továbbítva ide: %{domain}'
mark_as_resolved: Megjelölés megoldottként
mark_as_sensitive: Érzékenynek jelölés
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 3318b690a0..7be0724630 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -599,6 +599,7 @@ ja:
created_at: 通報日時
delete_and_resolve: 投稿を削除
forwarded: 転送済み
+ forwarded_replies_explanation: この報告はリモートユーザーからのものであり、またリモートコンテンツに関するものです。報告されたコンテンツがあなたのユーザーの内の一人に対するリプライの中にあるため、あなたに転送されました。
forwarded_to: "%{domain}に転送されました"
mark_as_resolved: 解決済みとしてマーク
mark_as_sensitive: 閲覧注意にする
@@ -1343,6 +1344,7 @@ ja:
'86400': 1日
expires_in_prompt: 無期限
generate: 招待リンクを作成
+ invalid: この招待は無効です
invited_by: '次の人に招待されました:'
max_uses:
other: "%{count}"
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index e11081fcdf..7dcb5d632c 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -763,7 +763,7 @@ ko:
open: 누구나 가입 할 수 있음
security:
authorized_fetch: 연합된 서버들에게서 인증 필수
- authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단은 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개돤 게시물이나 계정을 페치하는 것은 막지 않습니다.
+ authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단을 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개돤 게시물이나 계정을 페치하는 것은 막지 않습니다.
authorized_fetch_overridden_hint: 현재 이 값은 환경변수에 의해 설정되어 있기에 설정을 변경할 수 없습니다.
federation_authentication: 연합 인증 필수
title: 서버 설정
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index 09de24a672..ad2acdda88 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -534,7 +534,7 @@ nn:
total_reported: Rapportar om dei
total_storage: Medievedlegg
totals_time_period_hint_html: Totalsum vist nedanfor gjeld data for alle tidsperiodar.
- unknown_instance: Dette domenet er ukjent for denne serveren.
+ unknown_instance: Domenet er ukjent for denne tenaren.
invites:
deactivate_all: Slå av alle
filter:
@@ -611,7 +611,7 @@ nn:
created_at: Rapportert
delete_and_resolve: Slett innlegg
forwarded: Videresendt
- forwarded_replies_explanation: Denne rapporten er fra en ekstern bruker og handler om eksternt innhold. Den er videresendt til deg fordi det rapporterte innholdet svarer til en av brukerne dine.
+ forwarded_replies_explanation: Denne rapporten gjeld innhald på ein annan nettstad. Rapporten er vidaresend til deg fordi det rapporterte innhaldet er eit svar på noko ein av brukarane på nettstaden din har skrive.
forwarded_to: Videresendt til %{domain}
mark_as_resolved: Merk som løyst
mark_as_sensitive: Marker som ømtolig
@@ -1042,14 +1042,14 @@ nn:
hint_html: Berre ein ting til! Vi må bekrefte at du er et menneske (så vi kan halde spam ute!). Løys CAPTCHA-en nedanfor og klikk "Fortsett".
title: Sikkerheitssjekk
confirmations:
- awaiting_review: Din e-post adresse er bekreftet! %{domain} ansatte gjennomgår nå registreringen din. Du vil motta en e-post hvis de godkjenner din konto!
- awaiting_review_title: Din registrering blir vurdert
- clicking_this_link: klikke på denne lenken
- login_link: logg inn
- proceed_to_login_html: Du kan nå fortsette til %{login_link}.
- redirect_to_app_html: Du burde bli omdirigert til %{app_name} -appen. Hvis det ikke skjedde, kan du prøve %{clicking_this_link} eller manuelt gå tilbake til appen.
- registration_complete: Registreringen på %{domain} er nå fullført!
- welcome_title: Velkommen, %{name}!
+ awaiting_review: Epostadressa di er stadfesta! Styrarane på %{domain} ser gjennom registreringa di. Du får ein epost frå dei om dei godkjenner brukarkontoen din.
+ awaiting_review_title: Me går gjennom registreringa di
+ clicking_this_link: klikka på denne lenka
+ login_link: logga inn
+ proceed_to_login_html: No kan du %{login_link}.
+ redirect_to_app_html: Du skulle vorte vidaresend til %{app_name}-appen. Viss det ikkje skjedde, kan du prøva å %{clicking_this_link} eller manuelt gå tilbake til appen.
+ registration_complete: Du har registrert deg som brukar på %{domain}.
+ welcome_title: Velkomen, %{name}!
wrong_email_hint: Viss epostadressa er feil, kan du endra ho i kontoinnstillingane.
delete_account: Slett konto
delete_account_html: Om du vil sletta kontoen din, kan du gå hit. Du vert spurd etter stadfesting.
@@ -1111,7 +1111,7 @@ nn:
functional: Kontoen din er fullt operativt.
pending: Søknaden din ventar på gjennomgang frå personalet vårt. Dette kan taka litt tid. Du får ein e-post om søknaden din vert godkjend.
redirecting_to: Kontoen din er inaktiv fordi den for øyeblikket omdirigerer til %{acct}.
- self_destruct: Siden %{domain} stenger, vil du kun ha begrenset tilgang til kontoen din.
+ self_destruct: Av di %{domain} er i ferd med å stenga, vil du berre få avgrensa tilgang til brukarkontoen din.
view_strikes: Vis tidligere advarsler mot kontoen din
too_fast: Skjemaet ble sendt inn for raskt, prøv på nytt.
use_security_key: Bruk sikkerhetsnøkkel
@@ -1583,8 +1583,8 @@ nn:
over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter
too_soon: Den planlagte datoen må være i fremtiden
self_destruct:
- lead_html: Dessverre stenger %{domain} for alltid. Hvis du hadde en konto der vil du ikke kunne fortsette å bruke den, men du kan fremdeles be om en sikkerhetskopi av dataene dine.
- title: Denne serveren stenger
+ lead_html: Diverre stengjer %{domain} dørene for godt. Viss du hadde ein brukarkonto der, vil du ikkje kunna halda fram å bruka han, men du kan få ut ein tryggingskopi av dataa dine.
+ title: Denne tenaren stengjer
sessions:
activity: Siste aktivitet
browser: Nettlesar
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 3cf2df3a1b..42bd6193c1 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -1533,7 +1533,7 @@
posting_defaults: Innleggsstandarder
public_timelines: Offentlige tidslinjer
privacy:
- hint_html: "Tilpass hvordan du vil at din profil og dine innlegg skal bli funnet. En rekke funksjoner i Mastodon kan hjelpe deg med å nå et bredere publikum når de aktiverte. Ta deg et øyeblikk til å vurdere disse innstillingene for å forsikre deg om at de passer deg og ditt bruk."
+ hint_html: "Tilpass hvordan du vil at din profil og dine innlegg skal bli funnet. En rekke funksjoner i Mastodon kan hjelpe deg med å nå et bredere publikum når det er aktivert. Ta deg et øyeblikk til å vurdere disse innstillingene for å forsikre deg om at de passer deg og ditt bruk."
privacy: Personvern
privacy_hint_html: Kontrollér hvor mye du ønsker å dele til fordel for andre. Folk oppdager interessante profiler og kule app'er ved å bla gjennom andres følgere og ved å se hvilke app'er de bruker, men du kan velge å holde det skjult.
reach: Rekkevidde
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 3eb2950bd6..e42481120c 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -611,6 +611,7 @@ pt-BR:
created_at: Denunciado
delete_and_resolve: Excluir publicações
forwarded: Encaminhados
+ forwarded_replies_explanation: Este relatório é de um usuário remoto e é sobre um conteúdo remoto. Ele foi encaminhado para você porque o conteúdo denunciado está em resposta a um de seus usuários.
forwarded_to: Encaminhado para %{domain}
mark_as_resolved: Marcar como resolvido
mark_as_sensitive: Marcar como sensível
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index b917f551c7..7bafca6b71 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -108,7 +108,7 @@ gl:
text: Esto axudaranos a revisar a tua solicitude
ip_block:
comment: Opcional. Lembrar a razón para engadir esta regra.
- expires_in: Os enderezos IP son un recurso finito, a veces son compartidos e cambian de mans con frecuencia. Por esta razón, non se recomendan os bloqueos indefinidos de IPs.
+ expires_in: Os enderezos IP son un recurso finito, a veces son compartidos e cambian de mans con frecuencia. Por esta razón, non se aconsellan os bloqueos indefinidos de IPs.
ip: Escribe un enderezo IPv4 ou IPv6. Podes bloquear rangos completos usando a sintaxe CIDR. Ten coidado e non te bloquees a ti mesma!
severities:
no_access: Bloquear acceso a tódolos recursos
@@ -295,7 +295,7 @@ gl:
all: Notificar todas as actualizacións
critical: Notificar só as actualizacións críticas
label: Hai unha nova versión de Mastodon dispoñible
- none: Non notificar nunca as actualizacións (non se recomenda)
+ none: Non notificar nunca as actualizacións (non se aconsella)
patch: Notificar as actualizacións de arranxos
trending_tag: Hai que revisar unha nova tendencia
rule:
@@ -322,9 +322,9 @@ gl:
template: Modelo de carga
url: URL do extremo
'no': Non
- not_recommended: Non é recomendable
+ not_recommended: Non se aconsella
overridden: Sobreescrita
- recommended: Recomendado
+ recommended: Aconsellable
required:
mark: "*"
text: requerido
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index 04b21cd1b0..0a8a57c347 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -268,7 +268,7 @@ he:
interactions:
must_be_follower: חסימת התראות משאינם עוקבים
must_be_following: חסימת התראות משאינם נעקבים
- must_be_following_dm: חסימת הודעות ישירות מכותבים שאינם במעקב
+ must_be_following_dm: חסימת הודעות ישירות מחשבונות שאתם לא עוקבים אחריהם
invite:
comment: הערה
invite_request:
@@ -286,7 +286,7 @@ he:
digest: שליחת הודעות דוא"ל מסכמות
favourite: שליחת דוא"ל כשמחבבים הודעה
follow: שליחת דוא"ל כשנוספות עוקבות
- follow_request: שליחת דוא"ל כשמבקשים לעקוב
+ follow_request: מישהו.י ביקש.ה לעקוב אחריך
mention: שליחת דוא"ל כשפונים אלייך
pending_account: נדרשת סקירה של חשבון חדש
reblog: שליחת דוא"ל כשמהדהדים הודעה שלך
diff --git a/config/locales/simple_form.hr.yml b/config/locales/simple_form.hr.yml
index 8f0178c7b2..3db4fd3b4a 100644
--- a/config/locales/simple_form.hr.yml
+++ b/config/locales/simple_form.hr.yml
@@ -7,6 +7,7 @@ hr:
account_warning_preset:
title: Proizvoljno. Nije vidljivo primatelju
defaults:
+ autofollow: Ljudi koji se registriraju kroz pozivnicu će te automatski slijediti
avatar: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjeno na %{dimensions}px
header: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjeno na %{dimensions}px
password: Mora biti najmanje 8 znakova
@@ -22,6 +23,7 @@ hr:
admin_account_action:
type: Radnja
defaults:
+ avatar: Profilna slika
confirm_new_password: Potvrdi novu lozinku
confirm_password: Potvrdi lozinku
current_password: Trenutna lozinka
@@ -38,8 +40,10 @@ hr:
setting_display_media_default: Zadano
setting_display_media_hide_all: Sakrij sve
setting_display_media_show_all: Prikaži sve
+ setting_reduce_motion: Smanji kretanje u animacijama
setting_system_font_ui: Koristi zadani font sustava
setting_theme: Tema stranice
+ setting_trends: Prikaži današnje trendove
type: Tip uvoza
username: Korisničko ime
interactions:
@@ -53,6 +57,8 @@ hr:
mention: Netko Vas spomene
reblog: Netko boosta Vaš status
'no': Ne
+ not_recommended: Nije preporučeno
+ recommended: Preporučeno
required:
text: obavezno
'yes': Da
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index b31fe118a1..65d09cf1b7 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -635,6 +635,7 @@ sl:
created_at: Prijavljeno
delete_and_resolve: Izbriši objave
forwarded: Posredovano
+ forwarded_replies_explanation: To poročilo je od oddaljenega uporabnika in se nanaša na oddaljeno vsebino. Posredovano vam je bilo, ker je vsebina, o kateri poroča, odgovor enemu od vaših uporabnikov.
forwarded_to: Posredovano na %{domain}
mark_as_resolved: Označi kot rešeno
mark_as_sensitive: Označi, kot občutljivo
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index 6ccec7fd9a..426440a1a4 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -623,6 +623,7 @@ sr-Latn:
created_at: Prijavljena
delete_and_resolve: Obriši objave
forwarded: Prosleđeno
+ forwarded_replies_explanation: Ovaj izveštaj je od udaljenog korisnika i o udaljenom sadržaju. Prosleđen vam je jer je prijavljeni sadržaj u odgovoru jednom od vaših korisnika.
forwarded_to: Prosleđeno ka %{domain}
mark_as_resolved: Označi kao rešenu
mark_as_sensitive: Obeleži kao osetljivo
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 407908517b..b271b15f16 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -623,6 +623,7 @@ sr:
created_at: Пријављена
delete_and_resolve: Обриши објаве
forwarded: Прослеђено
+ forwarded_replies_explanation: Овај извештај је од удаљеног корисника и о удаљеном садржају. Прослеђен вам је јер је пријављени садржај у одговору једном од ваших корисника.
forwarded_to: Прослеђено ка %{domain}
mark_as_resolved: Означи као решену
mark_as_sensitive: Обележи као осетљиво
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 79d668d3e4..a8f047cc7d 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -560,7 +560,7 @@ th:
enabled: เปิดใช้งานอยู่
inbox_url: URL ของรีเลย์
pending: กำลังรอการอนุมัติของรีเลย์
- save_and_enable: บันทึกแล้วเปิดใช้งาน
+ save_and_enable: บันทึกและเปิดใช้งาน
setup: ตั้งค่าการเชื่อมต่อรีเลย์
signatures_not_enabled: รีเลย์อาจทำงานไม่ถูกต้องขณะที่มีการเปิดใช้งานโหมดปลอดภัยหรือโหมดการติดต่อกับภายนอกแบบจำกัด
status: สถานะ
@@ -599,7 +599,7 @@ th:
created_at: รายงานเมื่อ
delete_and_resolve: ลบโพสต์
forwarded: ส่งต่อแล้ว
- forwarded_replies_explanation: รายงานนี้มาจากผู้ใช้ระยะไกล และเป็นรายงานเกี่ยวกับเนื้อหาระยะไกล ซึ่งถูกส่งต่อมาหาคุณเนื่องจากเนื้อหาที่ถูกรายงานอยู่ในการตอบกลับไปยังหนึ่งในผู้ใช้ของคุณ
+ forwarded_replies_explanation: รายงานนี้มาจากผู้ใช้ระยะไกลและเกี่ยวกับเนื้อหาระยะไกล มีการส่งต่อรายงานไปยังคุณเนื่องจากเนื้อหาที่รายงานอยู่ในการตอบกลับหนึ่งในผู้ใช้ของคุณ
forwarded_to: ส่งต่อไปยัง %{domain} แล้ว
mark_as_resolved: ทำเครื่องหมายว่าแก้ปัญหาแล้ว
mark_as_sensitive: ทำเครื่องหมายว่าละเอียดอ่อน
@@ -1557,7 +1557,7 @@ th:
over_total_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} แล้ว
too_soon: วันที่จัดกำหนดการต้องอยู่ในอนาคต
self_destruct:
- lead_html: น่าเสียดาย %{domain} กำลังปิดตัวลงอย่างถาวร หากคุณมีบัญชีที่นั่น คุณจะไม่สามารถใช้บัญชีต่อไปได้ แต่คุณยังสามารถขอข้อมูลสำรองของข้อมูลของคุณ
+ lead_html: น่าเสียดาย %{domain} กำลังปิดตัวลงอย่างถาวร หากคุณมีบัญชีที่นั่น คุณจะไม่สามารถใช้บัญชีต่อไปได้ แต่คุณยังคงสามารถขอข้อมูลสำรองของข้อมูลของคุณ
title: เซิร์ฟเวอร์นี้กำลังปิดตัวลง
sessions:
activity: กิจกรรมล่าสุด
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 9d4d95a838..5882eae317 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -611,6 +611,7 @@ tr:
created_at: Şikayet edildi
delete_and_resolve: Gönderileri sil
forwarded: İletildi
+ forwarded_replies_explanation: Bu bildirim başka bir sunucudaki kullanıcı ve içerik ile ilgili. Bildirilen içerik kullanıcılarınızdan birine yanıt şeklinde olduğu için size yönlendirildi.
forwarded_to: "%{domain}'e iletildi"
mark_as_resolved: Giderildi olarak işaretle
mark_as_sensitive: Hassas olarak işaretle
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 9d90d1d516..0cd9e0e17e 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -599,6 +599,7 @@ vi:
created_at: Báo cáo lúc
delete_and_resolve: Xóa tút
forwarded: Chuyển tiếp
+ forwarded_replies_explanation: Báo cáo này từ người dùng ở một máy chủ khác và về nội dung ở một máy chủ khác. Nó được chuyển tiếp tới bạn vì nội dung bị báo cáo là lượt trả lời cho một trong những người dùng của bạn.
forwarded_to: Chuyển tiếp tới %{domain}
mark_as_resolved: Xử lý xong
mark_as_sensitive: Đánh dấu nhạy cảm
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index b98193065b..b788b53e15 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -599,6 +599,7 @@ zh-CN:
created_at: 举报时间
delete_and_resolve: 删除嘟文
forwarded: 已转发
+ forwarded_replies_explanation: 该举报来自外站用户,涉及外站内容。之所以转发给您,是因为被举报的内容是对您站点一位用户的回复。
forwarded_to: 转发举报至 %{domain}
mark_as_resolved: 标记为已处理
mark_as_sensitive: 标记为敏感内容
diff --git a/lib/tasks/spec.rake b/lib/tasks/spec.rake
index ec4cd39bf4..8f2cbeea35 100644
--- a/lib/tasks/spec.rake
+++ b/lib/tasks/spec.rake
@@ -9,13 +9,3 @@ if Rake::Task.task_defined?('spec:system')
Rake::Task['spec:system'].enhance ['spec:enable_system_specs']
end
-
-if Rake::Task.task_defined?('spec:search')
- namespace :spec do
- task :enable_search_specs do # rubocop:disable Rails/RakeEnvironment
- ENV['RUN_SEARCH_SPECS'] = 'true'
- end
- end
-
- Rake::Task['spec:search'].enhance ['spec:enable_search_specs']
-end
diff --git a/spec/mailers/admin_mailer_spec.rb b/spec/mailers/admin_mailer_spec.rb
index 423dce88ab..9f0d899963 100644
--- a/spec/mailers/admin_mailer_spec.rb
+++ b/spec/mailers/admin_mailer_spec.rb
@@ -13,14 +13,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
- it 'renders the headers' do
- expect(mail.subject).to eq("New report for cb6e6126.ngrok.io (##{report.id})")
- expect(mail.to).to eq [recipient.user_email]
- expect(mail.from).to eq ['notifications@localhost']
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to eq("Mike,\r\n\r\nJohn has reported Mike\r\n\r\nView: https://cb6e6126.ngrok.io/admin/reports/#{report.id}\r\n")
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(deliver_to(recipient.user_email))
+ .and(deliver_from('notifications@localhost'))
+ .and(have_subject("New report for cb6e6126.ngrok.io (##{report.id})"))
+ .and(have_body_text("Mike,\r\n\r\nJohn has reported Mike\r\n\r\nView: https://cb6e6126.ngrok.io/admin/reports/#{report.id}\r\n"))
end
end
@@ -33,14 +32,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
- it 'renders the headers' do
- expect(mail.subject).to eq("#{appeal.account.username} is appealing a moderation decision on cb6e6126.ngrok.io")
- expect(mail.to).to eq [recipient.user_email]
- expect(mail.from).to eq ['notifications@localhost']
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match "#{appeal.account.username} is appealing a moderation decision by #{appeal.strike.account.username}"
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(deliver_to(recipient.user_email))
+ .and(deliver_from('notifications@localhost'))
+ .and(have_subject("#{appeal.account.username} is appealing a moderation decision on cb6e6126.ngrok.io"))
+ .and(have_body_text("#{appeal.account.username} is appealing a moderation decision by #{appeal.strike.account.username}"))
end
end
@@ -53,14 +51,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
- it 'renders the headers' do
- expect(mail.subject).to eq("New account up for review on cb6e6126.ngrok.io (#{user.account.username})")
- expect(mail.to).to eq [recipient.user_email]
- expect(mail.from).to eq ['notifications@localhost']
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match 'The details of the new account are below. You can approve or reject this application.'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(deliver_to(recipient.user_email))
+ .and(deliver_from('notifications@localhost'))
+ .and(have_subject("New account up for review on cb6e6126.ngrok.io (#{user.account.username})"))
+ .and(have_body_text('The details of the new account are below. You can approve or reject this application.'))
end
end
@@ -75,14 +72,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
- it 'renders the headers' do
- expect(mail.subject).to eq('New trends up for review on cb6e6126.ngrok.io')
- expect(mail.to).to eq [recipient.user_email]
- expect(mail.from).to eq ['notifications@localhost']
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match 'The following items need a review before they can be displayed publicly'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(deliver_to(recipient.user_email))
+ .and(deliver_from('notifications@localhost'))
+ .and(have_subject('New trends up for review on cb6e6126.ngrok.io'))
+ .and(have_body_text('The following items need a review before they can be displayed publicly'))
end
end
@@ -94,14 +90,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
- it 'renders the headers' do
- expect(mail.subject).to eq('New Mastodon versions are available for cb6e6126.ngrok.io!')
- expect(mail.to).to eq [recipient.user_email]
- expect(mail.from).to eq ['notifications@localhost']
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match 'New Mastodon versions have been released, you may want to update!'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(deliver_to(recipient.user_email))
+ .and(deliver_from('notifications@localhost'))
+ .and(have_subject('New Mastodon versions are available for cb6e6126.ngrok.io!'))
+ .and(have_body_text('New Mastodon versions have been released, you may want to update!'))
end
end
@@ -113,18 +108,16 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
- it 'renders the headers', :aggregate_failures do
- expect(mail.subject).to eq('Critical Mastodon updates are available for cb6e6126.ngrok.io!')
- expect(mail.to).to eq [recipient.user_email]
- expect(mail.from).to eq ['notifications@localhost']
-
- expect(mail['Importance'].value).to eq 'high'
- expect(mail['Priority'].value).to eq 'urgent'
- expect(mail['X-Priority'].value).to eq '1'
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match 'New critical versions of Mastodon have been released, you may want to update as soon as possible!'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(deliver_to(recipient.user_email))
+ .and(deliver_from('notifications@localhost'))
+ .and(have_subject('Critical Mastodon updates are available for cb6e6126.ngrok.io!'))
+ .and(have_body_text('New critical versions of Mastodon have been released, you may want to update as soon as possible!'))
+ .and(have_header('Importance', 'high'))
+ .and(have_header('Priority', 'urgent'))
+ .and(have_header('X-Priority', '1'))
end
end
end
diff --git a/spec/mailers/notification_mailer_spec.rb b/spec/mailers/notification_mailer_spec.rb
index 78a497c06b..eab196166d 100644
--- a/spec/mailers/notification_mailer_spec.rb
+++ b/spec/mailers/notification_mailer_spec.rb
@@ -8,24 +8,27 @@ RSpec.describe NotificationMailer do
let(:foreign_status) { Fabricate(:status, account: sender, text: 'The body of the foreign status') }
let(:own_status) { Fabricate(:status, account: receiver.account, text: 'The body of the own status') }
- shared_examples 'headers' do |type, thread|
- it 'renders the to and from headers' do
- expect(mail[:to].value).to eq "#{receiver.account.username} <#{receiver.email}>"
- expect(mail.from).to eq ['notifications@localhost']
+ shared_examples 'standard headers' do |type|
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(have_header('To', "#{receiver.account.username} <#{receiver.email}>"))
+ .and(have_header('List-ID', "<#{type}.alice.cb6e6126.ngrok.io>"))
+ .and(have_header('List-Unsubscribe', %r{}))
+ .and(have_header('List-Unsubscribe', /&type=#{type}/))
+ .and(have_header('List-Unsubscribe-Post', 'List-Unsubscribe=One-Click'))
+ .and(deliver_to("#{receiver.account.username} <#{receiver.email}>"))
+ .and(deliver_from('notifications@localhost'))
end
+ end
- it 'renders the list headers' do
- expect(mail['List-ID'].value).to eq "<#{type}.alice.cb6e6126.ngrok.io>"
- expect(mail['List-Unsubscribe'].value).to match(%r{})
- expect(mail['List-Unsubscribe'].value).to match("&type=#{type}")
- expect(mail['List-Unsubscribe-Post'].value).to eq 'List-Unsubscribe=One-Click'
- end
-
- if thread
- it 'renders the thread headers' do
- expect(mail['In-Reply-To'].value).to match(//)
- expect(mail['References'].value).to match(//)
- end
+ shared_examples 'thread headers' do
+ it 'renders the email with conversation thread headers' do
+ conversation_header_regex = //
+ expect(mail)
+ .to be_present
+ .and(have_header('In-Reply-To', conversation_header_regex))
+ .and(have_header('References', conversation_header_regex))
end
end
@@ -35,15 +38,15 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(receiver.account).mention }
include_examples 'localized subject', 'notification_mailer.mention.subject', name: 'bob'
- include_examples 'headers', 'mention', true
+ include_examples 'standard headers', 'mention'
+ include_examples 'thread headers'
- it 'renders the subject' do
- expect(mail.subject).to eq('You were mentioned by bob')
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match('You were mentioned by bob')
- expect(mail.body.encoded).to include 'The body of the foreign status'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(have_subject('You were mentioned by bob'))
+ .and(have_body_text('You were mentioned by bob'))
+ .and(have_body_text('The body of the foreign status'))
end
end
@@ -53,14 +56,13 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(receiver.account).follow }
include_examples 'localized subject', 'notification_mailer.follow.subject', name: 'bob'
- include_examples 'headers', 'follow', false
+ include_examples 'standard headers', 'follow'
- it 'renders the subject' do
- expect(mail.subject).to eq('bob is now following you')
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match('bob is now following you')
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(have_subject('bob is now following you'))
+ .and(have_body_text('bob is now following you'))
end
end
@@ -70,15 +72,15 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(own_status.account).favourite }
include_examples 'localized subject', 'notification_mailer.favourite.subject', name: 'bob'
- include_examples 'headers', 'favourite', true
+ include_examples 'standard headers', 'favourite'
+ include_examples 'thread headers'
- it 'renders the subject' do
- expect(mail.subject).to eq('bob favorited your post')
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match('Your post was favorited by bob')
- expect(mail.body.encoded).to include 'The body of the own status'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(have_subject('bob favorited your post'))
+ .and(have_body_text('Your post was favorited by bob'))
+ .and(have_body_text('The body of the own status'))
end
end
@@ -88,15 +90,15 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(own_status.account).reblog }
include_examples 'localized subject', 'notification_mailer.reblog.subject', name: 'bob'
- include_examples 'headers', 'reblog', true
+ include_examples 'standard headers', 'reblog'
+ include_examples 'thread headers'
- it 'renders the subject' do
- expect(mail.subject).to eq('bob boosted your post')
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match('Your post was boosted by bob')
- expect(mail.body.encoded).to include 'The body of the own status'
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(have_subject('bob boosted your post'))
+ .and(have_body_text('Your post was boosted by bob'))
+ .and(have_body_text('The body of the own status'))
end
end
@@ -106,14 +108,13 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(receiver.account).follow_request }
include_examples 'localized subject', 'notification_mailer.follow_request.subject', name: 'bob'
- include_examples 'headers', 'follow_request', false
+ include_examples 'standard headers', 'follow_request'
- it 'renders the subject' do
- expect(mail.subject).to eq('Pending follower: bob')
- end
-
- it 'renders the body' do
- expect(mail.body.encoded).to match('bob has requested to follow you')
+ it 'renders the email' do
+ expect(mail)
+ .to be_present
+ .and(have_subject('Pending follower: bob'))
+ .and(have_body_text('bob has requested to follow you'))
end
end
diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb
index c661f5bbda..4a43928248 100644
--- a/spec/mailers/user_mailer_spec.rb
+++ b/spec/mailers/user_mailer_spec.rb
@@ -10,9 +10,12 @@ describe UserMailer do
it 'renders confirmation instructions' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('devise.mailer.confirmation_instructions.title')
- expect(mail.body.encoded).to include 'spec'
- expect(mail.body.encoded).to include Rails.configuration.x.local_domain
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('devise.mailer.confirmation_instructions.title')))
+ .and(have_body_text('spec'))
+ .and(have_body_text(Rails.configuration.x.local_domain))
end
include_examples 'localized subject',
@@ -25,13 +28,17 @@ describe UserMailer do
it 'renders reconfirmation instructions' do
receiver.update!(email: 'new-email@example.com', locale: nil)
- expect(mail.body.encoded).to include I18n.t('devise.mailer.reconfirmation_instructions.title')
- expect(mail.body.encoded).to include 'spec'
- expect(mail.body.encoded).to include Rails.configuration.x.local_domain
- expect(mail.subject).to eq I18n.t('devise.mailer.reconfirmation_instructions.subject',
- instance: Rails.configuration.x.local_domain,
- locale: I18n.default_locale)
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('devise.mailer.reconfirmation_instructions.title')))
+ .and(have_body_text('spec'))
+ .and(have_body_text(Rails.configuration.x.local_domain))
end
+
+ include_examples 'localized subject',
+ 'devise.mailer.confirmation_instructions.subject',
+ instance: Rails.configuration.x.local_domain
end
describe '#reset_password_instructions' do
@@ -39,8 +46,11 @@ describe UserMailer do
it 'renders reset password instructions' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('devise.mailer.reset_password_instructions.title')
- expect(mail.body.encoded).to include 'spec'
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('devise.mailer.reset_password_instructions.title')))
+ .and(have_body_text('spec'))
end
include_examples 'localized subject',
@@ -52,7 +62,10 @@ describe UserMailer do
it 'renders password change notification' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('devise.mailer.password_change.title')
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('devise.mailer.password_change.title')))
end
include_examples 'localized subject',
@@ -64,7 +77,10 @@ describe UserMailer do
it 'renders email change notification' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('devise.mailer.email_changed.title')
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('devise.mailer.email_changed.title')))
end
include_examples 'localized subject',
@@ -77,8 +93,11 @@ describe UserMailer do
it 'renders warning notification' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('user_mailer.warning.title.suspend', acct: receiver.account.acct)
- expect(mail.body.encoded).to include strike.text
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('user_mailer.warning.title.suspend', acct: receiver.account.acct)))
+ .and(have_body_text(strike.text))
end
end
@@ -88,7 +107,10 @@ describe UserMailer do
it 'renders webauthn credential deleted notification' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_credential.deleted.title')
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('devise.mailer.webauthn_credential.deleted.title')))
end
include_examples 'localized subject',
@@ -103,7 +125,10 @@ describe UserMailer do
it 'renders suspicious sign in notification' do
receiver.update!(locale: nil)
- expect(mail.body.encoded).to include I18n.t('user_mailer.suspicious_sign_in.explanation')
+
+ expect(mail)
+ .to be_present
+ .and(have_body_text(I18n.t('user_mailer.suspicious_sign_in.explanation')))
end
include_examples 'localized subject',
@@ -115,8 +140,10 @@ describe UserMailer do
let(:mail) { described_class.appeal_approved(receiver, appeal) }
it 'renders appeal_approved notification' do
- expect(mail.subject).to eq I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at))
- expect(mail.body.encoded).to include I18n.t('user_mailer.appeal_approved.title')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at))))
+ .and(have_body_text(I18n.t('user_mailer.appeal_approved.title')))
end
end
@@ -125,8 +152,10 @@ describe UserMailer do
let(:mail) { described_class.appeal_rejected(receiver, appeal) }
it 'renders appeal_rejected notification' do
- expect(mail.subject).to eq I18n.t('user_mailer.appeal_rejected.subject', date: I18n.l(appeal.created_at))
- expect(mail.body.encoded).to include I18n.t('user_mailer.appeal_rejected.title')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('user_mailer.appeal_rejected.subject', date: I18n.l(appeal.created_at))))
+ .and(have_body_text(I18n.t('user_mailer.appeal_rejected.title')))
end
end
@@ -134,8 +163,10 @@ describe UserMailer do
let(:mail) { described_class.two_factor_enabled(receiver) }
it 'renders two_factor_enabled mail' do
- expect(mail.subject).to eq I18n.t('devise.mailer.two_factor_enabled.subject')
- expect(mail.body.encoded).to include I18n.t('devise.mailer.two_factor_enabled.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('devise.mailer.two_factor_enabled.subject')))
+ .and(have_body_text(I18n.t('devise.mailer.two_factor_enabled.explanation')))
end
end
@@ -143,8 +174,10 @@ describe UserMailer do
let(:mail) { described_class.two_factor_disabled(receiver) }
it 'renders two_factor_disabled mail' do
- expect(mail.subject).to eq I18n.t('devise.mailer.two_factor_disabled.subject')
- expect(mail.body.encoded).to include I18n.t('devise.mailer.two_factor_disabled.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('devise.mailer.two_factor_disabled.subject')))
+ .and(have_body_text(I18n.t('devise.mailer.two_factor_disabled.explanation')))
end
end
@@ -152,8 +185,10 @@ describe UserMailer do
let(:mail) { described_class.webauthn_enabled(receiver) }
it 'renders webauthn_enabled mail' do
- expect(mail.subject).to eq I18n.t('devise.mailer.webauthn_enabled.subject')
- expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_enabled.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('devise.mailer.webauthn_enabled.subject')))
+ .and(have_body_text(I18n.t('devise.mailer.webauthn_enabled.explanation')))
end
end
@@ -161,8 +196,10 @@ describe UserMailer do
let(:mail) { described_class.webauthn_disabled(receiver) }
it 'renders webauthn_disabled mail' do
- expect(mail.subject).to eq I18n.t('devise.mailer.webauthn_disabled.subject')
- expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_disabled.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('devise.mailer.webauthn_disabled.subject')))
+ .and(have_body_text(I18n.t('devise.mailer.webauthn_disabled.explanation')))
end
end
@@ -170,8 +207,10 @@ describe UserMailer do
let(:mail) { described_class.two_factor_recovery_codes_changed(receiver) }
it 'renders two_factor_recovery_codes_changed mail' do
- expect(mail.subject).to eq I18n.t('devise.mailer.two_factor_recovery_codes_changed.subject')
- expect(mail.body.encoded).to include I18n.t('devise.mailer.two_factor_recovery_codes_changed.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('devise.mailer.two_factor_recovery_codes_changed.subject')))
+ .and(have_body_text(I18n.t('devise.mailer.two_factor_recovery_codes_changed.explanation')))
end
end
@@ -180,8 +219,10 @@ describe UserMailer do
let(:mail) { described_class.webauthn_credential_added(receiver, credential) }
it 'renders webauthn_credential_added mail' do
- expect(mail.subject).to eq I18n.t('devise.mailer.webauthn_credential.added.subject')
- expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_credential.added.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('devise.mailer.webauthn_credential.added.subject')))
+ .and(have_body_text(I18n.t('devise.mailer.webauthn_credential.added.explanation')))
end
end
@@ -189,8 +230,10 @@ describe UserMailer do
let(:mail) { described_class.welcome(receiver) }
it 'renders welcome mail' do
- expect(mail.subject).to eq I18n.t('user_mailer.welcome.subject')
- expect(mail.body.encoded).to include I18n.t('user_mailer.welcome.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('user_mailer.welcome.subject')))
+ .and(have_body_text(I18n.t('user_mailer.welcome.explanation')))
end
end
@@ -199,8 +242,10 @@ describe UserMailer do
let(:mail) { described_class.backup_ready(receiver, backup) }
it 'renders backup_ready mail' do
- expect(mail.subject).to eq I18n.t('user_mailer.backup_ready.subject')
- expect(mail.body.encoded).to include I18n.t('user_mailer.backup_ready.explanation')
+ expect(mail)
+ .to be_present
+ .and(have_subject(I18n.t('user_mailer.backup_ready.subject')))
+ .and(have_body_text(I18n.t('user_mailer.backup_ready.explanation')))
end
end
end
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 79f98f2e22..7deab6c7f1 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -4,7 +4,6 @@ ENV['RAILS_ENV'] ||= 'test'
# This needs to be defined before Rails is initialized
RUN_SYSTEM_SPECS = ENV.fetch('RUN_SYSTEM_SPECS', false)
-RUN_SEARCH_SPECS = ENV.fetch('RUN_SEARCH_SPECS', false)
if RUN_SYSTEM_SPECS
STREAMING_PORT = ENV.fetch('TEST_STREAMING_PORT', '4020')
@@ -21,6 +20,7 @@ require 'webmock/rspec'
require 'paperclip/matchers'
require 'capybara/rspec'
require 'chewy/rspec'
+require 'email_spec/rspec'
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
@@ -54,20 +54,28 @@ RSpec.configure do |config|
case type
when :system
!RUN_SYSTEM_SPECS
- when :search
- !RUN_SEARCH_SPECS
end
}
+
+ # By default, skip the elastic search integration specs
+ config.filter_run_excluding search: true
+
config.fixture_path = Rails.root.join('spec', 'fixtures')
config.use_transactional_fixtures = true
config.order = 'random'
config.infer_spec_type_from_file_location!
config.filter_rails_from_backtrace!
+ # Set type to `cli` for all CLI specs
config.define_derived_metadata(file_path: Regexp.new('spec/lib/mastodon/cli')) do |metadata|
metadata[:type] = :cli
end
+ # Set `search` metadata true for all specs in spec/search/
+ config.define_derived_metadata(file_path: Regexp.new('spec/search/*')) do |metadata|
+ metadata[:search] = true
+ end
+
config.include Devise::Test::ControllerHelpers, type: :controller
config.include Devise::Test::ControllerHelpers, type: :helper
config.include Devise::Test::ControllerHelpers, type: :view
diff --git a/spec/requests/api/v1/accounts_show_spec.rb b/spec/requests/api/v1/accounts_show_spec.rb
deleted file mode 100644
index ee6e925aa9..0000000000
--- a/spec/requests/api/v1/accounts_show_spec.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-describe 'GET /api/v1/accounts/{account_id}' do
- it 'returns account entity as 200 OK' do
- account = Fabricate(:account)
-
- get "/api/v1/accounts/#{account.id}"
-
- aggregate_failures do
- expect(response).to have_http_status(200)
- expect(body_as_json[:id]).to eq(account.id.to_s)
- end
- end
-
- it 'returns 404 if account not found' do
- get '/api/v1/accounts/1'
-
- aggregate_failures do
- expect(response).to have_http_status(404)
- expect(body_as_json[:error]).to eq('Record not found')
- end
- end
-
- context 'when with token' do
- it 'returns account entity as 200 OK if token is valid' do
- account = Fabricate(:account)
- user = Fabricate(:user, account: account)
- token = Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts').token
-
- get "/api/v1/accounts/#{account.id}", headers: { Authorization: "Bearer #{token}" }
-
- aggregate_failures do
- expect(response).to have_http_status(200)
- expect(body_as_json[:id]).to eq(account.id.to_s)
- end
- end
-
- it 'returns 403 if scope of token is invalid' do
- account = Fabricate(:account)
- user = Fabricate(:user, account: account)
- token = Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'write:statuses').token
-
- get "/api/v1/accounts/#{account.id}", headers: { Authorization: "Bearer #{token}" }
-
- aggregate_failures do
- expect(response).to have_http_status(403)
- expect(body_as_json[:error]).to eq('This action is outside the authorized scopes')
- end
- end
- end
-end
diff --git a/spec/controllers/api/v1/accounts_controller_spec.rb b/spec/requests/api/v1/accounts_spec.rb
similarity index 59%
rename from spec/controllers/api/v1/accounts_controller_spec.rb
rename to spec/requests/api/v1/accounts_spec.rb
index 9d0bb73c7c..e543c41360 100644
--- a/spec/controllers/api/v1/accounts_controller_spec.rb
+++ b/spec/requests/api/v1/accounts_spec.rb
@@ -2,59 +2,100 @@
require 'rails_helper'
-RSpec.describe Api::V1::AccountsController do
- render_views
+describe '/api/v1/accounts' do
+ let(:user) { Fabricate(:user) }
+ let(:scopes) { '' }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- let(:user) { Fabricate(:user) }
- let(:scopes) { '' }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ describe 'GET /api/v1/accounts/:id' do
+ context 'when logged out' do
+ let(:account) { Fabricate(:account) }
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
+ it 'returns account entity as 200 OK', :aggregate_failures do
+ get "/api/v1/accounts/#{account.id}"
+
+ expect(response).to have_http_status(200)
+ expect(body_as_json[:id]).to eq(account.id.to_s)
+ end
+ end
+
+ context 'when the account does not exist' do
+ it 'returns http not found' do
+ get '/api/v1/accounts/1'
+
+ expect(response).to have_http_status(404)
+ expect(body_as_json[:error]).to eq('Record not found')
+ end
+ end
+
+ context 'when logged in' do
+ subject do
+ get "/api/v1/accounts/#{account.id}", headers: headers
+ end
+
+ let(:account) { Fabricate(:account) }
+ let(:scopes) { 'read:accounts' }
+
+ it 'returns account entity as 200 OK', :aggregate_failures do
+ subject
+
+ expect(response).to have_http_status(200)
+ expect(body_as_json[:id]).to eq(account.id.to_s)
+ end
+
+ it_behaves_like 'forbidden for wrong scope', 'write:statuses'
+ end
end
- describe 'POST #create' do
- let(:app) { Fabricate(:application) }
- let(:token) { Doorkeeper::AccessToken.find_or_create_for(application: app, resource_owner: nil, scopes: 'read write', use_refresh_token: false) }
- let(:agreement) { nil }
-
- before do
- post :create, params: { username: 'test', password: '12345678', email: 'hello@world.tld', agreement: agreement }
+ describe 'POST /api/v1/accounts' do
+ subject do
+ post '/api/v1/accounts', headers: headers, params: { username: 'test', password: '12345678', email: 'hello@world.tld', agreement: agreement }
end
+ let(:client_app) { Fabricate(:application) }
+ let(:token) { Doorkeeper::AccessToken.find_or_create_for(application: client_app, resource_owner: nil, scopes: 'read write', use_refresh_token: false) }
+ let(:agreement) { nil }
+
context 'when given truthy agreement' do
let(:agreement) { 'true' }
it 'creates a user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(body_as_json[:access_token]).to_not be_blank
user = User.find_by(email: 'hello@world.tld')
expect(user).to_not be_nil
- expect(user.created_by_application_id).to eq app.id
+ expect(user.created_by_application_id).to eq client_app.id
end
end
context 'when given no agreement' do
it 'returns http unprocessable entity' do
+ subject
+
expect(response).to have_http_status(422)
end
end
end
- describe 'POST #follow' do
+ describe 'POST /api/v1/accounts/:id/follow' do
let(:scopes) { 'write:follows' }
let(:other_account) { Fabricate(:account, username: 'bob', locked: locked) }
context 'when posting to an other account' do
- before do
- post :follow, params: { id: other_account.id }
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/follow", headers: headers
end
context 'with unlocked account' do
let(:locked) { false }
it 'creates a following relation between user and target user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
json = body_as_json
@@ -72,6 +113,8 @@ RSpec.describe Api::V1::AccountsController do
let(:locked) { true }
it 'creates a follow request relation between user and target user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
json = body_as_json
@@ -94,48 +137,53 @@ RSpec.describe Api::V1::AccountsController do
end
it 'changes reblogs option' do
- post :follow, params: { id: other_account.id, reblogs: true }
+ post "/api/v1/accounts/#{other_account.id}/follow", headers: headers, params: { reblogs: true }
- json = body_as_json
-
- expect(json[:following]).to be true
- expect(json[:showing_reblogs]).to be true
- expect(json[:notifying]).to be false
+ expect(body_as_json).to include({
+ following: true,
+ showing_reblogs: true,
+ notifying: false,
+ })
end
it 'changes notify option' do
- post :follow, params: { id: other_account.id, notify: true }
+ post "/api/v1/accounts/#{other_account.id}/follow", headers: headers, params: { notify: true }
- json = body_as_json
-
- expect(json[:following]).to be true
- expect(json[:showing_reblogs]).to be false
- expect(json[:notifying]).to be true
+ expect(body_as_json).to include({
+ following: true,
+ showing_reblogs: false,
+ notifying: true,
+ })
end
it 'changes languages option' do
- post :follow, params: { id: other_account.id, languages: %w(en es) }
+ post "/api/v1/accounts/#{other_account.id}/follow", headers: headers, params: { languages: %w(en es) }
- json = body_as_json
-
- expect(json[:following]).to be true
- expect(json[:showing_reblogs]).to be false
- expect(json[:notifying]).to be false
- expect(json[:languages]).to match_array %w(en es)
+ expect(body_as_json).to include({
+ following: true,
+ showing_reblogs: false,
+ notifying: false,
+ languages: match_array(%w(en es)),
+ })
end
end
end
- describe 'POST #unfollow' do
+ describe 'POST /api/v1/accounts/:id/unfollow' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/unfollow", headers: headers
+ end
+
let(:scopes) { 'write:follows' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
- post :unfollow, params: { id: other_account.id }
end
it 'removes the following relation between user and target user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be false
end
@@ -143,16 +191,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #remove_from_followers' do
+ describe 'POST /api/v1/accounts/:id/remove_from_followers' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/remove_from_followers", headers: headers
+ end
+
let(:scopes) { 'write:follows' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
other_account.follow!(user.account)
- post :remove_from_followers, params: { id: other_account.id }
end
it 'removes the followed relation between user and target user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.followed_by?(other_account)).to be false
end
@@ -160,16 +213,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #block' do
+ describe 'POST /api/v1/accounts/:id/block' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/block", headers: headers
+ end
+
let(:scopes) { 'write:blocks' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
- post :block, params: { id: other_account.id }
end
it 'creates a blocking relation', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be false
expect(user.account.blocking?(other_account)).to be true
@@ -178,16 +236,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #unblock' do
+ describe 'POST /api/v1/accounts/:id/unblock' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/unblock", headers: headers
+ end
+
let(:scopes) { 'write:blocks' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.block!(other_account)
- post :unblock, params: { id: other_account.id }
end
it 'removes the blocking relation between user and target user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.blocking?(other_account)).to be false
end
@@ -195,16 +258,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #mute' do
+ describe 'POST /api/v1/accounts/:id/mute' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/mute", headers: headers
+ end
+
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
- post :mute, params: { id: other_account.id }
end
it 'mutes notifications', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be true
expect(user.account.muting?(other_account)).to be true
@@ -214,16 +282,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #mute with notifications set to false' do
+ describe 'POST /api/v1/accounts/:id/mute with notifications set to false' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/mute", headers: headers, params: { notifications: false }
+ end
+
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
- post :mute, params: { id: other_account.id, notifications: false }
end
it 'does not mute notifications', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be true
expect(user.account.muting?(other_account)).to be true
@@ -233,16 +306,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #mute with nonzero duration set' do
+ describe 'POST /api/v1/accounts/:id/mute with nonzero duration set' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/mute", headers: headers, params: { duration: 300 }
+ end
+
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
- post :mute, params: { id: other_account.id, duration: 300 }
end
it 'mutes notifications', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be true
expect(user.account.muting?(other_account)).to be true
@@ -252,16 +330,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
- describe 'POST #unmute' do
+ describe 'POST /api/v1/accounts/:id/unmute' do
+ subject do
+ post "/api/v1/accounts/#{other_account.id}/unmute", headers: headers
+ end
+
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.mute!(other_account)
- post :unmute, params: { id: other_account.id }
end
it 'removes the muting relation between user and target user', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(user.account.muting?(other_account)).to be false
end
diff --git a/spec/requests/api/v1/admin/account_actions_spec.rb b/spec/requests/api/v1/admin/account_actions_spec.rb
index bdf1f08e43..c14e08c21c 100644
--- a/spec/requests/api/v1/admin/account_actions_spec.rb
+++ b/spec/requests/api/v1/admin/account_actions_spec.rb
@@ -8,18 +8,12 @@ RSpec.describe 'Account actions' do
let(:scopes) { 'admin:write admin:write:accounts' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
- let(:mailer) { instance_double(ActionMailer::MessageDelivery, deliver_later!: nil) }
-
- before do
- allow(UserMailer).to receive(:warning).with(target_account.user, anything).and_return(mailer)
- end
shared_examples 'a successful notification delivery' do
it 'notifies the user about the action taken' do
- subject
-
- expect(UserMailer).to have_received(:warning).with(target_account.user, anything).once
- expect(mailer).to have_received(:deliver_later!).once
+ expect { subject }
+ .to have_enqueued_job(ActionMailer::MailDeliveryJob)
+ .with('UserMailer', 'warning', 'deliver_now!', args: [User, AccountWarning])
end
end
diff --git a/spec/controllers/api/v1/statuses_controller_spec.rb b/spec/requests/api/v1/statuses_spec.rb
similarity index 69%
rename from spec/controllers/api/v1/statuses_controller_spec.rb
rename to spec/requests/api/v1/statuses_spec.rb
index 30bafe19ac..1b2dd2b5d7 100644
--- a/spec/controllers/api/v1/statuses_controller_spec.rb
+++ b/spec/requests/api/v1/statuses_spec.rb
@@ -2,24 +2,26 @@
require 'rails_helper'
-RSpec.describe Api::V1::StatusesController do
- render_views
-
- let(:user) { Fabricate(:user) }
- let(:app) { Fabricate(:application, name: 'Test app', website: 'http://testapp.com') }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, application: app, scopes: scopes) }
-
+describe '/api/v1/statuses' do
context 'with an oauth token' do
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
+ let(:user) { Fabricate(:user) }
+ let(:client_app) { Fabricate(:application, name: 'Test app', website: 'http://testapp.com') }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, application: client_app, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
+
+ describe 'GET /api/v1/statuses/:id' do
+ subject do
+ get "/api/v1/statuses/#{status.id}", headers: headers
+ end
- describe 'GET #show' do
let(:scopes) { 'read:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
+ it_behaves_like 'forbidden for wrong scope', 'write write:statuses'
+
it 'returns http success' do
- get :show, params: { id: status.id }
+ subject
+
expect(response).to have_http_status(200)
end
@@ -31,11 +33,10 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns filter information', :aggregate_failures do
- get :show, params: { id: status.id }
- json = body_as_json
+ subject
expect(response).to have_http_status(200)
- expect(json[:filtered][0]).to include({
+ expect(body_as_json[:filtered][0]).to include({
filter: a_hash_including({
id: user.account.custom_filters.first.id.to_s,
title: 'filter1',
@@ -55,11 +56,10 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns filter information', :aggregate_failures do
- get :show, params: { id: status.id }
- json = body_as_json
+ subject
expect(response).to have_http_status(200)
- expect(json[:filtered][0]).to include({
+ expect(body_as_json[:filtered][0]).to include({
filter: a_hash_including({
id: user.account.custom_filters.first.id.to_s,
title: 'filter1',
@@ -78,11 +78,10 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns filter information', :aggregate_failures do
- get :show, params: { id: status.id }
- json = body_as_json
+ subject
expect(response).to have_http_status(200)
- expect(json[:reblog][:filtered][0]).to include({
+ expect(body_as_json[:reblog][:filtered][0]).to include({
filter: a_hash_including({
id: user.account.custom_filters.first.id.to_s,
title: 'filter1',
@@ -94,7 +93,7 @@ RSpec.describe Api::V1::StatusesController do
end
end
- describe 'GET #context' do
+ describe 'GET /api/v1/statuses/:id/context' do
let(:scopes) { 'read:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
@@ -103,20 +102,26 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns http success' do
- get :context, params: { id: status.id }
+ get "/api/v1/statuses/#{status.id}/context", headers: headers
+
expect(response).to have_http_status(200)
end
end
- describe 'POST #create' do
+ describe 'POST /api/v1/statuses' do
+ subject do
+ post '/api/v1/statuses', headers: headers, params: params
+ end
+
let(:scopes) { 'write:statuses' }
+ let(:params) { { status: 'Hello world' } }
+
+ it_behaves_like 'forbidden for wrong scope', 'read read:statuses'
context 'with a basic status body' do
- before do
- post :create, params: { status: 'Hello world' }
- end
-
it 'returns rate limit headers', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
expect(response.headers['X-RateLimit-Remaining']).to eq (RateLimiter::FAMILIES[:statuses][:limit] - 1).to_s
@@ -127,22 +132,22 @@ RSpec.describe Api::V1::StatusesController do
let!(:alice) { Fabricate(:account, username: 'alice') }
let!(:bob) { Fabricate(:account, username: 'bob') }
- before do
- post :create, params: { status: '@alice hm, @bob is really annoying lately', allowed_mentions: [alice.id] }
- end
+ let(:params) { { status: '@alice hm, @bob is really annoying lately', allowed_mentions: [alice.id] } }
it 'returns serialized extra accounts in body', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(422)
expect(body_as_json[:unexpected_accounts].map { |a| a.slice(:id, :acct) }).to eq [{ id: bob.id.to_s, acct: bob.acct }]
end
end
context 'with missing parameters' do
- before do
- post :create, params: {}
- end
+ let(:params) { {} }
it 'returns rate limit headers', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(422)
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
end
@@ -152,10 +157,11 @@ RSpec.describe Api::V1::StatusesController do
before do
rate_limiter = RateLimiter.new(user.account, family: :statuses)
300.times { rate_limiter.record! }
- post :create, params: { status: 'Hello world' }
end
it 'returns rate limit headers', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(429)
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
expect(response.headers['X-RateLimit-Remaining']).to eq '0'
@@ -163,29 +169,37 @@ RSpec.describe Api::V1::StatusesController do
end
end
- describe 'DELETE #destroy' do
+ describe 'DELETE /api/v1/statuses/:id' do
+ subject do
+ delete "/api/v1/statuses/#{status.id}", headers: headers
+ end
+
let(:scopes) { 'write:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
- before do
- post :destroy, params: { id: status.id }
- end
+ it_behaves_like 'forbidden for wrong scope', 'read read:statuses'
it 'removes the status', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(Status.find_by(id: status.id)).to be_nil
end
end
- describe 'PUT #update' do
+ describe 'PUT /api/v1/statuses/:id' do
+ subject do
+ put "/api/v1/statuses/#{status.id}", headers: headers, params: { status: 'I am updated' }
+ end
+
let(:scopes) { 'write:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
- before do
- put :update, params: { id: status.id, status: 'I am updated' }
- end
+ it_behaves_like 'forbidden for wrong scope', 'read read:statuses'
it 'updates the status', :aggregate_failures do
+ subject
+
expect(response).to have_http_status(200)
expect(status.reload.text).to eq 'I am updated'
end
@@ -193,49 +207,49 @@ RSpec.describe Api::V1::StatusesController do
end
context 'without an oauth token' do
- before do
- allow(controller).to receive(:doorkeeper_token).and_return(nil)
- end
-
context 'with a private status' do
- let(:status) { Fabricate(:status, account: user.account, visibility: :private) }
+ let(:status) { Fabricate(:status, visibility: :private) }
- describe 'GET #show' do
+ describe 'GET /api/v1/statuses/:id' do
it 'returns http unauthorized' do
- get :show, params: { id: status.id }
+ get "/api/v1/statuses/#{status.id}"
+
expect(response).to have_http_status(404)
end
end
- describe 'GET #context' do
+ describe 'GET /api/v1/statuses/:id/context' do
before do
- Fabricate(:status, account: user.account, thread: status)
+ Fabricate(:status, thread: status)
end
it 'returns http unauthorized' do
- get :context, params: { id: status.id }
+ get "/api/v1/statuses/#{status.id}/context"
+
expect(response).to have_http_status(404)
end
end
end
context 'with a public status' do
- let(:status) { Fabricate(:status, account: user.account, visibility: :public) }
+ let(:status) { Fabricate(:status, visibility: :public) }
- describe 'GET #show' do
+ describe 'GET /api/v1/statuses/:id' do
it 'returns http success' do
- get :show, params: { id: status.id }
+ get "/api/v1/statuses/#{status.id}"
+
expect(response).to have_http_status(200)
end
end
- describe 'GET #context' do
+ describe 'GET /api/v1/statuses/:id/context' do
before do
- Fabricate(:status, account: user.account, thread: status)
+ Fabricate(:status, thread: status)
end
it 'returns http success' do
- get :context, params: { id: status.id }
+ get "/api/v1/statuses/#{status.id}/context"
+
expect(response).to have_http_status(200)
end
end
diff --git a/spec/requests/api/v2/filters/filters_spec.rb b/spec/requests/api/v2/filters_spec.rb
similarity index 100%
rename from spec/requests/api/v2/filters/filters_spec.rb
rename to spec/requests/api/v2/filters_spec.rb
diff --git a/spec/support/search_data_manager.rb b/spec/support/search_data_manager.rb
index 176a674adf..3c7140b48b 100644
--- a/spec/support/search_data_manager.rb
+++ b/spec/support/search_data_manager.rb
@@ -60,7 +60,7 @@ RSpec.configure do |config|
end
end
- config.around :each, type: :search do |example|
+ config.around :each, :search do |example|
search_data_manager.populate_indexes
example.run
search_data_manager.remove_indexes
@@ -73,6 +73,6 @@ RSpec.configure do |config|
end
def search_examples_present?
- RUN_SEARCH_SPECS
+ RSpec.world.filtered_examples.values.flatten.any? { |example| example.metadata[:search] == true }
end
end
diff --git a/yarn.lock b/yarn.lock
index d480bb1a06..30937f935f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1743,10 +1743,10 @@ __metadata:
languageName: node
linkType: hard
-"@eslint/js@npm:8.53.0":
- version: 8.53.0
- resolution: "@eslint/js@npm:8.53.0"
- checksum: d29f6c207b2f6dc4ef174d16a3c07b0d3a17ca3d805680496ff267edd773e3bac41db4e7dcab622ca1970d892535bd19671e2a756d4eac75e96fd8c8dcdb619b
+"@eslint/js@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@eslint/js@npm:8.54.0"
+ checksum: d61fb4a0be6af2d8cb290121c329697664a75d6255a29926d5454fb02aeb02b87112f67fdf218d10abac42f90c570ac366126751baefc5405d0e017ed0c946c5
languageName: node
linkType: hard
@@ -1777,8 +1777,8 @@ __metadata:
linkType: hard
"@formatjs/cli@npm:^6.1.1":
- version: 6.2.3
- resolution: "@formatjs/cli@npm:6.2.3"
+ version: 6.2.4
+ resolution: "@formatjs/cli@npm:6.2.4"
peerDependencies:
vue: ^3.3.4
peerDependenciesMeta:
@@ -1786,17 +1786,7 @@ __metadata:
optional: true
bin:
formatjs: bin/formatjs
- checksum: 91eada7676333e2e647cbfbf9c0da88e4ca52e7b486dca73a7299594b0b0dea99de00e1b4110fac993633feb4bf5f26c97885b1a870dfd0ef95688d7f3234a03
- languageName: node
- linkType: hard
-
-"@formatjs/ecma402-abstract@npm:1.17.4":
- version: 1.17.4
- resolution: "@formatjs/ecma402-abstract@npm:1.17.4"
- dependencies:
- "@formatjs/intl-localematcher": "npm:0.5.1"
- tslib: "npm:^2.4.0"
- checksum: c24bf58cd3152ad64a29dfab185d1fde91e44423aabb041f332216b37a23256618efee1e252c0015e735bc688708ee279348e2a4a67a77f6cf918028848ef071
+ checksum: 3f6bbbc633a3a6ebd4e6fcfc3a9f889bc044043452cbc8f81abcaee97aaef991a778ae785d3b9d21ecc5f55b147eb0009b44520bb895fe244b4c14a36d9b05bd
languageName: node
linkType: hard
@@ -1819,17 +1809,6 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/icu-messageformat-parser@npm:2.7.2":
- version: 2.7.2
- resolution: "@formatjs/icu-messageformat-parser@npm:2.7.2"
- dependencies:
- "@formatjs/ecma402-abstract": "npm:1.17.4"
- "@formatjs/icu-skeleton-parser": "npm:1.6.4"
- tslib: "npm:^2.4.0"
- checksum: c7a2f7daecec9ba36acda2c5b7ef21f515883b886d4d9965d83c93bc55fc604f56c1097d4641608633c32917aaa0b9b0c65c0d162723428249dc29271270a064
- languageName: node
- linkType: hard
-
"@formatjs/icu-messageformat-parser@npm:2.7.3":
version: 2.7.3
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.3"
@@ -1841,16 +1820,6 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/icu-skeleton-parser@npm:1.6.4":
- version: 1.6.4
- resolution: "@formatjs/icu-skeleton-parser@npm:1.6.4"
- dependencies:
- "@formatjs/ecma402-abstract": "npm:1.17.4"
- tslib: "npm:^2.4.0"
- checksum: 3688aad6d12fe677ef0ce3d6a3424c5bde9ed223dc49841de8dd33c547bdd2858f8bce4437fcc135048b4f92385374776ab48e39b3cc5063a45bdb1ce85ad2d4
- languageName: node
- linkType: hard
-
"@formatjs/icu-skeleton-parser@npm:1.7.0":
version: 1.7.0
resolution: "@formatjs/icu-skeleton-parser@npm:1.7.0"
@@ -1883,15 +1852,6 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/intl-localematcher@npm:0.5.1":
- version: 0.5.1
- resolution: "@formatjs/intl-localematcher@npm:0.5.1"
- dependencies:
- tslib: "npm:^2.4.0"
- checksum: 2282db3e623d3f65681b6a2a2dbffc4f948b8411789f51af1b221610105f809ebec7f58f9afd5008e72c62ed5524c8c321f85c78cab0cffb632e20c0064b701b
- languageName: node
- linkType: hard
-
"@formatjs/intl-localematcher@npm:0.5.2":
version: 0.5.2
resolution: "@formatjs/intl-localematcher@npm:0.5.2"
@@ -1932,26 +1892,6 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/ts-transformer@npm:3.13.8":
- version: 3.13.8
- resolution: "@formatjs/ts-transformer@npm:3.13.8"
- dependencies:
- "@formatjs/icu-messageformat-parser": "npm:2.7.2"
- "@types/json-stable-stringify": "npm:^1.0.32"
- "@types/node": "npm:14 || 16 || 17"
- chalk: "npm:^4.0.0"
- json-stable-stringify: "npm:^1.0.1"
- tslib: "npm:^2.4.0"
- typescript: "npm:5"
- peerDependencies:
- ts-jest: ">=27"
- peerDependenciesMeta:
- ts-jest:
- optional: true
- checksum: 32b13b75732739ca016d9d654e5f40077cafa3ff2f924fbb5fd91155cd6af3292c5fee9be022bb224fb69d2ab60ed9cdda49ee83fbf9e1e8de470ee33ceae4f3
- languageName: node
- linkType: hard
-
"@formatjs/ts-transformer@npm:3.13.9":
version: 3.13.9
resolution: "@formatjs/ts-transformer@npm:3.13.9"
@@ -2981,8 +2921,8 @@ __metadata:
linkType: hard
"@testing-library/react@npm:^14.0.0":
- version: 14.1.0
- resolution: "@testing-library/react@npm:14.1.0"
+ version: 14.1.2
+ resolution: "@testing-library/react@npm:14.1.2"
dependencies:
"@babel/runtime": "npm:^7.12.5"
"@testing-library/dom": "npm:^9.0.0"
@@ -2990,7 +2930,7 @@ __metadata:
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
- checksum: 357ad80b11bdd4b6d10d2fb1bf86d5b39fb457cf09293033cf42bcc7a95738a86a2b12b760ae15bad326da0b9c074ca015d2bbf0baae7da38fdbc7c808925820
+ checksum: b5b0990d3aa0ea8b37c55804e0d5d584fc638a5c7d4df90da9a0fdb00bc981b27b6991468b2dc719982a5d0b0107a41596063ce51ad519eeab47b22bc04d6779
languageName: node
linkType: hard
@@ -3724,14 +3664,14 @@ __metadata:
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^6.0.0":
- version: 6.10.0
- resolution: "@typescript-eslint/eslint-plugin@npm:6.10.0"
+ version: 6.11.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:6.11.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.5.1"
- "@typescript-eslint/scope-manager": "npm:6.10.0"
- "@typescript-eslint/type-utils": "npm:6.10.0"
- "@typescript-eslint/utils": "npm:6.10.0"
- "@typescript-eslint/visitor-keys": "npm:6.10.0"
+ "@typescript-eslint/scope-manager": "npm:6.11.0"
+ "@typescript-eslint/type-utils": "npm:6.11.0"
+ "@typescript-eslint/utils": "npm:6.11.0"
+ "@typescript-eslint/visitor-keys": "npm:6.11.0"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4"
@@ -3744,44 +3684,44 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: f50b17cb753afbfc99549d38585eba8558949b977eb4661dd584e73ee946b3dbe944c9e3b12a233fa06b5e1c7d101730ac88a00c7a91b0a7f1e2c37a98e13c7a
+ checksum: 6645aa09b9d51c5e3ea781eaf74da75b94f83f3e2d7b3dd988d5ce7eb82dd87e3509471cf2ee8c6b2428d907df5f1b02f29dbd04f54c2653f9566c8c4ce98009
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^6.0.0":
- version: 6.10.0
- resolution: "@typescript-eslint/parser@npm:6.10.0"
+ version: 6.11.0
+ resolution: "@typescript-eslint/parser@npm:6.11.0"
dependencies:
- "@typescript-eslint/scope-manager": "npm:6.10.0"
- "@typescript-eslint/types": "npm:6.10.0"
- "@typescript-eslint/typescript-estree": "npm:6.10.0"
- "@typescript-eslint/visitor-keys": "npm:6.10.0"
+ "@typescript-eslint/scope-manager": "npm:6.11.0"
+ "@typescript-eslint/types": "npm:6.11.0"
+ "@typescript-eslint/typescript-estree": "npm:6.11.0"
+ "@typescript-eslint/visitor-keys": "npm:6.11.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: fd86c31dfdde03636393a3a9cf16716856bb506923069f34d87af14fac363a33578f47476a15d272e4d7a764de00fd905ee11361cc06b81b302a9fa8ebe4c23c
+ checksum: e7caeb20069102e21f468fc0dbe7ff6fb6b1efa9e72f4c9f39d4a865ed0633f39130b593ef9ae8f394ca1d70563e15410faf30a482a97809951eaac6ed3a67da
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:6.10.0":
- version: 6.10.0
- resolution: "@typescript-eslint/scope-manager@npm:6.10.0"
+"@typescript-eslint/scope-manager@npm:6.11.0":
+ version: 6.11.0
+ resolution: "@typescript-eslint/scope-manager@npm:6.11.0"
dependencies:
- "@typescript-eslint/types": "npm:6.10.0"
- "@typescript-eslint/visitor-keys": "npm:6.10.0"
- checksum: a5fbee770d763852a7f426b950d495529139f1629fdcb30136c93f787acd82236db4272f78dff1d05a3a10a6406472ae95ae94ab75cfb618a06d75b8cc536cbf
+ "@typescript-eslint/types": "npm:6.11.0"
+ "@typescript-eslint/visitor-keys": "npm:6.11.0"
+ checksum: d8999e2d1a4cbde8a79df5e3ec416f0e3db9532d39f2f4bb5a0ebdf954ae75c183d3277579ba05268fe2c88e88ef87f0fa12f02bb8d95d9e67d92e411241f3a3
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:6.10.0":
- version: 6.10.0
- resolution: "@typescript-eslint/type-utils@npm:6.10.0"
+"@typescript-eslint/type-utils@npm:6.11.0":
+ version: 6.11.0
+ resolution: "@typescript-eslint/type-utils@npm:6.11.0"
dependencies:
- "@typescript-eslint/typescript-estree": "npm:6.10.0"
- "@typescript-eslint/utils": "npm:6.10.0"
+ "@typescript-eslint/typescript-estree": "npm:6.11.0"
+ "@typescript-eslint/utils": "npm:6.11.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
@@ -3789,23 +3729,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: f7c425d4da4d53d78b3d6630216dc1f2809f8dcaed62dc3cf12252102a53103a2aa39a160b310ca1cedebf87b8c339013be0c2360710c7c836b775374730c10e
+ checksum: ff68f2e052b8d688f1dc1a0050746704c8e0ab6263b47f1f52da73a7d251678e4950af23a95e1cd8e3fcea2457e6e5294ddbe01d29dafa2fdfb5b11ed9452a3f
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:6.10.0":
- version: 6.10.0
- resolution: "@typescript-eslint/types@npm:6.10.0"
- checksum: 30f47de625405b3729db6d26a0376d98628bd966c70ca01fab1adcef91bba810d27ce643d844e42d1cc77bb2c6277e62efe278a090da63ba748dfe5710c4757b
+"@typescript-eslint/types@npm:6.11.0":
+ version: 6.11.0
+ resolution: "@typescript-eslint/types@npm:6.11.0"
+ checksum: 23182813db39a5e9b9bcc1e85306c953f7b8b22d3885e41fcac0bd725c170fbcb70f4ce55633678cc5921dcf062fa0e55635eb39480c118a4411a00354820223
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:6.10.0":
- version: 6.10.0
- resolution: "@typescript-eslint/typescript-estree@npm:6.10.0"
+"@typescript-eslint/typescript-estree@npm:6.11.0":
+ version: 6.11.0
+ resolution: "@typescript-eslint/typescript-estree@npm:6.11.0"
dependencies:
- "@typescript-eslint/types": "npm:6.10.0"
- "@typescript-eslint/visitor-keys": "npm:6.10.0"
+ "@typescript-eslint/types": "npm:6.11.0"
+ "@typescript-eslint/visitor-keys": "npm:6.11.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -3814,34 +3754,34 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: ca28ca5a55e2d431c649ad093e4a4302f2b37c430bbeebbe622b05c727fd14dab136aead5a96848499d3ff4d187889733f8871b8dd5205d19bed4a260ad74544
+ checksum: 3e183e554e1bc74f065da3015f7137eb40c262f989c547701b1e3f4f20134e574e56b749288cd00d77b9d1ddb705546613c2457661ffc63b6060ffa97ba3aac8
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:6.10.0, @typescript-eslint/utils@npm:^6.5.0":
- version: 6.10.0
- resolution: "@typescript-eslint/utils@npm:6.10.0"
+"@typescript-eslint/utils@npm:6.11.0, @typescript-eslint/utils@npm:^6.5.0":
+ version: 6.11.0
+ resolution: "@typescript-eslint/utils@npm:6.11.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
- "@typescript-eslint/scope-manager": "npm:6.10.0"
- "@typescript-eslint/types": "npm:6.10.0"
- "@typescript-eslint/typescript-estree": "npm:6.10.0"
+ "@typescript-eslint/scope-manager": "npm:6.11.0"
+ "@typescript-eslint/types": "npm:6.11.0"
+ "@typescript-eslint/typescript-estree": "npm:6.11.0"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
- checksum: 809a1d08b154f76ed7a99edddf872369f6ed93987cea19a18cb9f12b8390bddcff9138d9d94955545da54488d59e0001054bec13baf6d858a1761b059480b887
+ checksum: c91eb4578607959acc2b43ddc791571682e45601a19b25d5d120786ed4af607656f83c5c1fa71972e549ddfb5542acf2f7d443ae93b32ee28192c22c106b8883
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:6.10.0":
- version: 6.10.0
- resolution: "@typescript-eslint/visitor-keys@npm:6.10.0"
+"@typescript-eslint/visitor-keys@npm:6.11.0":
+ version: 6.11.0
+ resolution: "@typescript-eslint/visitor-keys@npm:6.11.0"
dependencies:
- "@typescript-eslint/types": "npm:6.10.0"
+ "@typescript-eslint/types": "npm:6.11.0"
eslint-visitor-keys: "npm:^3.4.1"
- checksum: f9223c148655ce00bb17db8aa92ee964e62c75d15095893e0b4d653c60a4033f456329b06de3eab4b404d8df359904f0dd6e3c8c842885c6d130e28ccd95ce03
+ checksum: 5f48329422b7f286196661d39e93e9defd7c5cf80e6c84c8d03459853f5d9f86a5e91c5e80ea572dcdb907ebbe503bbcc77aeb8b468c294b2aa7b3ccfc81cb88
languageName: node
linkType: hard
@@ -6009,9 +5949,9 @@ __metadata:
linkType: hard
"core-js@npm:^3.30.2":
- version: 3.33.2
- resolution: "core-js@npm:3.33.2"
- checksum: d6a56ad3e134846c805ce936788dd58cb51e861f173ed1f830979735d7865ea6f6a5a437076c36c8d8b842ba0384d052998f160774a8da7712f0f51df60167fe
+ version: 3.33.3
+ resolution: "core-js@npm:3.33.3"
+ checksum: 08abdc9470c8228b9d09f61e62ab312738681202c4c34e9638889125b304b235f34c4fe22e9d41c20906ac0fcc807dca57c5ff7d6b90021bf64e8fe23461d9ab
languageName: node
linkType: hard
@@ -7415,11 +7355,11 @@ __metadata:
linkType: hard
"eslint-plugin-formatjs@npm:^4.10.1":
- version: 4.11.2
- resolution: "eslint-plugin-formatjs@npm:4.11.2"
+ version: 4.11.3
+ resolution: "eslint-plugin-formatjs@npm:4.11.3"
dependencies:
- "@formatjs/icu-messageformat-parser": "npm:2.7.2"
- "@formatjs/ts-transformer": "npm:3.13.8"
+ "@formatjs/icu-messageformat-parser": "npm:2.7.3"
+ "@formatjs/ts-transformer": "npm:3.13.9"
"@types/eslint": "npm:7 || 8"
"@types/picomatch": "npm:^2.3.0"
"@typescript-eslint/utils": "npm:^6.5.0"
@@ -7431,7 +7371,7 @@ __metadata:
unicode-emoji-utils: "npm:^1.1.1"
peerDependencies:
eslint: 7 || 8
- checksum: f5a6bffd9c65b9ce765be74d384618e543388720036b070d69d93c00b8c2bfded543141affc7793bf402f2c9177e2bbc395a7d1e8b806a40bfde1744c282a13c
+ checksum: 66481e0b5af5738bdb2b164ac1c74216c5c26f7c7400456a58387e71424bb30554aef39da43ce29bfd551f7dad678818d9af029022edadc4e1024349339f6984
languageName: node
linkType: hard
@@ -7598,13 +7538,13 @@ __metadata:
linkType: hard
"eslint@npm:^8.41.0":
- version: 8.53.0
- resolution: "eslint@npm:8.53.0"
+ version: 8.54.0
+ resolution: "eslint@npm:8.54.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.2.0"
"@eslint-community/regexpp": "npm:^4.6.1"
"@eslint/eslintrc": "npm:^2.1.3"
- "@eslint/js": "npm:8.53.0"
+ "@eslint/js": "npm:8.54.0"
"@humanwhocodes/config-array": "npm:^0.11.13"
"@humanwhocodes/module-importer": "npm:^1.0.1"
"@nodelib/fs.walk": "npm:^1.2.8"
@@ -7641,7 +7581,7 @@ __metadata:
text-table: "npm:^0.2.0"
bin:
eslint: bin/eslint.js
- checksum: c5cd0049488c0463dab7d97466767ca5a1d0b3b59d0a223122683dc8039ecea30b27867fb9e38906b4c1ab9d09ece8a802a6c540d8905016f1cc4b4bb27329af
+ checksum: 4f205f832bdbd0218cde374b067791f4f76d7abe8de86b2dc849c273899051126d912ebf71531ee49b8eeaa22cad77febdc8f2876698dc2a76e84a8cb976af22
languageName: node
linkType: hard